Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
Independent Media
Not affiliated with any project
Learn Claude Skills. Do Everything Better.
claudeskill-me.com
LATEST
Watching Claude Code Compaction and Hooks Through OpenTelemetry: Reading the compaction, hook_execution_complete and precompute_reuse Fields  ·  Blind Spots in Bash Permission Rules: deny Misses /bin/rm, bash -c and git -C, and devbox run * Lets Any Inner Command Through  ·  CLAUDE.md Too Long? Use .claude/rules/ and paths So Rules Load Only When Claude Touches Matching Files  ·  Chromium Says No usable sandbox! Inside Claude Code's Sandbox: What --no-sandbox, excludedCommands and allowNestedUserNamespaces Each Give Up  ·  Claude Code v2.1.309 Fixes a Batch of Sandbox and Permission Gaps: Startup Files Outside the Sandbox, denyWrite Through Symlinks and More  ·  The auto mode $defaults Trap: Leave One String Out of autoMode.soft_deny and the Built-In Force-Push Rules Disappear
news

Claude Code v2.1.309 Fixes a Batch of Sandbox and Permission Gaps: Startup Files Outside the Sandbox, denyWrite Through Symlinks and More

30-Second Version · For the impatient
A sandbox is only as good as the assumptions you lean on, and v2.1.309 fixes exactly those: startup files, symlinks, config files and redirects.

Full Explanation +
01 · Why did this happen?

Should I upgrade?

If the Sandbox is your main guardrail for unattended sessions, move to v2.1.309 or later. The notes do not say whether anyone exploited these gaps, so urgency depends on how you use it, not on a known attack.

02 · What is the mechanism?

Will my scripts break?

Two places can: scripts calling claude ultrareview now need --trust-workspace or CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1, and any workflow that relied on /rewind to undo sed -i no longer works.

03 · How does it affect me?

Will the npm stable tag have this version?

I did not verify which npm tag points to v2.1.309. The earlier rm bypass case showed the stable tag can lag, so after upgrading confirm the real version with claude --version.

04 · What should I do?

I'm not an engineer. What is the one-line version?

It is like building access control: no new door, just several spots that looked locked but had a gap. The notes do not say anyone slipped through, but closing them beats leaving them.

Full Content +

Most of the Claude Code v2.1.309 release notes (2026-10-22) are Sandbox and permission fixes, and v2.1.304 through v2.1.307 earlier the same week carried a few security-relevant changes too. Everything below is quoted from the official changelog; the "what this means" section is my own inference and says so.

v2.1.309: sandbox fixes

  • On macOS and Linux, sandboxed Bash commands used to run the shell's startup files outside the sandbox before each command. Fixed.
  • On macOS, denyWrite glob patterns did not apply at a path's real location when the pattern's folder was reached through a symlink. Fixed. The sandbox docs likewise say a denied path passing through a symlink on macOS is denied at its real location too.
  • Sandboxed commands and auto-accepted edits could modify the MCP config file passed with --mcp-config. Fixed.
  • Linux: sandbox write denies lifted when a background command outlived the session. Fixed.
  • Commands the settings exclude from the sandbox now ask before writing to the sandbox's write-list paths while the sandbox is enabled but cannot run; the unsandboxed fallback is refused there.

v2.1.309: permission-check gaps

  • The Bash permission check used to trust a variable set by a command whose redirect can fail to open. Fixed.
  • Compound commands that change directory before running git did not prompt when the cd was wrapped or prefixed, unlike a plain cd. Fixed.
  • An Edit(path) deny rule did not Block a Bash redirect to that path in some commands that also held a subshell. Fixed.
  • Windows: PowerShell checks auto-approved some Set-Location or cd commands that target the current directory and carry extra arguments; they now prompt.
  • In print and SDK sessions, a disabled MCP Server could be reconnected by a later permission prompt. Fixed.

Behavior changes to know before upgrading

  • sed -i now gets the standard Bash prompt and runs as written, instead of a simulated file-edit preview, and /rewind no longer restores it. If you relied on /rewind to undo sed -i, that safety net is gone.
  • claude ultrareview now requires workspace trust: it asks on a terminal and otherwise refuses. Scripts pass --trust-workspace, which takes no value (put a PR number or base branch before it), or set CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1.
  • In bypass permissions mode in the Desktop app and VS Code, dangerous rm and rmdir commands are now denied at once with a rewrite hint, so unattended sessions keep going.
  • A nested CLAUDE.md over the size limit now loads only its start, which stops sessions compacting repeatedly after reading under it.

Other items from the same week

  • v2.1.304: rm -r on mounted drives or top-level folders (such as /Volumes, /media, /mnt/c) now gets a safety prompt.
  • v2.1.307: a new claude_code.safety_event OpenTelemetry event fires for each tool call that a permission rule, auto mode, a safety check, a hook or the sandbox stopped, prompted or sent back.
  • v2.1.305: new sandbox.allowNestedUserNamespaces; the notes say plainly it lets sandboxed commands get around the sandbox's file protections.

What this means (my judgment)

The release notes say what was fixed. They do not say whether anyone exploited these gaps, give no CVE identifiers, and I found no independent source describing exploitation, so do not read this as a report of attacks in the wild. The more useful angle is that the fixes cluster at the edges of sandbox and permission checks, the very assumptions you lean on when you trust the sandbox: startup files do not run outside it, deny rules still hold through symlinks, and commands inside it cannot rewrite config files. If your team treats the sandbox as the main guardrail for unattended sessions, moving to v2.1.309 or later is worth doing; whether you actually hit the specific paths above is something I cannot judge for you.

Sources: Claude Code changelog - Claude Code Docs, Configure the sandboxed Bash tool - Claude Code Docs
Ask a Question
Please enter at least 10 characters
Related Articles
Watching Claude Code Compaction and Hooks Through OpenTelemetry: Reading the compaction, hook_execution_complete and precompute_reuse Fields
advanced · Oct 23
Blind Spots in Bash Permission Rules: deny Misses /bin/rm, bash -c and git -C, and devbox run * Lets Any Inner Command Through
practice · Oct 23
CLAUDE.md Too Long? Use .claude/rules/ and paths So Rules Load Only When Claude Touches Matching Files
beginners · Oct 23
Chromium Says No usable sandbox! Inside Claude Code's Sandbox: What --no-sandbox, excludedCommands and allowNestedUserNamespaces Each Give Up
advanced · Oct 23
Related News