Update Jun 5, 2026 tracked by Updatify
2.1.163
-
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