claudekit / updates / claude-code-2-1-206
[ PATCH · ]

Claude Code 2.1.206

`/doctor` gained a check that proposes trimming checked-in CLAUDE.md files by cutting content Claude could derive from the codebase, and `/cd` now suggests directory paths like `/add-dir`. Fixes include an expired login failing every model with a misleading error, MCP servers configured via `--mcp-config` or `.mcp.json` ignoring a per-server `request_timeout_ms` and timing out at 60s, and `claude --resume` / `--continue` not responding to keyboard input on startup, alongside several login, MCP, session-resume, and `/model` picker fixes.

Official announcement →

This article is a summary based on official documentation.

What changed

Claude Code 2.1.206 shipped on July 10, 2026. /doctor gained a new check that proposes trimming checked-in CLAUDE.md files, and /cd now suggests directory paths. It also clears a batch of regressions around expired logins, MCP server timeouts, keyboard input on session resume, and the /model picker’s prices and model rows.

New features

  • /doctor check to trim CLAUDE.md

    Checked-in CLAUDE.md files accumulate content Claude could derive straight from the codebase, taking up context every session. /doctor now runs a check that proposes trimming those files by cutting content Claude could derive from the codebase.

  • Gateway /login for public gateway endpoints

    In a gateway setup, /login didn’t handle Anthropic-operated endpoints. /login now supports Anthropic-operated public gateway endpoints.

Key improvements

  • Directory path suggestions in /cd

    Moving directories with /cd meant typing the path yourself. /cd now shows directory path suggestions, matching /add-dir behavior.

  • /commit-push-pr auto-allows the configured push remote

    /commit-push-pr only auto-allowed git push to origin, so any other push remote prompted every time. It now also 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.

  • EnterWorktree confirmation for out-of-project worktrees

    Entering a worktree had no confirmation step, leaving room to land somewhere outside the project. EnterWorktree now asks for confirmation before entering a git worktree outside the project’s .claude/worktrees/ directory.

  • Background agents upgrade ahead of attach

    Attaching to a background agent after a Claude Code update paid a slow stale-session upgrade on the spot. Background agents now upgrade to a new version in the background right after an update, instead of paying that cost when you attach.

  • Full-width status column in agents view

    The agents view status column truncated at 64 characters. It now uses full terminal width.

  • Better /code-review findings on claude-opus-4-8

    /code-review findings quality improved on claude-opus-4-8 across all effort levels.

Bug fixes

Login and authentication

  • An expired login failed every model with a misleading “There’s an issue with the selected model” error — it now prompts to run /login.
  • OAuth MCP servers required manual re-authentication after a single failed token refresh. Fixed.

MCP and background workers

  • MCP servers configured via --mcp-config or .mcp.json ignored a per-server request_timeout_ms — long-running MCP tool calls timed out at the 60s default in fresh sessions. Fixed.
  • --permission-prompt-tool pointing at an MCP server crashed with “MCP tool not found” on cold start before the server finished connecting. Fixed.
  • CLAUDE_CODE_EXTRA_BODY was silently ignored by claude agents / --bg background workers. The shell-exported override now follows the dispatching session.

Session resume and input

  • claude --resume and --continue didn’t respond to keyboard input on startup. Fixed.
  • Desktop sessions got stuck showing “running” after a slash command was sent mid-turn. Fixed.
  • [Windows] Keyboard input was ignored in the agents view when a setup prompt appeared before a bare claude --resume. Fixed.

/model picker

  • /model picker rows printed a price for a different model than the row named. Fixed, and it stopped quoting first-party list prices on providers that don’t bill them.
  • Server-provided model rows were misplaced in the /model picker when an entitlement or allowlist restriction dropped the row they were positioned against. Fixed.

Agents and daemon

  • claude rm left the removed job in the daemon roster, causing the row to reappear in claude agents. Fixed. Ctrl+X now permanently removes a completed session, sessions no longer render twice, and deleted background jobs stay deleted.

UI and terminal

  • Left arrow didn’t step back out of a phase or agent in the workflow detail view. Fixed.
  • /status listed the same broken-install warning twice. Fixed.
  • The fullscreen jump-to-bottom pill suggested Ctrl+End on macOS, didn’t show rebound chords, and wrapped over the transcript. Fixed.
  • /remote-control showed “Unknown command” when logged out — it now explains how to sign in.

Diagnostics and plugins

  • False “disused plugin” tips and skewed disuse telemetry for LSP plugins. Fixed.
  • /doctor’s update check now compares Homebrew installs against their cask’s channel instead of the settings channel.

Bedrock

  • A multi-minute startup hang when using an awsCredentialExport helper on networks with restricted egress. Fixed.

Notes

  • If long MCP tool calls were cut off at 60s, re-check them — the per-server request_timeout_ms in --mcp-config or .mcp.json is now respected in fresh sessions. Long calls that used to hit the 60s default should clear with this fix.
  • /commit-push-pr push target widened — in addition to origin, git push to the repo’s configured push remote (remote.pushDefault, or the sole remote) is auto-allowed.
  • Trim CLAUDE.md via /doctor — if a checked-in CLAUDE.md has accumulated content Claude could derive from the codebase, /doctor proposes what to cut.