Claude Code v2.1.305: Vertex and Bedrock requests retry without tool search, Linux sandbox namespaces#
Published by Alex Sorokoletov
Part of the Claude Code Version Tracker series. | Official Env Vars | Official Changelog
Claude Code v2.1.305, the release after v2.1.304, fixes a v2.1.304 regression that made every request fail on Vertex, Bedrock, and other providers when a gateway rejected or omitted tool search; the client now retries without it.[1] It also adds sandbox.allowNestedUserNamespaces for Linux, and a retry-watchdog variable that rechecks a usage limit lifted before its reset.
Vertex and Bedrock requests retry without tool search#
v2.1.304 introduced a regression where every request failed on Vertex, Bedrock, and other providers when the endpoint or a gateway rejected tool search, and behind gateways with ToolSearch disallowed or left out of --tools.[1] v2.1.305 retries the request without tool search in those cases, so it reaches the provider.[1] If you upgraded to v2.1.304 on one of those providers, this is the fix to take.
A Linux sandbox setting for nested user namespaces#
New sandbox.allowNestedUserNamespaces (Linux) lets a sandboxed command create user namespaces of its own, which the sandbox refuses by default.[1] Tools that sandbox themselves that way need it, such as Chromium and rootless podman.[1] Turning it on lets those commands get around the sandbox's file deny rules, so it removes the sandbox's code-execution isolation in any folder a command can write to. It is off unless you set it.
Unattended retry notices a lifted usage limit#
CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS pairs with unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG): it rechecks whether a usage limit was lifted before its scheduled reset, so a headless run can resume as soon as the limit clears.[1]
| Variable | What It Does |
|---|---|
CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS | Governs how unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) rechecks a usage limit that was lifted before its reset, so a headless run can resume once the limit clears. New in v2.1.305. |
Fixes across worktrees, disk space, and model overrides#
/effortand/autocompactnow apply when the model name differs from amodelOverridesvalue only by letter case or a[1m]tag.[1]- New worktrees in a bare repository start from the default branch instead of local HEAD, and unchanged subagent worktrees are cleaned up.[1]
- A Bash command on a full disk reports that the disk is full and that nothing ran, instead of a raw
ENOSPCfile path.[1] - An MCP server passed by a cloud session or the SDK's
setMcpServersis no longer replaced later by a same-named server from your own settings.[1] - Workflow resume serves already-completed
pipeline()andparallel()agents from the run's journal instead of re-running them.[1] - Claude names the right model for a subagent's work after the subagent switches to a fallback model.[1]
A change to check after upgrading#
allowedMcpServers no longer filters managed-mcp.json stdio servers that use ${VAR} only in env.[1] A server your allowlist left out now loads on upgrade; add it to deniedMcpServers to keep it off.[1]
The new settings stay off by default#
Both configuration surfaces this release adds are opt-in, and both sit on unattended work. sandbox.allowNestedUserNamespaces is off unless set, and the recheck interval only matters under CLAUDE_CODE_RETRY_WATCHDOG. Neither changes anything for a default install: a sandboxed command still cannot create its own user namespace, and a headless run still waits out a usage limit, until an operator turns the knob. That is what lets a CI or cloud environment take the looser sandbox or the faster retry without every other install inheriting it.
Sources#
- Claude Code Official Changelog, v2.1.305 release notes
This analysis is conducted for educational and research purposes under fair use principles. All trademarks and software referenced belong to their respective owners.
Related Versions#
- Claude Code v2.1.304: rm on mounted drives asks first, a usage warning when you resume
- Claude Code v2.1.303: fork subagents on by default, idle compaction toggle, classifier model pick
- Claude Code v2.1.301: retry wait cap, safer model downgrades
- Claude Code v2.1.300: prompt-cache TTL control, PDF read caps, gzip on by default
- Claude Code v2.1.299: idle compaction, @-mention paths, relaxed rm prompts
Previous Claude Code analysis: v2.1.304 (October 19, 2026)
All 76 Claude Code analyses: Claude Code Version Tracker · Official Claude Code changelog