This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Affected surfaces
Summary
AI summaryOpus 4.8 defaults to high effort and introduces dynamic workflows that orchestrate tens‑to‑hundreds of agents.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| 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
/workflowsto 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
/simplifynow runs a cleanup-only review (reuse, simplification, efficiency, altitude) and applies the fixes, instead of running the full/code-review --fixbug-hunting review- Renamed the
/effortslider 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 asclaude --bg --exec '<command>'claude agents:/logoutnow 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: falseinplugin.jsonor a marketplace entry; enable them with/pluginorclaude plugin enable. Dependencies of enabled plugins are still enabled automatically - The
/pluginDiscover 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_IDandCLAUDECODE=1in their environment claude mcp list/getnow show unapproved.mcp.jsonservers as⏸ Pending approvalinstead of auto-approving and connecting when output is piped/remote-controlautocomplete 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-apiskill - 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 $HOMEnot being blocked as a dangerous path whenHOMEhas a trailing slash - Fixed
$TMPDIRresolving to different directories in sandboxed vs unsandboxed Bash commands within the same session - Fixed unreadable highlighted-row text in
claude agentswhen 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
/commandfires - 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-hostprocesses 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 callingEnterWorktreefrom 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/deniedMcpServersentry in managed settings discarding all managed-settings policy; the bad entry is now dropped with aclaude doctorwarning - Fixed API 400 errors on models that don't support the effort parameter when
CLAUDE_CODE_ALWAYS_ENABLE_EFFORTis set - Windows: Fixed update failures caused by
claude.exebeing 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
About claude-code
All releases →Related context
Related tools
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]