What's changed
/code-review --fixnow applies review findings to your working tree after the review, surfacing reuse, simplification, and efficiency suggestions;/simplifynow invokes/code-review --fix- Skills and slash commands can now set
disallowed-toolsin frontmatter to remove tools from the model while the skill is active - Added
/reload-skillscommand to re-scan skill directories without restarting the session SessionStarthooks can now returnreloadSkills: trueto re-scan skill directories, making skills installed by the hook available in the same sessionSessionStarthooks can now set the session title viahookSpecificOutput.sessionTitleon startup and resume- Added a
MessageDisplayhook event that lets hooks transform or hide assistant message text as it is displayed - Added
pluginSuggestionMarketplacesmanaged setting: admins can allowlist org marketplaces whose plugins may be suggested via context-aware tips claude plugin marketplace removenow accepts--scope user|project|localfor symmetry withmarketplace add,install, anduninstall- Claude Code now switches to your configured
--fallback-modelfor the rest of the session when the primary model is not found, instead of failing every request - Auto mode no longer requires opt-in consent
- Vim mode:
/in NORMAL mode now opens reverse history search (like Ctrl+R), matching bash/zsh vi-mode - The
/usagebreakdown now includes large session files; files are scanned with a streaming read so memory usage stays flat - Thinking summaries in the collapsed group now stay readable for at least 3 seconds, render as markdown, and cap at 10 lines (
Ctrl+Oshows the full thinking) - In fullscreen mode, the "Thinking for Ns" indicator now counts up live while the model is thinking, and keeps its value if you interrupt mid-thought
- Simplified the Workflow tool's inline progress display — live agent counts now show only in the persistent workflow status row below the prompt
- The post-response timer now shows "Waiting for N background agents/workflows to finish" when backgrounded agents or workflows are still running, and reports the cumulative time once their results are processed
- Added the session entrypoint as an OpenTelemetry metric attribute (
app.entrypoint, opt-in viaOTEL_METRICS_INCLUDE_ENTRYPOINT=true) - Fixed terminal styling degrading in very long sessions by recycling the renderer's style pool
- Fixed the sandbox-enabled warning not appearing in condensed startup mode — it now shows in every layout
- Fixed the loading spinner showing "still thinking"/"almost done thinking" while a tool is running, and reset the thinking status to "thinking" after each tool
- Fixed focus mode showing a spurious "N messages hidden" count on turns with no hidden activity
- Fixed clicking a link inside an expanded tool result collapsing the section instead of opening the link
- Fixed markdown table cell borders inheriting the color of inline code, wrapped continuation lines losing their style, and empty header cells showing a label in the narrow-terminal stacked layout
- Fixed plugin MCP servers with the same command but different environment variables being incorrectly deduplicated
- Fixed
/doctorreporting "marketplace not found" or "plugin not found" for staleenabledPluginsentries referencing removed marketplaces or dropped plugins - Fixed plugins that track a git branch silently no longer receiving updates after the plugin registry was rebuilt
- Fixed remote MCP servers failing to connect in Claude Code Remote sessions when the egress proxy is enabled
- Fixed the effort-change confirmation dialog appearing when the conversation has no messages or when switching between effort levels that resolve to the same underlying value
- Fixed the Agent tool description referencing an agent list that is never delivered when running with
--bareor with attachments disabled - Fixed a background worker crash in
claude agentswhen accepting a stale permission prompt after a subagent was cancelled - Fixed
cache_creation_input_tokensreporting as 0 in transcript and result usage when the API reports cache writes only via the nestedcache_creationbreakdown - Fixed the PushNotification tool incorrectly reporting "Mobile push not sent (Remote Control inactive)" in SDK-hosted sessions when Remote Control is enabled
- Fixed sessions getting stuck after a model or login switch left stale thinking-block signatures in history; now stripped proactively with a retry safety-net