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
CLAUDE_CODE_DISABLE_ADVISOR_TOOL Set to 1 to disable the advisor tool. The /advisor command becomes unavailable, any configured advisorModel is ignored, and the --advisor flag is accepted but has no effect, so existing scripts that pass it continue to work without errorsv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_AGENT_VIEW Set to 1 to turn off background agents and agent view: claude agents, --bg, /background, and the on-demand supervisor. Equivalent to the disableAgentView settingv2.1.139 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_AGENTS_FLEET ◇ A true value (1, true, yes, on) turns off the background-agents fleet, the same as the disableBackgroundAgents setting: the fleet gate that otherwise follows tengu_slate_meadow returns false, so claude daemon subcommands that need the gate stop with 'daemon' is not enabled., the built-in Claude agent is left out of the built-in agent list, and claude daemon run exits with claude daemon: background agents disabled (ZDR/3P/opt-out).v2.1.138 or earlier ○gone CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN Set to 1 to disable fullscreen rendering and use the classic main-screen renderer. The conversation stays in your terminal's native scrollback so Cmd+f and tmux copy mode work as usual. Takes precedence over CLAUDE_CODE_NO_FLICKER and the tui setting. You can also switch with /tui default. Does not apply to background sessions opened from agent view, which always use fullscreen renderingv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_ARTIFACT Set to 1 to turn off the Artifact tool, which publishes session output as a private web page on claude.ai. Once you set it, no settings file turns the tool back on. To turn the tool off from a settings file instead, set enableArtifact to false; the deprecated disableArtifact key also turns it offv2.1.172 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_ATTACHMENTS Set to 1 to disable attachment processing. File mentions with @ syntax are sent as plain text instead of being expanded into file contentv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_ATTRIBUTION_BASELINE_REUSE ◇ No description from anybody.v2.1.282 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_ATTRIBUTION_CROSS_REPO ◇ Two new environment variables are now recognized: CLAUDE_CODE_DISABLE_ATTRIBUTION_CROSS_REPO and CLAUDE_CODE_SDK_HAS_OAUTH_REFRESHv2.1.275 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK ◇ When true, the awsAuthRefresh and gcpAuthRefresh commands run directly instead of being coordinated across Claude Code processes through a lockfile, and the related waiting, takeover and sign-in failure counting are skipped.v2.1.286 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_AUTO_MEMORY Set to 1 to disable auto memory. Set to 0 to force auto memory on even when --bare mode or autoMemoryEnabled: false would otherwise disable it. When disabled, Claude does not create or load auto memory filesv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_AWAITING_USER_IDLE ◇ When true, work that is waiting on the user is no longer counted as parked. Normally, while every active piece of work in a session is parked on the user, the session keepalive heartbeat (which only sends a keepalive when CLAUDE_CODE_REMOTE_SEND_KEEPALIVES is set) is skipped and some long-running tool heartbeat progress events are suppressed; with this set they keep going.v2.1.265 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_BACKGROUND_TASKS Set to 1 to disable all background task functionality, including the run_in_background parameter on Bash and subagent tools, auto-backgrounding, and the Ctrl+B shortcutv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT Set to 1 to stop Claude Code from treating an Amazon Bedrock streaming response with a missing or empty Content-Type header as Amazon Bedrock's binary event stream. By default, Claude Code assumes a gateway dropped the header from an otherwise unmodified response, so it decodes the body and streaming keeps working. Set this only for a gateway that also re-emits the stream as server-sent events; Claude Code then reads the header-less body as server-sent events instead. Requires Claude Code v2.1.239 or laterv2.1.239 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD Set to 1 to skip the check that an Amazon Bedrock streaming response carries the application/vnd.amazon.eventstream content-type. Without this variable, when a response carries a different content-type, Claude Code fails the request with an error naming that type, which means a gateway or proxy is transforming the response. Configure the gateway to forward the Content-Type header and body unmodified rather than setting this variable. Requires Claude Code v2.1.208 or laterv2.1.208 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF Set to 1 to stop a background session's running background shell commands, dynamic workflows, and, as of v2.1.198, background subagents when the supervisor stops, restarts, or updates that session's process, instead of handing them to the session's next process. Affects only that handoff: backgrounding a session with ← or /background still carries in-flight work over, and CLAUDE_DISABLE_ADOPT turns off both. Requires Claude Code v2.1.196 or laterv2.1.196 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP Set to 1 to stop Claude Code from terminating background shell commands under memory pressure. By default, on macOS and Linux, Claude Code terminates background shells when the operating system reports critical memory pressure and the session has been idle for 30 minutes with no turn or subagent running. Windows has no memory-pressure signal, so this variable has no effect there. Requires Claude Code v2.1.193 or laterv2.1.193 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_BG_STABLE_PATH ◇ On macOS, setting CLAUDE_CODE_DISABLE_BG_STABLE_PATH makes background sessions relaunch from the running program instead of the stable pathv2.1.295 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_BUNDLED_SKILLS Set to 1 to disable the skills and workflows included with Claude Code: bundled skills and workflows are removed entirely, while built-in commands like /init stay typable but are hidden from the model. /doctor stays typable like the built-in commands; hide it with DISABLE_DOCTOR_COMMAND instead. Skills from plugins, .claude/skills/, and .claude/commands/ are unaffected. Equivalent to the disableBundledSkills settingv2.1.169 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_CFC_PROMPT Set to 1 to keep the Claude in Chrome browser tools available while omitting the Chrome section of the system prompt and the /claude-in-chrome bundled skill. For hosts that embed Claude Code and supply their own browser guidance. Requires Claude Code v2.1.257 or laterv2.1.257 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_CLAUDE_API_SKILL ◇ Environment flags are now parsed centrally, so values are compared to explicit true or false.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_CLAUDE_CODE_SKILL ◇ A bundled workflow-authoring skill loads itself when you mention workflows, and multi-agent runs need your ask.v2.1.154 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_CLAUDE_MDS Set to 1 to prevent loading any CLAUDE.md memory files into context, including user, project, and auto memory filesv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_CRON Set to 1 to disable scheduled tasks. The /loop skill and cron tools become unavailable and any already-scheduled tasks stop firing, including tasks that are already running mid-sessionv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT Set to 1 to turn off the time limit on critical-path removal prompts. In auto mode Claude Code then sends these removals to the classifier instead, and in bypassPermissions mode the prompt waits for your answer. Set it in the environment that launches Claude Code, since Claude Code ignores a copy delivered through a settings env block. Requires Claude Code v2.1.281 or laterv2.1.281 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_DIR_SYNC ◇ You can turn off background directory syncing by setting CLAUDE_CODE_DISABLE_DIR_SYNC.v2.1.229 → v2.1.284 ○gone CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS Set to 1 to strip Anthropic-specific anthropic-beta request headers and beta tool-schema fields (such as defer_loading and eager_input_streaming) from API requests. Use this when a proxy gateway rejects requests with errors like "Unexpected value(s) for the anthropic-beta header" or "Extra inputs are not permitted". Standard fields (name, description, input_schema, cache_control) are preserved. MCP tool search is disabled and all MCP tools load upfront, even when you set ENABLE_TOOL_SEARCH. On Claude Code v2.1.227 or later, managed settings can keep tool search on. Disable pre-release capabilities covers where the override appliesv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_EXPLORE_INHERIT_CAP ◇ The Explore agent no longer has its model capped when using non-Anthropic API providersv2.1.217 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS Set to 1 to disable the built-in Explore and Plan subagents. Claude explores with its search tools or the general-purpose subagent instead, and plan mode reads files directly rather than launching Explore and Plan agents. Custom subagents named Explore or Plan are unaffected. To remove every built-in subagent type in the Agent SDK or non-interactive mode, use CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS instead. Requires Claude Code v2.1.198 or laterv2.1.198 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_FAST_MODE Set to 1 to disable fast modev2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY Set to 1 to disable the "How is Claude doing?" session quality surveys. Surveys are also disabled when DISABLE_TELEMETRY, DO_NOT_TRACK, or CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC is set, unless CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL opts back in. To set a sample rate instead of disabling outright, use the feedbackSurveyRate setting. See Session quality surveysv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING Set to 1 to disable file checkpointing. The /rewind command will not be able to restore code changes. Overrides the fileCheckpointingEnabled settingv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_FILE_MENTIONS ◇ Claude Code now recognises a CLAUDE_CODE_DISABLE_FILE_MENTIONS environment variable, listed with other variables that turn features offv2.1.299 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS Set to 1 to remove built-in commit and PR workflow instructions and the git status snapshot from Claude's context. Useful when using your own git workflow skills. Takes precedence over the includeGitInstructions setting when setv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_HOOK_FORWARDING ◇ Two new environment variables let you refuse plugin or hook forwarding to a device.v2.1.239 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT ◇ A CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT environment variable now sits beside the existing variables that relax rm promptsv2.1.288 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_LAUNCH_COMPOSER ◇ No description from anybody.v2.1.186 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_LAUNCHER_SIGN_IN ◇ Setting CLAUDE_CODE_DISABLE_LAUNCHER_SIGN_IN, in the environment or in managed settings, turns off the launcher sign-inv2.1.307 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP Set to 1 to prevent automatic remapping of Opus 4.0 and 4.1 to the current Opus version on the Anthropic API. Use when you intentionally want to pin an older model. The remap does not run on Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundryv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND ◇ Set CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND to keep MCP tasks in the foreground.v2.1.251 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MEMORY_BULK_INFLATE ◇ When true, shared memory sync skips the bulk inflate path, which downloads a store that has not been pulled yet with one exportAll call; it reports not-attempted, the same as when the tengu_memory_bulk_inflate flag (default on) is off.v2.1.161 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MEMORY_MASS_DELETE_HOLD ◇ Turns off the shared memory mass-delete guard by making its threshold infinite. Normally, when more than max(50, floor(10% of synced files)) synced memory files are missing locally at once, sync holds the pending deletes and restores the files, and a memory file removal that would cross that threshold is refused with nothing was removed.v2.1.218 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MEMORY_PERIODIC_RESYNC ◇ When true, shared memory stores (team and user scopes) are not resynced on a timer. Without it, the interval comes from the tengu_memory_store_resync_interval_minutes flag (default 60, at least 1; a value of 0 or below also turns resync off).v2.1.178 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MEMORY_RO_UNSAVED_NOTICE ◇ Writes into read-only memory stores now warn they were saved locally only and will be overwritten.v2.1.242 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MEMORY_STREAM_LIST ◇ When true, shared memory sync does not list a store's entries through the backend's streamed exportMetadata call. That path is otherwise used when the backend supports it, the tengu_memory_stream_list flag (default on) is on, and no earlier failure has marked it unsupported or set a retry delay.v2.1.210 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK ◇ If your cloud account cannot use a model, Claude Code can step down to the next one; CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK turns this offv2.1.285 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT ◇ Claude Code now asks before rm removes a mounted drive, its parent folder or a top-level item on a drive; an environment variable turns this offv2.1.304 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MOUSE Set to 1 to disable mouse tracking in fullscreen rendering. Keyboard scrolling with PgUp and PgDn still works. Use this to keep your terminal's native copy-on-select behaviorv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MOUSE_CLICKS Set to 1 to disable click, drag, and hover handling in fullscreen rendering while keeping mouse-wheel scrolling. Use this when you want wheel scroll to work inside Claude Code but don't want clicks to position the cursor, expand tool output, or open links. CLAUDE_CODE_DISABLE_MOUSE takes precedence when both are set. Requires Claude Code v2.1.195 or laterv2.1.195 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION Set to 1 to stop Claude Code from re-reading the mTLS client certificate and key when an API request fails with a connection-level error, such as a connection reset or a TLS handshake error. With the reload disabled, Claude Code loads rotated files only when it next applies settings or at the next startup. Requires Claude Code v2.1.232 or laterv2.1.232 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_NESTED_CHAIN_IDLE ◇ When true, a permission prompt raised on behalf of a nested agent is no longer counted as a blocked chain, so it does not count toward the session's waitingOnUser signal (which needs the state requires_action with no main-loop reference left unblocked).v2.1.200 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_NESTED_USER_REPAIR ◇ Odd or damaged input frames on remote connections are now fixed up or quietly dropped instead of erroring out.v2.1.238 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC Set to any non-empty value, such as 1, to disable nonessential network traffic: auto-updates, telemetry, error reporting, the /feedback command, Claude-drafted feedback, release notes, the PR and MR status badge checks, and availability checks such as the fast mode check. It also stops the background runs of plugin command sources, which are local commands rather than network traffic, because they can trigger dependency installs. Setting it to 0 or false still disables this traffic, unlike most on/off variables; unset the variable to allow it again. Also disables feature-flag fetching, which makes Remote Control and the other features that need feature-flag fetching unavailable. Official plugin marketplace auto-install isn't covered; disable it with CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL. Doesn't affect gateway model discovery, which has its own opt-inv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK Set to 1 to disable the non-streaming fallback when a streaming request fails mid-stream. Streaming errors propagate to the retry layer instead. Useful when a proxy or gateway causes the fallback to produce duplicate tool executionv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK Set to 1 to send the PushNotification tool's desktop notification even while you are typing in or focused on the terminal. By default the tool skips both the desktop notification and the mobile push when it detects recent keyboard activity or terminal focus. This variable disables only that local check, so the server can still suppress the mobile push when it detects that you are active. Requires Claude Code v2.1.193 or laterv2.1.193 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL Set to 1 to disable automatic registration of the official plugin marketplace. Claude Code reads the variable when it is about to register the marketplace, usually during a machine's first interactive launch. If the variable is set at that point, Claude Code skips the registration permanently. Unsetting the variable later doesn't undo the skip. Run claude plugin marketplace add anthropics/claude-plugins-official to register the marketplace at any timev2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_ORG_MEMORY ◇ When only one org memory store is found, it is no longer picked for you automatically.v2.1.210 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS Set to 1 to stop Claude Code from running your Notification hooks for unanswered permission requests in sessions where Claude Code sends them to the Agent SDK's canUseTool callback, which is how Claude Desktop and the VS Code extension host Claude Code. Has no effect in terminal sessions. Requires Claude Code v2.1.233 or laterv2.1.233 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_PLUGIN_FORWARDING ◇ Two new environment variables let you refuse plugin or hook forwarding to a device.v2.1.239 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_POLICY_SKILLS Set to 1 to skip loading skills from the system-wide managed skills directory. Useful for container or CI sessions that should not load operator-provisioned skillsv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY Set to 1 to turn off the PowerShell tool check that denies the cmd built-ins rd, rmdir, del, and erase on a system path, such as a drive root or your home directory. Claude Code ignores this variable in a settings file's env block. Requires Claude Code v2.1.283 or laterv2.1.283 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_PRECOMPACT_SKIP ◇ Set CLAUDE_CODE_DISABLE_PRECOMPACT_SKIP to force full transcript reads after a compaction boundary.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_PROACTIVITY ◇ A --proactivity flag picks the proactivity level when Claude Code starts, and CLAUDE_CODE_DISABLE_PROACTIVITY turns the selector offv2.1.290 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK ◇ When true, turns off the refusal fallback, which offers or switches to a fallback model after the model refuses a request. CLAUDE_CODE_NO_MODEL_FALLBACK turns it off the same way. One server-armed fallback path is checked separately and is not covered by this check.v2.1.161 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_REFUSAL_RETRY ◇ When safeguards stop a response, Claude Code now retries once on the same model by default; set CLAUDE_CODE_DISABLE_REFUSAL_RETRY to turn this offv2.1.282 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_STARTUP_WORK_GATE ◇ Headless and SDK runs now hold some startup work until the host is ready; CLAUDE_CODE_DISABLE_STARTUP_WORK_GATE turns this offv2.1.281 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS ◇ Setting CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS stops Claude Code from asking the model for replies in a fixed formatv2.1.288 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT Set to 1 to turn off the critical-path check for a recursive rm whose target is entirely the output of a command substitution, such as rm -rf "$(pwd)". The other critical-path checks keep running. Set it in the environment that launches Claude Code, since Claude Code ignores a copy delivered through a settings env block. Requires Claude Code v2.1.281 or laterv2.1.281 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_TERMINAL_TITLE Set to 1 to disable automatic terminal title updates based on conversation context. This also skips the background small/fast-model request that generates a session titlev2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_THINKING Set to 1 to omit the thinking parameter from API requests entirely. This is a compatibility option for proxies and gateways that reject the parameter. On models that think by default, omitting the parameter means the model may still think. To explicitly disable extended thinking on the Anthropic API, use MAX_THINKING_TOKENS=0 instead. Neither variable turns thinking off on Opus 5.5, Sonnet 5.5, or the Fable models, which can't have thinking turned off. On third-party providers, MAX_THINKING_TOKENS=0 likewise omits the parameter, so the two variables behave the same therev2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_TURN_HANDOFF ◇ New 'turn handoff' lets a managed cloud worker session resume an in-flight turn across restarts, with an env-var kill switchv2.1.271 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT Set to 1 to skip proactive auto-compaction when Claude Code doesn't recognize the model ID, such as an LLM gateway alias. Without this variable, Claude Code compacts at the context window it assumes for the ID. CLAUDE_CODE_MAX_CONTEXT_TOKENS can correct the assumed window instead; see Correct the window for a gateway or custom model ID for when each variable applies. Requires Claude Code v2.1.223 or laterv2.1.223 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL Set to 1 to disable virtual scrolling in fullscreen rendering and render every message in the transcript. Use this if scrolling in fullscreen mode shows blank regions where messages should appearv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_VITALS_EMITTER ◇ Hosted cloud sessions can spawn a separate health-reporting helper, which never resolves on a normal install.v2.1.239 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_WEB_FETCH ◇ Setting the environment variable CLAUDE_CODE_DISABLE_WEB_FETCH turns off WebFetch, the tool Claude uses to download web pagesv2.1.285 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER Set to 1 to start PowerShell tool commands on Windows directly instead of through the cmd.exe launcher. By default, the launcher lets a PowerShell command running in the background carry over to the session's next process, such as when you background the session. If you set the variable, a backgrounded PowerShell command stops when the session's process exits. Bash commands aren't affected. Requires Claude Code v2.1.269 or laterv2.1.269 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_WORKFLOWS Set to 1 to disable workflows. Equivalent to the disableWorkflows settingv2.1.152 → v2.1.308 ◆in the build CLAUDE_CODE_DISABLE_WORKING_SYNC ◇ Startup also starts a directory sync apply step alongside the working-file syncer in normal local sessions.v2.1.198 → v2.1.308 ◆in the build CLAUDE_CODE_DISPATCH_V2D ◇ You can send API requests down a newer routing path by setting one of two environment variables.never mined ·never mined CLAUDE_CODE_DISPATCH_V2S ◇ You can send API requests down a newer routing path by setting one of two environment variables.never mined ·never mined CLAUDE_CODE_DONT_INHERIT_ENV ◇ When set to any non-empty value (read raw from process.env, so 0 also counts), the login shell Claude Code runs to create its shell snapshot, and the shell it runs to dump env, start without the inherited environment and get only SHELL, GIT_EDITOR=true and CLAUDECODE=1.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_DOWNLOAD_DEADLINE_MS_FOR_TESTING ◇ Milliseconds a single binary download attempt may run in total before it is aborted with the reason deadline (there are up to 3 attempts). Default 600000; an unset, non-numeric or 0 value uses the default.v2.1.205 → v2.1.308 ◆in the build CLAUDE_CODE_EAGER_FLUSH ◇ No description from anybody.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_EDITOR_CODELIVERY ◇ Follow-ups can go straight to a working artifact editor if you set an environment variable.v2.1.251 → v2.1.308 ◆in the build CLAUDE_CODE_EFFORT_LEVEL Set the effort level for supported models. Values: low, medium, high, xhigh, max, or auto to use the model default. Available levels depend on the model. Takes precedence over --effort, /effort, and the modelSettings and effortLevel settings. A maxEffortLevel cap still applies. See Adjust effort levelv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_ELEGANT_MEADOW ◇ New, off-by-default recording writes each API request's system prompt, tools and message changes into the session transcript filev2.1.282 → v2.1.308 ◆in the build CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS ◇ The Agent SDK now ends a run when Claude Code reports it is idle, which can mean waiting up to 10 minutes after the resultv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_EMIT_STARTUP_TIMING ◇ A new CLAUDE_CODE_EMIT_STARTUP_TIMING environment variable turns on startup-timing telemetry outside remote sessionsv2.1.274 → v2.1.308 ◆in the build CLAUDE_CODE_EMIT_TOOL_USE_SUMMARIES ◇ When true, after a main-thread turn runs tools (and is not aborted), Claude Code makes an extra tool-free model call that labels the completed tools from their names, inputs and outputs (each cut to 300 characters) plus up to 200 characters of the last assistant text, and emits the result as a tool_use_summary message. Off by default.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT ◇ Gates the extra subagent system prompt: when this is truthy and a prompt was supplied by the hidden --append-subagent-system-prompt option, its file variant, or the SDK's appendSubagentSystemPrompt initialize field, the text is appended to a Task-tool subagent's system prompt (skipped for agents with an isolated context and in one other case). Claude Code sets it to 1 itself when either command-line option supplies a prompt.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_ENABLE_AUTO_MODE Accepted for compatibility with older releases and has no effect. Auto mode is available by default on every provider, including Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, and signed-in Claude apps gateway sessions. In v2.1.158 through v2.1.206, setting this to 1 was required to make auto mode available on those providersv2.1.158 → v2.1.206 ○gone CLAUDE_CODE_ENABLE_AWAY_SUMMARY Override session recap availability. Set to 0 to force recaps off regardless of the /config toggle. Set to 1 to force recaps on when awaySummaryEnabled is false. Takes precedence over the setting and /config togglev2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH Set to 1 to refresh plugin state at turn boundaries in non-interactive mode after a background install completes. Off by default because the refresh changes the system prompt mid-session, which invalidates prompt caching for that turnv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_ENABLE_CFC ◇ Restricted sessions skip Claude in Chrome browser wiring, same as safe mode.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_ENABLE_DESIGN_MCP ◇ Forces the built-in Claude Design MCP server on (1, true, yes, on) or off (0, false, no, off); unset or any other value falls back to the tengu_omelette_whisk flag, default off. When on and the API provider is first-party, Claude Code adds an HTTP MCP server named claude_design at https://api.anthropic.com/v1/design/mcp to its built-in servers, and it also enables the /design command, which another condition can enable as well.v2.1.179 → v2.1.205 ○gone CLAUDE_CODE_ENABLE_DESIGN_SYNC ◇ No description from anybody.v2.1.166 → v2.1.308 ◆in the build CLAUDE_CODE_ENABLE_EXPERIMENTAL_ADVISOR_TOOL ◇ The experimental advisor override no longer skips per-model eligibility checks, only the rank requirement.v2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL Set to 1 to route the "How is Claude doing?" session quality survey to your own OpenTelemetry collector when Anthropic-bound nonessential traffic is blocked. Survey ratings are emitted only as OTEL events to your configured collector. No survey data is sent to Anthropic in this mode. Applies when CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, DISABLE_TELEMETRY, or DO_NOT_TRACK is set, and has no effect otherwise. CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY and the organization product feedback policy take precedencev2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING Controls whether tool call inputs stream from the API as Claude generates them. With this off, a large tool input such as a long file write arrives only after Claude finishes generating it, which can look like it's hanging. Enabled by default on the Anthropic API. On Amazon Bedrock and Google Cloud's Agent Platform, enabled per model where the deployed container supports it. Set to 0 to opt out. Set to 1 to force on when routing through a proxy via ANTHROPIC_BASE_URL, ANTHROPIC_VERTEX_BASE_URL, or ANTHROPIC_BEDROCK_BASE_URL. Off by default on Microsoft Foundry and gateway connectionsv2.1.138 or earlier → v2.1.308 ◆in the build CLAUDE_CODE_ENABLE_FUNCTION_HOOKS ◇ A new environment variable can force plugin function hooks on or off, overriding the remote feature gate.v2.1.259 → v2.1.286 ○gone CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY Set to 1 to populate the /model picker from your gateway's /v1/models endpoint when ANTHROPIC_BASE_URL points at an Anthropic-compatible gateway such as LiteLLM, Kong, or an internal proxy. Off by default because gateways backed by a shared API key would otherwise show every user every model the key can access. Discovered models are still filtered by an availableModels allowlist the session receives; deliver the list through MDM or a managed settings file, since server-managed delivery is not available on gateway configurationsv2.1.138 or earlier → v2.1.308 ◆in the build
Feedback