CLAUDE_CODE_ENVIRONMENT_KIND
A Claude Code environment variable, read out of the shipped bundle. It has been in the build since v2.1.138, including the newest one read.
Long sessions can pick up fresh credentials pushed over the live connection instead of dropping out.
Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.221.
In the changelogs
32Releases whose published page names CLAUDE_CODE_ENVIRONMENT_KIND.
-
v2.1.307
Hidden option lets a self-hosted runner declare what it can handle
A hidden --runner-declares option lets a self-hosted runner tell Claude Code it handles changes found in nested repositories
found in this entry's text
-
v2.1.305
Long-running MCP tasks in cloud sessions stop holding the container up after a time limit
In Anthropic cloud sessions, a running MCP task stops keeping its cloud container up after a set number of hours, 168 by default
found in this entry's text
-
v2.1.305
Cloud sessions can allow or block MCP servers by host
In Anthropic cloud sessions, Claude Code can check each MCP server's host against an allow or deny list sent by the server
found in this entry's text
-
v2.1.301
CLAUDE_CODE_REMOTE_ENVIRONMENT_TYPEjoins a list of remote environment variablesCLAUDE_CODE_REMOTE_ENVIRONMENT_TYPEnow sits on the same list as other remote environment variablesfound in this entry's text, named in this entry
-
v2.1.301
Claude Code now recognises self-hosted remote environments of kind
byocClaude Code can now tell when it runs in a self-hosted
byocremote environment, using three environment variablesfound in this entry's text
-
v2.1.300
Self-hosted runner sessions can send all traffic through your own proxy
On self-hosted runners, Claude Code can route all session traffic through a proxy you run, and refuses to start if it cannot
found in this entry's text
-
v2.1.300
Linux sessions refuse to write files to paths on your own Mac or Windows computer
On Linux, Claude Code now refuses to write a file whose path looks like a Mac or Windows user path, and nothing is written
found in this entry's text
-
v2.1.295
claude mcp servegains an HTTP mode, limited to remote cloud sessionsIn remote cloud sessions only,
claude mcp servecan now listen over HTTP with--transport,--portand--session-tunnelfound in this entry's text
-
v2.1.292
Remote session check now requires CLAUDE_CODE_ENVIRONMENT_KIND to be unset
A check for remote sessions now passes only when
CLAUDE_CODE_ENVIRONMENT_KINDis unset and the session is not a child sessionfound in this entry's text, named in this entry
-
v2.1.273
Bridge child sessions now default to computing tool-use diffs
Bridge-hosted child sessions now default to computing a git diff for Write and Edit tool calls
found in this entry's text, named in this entry
-
v2.1.271
New 'turn handoff' mechanism for managed cloud worker sessions, with an env var kill switch
New 'turn handoff' lets a managed cloud worker session resume an in-flight turn across restarts, with an env-var kill switch
found in this entry's text, named in this entry
-
v2.1.271
MCP connector prewait now overridable via
CLAUDE_CODE_MCP_CONNECTOR_PREWAIT_MSNew CLAUDE_CODE_MCP_CONNECTOR_PREWAIT_MS environment variable overrides how long Claude Code waits for remote MCP servers to start
found in this entry's text
-
v2.1.248
MCP and OAuth errors are redacted when the session persists off your machine
MCP and OAuth error text is redacted when your session runs off your machine.
found in this entry's text
-
v2.1.248
Output-shaping helpers for bridge environments
When frames leave your machine, MCP listings and repeated errors get trimmed down.
found in this entry's text
-
v2.1.248
MCP errors sent to Remote Control clients are filtered to a fixed list
In bridge mode, unknown MCP errors are collapsed to "connection failed" for remote clients.
named in this entry, found in this entry's text
-
v2.1.248
SDK stream transport can re-read auth headers, except in managed environments
The SDK stream transport can re-read auth headers, but not in managed environments.
named in this entry, found in this entry's text
-
v2.1.248
Bridge-mode redaction now also requires a transport that persists output
Bridge-mode redaction now only kicks in when your transport actually persists sent output.
named in this entry, found in this entry's text
-
v2.1.248
get_settings is refused on remote connections
Remote clients can no longer read back your model, effort or settings-file errors.
named in this entry, found in this entry's text
-
v2.1.248
Bridge sessions get trimmed control replies and generic errors
Bridge and cloud sessions get trimmed control replies with local detail and errors removed.
found in this entry's text
-
v2.1.247
Remote tool forwarding now has its own admission check
Whether a session may forward tools to a remote worker is now decided by its own check up front.
found in this entry's text
-
v2.1.247
Durable event uploads are tracked per batch on self-hosted runners
On your own compute, event batches are tracked so dropped ones fail fast instead of hanging.
found in this entry's text
-
v2.1.239
Bridge-launched processes hand down a one-use marker and verify the prompt they are piped
Processes launched by the bridge mark their marker as spent, so grandchildren are told apart.
found in this entry's text
-
v2.1.239
Device hook forwarding worker added, off behind two flags and a kill switch
Cloud sessions could register hooks that run on your device, blocked by two off flags.
found in this entry's text
-
v2.1.238
Files changed during a turn are uploaded to the cloud session worker
Cloud sessions now upload files you changed during a turn back to the session worker.
found in this entry's text
-
v2.1.237
Poll tool drains queued harness events and reports who sent them
Claude can pull in queued messages from other sessions, stamped with who sent them, but only behind an env var.
named in this entry, found in this entry's text
-
v2.1.234
Two more environment variables handled for child sessions
Two environment variables for project directory name and environment kind now pass to or get scrubbed from child sessions.
named in this entry, found in this entry's text
-
v2.1.227
Remote worker sessions now sync the working directory both ways around every turn
Remote worker sessions now sync your working directory both ways around every turn.
named in this entry, found in this entry's text
-
v2.1.224
Directory sync apply starts with the working-file syncer
Startup also starts a directory sync apply step alongside the working-file syncer in normal local sessions.
named in this entry, found in this entry's text
-
v2.1.223
Remote-settings env allowlist widened
Remote settings can now supply many more environment variables, including auth tokens and home directory paths.
found in this entry's text
-
v2.1.221
CCR client can adopt refreshed auth pushed over the event stream
Long sessions can pick up fresh credentials pushed over the live connection instead of dropping out.
named in this entry, found in this entry's text
-
v2.1.221
Web sessions can adopt refreshed credentials from the heartbeat
Web sessions can swap in a refreshed credential mid-run instead of waiting for the old one to expire.
named in this entry, found in this entry's text
-
v2.1.221
Headless MCP startup wait reworked
Headless runs decide more carefully whether to wait for MCP servers before starting.
named in this entry, found in this entry's text
First cited
4The earliest release whose published evidence quoted CLAUDE_CODE_ENVIRONMENT_KIND was v2.1.234, 17 Aug 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
1Build 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 environment variable does. All environment variables.