Claude Code v2.1.203
Released Jul 7, 2026 (1 month ago).
48 issues reference this build
28 still open
20 resolved (42%)
"References this build" means the issue body mentions running 2.1.203 (from the
bug-report template). It reflects report volume, not a proven defect count — an issue may mention a
version without being caused by it. First-party data from the anthropics/claude-code tracker.
Top issues reported on v2.1.203
Ranked by community engagement (reactions and comments).
- [BUG] v2.1.204: new --resume session picker ignores all keyboard input (regression from 2.1.203)
- Read tool reports "pdftoppm is not installed" on Windows despite poppler being on PATH
- [BUG] tui: "fullscreen" leaks OSC11/DA1 terminal query-replies to stdout — corrupts piped output and pager navigation
- [Bug] Unable to access Claude models - authentication or API error
- [Bug] Claude Code falsely flags legitimate aquaculture microbiology terms as safety violations
- Background/bridge sessions leak .claude/worktrees worktrees: no cleanup or stale-lock reaping on the daemon kill/settle path
- [BUG] Cancelling Max 20x downgraded account to Free instead of restoring annual Pro plan and incorrect refund amount issued
- [Bug] API Error: Connection closed mid-response requires manual restart
- [BUG]
- Claude in Chrome extension never connects to Claude Code CLI ("Browser extension is not connected")
- [BUG] Background/Workflow subagents all 401 at OAuth token rollover while the parent session refreshes successfully (spawn-time token capture)
- [BUG] Mobile attach to ONE specific local session returns 401 'OAuth access token expired' after account token rotation; bridge binding is server-authoritative and survives every local remedy
- [Bug] Unable to complete security survey for Linux camera SSH hardening
- [Bug] Rate limit enforcement triggers prematurely at 70% of quota instead of at limit
- [DOCS] [Agent view] Row format and peek panel content updated in v2.1.205: colored state word + classifier-written headline replace raw tool call text, and the peek opens with full status including the exact ask for blocked sessions
- [DOCS] Agent view "Pull request status" only describes sessions opening a PR; v2.1.205 also links existing PRs that a session edits, merges, comments on, or pushes to
- [DOCS] Auto mode classifier rule that blocks tampering with session transcript files is not documented (v2.1.205)
- [BUG] Dispatch on Windows desktop cannot pair with iPhone — mobile shows "Can't reach my desktop"
- [BUG] Zapier MCP OAuth loop — client stuck on "needs authentication" while Zapier dashboard shows connected
- [Bug] Cost inefficiency: Teams launched with Sonnet but sent with Opus for inference
- [DOCS] [Setup page] still describes the npm-install "one-time notice at startup" that v2.1.203 relocates to `/doctor` and `/status`
- [DOCS] `claude agents` empty-state description in Troubleshooting is stale; v2.1.203 replaces the onboarding hint with the Needs input / Working / Completed sections (with descriptions)
- [DOCS] [Background tasks] Document the Windows `/clear` output-file recovery fixed in v2.1.203
- [DOCS] Background daemon auto-upgrade failure now preserves running sessions instead of killing them silently (v2.1.203)
- [DOCS] Background agent working directory deleted, replaced by a file, or invalid: docs do not mention the v2.1.203 "fail once with a clear error" behavior
- [DOCS] Bash tool docs omit the "argument list too long" limit and the v2.1.203 worktree-repo fix
- [DOCS] Manual mode footer indicator: v2.1.203 grey ⏸ badge in the footer for manual permission mode is not documented
- [DOCS] [Authentication] No documentation for the v2.1.203 proactive login-expiry warning that prevents background-session interruption
- [BUG] 'Native installation exists but ~/.local/bin is not in your PATH' warning despite DISABLE_INSTALLATION_CHECKS=1
- sdk-cli mode: Streamable HTTP MCP GET-stream aborts ~200-500ms after connect, tools vanish before first call
Changelog
What's changed
- Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted
- Added a grey ⏸ badge to the footer when in manual permission mode, making the active mode always visible
- Added the session's additional working directories to MCP
roots/list, withnotifications/roots/list_changedsent when the set changes - Fixed opening or switching background agent sessions on macOS stalling for 15–20 seconds due to a false low-memory detection (regression in 2.1.196)
- Fixed background sessions becoming permanently unresponsive to attach, replies, and stop when the daemon's session token went stale — the session now recovers automatically
- Fixed returning to
claude agentssilently stopping running subagents and re-running the prompt from scratch — their work now carries over - Fixed a memory and per-turn CPU regression in interactive sessions: the context-usage indicator no longer re-analyzes the entire transcript after every turn
- Fixed background agents inheriting a stale
PATHfrom the daemon instead of the dispatching shell, causing missing tools on Windows - Fixed background and agent-view sessions dropping a shell-exported
ANTHROPIC_BASE_URL, which sent API keys to the default endpoint and failed with 401 - Fixed Bash failing with "argument list too long" in repos with many git worktrees
- Fixed worktree-isolated subagents sometimes running shell commands in the parent checkout instead of their own worktree
- Fixed worktree creation rejecting nested repositories in multi-repo workspaces, leaving background sessions unable to isolate and edit
- Fixed background agents crash-looping when their working directory was deleted, replaced by a file, or became an invalid path — they now fail once with a clear error
- Fixed a background daemon auto-upgrade failure silently killing all running background sessions
- Fixed
TaskStopandTaskOutputfailing to find background agents spawned by another agent — errors now list running agents by id and description - Fixed the
claude agentscomposer discarding your typed message when a slash command isn't available there - Fixed the agent list crashing when opening a stopped session whose conversation was already open in another session
- Fixed background sessions showing "Needs input" in the agent list after the question was already answered
- Fixed background agent startup failures showing only "exit_with_message" instead of the actual error
- Fixed background sessions ignoring
effortLevelchanges in settings.json when forked through the daemon - Fixed attached background sessions ignoring
CLAUDE_CODE_DISABLE_MOUSEandCLAUDE_CODE_DISABLE_MOUSE_CLICKSopt-outs - Fixed
/exitincorrectly warning about running background agents after all named agents had completed - Fixed background sessions started from a non-git directory unable to edit files when a
WorktreeCreatehook was configured - Fixed the
@directory picker inclaude agentsnot showing registered git worktrees - Fixed background task output on Windows being permanently replaced by an empty file after
/clear - Fixed content jumping when scrolling up through long transcript history
- Fixed the terminal flickering and jumping while typing in bash mode when a shell-history suggestion was shown
- Fixed literal
^[[I/^[[Oescape codes being printed when reattaching to a background session - Fixed LSP-only plugins being incorrectly flagged for disuse when their language servers deliver diagnostics or answer navigation requests
- Improved responsiveness while long responses stream: live-preview updates no longer re-render the whole screen
- Improved subagent behavior: agents are now less likely to re-delegate their entire task to another subagent
- Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily instead of inlining it
- Changed left arrow to no longer close the background tasks, diff, a