Update Jun 4, 2026 tracked by Updatify
2.1.89
-
Added
"defer"permission decision toPreToolUsehooks — headless sessions can pause at a tool call and resume with-p --resumeto have the hook re-evaluate -
Added
CLAUDE_CODE_NO_FLICKER=1environment variable to opt into flicker-free alt-screen rendering with virtualized scrollback -
Added
PermissionDeniedhook that fires after auto mode classifier denials — return{retry: true}to tell the model it can retry -
Added named subagents to
@mention typeahead suggestions -
Added
MCP_CONNECTION_NONBLOCKING=truefor-pmode to skip the MCP connection wait entirely, and bounded--mcp-configserver connections at 5s instead of blocking on the slowest server -
Auto mode: denied commands now show a notification and appear in
/permissions→ Recent tab where you can retry withr -
Fixed
Edit(//path/**)andRead(//path/**)allow rules to check the resolved symlink target, not just the requested path - Fixed voice push-to-talk not activating for some modifier-combo bindings, and voice mode on Windows failing with “WebSocket upgrade rejected with HTTP 101”
- Fixed Edit/Write tools doubling CRLF on Windows and stripping Markdown hard line breaks (two trailing spaces)
-
Fixed
StructuredOutputschema cache bug causing ~50% failure rate when using multiple schemas - Fixed memory leak where large JSON inputs were retained as LRU cache keys in long-running sessions
- Fixed a crash when removing a message from very large session files (over 50MB)
- Fixed LSP server zombie state after crash — server now restarts on next request instead of failing until session restart
-
Fixed prompt history entries containing CJK or emoji being silently dropped when they fall on a 4KB boundary in
~/.claude/history.jsonl -
Fixed
/statsundercounting tokens by excluding subagent usage, and losing historical data beyond 30 days when the stats cache format changes -
Fixed
-p --resumehangs when the deferred tool input exceeds 64KB or no deferred marker exists, and-p --continuenot resuming deferred tools -
Fixed
claude-cli://deep links not opening on macOS - Fixed MCP tool errors truncating to only the first content block when the server returns multi-element error content
- Fixed skill reminders and other system context being dropped when sending messages with images via the SDK
-
Fixed PreToolUse/PostToolUse hooks to receive
file_pathas an absolute path for Write/Edit/Read tools, matching the documented behavior - Fixed autocompact thrash loop — now detects when context refills to the limit immediately after compacting three times in a row and stops with an actionable error instead of burning API calls
- Fixed prompt cache misses in long sessions caused by tool schema bytes changing mid-session
- Fixed nested CLAUDE.md files being re-injected dozens of times in long sessions that read many files
-
Fixed
--resumecrash when transcript contains a tool result from an older CLI version or interrupted write - Fixed misleading “Rate limit reached” message when the API returned an entitlement error — now shows the actual error with actionable hints
-
Fixed hooks
ifcondition filtering not matching compound commands (ls && git push) or commands with env-var prefixes (FOO=bar git push) - Fixed collapsed search/read group badges duplicating in terminal scrollback during heavy parallel tool use
-
Fixed notification
invalidatesnot clearing the currently-displayed notification immediately - Fixed prompt briefly disappearing after submit when background messages arrived during processing
- Fixed Devanagari and other combining-mark text being truncated in assistant output
- Fixed rendering artifacts on main-screen terminals after layout shifts
- Fixed voice mode failing to request microphone permission on macOS Apple Silicon
- Fixed Shift+Enter submitting instead of inserting a newline on Windows Terminal Preview 1.25
- Fixed periodic UI jitter during streaming in iTerm2 when running inside tmux
-
Fixed PowerShell tool incorrectly reporting failures when commands like
git pushwrote progress to stderr on Windows PowerShell 5.1 - Fixed a potential out-of-memory crash when the Edit tool was used on very large files (>1 GiB)
-
Improved collapsed tool summary to show “Listed N directories” for
ls/tree/duinstead of “Read N files” - Improved Bash tool to warn when a formatter/linter command modifies files you have previously read, preventing stale-edit errors
-
Improved
@-mention typeahead to rank source files above MCP resources with similar names - Improved PowerShell tool prompt with version-appropriate syntax guidance (5.1 vs 7+)
-
Changed
Editto work on files viewed viaBashwithsed -norcat, without requiring a separateReadcall first - Changed hook output over 50K characters to be saved to disk with a file path + preview instead of being injected directly into context
-
Changed
cleanupPeriodDays: 0in settings.json to be rejected with a validation error — it previously silently disabled transcript persistence -
Changed thinking summaries to no longer be generated by default in interactive sessions — set
showThinkingSummaries: truein settings.json to restore -
Documented
TaskCreatedhook event and its blocking behavior - Preserved task notifications when backgrounding a running command with Ctrl+B
- PowerShell tool on Windows: external-command arguments containing both a double-quote and whitespace now prompt instead of auto-allowing (PS 5.1 argument-splitting hardening)
-
/envnow applies to PowerShell tool commands (previously only affected Bash) -
/usagenow hides redundant “Current week (Sonnet only)” bar for Pro and Enterprise plans - Image paste no longer inserts a trailing space
-
Pasting
!commandinto an empty prompt now enters bash mode, matching typed!behavior -
/buddyis here for April 1st — hatch a small creature that watches you code