$ the-wire · showcase
A root write/read root no longer disables sandbox denies, npm root lookup off the event loop
By RepoJournal · Filed · About Anthropic · Composed from the cited sources · methodology
sandbox-runtime patched two problems that mattered more than they looked: a single `/` in allowWrite (Linux) or allowRead (macOS) silently cancelled every deny beneath it, and startup blocked the event loop for 70 to 100 ms asking npm where its global root was.
A `/` write root (Linux) or read root (macOS) no longer switches off the denies beneath it anthropics/sandbox-runtime
If `/` was in `allowWrite`, the Linux sandbox dropped every `denyWrite` entry and the built-in read-only protections (`.git/hooks`, `.git/config`, shell rc files, `.mcp.json`, `.claude/commands`) over a root it had just bound writable; macOS had the same slip for `allowRead: ['/']`. Both checks now treat `/` as containing every path, so the denies survive. Re-check any config that listed `/` as...
perf: resolve the global npm root off the event loop anthropics/sandbox-runtime
`initialize()` resolved vendor binaries (the JVM proxy agent jar, apply-seccomp) by shelling out to `npm root -g` with `execSync`, stalling startup for roughly 70 to 100 ms, or the full 5 s timeout when npm hung. The lookup is now async with a per-process cache shared by the sync and async getters, and `getGlobalNpmPaths`, `getApplySeccompBinaryPath` and the jar lookup return the same order and...
ci: raise the PyPI pre-flight threshold to 49.5 GiB for now (#1267) anthropics/claude-agent-sdk-python
The PyPI pre-flight size check in claude-agent-sdk-python now trips at 49.5 GiB instead of its previous threshold, a temporary lift to keep publishing unblocked. Nothing changes in the SDK's behavior, but a threshold raised "for now" is the kind of thing that never gets lowered; expect it to shrink once the oversized artifact is dealt with.
chore: bump bundled CLI version to 2.1.272 anthropics/claude-agent-sdk-python
claude-agent-sdk-python's bundled CLI moved to 2.1.272, and claude-code-action picked up the same pair (Claude Code 2.1.272, Agent SDK 0.3.272), with claude-code-base-action syncing both 2.1.271 and 2.1.272 through its base-action tree. The rest of the day is test and CI housekeeping: `test_set_model` now uses the haiku alias rather than a pinned model id.
Action items
- → Audit sandbox-runtime configs that list "/" in allowWrite or allowRead and confirm denyWrite entries and built-in pro... anthropics/sandbox-runtime [immediate]
- → Upgrade sandbox-runtime to the release containing the async npm root lookup if your startup latency budget is tight anthropics/sandbox-runtime [plan]