{"name":"TMPDIR","slug":"tmpdir","family":"env","title":"Environment variables","noun":"environment variable","description":"Working-tree upload now refuses linked worktrees and checkouts sitting in temporary scratch directories.","description_source":"entry","described_by":{"version":"2.1.247","anchor":"working-tree-upload-refuses-linked-worktrees-and-scratch-spa"},"presence":{"first_seen":"2.1.160","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":129,"mined_builds":149,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.304","anchor":"sandbox-env-filter-has-an-extra-condition-for-env-var-names","heading":"The sandbox has an extra rule for which environment variables get through","line":"The filter deciding which environment variables reach sandboxed commands now has an extra condition","released_at":"2026-10-19 19:47:15","reason":"found in this entry's text"},{"version":"2.1.300","anchor":"sandboxtenant-path-handling-for-multi-tenant-mode","heading":"Sandbox protects per-tenant folders in multi-tenant setups","line":"In a multi-tenant mode, the sandbox uses per-tenant folders and blocks writes to .claude and resume files inside them","released_at":"2026-10-14 14:27:26","reason":"found in this entry's text"},{"version":"2.1.287","anchor":"hook-sandbox-temp-dir-selection-hardened","heading":"Remotely served project hooks pick a private temp folder more strictly","line":"Project hooks served remotely now use a temp folder only if it lies outside what the session can write, and log a specific error if none does","released_at":"2026-10-01 16:59:25","reason":"found in this entry's text"},{"version":"2.1.281","anchor":"commands-that-reference-tmpdir-get-a-claude-temp-dir-on-wind","heading":"Commands that reference TMPDIR get a Claude temp dir on Windows too","line":"On Windows, shell commands that mention TMPDIR now get their own Claude temp directory, as they already did with sandboxing on","released_at":"2026-09-23 17:01:17","reason":"found in this entry's text, named in this entry"},{"version":"2.1.281","anchor":"sandboxed-bash-on-macoslinux-now-exports-tmpdir-to-the-sand","heading":"Sandboxed bash on macOS\/Linux now exports TMPDIR to the sandbox temp dir","line":"Sandboxed commands on macOS and Linux now get `TMPDIR` pointed at the sandbox's own temporary folder","released_at":"2026-09-23 17:01:17","reason":"found in this entry's text, named in this entry"},{"version":"2.1.281","anchor":"host-credential-cache-key-includes-appdata-and-localappdata","heading":"Host-credential cache key includes APPDATA and LOCALAPPDATA","line":"The host-credential cache now resets when APPDATA or LOCALAPPDATA change, as well as its earlier inputs","released_at":"2026-09-23 17:01:17","reason":"found in this entry's text"},{"version":"2.1.281","anchor":"bash-rm-check-now-flags-rm-targets-built-from-variables-that","heading":"Bash rm check now flags rm targets built from variables that may be empty (tengu_bright_lake, falls back to on)","line":"The Bash `rm` check now follows shell variables and asks for approval when an empty one could make a path reach `\/`","released_at":"2026-09-23 17:01:17","reason":"found in this entry's text"},{"version":"2.1.277","anchor":"sandboxed-shell-commands-get-a-tmpdir-backstop-when-referen","heading":"Sandboxed shell commands get a $TMPDIR backstop when referenced but unset","line":"Sandboxed shell commands get a fallback TMPDIR value when the command text references it but none is set","released_at":"2026-09-18 16:22:26","reason":"found in this entry's text, named in this entry"},{"version":"2.1.277","anchor":"sandboxbash-env-gains-a-tmpdir-backstop","heading":"Sandbox\/bash env gains a TMPDIR backstop","line":"Sandboxed shell commands can now get a TMPDIR fallback if it isn't already set","released_at":"2026-09-18 16:22:26","reason":"found in this entry's text, named in this entry"},{"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"}],"entries_total":14,"docs":[{"source":"api","path":"agents-and-tools\/agent-skills\/quickstart","title":"quickstart","documented":false},{"source":"api","path":"build-with-claude\/mid-conversation-effort-example","title":"mid-conversation-effort-example","documented":false},{"source":"claude-code","path":"claude-directory","title":"Explore the .claude directory","documented":false},{"source":"claude-code","path":"permission-modes","title":"Choose a permission mode","documented":false},{"source":"claude-code","path":"plugin-evals","title":"Test plugins with evals","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},{"source":"mcp","path":"docs\/2026-07-28\/tools\/inspector\/security","title":"Security","documented":false},{"source":"mcp","path":"docs\/draft\/tools\/inspector\/security","title":"Security","documented":false}],"docs_total":10,"gates":[],"related":[],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/tmpdir","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}