{"name":"CLAUDE_CODE_TMPDIR","slug":"claude-code-tmpdir","family":"env","title":"Environment variables","noun":"environment variable","description":"If the socket directory for session-to-session messaging looks unsafe, messaging is turned off with a fix hint.","description_source":"entry","described_by":{"version":"2.1.232","anchor":"cross-session-messaging-refuses-unsafe-socket-directories"},"presence":{"first_seen":"2.1.138","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":149,"mined_builds":149,"first_cited":{"version":"2.1.212","released_at":"2026-07-16 19:20:24","spans":6}},"aliases":[],"entries":[{"version":"2.1.301","anchor":"temp-root-lookup-now-records-a-call-site-marker","heading":"Claude Code now notes when it looks up its temporary folder","line":"Claude Code now makes a note each time it looks up its temporary folder; which folder it uses is unchanged","released_at":"2026-10-15 14:34:23","reason":"found in this entry's text, named in this entry"},{"version":"2.1.290","anchor":"cloud-hook-staging-error-message-reworded","heading":"Cloud hook error now says 'private copy' instead of 'verified copy'","line":"The error shown when a cloud session cannot save a hook copy now says 'private copy'; the fix is still to set `CLAUDE_CODE_TMPDIR`","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text, named in this entry"},{"version":"2.1.287","anchor":"cloud-hook-staging-failure-message-now-mentions-claude-code","heading":"Cloud hook error now tells you how to fix it with CLAUDE_CODE_TMPDIR","line":"When a cloud session cannot store a verified hook copy safely, the error now explains what is blocked and suggests setting `CLAUDE_CODE_TMPDIR`","released_at":"2026-10-01 16:59:25","reason":"found in this entry's text, named in this entry"},{"version":"2.1.285","anchor":"plugin-git-clones-now-read-coresshcommand-and-sshvariant","heading":"Plugin downloads from git now follow your git SSH settings","line":"Plugin and marketplace git clones now read core.sshCommand and ssh.variant from your git config","released_at":"2026-09-29 17:32:09","reason":"found in this entry's text"},{"version":"2.1.282","anchor":"bash-output-lost-diagnosis-now-covers-disk-quota-edquot","heading":"Lost command output is now explained when your disk quota is full","line":"When a command's output is lost, Claude Code can now tell you your disk quota is full or the disk is out of space, and suggest a fix","released_at":"2026-09-24 15:56:22","reason":"found in this entry's text"},{"version":"2.1.281","anchor":"new-env-var-claude-code-commit-between-keys-for-the-terminal","heading":"New env var CLAUDE_CODE_COMMIT_BETWEEN_KEYS for the terminal renderer","line":"A new environment variable, CLAUDE_CODE_COMMIT_BETWEEN_KEYS, is read by the terminal display code and counts as off when unset","released_at":"2026-09-23 17:01:17","reason":"found in this entry's text"},{"version":"2.1.269","anchor":"eval-sandbox-additional-macos-sockettmpdir-directories-den","heading":"Eval sandbox: additional macOS socket\/tmpdir directories denied write access","line":"Eval sandbox on macOS blocks writes to more per-user socket and daemon directories","released_at":"2026-09-11 18:12:49","reason":"found in this entry's text"},{"version":"2.1.251","anchor":"eval-sandboxes-run-with-claude-ai-mcp-servers-off","heading":"Eval sandboxes run with claude.ai MCP servers off","line":"Eval sandboxes force claude.ai MCP servers off so they can't reach real servers.","released_at":"2026-08-28 15:34:26","reason":"found in this entry's text"},{"version":"2.1.248","anchor":"clearer-refusals-when-the-socket-directory-is-unsafe-plus-co","heading":"Clearer refusals when the socket directory is unsafe, plus container uid detection","line":"Unsafe socket directories now name the owner, group and mode, and containers are detected.","released_at":"2026-08-27 20:35:36","reason":"found in this entry's text"},{"version":"2.1.247","anchor":"working-tree-upload-refuses-linked-worktrees-and-scratch-spa","heading":"Working-tree upload refuses linked worktrees and scratch-space checkouts","line":"Working-tree upload now refuses linked worktrees and checkouts sitting in temporary scratch directories.","released_at":"2026-08-26 18:02:01","reason":"found in this entry's text"}],"entries_total":12,"docs":[{"source":"claude-code","path":"claude-directory","title":"Explore the .claude directory","documented":false},{"source":"claude-code","path":"sandbox-environments","title":"Choose a sandbox environment","documented":false},{"source":"claude-code","path":"sandboxing","title":"Configure the sandboxed Bash tool","documented":false},{"source":"claude-code","path":"settings-reference","title":"All settings","documented":false}],"docs_total":4,"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-tmpdir","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}