Claude Code changelog

Claude Code 2.1.206

This release introduces new directory path suggestions for /cd and a /doctor check to help trim codebase-derived content from CLAUDE.md files. Key workflow improvements include /commit-push-pr's automatic allowance for push remotes, background agent upgrades immediately after an update, and enhanced /code-review findings quality. Users will also benefit from critical fixes addressing expired login errors, unresponsive keyboard input on startup, various model picker inaccuracies, and timeout issues for long-running MCP tool calls, enhancing overall stability and user experience.

Added

  • Added directory path suggestions to `/cd`, matching `/add-dir` behavior
  • Added a `/doctor` check that proposes trimming checked-in `CLAUDE.md` files by cutting content Claude could derive from the codebase

Improved

  • Improved `/code-review` findings quality on claude-opus-4-8 across all effort levels
  • Improved agents view: status column now uses full terminal width instead of truncating at 64 characters

Changed

  • `/commit-push-pr` now auto-allows `git push` to the repo's configured push remote (`remote.pushDefault`, or the sole remote when only one is configured) in addition to `origin`
  • Gateway: `/login` now supports Anthropic-operated public gateway endpoints
  • `EnterWorktree` now asks for confirmation before entering a git worktree outside the project's `.claude/worktrees/` directory
  • Background agents now upgrade to a new version in the background right after a Claude Code update, instead of paying a slow stale-session upgrade when you attach
  • Changed agents view: Ctrl+X now permanently removes a completed session, and sessions no longer render twice; deleted background jobs stay deleted

Fixed

  • Fixed an expired login failing every model with a misleading "There's an issue with the selected model" error instead of prompting to run `/login`
  • Fixed `claude --resume` and `--continue` not responding to keyboard input on startup
  • Fixed MCP servers configured via `--mcp-config` or `.mcp.json` ignoring a per-server `request_timeout_ms`, which caused long-running MCP tool calls to time out at the 60s default in fresh sessions
  • Fixed `CLAUDE_CODE_EXTRA_BODY` being silently ignored by `claude agents` / `--bg` background workers; the shell-exported override now follows the dispatching session
  • Fixed OAuth MCP servers requiring manual re-authentication after a single failed token refresh
  • Fixed `--permission-prompt-tool` pointing at an MCP server crashing with "MCP tool not found" on cold start before the server finishes connecting
  • Fixed `/model` picker rows printing a price for a different model than the row named, and stopped quoting first-party list prices on providers that don't bill them
  • Fixed server-provided model rows being misplaced in the `/model` picker when an entitlement or allowlist restriction drops the row they were positioned against
  • Fixed desktop sessions getting stuck showing "running" after a slash command was sent mid-turn
  • Fixed keyboard input being ignored in the agents view when a setup prompt appeared before a bare `claude --resume` on Windows
  • Fixed `claude rm` leaving the removed job in the daemon roster, causing the row to reappear in `claude agents`
  • Fixed `/remote-control` showing "Unknown command" when logged out — it now explains how to sign in
  • Fixed left arrow not stepping back out of a phase or agent in the workflow detail view
  • Fixed `/status` listing the same broken-install warning twice
  • Fixed false "disused plugin" tips and skewed disuse telemetry for LSP plugins
  • Fixed `/doctor`'s update check to compare Homebrew installs against their cask's channel instead of the settings channel
  • Fixed the fullscreen jump-to-bottom pill suggesting Ctrl+End on macOS, not showing rebound chords, and wrapping over the transcript
  • Bedrock: fixed a multi-minute startup hang when using an `awsCredentialExport` helper on networks with restricted egress