{"name":"CLAUDE_STAGE_FILE_ROOT","slug":"claude-stage-file-root","family":"env","title":"Environment variables","noun":"environment variable","description":"In remote mode the staging folder is marked as coming from chat, and an oversized git shared index is reported as its own case","description_source":"entry","described_by":{"version":"2.1.293","anchor":"staging-path-tagged-fromchat-shared-index-too-large-bucket"},"presence":{"first_seen":"2.1.174","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":117,"mined_builds":149,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.307","anchor":"new-env-vars-claude-code-diff-copy-root-and-claude-code-foun","heading":"Two new reserved environment variables for diff copies and found repositories","line":"`CLAUDE_CODE_DIFF_COPY_ROOT` and `CLAUDE_CODE_FOUND_REPOSITORY_GIT` join a protected list of environment variable names","released_at":"2026-10-21 20:47:18","reason":"named in this entry, found in this entry's text"},{"version":"2.1.307","anchor":"runner-passes-diff-copy-root-and-a-found-repository-git-mark","heading":"Managed sessions protect a copy of the repository's git settings","line":"A new `CLAUDE_CODE_DIFF_COPY_ROOT` variable names a folder for a checked copy of git settings, and only the starting environment may set it","released_at":"2026-10-21 20:47:18","reason":"found in this entry's text"},{"version":"2.1.293","anchor":"staging-path-tagged-fromchat-shared-index-too-large-bucket","heading":"Remote sessions mark the staging folder and report oversized shared indexes separately","line":"In remote mode the staging folder is marked as coming from chat, and an oversized git shared index is reported as its own case","released_at":"2026-10-07 17:18:04","reason":"found in this entry's text, named in this entry"},{"version":"2.1.174","anchor":"bug-fixes","heading":"","line":null,"released_at":"2026-06-11 22:27:52","reason":"found in this entry's text"}],"entries_total":4,"docs":[],"docs_total":0,"gates":[],"related":[{"name":"CLAUDE_AFK_COUNTDOWN_MS","slug":"claude-afk-countdown-ms","description":"How many milliseconds before auto-continue the on-screen countdown appears on an unanswered [`AskUserQuestion`](\/docs\/en\/tools-reference) dialog. Default `20000` (20 seconds), capped at the auto-continue timeout. Has no effect unless auto-continue is on; see the [`askUserQuestionTimeout`](\/docs\/en\/settings-reference#askuserquestiontimeout) setting and `CLAUDE_AFK_TIMEOUT_MS`. Requires Claude Code v2.1.198 or later"},{"name":"CLAUDE_AFK_TIMEOUT_MS","slug":"claude-afk-timeout-ms","description":"How many milliseconds of idle time before an unanswered [`AskUserQuestion`](\/docs\/en\/tools-reference) dialog auto-continues without you. Auto-continue is off by default; opt in with the [`askUserQuestionTimeout`](\/docs\/en\/settings-reference#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 later"},{"name":"CLAUDE_AFTER_LAST_COMPACT","slug":"claude-after-last-compact","description":"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."},{"name":"CLAUDE_AGENT_SDK_CLIENT_APP","slug":"claude-agent-sdk-client-app","description":"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."},{"name":"CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS","slug":"claude-agent-sdk-disable-builtin-agents","description":"Set to `1` to disable all built-in [subagent](\/docs\/en\/sub-agents) 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 required`](\/docs\/en\/errors#subagent-type-is-required)"},{"name":"CLAUDE_AGENT_SDK_DISABLE_MCP_MANIFESTS","slug":"claude-agent-sdk-disable-mcp-manifests","description":"The Agent SDK can now read tool lists from in-process MCP servers itself and pass them to the CLI when it starts"},{"name":"CLAUDE_AGENT_SDK_MCP_NO_PREFIX","slug":"claude-agent-sdk-mcp-no-prefix","description":"Set to `1` to skip the `mcp__<server>__` prefix on tool names from SDK-created MCP servers. Tools use their original names. SDK usage only"},{"name":"CLAUDE_AGENT_SDK_VERSION","slug":"claude-agent-sdk-version","description":"Your entrypoint and SDK version are checked against known values before being reported."},{"name":"CLAUDE_AGENTS_SELECT","slug":"claude-agents-select","description":"`claude agents` resolves its directory filter through storage rather than the raw path."},{"name":"CLAUDE_AI_ORIGIN","slug":"claude-ai-origin","description":"The remote trigger tool can create webhook triggers so routines fire on outside events."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-stage-file-root","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}