↓ Skip to main content
  1. Articles/

Claude Code v2.1.316: Opus 4.8 Fast Mode Gets a Deadline, Subagents Get an Effort Dial

·1096 words·6 mins·
Florent Clairambault
Author
Florent Clairambault
CTO & software engineer — writing daily about spec-driven development and agentic coding

Version 2.1.316 landed on October 31. Per the official changelog, it has a handful of additions, six changes, five improvements and 34 bug fixes. I have not run it. Everything below is the changelog’s claim, not my measurement. The changelog page is over a million characters long and I read only the first 100K, which covered this release in full.

The one with a date: fast mode on Opus 4.8
#

The change that deserves a calendar entry:

Fast mode for Opus 4.8 is deprecated as of October 30, 2026 and will be removed on November 30, 2026. After removal, fast mode requests on Opus 4.8 return an error instead of falling back. Migrate to Opus 5.5 to keep the speedup.

Note the word error. A silent fallback to standard speed would be a performance regression you’d notice in a dashboard. A hard error is a broken script. If you have CI jobs, scheduled routines or wrapper scripts that pin Opus 4.8 and enable fast mode, you have until November 30 to move them. The changelog’s recommended path is Opus 5.5.

Practical checklist:

  • grep your repos and dotfiles for fast-mode settings combined with an Opus 4.8 model pin.
  • Check any managed settings pushed to your team for the same combination.
  • Test the Opus 5.5 migration on one pipeline first. A model change affects behaviour, not just speed, so treat it like any other dependency bump.

This is the normal lifecycle of a model: roughly a month’s notice here. It’s a good argument for not hard-pinning model names in places nobody reads.

Subagent effort, finally explicit
#

CLAUDE_CODE_SUBAGENT_EFFORT sets the effort level subagents run at “when nothing else specifies one.” That last clause matters: it’s a default, not an override. A subagent definition or an Agent-tool call that sets its own effort still wins.

Why care? Fan-out workflows multiply cost. If your orchestrator runs at high effort, you probably don’t want ten exploratory subagents doing file searches at the same level. Together with the earlier autoCompactWindow and CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL controls, you now have three dials for subagent spend: model, context window and effort. A sensible starting point is a lower subagent effort for read-only exploration, with your main session reserved for planning and review. I haven’t benchmarked that split, so measure it on your own repos.

A companion change: CLAUDE_CODE_DISABLE_ULTRATHINK turns off the ultrathink keyword. If you remember, v2.1.311 made ultrathink map to xhigh effort. Typing a magic word that raises cost is fine for one developer; for a team with budgets, being able to disable it is a sane guardrail. In VS Code, ultrathink now runs at xhigh and shows a rainbow in the chat box.

Apps gateway: pooled budgets and layered policy
#

For admins running the Claude apps gateway, three things stand out:

  • Pooled group budgets. A monthly budget shared by a group’s members, set with pooled_budget on the spend limits admin API. Per-user caps are blunt; a pool lets a heavy week for one engineer be absorbed by a light one for another.
  • managed.policy_mode: layered. Applies every matching policy, each merged over the ones below. Previously, as I read it, you had to think about which single policy matched; layering makes group-plus-org policy composition easier, but also makes it harder to reason about the effective result. Test with a user who belongs to several groups.
  • guardrail.input_tagging on Bedrock upstreams. Wraps prompts in the input tags Bedrock guardrail prompt-attack filters need. If you’ve turned on Bedrock guardrails and noticed the prompt-attack filter doing nothing useful, this is the likely reason and fix.

There’s also a bug fix worth flagging: the gateway wasn’t checking every requested model against availableModels, deniedModels and models. If you rely on deniedModels as a control, that is a policy-enforcement gap that is now closed. Upgrade, and re-verify your deny list with a request you expect to be rejected.

Security-relevant changes
#

Several items are quietly the most important in the release:

  • Server-managed settings for Team and Enterprise logins now apply without an approval prompt, and a stored copy that fails verification is refused. Less friction for legitimate admin policy, and a tamper check on the cached copy.
  • --restricted sessions were uploading files outside the working directories. That is exactly what the flag is supposed to prevent. Fixed.
  • PowerShell hooks didn’t block on exit code 2 in some command forms. A hook that is supposed to block but doesn’t is a fail-open bug. If you wrote policy hooks for Windows teams, upgrade and retest them.
  • Auto mode: an autoMode.allow list without "$defaults" no longer removes the built-in rule on scheduled-task prompts. So custom allow lists no longer accidentally strip a default protection for scheduled runs.
  • Leftover shell commands on macOS and Linux after Claude Code exits are fixed. Orphaned processes in agent sessions are an unglamorous but real source of resource leaks and surprises.

Smaller things
#

  • CLAUDE_CODE_DISABLE_LOOPED_CROSS_CERT_DROP keeps system cross-certificates that certify each other in a loop. Relevant mostly to corporate TLS-inspection setups.
  • SSL certificate errors now name likely causes, such as a missing intermediate certificate. Anyone who has debugged a proxy at 6pm will appreciate this.
  • /diff runs about one fewer full-repository git command per refresh on large repositories.
  • Clearer messages when no GitHub remote is found.
  • Code Review analytics gets a findings-by-severity card, and /code-review started from the Code tab or web shows the findings card.
  • Cloud sessions: a form card for MCP form requests, a “Catching up…” line when switching back, and Enterprise members can add and delete network secrets on their own environments.
  • Claude Tag: the Slack channel “Respond automatically” switch is replaced by a “How Claude participates” choice.
  • Prompts containing invisible characters no longer need a second Enter to send.

What I’d do this week
#

  1. Search for Opus 4.8 + fast mode pins and schedule the Opus 5.5 migration before November 30.
  2. Decide a default for CLAUDE_CODE_SUBAGENT_EFFORT and set it in managed settings if you run fan-out workflows.
  3. If you run the apps gateway, update it and verify deniedModels actually denies.
  4. Re-test any Windows PowerShell blocking hooks.

The take
#

Nothing here is flashy, and that’s the point. A deprecation with a real deadline, cost dials for the agent swarm, and a cluster of fail-open fixes: this is what a terminal-native agent looks like when organisations actually run it at scale. Compare that with an IDE wrapper where the “policy” is whatever the vendor’s settings page exposes. The caveat remains: this is a changelog read, not a test. Verify the behaviour in a sandbox before you rely on it.

Sources
#

AI Tools

Claude Code v2.1.314: Writes Outside Your Project Can Now Be Blocked in Every Mode

Claude Code v2.1.314 (Oct 30) adds permissions.blockWritesOutsideWorkingDirectories, which makes Write, Edit and NotebookEdit refuse paths outside the working directories in every permission mode, plus idle compaction in VS Code and Desktop for 200K+ token conversations. Changelog-only analysis; not run.

Oct 30, 2026 · 6 min read

AI Tools

Claude Code v2.1.311: A Signed Model Catalog, Ultrathink at xhigh, and 56 Fixes

Claude Code v2.1.311 (Oct 26) makes cloud-provider installs load model settings from a signed file on downloads.claude.ai, ties ultrathink to xhigh effort, and lands 56 bug fixes including a subagent worktree deleted under a running background agent. Changelog-only analysis; not run.

Oct 27, 2026 · 6 min read

AI Tools

Claude Code v2.1.312: Custom Deployment Names Get the Short Prompt, and a Safety Event Disappears

Claude Code v2.1.312 (Oct 27) switches unrecognized model names on Bedrock, Vertex, Foundry and Mantle to the shorter system prompt, caps prompt and agent hooks at 24 concurrent per session, and stops emitting the claude_code.safety_event OpenTelemetry event. Changelog-only analysis; not run.

Oct 29, 2026 · 5 min read

AI Tools

Claude Code v2.1.310: The Day-After Patch Fixes Gateways, Symlink Prompts and a Windows Hook Hole

Claude Code v2.1.310 follows the v2.1.309 hardening release one day later with gateway retry fixes, symlink targets in read prompts, a Windows hook fail-open fix, and custom Enterprise roles for cloud sessions. Changelog-only analysis; not run.

Oct 24, 2026 · 5 min read

AI Tools

Claude Code v2.1.309 Is a Sandbox and Permissions Hardening Release. Read It Like One.

Claude Code v2.1.309 ships roughly 60 changelog bullets, and the heart of it is closing gaps in the sandbox, Bash permission checks and worktree isolation guard. It also makes claude ultrareview require workspace trust and denies dangerous rm calls outright in bypass mode on Desktop and VS Code. Changelog-only analysis; not run.

Oct 23, 2026 · 6 min read