← EVENT LIBRARY / Developer Tools

Claude Code 2.1.316 closes more managed-policy gaps

Claude Code 2.1.316 makes layered managed policies cumulative and validates every model field against gateway allow and deny rules. Restricted sessions no longer upload allowed-read files from outside working directories, hosted sessions fail when Auto mode receives no safety verdict, and stored server-managed settings are refused when verification fails. It also adds Bedrock guardrail input tagging and pooled group budgets.

Imported from the existing research archive. Migration preserves the recorded judgment and is not a fresh verification.

What this means for you

For teams running long-lived coding agents, these changes reduce policy drift across model routing, restricted uploads and hosted safety decisions. Upgrade after testing deny rules, cached settings, missing safety verdicts and resume paths in a non-critical repository.

Evidence & related material

Background · Historical record, not rechecked

Two rapid Claude Code releases push it toward multi-agent operation. Subagent forking is now on by default: a 'fork' subagent inherits the full conversation and prompt cache, and non-teammate agent spawns run in the background. Agents can message each other across sessions via @-mentions (SendMessage to named live sessions, v2.1.224+, local sockets, messages only). Also in these releases: GitLab MR support and plugin marketplaces, secret redaction, and multiple security fixes (PowerShell $PSDefaultParameterValues overwrite, Cygwin symlink bypass, nested-git-repo trust inheritance, /tmp socket hardening). 2.1.233 adds cgroup memory limits for sandboxed Bash (CLAUDE_CODE_TOOL_MEMORY_LIMIT), opt-in forward_user_identity for gateway spend attribution, and an MCP v2 reconnect fix; todo tools are removed for Opus 4.8/Sonnet 5/Fable 5/Mythos 5+. Claude Code 2.1.271 adds per-command allowed_domains for sandboxed Bash, PowerShell and Monitor. It fixes policy reuse after credential switches, unreadable managed MCP policy fail-open, several Bash permission-check gaps, MCP OAuth registration handling, and cloud subagent calls after worker restarts. Version 2.1.273 adds optional gateway routing headers, reconnect-failure notices for MCP, and Remote Control session forking. It also fixes policy precedence, unanalysed Bash permission prompts, hidden destructive subshells and external memory-directory reads.

Subsequent changes

Update · 2026-09-26

Claude Code 2.1.283 strengthens exact model governance, sandbox denial policies and execution consistency after restart.

Update · 2026-09-29

Claude Code 2.1.284 strengthens read approval, MCP recovery and gateway identity governance

Update · 2026-10-01

Claude Code 2.1.285/286 strengthen provider, revocation and credential boundaries

Update · 2026-10-02

Version 2.1.287 adds Mods and an observer side-agent while fixing local execution boundaries.

Update · 2026-10-03

Version 2.1.288 fixes duplicate execution after oversized MCP output and tightens dangerous-command boundaries.

Update · 2026-10-04

Claude Code 2.1.289 closes several deny-rule bypasses

Update · 2026-10-06

Claude Code 2.1.290/291 strengthen central governance and long-task recovery

Update · 2026-10-08

Claude Code 2.1.292/293 add per-subagent effort, Haiku 5.5 and long-task reliability fixes.

Update · 2026-10-08

Claude Code 2.1.294 fixes fail-open natural-language hooks

Update · 2026-10-09

Claude Code 2.1.295 makes more hook and gateway failures fail closed

Update · 2026-10-10

Claude Code 2.1.296 aligns desktop policy and closes execution gaps

Update · 2026-10-14

Claude Code 2.1.299 closes sandbox, resumed-execution and gateway-credential boundaries.

Update · 2026-10-15

Claude Code 2.1.300 hardens recovery, policy, worktrees and background execution

Update · 2026-10-16

Claude Code 2.1.301 fixes unattended retries and false workflow success

Update · 2026-10-17

Claude Code 2.1.302 fixes scheduled-routine replay

Update · 2026-10-20

Claude Code 2.1.304 tightens human approval and destructive-deletion boundaries

Update · 2026-10-21

Claude Code 2.1.305-306 fix gateways and cloud sessions while adding a risky namespace exception

Update · 2026-10-22

Claude Code 2.1.307 adds safety telemetry and idempotent MCP retry

Update · 2026-10-23

Claude Code 2.1.309 closes sandbox and permission bypasses

Update · 2026-10-24

Claude Code 2.1.310 hardens cloud monitors, gateway fallback and permission visibility

Update · 2026-10-27

Claude Code 2.1.311 fixes stale memory and duplicate restarted work

Update · 2026-10-28

Claude Code 2.1.312 hardens background-task and session recovery

Update · 2026-10-30

Version 2.1.314 tightens managed policy, directory writes and resume boundaries.

Update · 2026-10-31

Version 2.1.316 tightens model policy, restricted uploads and hosted safety verdicts.

Technical details & scores
Forking default on; inherits conversation + prompt cache
Messaging SendMessage via @-mentions across live sessions; no history/files/permissions exchange
Sandbox CLAUDE_CODE_TOOL_MEMORY_LIMIT cgroup limits (Linux)
Breaking todo tools disabled by default on newer models
Releases 2026 08 24 27 2.1.242-250: 2.1.243 adds promptCacheTtl/subagentPromptCacheTtl settings (1h main / 5m subagent), modelPicker, modelPricing managed setting, /usage Loops breakdown; 2.1.245 glibc 2.44 crash fix; 2.1.246 Auto-mode rules tab in /permissions, MCP tool-arg typing fix; 2.1.247 SendFeedback tool, /claude-api cost-optimize, sub-agent fallback chain on 404; 2.1.248 --restricted confinement mode, cross-session messaging on Bedrock/Vertex/Foundry + telemetry-off, per-agent experimental.cacheTtl, hourly OAuth-refresh prompt-cache-miss fix, Workflow tool 5.7k->1k tokens; 2.1.250 bugfix-only; 2.1.242/249 not published
Latest Version 2.1.310
Release Update Adds cloud tool/plugin monitors, gateway fallback, symlink destination visibility and fail-open hook fixes.
Time Basis GitHub release published 2026-10-23T23:39:00Z.
Release 2026 10 26 Claude Code 2.1.311 stable
Reliability 2026 10 26 Fresh memory/instruction reload after compaction; no duplicate restarted skill; background worktree and session recovery fixes
Time Basis 2026 10 26 GitHub stable release published 2026-10-26T21:51:23Z
Latest Stable 2.1.316
Published At 2026-10-27T20:24:20Z
Release Time 2026-10-30T01:06:26Z
Release 2026 10 30 All-mode out-of-worktree write blocking, gateway IdP group routing, Bedrock guardrail trace, idle compaction above 200K; managed-policy and resume sandbox fixes
Release 2026 10 31 Layered managed policies, complete model-field enforcement, restricted-upload and missing-safety-verdict fail-closed fixes, verified cached settings, Bedrock input tagging and pooled group budgets
Time Basis 2026 10 31 GitHub stable release published 2026-10-31T01:01:35Z
Technical impact 3
Engineering value 4
Adoption signal 4
Maturity 4
Verification cost 1
Risk 3
Historical update notes

· 2.1.234 (2026-08-17, in-window): rejects Windows NT-namespace (\??\) paths across remote file reads, session restore, CLAUDE.md includes, workflow scripts and uploads — hardens pre-approval file accesses against the NTLM credential-leak vector; GitLab MR footer badge (draft/pending/green states, glab repos); auto-continue sessions when usage limit resets (toggle in /config); claude-api skill context cost cut from ~200k+ to ~25k tokens; selection:clear keybinding; CLAUDE_CODE_PROJECT_DIR_NAME env var; many Remote Control / permission-preview / TUI fixes.

· 2.1.235 (2026-08-18, in-window): security-relevant fix — Shift+Tab in the permission prompt's comment field no longer wrongly grants session-wide edit permission; new optional `spellcheck` setting (aspell/hunspell/ispell); fix for whole-prompt-cache invalidation when a language server disconnects mid-session; nested markdown list misalignment fix (depth 3+); lower memory/CPU usage for background cloud sessions (/ultrareview); permission dialogs now display exactly what a grant covers; VS Code focus fix after window restore. Recommendation stays ADOPT; upgrading also picks up the 2.1.234 NTLM hardening.

· 2.1.236 (2026-08-19, in-window): `notify_when_idle` option added to cross-session SendMessage — one session can request a single notice when another goes idle (macOS/Linux), extending the inter-agent messaging primitive with idle-awareness; new ANTHROPIC_DEFAULT_MODEL env var sets the starting model for new sessions (/model pick still overrides and persists); macOS sandbox hardening — wildcard read-deny rules like **/.env now take precedence inside allowed regions and resist rename-based bypass; /goal idle sessions auto-check-in after 30 minutes behind long background work; /usage gains a usage-credits row (Team/Enterprise); fixes: clipboard/background tasks breaking after session-directory removal, fullscreen renderer permanently failing after one bad start, /model picker overflow on tall terminals, various fullscreen/tmux rendering issues. Recommendation stays ADOPT.

· 2.1.237 + 2.1.238 (both 2026-08-20, in-window). 2.1.237: fixed prompt caching for sessions using an LLM gateway or custom base URL (directly relevant to gateway deployments); added a built-in 'Concise' output style ('Claude leads with results and skips preamble and narration') selectable via /config. 2.1.238: fixed unbounded memory growth in long interactive sessions — subagent tool results are now freed after leaving the recent display window, directly relevant to long-running multi-agent sessions; plugin marketplaces gained `headersHelper` for URL marketplaces/catalog entries (mints short-lived HTTP headers such as tokens for catalog and same-origin archive fetches, shown to the user first with [y/N] confirmation, no inherited credential env vars) — private/enterprise plugin distribution; self-hosted runner `--defer-shutdown-max-min` (keep serving attached sessions on SIGTERM, then park and exit) and `--proxy-authorization-command`/`--proxy-authorization-file` for proxies needing a fresh Proxy-Authorization header per connection; numerous Remote Control fixes (mid-turn messages vanishing from transcripts, model picks on phone/web not updating the terminal, 'login expired' on brief network hiccups now retries, crashed-session reuse, env-var leaks, per-task Stop, ListAgents/SendMessage wrongly reporting 'not connected' in server mode); cross-session messaging hardening (refused inboxes now report 'refused'; rate-limited/dropped messages notify the sender instead of vanishing); MCP fixes (stdio servers no longer receive server/discover before initialize — lazy servers no longer start on every open; elicitation dialogs fixed for URLs over 4,096 chars; disabled servers listed without health-checking). Recommendation stays ADOPT.

· 2.1.239 (2026-08-21T17:18Z, in-window). Cost/estimation: /cost, the status line and --max-budget-usd now include the 1.1x US-only-inference premium for data-residency workspaces; the usage-limit message now states when the session or weekly limit resets. Bedrock: fixed streaming behind proxies that strip the response Content-Type header (which silently doubled billed API calls by re-running every turn non-streaming) and fixed startup hangs behind an HTTPS proxy with SSO profiles + awsAuthRefresh. Cloud sessions: plugins synced from claude.ai now show as name@synced and work with `claude plugin enable/disable <name>@synced` (never overriding a same-named locally installed plugin); fixed remote MCP servers staying failed after a transient 5xx on mid-session reconnect; fixed resuming out of plan mode after an idle worker restart. Multi-agent/messaging refinements (same primitive family, not new primitives): ListAgents now lists live teammates and tells a session its own peer name; SendMessage to your own name now says so; fixed sessions titled with a leading / being unaddressable; fixed runaway Remote Control session-title syncing (2.1.232 regression). /goal: repeat check-ins on long-running background work now back off (30 min -> 1 h -> 2 h); `claude --resume` restores the active goal. Also: Alpine/musl native add-ons (paste/clipboard/audio), `/claude-api upgrade` for anthropic 0.x -> 1.x Python migration, MCP elicitation form scroll fix in fullscreen, OpenTelemetry trace-fragmentation fix for hook-deferred tool calls, vim-mode agent-view Escape fix. Recommendation stays ADOPT.

· 2.1.240 (2026-08-22T13:03Z) + 2.1.241 (2026-08-22T23:58Z), both in-window. Both entries in the official changelog read only 'Bug fixes and reliability improvements' - no new primitives or documented behavior changes; npm publish timestamps (@anthropic-ai/claude-code) serve as release evidence. Two same-day patch releases after 2.1.239's Bedrock double-billing fix; recommendation stays ADOPT.

· Recovered from index (previous run wrote the update note to index/events.json only): 2.1.242 (19:16Z, no changelog entry) + 2.1.243 (23:10Z): /usage Loops breakdown, modelPicker setting, promptCacheTtl + subagentPromptCacheTtl settings (1h main / 5m subagent), modelPricing managed setting (contracted rates into /cost), keyless Console sign-in

· Recovered from index (previous run wrote the update note to index/events.json only): 2.1.245 (04:45Z): glibc 2.44 startup-crash fix; 2.1.246 (19:17Z): Auto-mode rules tab in /permissions, startup warning for wildcard-before-subcommand Bash allow rules, MCP tool-arg typing fix (empty-schema {}), transcript rendering perf fixes

· Recovered from index (previous run wrote the update note to index/events.json only): 2.1.247 (18:02Z): SendFeedback tool, /claude-api cost-optimize (profile API spend across caching/token hygiene/batch/effort/model choice), sub-agent fallback model chain on 404, Sonnet 5 default auto-compact window to full 1M, cross-session peer messages collapse to one-line preview

· Recovered from index (previous run wrote the update note to index/events.json only): 2.1.248 (20:35Z): --restricted confinement mode (strips exec/WebFetch tools, working-directory confinement, refuses bypassPermissions), per-agent experimental.cacheTtl, cross-session messaging (SendMessage/ListAgents) extended to Bedrock/Vertex/Foundry + telemetry-off, hourly OAuth-refresh prompt-cache-miss fix, Workflow tool prompt 5.7k->1k tokens, /usage-credits for Enterprise; 2.1.250 (22:27Z): bug fixes only

· 2.1.251 (2026-08-28T15:34:26Z npm, in-window; sole release of the day). New: PreModelSwitch / PostModelSwitch hook events (block, confirm or annotate a model switch); SessionStart resume hooks now receive session staleness and estimated re-cache cost; live streaming of a foreground subagent's tool calls and results to Remote Control clients (background subagents still show status only); spend-limit bar in /usage plus rate_limits.spend_limit status-line field; per-session prompt-cache line in /cost (hit ratio, misses, tokens re-cached, warm/cold) with a prompt_cache object for status line scripts; claude attach/logs/stop/respawn/rm surfaced in --help. Security fixes: file tools following a symlink swapped inside the working directory after the permission check (read/write outside approved location); plugin marketplace commands pointing outside the plugin directory rejected as path traversal; Grep/Glob not applying Read(...) deny rules through symlinked search paths; Workflow tool reading scriptPath outside readable scope before the permission check; project settings can no longer enable detailed beta tracing or raw API body logging or bypass a managed OTLP collector. Multi-agent fixes: teammate final answers now reach the team lead in the idle notification; background subagents can reply to unnamed sibling/parent agents; framing tells Claude that own-subagent senders are workers inside this session. Recommendation stays ADOPT.

· 2.1.252 (8/31T17:07Z): bug fixes (Bash task-output-swap failure on some Macs, always-allow saving without settings.local.json, Remote Control stalls on degraded connections, oversized failure-output notifications). 2.1.257 (9/1T17:15Z): Claude Fable 5.1 (claude-fable-5-1) added and made the default Fable model (1M context, $10/$50 per Mtok, $0.25/Mtok cache reads); Containment Escape rule in auto mode — cloud metadata-credential fetches, egress evasion and cross-tenant reach no longer auto-approved; one-time prompt before first file read outside working directories with optional permissions.blockReadsOutsideWorkingDirectories; CLAUDE_CODE_SUBAGENT_MODEL_FORCE; plugins can no longer read outside their directory via symlinked component paths; Remote Control consent fix (dismissal no longer counts as consent); subagents auto-continue after mid-stream cutoffs; Proactive-style sessions stop busy-looping. 2.1.258 (9/1T22:25Z): fixed launch failure on macOS 12 (regression from 2.1.255) and remote/scheduled sessions failing with empty user messages after a re-sent permission approval

· 2.1.259 (9/2T21:21Z): managedMcpServers managed setting (org pushes HTTP/SSE MCP servers to every user), --permission-prompts none for unattended headless hosts (auto-deny anything that would prompt), glab MR recognition, plugin validate --json; fixes incl. concurrent sessions silently reverting each other's ~/.claude.json, Bash Read() deny-rule gaps (option values, git diff/grep operands, cd DIR && cat compounds), OAuth-refresh prompt-cache invalidation with telemetry off, managed-settings parse failure now refuses startup. 2.1.260 (9/3T22:32Z): /diff side panel; prompt-cache miss diagnostics in /cost + status bar; security fixes (Edit/Write/Read rules with brackets in paths were dropped — 'read-only' folders writable; uncompilable pattern failing every edit; zsh REPORTTIME/REPORTMEMORY assignments hiding command substitution from auto-approve); Fable 5.1 model-picker + [1m]-tag agents silently running 200K windows fixed; tool-result prompt-cache fix on Fable 5.1; subagent 1h background-command limit removed; 1M-context auto-compact improvements. 2.1.261 (9/4T17:49Z): /status org-policy row; bashOutputMaxChars/taskOutputMaxChars (inline up to 128K chars); --append-subagent-system-prompt-file; /skill-doctor (unused skills + context cost); Bedrock wizard hang fix; Remote Control fixes; rm -rf prompt now catches positional args and quoted sh -c; agent-team second-round announcement re-send (cache miss) fix. Captured 2026-09-05 run

· 2.1.270 released 2026-09-12T18:52:44Z (npm): single hotfix - read-only git commands in Bash no longer unexpectedly request permission after the session has been running for a while (regression introduced in 2.1.269). No other documented changes.

· Claude Code 2.1.280/281: Opus 5.5 default, symlink-write hardening, OTel detail, Bedrock role/guardrail gateway controls and stricter auto-mode review; stays ADOPT

· Claude Code 2.1.282: managed-policy fail-safe fixes, approval replay hardening, session recovery and gateway failover resilience; stays ADOPT

· Claude Code 2.1.283: exact model allow/deny controls, prompt-level gateway correlation, fail-closed sandbox parsing, Windows destructive-command protection and restart-safe cloud sessions; stays ADOPT