Claude Code 2.1.90: Rate Limit Fixes, Performance Gains
Claude Code 2.1.90 fixes a critical rate-limit crash, eliminates quadratic performance regressions in SSE and SDK sessions, and hardens PowerShell security checks.
TL;DR
- Fixed infinite loop crash when hitting rate limits — dialog no longer auto-opens repeatedly
- Major performance improvements: eliminated quadratic slowdowns in SSE transport and SDK transcript writes
- Fixed `--resume` cache miss regression affecting users with deferred tools and MCP servers
- Hardened PowerShell permission checks against background job and debugger bypasses
New
- /powerup — Interactive lessons with animated demos teaching Claude Code features
- CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE — Env var to preserve marketplace cache when `git pull` fails, critical for offline environments
- .husky protected — Added to protected directories in acceptEdits mode
Fixed
- Rate-limit dialog infinite loop that crashed sessions after hitting usage limits
- `--resume` causing full prompt-cache miss on first request for users with deferred tools, MCP servers, or custom agents (regression since v2.1.69)
- `Edit`/`Write` failing with "File content has changed" when PostToolUse format-on-save hooks rewrite files between consecutive edits
- `PreToolUse` hooks emitting JSON to stdout with exit code 2 not correctly blocking tool calls
- Collapsed search/read summary badge appearing multiple times in fullscreen scrollback during CLAUDE.md auto-load
- Auto mode ignoring explicit user boundaries ("don't push", "wait for X before Y") even when action was allowed
- Click-to-expand hover text nearly invisible on light terminal themes
- UI crash when malformed tool input reached permission dialog
- Headers disappearing when scrolling `/model`, `/config`, and selection screens
- PowerShell permission checks: trailing `&` background job bypass, `-ErrorAction Break` debugger hang, archive-extraction TOCTOU, parse-fail fallback deny-rule degradation
Improved
- Performance — Eliminated per-turn JSON.stringify of MCP tool schemas on cache-key lookup
- Performance — SSE transport now handles large streamed frames in linear time (was quadratic)
- Performance — SDK sessions with long conversations no longer slow down quadratically on transcript writes
- /resume all-projects — Now loads project sessions in parallel, improving load times for users with many projects
Changed
- `--resume` picker no longer shows sessions created by `claude -p` or SDK invocations
- Removed `Get-DnsClientCache` and `ipconfig /displaydns` from auto-allow list (DNS cache privacy)
Update Claude Code via your extension marketplace or view the full release notes.
Source: Claude Code