Skip to content

claude-code

v2.1.163 Breaking

This release includes 1 breaking change 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 1mo

Claude 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 summary

Added version‑range enforcement, plugin listing command, markdown copy shortcut, and several bug fixes.

Changes in this release

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 requiredMinimumVersion and requiredMaximumVersion managed settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version
  • Added /plugin list command to list installed plugins, with --enabled/--disabled filters
  • Added a "c to copy" shortcut to /btw that copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere
  • Hooks: Stop and SubagentStop hooks can now return hookSpecificOutput.additionalContext to 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_ID as hooks/Bash on --resume
  • Fixed claude -p hanging 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 -p failing with "ANTHROPIC_API_KEY required" on Bedrock/Vertex/Foundry when CI=true and no Anthropic API key is set
  • Fixed bash commands failing under bazel and EDR-protected Go workflows: $TMPDIR was 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 agents losing 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 agents dispatching 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

Track claude-code

Get notified when new releases ship.

Sign up free

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]