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
TERMINATOR_UUID ◇ When set (and no earlier check in terminal detection matched, such as TERM_PROGRAM, TMUX or VTE_VERSION), the terminal is reported as terminator. Its presence is also recorded as hasTerminatorUuid in an environment detection payload.v2.1.138 or earlier → v2.1.308 ◆in the build TERMUX_VERSION ◇ Marks a Termux environment. When set together with PREFIX, the background daemon directory cc-daemon-<uid> is created under $PREFIX/tmp instead of /tmp, as is the fallback cc-socks-<uid> socket directory used when the usual socket path under XDG_RUNTIME_DIR would be too long. The sockets-directory ownership check also accepts the directory two levels above $PREFIX as a trusted root.v2.1.138 or earlier → v2.1.308 ◆in the build TEST_ENABLE_SESSION_PERSISTENCE ◇ No description from anybody.v2.1.138 or earlier → v2.1.308 ◆in the build TEST_GRACEFUL_FS_GLOBAL_PATCH ◇ Read by the bundled graceful-fs library: any non-empty value makes it patch the shared fs module object in place and export that, once, instead of exporting a patched clone.v2.1.138 or earlier → v2.1.308 ◆in the build TILIX_ID ◇ When set (and no earlier check in terminal detection matched, such as TERM_PROGRAM, TMUX, TERMINATOR_UUID or KITTY_WINDOW_ID), the terminal is reported as tilix. Its presence is also recorded as hasTilixId in an environment detection payload.v2.1.138 or earlier → v2.1.308 ◆in the build TMP ◇ Working-tree upload now refuses linked worktrees and checkouts sitting in temporary scratch directories.v2.1.160 → v2.1.308 ◆in the build TMPDIR ◇ Working-tree upload now refuses linked worktrees and checkouts sitting in temporary scratch directories.v2.1.160 → v2.1.308 ◆in the build TMUX ◇ More environment variables go through the central registry that handles allowlisting and scrubbing.v2.1.138 or earlier → v2.1.308 ◆in the build TMUX_PANE ◇ The tmux pane Claude Code runs in. When TMUX is also set, Claude Code asks tmux display-message for this pane's session:window.pane address and stores it as tmux in its session pid file. The tmux teammate backend uses it as the current pane id and as the target when looking up the leader window, and falls back to asking tmux when it is unset.v2.1.138 or earlier → v2.1.308 ◆in the build TRACEPARENT ◇ NO_PROXY is now in the same list of environment variables as SHELL, TRACEPARENT and GIT_CONFIG_NOSYSTEMv2.1.138 or earlier → v2.1.308 ◆in the build TRACESTATE ◇ The W3C tracestate header that goes with TRACEPARENT: it is read alongside TRACEPARENT when extracting a parent trace context from the environment. When Claude Code injects trace context into a subprocess environment, it drops an inherited TRACESTATE and writes the propagator's value when there is one.v2.1.138 or earlier → v2.1.308 ◆in the build ULTRAPLAN_PROMPT_FILE ◇ No description from anybody.v2.1.160 → v2.1.308 ◆in the build USE_API_CLEAR_TOOL_RESULTS ◇ No description from anybody.v2.1.160 → v2.1.211 ○gone USE_API_CLEAR_TOOL_USES ◇ No description from anybody.v2.1.160 → v2.1.211 ○gone USE_API_CONTEXT_MANAGEMENT ◇ No description from anybody.v2.1.138 or earlier → v2.1.308 ◆in the build USE_BUILTIN_RIPGREP ◇ More environment variables go through the central registry that handles allowlisting and scrubbing.v2.1.138 or earlier → v2.1.308 ◆in the build USE_LOCAL_OAUTH ◇ Boolean (1, true, yes or on). When true, the Claude in Chrome bridge connects to ws://localhost:8765 instead of wss://bridge.claudeusercontent.com, as LOCAL_BRIDGE does, taking precedence over USE_STAGING_OAUTH, and the bridge client gets devUserId: "dev_user_local". The tool host helper check also stops treating an ANTHROPIC_BASE_URL on localhost, 127.0.0.1 or [::1] as sending traffic elsewhere when it is true.v2.1.138 or earlier → v2.1.308 ◆in the build USE_STAGING_OAUTH ◇ Boolean (1, true, yes or on). When true, the Claude in Chrome bridge connects to wss://bridge-staging.claudeusercontent.com instead of wss://bridge.claudeusercontent.com; USE_LOCAL_OAUTH or LOCAL_BRIDGE take precedence and use ws://localhost:8765. The self-hosted runner sets it to 1 for sessions whose API base URL contains staging.v2.1.138 or earlier → v2.1.308 ◆in the build USER ◇ 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 USER_TYPE ◇ The launcher now handles USER_TYPE specially when setting up the environment it passes down.never mined ·never mined USERNAME ◇ Session cleanup now tracks which machine a process belongs to, so container ids stop colliding.v2.1.138 or earlier → v2.1.308 ◆in the build USERPROFILE ◇ Working-tree upload now refuses linked worktrees and checkouts sitting in temporary scratch directories.v2.1.138 or earlier → v2.1.308 ◆in the build UV_THREADPOOL_SIZE ◇ When Claude Code initializes an HTTP transport to an MCP server, it writes an Environment: log line for that server that includes UV_THREADPOOL_SIZE (shown as default when unset or empty), next to NODE_OPTIONS and the proxy variables. Claude Code does not otherwise read it.v2.1.138 or earlier → v2.1.308 ◆in the build VCR_RECORD ◇ No description from anybody.v2.1.138 or earlier → v2.1.308 ◆in the build VERCEL ◇ When the value is 1, true, yes or on (case-insensitive, trimmed), Claude Code's deployment-environment detection reports vercel, provided none of the earlier checks (Codespaces, Gitpod, Coder, DevPod, Daytona, Google Cloud Workstations, Cloud9, Replit, Glitch) matched first.v2.1.138 or earlier → v2.1.308 ◆in the build VERTEX_REGION_CLAUDE_5_OPUS ◇ Opus 5 is now the default Opus, with a 1M-context option in the model picker.never mined ·never mined VISUAL ◇ Vim mode no longer opens in VISUAL mode on first mountv2.1.138 or earlier → v2.1.308 ◆in the build VITALS_EMITTER_BIN ◇ 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 VOICE_STREAM_BASE_URL ◇ Session reset and model fallback use named stores, and cert env vars go through one accessor.v2.1.138 or earlier → v2.1.308 ◆in the build VSCODE_GIT_ASKPASS_MAIN ◇ Claude Code reads this path for IDE detection: a value containing cursor identifies Cursor (labelled Cursor (remote) in one display path), Windsurf or Devin install paths identify Windsurf or Devin Desktop, and antigravity identifies Antigravity. A value containing .vscode-server, .cursor-server, .windsurf-server or .devin-server marks the session as running under a remote IDE server, as the same text in PATH also does. It is also on the list of terminal variables that a background session spawn removes from the inherited environment unless the dispatch request supplies its own value.v2.1.138 or earlier → v2.1.308 ◆in the build VTE_VERSION ◇ Startup telemetry now records your mouse mode, Linux clipboard tool and whether VTE is set.v2.1.138 or earlier → v2.1.308 ◆in the build WAYLAND_DISPLAY ◇ On Wayland, clipboard and primary-selection writes now happen in order, not simultaneously.v2.1.161 → v2.1.308 ◆in the build WEBSITE_SITE_NAME ◇ When WEBSITE_SITE_NAME or WEBSITE_SKU is non-empty, Claude Code's deployment-environment detection reports azure-app-service, provided no earlier check matched (development environments, hosting platforms such as Vercel and Fly.io, AWS, Cloud Run and GOOGLE_CLOUD_PROJECT).v2.1.138 or earlier → v2.1.308 ◆in the build WEBSITE_SKU ◇ When WEBSITE_SITE_NAME or WEBSITE_SKU is non-empty, Claude Code's deployment-environment detection reports azure-app-service, provided no earlier check matched (development environments, hosting platforms such as Vercel and Fly.io, AWS, Cloud Run and GOOGLE_CLOUD_PROJECT).v2.1.138 or earlier → v2.1.308 ◆in the build WEZTERM_PANE ◇ No description from anybody.v2.1.296 → v2.1.308 ◆in the build WINDIR ◇ More Windows environment variables, such as SYSTEMROOT, COMSPEC and PSMODULEPATH, now get special handling when set in settings envv2.1.242 → v2.1.252 ○gone WSL_DISTRO_NAME ◇ Claude Code no longer always treats WSL_DISTRO_NAME being set as proof it runs under WSL, and can fall back to checking the systemv2.1.138 or earlier → v2.1.308 ◆in the build WSL_INTEROP ◇ On Linux, Claude Code's environment detection reports the platform as wsl when WSL_DISTRO_NAME or WSL_INTEROP is non-empty; with neither set, it decides from the kernel version string.v2.1.157 → v2.1.308 ◆in the build WT_SESSION ◇ No description from anybody.v2.1.138 or earlier → v2.1.308 ◆in the build XDG_CACHE_HOME ◇ No description from anybody.v2.1.251 → v2.1.308 ◆in the build XDG_CONFIG_HOME ◇ Remote settings can now supply many more environment variables, including auth tokens and home directory paths.v2.1.138 or earlier → v2.1.308 ◆in the build XDG_DATA_HOME ◇ No description from anybody.v2.1.208 → v2.1.308 ◆in the build XDG_RUNTIME_DIR ◇ The messaging socket lives under XDG_RUNTIME_DIR with locked-down permissions and refuses to hijack a live one.v2.1.138 or earlier → v2.1.308 ◆in the build XDG_STATE_HOME ◇ No description from anybody.v2.1.251 → v2.1.308 ◆in the build XTERM_VERSION ◇ When set, Claude Code's environment detection reports the terminal as xterm, provided no earlier check matched (the IDE checks, TERM=xterm-ghostty, a kitty TERM, TERM_PROGRAM, TMUX, STY, KONSOLE_VERSION, GNOME_TERMINAL_SERVICE). It is also on the list of terminal variables that a background session spawn removes from the inherited environment unless the dispatch request supplies its own value.v2.1.138 or earlier → v2.1.308 ◆in the build ZDOTDIR ◇ Policy-helper environment scrubbing moved into its own module and now strips more variablesv2.1.242 → v2.1.308 ◆in the build ZED_TERM ◇ When set, Claude Code treats the terminal as supporting strikethrough text (unless TERM_PROGRAM is Apple_Terminal or TERM is linux), and its synchronized-output check reports the terminal as likely supporting it with the source env: ZED_TERM, unless an earlier check decides first, such as a set TMUX. It is also on the list of terminal variables that a background session spawn removes from the inherited environment unless the dispatch request supplies its own value.v2.1.138 or earlier → v2.1.308 ◆in the build ZELLIJ ◇ Zellij is now detected as a terminal multiplexer alongside tmux and screen.v2.1.138 or earlier → v2.1.308 ◆in the build
Feedback