{"name":"CLAUDE_CODE_RESTRICTED","slug":"claude-code-restricted","family":"env","title":"Environment variables","noun":"environment variable","description":"New --restricted flag starts a locked-down session with no shell tools and no settings files.","description_source":"entry","described_by":{"version":"2.1.248","anchor":"new-restricted-session-mode"},"presence":{"first_seen":"2.1.248","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":51,"mined_builds":149,"first_cited":{"version":"2.1.248","released_at":"2026-08-27 20:35:36","spans":1}},"aliases":[],"entries":[{"version":"2.1.304","anchor":"restricted-tty-path-changed-in-startup","heading":"Restricted-mode startup check reworded with no change in behaviour","line":"A startup check under `CLAUDE_CODE_RESTRICTED` gained an extra condition that cannot currently be true, so it behaves as before","released_at":"2026-10-19 19:47:15","reason":"found in this entry's text, named in this entry"},{"version":"2.1.295","anchor":"new-claude-code-restrict-personal-config-env-var-recognized","heading":"New CLAUDE_CODE_RESTRICT_PERSONAL_CONFIG mode restricts your own Claude Code files","line":"Setting `CLAUDE_CODE_RESTRICT_PERSONAL_CONFIG` starts a session that restricts your own Claude Code files, alongside the other restricted modes","released_at":"2026-10-08 18:22:58","reason":"found in this entry's text"},{"version":"2.1.248","anchor":"new-restricted-session-mode","heading":"New --restricted session mode","line":"New --restricted flag starts a locked-down session with no shell tools and no settings files.","released_at":"2026-08-27 20:35:36","reason":"named in this entry, found in this entry's text"},{"version":"2.1.248","anchor":"restricted-sessions-drop-implicit-file-allowances-and-cannot","heading":"Restricted sessions drop implicit file allowances and cannot be talked out of a denial","line":"Restricted sessions drop implicit file allowances, and a denial can't be argued away.","released_at":"2026-08-27 20:35:36","reason":"named in this entry, found in this entry's text"},{"version":"2.1.248","anchor":"restricted-sessions-handled-the-same-way-whether-set-by-flag","heading":"Restricted sessions handled the same way whether set by flag or environment","line":"Setting CLAUDE_CODE_RESTRICTED now restricts a session exactly as --restricted does.","released_at":"2026-08-27 20:35:36","reason":"named in this entry, found in this entry's text"},{"version":"2.1.248","anchor":"auto-memory-is-off-in-restricted-sessions","heading":"Auto-memory is off in restricted sessions","line":"Restricted sessions never write auto-memory, regardless of your settings.","released_at":"2026-08-27 20:35:36","reason":"named in this entry, found in this entry's text"},{"version":"2.1.248","anchor":"more-environment-variables-carried-into-remote-sessions","heading":"More environment variables carried into remote sessions","line":"More environment variables get carried into remote sessions; none are set by default.","released_at":"2026-08-27 20:35:36","reason":"named in this entry, found in this entry's text"}],"entries_total":7,"docs":[{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false},{"source":"claude-code","path":"settings-reference","title":"All settings","documented":false},{"source":"claude-code","path":"whats-new\/2026-w35","title":"Week 35 \u00b7 August 24\u201328, 2026","documented":false}],"docs_total":3,"gates":[],"related":[{"name":"CLAUDE_CODE_3P_PROBE_WROTE_HAIKU_DEFAULT","slug":"claude-code-3p-probe-wrote-haiku-default","description":"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 off"},{"name":"CLAUDE_CODE_3P_PROBE_WROTE_OPUS_DEFAULT","slug":"claude-code-3p-probe-wrote-opus-default","description":"Internal marker on third-party providers. When Claude Code itself writes `ANTHROPIC_DEFAULT_OPUS_MODEL` into its environment (the model availability probe on Bedrock, Vertex or Mantle, or a move down the model fallback ladder), it sets this variable to the same model ID. An `ANTHROPIC_DEFAULT_OPUS_MODEL` equal to it is treated as Claude Code's own choice rather than a user pin: it does not count as pinned, the probe does not skip it, and the fallback ladder may move it."},{"name":"CLAUDE_CODE_3P_PROBE_WROTE_SONNET_DEFAULT","slug":"claude-code-3p-probe-wrote-sonnet-default","description":"On third-party providers, Haiku model names are no longer skipped by the check that sets up the Sonnet default model"},{"name":"CLAUDE_CODE_3P_SEEDED_OPUS_DEFAULT","slug":"claude-code-3p-seeded-opus-default","description":"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 off"},{"name":"CLAUDE_CODE_3P_SEEDED_SONNET_DEFAULT","slug":"claude-code-3p-seeded-sonnet-default","description":"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 off"},{"name":"CLAUDE_CODE_ACCESSIBILITY","slug":"claude-code-accessibility","description":"Set to `1` to keep the native terminal cursor visible and disable the inverted-text cursor indicator. Allows screen magnifiers like macOS Zoom to track cursor position"},{"name":"CLAUDE_CODE_ACCOUNT_TAGGED_ID","slug":"claude-code-account-tagged-id","description":"Overrides the `user.account_id` attribute Claude Code attaches to its OpenTelemetry data. It applies only when an account UUID is known and `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` is not turned off (default on); when unset or empty, `user.account_id` is derived from the account UUID as a tagged ID of the form `user_01...`."},{"name":"CLAUDE_CODE_ACCOUNT_UUID","slug":"claude-code-account-uuid","description":"The device bridge is skipped entirely when the host's account UUID doesn't match the stored one."},{"name":"CLAUDE_CODE_ACT_DONT_REDERIVE","slug":"claude-code-act-dont-rederive","description":"Three existing feature gates moved position; their defaults are unchanged."},{"name":"CLAUDE_CODE_ACTION","slug":"claude-code-action","description":"Marks a run as coming from the Claude Code GitHub Action. A truthy value (`1`, `true`, `yes` or `on`) makes Claude Code set `CLAUDE_CODE_ENTRYPOINT` to `claude-code-github-action`, but only when `CLAUDE_CODE_ENTRYPOINT` is not already set and the command is not `claude mcp serve`. It is also reported as `isClaudeCodeAction` in the environment details attached to telemetry."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-code-restricted","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}