Release notes

Claude Code 2.1.166

· 2 new· 14 fixed

This release significantly boosts stability and user control. New fallback model support and API retry logic provide enhanced reliability against service interruptions, ensuring smoother workflows. Security is also improved with hardened cross-session messaging. Key fixes address recurring image processing errors, remote session stability issues, terminal flickering in JetBrains IDEs, and dropped Shift+non-ASCII characters in Kitty protocol terminals, benefiting a wide range of users and environments.

Added2

  • Added `fallbackModel` setting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable; `--fallback-model` now also applies to interactive sessions
  • Added glob pattern support in deny rule tool-name position (`"*"` denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup

Changed5

  • Hardened cross-session messaging: messages relayed via `SendMessage` from other Claude sessions no longer carry user authority — receivers refuse relayed permission requests, and auto mode blocks them
  • `MAX_THINKING_TOKENS=0`, `--thinking disabled`, and the per-model thinking toggle now disable thinking on models that think by default via the Claude API (3P providers unchanged)
  • Claude Code now retries a turn once on the fallback model when the API rejects an unexpected non-retryable error; auth, rate-limit, request-size, and transport errors still surface immediately
  • `claude update` now announces the target version before downloading instead of going silent
  • `claude agents`: typing a URL into the list now filters to the session whose first prompt contained it

Fixed14

  • Fixed a recurring "image could not be processed" error and extra token usage when an unprocessable image was sent in a session
  • Fixed remote sessions becoming permanently stuck when a brief backend disruption occurred during worker registration at startup
  • Fixed flickering in JetBrains IDE terminals (IntelliJ, PyCharm, WebStorm, etc.) on 2026.1+ by enabling synchronized output
  • Fixed Shift+non-ASCII characters (e.g. Shift+ä → Ä) being dropped in terminals using the Kitty keyboard protocol (WezTerm, Ghostty, kitty)
  • Fixed PowerShell command validation occasionally hanging far past its time budget on Windows when a killed process's children held its output pipes
  • Fixed orphaned `claude --bg-pty-host` processes spinning at 100% CPU after the daemon dies while connected on macOS
  • Fixed voice mode requiring `/login` to clear a stale auth check after toggling `/voice`
  • Fixed managed settings with an invalid entry silently disabling enforcement of their remaining valid policies
  • Fixed managed-settings `allowedMcpServers`/`deniedMcpServers` predicates not matching when they use `${VAR}` references
  • Fixed background agent sessions that entered a git worktree crash-looping with "No conversation found" when reopened from `claude agents`
  • Fixed duplicated thinking text in the Ctrl+O transcript view while streaming
  • Fixed `/doctor` showing a contradictory failed "Not inside a remote session" check when run inside a remote session
  • Fixed the cursor sticking at the end of the first line when typing a multiline prompt in the `claude agents` dispatch and reply inputs
  • Fixed blank lines appearing between background agent rows in the task list on terminals without Unicode support

Never miss a Claude Code release.

Get a push notification the moment the next version ships.

Get Claude Drops

New to the changelog? Read our guide to reading the Claude Code changelog or browse all releases.