Skip to main content
Back to Home

What's New in Claude Code

Claude Code ships constantly, and the official release notes are written for people who already know what every line refers to. This page covers the changes worth knowing about and, for each one, what it changes about the way you work.

Covering releases through 2.1.316 · last reviewed · official changelog

Models & effort

Fast mode for Opus 4.8 is being retired

Models & effort

Fast mode for Opus 4.8 is deprecated as of October 30, 2026 and will be removed on November 30, 2026. After that date, a fast-mode request on Opus 4.8 returns an error instead of quietly falling back to standard Opus 4.8.

What it means: If you've leaned on Opus 4.8 fast mode for the speed, move to Opus 5.5 before the end of November -- it's the model that keeps that speedup. Switching now beats discovering the hard error after removal day.

Sonnet 5.5 cache reads got cheaper

Models & effort

Claude Code's /cost, the status line, --max-budget-usd and the SDK's cost figures now price Sonnet 5.5 cache reads at $0.10 per million tokens, down from $0.20.

What it means: If you track spend with /cost or a budget cap, expect reported Sonnet 5.5 costs to drop on sessions that lean on prompt caching. The lower rate applies automatically -- there is no setting to change.

Extending Claude Code

CLAUDE_CODE_SUBAGENT_EFFORT sets a default effort for subagents

Extending Claude Code

A new CLAUDE_CODE_SUBAGENT_EFFORT environment variable sets the effort level subagents run at when nothing else specifies one, instead of them inheriting the parent session's effort.

What it means: If you build with subagents and want them to run cheap and fast regardless of what effort the main session is using, this is one environment variable instead of setting effort on every agent call.

Working with subagents →

Permissions & safety

permissions.blockWritesOutsideWorkingDirectories locks edits to your project

Permissions & safety

A new permissions.blockWritesOutsideWorkingDirectories setting makes Write, Edit and NotebookEdit refuse any path outside your working directories, in every permission mode -- bypass permissions and auto mode included.

What it means: It's off by default, so nothing changes until you opt in. Turn it on if you want a hard floor under file edits that holds even in the permission modes that otherwise skip prompts.

Configuring permissions →

A new sandbox setting lets Linux commands create user namespaces

Permissions & safety

A new sandbox.allowNestedUserNamespaces setting lets sandboxed commands on Linux create their own user namespaces, which is what tools like Chromium and rootless podman need in order to run.

What it means: Turning it on is a real tradeoff, not a free unlock: the same mechanism also lets a sandboxed command get around the sandbox's file protections. Only enable it if you actually run Chromium-based tools or rootless podman through Claude Code, and go in knowing you're loosening the sandbox to do it.

Dangerous rm commands no longer stall unattended sessions

Permissions & safety

In bypass permissions mode in the Desktop app and VS Code, a dangerous rm or rmdir command used to still stop for a confirmation prompt. It is now denied immediately, with a hint for Claude to rewrite the command, instead of waiting on an answer nobody is there to give.

What it means: If you run bypass-permissions sessions unattended, they no longer hang indefinitely on a risky delete waiting for a prompt that will never be answered -- Claude gets steered toward a safer rewrite and keeps working. The safety check itself didn't get weaker, only the blocking confirmation step did.

Configuring permissions →

Hooks can now block on failure instead of failing open

Permissions & safety

A new onFailure: "block" setting for command and HTTP hooks makes a hook that can't start, times out, or exits with an unexpected code block the action it was checking, instead of letting it through.

What it means: If you write hooks to enforce rules -- blocking risky commands, requiring tests -- a broken or slow hook used to silently fail open. Add onFailure: 'block' to the hooks that matter so a hook outage closes the gate instead of opening it.

Writing hooks →

Everyday workflow

Idle compaction now also runs in VS Code and Claude Desktop

Everyday workflow

Idle compaction -- already automatic in the terminal -- now also runs in VS Code and Claude Desktop's Code tab: a conversation over roughly 200K tokens left idle gets summarized, and that summary is used on your next message once the prompt cache has lapsed.

What it means: If you work in VS Code or Desktop and step away from a long conversation, don't be alarmed to find it already compacted when you're back -- it's the same safeguard the terminal already had. Turn it off in /config if you'd rather compact manually.

Managing your context window →

ultrathink now reliably pushes a turn to xhigh effort

Everyday workflow

Typed in the interactive terminal, ultrathink now runs that turn at xhigh effort specifically on Opus 5.5, Sonnet 5.5, Haiku 5.5 and Fable 5.1 through Anthropic's API. Typed while Claude is already working, it raises the effort for the rest of that turn instead of only at the start.

What it means: If you've typed ultrathink mid-task before and weren't sure it did anything, it now visibly raises effort from that point forward -- a way to escalate a turn that's going in circles without restarting it. The rainbow highlight only shows where it can actually take effect.

Resuming an old conversation now warns about your 5-hour limit

Everyday workflow

On Pro and Max plans, resuming a conversation that has gone inactive now warns you first if doing so would use a noticeable share of your 5-hour usage limit, before you are committed to it.

What it means: You get a real choice at that point: resume anyway, or start a fresh conversation and ask Claude to look up the old one when you need something from it. Worth knowing if you habitually resume old sessions -- the cost of doing so used to be invisible until it hit.

sed -i now runs for real, and /rewind can't undo it

Everyday workflow

Claude Code used to show sed -i commands through a simulated file-edit preview, similar to the Edit tool. It now goes through the same approval as any other Bash command and runs exactly as written.

What it means: The practical change is that /rewind no longer undoes a sed -i edit, the same as it already couldn't undo other file changes made through Bash. If you lean on /rewind as a safety net, don't assume it covers edits made with sed -i.

Idle sessions now compact themselves before the cache expires

Everyday workflow

A terminal conversation over roughly 200K tokens that sits idle for about 54 minutes is now compacted automatically, just before its one-hour prompt cache would lapse. A new "Idle compaction" row in /config turns it off, and CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS changes the 200K-token minimum.

What it means: If you step away from a long session and come back later, don't be alarmed to find it already compacted -- that's this working as designed, and it saves you from reprocessing the whole history on your next message. If you'd rather keep full history until you run /compact yourself, turn it off in /config.

Managing your context window →

Forked subagents are now on by default outside the terminal too

Everyday workflow

Background subagents started with subagent_type: "fork" -- which inherit the parent session's full context instead of starting cold -- are now on by default in claude -p, the Agent SDK, the desktop app and VS Code, matching what the terminal already did.

What it means: If you script claude -p or build with the Agent SDK and relied on forked subagents being opt-in, they'll start running by default; set CLAUDE_CODE_FORK_SUBAGENT=0 if you need the old behavior back. claude mcp serve sessions still never get them.

Configuration

/auto-mode-setup teaches auto mode your project's conventions

Configuration

A new /auto-mode-setup command reads your project and recent sessions, then uses what it learns to tune how auto mode behaves in this project. It now also runs on Bedrock, Vertex, Foundry, the Claude apps gateway, and sessions with telemetry turned off.

What it means: If auto mode keeps asking you things it should already know -- your test command, which directories are safe to write to -- run /auto-mode-setup once instead of tuning permission rules by hand. It's a one-time setup step, not something that runs for you automatically.

Get this as it happens

We read the release notes so you don't have to, and send a short digest when something actually changes how you work. No release-note dumps.

Subscribe to Updates

New tutorials & tips weekly

No spam. Unsubscribe anytime.