diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6d222e951..3281a9a17 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,45 @@
# Changelog
+## 2.1.203
+
+- 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`, with `notifications/roots/list_changed` sent 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 agents` silently 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 `PATH` from 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 `TaskStop` and `TaskOutput` failing to find background agents spawned by another agent — errors now list running agents by id and description
+- Fixed the `claude agents` composer 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 `effortLevel` changes in settings.json when forked through the daemon
+- Fixed attached background sessions ignoring `CLAUDE_CODE_DISABLE_MOUSE` and `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` opt-outs
+- Fixed `/exit` incorrectly 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 `WorktreeCreate` hook was configured
+- Fixed the `@` directory picker in `claude agents` not 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` / `^[[O` escape 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, and workflow detail views — press Esc instead
+- Changed the empty `claude agents` view to always show the organized sections (Needs input / Working / Completed) with descriptions
+- Removed the startup "claude command missing or broken" warnings — they now appear in `/doctor` and `/status` instead
+- Removed a redundant navigation hint from the `claude agents` footer
+- [VSCode] Added a Settings toggle for "Enable Remote Control for all sessions"
+
## 2.1.202
- Added a "Dynamic workflow size" setting in `/config` for controlling how large Claude generally makes dynamic workflows (small/medium/large agent counts) — an advisory guideline, not an enforced cap
diff --git a/feed.xml b/feed.xml
index d2dd60423..6f689953e 100644
--- a/feed.xml
+++ b/feed.xml
@@ -6,7 +6,50 @@
Anthropic
- 2026-07-06T22:51:10Z
+ 2026-07-07T21:06:03Z
+
+ https://github.com/anthropics/claude-code/releases/tag/v2.1.203
+ Claude Code v2.1.203
+
+ 2026-07-07T21:06:03Z
+ <p>• Added a warning when your login is about to expire, so you can re-authenticate before background sessions are interrupted</p>
+<p>• Added a grey ⏸ badge to the footer when in manual permission mode, making the active mode always visible</p>
+<p>• Added the session's additional working directories to MCP roots/list, with notifications/roots/list_changed sent when the set changes</p>
+<p>• 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)</p>
+<p>• Fixed background sessions becoming permanently unresponsive to attach, replies, and stop when the daemon's session token went stale — the session now recovers automatically</p>
+<p>• Fixed returning to claude agents silently stopping running subagents and re-running the prompt from scratch — their work now carries over</p>
+<p>• 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</p>
+<p>• Fixed background agents inheriting a stale PATH from the daemon instead of the dispatching shell, causing missing tools on Windows</p>
+<p>• 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</p>
+<p>• Fixed Bash failing with "argument list too long" in repos with many git worktrees</p>
+<p>• Fixed worktree-isolated subagents sometimes running shell commands in the parent checkout instead of their own worktree</p>
+<p>• Fixed worktree creation rejecting nested repositories in multi-repo workspaces, leaving background sessions unable to isolate and edit</p>
+<p>• 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</p>
+<p>• Fixed a background daemon auto-upgrade failure silently killing all running background sessions</p>
+<p>• Fixed TaskStop and TaskOutput failing to find background agents spawned by another agent — errors now list running agents by id and description</p>
+<p>• Fixed the claude agents composer discarding your typed message when a slash command isn't available there</p>
+<p>• Fixed the agent list crashing when opening a stopped session whose conversation was already open in another session</p>
+<p>• Fixed background sessions showing "Needs input" in the agent list after the question was already answered</p>
+<p>• Fixed background agent startup failures showing only "exit_with_message" instead of the actual error</p>
+<p>• Fixed background sessions ignoring effortLevel changes in settings.json when forked through the daemon</p>
+<p>• Fixed attached background sessions ignoring CLAUDE_CODE_DISABLE_MOUSE and CLAUDE_CODE_DISABLE_MOUSE_CLICKS opt-outs</p>
+<p>• Fixed /exit incorrectly warning about running background agents after all named agents had completed</p>
+<p>• Fixed background sessions started from a non-git directory unable to edit files when a WorktreeCreate hook was configured</p>
+<p>• Fixed the @ directory picker in claude agents not showing registered git worktrees</p>
+<p>• Fixed background task output on Windows being permanently replaced by an empty file after /clear</p>
+<p>• Fixed content jumping when scrolling up through long transcript history</p>
+<p>• Fixed the terminal flickering and jumping while typing in bash mode when a shell-history suggestion was shown</p>
+<p>• Fixed literal ^[[I / ^[[O escape codes being printed when reattaching to a background session</p>
+<p>• Fixed LSP-only plugins being incorrectly flagged for disuse when their language servers deliver diagnostics or answer navigation requests</p>
+<p>• Improved responsiveness while long responses stream: live-preview updates no longer re-render the whole screen</p>
+<p>• Improved subagent behavior: agents are now less likely to re-delegate their entire task to another subagent</p>
+<p>• Reduced binary size by ~7 MB and startup memory by ~7 MB by loading a large bundled dependency lazily instead of inlining it</p>
+<p>• Changed left arrow to no longer close the background tasks, diff, and workflow detail views — press Esc instead</p>
+<p>• Changed the empty claude agents view to always show the organized sections (Needs input / Working / Completed) with descriptions</p>
+<p>• Removed the startup "claude command missing or broken" warnings — they now appear in /doctor and /status instead</p>
+<p>• Removed a redundant navigation hint from the claude agents footer</p>
+<p>• [VSCode] Added a Settings toggle for "Enable Remote Control for all sessions"</p>
+ https://github.com/anthropics/claude-code/releases/tag/v2.1.202Claude Code v2.1.202
@@ -456,11 +499,4 @@
<p>• Fixed cloud sessions failing with "Could not resolve authentication method" when idle for too long before being claimed</p>
<p>• Background sessions now show clearer guidance when a window left open across an auto-update can't submit a reply, and claude daemon status explains version-skew behavior</p>
-
- https://github.com/anthropics/claude-code/releases/tag/v2.1.175
- Claude Code v2.1.175
-
- 2026-06-12T04:23:45Z
- <p>• Added enforceAvailableModels managed setting — when enabled, the availableModels allowlist also constrains the Default model (a Default that would resolve to a disallowed model now falls back to the first allowed model), and user or project settings can no longer widen a managed availableModels list</p>
-