This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Affected surfaces
ReleasePort's take
Light signalClaude Code v2.1.163 adds version‑range enforcement for Claude Code startup and introduces a `/plugin list` CLI command with filter options.
Why it matters: The new requiredMinimumVersion/requiredMaximumVersion settings let operators lock the Claude Code runtime to a specific version range, preventing unexpected upgrades or downgrades; the `/plugin list --enabled/--disabled` filters simplify plugin inventory management.
Summary
AI summaryAdded version‑range enforcement, plugin listing command, markdown copy shortcut, and several bug fixes.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds requiredMinimumVersion and requiredMaximumVersion managed settings to control Claude Code startup version range Adds requiredMinimumVersion and requiredMaximumVersion managed settings to control Claude Code startup version range Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Feature | Low |
Adds `/plugin list` command with `--enabled`/`--disabled` filters to list installed plugins Adds `/plugin list` command with `--enabled`/`--disabled` filters to list installed plugins Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Feature | Low |
Adds "c to copy" shortcut in `/btw` to copy raw markdown answer to clipboard Adds "c to copy" shortcut in `/btw` to copy raw markdown answer to clipboard Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Feature | Low |
Allows Hooks (Stop, SubagentStop) to return `hookSpecificOutput.additionalContext` for feedback without error labeling Allows Hooks (Stop, SubagentStop) to return `hookSpecificOutput.additionalContext` for feedback without error labeling Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Feature | Low |
Adds `\$` escape syntax in Skills to include literal `$` before a digit in command bodies Adds `\$` escape syntax in Skills to include literal `$` before a digit in command bodies Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Feature | Low |
stdio MCP servers now receive the same `CLAUDE_CODE_SESSION_ID` as hooks/Bash on `--resume` stdio MCP servers now receive the same `CLAUDE_CODE_SESSION_ID` as hooks/Bash on `--resume` Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Feature | Low |
Background agent sessions now update to a new Claude Code version in the background, avoiding cold restarts when reopening sessions after an update Background agent sessions now update to a new Claude Code version in the background, avoiding cold restarts when reopening sessions after an update Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Feature | Low |
Provides clearer descriptions for built‑in commands and skills in the / menu Provides clearer descriptions for built‑in commands and skills in the / menu Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Feature | Low |
Shows subscription‑switch suggestion in the startup announcement slot instead of a toast notification Shows subscription‑switch suggestion in the startup announcement slot instead of a toast notification Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Feature | Low |
`claude agents` dispatching from the state‑grouped view now starts sessions in the directory where the agent view was opened `claude agents` dispatching from the state‑grouped view now starts sessions in the directory where the agent view was opened Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Bugfix | Medium |
Fixes `claude -p` hanging forever after final result when backgrounded command never exits by stopping shells ~5s after stdin closes Fixes `claude -p` hanging forever after final result when backgrounded command never exits by stopping shells ~5s after stdin closes Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Fixes `claude -p` failing with "ANTHROPIC_API_KEY required" on Bedrock/Vertex/Foundry when CI=true and no Anthropic API key is set Fixes `claude -p` failing with "ANTHROPIC_API_KEY required" on Bedrock/Vertex/Foundry when CI=true and no Anthropic API key is set Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Fixes Bash commands failing under Bazel and EDR‑protected Go workflows by correctly overriding `$TMPDIR` only for sandboxed commands Fixes Bash commands failing under Bazel and EDR‑protected Go workflows by correctly overriding `$TMPDIR` only for sandboxed commands Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Fixes Bash command failures on Windows with "EEXIST: file already exists" when session‑env directory is read‑only or inside OneDrive Fixes Bash command failures on Windows with "EEXIST: file already exists" when session‑env directory is read‑only or inside OneDrive Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Fixes org‑managed permission rules not applying for entire session when managed settings fetch completes during startup on fresh config directory Fixes org‑managed permission rules not applying for entire session when managed settings fetch completes during startup on fresh config directory Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Low |
Prevents background agent sessions from losing running background tasks after Claude Code updates Prevents background agent sessions from losing running background tasks after Claude Code updates Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Bugfix | Low |
Resolves terminal misalignment and multi‑second hang when exiting the agent view by pressing Esc Resolves terminal misalignment and multi‑second hang when exiting the agent view by pressing Esc Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Bugfix | Low |
Ensures clicking Stop on a background‑task chip clears the chip even when the underlying process is already gone Ensures clicking Stop on a background‑task chip clears the chip even when the underlying process is already gone Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Bugfix | Low |
Fixes permanent keyboard input unresponsiveness after paste operation loses its end marker in the terminal Fixes permanent keyboard input unresponsiveness after paste operation loses its end marker in the terminal Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Bugfix | Low |
Corrects hook `if: "Bash(...)"` conditions to match commands inside subshells and backticks, preventing false positives Corrects hook `if: "Bash(...)"` conditions to match commands inside subshells and backticks, preventing false positives Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Bugfix | Low |
Blocks Bash commands that reference home‑directory paths via `$HOME` when deny rules target those paths (e.g., `Read(~/Desktop/**)`) Blocks Bash commands that reference home‑directory paths via `$HOME` when deny rules target those paths (e.g., `Read(~/Desktop/**)`) Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Bugfix | Low |
Removes stray "(no content)" line left in transcript after closing panel dialogs like /mcp and /plugins Removes stray "(no content)" line left in transcript after closing panel dialogs like /mcp and /plugins Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
Full changelog
What's changed
- Added
requiredMinimumVersionandrequiredMaximumVersionmanaged settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version - Added
/plugin listcommand to list installed plugins, with--enabled/--disabledfilters - Added a "c to copy" shortcut to
/btwthat copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere - Hooks: Stop and SubagentStop hooks can now return
hookSpecificOutput.additionalContextto give Claude feedback and keep the turn going without being labeled a hook error - Skills: added
\$escape syntax to include a literal$before a digit in command bodies - stdio MCP servers now receive the same
CLAUDE_CODE_SESSION_IDas hooks/Bash on--resume - Fixed
claude -phanging forever after its final result when a backgrounded command never exits — background shells are now stopped ~5s after the result once stdin closes - Fixed
claude -pfailing with "ANTHROPIC_API_KEY required" on Bedrock/Vertex/Foundry whenCI=trueand no Anthropic API key is set - Fixed bash commands failing under bazel and EDR-protected Go workflows:
$TMPDIRwas overridden to/tmp/claude-{uid}for all commands instead of only sandboxed ones (regression in 2.1.154) - Fixed Bash commands failing on Windows with "EEXIST: file already exists" on the session-env directory when it has the read-only attribute or is inside OneDrive
- Fixed org-managed permission rules not applying for the entire session when the managed settings fetch completed during startup on a fresh config directory
- Fixed background sessions in
claude agentslosing their running background tasks when reattached after a Claude Code update - Fixed terminal misalignment and a multi-second hang when exiting the agent view by pressing Esc
- Fixed clicking Stop on a background-task chip in the desktop app not clearing the chip when the underlying process was already gone
- Fixed keyboard input becoming permanently unresponsive after a paste operation whose end marker is dropped by the terminal
- Fixed hook
if: "Bash(...)"conditions firing on every Bash command containing$()or$VAR; the pattern now matches against commands inside subshells and backticks too - Fixed deny rules on home-directory paths (e.g.
Read(~/Desktop/**)) not blocking Bash commands that reference the path via$HOME - Fixed a stray "(no content)" line left in the transcript after closing panel dialogs like /mcp and /plugins
- Background agent sessions now update to a new Claude Code version in the background, so opening a session after an update no longer waits on a cold restart
- Clearer descriptions for built-in commands and skills in the / menu
- The subscription-switch suggestion now shows in the startup announcement slot instead of a toast
claude agentsdispatching from the state-grouped view now starts the session in the directory the agent view was opened from
Breaking Changes
- Added `requiredMinimumVersion` and `requiredMaximumVersion` managed settings — Claude Code refuses to start if its version is outside the allowed range.
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
Earlier breaking changes
- v2.1.215 Claude no longer automatically runs /verify and /code-review skills
- 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]