Skip to content

claude-code

v2.1.154 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Affected surfaces

rce_ssrf breaking_upgrade

Summary

AI summary

Opus 4.8 defaults to high effort and introduces dynamic workflows that orchestrate tens‑to‑hundreds of agents.

Changes in this release

Security Medium

Auto‑mode classifier improved detection of data exfiltration, especially bulk repository transfers

Auto‑mode classifier improved detection of data exfiltration, especially bulk repository transfers

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Feature Low

Lean system prompt becomes default for all models except Haiku, Sonnet, Opus 4.7 and earlier

Lean system prompt becomes default for all models except Haiku, Sonnet, Opus 4.7 and earlier

Source: llm_adapter@2026-05-28

Confidence: high

Feature Low

`! <command>` runs a shell command as a background session in claude agents

`! <command>` runs a shell command as a background session in claude agents

Source: llm_adapter@2026-05-28

Confidence: high

Feature Low

/logout now signs out instead of moving to a background session in claude agents

/logout now signs out instead of moving to a background session in claude agents

Source: llm_adapter@2026-05-28

Confidence: high

Feature Low

`←←` opens the agents view on Bedrock, Vertex, Foundry and with telemetry disabled

`←←` opens the agents view on Bedrock, Vertex, Foundry and with telemetry disabled

Source: llm_adapter@2026-05-28

Confidence: high

Feature Low

Plugins can declare `defaultEnabled: false` and must be enabled manually via /plugin or claude plugin enable

Plugins can declare `defaultEnabled: false` and must be enabled manually via /plugin or claude plugin enable

Source: llm_adapter@2026-05-28

Confidence: high

Feature Low

/plugin Discover tab now pins plugins relevant to the current directory with a “suggested for this directory” annotation

/plugin Discover tab now pins plugins relevant to the current directory with a “suggested for this directory” annotation

Source: llm_adapter@2026-05-28

Confidence: high

Feature Low

Streaming tool execution is always enabled, even when telemetry is disabled or on Bedrock/Vertex/Foundry

Streaming tool execution is always enabled, even when telemetry is disabled or on Bedrock/Vertex/Foundry

Source: llm_adapter@2026-05-28

Confidence: high

Feature Low

/simplify now performs a cleanup‑only review and applies fixes instead of full code‑review

/simplify now performs a cleanup‑only review and applies fixes instead of full code‑review

Source: llm_adapter@2026-05-28

Confidence: low

Feature Low

/chrome now lets users select which connected browser to use for browser actions

/chrome now lets users select which connected browser to use for browser actions

Source: llm_adapter@2026-05-28

Confidence: low

Feature Low

Fast mode now costs 2x standard rate for 2.5x speed on Opus 4.8

Fast mode now costs 2x standard rate for 2.5x speed on Opus 4.8

Source: llm_adapter@2026-05-28

Confidence: low

Feature Low

Opus 4.8 defaults to high effort mode ("xhigh") for hardest tasks

Opus 4.8 defaults to high effort mode ("xhigh") for hardest tasks

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Feature Low

Dynamic workflows allow Claude to orchestrate tens‑to‑hundreds of agents automatically

Dynamic workflows allow Claude to orchestrate tens‑to‑hundreds of agents automatically

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Feature Low

Claude now reserves multiple‑choice prompts only when it genuinely cannot decide itself

Claude now reserves multiple‑choice prompts only when it genuinely cannot decide itself

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Feature Low

/effort slider labels changed from "Speed"/"Intelligence" to "Faster"/"Smarter" for clarity

/effort slider labels changed from "Speed"/"Intelligence" to "Faster"/"Smarter" for clarity

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Feature Low

/chrome provides a selector to choose which connected browser to use for actions

/chrome provides a selector to choose which connected browser to use for actions

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix High

Fixed dangerous `rm -rf $HOME` command being unblocked when `HOME` ends with a trailing slash

Fixed dangerous `rm -rf $HOME` command being unblocked when `HOME` ends with a trailing slash

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix High

Fixed subagents in background sessions bypassing worktree‑isolation and writing to the shared checkout

Fixed subagents in background sessions bypassing worktree‑isolation and writing to the shared checkout

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Medium

Resolved inconsistency where `$TMPDIR` resolved to different directories in sandboxed vs. unsandboxed Bash commands within the same session

Resolved inconsistency where `$TMPDIR` resolved to different directories in sandboxed vs. unsandboxed Bash commands within the same session

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Medium

Corrected premature "out of context" behavior from background‑agent completion notifications on large‑context models

Corrected premature "out of context" behavior from background‑agent completion notifications on large‑context models

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Medium

Restored user goal preservation when a scheduled `/command` fires in background sessions

Restored user goal preservation when a scheduled `/command` fires in background sessions

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Medium

Ensured stuck background sessions retire after the idle grace period when blocked, running, or working

Ensured stuck background sessions retire after the idle grace period when blocked, running, or working

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Medium

Corrected `worktree.baseRef: "head"` to resolve to the current worktree’s HEAD when spawning subagents or calling EnterWorktree

Corrected `worktree.baseRef: "head"` to resolve to the current worktree’s HEAD when spawning subagents or calling EnterWorktree

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Low

Fixed unreadable highlighted‑row text in claude agents when theme mismatch occurs

Fixed unreadable highlighted‑row text in claude agents when theme mismatch occurs

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Low

Prevented pinned background sessions from respawning every minute after Claude Code updates, reducing notification churn

Prevented pinned background sessions from respawning every minute after Claude Code updates, reducing notification churn

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Low

Stopped orphaned `claude --bg-pty-host` processes from spinning at 100 % CPU after daemon exit on macOS

Stopped orphaned `claude --bg-pty-host` processes from spinning at 100 % CPU after daemon exit on macOS

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Low

Restored functionality of number‑key shortcuts for options below the divider in dialogs

Restored functionality of number‑key shortcuts for options below the divider in dialogs

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Low

Removed stray leading space on wrapped lines that end exactly at terminal width

Removed stray leading space on wrapped lines that end exactly at terminal width

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Low

Capped distinct spinner colors in VS Code to prevent intermittent rendering corruption

Capped distinct spinner colors in VS Code to prevent intermittent rendering corruption

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Low

Fixed plan filenames containing `[Image #N]` / `[Pasted text #N]` placeholders when prompts start with pasted media

Fixed plan filenames containing `[Image #N]` / `[Pasted text #N]` placeholders when prompts start with pasted media

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Bugfix Low

Eliminated phantom "ctrl+o to expand" hint on short ANSI‑colored tool output lines

Eliminated phantom "ctrl+o to expand" hint on short ANSI‑colored tool output lines

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Refactor Low

/simplify runs a cleanup‑only review (reuse, simplification, efficiency, altitude) and applies fixes

/simplify runs a cleanup‑only review (reuse, simplification, efficiency, altitude) and applies fixes

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Full changelog

What's changed

  • Opus 4.8 is here! Now defaults to high effort · /effort xhigh for your hardest tasks
  • Introducing dynamic workflows: ask Claude to create a workflow and it orchestrates work across tens to hundreds of agents in the background, so you can take on larger, more complex tasks. Run /workflows to view your runs
  • Fast mode on Opus 4.8 is now available at a fraction of its previous cost: 2x the standard rate for 2.5x the speed
  • The lean system prompt is now the default for all models except Haiku, Sonnet, and Opus 4.7 and earlier
  • Claude now reserves the multiple-choice question prompt for decisions it genuinely cannot make itself, instead of asking when it already has enough context to proceed
  • /simplify now runs a cleanup-only review (reuse, simplification, efficiency, altitude) and applies the fixes, instead of running the full /code-review --fix bug-hunting review
  • Renamed the /effort slider labels from "Speed"/"Intelligence" to "Faster"/"Smarter" for clarity
  • claude agents: type ! <command> to run a shell command as a background session you can attach to and detach from. Also available as claude --bg --exec '<command>'
  • claude agents: /logout now signs you out instead of being sent to a background session
  • ←← to open the agents view now works on Bedrock, Vertex, Foundry, and with telemetry disabled
  • Claude in Chrome: pick which connected browser to use via /chrome → "Select browser…", or in-chat when a browser action runs with multiple connected
  • Plugins can now declare defaultEnabled: false in plugin.json or a marketplace entry; enable them with /plugin or claude plugin enable. Dependencies of enabled plugins are still enabled automatically
  • The /plugin Discover tab now pins plugins whose relevance signals match the current directory with a "suggested for this directory" annotation
  • Streaming tool execution is now always enabled, including when telemetry is disabled or on Bedrock/Vertex/Foundry (previously behind a feature flag)
  • Stdio MCP server subprocesses now receive CLAUDE_CODE_SESSION_ID and CLAUDECODE=1 in their environment
  • claude mcp list/get now show unapproved .mcp.json servers as ⏸ Pending approval instead of auto-approving and connecting when output is piped
  • /remote-control autocomplete now shows "Disconnect Remote Control" when Remote Control is already active
  • Added Claude Opus 4.8 support and 4.7 → 4.8 migration guidance to the /claude-api skill
  • Deprecated CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE (will be removed on 06/01). To use fast mode on Opus 4.6, switch with /model claude-opus-4-6[1m] and then /fast on
  • Improved the auto-mode classifier's detection of data exfiltration, particularly bulk transfers of repository contents
  • Fixed rm -rf $HOME not being blocked as a dangerous path when HOME has a trailing slash
  • Fixed $TMPDIR resolving to different directories in sandboxed vs unsandboxed Bash commands within the same session
  • Fixed unreadable highlighted-row text in claude agents when the Claude Code theme doesn't match the terminal background
  • Fixed background-agent completion notifications triggering premature "out of context" behavior on some 1M-context models
  • Fixed background-session classifier losing the user's goal when a scheduled /command fires
  • Fixed pinned background sessions respawning every minute after a Claude Code update, causing repeated agent-start notifications and process churn at idle
  • Fixed background sessions stuck at "blocked", "running", or "working" not retiring after the idle grace period
  • Fixed subagents in background sessions bypassing the worktree-isolation guard and writing to the shared checkout
  • Fixed orphaned claude --bg-pty-host processes spinning at 100% CPU after the daemon exits on macOS
  • Fixed number key shortcuts not working for options shown below the divider in option dialogs
  • Fixed worktree.baseRef: "head" resolving to the main checkout's HEAD instead of the current worktree's HEAD when spawning subagents or calling EnterWorktree from inside a linked worktree
  • Fixed a stray leading space on wrapped lines when the previous line ended exactly at the terminal width
  • Fixed intermittent terminal rendering corruption in VS Code by capping the number of distinct colors the thinking spinner produces
  • Fixed plan file names including [Image #N] / [Pasted text #N] placeholders when a plan-mode prompt starts with pasted images or text
  • Fixed a phantom expand/click affordance on colored tool output: short ANSI-colored lines that fit on screen no longer show a "ctrl+o to expand" hint
  • Fixed a single invalid allowedMcpServers/deniedMcpServers entry in managed settings discarding all managed-settings policy; the bad entry is now dropped with a claude doctor warning
  • Fixed API 400 errors on models that don't support the effort parameter when CLAUDE_CODE_ALWAYS_ENABLE_EFFORT is set
  • Windows: Fixed update failures caused by claude.exe being in use showing a generic error instead of telling you to close other sessions and retry
  • Removed the stale "& for background" hint from the shortcuts help panel
  • [VSCode] Auto mode no longer requires the bypass-permissions setting to appear in the mode picker, and a dismissable notice on the new-session screen explains auto mode the first time it's active
  • Fixed the task panel below the prompt showing a stray unselectable "main" row when only a workflow is running
  • Fixed /mcp tools list and tool detail rendering when MCP servers have long or multi-line tool names or long descriptions
  • Fixed the /model picker not showing fast mode pricing on the Default option for API (pay-as-you-go) users when fast mode is on
  • Fixed auto mode incorrectly blocking actions with "could not evaluate this action" when the safety classifier ran out of output tokens while reasoning

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track claude-code

Get notified when new releases ship.

Sign up free

About claude-code

All releases →

Related context

Earlier breaking changes

  • v2.1.160 Renames dynamic‑workflow trigger keyword from `workflow` to `ultracode`; `workflow` no longer triggers a run
  • v2.1.160 Deprecates and removes the `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` environment variable; it is now a no‑op
  • v2.1.147 Renames /simplify to /code-review; removes cleanup-and-fix behavior.

Beta — feedback welcome: [email protected]