env
A Claude Code settings key, read out of the shipped bundle. It was in the build from v2.1.138 and was gone by v2.1.302.
Set environment variables for every session and its subprocesses
Anthropic's own wording. Read off All settings, captured 2026-10-22.
In the changelogs
60Releases whose published page names env.
-
v2.1.307
A managed policy can override
CLAUDE_CODE_DISABLE_ADMIN_ENV_UNIONWhen a managed policy sets
policyOnlyLeads, Claude Code merges adminenvblocks even ifCLAUDE_CODE_DISABLE_ADMIN_ENV_UNIONis setfound in this entry's text
-
v2.1.307
Your
BUN_OPTIONSvalue is now passed on to child processes from more placesProcesses Claude Code starts now keep your
BUN_OPTIONSvalue from the process, settings or system environment, still after--install=disablefound in this entry's text
-
v2.1.305
Timeout hint now notices
API_TIMEOUT_MSset in settingsThe hint to raise API_TIMEOUT_MS after a timeout now uses the value from settings too, and only appears when it is above zero
found in this entry's text
-
v2.1.302
Clear gateway message for background sessions opened from another folder
A background session opened from another folder without its LLM gateway now says so, instead of asking you to log in
found in this entry's text
-
v2.1.301
Hooks are now marked as your organization's or yours before they run
Claude Code now labels each hook,
statusLineandfileSuggestioncommand as organization-owned or not before running itfound in this entry's text
-
v2.1.299
Requests through a non-Anthropic gateway carry a gateway marker
When you use a gateway whose address is not a trusted Anthropic host, Claude Code's attribution header adds a
cc_gatewaymarkerfound in this entry's text
-
v2.1.299
Claude Code notes when a git-related variable is dropped from a settings file
When applying environment variables from settings files, Claude Code now records when a git-related key was dropped and reads each layer's own block
found in this entry's text
-
v2.1.295
A new setting limits what your own skills, agents and hooks can do
Setting CLAUDE_CODE_RESTRICT_PERSONAL_CONFIG stops your own skills, agents and hooks from widening permissions, and makes key hooks required
found in this entry's text
-
v2.1.293
Settings check now lists which environment variables your settings files set
A check on your settings files now reports the names of environment variables they set, and treats project settings as their own level
found in this entry's text
-
v2.1.293
Desktop app can start its Claude Code through a corporate launcher
A new managed setting,
claudeCodeProcessWrapperEnabled, makes the desktop app start Claude Code through the launcher named inprocessWrapperfound in this entry's text
-
v2.1.290
Warning when a project's settings try to turn on Claude in Chrome
Claude Code warns at startup that a project can't turn on Claude in Chrome via
CLAUDE_CODE_ENABLE_CFC, and points to/chromeor--chromefound in this entry's text
-
v2.1.288
Clearer reason when a
timeoutorenvoption can't be checkedPermission explanations for commands wrapped in
timeoutorenvnow name the exact option that can't be checked before it runsfound in this entry's text
-
v2.1.288
Plugin language servers can use variables in their options and settings
Variables in a plugin language server's initializationOptions and settings are now filled in, and an empty command gets a clear error
found in this entry's text
-
v2.1.287
Marketplace source mismatch errors now name
extraKnownMarketplacesA marketplace whose source does not match its settings entry now gets an error naming
extraKnownMarketplaces, and theenvcheck is rewordedfound in this entry's text
-
v2.1.285
Admins can turn workflows off through managed settings, with clearer refusals
Managed settings can now set
disableWorkflowsorCLAUDE_CODE_DISABLE_WORKFLOWSto block workflows and remote code review, with messages that say whyfound in this entry's text
-
v2.1.284
Clearer error when a managed login policy clashes with your API key or token
When managed settings require a specific sign-in but another credential is set, the error names that credential, where it came from, and how to fix it
found in this entry's text
-
v2.1.283
Cloud sessions cannot rewrite your Claude Code settings through shell commands
A forwarded shell command that writes your machine's Claude Code settings files is blocked or sent to you for approval
found in this entry's text
-
v2.1.283
CLAUDE_CODE_GB_BASE_URLgets the same settings checks as the proxy variablesCLAUDE_CODE_GB_BASE_URL joins the proxy, certificate and bridge variables that Claude Code checks when it cleans a settings file
found in this entry's text
-
v2.1.282
Cloud sessions can now start from a git worktree on macOS and Linux
Starting a cloud session from a linked git worktree now works on macOS and Linux instead of being refused
found in this entry's text
-
v2.1.282
Project settings can only turn telemetry off, and Claude Code now says so
A project's settings can now turn telemetry export off but not on, and a new warning points to
/statusto show which variables appliedfound in this entry's text
-
v2.1.281
Settings env blocks withheld from some sources when the stored login is pinned
Code to withhold settings env values from some sources when the stored login is pinned is added but cannot run yet
found in this entry's text
-
v2.1.281
Hooks worker payload carries state
The data sent to function hooks can now include an optional state field alongside events, calls and env
found in this entry's text
-
v2.1.281
New env vars CLAUDE_CODE_TETHER_LIVE and CLAUDE_CODE_MCP_APPS_HOST added to the protected env-key set
CLAUDE_CODE_TETHER_LIVE and CLAUDE_CODE_MCP_APPS_HOST join Claude Code's protected set of environment variables
found in this entry's text
-
v2.1.281
envandpermissionssettings schemas are now built lazilyThe
envandpermissionsparts of the settings format are now only prepared the first time they are neededfound in this entry's text
-
v2.1.281
More Windows environment variables are now in the settings env-var set
More Windows environment variables, such as
SYSTEMROOT,COMSPECandPSMODULEPATH, now get special handling when set in settingsenvfound in this entry's text
-
v2.1.280
New CLAUDE_CODE_PLUGIN_DIRS helper module: Son/OBn/nDe/Zst plus a dedicated refusal message
Claude Code adds internal handling for CLAUDE_CODE_PLUGIN_DIRS, including validation of the paths it lists and a message explaining how to unset it
found in this entry's text
-
v2.1.277
Cloud/remote hook execution now inspects a script's shebang line, not just its declared interpreter
Cloud/remote hook execution now reads a script's actual shebang line, not just its declared interpreter
found in this entry's text
-
v2.1.277
New sandbox-escape detection heuristics for
sandbox.excludedCommandsNew heuristics detect commands trying to escape the sandbox via the excludedCommands allowlist
found in this entry's text
-
v2.1.275
New model-source category 'settings_env_default' for ANTHROPIC_DEFAULT_*_MODEL env vars
Model source attribution gains a settings_env_default category for ANTHROPIC_DEFAULT_*_MODEL variables
found in this entry's text
-
v2.1.275
New bash risk explanation for
env -PClaude Code now explains the risk of running env -P with a relative directory
found in this entry's text
-
v2.1.269
Plugin runtime API gains a 'config' surface alongside agent/fs/store/etc.
Plugin runtime API gains a new 'config' capability alongside turn, tool, agent, fs and others
found in this entry's text
-
v2.1.268
Settings env vars now validated: invalid names/values/NUL bytes are dropped with a warning
Invalid environment variable names or values in settings.json are now dropped with a warning instead of silently used
found in this entry's text, named in this entry
-
v2.1.268
Bash permission deny-rules extended to redirects,
env --chdir, and argument capsBash permission checks now also cover shell redirects and env-based argument rewriting, asking instead of silently allowing when unsure
found in this entry's text
-
v2.1.268
New bash-command taxonomy for telemetry
Claude Code now classifies every bash command you run for internal telemetry
found in this entry's text
-
v2.1.267
Plugin/hook capability namespace gains session and env access
Hooks and plugins can now access session usage stats and read/write environment variables
named in this entry
-
v2.1.259
Bash safety guard adds sudo-prefix handling
The shell safety checker now treats sudo like env when scanning for prefixed variable assignments, plus a few more git-reach checks.
found in this entry's text
-
v2.1.248
DISABLE_AUTOUPDATERnow needs a real truthy valueDISABLE_AUTOUPDATER=0 or false no longer disables updates; only truthy values count now.
found in this entry's text
-
v2.1.248
Five more environment variables can be set from settings.json
Five more environment variables, including stream and byte watchdogs, can be set in settings.json.
found in this entry's text
-
v2.1.247
Stricter vetting of hooks forwarded to a cloud session
Hooks forwarded to a cloud session are vetted harder, and refused if their program lives somewhere the session can write.
found in this entry's text
-
v2.1.246
Stricter check on whether a command's program sits in a writable location
More hook and command programs are conservatively treated as tamperable rather than trusted.
found in this entry's text
-
v2.1.242
A broader classifier for destructive shell commands
A broader detector for destructive shell commands exists, but nothing visibly uses its verdict.
found in this entry's text
-
v2.1.239
An alternative opening sentence for the system prompt, off by default
An alternate opening line for Claude's system prompt can be switched on with an environment variable.
found in this entry's text
-
v2.1.238
Bash safety refusals now tell you what to do instead
Blocked bash commands now add a next step, naming the directory to run the command from.
found in this entry's text
-
v2.1.237
Poll-events switch cannot be set from settings
You can set CLAUDE_CODE_POLL_EVENTS in your shell, but settings files can no longer supply it.
named in this entry, found in this entry's text
-
v2.1.233
Plugin eval tells the model the env var that turns it on
Setting CLAUDE_CODE_WALNUT_SPIRE=1 turns on the early-access plugin eval command.
found in this entry's text
-
v2.1.232
Three more variables can be set from settings.json
You can now set OTEL_SERVICE_NAME, OTEL_TRACES_EXPORT_INTERVAL and CLAUDE_CODE_FORK_SUBAGENT in settings.json.
named in this entry, found in this entry's text
-
v2.1.228
Env vars set to an empty string now count as unset
Environment variables set to an empty string now count as unset and use the default.
found in this entry's text
-
v2.1.225
CLAUDE_REMOTE_TOOLS_BRIDGE_URL added to the remote-settings env filter
Remotely managed settings can no longer redirect your bridge connection by setting that URL variable.
found in this entry's text
-
v2.1.224
Runner can refuse repo-committed settings that reach outside the workspace
The runner can warn about or block repo-committed settings that grant access outside the workspace.
found in this entry's text
-
v2.1.223
Admin settings tiers now union their env blocks, with an opt-out
Admin and managed settings now merge their env blocks instead of one replacing the other; you can opt out.
found in this entry's text
-
v2.1.222
Resume no longer inherits a stale config directory or a half-copied file
Resumed sessions no longer inherit a stale config directory or abort on a failed file copy.
found in this entry's text
-
v2.1.219
Smaller adjustments
Small polish: credit labels, an extra help link, bigger artifact fetch limit, safer MCP environment handling.
named in this entry, found in this entry's text
-
v2.1.206
Screen Reader Mode Reports Activation Source
found in this entry's text
-
v2.1.196
Skill Tool Description A/B Test
found in this entry's text
-
v2.1.98
Vertex AI Setup Wizard
found in this entry's text
-
v2.1.92
Interactive AWS Bedrock Setup Wizard
found in this entry's text
-
v2.1.73
Improved Bash Command Safety Analysis
found in this entry's text
-
v2.1.70
CA Certificate Configuration from Settings
found in this entry's text
-
v0.2.46
Configuration
found in this entry's text
-
v0.2.27
Better Process and Stream Handling
found in this entry's text
First cited
0No release's published evidence quotes this name. The ledger indexes the Evidence lines of every changelog on this site, so this says nobody here has ever quoted it; it says nothing about how old the name is.
Presence across releases
4Build by build
149One row per release since the first build this name was read out of. Absent means the build was read and the name was not in it, never mined means no bundle for that release was ever archived, and a declared type or a default is only ever what that release's own bundle stated.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the settings key does. All settings keys.