Skip to main content
The ish CLI reads configuration from environment variables. Every one is optional: unset, the CLI uses the default in each table. Most have an equivalent flag that takes precedence when both are set.
Flags beat environment variables beat saved config. For the full token resolution order and the global flags themselves, see auth and global flags.

Auth

ISH_TOKEN
string
Auth token presented as Authorization: Bearer. Sits third in the resolution order: --token > --token-file > ISH_TOKEN > saved OAuth login (~/.ish/config.json) > legacy saved token. Use it for CI and other non-interactive runs.
ISH_ASSUME_YES
string
Pre-authorize the confirmation gate for the whole session. Mirrors --yes exactly and applies to billable verbs (study run, study analyze, ask run, and the like) and destructive deletes. Truthy values: 1, true, yes, on. Never persisted to config. Default: unset (gate active).

Active context

When a command needs a workspace, study, ask, or chat endpoint and you do not pass it, the CLI falls back to these env vars, then to the active context saved by ish <noun> use. The explicit flag or positional argument always wins. Each accepts an id or an alias (for example w-, s-).
ISH_WORKSPACE
string
Default workspace. Overridden by --workspace and by the saved active workspace order described above. See study and run vs ask for how context flows through commands.
ISH_STUDY
string
Default study. Overridden by --study.
ISH_ASK
string
Default ask. Overridden by the positional ask id.
ISH_CHAT_ENDPOINT
string
Default chat endpoint id. Overridden by the positional id or --endpoint.

Endpoints

ISH_API_URL
string
default:"https://api.ishlabs.io"
Backend API base URL. The internal --api-url flag takes precedence; --dev forces http://localhost:8000 and overrides both.
ISH_APP_URL
string
default:"https://app.ishlabs.io"
Web app base URL used to compose the links the CLI prints (for example the url returned by ish study run). Set it for a staging or self-hosted UI. Under --dev the base is http://localhost:3000.
ISH_MCP_URL
string
default:"https://mcp.ishlabs.io/mcp"
ish MCP server URL written by ish mcp add. Point it at a local server for dev workflows. See the MCP overview.

Paths

ISH_HOME
string
default:"~/.ish"
Config directory root. Holds config.json (saved login, active context), aliases.json, downloaded binaries, and logs. Set it to relocate ish state, mirroring GH_CONFIG_DIR / AWS_CONFIG_FILE.

Dev login overrides

These point ish login at a non-production Supabase project. Set both together. Equivalent to --dev, which targets the built-in dev project.
ISH_SUPABASE_URL
string
Supabase project URL used to mint the login session. Default: the production project.
ISH_SUPABASE_ANON_KEY
string
Supabase publishable (anon) key matching ISH_SUPABASE_URL.

Output and observability

NO_COLOR
string
Disable colored output. Equivalent to --no-color. Honors the NO_COLOR convention.
FORCE_COLOR
string
Force colored output even when stdout is not a TTY. 0 or false disables; any other non-empty value enables. NO_COLOR wins when both are set.
ISH_CLI_SENTRY_DSN
string
Opt in to Sentry error and trace reporting by setting a DSN. Unset, the CLI runs untraced. Default: unset.
ISH_DEBUG_OBS
string
Print observability init failures to stderr. Diagnostic only. Default: unset (silent).

Installer

Read by the install.sh and install.ps1 scripts, not by the ish binary itself.
ISH_INSTALL_DIR
string
Install directory for the ish binary. Default: $HOME/.ish/bin (%USERPROFILE%\.ish\bin on Windows).
ISH_VERSION
string
PowerShell install.ps1 only. Pin a specific version to install. Default: the latest release. On POSIX install.sh, pin a version with the --version=<v> argument instead, for example curl -fsSL https://ishlabs.io/install.sh | sh -s -- --version=1.2.3.
ISH_NO_PATH
string
Set to 1 (POSIX install.sh only) to skip editing your shell rc file. Use for ephemeral or sandbox installs.

Internal

Reserved for ish development and internal tooling. Not part of the supported surface; documented so you can recognize them.
ISH_INTERNAL
string
Set to 1 to allow the internal-only --sim-config flag on ish study run.
ISH_ADB
string
Override the adb binary path for native Android local simulation. Also honors ADB.
ISH_EMULATOR
string
Override the Android emulator binary path.
ISH_WDA_PATH
string
Override the iOS WebDriverAgent runner bundle path.
ISH_WDA_PORT
string
default:"8100"
WebDriverAgent port for native iOS local simulation.