Skip to content

claude-code

v2.1.162 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

auth rbac

ReleasePort's take

Light signal
editorial:auto 5h

The release adds a `waitingFor` field to `claude agents --json` output and clarifies that `/effort` persists its level for new sessions.

Why it matters: Developers can now diagnose agent stalls via the waiting reason, and users receive explicit confirmation of effort‑level persistence across sessions.

Summary

AI summary

Renamed Windsurf to Devin Desktop, added waitingFor field, clarified /effort persistence, improved slash‑command handling, and fixed multiple UI/permission bugs.

Changes in this release

Feature Low

`claude agents --json` includes `waitingFor` field showing block reason.

`claude agents --json` includes `waitingFor` field showing block reason.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Low

Explicitly listing Grep/Glob in `--tools` now enables dedicated search tools on native builds.

Explicitly listing Grep/Glob in `--tools` now enables dedicated search tools on native builds.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Low

`/effort` command confirms when chosen level persists as default for new sessions.

`/effort` command confirms when chosen level persists as default for new sessions.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Low

Clicking a slash command in autocomplete fills it into prompt instead of running immediately; press Enter to run.

Clicking a slash command in autocomplete fills it into prompt instead of running immediately; press Enter to run.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Low

Remote Control appears as persistent footer pill with session link rather than startup message.

Remote Control appears as persistent footer pill with session link rather than startup message.

Source: llm_adapter@2026-06-03

Confidence: high

Performance Low

Improved background service startup and `claude update` verification to wait out endpoint‑security scanning of new binaries.

Improved background service startup and `claude update` verification to wait out endpoint‑security scanning of new binaries.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Medium

Fixed silent startup hang when config directory is read‑only; starts with in‑memory config and surfaces errors.

Fixed silent startup hang when config directory is read‑only; starts with in‑memory config and surfaces errors.

Source: llm_adapter@2026-06-03

Confidence: high

Bugfix Medium

WebFetch permission rules now apply to built‑in preapproved domains; explicit deny/ask/allow overrides auto‑allow.

WebFetch permission rules now apply to built‑in preapproved domains; explicit deny/ask/allow overrides auto‑allow.

Source: llm_adapter@2026-06-03

Confidence: high

Bugfix Medium

Windows permission rules now match backslashes and case‑variant paths; Read deny rules hide files from Glob/Grep.

Windows permission rules now match backslashes and case‑variant paths; Read deny rules hide files from Glob/Grep.

Source: llm_adapter@2026-06-03

Confidence: high

Bugfix Medium

Interrupt (Esc) at turn start no longer silently dropped; provides "Interrupted" feedback in stream‑json/SDK sessions.

Interrupt (Esc) at turn start no longer silently dropped; provides "Interrupted" feedback in stream‑json/SDK sessions.

Source: llm_adapter@2026-06-03

Confidence: high

Bugfix Low

Fixed API 400 `no low surrogate in string` errors for classifier side-queries and MCP descriptions with emoji near truncation boundaries.

Fixed API 400 `no low surrogate in string` errors for classifier side-queries and MCP descriptions with emoji near truncation boundaries.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

MCP per-server `timeout` values below 1000 ms are now ignored instead of being floored to 1 second; `claude mcp get` annotates them.

MCP per-server `timeout` values below 1000 ms are now ignored instead of being floored to 1 second; `claude mcp get` annotates them.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

LSP tool's `workspaceSymbol` operation now accepts a `query` parameter and passes it to the language server.

LSP tool's `workspaceSymbol` operation now accepts a `query` parameter and passes it to the language server.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

'claude agents' no longer cuts live status text at 60‑120 columns; uses full terminal width.

'claude agents' no longer cuts live status text at 60‑120 columns; uses full terminal width.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

'claude agents' no longer truncates long session names at 40 columns; name column grows with terminal width.

'claude agents' no longer truncates long session names at 40 columns; name column grows with terminal width.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

Fixed `claude agents` attach bouncing back to session list after background‑service restart.

Fixed `claude agents` attach bouncing back to session list after background‑service restart.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

Ctrl+V image paste now shows a hint when no image is pasted in dispatch input and reply box.

Ctrl+V image paste now shows a hint when no image is pasted in dispatch input and reply box.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

Backgrounding a session no longer loses conversation if background service cannot start; remains as failed row.

Backgrounding a session no longer loses conversation if background service cannot start; remains as failed row.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

Failed turns in agents view are now queued and delivered on next session start instead of being lost.

Failed turns in agents view are now queued and delivered on next session start instead of being lost.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

Fixed cross‑session messaging (`SendMessage`) breaking when `CLAUDE_CODE_TMPDIR` or `$TMPDIR` points to deep directories.

Fixed cross‑session messaging (`SendMessage`) breaking when `CLAUDE_CODE_TMPDIR` or `$TMPDIR` points to deep directories.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

Opening a running background session no longer stalls for 5 seconds before attaching.

Opening a running background session no longer stalls for 5 seconds before attaching.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Bugfix Low

Background dispatch spawn failures now report error class name when no errno is available.

Background dispatch spawn failures now report error class name when no errno is available.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Refactor Low

Renamed Windsurf to Devin Desktop in /ide menu, /terminal-setup, and /scroll-speed.

Renamed Windsurf to Devin Desktop in /ide menu, /terminal-setup, and /scroll-speed.

Source: llm_adapter@2026-06-03

Confidence: high

Refactor Low

Startup notices now group by severity; session info and announcements share a single line per launch (quieter startup).

Startup notices now group by severity; session info and announcements share a single line per launch (quieter startup).

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Refactor Low

Launch‑prompt warnings (deep link/pre‑filled prompt) stay pinned below input until acted upon.

Launch‑prompt warnings (deep link/pre‑filled prompt) stay pinned below input until acted upon.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Refactor Low

Failed turns now show a compact warning line instead of multi‑line red error block.

Failed turns now show a compact warning line instead of multi‑line red error block.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Refactor Low

Removed "Claude in Chrome enabled" and "marketplace installed" startup messages; model auto‑updates and onboarding tip shown as quiet notices under logo.

Removed "Claude in Chrome enabled" and "marketplace installed" startup messages; model auto‑updates and onboarding tip shown as quiet notices under logo.

Source: granite4.1:30b@2026-06-03-audit

Confidence: low

Full changelog

What's changed

  • claude agents --json now includes waitingFor showing what a waiting session is blocked on (e.g. permission prompt)
  • --tools: explicitly listing Grep/Glob now provides the dedicated search tools on native builds with embedded search (previously these names were silently ignored)
  • /effort now confirms when your chosen level will persist as the default for new sessions
  • Clicking a slash command in the autocomplete menu now fills it into your prompt instead of running it immediately; press Enter to run
  • Remote Control now shows as a persistent footer pill (with a link to the session) instead of a startup message
  • Renamed Windsurf to Devin Desktop in the /ide menu, /terminal-setup, and /scroll-speed, following the editor's rebrand
  • Fixed a silent startup hang when the config directory is read-only or unwritable — Claude Code now starts with in-memory config and surfaces startup errors instead of showing a blank screen
  • Fixed WebFetch permission rules not being applied to built-in preapproved domains; explicit WebFetch(domain:...) deny/ask/allow rules now take precedence over the preapproved-host auto-allow
  • Fixed Windows permission rules never matching when spelled with backslashes (~\, \\server\share) or case-variant paths, and Read deny rules not hiding files from Glob/Grep results
  • Fixed an interrupt (Esc) sent at the very start of a turn being silently dropped in stream-json/SDK sessions, leaving the turn running with no "Interrupted" feedback
  • Fixed API 400 no low surrogate in string errors for classifier side-queries and MCP server descriptions containing emoji near a truncation boundary
  • Fixed MCP per-server timeout config values below 1000 ms being floored to a 1-second watchdog that aborted every tool call; sub-1000 ms values are now ignored (falling back to MCP_TOOL_TIMEOUT or default), and claude mcp get annotates them accordingly
  • Fixed the LSP tool's workspaceSymbol operation returning no results; it now accepts a query parameter and passes it to the language server
  • Fixed claude agents cutting live status text (tool args, replies, prompts, exec output) at 60–120 columns on wide terminals; the status detail now uses the full terminal width
  • Fixed claude agents truncating long session names at 40 columns; the name column now grows with terminal width
  • Fixed claude agents attach occasionally bouncing straight back to the session list on the first try after a background-service restart
  • Fixed claude agents Ctrl+V image paste doing nothing in the dispatch input and the session reply box; pasting with no image now shows a hint
  • Fixed backgrounding a session with ← silently losing the conversation when the background service cannot start; the session stays in the list as a failed row you can wake with Enter
  • Fixed replies from the agents view that fail to send being lost; they are now queued for delivery on the next session start
  • Fixed cross-session messaging (SendMessage) silently breaking when CLAUDE_CODE_TMPDIR or $TMPDIR points at a deep directory
  • Fixed opening a running background session from claude agents stalling for 5 seconds before attaching
  • Quieter startup: notices group by severity, and session info and announcements share a single line per launch
  • Startup warnings rewritten to be shorter and clearer, each with a concrete fix
  • Launch-prompt warnings (deep link/pre-filled prompt) now stay pinned below the input until you act instead of scrolling away
  • Failed turns now show a compact warning line instead of a multi-line red error block
  • Improved background service startup and claude update verification to wait out endpoint-security scanning of new binaries instead of failing after 5 seconds
  • Background dispatch spawn failures now report the error class name when no errno is available
  • Removed the "Claude in Chrome enabled" and "marketplace installed" startup messages; model auto-updates and the team-onboarding tip now show as quiet notices under the logo

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]