What's changed
- Added
managed-settings.d/drop-in directory alongsidemanaged-settings.json, letting separate teams deploy independent policy fragments that merge alphabetically - Added
CwdChangedandFileChangedhook events for reactive environment management (e.g., direnv) - Added
sandbox.failIfUnavailablesetting to exit with an error when sandbox is enabled but cannot start, instead of running unsandboxed - Added
disableDeepLinkRegistrationsetting to preventclaude-cli://protocol handler registration - Added
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1to strip Anthropic and cloud provider credentials from subprocess environments (Bash tool, hooks, MCP stdio servers) - Added transcript search — press
/in transcript mode (Ctrl+O) to search,n/Nto step through matches - Added
Ctrl+X Ctrl+Eas an alias for opening the external editor (readline-native binding;Ctrl+Gstill works) - Pasted images now insert an
[Image #N]chip at the cursor so you can reference them positionally in your prompt - Agents can now declare
initialPromptin frontmatter to auto-submit a first turn chat:killAgentsandchat:fastModeare now rebindable via~/.claude/keybindings.json- Fixed mouse tracking escape sequences leaking to shell prompt after exit
- Fixed Claude Code hanging on exit on macOS
- Fixed screen flashing blank after being idle for a few seconds
- Fixed a hang when diffing very large files with few common lines — diffs now time out after 5 seconds and fall back gracefully
- Fixed a 1–8 second UI freeze on startup when voice input was enabled, caused by eagerly loading the native audio module
- Fixed a startup regression where Claude Code would wait ~3s for claude.ai MCP config fetch before proceeding
- Fixed
--mcp-configCLI flag bypassingallowedMcpServers/deniedMcpServersmanaged policy enforcement - Fixed claude.ai MCP connectors (Slack, Gmail, etc.) not being available in single-turn
--printmode - Fixed
caffeinateprocess not properly terminating when Claude Code exits, preventing Mac from sleeping - Fixed bash mode not activating when tab-accepting
!-prefixed command suggestions - Fixed stale slash command selection showing wrong highlighted command after navigating suggestions
- Fixed
/configmenu showing both the search cursor and list selection at the same time - Fixed background subagents becoming invisible after context compaction, which could cause duplicate agents to be spawned
- Fixed background agent tasks staying stuck in "running" state when git or API calls hang during cleanup
- Fixed
--channelsshowing "Channels are not currently available" on first launch after upgrade - Fixed uninstalled plugin hooks continuing to fire until the next session
- Fixed queued commands flickering during streaming responses
- Fixed slash commands being sent to the model as text when submitted while a message is processing
- Fixed scrollback jumping when collapsed read/search groups finish after scrolling offscreen
- Fixed scrollback jumping to top when the model starts or stops thinking
- Fixed SDK session history loss on resume caused by hook progress/attachment messages forking the parentUuid chain
- Fixed copy-on-select not firing when you release the mouse outside the terminal window
- Fixed ghost characters appearing in height-constrained lists when items overflow
- Fixed
Ctrl+Binterfering with readline backward-char at an idle prompt — it now only fires when a foreground task can be backgrounded - Fixed tool result files never being cleaned up, ignoring the
cleanupPeriodDayssetting - Fixed space key being swallowed for up to 3 seconds after releasing voice hold-to-talk
- Fixed ALSA library errors corrupting the terminal UI when using voice mode on Linux without audio hardware (Docker, headless, WSL1)
- Fixed voice mode SoX detection on Termux/Android where spawning
whichis kernel-restricted - Fixed Remote Control sessions showing as Idle in the web session list while actively running
- Fixed footer navigation selecting an invisible Remote Control pill in config-driven mode
- Fixed memory leak in remote sessions where tool use IDs accumulate indefinitely
- Improved Bedrock SDK cold-start latency by overlapping profile fetch with other boot work
- Improved
--resumememory usage and startup latency on large sessions - Improved plugin startup — commands, skills, and agents now load from disk cache without re-fetching
- Improved Remote Control session titles: AI-generated titles now appear within seconds of the first message
- Improved
WebFetchto identify asClaude-Userso site operators can recognize and allowlist Claude Code traffic viarobots.txt - Reduced
WebFetchpeak memory usage for large pages - Reduced scrollback resets in long sessions from once per turn to once per ~50 messages
- Faster
claude -pstartup with unauthenticated HTTP/SSE MCP servers (~600ms saved) - Bash ghost-text suggestions now include just-submitted commands immediately
- Increased non-streaming fallback token cap (21k → 64k) and timeout (120s → 300s local) so fallback requests are less likely to be truncated
- Interrupting a prompt before any response now automatically restores your input so you can edit and resubmit
/statusnow works while Claude is responding, instead of being queued until the turn finishes- Plugin MCP servers that duplicate an org-managed connector are now suppressed instead of running a second connection
- Linux: respect
XDG_DATA_HOMEwhen registering theclaude-cli://protocol handler - Changed "stop all background agents" keybinding from
Ctrl+FtoCtrl+X Ctrl+Kto stop shadowing readline forward-char - Deprecated
TaskOutputtool in favor of usingReadon the background task's output file path - [VSCode] Spinner now turns red with "Not responding" when the backend hasn't responded for 60 seconds
- [VSCode] Fixed session history not loading correctly when reopening a session via URL or after restart