What changed
Claude Code 2.1.219 shipped on July 24, 2026, and centers on Claude Opus 5. The new model takes the default Opus slot, which brings fast-mode eligibility, the /model picker, and the claude-api skill’s defaults along with it. Agent orchestration also shifts: the default subagent spawn depth goes from 1 to 3, and dynamic workflows pick up a size guideline. On top of that come a sandbox network setting, a new hook, headless diagnostics, and fixes across model display, self-hosted runners, and terminal input.
New features
-
Claude Opus 5
Opus 4.8 held the default Opus slot. Claude Opus 5 (
claude-opus-5) is now available and is the default Opus model, with 1M context and fast mode at $10/$50 per Mtok. -
sandbox.network.strictAllowlistsettingA sandboxed command reaching a host outside the allowlist prompted every time, which stalled unattended runs. The new
sandbox.network.strictAllowlistsetting denies non-allowlisted hosts for sandboxed commands without prompting. -
DirectoryAddedhookThere was no way to react when a new working directory was registered partway through a session. The
DirectoryAddedhook now fires after/add-diror the SDKregister_repo_rootcontrol request registers a new working directory mid-session. -
mcp_server_errorsin the headless stream-json init eventWhen config validation skipped a
--mcp-configentry, headless runs gave no signal that a server was missing. The stream-json init event now carriesmcp_server_errorslisting the skipped entries, and terminal runs print a startup warning. -
workflowSizeGuidelinesettings keyThe advisory Dynamic workflow size guideline could only be set from
/config, which made it hard to distribute a value across a team. TheworkflowSizeGuidelinesettings key now lets it be set from any settings file; the/configrow is hidden while one does. -
Nested subagent forwarding in stream-json
With
--forward-subagent-textset, only top-level subagents showed up, so work done further down was invisible. Subagents spawned at depth-2+ now appear as well, keyed by their spawning Agenttool_useid.
Key improvements
-
Subagents spawn nested subagents up to depth 3
Subagents couldn’t spawn subagents of their own (depth 1), so multi-stage work was hard to delegate in one go. The default depth is now 3. Set
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1to disable nesting. -
Dynamic workflows default to a medium size guideline
With no size guidance, a dynamic workflow could fan out to far more agents than the task needed. Dynamic workflows now default to a medium size guideline (aim for fewer than 15 agents); pick another size or unrestricted with Dynamic workflow size in
/config. The running-workflow status line shows the current default size and points to/configfor changing it. -
Fast mode model lineup
Fast mode still covered Opus 4.7. Opus 4.7 has been removed from fast mode, so
/fastnow applies to Opus 5 and Opus 4.8. -
claude-api skill defaults to Claude Opus 5
The claude-api skill still pointed at the previous generation. It now defaults to Claude Opus 5, with a migration path from Opus 4.8.
-
/modelpicker highlights the newest modelThe picker’s highlight covered an arbitrary subset of the list, so it didn’t signal what was new. It now highlights only the newest model’s name, so the highlight marks the new release.
-
Managed MCP allowlist and denylist
${VAR}resolutionManaged MCP allowlist/denylist
${VAR}entries resolved from settings-file env, which left room for whoever could edit a settings file to change them. They now resolve from the startup environment and managed-settings env instead. -
Diagnostics when an MCP server fails to connect
A failed MCP connection gave little indication of why.
claude mcp listand/mcpnow show the HTTP status and error text when a server fails to connect, plus a warning for MCP config values with hidden leading or trailing whitespace. -
Structured failure categories for self-hosted runners
Self-hosted runner spawn and session failures were reported as one undifferentiated class. They now carry structured failure categories, so hook errors, runner crashes and config errors can be told apart.
-
Remote Control error names the setting behind it
“Remote Control is only available via api.anthropic.com” didn’t say which setting caused it. The error now names the specific setting.
-
claude --teleportreports repo mismatchesIt was hard to tell what was out of sync when your checkout didn’t match the session’s repo.
claude --teleportnow shows which repo your current checkout points at when it doesn’t match.
Key bug fixes
Model display
- The
/modelpicker showing the merged Opus row as plain “Opus” instead of “Opus (1M context)” — fixed. - The Fable model row showing “Requires usage credits” for plans that include it — fixed; a stale cache had baked the label in.
- Remote Control clients keeping a stale fast-mode status after a model switch, reconnect, or failed org check — fixed.
Sessions and self-hosted runners
claude -ptext output dropping the answer already produced when a turn dies on a mid-stream API error — fixed.- A permission you approved while a self-hosted runner was restarting being dropped when the session resumed — fixed, so the approved action now runs.
- A SIGTERM arriving while a self-hosted runner was starting up leaving a stale active row until the lease expired — fixed; it now deregisters cleanly.
Terminal and input
- Copy-on-select inside GNU screen printing base64 into the terminal instead of copying the selection — fixed.
- Vim mode: pressing ← on an empty prompt returning to the agent view only from INSERT mode — fixed; it now works from NORMAL mode too.
- Screen-reader mode rewriting the entire input line on every keystroke instead of echoing only the typed character — fixed.
CLAUDE_CODE_GIT_BASH_PATHon Windows exiting or being used as bash when the path isn’t a bash/sh binary — fixed; it’s now ignored with a warning.
Notes
- Claude Opus 5 is the default Opus model —
claude-opus-5supports 1M context, with fast mode at $10/$50 per Mtok. /fastapplies to Opus 5 and Opus 4.8 — Opus 4.7 has been removed from fast mode.- Nested subagents are on by default — the default spawn depth is 3; set
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1to disable nesting. - Dynamic workflows default to medium — aim for fewer than 15 agents, or pick another size or unrestricted with Dynamic workflow size in
/config. sandbox.network.strictAllowlistis opt-in — enable it in settings to deny non-allowlisted hosts for sandboxed commands without prompting.- Setting
workflowSizeGuidelinehides the/configrow — where the value is distributed through a settings file, the Dynamic workflow size row no longer appears in/config.