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
AZURE_ADDITIONALLY_ALLOWED_TENANTS ◇ Read by the bundled Azure Identity EnvironmentCredential, part of the DefaultAzureCredential chain Claude Code uses for Microsoft Foundry when no Foundry API key or auth token is set. It is split on ; and passed on as additionallyAllowedTenantIds, but the secret, certificate and username/password credentials built from it read additionallyAllowedTenants, so in 2.1.286 the value does not reach their tenant check.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_AUTHORITY_HOST ◇ Read by the bundled Azure Identity library behind Claude Code's Microsoft Foundry sign-in (DefaultAzureCredential). It sets the Microsoft Entra sign-in host used when a credential is given no explicit authorityHost, default https://login.microsoftonline.com, with the tenant appended as the path. The identity client throws an error if it does not use https.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_CLIENT_CERTIFICATE_PASSWORD ◇ Read by the bundled Azure Identity EnvironmentCredential (first in the DefaultAzureCredential chain Claude Code uses for Microsoft Foundry, unless AZURE_TOKEN_CREDENTIALS=dev). When it signs in with a certificate from AZURE_CLIENT_CERTIFICATE_PATH, this password decrypts the PEM's private key; it has no effect when AZURE_CLIENT_SECRET is also set, since the secret is tried first.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_CLIENT_CERTIFICATE_PATH ◇ Read by the bundled Azure Identity EnvironmentCredential (first in the DefaultAzureCredential chain Claude Code uses for Microsoft Foundry, unless AZURE_TOKEN_CREDENTIALS=dev). With AZURE_TENANT_ID and AZURE_CLIENT_ID set and no AZURE_CLIENT_SECRET, it signs in as a service principal with the PEM certificate at this path, which must contain a PEM-encoded certificate; AZURE_CLIENT_CERTIFICATE_PASSWORD decrypts its key.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_CLIENT_ID ◇ Read by the bundled Azure Identity DefaultAzureCredential that Claude Code uses for Microsoft Foundry when no Foundry API key or auth token is set and CLAUDE_CODE_SKIP_FOUNDRY_AUTH is off. It is the application's client ID for environment credentials (with AZURE_TENANT_ID and a client secret, certificate, or username and password) and for workload identity (with AZURE_TENANT_ID and AZURE_FEDERATED_TOKEN_FILE), and otherwise selects a user-assigned managed identity.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_CLIENT_SECRET ◇ Read by the bundled Azure Identity EnvironmentCredential (first in the DefaultAzureCredential chain Claude Code uses for Microsoft Foundry, unless AZURE_TOKEN_CREDENTIALS=dev). With AZURE_TENANT_ID and AZURE_CLIENT_ID it signs in as a service principal with this secret, which takes precedence over a certificate path or a username and password.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_CLIENT_SEND_CERTIFICATE_CHAIN ◇ Read by the bundled Azure Identity EnvironmentCredential used for Microsoft Foundry sign-in. When it is true or 1 (case-insensitive), certificate sign-in through AZURE_CLIENT_CERTIFICATE_PATH sends the certificate file's contents as the x5c chain with the client assertion; any other value or unset leaves it off.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_FEDERATED_TOKEN_FILE ◇ Read by the bundled Azure Identity library, whose DefaultAzureCredential Claude Code uses for Microsoft Foundry sign-in without a Foundry API key or auth token. It is the path of a federated token file: the workload identity credential reads its client assertion from that file (with AZURE_CLIENT_ID and AZURE_TENANT_ID), and managed identity switches to token exchange when it, AZURE_TENANT_ID and a client ID are all set. Claude Code also lists it as a credential variable to strip when it scrubs secrets from the environment of commands it runs.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_FUNCTIONS_ENVIRONMENT ◇ Read by deployment-environment detection: when it is set and no earlier check matched, the environment is reported as azure-functions in the deployment_environment field of Claude Code's telemetry metadata.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_IDENTITY_DISABLE_MULTITENANTAUTH ◇ Read by the bundled Azure Identity library, whose DefaultAzureCredential Claude Code uses for Microsoft Foundry sign-in without a Foundry API key or auth token. When it is set to any non-empty value, a tenant ID passed with an individual token request is ignored and the credential's own tenant is used.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_PASSWORD ◇ Read by the bundled Azure Identity library, whose DefaultAzureCredential Claude Code uses for Microsoft Foundry sign-in without a Foundry API key or auth token. In its environment credential, when AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_USERNAME and AZURE_PASSWORD are set and neither AZURE_CLIENT_SECRET nor AZURE_CLIENT_CERTIFICATE_PATH is, it signs in with that username and password and logs a warning that the method is deprecated. Claude Code also lists it as a credential variable to strip when it scrubs secrets from the environment of commands it runs.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_POD_IDENTITY_AUTHORITY_HOST ◇ Read by the bundled Azure Identity library, whose DefaultAzureCredential Claude Code uses for Microsoft Foundry sign-in without a Foundry API key or auth token. In its managed identity credential it replaces the default instance metadata host http://169.254.169.254 for token requests to /metadata/identity/oauth2/token, and when it is set the credential skips probing that endpoint for availability. A malformed value is reported as an error.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_REGIONAL_AUTHORITY_NAME ◇ Read by the bundled Azure Identity library, whose DefaultAzureCredential Claude Code uses for Microsoft Foundry sign-in without a Foundry API key or auth token. Its value is passed to MSAL as the Azure region for token requests made with a client secret, certificate or assertion; the value AutoDiscoverRegion asks MSAL to detect the region itself.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_TENANT_ID ◇ Read by the bundled Azure Identity library, whose DefaultAzureCredential Claude Code uses for Microsoft Foundry sign-in without a Foundry API key or auth token. It is the Microsoft Entra tenant for the environment credential (with AZURE_CLIENT_ID and a client secret, certificate or username and password) and for the workload identity credential, and managed identity uses token exchange only when it, a client ID and AZURE_FEDERATED_TOKEN_FILE are all set. A value with characters other than letters, digits, - and . is rejected.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_TOKEN_CREDENTIALS ◇ Read by the bundled Azure Identity library, whose DefaultAzureCredential Claude Code uses for Microsoft Foundry sign-in without a Foundry API key or auth token. prod limits the chain to the environment, workload identity and managed identity credentials, and dev limits it to the Azure CLI, Azure PowerShell and Azure Developer CLI credentials. Unset, all six are tried with the prod ones first; any other value (trimmed, case-insensitive) throws Invalid value for AZURE_TOKEN_CREDENTIALS.v2.1.138 or earlier → v2.1.308 ◆in the build AZURE_USERNAME ◇ Read by the bundled Azure Identity library, whose DefaultAzureCredential Claude Code uses for Microsoft Foundry sign-in without a Foundry API key or auth token. In its environment credential, when AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_USERNAME and AZURE_PASSWORD are set and neither AZURE_CLIENT_SECRET nor AZURE_CLIENT_CERTIFICATE_PATH is, it signs in with that username and password and logs a warning that the method is deprecated.v2.1.138 or earlier → v2.1.308 ◆in the build BASH_ENV ◇ Inline admin policy scripts run with a stripped environment and a PowerShell resolved from fixed paths only.v2.1.242 → v2.1.263 ○gone BASH_MAX_OUTPUT_LENGTH Maximum number of characters of bash output that Claude Code reads back into a command's result (default: 30000; maximum: 150000). If you set the bashOutputMaxChars setting, Claude Code ignores this variable. See Output limitsv2.1.138 or earlier → v2.1.308 ◆in the build BAT_THEME ◇ About 220 environment variables now parse and validate in one place, including bounds checks.v2.1.138 or earlier → v2.1.308 ◆in the build BETA_TRACING_ENDPOINT OTLP endpoint for detailed beta tracing: with ENABLE_BETA_TRACING_DETAILED=1, logs and traces go there instead of to the configured exporters. Set it in your shell, user settings, or managed settings. Ignored in project and local settingsv2.1.138 or earlier → v2.1.308 ◆in the build BROWSER ◇ The command Claude Code runs to open a URL in a browser, falling back to xdg-open on Linux; a value other than true also stops an SSH session or a Linux session with no display from being treated as headless, so MCP authorization and sign-in flows treat the session as able to open a browser. Claude Code sets it too: background sessions it launches get BROWSER=true (a no-op command) except in exec mode, and while a terminal is attached they take that terminal's value. It is also on Claude Code's lists of program-launching variables, which some hardened subprocess environments drop.v2.1.138 or earlier → v2.1.308 ◆in the build BUF_BIGINT_DISABLE ◇ Read once, when it loads, by the bundled protobuf runtime. Set to 1 (outside Deno), 64-bit protobuf integers are represented as decimal strings instead of BigInt values, even when BigInt is available.v2.1.191 → v2.1.308 ◆in the build BUGHUNTER_CODE_QUALITY ◇ Bug hunter now runs a code-quality pass automatically unless you set code_quality to false.never mined ·never mined BUGHUNTER_DEV_BUNDLE_B64 ◇ When it is set in Claude Code's own environment, /ultrareview copies its value unchanged into the environment of the cloud review session it launches. Claude Code does nothing else with it.v2.1.138 or earlier → v2.1.308 ◆in the build BUGHUNTER_FLEET_SIZE ◇ Claude Code both sets and reads it. /ultrareview sets it in the environment of the cloud review session it launches, from the fleet_size field of the tengu_review_bughunter_config flag (rounded down, then used when it is 1 to 20, otherwise 5). Inside a remote session, its presence stops the session counting as a cloud (ccr) session unless it is a fanout or byoc session, so the ccr status summary and end-of-turn recap do not apply to it.v2.1.138 or earlier → v2.1.308 ◆in the build BUILDKITE ◇ Read by deployment-environment detection: when it is set and no earlier check matched, the environment is reported as buildkite in the deployment_environment field of Claude Code's telemetry metadata. The bundled colour-support detection also checks for it: when CI is set too, its presence yields basic 16-colour support unless an earlier check (such as a --color flag, FORCE_COLOR=0 or TERM=dumb) already decided.v2.1.138 or earlier → v2.1.308 ◆in the build BUN_CHROME_PATH ◇ Preview refuses any Chrome binary sitting somewhere the session could have written to.v2.1.210 → v2.1.308 ◆in the build BUN_CONFIG_FILE ◇ No description from anybody.v2.1.242 → v2.1.263 ○gone BUN_INSTALL ◇ Read by the auto-updater for npm-style global installs. When the running executable's path starts with $BUN_INSTALL/install/global/ (or contains /.bun/install/global/), the install is treated as a bun global install, so the update runs bun install -g and checks the global bin directory with bun pm bin -g instead of using npm.v2.1.138 or earlier → v2.1.308 ◆in the build C9_PID ◇ Read by deployment-environment detection: when it has any non-empty value and none of the earlier checks match (Codespaces, Gitpod, Coder, DevPod, Daytona, Google Cloud Workstations), the environment is reported as aws-cloud9 in the deployment_environment field of Claude Code's telemetry metadata. C9_USER gives the same result.v2.1.138 or earlier → v2.1.308 ◆in the build C9_USER ◇ Read by deployment-environment detection: when it has any non-empty value and none of the earlier checks match (Codespaces, Gitpod, Coder, DevPod, Daytona, Google Cloud Workstations), the environment is reported as aws-cloud9 in the deployment_environment field of Claude Code's telemetry metadata. C9_PID gives the same result.v2.1.138 or earlier → v2.1.308 ◆in the build CARGO_HOME ◇ No description from anybody.v2.1.242 → v2.1.263 ○gone CARGO_HTTP_CAINFO ◇ SSL certificate error message now lists the specific env var to check per toolv2.1.251 → v2.1.308 ◆in the build CCR_AGENT_PROXY_CA_CERT_B64 ◇ In hosted remote sessions, the agent proxy can read its certificate authority from CCR_AGENT_PROXY_CA_CERT_B64 instead of always downloading itv2.1.285 → v2.1.308 ◆in the build CCR_AGENT_PROXY_CA_WATCH_ENABLED ◇ In remote sessions using the agent proxy, certificate checks accept swapped order and the gh stand-in now lives in each session's own folderv2.1.288 → v2.1.308 ◆in the build CCR_AGENT_PROXY_ENABLED ◇ The remote agent proxy now caps stalled uploads and reads, with two env vars to disable each.v2.1.163 → v2.1.308 ◆in the build CCR_AGENT_PROXY_FRAME_HOSTS ◇ Artifact traffic can take a direct tunnel when the runner environment names hosts; local runs keep the old route.v2.1.246 → v2.1.308 ◆in the build CCR_AGENT_PROXY_INCLUDE_HOSTS ◇ Read by the agent proxy setup in a remote session (CLAUDE_CODE_REMOTE truthy and CCR_AGENT_PROXY_ENABLED set), which removes it from the environment before those checks. With CCR_AGENT_PROXY_RELAY_MODE=selective and no AGENT_PROXY_URL, it is a comma-separated host list: those hosts go through the proxy relay and unlisted hosts use normal networking. An empty or unparsable list logs a warning and falls back to tunnelling all traffic.v2.1.216 → v2.1.308 ◆in the build CCR_AGENT_PROXY_NO_PROXY_LOCAL_ONLY ◇ New CCR_AGENT_PROXY_NO_PROXY_LOCAL_ONLY environment variable narrows the agent proxy's no-proxy list to local addressesv2.1.267 → v2.1.308 ◆in the build CCR_AGENT_PROXY_RECEIVE_GATE_DISABLED ◇ The remote agent proxy now caps stalled uploads and reads, with two env vars to disable each.v2.1.248 → v2.1.308 ◆in the build CCR_AGENT_PROXY_RELAY_MODE ◇ On self-hosted runners, Claude Code can route all session traffic through a proxy you run, and refuses to start if it cannotv2.1.216 → v2.1.308 ◆in the build CCR_AGENT_PROXY_STANDALONE_URL ◇ On self-hosted runners, Claude Code can route all session traffic through a proxy you run, and refuses to start if it cannotv2.1.300 → v2.1.306 ○gone CCR_AGENT_PROXY_TOKEN_FILE_DESCRIPTOR ◇ Claude Code now recognises CCR_AGENT_PROXY_TOKEN_FILE_DESCRIPTOR as a way to receive the agent proxy credentialv2.1.295 → v2.1.308 ◆in the build CCR_AGENT_PROXY_UPLOAD_GATE_DISABLED ◇ The remote agent proxy now caps stalled uploads and reads, with two env vars to disable each.v2.1.248 → v2.1.308 ◆in the build CCR_DELTA_RESET ◇ Two env vars change how runner git fetches handle retries and stalled delta resolution.never mined ·never mined CCR_EGRESS_GATEWAY_ENABLED ◇ One of three switches (with CCR_AGENT_PROXY_ENABLED and CCR_UPSTREAM_PROXY_ENABLED, any one suffices) that start the egress gateway when CLAUDE_CODE_REMOTE is true. Given CLAUDE_CODE_REMOTE_SESSION_ID and a session token, Claude Code starts a local relay on 127.0.0.1 that connects over a WebSocket to the remote base URL, using the CA bundle at ~/.ccr/ca-bundle.crt; it logs and stays disabled when the session ID or token is missing.v2.1.138 or earlier → v2.1.177 ○gone CCR_ENABLE_BUNDLE ◇ Cloud sync sizes up your repo first and always tells you why it declined; bundle upload is server-gated.v2.1.138 or earlier → v2.1.308 ◆in the build CCR_FORCE_BUNDLE Set to 1 to force claude --cloud to bundle and upload your local repository instead of cloning from its remotev2.1.138 or earlier → v2.1.308 ◆in the build CCR_ON_BRANCH_DEFAULT_GUARD ◇ Cloud on-branch checkout guard can now be forced on via a CCR_ON_BRANCH_DEFAULT_GUARD environment variablev2.1.208 → v2.1.308 ◆in the build CCR_RUNNER_STARTUP_TIMING ◇ On remote runs, startup timings can be supplied by the runner through an environment variable.never mined ·never mined CCR_SESSION_PROFILE ◇ Several environment variables were added to passthrough allowlists, including GIT_ALLOW_PROTOCOL and CLAUDE_CODE_SKILL_PROPOSALS.v2.1.259 → v2.1.308 ◆in the build CCR_SHR_SSE_HINTS ◇ The runner can hold a live server connection and wake instantly on work, but it defaults off.v2.1.224 → v2.1.308 ◆in the build CCR_SPAWN_TIMESTAMP_MS ◇ Claude Code now records the time from a spare cloud session starting to it being picked up, using CCR_SPAWN_TIMESTAMP_MSv2.1.144 → v2.1.308 ◆in the build CCR_UPSTREAM_PROXY_ENABLED ◇ One of three switches, with CCR_AGENT_PROXY_ENABLED and CCR_EGRESS_GATEWAY_ENABLED, that lets the egress gateway start in a remote session (CLAUDE_CODE_REMOTE truthy); a truthy value is 1, true, yes or on. With any switch on, the gateway then needs CLAUDE_CODE_REMOTE_SESSION_ID and a session token, and starts a local relay on 127.0.0.1 that connects to the gateway over a websocket. Outside a remote session it has no effect.v2.1.138 or earlier → v2.1.177 ○gone CDPATH ◇ Claude Code now scans environment variables and git flags for tricks that redirect where git actually operatesv2.1.275 → v2.1.308 ◆in the build CF_PAGES ◇ Read by deployment-environment detection: when it is 1, true, yes or on and no earlier check matched, the environment is reported as cloudflare-pages in the deployment_environment field of Claude Code's telemetry metadata.v2.1.138 or earlier → v2.1.308 ◆in the build CHOKIDAR_INTERVAL ◇ Read by the bundled chokidar file-watcher library when a watcher is created. A non-empty value is parsed as an integer and replaces the polling interval in milliseconds the watcher was created with (library default 100). It only takes effect for watchers that poll, and binary files keep their separate binaryInterval.v2.1.138 or earlier → v2.1.308 ◆in the build CHOKIDAR_USEPOLLING ◇ Read by the bundled chokidar file-watcher library when a watcher is created, overriding the usePolling choice the watcher was created with. true or 1 forces polling instead of native file events, false or 0 turns polling off, any other non-empty value turns it on and an empty value turns it off (case-insensitive).v2.1.138 or earlier → v2.1.308 ◆in the build CIRCLECI ◇ Read by deployment-environment detection: when it has any non-empty value and no earlier check matched (including GitHub Actions and GitLab CI), the environment is reported as circleci in the deployment_environment field of Claude Code's telemetry metadata. It is also checked by the bundled terminal color-support detection, where, with CI also set and no earlier rule deciding, its presence selects 16 colors in two bundled copies and 24-bit color in a third.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUBBIT ◇ Demo mode now also settles focus requests when CLAUBBIT is setv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_AFK_COUNTDOWN_MS How many milliseconds before auto-continue the on-screen countdown appears on an unanswered AskUserQuestion dialog. Default 20000 (20 seconds), capped at the auto-continue timeout. Has no effect unless auto-continue is on; see the askUserQuestionTimeout setting and CLAUDE_AFK_TIMEOUT_MS. Requires Claude Code v2.1.198 or laterv2.1.198 → v2.1.308 ◆in the build CLAUDE_AFK_TIMEOUT_MS How many milliseconds of idle time before an unanswered AskUserQuestion dialog auto-continues without you. Auto-continue is off by default; opt in with the askUserQuestionTimeout setting. This variable is an override for demos and automated tests: when set, it takes precedence over that setting and turns auto-continue on even when the setting is unset or never. Setting 0 doesn't turn the timeout off; it closes the dialog immediately. In v2.1.198 and v2.1.199, auto-continue was on by default with a 60000 (60 seconds) timeout. Requires Claude Code v2.1.198 or laterv2.1.198 → v2.1.308 ◆in the build CLAUDE_AFTER_LAST_COMPACT ◇ When 1, true, yes or on, every request that fetches a session's log entries from the session ingress API adds the query parameter after_last_compact=true, asking the server for the entries after the last compaction. Unset, the parameter is not sent.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_AGENT_SDK_CLIENT_APP ◇ Names the application built on the Agent SDK. When set, it is sent on Anthropic API requests as the x-client-app header and appended as client-app/<value> to Claude Code's User-Agent strings (claude-cli/... and claude-code/...). If the value is rejected as a header value, the error names this variable as its source.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS Set to 1 to disable all built-in subagent types such as Explore and Plan. Only applies in non-interactive mode (the -p flag). Useful for SDK users who want a blank slate. This also removes general-purpose, the subagent Claude Code runs when an Agent tool call omits subagent_type. Such a call then fails with subagent_type is requiredv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_AGENT_SDK_DISABLE_MCP_MANIFESTS ◇ The Agent SDK can now read tool lists from in-process MCP servers itself and pass them to the CLI when it startsv2.1.281 → v2.1.308 ◆in the build CLAUDE_AGENT_SDK_MCP_NO_PREFIX Set to 1 to skip the mcp__<server>__ prefix on tool names from SDK-created MCP servers. Tools use their original names. SDK usage onlyv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_AGENT_SDK_VERSION ◇ Your entrypoint and SDK version are checked against known values before being reported.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_AGENTS_SELECT ◇ claude agents resolves its directory filter through storage rather than the raw path.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_AI_ORIGIN ◇ The remote trigger tool can create webhook triggers so routines fire on outside events.never mined ·never mined CLAUDE_ARTIFACT_HOST_GRANT ◇ MCP tool access can now be restricted by a host-issued grant token via CLAUDE_ARTIFACT_HOST_GRANTv2.1.271 → v2.1.308 ◆in the build CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS Stall timeout in milliseconds for subagents. Default 600000 (10 minutes); if you raise CLAUDE_STREAM_IDLE_TIMEOUT_MS while the stream watchdog is on, the default rises with it, as Handle slow or stalled API responses describes. The timer resets on each streaming progress event; if no progress arrives within the window, Claude Code aborts the subagent and reports the stall to the parentv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_AUTO_BACKGROUND_TASKS Set to 1 to force-enable automatic backgrounding of long-running agent tasks. When enabled, subagents are moved to the background after running for approximately two minutes. Also enables automatic backgrounding of long MCP tool calls in non-interactive mode on Claude Code v2.1.212 or laterv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_AUTOCOMPACT_PCT_OVERRIDE Set the percentage (1-100) of the auto-compact window at which auto-compaction triggers. Use lower values like 50 to compact earlier; the variable can't raise the threshold, so values above the default percentage are ignored. It applies only in sessions that compact before the model's context limit. Applies to both main conversations and subagentsv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_AX_ANNOUNCEMENT_HOLD_MS ◇ Two environment variables control holding screen-reader announcements, for up to 10 seconds, and rewriting held ones, which is off by defaultv2.1.288 → v2.1.308 ◆in the build CLAUDE_AX_PREPARK_MS In screen reader mode, how many milliseconds Claude Code waits, with the cursor at the start of the line, before it writes a new or changed line. Default 50. Set 0 to write immediately. Claude Code caps the wait at 5000. Requires Claude Code v2.1.233 or laterv2.1.233 → v2.1.308 ◆in the build CLAUDE_AX_REWRITE_HELD_ANNOUNCEMENT ◇ Two environment variables control holding screen-reader announcements, for up to 10 seconds, and rewriting held ones, which is off by defaultv2.1.288 → v2.1.308 ◆in the build CLAUDE_AX_SCREEN_READER Set to 1 to render screen-reader friendly output: flat text without decorative borders or animations. Set to 0 to force screen-reader mode off even when axScreenReader is true. The --ax-screen-reader flag takes precedence. Requires Claude Code v2.1.181 or laterv2.1.181 → v2.1.308 ◆in the build CLAUDE_AX_STARTUP_QUIET_MS In screen reader mode, how many milliseconds Claude Code holds the first interface render after the startup confirmation line, so your screen reader can speak the line in full before new output interrupts it. Default 3000. Set 0 to render immediately. Claude Code caps the hold at 600000 (10 minutes). Your first keystroke ends the hold early. Requires Claude Code v2.1.217 or laterv2.1.217 → v2.1.308 ◆in the build CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR Return to the original working directory after each Bash or PowerShell command in the main sessionv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_BG_AUTH_SNAPSHOT_PATH ◇ Bridge-spawned child sessions no longer inherit your credential environment variables.v2.1.142 → v2.1.308 ◆in the build CLAUDE_BG_AUTO_MEMORY_OFF ◇ Claude Code now tracks auto-memory being off for a session and adds a notice that memory is still paused from earlierv2.1.285 → v2.1.308 ◆in the build CLAUDE_BG_BACKEND ◇ With the daemon background backend, the display survives stdout disappearing instead of dying.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_BG_CARRIED_PROMPTS_SHA256 ◇ Claude Code now passes CLAUDE_BG_CARRIED_PROMPTS_SHA256 to background sessions alongside CLAUDE_BG_WORKSPACE_TRUSTEDv2.1.293 → v2.1.308 ◆in the build CLAUDE_BG_CLAIM_AUTH ◇ Claude Code adds seven environment variable names for background sessions and terminal hosts to a list it keeps of such namesv2.1.169 → v2.1.308 ◆in the build CLAUDE_BG_DISPATCHER_RATE_LIMIT_TIER ◇ Two env vars let background dispatchers inherit your plan and rate tier without an API call.v2.1.251 → v2.1.308 ◆in the build CLAUDE_BG_DISPATCHER_SUBSCRIPTION_TYPE ◇ Two env vars let background dispatchers inherit your plan and rate tier without an API call.v2.1.251 → v2.1.308 ◆in the build CLAUDE_BG_GATEWAY_WITHHELD ◇ CLAUDE_BG_GATEWAY_WITHHELD is now removed along with other background-session variables, so it does not carry into sessions started from therev2.1.302 → v2.1.308 ◆in the build CLAUDE_BG_ISOLATION ◇ Background worktree isolation now reads CLAUDE_BG_ISOLATION from a captured environment copy.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_BG_MEMORY_TOGGLED_OFF ◇ Background sessions now start from a cleaned environment, with login variables added back and some internal variables left outv2.1.147 → v2.1.308 ◆in the build CLAUDE_BG_POST_CLEAR_RESPAWN ◇ Set to 1 by the background-session daemon when it respawns a background session whose session id changed since it was dispatched, as after a /clear. When truthy at startup, two checks that otherwise apply to launches without --resume or --continue are skipped: validation of an inline --agents JSON string and the --agent '<name>' not found error.v2.1.193 → v2.1.308 ◆in the build CLAUDE_BG_PTY_AUTH ◇ Claude Code adds seven environment variable names for background sessions and terminal hosts to a list it keeps of such namesv2.1.169 → v2.1.308 ◆in the build CLAUDE_BG_RENDEZVOUS_SOCK ◇ Claude Code adds seven environment variable names for background sessions and terminal hosts to a list it keeps of such namesv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_BG_RV_AUTH ◇ Claude Code adds seven environment variable names for background sessions and terminal hosts to a list it keeps of such namesv2.1.169 → v2.1.308 ◆in the build CLAUDE_BG_SESSION_PERMISSION_RULES ◇ Extra directories you add during a session now survive when Claude Code relaunches itselfv2.1.146 → v2.1.308 ◆in the build CLAUDE_BG_SOCKET_TOKENS_PATH ◇ Set internally by the background-session daemon on the processes it spawns (a session's PTY host, warm spares) to the path of a JSON file holding their socket auth tokens (rvAuth, ptyAuth, claimAuth). It is passed instead of the direct CLAUDE_BG_RV_AUTH, CLAUDE_BG_PTY_AUTH and CLAUDE_BG_CLAIM_AUTH variables. Each reader takes its token from the file, falls back to the matching direct variable when the file lacks it, and then removes the variable and deletes the file (the PTY host does that only when CLAUDE_PTY_HOST_EXEC is 1).v2.1.169 → v2.1.308 ◆in the build CLAUDE_BG_SOURCE ◇ Agent descriptions are sanitised before display, websocket URLs are normalised, and mkdir accepts a mode.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_BG_STARTUP_WEDGE_MS ◇ Milliseconds a background session may stay in its initial working state with the detail starting… before its startup watchdog marks it blocked, with the detail stuck on a startup dialog and the hint open this session to continue setup. Default 45000; an unset, non-numeric or 0 value uses the default.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_BG_TCC_DISCLAIMED ◇ Claude Code adds seven environment variable names for background sessions and terminal hosts to a list it keeps of such namesv2.1.143 → v2.1.308 ◆in the build CLAUDE_BG_WORKSPACE_TRUSTED ◇ Background sessions started from a trusted home directory keep that trust, and warn you when they lose itv2.1.281 → v2.1.308 ◆in the build
Feedback