What's changed
- Added
/tuicommand andtuisetting — run/tui fullscreento switch to flicker-free rendering in the same conversation - Changed
Ctrl+Oto toggle between normal and verbose transcript only; focus view is now toggled separately with the new/focuscommand - Added push notification tool — Claude can send mobile push notifications when Remote Control and "Push when Claude decides" config are enabled
- Added
autoScrollEnabledconfig to disable conversation auto-scroll in fullscreen mode - Added option to show Claude's last response as commented context in the
Ctrl+Gexternal editor (enable via/config) - Improved
/pluginInstalled tab — items needing attention and favorites appear at the top, disabled items are hidden behind a fold, andffavorites the selected item - Improved
/doctorto warn when an MCP server is defined in multiple config scopes with different endpoints --resume/--continuenow resurrects unexpired scheduled tasks/autocompact,/context,/exit, and/reload-pluginsnow work from Remote Control (mobile/web) clients- Write tool now informs the model when you edit the proposed content in the IDE diff before accepting
- Bash tool now enforces the documented maximum timeout instead of accepting arbitrarily large values
- SDK/headless sessions now read
TRACEPARENT/TRACESTATEfrom the environment for distributed trace linking - Session recap is now enabled for users with telemetry disabled (Bedrock, Vertex, Foundry,
DISABLE_TELEMETRY). Opt out via/configorCLAUDE_CODE_ENABLE_AWAY_SUMMARY=0. - Fixed MCP tool calls hanging indefinitely when the server connection drops mid-response on SSE/HTTP transports
- Fixed non-streaming fallback retries causing multi-minute hangs when the API is unreachable
- Fixed session recap, local slash-command output, and other system status lines not appearing in focus mode
- Fixed high CPU usage in fullscreen when text is selected while a tool is running
- Fixed plugin install not honoring dependencies declared in
plugin.jsonwhen the marketplace entry omits them;/plugininstall now lists auto-installed dependencies - Fixed skills with
disable-model-invocation: truefailing when invoked via/<skill>mid-message - Fixed
--resumesometimes showing the first prompt instead of the/renamename for sessions still running or exited uncleanly - Fixed queued messages briefly appearing twice during multi-tool-call turns
- Fixed session cleanup not removing the full session directory including subagent transcripts
- Fixed dropped keystrokes after the CLI relaunches (e.g.
/tui, provider setup wizards) - Fixed garbled startup rendering in macOS Terminal.app and other terminals that don't support synchronized output
- Hardened "Open in editor" actions against command injection from untrusted filenames
- Fixed
PermissionRequesthooks returningupdatedInputnot being re-checked againstpermissions.denyrules;setMode:'bypassPermissions'updates now respectdisableBypassPermissionsMode - Fixed
PreToolUsehookadditionalContextbeing dropped when the tool call fails - Fixed stdio MCP servers that print stray non-JSON lines to stdout being disconnected on the first stray line (regression in 2.1.105)
- Fixed headless/SDK session auto-title firing an extra Haiku request when
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICorCLAUDE_CODE_DISABLE_TERMINAL_TITLEis set - Fixed potential excessive memory allocation when piped (non-TTY) Ink output contains a single very wide line
- Fixed
/skillsmenu not scrolling when the list overflows the modal in fullscreen mode - Fixed Remote Control sessions showing a generic error instead of prompting for re-login when the session is too old
- Fixed Remote Control session renames from claude.ai not persisting the title to the local CLI session