ClaudeUpdates.dev
Update Claude Code
ClaudeUpdates.dev
414 releases|Latest v2.1.292|Last Update Oct 06, 2026
Update Claude Code
v2.1.87Older
2.1.86
2.1.87
2.1.89
2.1.90
2.1.91
2.1.87
2.1.89
2.1.90
v2.1.90Newer
← Back to all releases

v2.1.89 Claude Code Release Notes

Apr 1, 2026
Claude's Analysisby Sonnet 4.6
Full Analysis

Thinking summaries off by default (restore via showThinkingSummaries); hook system gains defer/PermissionDenied events; 30 fixes cover 7 hangs, 4 crashes, and a memory leak.

Changes
52
Total Changes (vs Average)
3.0×
Version Type
Patch
Release Focus
Bug Fixes
Days Since Prior Release
3
Release # This Month
#1 of 26
Bug Fix Ratio
58%
Post-Release Edits
+1−1
Change Category
Ecosystem Impact
Windows has appeared in 6 of the last 10 releases. This release's 5 Windows-specific fixes—CRLF handling, Shift+Enter behavior, PowerShell 5.1 stderr false failures—extend a sustained cross-platform parity drive visible since at least v2.1.72.
Key Themes
6Hook System Becomes a Permission Layer|12Stability: Hangs, Crashes & Memory|8Windows & Terminal Rendering Polish|7Silent Data Loss in Long Sessions|5Headless Pipeline Reliability
May Help If You've Noticed
Sessions repeatedly compact and then stop, burning through API credits without making progress
The same CLAUDE.md instructions appear multiple times or context fills unusually fast in long sessions
MCP server connections hang or slow down the start of every headless -p run
Voice mode fails to get microphone access, or claude-cli:// deep links don't open on macOS
PowerShell commands are flagged as failed even when they complete successfully on Windows

Changes in Claude Code v2.1.89

Added5 changes

  • •Added "defer" permission decision to PreToolUse hooks — headless sessions can pause at a tool call and resume with -p --resume to have the hook re-evaluate
  • •Added CLAUDE_CODE_NO_FLICKER=1 environment variable to opt into flicker-free alt-screen rendering with virtualized scrollback
  • •Added PermissionDenied hook 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=true for -p mode to skip the MCP connection wait entirely, and bounded --mcp-config server connections at 5s instead of blocking on the slowest server

Improved4 changes

  • •Improved collapsed tool summary to show "Listed N directories" for ls/tree/du instead 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+)

Fixed30 changes

  • •Fixed Edit(//path/**) and Read(//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 StructuredOutput schema 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 /stats undercounting tokens by excluding subagent usage, and losing historical data beyond 30 days when the stats cache format changes
  • •Fixed -p --resume hangs when the deferred tool input exceeds 64KB or no deferred marker exists, and -p --continue not 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_path as 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 --resume crash 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 if condition 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 invalidates not 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 push wrote 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)

Changed4 changes

  • •Changed Edit to work on files viewed via Bash with sed -n or cat, without requiring a separate Read call first
  • •Changed hook output over 10,000 characters to be saved to disk with a file path + a 2,000-character preview instead of being injected directly into context
  • •Changed cleanupPeriodDays: 0 in 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: true in settings.json to restore

Other9 changes

  • •Auto mode: denied commands now show a notification and appear in /permissions → Recent tab where you can retry with r
  • •Documented TaskCreated hook 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)
  • •/env now applies to PowerShell tool commands (previously only affected Bash)
  • •/usage now hides redundant "Current week (Sonnet only)" bar for Pro and Enterprise plans
  • •Image paste no longer inserts a trailing space
  • •Pasting !command into an empty prompt now enters bash mode, matching typed ! behavior
  • •/buddy is here for April 1st — hatch a small creature that watches you code

← v2.1.87
All Releases
v2.1.90 →