What's changed
- Added MCP elicitation support — MCP servers can now request structured input mid-task via an interactive dialog (form fields or browser URL)
- Added new
ElicitationandElicitationResulthooks to intercept and override responses before they're sent back - Added
-n/--name <name>CLI flag to set a display name for the session at startup - Added
worktree.sparsePathssetting forclaude --worktreein large monorepos to check out only the directories you need via git sparse-checkout - Added
PostCompacthook that fires after compaction completes - Added
/effortslash command to set model effort level - Added session quality survey — enterprise admins can configure the sample rate via the
feedbackSurveyRatesetting - Fixed deferred tools (loaded via
ToolSearch) losing their input schemas after conversation compaction, causing array and number parameters to be rejected with type errors - Fixed slash commands showing "Unknown skill"
- Fixed plan mode asking for re-approval after the plan was already accepted
- Fixed voice mode swallowing keypresses while a permission dialog or plan editor was open
- Fixed
/voicenot working on Windows when installed via npm - Fixed spurious "Context limit reached" when invoking a skill with
model:frontmatter on a 1M-context session - Fixed "adaptive thinking is not supported on this model" error when using non-standard model strings
- Fixed
Bash(cmd:*)permission rules not matching when a quoted argument contains# - Fixed "don't ask again" in the Bash permission dialog showing the full raw command for pipes and compound commands
- Fixed auto-compaction retrying indefinitely after consecutive failures — a circuit breaker now stops after 3 attempts
- Fixed MCP reconnect spinner persisting after successful reconnection
- Fixed LSP plugins not registering servers when the LSP Manager initialized before marketplaces were reconciled
- Fixed clipboard copying in tmux over SSH — now attempts both direct terminal write and tmux clipboard integration
- Fixed
/exportshowing only the filename instead of the full file path in the success message - Fixed transcript not auto-scrolling to new messages after selecting text
- Fixed Escape key not working to exit the login method selection screen
- Fixed several Remote Control issues: sessions silently dying when the server reaps an idle environment, rapid messages being queued one-at-a-time instead of batched, and stale work items causing redelivery after JWT refresh
- Fixed bridge sessions failing to recover after extended WebSocket disconnects
- Fixed slash commands not found when typing the exact name of a soft-hidden command
- Improved
--worktreestartup performance by reading git refs directly and skipping redundantgit fetchwhen the remote branch is already available locally - Improved background agent behavior — killing a background agent now preserves its partial results in the conversation context
- Improved model fallback notifications — now always visible instead of hidden behind verbose mode, with human-friendly model names
- Improved blockquote readability on dark terminal themes — text is now italic with a left bar instead of dim
- Improved stale worktree cleanup — worktrees left behind after an interrupted parallel run are now automatically cleaned up
- Improved Remote Control session titles — now derived from your first prompt instead of showing "Interactive session"
- Improved
/voiceto show your dictation language on enable and warn when yourlanguagesetting isn't supported for voice input - Updated
--plugin-dirto only accept one path to support subcommands — use repeated--plugin-dirfor multiple directories - [VSCode] Fixed gitignore patterns containing commas silently excluding entire filetypes from the @-mention file picker