On this page · 4 sections
TL;DR
Claude Code 2.1.316 and 2.1.314 add gateway budget, policy and write-blocking options, change how hooks, shell tools and model fallback behave, and deprecate fast mode on Opus 4.8, which is removed on November 30, 2026. Teams using fast mode on Opus 4.8, gateway administrators, and anyone with hooks, Bash aliases or managed settings should read the changes below before updating.
| Change | Who is affected | Action |
|---|---|---|
| Fast mode on Opus 4.8 (2.1.316) | Users who request fast mode on Opus 4.8 | Deprecation: move to Opus 5.5 before November 30, 2026 to keep the speedup. |
| Pooled group budgets (2.1.316) | Claude apps gateway administrators | New: set pooled_budget on the spend limits admin API to add a budget that group members share. |
| managed.policy_mode: layered (2.1.316) | Gateway administrators with several matching policies | New: review policy order, since each matching policy merges over the ones listed below it. |
| guardrail.input_tagging (2.1.316) | Bedrock upstream users with a prompt attacks filter | New: enable it; use all_messages_and_system to also tag the system prompt. |
| Server-managed settings for Team and Enterprise (2.1.316) | Team and Enterprise logins | Changed: expect fetched settings to apply without an approval prompt; check that stored copies verify. |
| autoMode.allow without "$defaults" (2.1.316) | Administrators with a managed autoMode.allow list | Bug fix: confirm that the list contains "$defaults" if you need the built-in exceptions. |
| permissions.blockWritesOutsideWorkingDirectories (2.1.314) | Teams that want writes confined to working directories | New: set this key to make Write, Edit and NotebookEdit refuse paths outside working directories. |
| Groups list and guardrail_trace on gateway upstreams (2.1.314) | Claude apps gateway administrators | New: add a groups list to restrict an upstream; enable guardrail_trace on Bedrock upstreams for filter logs. |
| Idle compaction (2.1.314) | VS Code and Claude Desktop Code tab users | New: expect idle 200K+ token conversations to be summarized. |
| Hook if conditions for Monitor commands (2.1.314) | Users with hooks that use if conditions | Changed: write Monitor(...) patterns to match Monitor's shell commands. |
| FORCE_HYPERLINK=false (2.1.314) | Users who set FORCE_HYPERLINK | Changed: confirm the value you set, since false now turns hyperlinks off. |
| Bash tool which alias and function (2.1.314) | Users who rely on an inherited which alias or function | Changed: run which from the Bash tool to confirm it resolves to the system command or zsh builtin. |
| Flagged request retries (2.1.314) | Users with ANTHROPIC_DEFAULT_OPUS_MODEL, availableModels or deniedModels | Changed: check whether only an older Opus model, or none, remains in those settings. |
Version 2.1.316: Opus 4.8 Fast Mode Deprecation #
Opus 4.8 Fast Mode Stops Falling Back After Removal #
The v2.1.316 release notes mark fast mode for Opus 4.8 as deprecated as of October 30, 2026, and removed on November 30, 2026. Once removed, a fast mode request on Opus 4.8 fails with an error instead of running on standard Opus 4.8. Teams that depend on the speedup need a plan to move those requests before that date, and the notes name Opus 5.5 as the model that keeps it.
will be removed on November 30, 2026
The same notes fix Sonnet, Opus and Haiku on Vertex AI and Amazon Bedrock so that they switch to an older model when the newest is not yet available, instead of showing an error mid-session. That fix concerns availability of the newest model. The fast mode removal is a separate deprecation, so the two should be checked separately in deployments that use both.
Claude Apps Gateway Budgets, Policies and Input Tagging #
Pooled group budgets add one monthly budget that a group's members share, on top of each member's own limit. It is set with pooled_budget on the spend limits admin API. The notes name that key but do not show the value format for pooled_budget, so confirm it in the admin API before scripting the change.
managed.policy_mode: layered changes how policies combine. Every policy that matches a developer applies, with each one merged over the policies listed below it, not only the first match. Gateway administrators should review the order of their policy list, since that order now decides how the merge resolves.
guardrail.input_tagging wraps prompts in the input tags that an Amazon Bedrock guardrail's prompt attacks filter needs, and all_messages_and_system also tags the system prompt. The same notes fix the gateway to check every model a request names against availableModels, deniedModels and models. A request that names a blocked model now receives a 400 that names the field, which connects to the model-list settings in the 2.1.314 changes below.
Server-Managed Settings Apply Without an Approval Prompt #
For Team and Enterprise logins, v2.1.316 changes server-managed settings so that settings fetched from Anthropic's API apply without an approval prompt. A stored copy that does not verify is refused. Administrators who used the approval step as a review point should check the stored copies on managed machines, because a copy that fails verification will not be applied.
Bash Tool Shell Fixes in 2.1.316 #
Several fixes affect how the Bash tool runs commands. Bash aliases with line breaks in their value, and functions whose names start with a dash, were garbled or lost in the Bash tool's shell, except in Git Bash. Bash scripts started from the Bash tool stopped after their first command when SHELLOPTS was exported. Shell commands are also no longer left running on macOS and Linux when Claude Code exits by itself. Check any alias with a line break and any script that exports SHELLOPTS.
New Environment Variables for Effort, Ultrathink and Certificates #
CLAUDE_CODE_SUBAGENT_EFFORT sets the effort level that subagents run at when nothing else names one, instead of inheriting the session's level. CLAUDE_CODE_DISABLE_ULTRATHINK turns off the ultrathink keyword. CLAUDE_CODE_DISABLE_LOOPED_CROSS_CERT_DROP keeps system cross-certificates that certify each other in a loop, for servers whose private CA needs one. Teams that need subagent effort to differ from the session's should look at the first variable, and teams with a private CA that needs the loop-certificate behavior should look at the third.
Also in this release #
The complete list is in the v2.1.316 release notes.
- Hooks and networking: PowerShell hooks now block on exit code 2 when the command begins with a type cast, param, using or an attribute; requests no longer hang after a compressed response is cut off or corrupted.
- Sign-in and uploads: claude auth login runs in a terminal under managed settings that require a gateway; --restricted sessions no longer upload files outside working directories covered by a Read allow rule.
- Auto mode and output: cloud sessions and scheduled tasks are marked failed when auto mode stops a turn with no safety verdict; claude -p text output states why auto mode stopped; CLAUDE_CODE_AUTO_MODE_SERVER=1 is honored behind a proxy.
- Plugins, SDK and subagents: plugin MCP headersHelper scripts receive correct CLAUDE_PLUGIN_ROOT and server URL values; register_repo_root loads CLAUDE.md outside the working directory; subagents stay on their model when woken.
- Tools and search: the Artifact tool shows database access rules correctly; Grep and Glob return when a killed search does not exit on Windows.
- Prompts and models: invisible characters no longer need a second Enter; /model warns about unrecognized IDs; the hold-space hint stops using up its showings.
- Sessions and setup: a resumed conversation restores its plan after /clear or /resume during saving; first-run setup text is no longer dropped in narrow terminals; the Enterprise survey card needs Enter after 1 or 0.
- Self-hosted runner: a message sent while Claude works is no longer answered after a Stop; MCP on/off switches survive a move to a new machine.
- Windows: Git Bash keeps aliases and functions when the rc file sets errexit and pipefail.
- Improved: /code-review shows a findings card in the Code tab and on the web; /diff runs fewer git commands on large repositories; SSL errors name likely causes and fixes; /ultrareview messages explain how to create a repository.
- VS Code: sign-in to a gateway from the chat panel; ultrathink runs at xhigh effort; the Effort slider appears with the [1m] tag; /btw history survives settings errors.
- Cloud sessions, Claude Tag and Code Review: a form card for MCP requests; a "Catching up…" line; Enterprise members manage network secrets; Slack Connect replies are routed; a findings-by-severity card in Code Review analytics.
Version 2.1.314: Write, Edit and NotebookEdit Blocked Outside Working Directories #
Write, Edit and NotebookEdit Outside Working Directories #
The v2.1.314 release notes add permissions.blockWritesOutsideWorkingDirectories, under which Write, Edit and NotebookEdit refuse paths outside the working directories in every permission mode. Because the notes say "every permission mode", the setting is not limited to one mode, so teams that want writes confined should set it deliberately. The same release changes file tools to ask before editing the local copy of your organization's server-managed settings, as they already do for your settings files.
Hook If Conditions and the Bash Tool Shell #
Hook if conditions now match the Monitor tool's shell commands in the same way Bash conditions match Bash commands. An if condition such as Monitor(tail *) matches Monitor's commands as Bash(tail *) matches Bash's. Hooks that match Bash also now run on shell commands that the Monitor tool starts, but such hooks can block or ask and cannot approve or rewrite those commands. Review hook if conditions that should cover Monitor output.
The Bash tool's shell also changed. It now clears any inherited which alias or function and no longer passes exported which or unsetenv functions to commands, so which resolves to the system command or the zsh builtin. Scripts that depended on an inherited which function should be changed to call the system command instead.
Model Fallback for Flagged Requests #
Flagged requests now retry on another model instead of ending in a refusal when ANTHROPIC_DEFAULT_OPUS_MODEL, availableModels or deniedModels leaves only an older Opus model, or none. The same notes fix Microsoft Foundry sessions that failed when the resource had no deployment for the default Sonnet, Opus or Haiku model, which now fall back to an older model of that family. Both changes concern model fallback, and they sit alongside the 2.1.316 gateway model check described above.
Gateway Groups and Guardrail Tracing #
Claude apps gateway upstreams accept an optional groups list, so only developers in the listed IdP groups are sent to that upstream, including on failover. guardrail_trace on Bedrock upstreams logs which Amazon Bedrock guardrail filter fired on a request, without the matched text. Administrators using guardrail_trace together with guardrail.input_tagging from 2.1.316 can review both Bedrock settings in one pass.
Idle Compaction in VS Code and Claude Desktop #
Idle compaction was added to the Code tab in VS Code and Claude Desktop. A conversation of 200K+ tokens left idle is summarized, and that summary is used on your next message if the prompt cache has expired. Later in the same notes, idle compaction also runs for subscribers with telemetry turned off, and on Bedrock, Vertex, Foundry and LLM gateways once the one-hour prompt cache is on.
Hyperlinks, git grep and Workspace Trust Checks #
FORCE_HYPERLINK=false, along with no and off, now turns hyperlinks off instead of on. Most git grep commands that Claude runs on macOS now use the C locale, to avoid a reported memory leak in macOS's regex library on files that are not valid UTF-8. /ultrareview now checks workspace trust before it runs git, as claude ultrareview does.
Also in this release #
The complete list is in the v2.1.314 release notes.
- Bedrock, Vertex and Foundry: image-heavy sessions compact by removing older images; a Vertex upstream no longer hangs on a silent token endpoint; dotted model IDs behind a gateway get the right settings; refused beta headers are retried without them.
- Sign-in and MCP: MCP servers that work signed out are no longer shown as needing authentication; mcp logout reports failure when sign-in is not removed; /upgrade explains where to change App Store or Google Play plans.
- Managed settings and trust: TLS trust settings apply in Claude Desktop sessions; the model upgrade offer no longer repeats when managed settings pin the model; forceRemoteSettingsRefresh holds after the stored copy expires; the sandbox.excludedCommands description is corrected.
- Auto mode and sandbox: a call with no safety verdict is no longer reported as blocked; sandbox protections apply to worktrees entered by claude -p --resume or --continue; /permissions refuses to approve a call that cannot be read in full.
- Output and sessions: claude -p exits 1 when startup fails; PreCompact hook output is cut at 10,000 characters; the /resume picker and session titles handle CLAUDE.md text and slash-only sessions; /rename persists during permission prompts.
- Remote Control and cloud: registration retries with growing waits; model switches over Remote Control show the final result after 8 seconds; WebFetch in Cowork reports unread PDF text; a declined command after Esc notes that it may have run.
- Self-hosted runner: an idle session pauses instead of moving when the pause request loses its connection.
- Editor and display: vim mode dw, dW, yw, yW, p, aw and iw behave correctly; markdown tables stop switching layouts while streaming; the fullscreen header shows the subagent's model; ⎿ rows no longer add a blank line.
- Memory, disk and performance: parent sessions release subagent tool results during long headless turns; ~/.claude/skills/.trash and ~/.claude/plugins/.trash hold about 1024 entries; background diffs no longer take the index lock; /context and --resume are faster in large setups.
- Prompt and input: Ctrl+R matches text inside [Pasted text] pills; /permissions review is now called Recently blocked; permission prompts take fewer rows for long reasons; session auto-titles come from skills and prompt-based commands.
- Skills and settings: /design-sync shows the folder and files it will change; claude-api sends dd-llmobs-enabled: true; CLAUDE_CODE_DISABLE_CFC_PROMPT no longer adds Claude in Chrome instructions to messages; hook matching is corrected for CRLF files.
- VS Code: Stop and spinner work during queued hooks; session group save errors are shown; Ctrl+D dictation works under non-Latin layouts; missed one-time scheduled tasks are no longer deleted silently.
- Cloud sessions, Claude Tag and Remote Control: an Include completed button; environments appear in recent lists; Slack Connect threads answer tags; a wait notice appears while a self-hosted runner is busy; the permission mode button reflects the real mode.
Upgrade checklist #
- Before upgrading, find every use of fast mode on Opus 4.8 and plan the move to Opus 5.5 before November 30, 2026, since those requests return an error after removal.
- Before upgrading, review hook if conditions that match Bash or Monitor commands, and check any FORCE_HYPERLINK value that is set to false.
- Before upgrading, check ANTHROPIC_DEFAULT_OPUS_MODEL, availableModels and deniedModels to see whether only an older Opus model remains.
- Update Claude Code to 2.1.316 for the gateway, managed settings and Bash tool fixes, or to 2.1.314 for the write-block, hook and fallback changes; each version's notes list only its own changes.
- After upgrading, set permissions.blockWritesOutsideWorkingDirectories if you want Write, Edit and NotebookEdit refused outside working directories.
- After upgrading, set pooled_budget on the spend limits admin API and guardrail.input_tagging on Bedrock upstreams where you need them.
- After upgrading, run which from the Bash tool to confirm that it resolves to the system command or zsh builtin.
Sources
- Release v2.1.316 · anthropics/claude-code · GitHub github.com · Oct 31, 2026
- Release v2.1.314 · anthropics/claude-code · GitHub github.com · Oct 30, 2026
Edited and approved by Jarosław Krzemiński. Spotted a mistake? Report a correction or read the corrections policy.




Comments