You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
SandboxArea: what it touches
Bug FixesKind: in v2.1.277,
Bug FixesSection of the release
What
When Claude Code builds a sandboxed shell command, if sandboxing is enabled and the command text references the literal string TMPDIR but no explicit sandbox tmp-dir override exists, it now computes a fallback tmp-dir value (called tmpDirBackstop) and passes it through when building the command.
That value is then used in the generated shell preamble: if tmpDirBackstop is set, the shell setup exports TMPDIR from it, but only if TMPDIR isn't already set in the environment.
Why
This prevents commands that rely on TMPDIR from breaking inside a sandbox where that variable might otherwise be unset, without overriding a TMPDIR the environment already provides.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Added sinceA small documentation edit on Choose a sandbox environment touched a line naming TMPDIR after this was published.* The directory where Claude Code writes runtime files. Unless you set [`CLAUDE_CODE_TMPDIR`](/docs/en/env-vars), that directory is:sandbox-environmentssee the edit
Confirmed sinceAnthropic's documentation has since written up TMPDIR, on Explore the .claude directory.| `image-cache/<session>/` | Attached images saved by Claude Code v2.1.274 and earlier. Later versions save pasted and attached images outside `~/.claude`, in an `images/` directory for each session under the temp directory that [`CLAUDE_C…claude-directorysee the edit
How sure we are
Two sources agreeTwo things we can check say the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up TMPDIR, on Explore the .claude directory.
Anthropic's release notes agreeFixed $TMPDIR expanding empty in Bash commands that run outside the sandbox while sandboxing is enabled