## 2.1.88 - 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 - 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 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 in workflows with multiple schemas - Fixed memory leak where large JSON inputs were retained as LRU cache keys in long-running sessions - Fixed a potential out-of-memory crash when the Edit tool was used on very large files (>1 GiB) - Fixed a crash when removing a message from very large session files (over 50MB) - 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 LSP server zombie state after crash — server now restarts on next request instead of failing until session restart - Fixed hooks `if` condition filtering not matching compound commands (`ls && git push`) or commands with env-var prefixes (`FOO=bar git push`) - Fixed prompt history entries containing CJK or emoji being silently dropped when they fall on a 4KB boundary in `~/.claude/history.jsonl` - Fixed `/stats` losing historical data beyond 30 days when the stats cache format changes - Fixed `/stats` undercounting tokens by excluding subagent/fork usage - Fixed scrollback disappearing when scrolling up in long sessions - 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 long `/btw` responses being clipped with no way to scroll — responses now render in a scrollable viewport - 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 voice push-to-talk not activating for some modifier-combo bindings - Fixed voice mode on Windows failing with "WebSocket upgrade rejected with HTTP 101" - 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 SDK error result messages (`error_during_execution`, `error_max_turns`) to correctly set `is_error: true` with descriptive messages - Fixed task notifications being lost when backgrounding a session with Ctrl+B - Fixed PreToolUse/PostToolUse hooks not providing `file_path` as an absolute path for Write/Edit/Read tools - Improved PowerShell tool prompt with version-appropriate syntax guidance (5.1 vs 7+) - Thinking summaries are no longer generated by default in interactive sessions — set `showThinkingSummaries: true` in settings to restore - Auto mode denied commands now show a notification and appear in `/permissions` → Recent tab - `/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 - Collapsed tool summary now shows "Listed N directories" for ls/tree/du instead of "Read N files" - Image paste no longer inserts a trailing space - Pasting `!command` into an empty prompt now enters bash mode, matching typed `!` behavior