Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One family

Environment variables, all 1,448.

Names the client reads out of the environment it was started in, to turn something on, off or somewhere else.

Environment variables1,448seen across 149 builds
In v2.1.3081,274the newest inventory on disk
Gone122in an earlier build, not in the newest
Described182have a line in Anthropic's documentation
No docs line1,266no line in the documentation we hold

Every environment variable, and where it lived

1,448 environment variables One tick per build on this box, oldest on the left. A gap is a build the environment variable was not in.

○ not in v2.1.308, ◇ we found no documentation describing it.

Environment variableWhat it doesSpan v2.1.138 → v2.1.308 Status
DISABLE_GROWTHBOOK ◇ Auto mode uses sensible built-in defaults when remote config is missing, instead of everything off.v2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_INSTALL_GITHUB_APP_COMMAND ◇ When true, the /install-github-app command ("Set up Claude GitHub Actions for a repository") is disabled.v2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_INSTALLATION_CHECKS ◇ DISABLE_INSTALLATION_CHECKS now reads its value, so 0 or false means off.v2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_INTERLEAVED_THINKING ◇ A new environment variable, CLAUDE_CODE_MESSAGES_PROMPT_CACHE_TTL, sits alongside the existing prompt cache lifetime settingsv2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_LOGIN_COMMAND ◇ A new check skips waiting for organization policy limits when running remotely, with login disabled, on a trusted device, or without a claude.ai planv2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_LOGOUT_COMMAND ◇ When true, the /logout command is disabled.v2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_PROMPT_CACHING ◇ Parallel workflow agents stagger their first call to share cache; tune with an env var.v2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_PROMPT_CACHING_FABLE ◇ When true, Claude Code's prompt-caching check returns false for any model whose ID contains claude-fable- or that matches ANTHROPIC_DEFAULT_FABLE_MODEL. That check decides whether a request uses prompt caching when the caller does not set enablePromptCaching itself, and also gates some other cache-dependent behaviour.v2.1.170 → v2.1.308 ◆in the build DISABLE_PROMPT_CACHING_HAIKU ◇ DISABLE_PROMPT_CACHING_HAIKU now also turns off caching for any request whose model resolves to the configured Haiku modelv2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_PROMPT_CACHING_MYTHOS ◇ When true, Claude Code's prompt-caching check returns false for any model whose ID contains claude-mythos-. That check decides whether a request uses prompt caching when the caller does not set enablePromptCaching itself, and also gates some other cache-dependent behaviour.v2.1.170 → v2.1.308 ◆in the build DISABLE_PROMPT_CACHING_OPUS ◇ When true, Claude Code's prompt-caching check returns false for the resolved Opus model (ANTHROPIC_DEFAULT_OPUS_MODEL when set, otherwise the default Opus model). That check decides whether a request uses prompt caching when the caller does not set enablePromptCaching itself, and also gates some other cache-dependent behaviour.v2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_PROMPT_CACHING_SONNET ◇ When true (1, true, yes or on), prompt caching is off by default for requests whose model equals the default Sonnet model (ANTHROPIC_DEFAULT_SONNET_MODEL when set, otherwise the built-in Sonnet default). While it is set, a startup warning reads Prompt caching off (...), requests will be slower and cost more.v2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_TELEMETRY ◇ Editors and SDK hosts are told when telemetry is off so they can match.v2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_UPDATES ◇ DISABLE_AUTOUPDATER=0 or false no longer disables updates; only truthy values count now.v2.1.138 or earlier → v2.1.308 ◆in the build DISABLE_UPGRADE_COMMAND ◇ The upgrade option in the model switch dialog now reads "Upgrade to Max" and is shown only when a server switch turns it onv2.1.138 or earlier → v2.1.308 ◆in the build DISPLAY ◇ On Linux, copy and paste now work even without wl-copy, xclip or xsel installed.v2.1.145 → v2.1.308 ◆in the build DO_NOT_TRACK ◇ Editors and SDK hosts are told when telemetry is off so they can match.v2.1.138 or earlier → v2.1.308 ◆in the build DOCKER_CONFIG ◇ No description from anybody.v2.1.242 → v2.1.263 ○gone DS_CHROMIUM_PATH ◇ Read by the design-sync helper scripts Claude Code bundles: when set, they launch Playwright's Chromium with executablePath set to this value for their render checks and screenshots. Unset or empty launches Playwright's default Chromium.v2.1.166 → v2.1.245 ○gone DS_VALIDATE_CAP_SECONDS ◇ Read by the storybook/validate.mjs script that Claude Code ships as a file of its bundled design-sync skill, and not by the CLI process itself. It caps, in seconds, the total wall-clock time the script spends loading components' first stories in the storybook iframe, counted from the start of that loop; past the cap the script prints [VALIDATE_PARTIAL] with the count of unchecked stories and stops checking. Default 600; an unset, non-numeric or 0 value uses the default.v2.1.166 → v2.1.168 ○gone DYNO ◇ Read by deployment-environment detection: when it is set and no earlier check matched, the environment is reported as heroku in the deployment_environment field of Claude Code's telemetry metadata.v2.1.138 or earlier → v2.1.308 ◆in the build EDITOR ◇ Editor command Claude Code uses when VISUAL is unset: its editor lookup takes VISUAL, then EDITOR, then the first of code, vi and nano it finds. When /memory opens a file this way it prints Using $EDITOR="...", and the value (after VISUAL) is recorded as editor in the terminal environment info.v2.1.138 or earlier → v2.1.308 ◆in the build EMBEDDED_SEARCH_TOOLS ◇ No description from anybody.v2.1.160 → v2.1.308 ◆in the build ENABLE_BETA_TRACING_DETAILED ◇ Detailed beta tracing now also requires that the session is not diskless, so it stops in sessions that avoid writing to diskv2.1.138 or earlier → v2.1.308 ◆in the build ENABLE_CLAUDEAI_MCP_SERVERS ◇ Eval sandboxes force claude.ai MCP servers off so they can't reach real servers.v2.1.138 or earlier → v2.1.308 ◆in the build ENABLE_ENHANCED_TELEMETRY_BETA ◇ Older name for CLAUDE_CODE_ENHANCED_TELEMETRY_BETA, read from process.env only when that variable is unset. A value of 1, true, yes or on turns on the enhanced OpenTelemetry tracing spans (such as the interaction span); ENABLE_BETA_TRACING_DETAILED also turns them on. A true value in a settings env block is listed with the note (adds traces to the telemetry export).v2.1.138 or earlier → v2.1.308 ◆in the build ENABLE_LOCKLESS_UPDATES ◇ No description from anybody.v2.1.160 → v2.1.308 ◆in the build ENABLE_LSP_TOOL ◇ No description from anybody.v2.1.160 → v2.1.308 ◆in the build ENABLE_MCP_LARGE_OUTPUT_FILES ◇ MCP_TOOL_TIMEOUT is parsed with a minimum of 1 and ENABLE_MCP_LARGE_OUTPUT_FILES only disables when explicitly false.v2.1.138 or earlier → v2.1.308 ◆in the build ENABLE_PID_BASED_VERSION_LOCKING ◇ No description from anybody.v2.1.160 → v2.1.308 ◆in the build ENABLE_PROMPT_CACHING_1H ◇ You can pin the prompt cache to five minutes or an hour, separately for subagents.v2.1.138 or earlier → v2.1.308 ◆in the build ENABLE_PROMPT_CACHING_1H_BEDROCK ◇ When 1, true, yes or on and the API provider is Bedrock, requests use a 1h prompt cache TTL. It applies only when no earlier source decides the TTL: FORCE_PROMPT_CACHING_5M, the CLAUDE_CODE_PROMPT_CACHE_TTL or CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL env vars, the promptCacheTtl or subagentPromptCacheTtl settings, and an agent's frontmatter TTL all take precedence. ENABLE_PROMPT_CACHING_1H does the same for every provider.v2.1.138 or earlier → v2.1.308 ◆in the build ENABLE_SESSION_BACKGROUNDING ◇ No description from anybody.v2.1.160 → v2.1.308 ◆in the build ENABLE_SESSION_PERSISTENCE ◇ No description from anybody.v2.1.160 → v2.1.308 ◆in the build ENABLE_TOOL_SEARCH ◇ Tool search now runs on Vertex AI instead of being refused outright.v2.1.138 or earlier → v2.1.308 ◆in the build END_CONVERSATION_GB_FLAG ◇ No description from anybody.never mined ·never mined END_CONVERSATION_TOOL_NAME ◇ No description from anybody.never mined ·never mined ENVIRONMENT_SERVICE_KEY ◇ No description from anybody.v2.1.160 → v2.1.308 ◆in the build FALLBACK_FOR_ALL_PRIMARY_MODELS ◇ Any non-empty value makes repeated 529 overloaded errors count toward the fallback threshold for every primary model; without it they count only when a fallback model is configured or for certain built-in models. After 3 such errors, the request switches to the fallback model if one is set, and otherwise (outside IS_SANDBOX and some other modes) fails with Repeated 529 Overloaded errors.v2.1.138 or earlier → v2.1.308 ◆in the build FLY_APP_NAME ◇ Any non-empty value makes Claude Code's deployment environment detection report fly.io (unless an earlier check such as CODESPACES or DYNO matched first); FLY_MACHINE_ID does the same. The detected environment is reported in telemetry as deployment_environment.v2.1.138 or earlier → v2.1.308 ◆in the build FLY_MACHINE_ID ◇ Any non-empty value makes Claude Code's deployment environment detection report fly.io (unless an earlier check such as CODESPACES or DYNO matched first); FLY_APP_NAME does the same. The detected environment is reported in telemetry as deployment_environment.v2.1.138 or earlier → v2.1.308 ◆in the build FORCE_AUTOUPDATE_PLUGINS ◇ With CLAUDE_CODE_AUTOUPDATER_DISABLED_BY_HOST, plugin auto-updates turn off when the host disables updates or pins the versionv2.1.138 or earlier → v2.1.308 ◆in the build FORCE_CODE_TERMINAL ◇ Any non-empty value makes Claude Code treat its terminal as a supported IDE terminal, as it does when it detects a VS Code-family or JetBrains integrated terminal; IDE integration checks such as IDE auto-connect and the IDE extension install prompt read this result. It is also in the list of variables Claude Code removes from the environment of some processes it spawns.v2.1.138 or earlier → v2.1.308 ◆in the build FORCE_COLOR ◇ Small polish: credit labels, an extra help link, bigger artifact fetch limit, safer MCP environment handling.v2.1.138 or earlier → v2.1.308 ◆in the build FORCE_PROMPT_CACHING_5M ◇ You can pin the prompt cache to five minutes or an hour, separately for subagents.v2.1.138 or earlier → v2.1.308 ◆in the build FORCE_VCR ◇ No description from anybody.v2.1.160 → v2.1.308 ◆in the build FUNCTION_NAME ◇ Read by the bundled Google Cloud auth libraries: any non-empty value counts as a serverless GCP environment in their GCP residency check, and their platform detection reports Cloud Functions when it is set and App Engine was not detected first. FUNCTION_TARGET has the same effect in the platform detection.v2.1.138 or earlier → v2.1.308 ◆in the build FUNCTION_TARGET ◇ Read by the bundled Google Cloud auth libraries: any non-empty value makes their platform detection report Cloud Functions, unless App Engine was detected first. FUNCTION_NAME has the same effect.v2.1.138 or earlier → v2.1.308 ◆in the build GAE_MODULE_NAME ◇ Read by the bundled Google Cloud auth libraries: any non-empty value makes their platform detection report App Engine, which is checked before every other GCP platform. GAE_SERVICE has the same effect.v2.1.138 or earlier → v2.1.308 ◆in the build GAE_SERVICE ◇ Read by the bundled Google Cloud auth libraries: any non-empty value makes their platform detection report App Engine, which is checked before every other GCP platform. GAE_MODULE_NAME has the same effect.v2.1.138 or earlier → v2.1.308 ◆in the build GCE_METADATA_HOST ◇ Read by the bundled Google Cloud metadata client: the host of the GCE metadata server it queries, used when GCE_METADATA_IP is unset; http:// is prefixed when the value has no scheme, and with neither set the library's built-in address is used. With either variable set, the client's availability probe sends a single request to that host instead of racing the built-in primary and secondary addresses.v2.1.138 or earlier → v2.1.308 ◆in the build GCE_METADATA_IP ◇ Read by the bundled Google Cloud metadata client: the host of the GCE metadata server it queries, taking precedence over GCE_METADATA_HOST; http:// is prefixed when the value has no scheme, and with neither set the library's built-in address is used. With either variable set, the client's availability probe sends a single request to that host instead of racing the built-in primary and secondary addresses.v2.1.138 or earlier → v2.1.308 ◆in the build GCLOUD_PROJECT ◇ AWS and Google custom endpoint variables are now forwarded and scrubbed deliberately.v2.1.138 or earlier → v2.1.308 ◆in the build GCM_INTERACTIVE ◇ Git commands no longer hang forever on a Windows credential manager popup.v2.1.186 → v2.1.308 ◆in the build GEMINI_HOME ◇ Directory Claude Code treats as the Google Gemini CLI home when it detects and imports settings from other AI coding agents: it looks there for settings.json, GEMINI.md and commands. Unset, it uses ~/.gemini; a homeDir passed to the importer takes precedence over it.v2.1.182 ○gone GH_CONFIG_DIR ◇ Read as a pointer to GitHub CLI credentials: <GH_CONFIG_DIR>/hosts.yml, alongside ~/.config/gh/hosts.yml and $XDG_CONFIG_HOME/gh/hosts.yml, is added to the credential file paths collected when Claude Code sets up the Bash sandbox for an evaluation shell grant. A relative value is an error (GH_CONFIG_DIR holds a relative path).v2.1.261 → v2.1.308 ◆in the build GH_ENTERPRISE_TOKEN ◇ Claude Code looks for a GitHub token in GH_TOKEN, GITHUB_TOKEN or enterprise variants, then falls back to gh auth tokenv2.1.138 or earlier → v2.1.308 ◆in the build GH_HOST ◇ The help line for --hostname <host> now says "as GH_HOST" only in some cases instead of every timev2.1.138 or earlier → v2.1.308 ◆in the build GH_REPO ◇ When the GitHub CLI is missing, Claude Code can supply its own limited gh that runs gh api REST calls through the session's GitHub proxyv2.1.287 → v2.1.308 ◆in the build GH_TOKEN ◇ gh, aws, gcloud, bq and gsutil get placeholder credentials so they authenticate through the proxy instead of failing.v2.1.138 or earlier → v2.1.308 ◆in the build GIT_ALLOW_PROTOCOL ◇ Git subprocesses now block graft files as an extra hardening measurenever mined ·never mined GIT_ASKPASS ◇ Git commands no longer hang forever on a Windows credential manager popup.v2.1.186 → v2.1.308 ◆in the build GIT_CONFIG ◇ Claude inspects a synced checkout's git config first and refuses to run git there if it looks unsafe.never mined ·never mined GIT_CONFIG_COUNT ◇ Stray git environment variables in your shell can no longer misdirect worktree operations.v2.1.186 → v2.1.308 ◆in the build GIT_CONFIG_GLOBAL ◇ Git calls in the sync path now respect your custom global and system config paths.v2.1.202 → v2.1.308 ◆in the build GIT_CONFIG_NOSYSTEM ◇ Plugin eval helpers ignore machine-wide git settings so results cannot be skewed.v2.1.251 → v2.1.308 ◆in the build GIT_CONFIG_SYSTEM ◇ Git calls in the sync path now respect your custom global and system config paths.v2.1.242 → v2.1.263 ○gone GIT_DIR ◇ Stray git environment variables in your shell can no longer misdirect worktree operations.never mined ·never mined GIT_INDEX_FILE ◇ Stray git environment variables in your shell can no longer misdirect worktree operations.never mined ·never mined GIT_PROXY_COMMAND ◇ Every git command Claude runs now has hooks, filesystem monitors and prompt helpers turned off.never mined ·never mined GIT_SSH_COMMAND ◇ Git runs with strict host-key checking and risky protocols disabled, no matter your environment.v2.1.160 → v2.1.308 ◆in the build GIT_SSL_CAINFO ◇ SSL certificate error message now lists the specific env var to check per toolv2.1.251 → v2.1.308 ◆in the build GIT_SSL_CAPATH ◇ No description from anybody.v2.1.251 → v2.1.308 ◆in the build GIT_TERMINAL_PROMPT ◇ Git commands no longer hang forever on a Windows credential manager popup.v2.1.186 → v2.1.308 ◆in the build GIT_WORK_TREE ◇ Stray git environment variables in your shell can no longer misdirect worktree operations.never mined ·never mined GITHUB_ACTION_INPUTS ◇ Claude Code logs whether GITHUB_ACTION_INPUTS is set and its length (githubActionInputsPresent, githubActionInputsLength) on the tengu_init analytics event. The value itself is not sent.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_ACTION_PATH ◇ When GITHUB_ACTIONS is true, the part of GITHUB_ACTION_PATH after claude-code-action/ is sent in analytics as githubActionRef. The path, and its prefix up to /_actions when it contains /_actions/, are also on the write-deny list of the filesystem sandbox Claude Code builds for Bash commands under subprocess env scrubbing (CLAUDE_CODE_SUBPROCESS_ENV_SCRUB).v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_ACTIONS ◇ CLAUDE_CODE_SUBAGENT_MODEL_FORCE joins a list of passed-on env vars, and RUNNER_ENVIRONMENT is added next to GITHUB_ACTIONSv2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_ACTOR ◇ When Claude Code is launched in diskless mode, your statusLine and fileSuggestion commands no longer runv2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_ACTOR_ID ◇ When GITHUB_ACTIONS is true, included as actorId in the GitHub Actions metadata Claude Code attaches to its analytics user data and events.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_ENTERPRISE_TOKEN ◇ Fallback for GH_ENTERPRISE_TOKEN: the token Claude Code uses for GitHub API calls to a non-github.com host that matches GH_HOST, such as the pull request status lookup for the current branch. The auto-mode gh queries for repo visibility and branch protection run with it unset, and the agent-proxy gh shim runs the real gh directly, bypassing the session relay, when it is set.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_ENV ◇ When set, a path derived from it (the runner's file-commands location) is added to the write-deny list of the filesystem sandbox Claude Code builds for Bash commands under subprocess env scrubbing (CLAUDE_CODE_SUBPROCESS_ENV_SCRUB), so sandboxed commands cannot write there.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_EVENT_NAME ◇ When GITHUB_ACTIONS is true, sent in analytics as githubEventName.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_EVENT_PATH ◇ Read when subprocess environment scrubbing is on (CLAUDE_CODE_SUBPROCESS_ENV_SCRUB). The file it points at is added to the sandbox's denyWrite list, so commands Claude runs cannot modify the GitHub Actions event payload.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_REPOSITORY ◇ When GITHUB_ACTIONS is true, included as repository in the GitHub Actions metadata of the analytics user data Claude Code builds.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_REPOSITORY_ID ◇ When GITHUB_ACTIONS is true, included as repositoryId in the GitHub Actions metadata Claude Code attaches to its analytics user data and events.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_REPOSITORY_OWNER ◇ When GITHUB_ACTIONS is true, included as repositoryOwner in the GitHub Actions metadata of the analytics user data Claude Code builds.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_REPOSITORY_OWNER_ID ◇ When GITHUB_ACTIONS is true, included as repositoryOwnerId in the GitHub Actions metadata Claude Code attaches to its analytics user data and events.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_TOKEN ◇ gh, aws, gcloud, bq and gsutil get placeholder credentials so they authenticate through the proxy instead of failing.v2.1.138 or earlier → v2.1.308 ◆in the build GITHUB_WORKSPACE ◇ When it resolves to a directory other than the original working directory, its .git hooks, config, worktrees, modules and info files, .gitmodules, .github and .claude are added to the write-deny list of the filesystem sandbox Claude Code builds for Bash commands under subprocess env scrubbing (CLAUDE_CODE_SUBPROCESS_ENV_SCRUB).v2.1.138 or earlier → v2.1.308 ◆in the build GITLAB_CI ◇ When set to a true value (1, true, yes or on) and no earlier platform check matches, telemetry reports the deployment environment as gitlab-ci. The bundled terminal color detection also caps color support at basic 16 colors when GITLAB_CI is present alongside CI, unless an earlier check (such as TERM=dumb or a color flag) decides first.v2.1.138 or earlier → v2.1.308 ◆in the build GITPOD_WORKSPACE_ID ◇ When set and CODESPACES is not a true value, telemetry reports the deployment environment as gitpod.v2.1.138 or earlier → v2.1.308 ◆in the build GNOME_TERMINAL_SERVICE ◇ Read by Claude Code's terminal detection. When it is set and none of the earlier checks match (IDE markers, TERM_PROGRAM, TMUX, STY, KONSOLE_VERSION), the terminal is identified as gnome-terminal.v2.1.138 or earlier → v2.1.308 ◆in the build GNUPGHOME ◇ No description from anybody.v2.1.242 → v2.1.263 ○gone GOOGLE_APPLICATION_CREDENTIALS ◇ Policy-helper environment scrubbing moved into its own module and now strips more variablesv2.1.138 or earlier → v2.1.308 ◆in the build GOOGLE_CLOUD_PROJECT ◇ A Google Cloud project ID. Claude Code uses it as a fallback project ID for Google auth on Vertex and in the GCP credentials check, read after GCLOUD_PROJECT and before gcloud_project, google_cloud_project and ANTHROPIC_VERTEX_PROJECT_ID; the Claude Platform on Google Cloud client uses it when ANTHROPIC_GOOGLE_CLOUD_PROJECT is unset. When set and no earlier platform check matches, telemetry reports the deployment environment as gcp.v2.1.138 or earlier → v2.1.308 ◆in the build GOOGLE_CLOUD_QUOTA_PROJECT ◇ Read by the bundled Google auth library: when non-empty, it is set as the quotaProjectId of the credential found through Application Default Credentials.v2.1.138 or earlier → v2.1.308 ◆in the build GOOGLE_CLOUD_WORKSTATIONS ◇ When set to a true value (1, true, yes or on) and no earlier platform check matches, telemetry reports the deployment environment as gcp-cloud-workstations.v2.1.138 or earlier → v2.1.308 ◆in the build GRACEFUL_FS_PLATFORM ◇ Platform name the bundled graceful-fs copy uses in place of the real platform; default linux in this build. When it is win32, fs.rename is wrapped to retry EACCES, EPERM and EBUSY errors for up to 60 seconds, as long as the destination path does not exist.v2.1.138 or earlier → v2.1.308 ◆in the build GRADLE_USER_HOME ◇ No description from anybody.v2.1.242 → v2.1.263 ○gone
Feedback