diff --git a/CHANGELOG.md b/CHANGELOG.md
index e02bb2eeb..f877eb711 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,30 @@
# Changelog
+## 2.1.163
+
+- Added `requiredMinimumVersion` and `requiredMaximumVersion` managed settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version
+- Added `/plugin list` command to list installed plugins, with `--enabled`/`--disabled` filters
+- Added a "c to copy" shortcut to `/btw` that copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere
+- Hooks: Stop and SubagentStop hooks can now return `hookSpecificOutput.additionalContext` to give Claude feedback and keep the turn going without being labeled a hook error
+- Skills: added `\$` escape syntax to include a literal `$` before a digit in command bodies
+- stdio MCP servers now receive the same `CLAUDE_CODE_SESSION_ID` as hooks/Bash on `--resume`
+- Fixed `claude -p` hanging forever after its final result when a backgrounded command never exits — background shells are now stopped ~5s after the result once stdin closes
+- Fixed `claude -p` failing with "ANTHROPIC_API_KEY required" on Bedrock/Vertex/Foundry when `CI=true` and no Anthropic API key is set
+- Fixed bash commands failing under bazel and EDR-protected Go workflows: `$TMPDIR` was overridden to `/tmp/claude-{uid}` for all commands instead of only sandboxed ones (regression in 2.1.154)
+- Fixed Bash commands failing on Windows with "EEXIST: file already exists" on the session-env directory when it has the read-only attribute or is inside OneDrive
+- Fixed org-managed permission rules not applying for the entire session when the managed settings fetch completed during startup on a fresh config directory
+- Fixed background sessions in `claude agents` losing their running background tasks when reattached after a Claude Code update
+- Fixed terminal misalignment and a multi-second hang when exiting the agent view by pressing Esc
+- Fixed clicking Stop on a background-task chip in the desktop app not clearing the chip when the underlying process was already gone
+- Fixed keyboard input becoming permanently unresponsive after a paste operation whose end marker is dropped by the terminal
+- Fixed hook `if: "Bash(...)"` conditions firing on every Bash command containing `$()` or `$VAR`; the pattern now matches against commands inside subshells and backticks too
+- Fixed deny rules on home-directory paths (e.g. `Read(~/Desktop/**)`) not blocking Bash commands that reference the path via `$HOME`
+- Fixed a stray "(no content)" line left in the transcript after closing panel dialogs like /mcp and /plugins
+- Background agent sessions now update to a new Claude Code version in the background, so opening a session after an update no longer waits on a cold restart
+- Clearer descriptions for built-in commands and skills in the / menu
+- The subscription-switch suggestion now shows in the startup announcement slot instead of a toast
+- `claude agents` dispatching from the state-grouped view now starts the session in the directory the agent view was opened from
+
## 2.1.162
- `claude agents --json` now includes `waitingFor` showing what a waiting session is blocked on (e.g. permission prompt)
diff --git a/feed.xml b/feed.xml
index ae4f1dae1..48d639b9a 100644
--- a/feed.xml
+++ b/feed.xml
@@ -6,7 +6,35 @@
Anthropic
- 2026-06-03T21:31:28Z
+ 2026-06-04T21:52:45Z
+
+ https://github.com/anthropics/claude-code/releases/tag/v2.1.163
+ Claude Code v2.1.163
+
+ 2026-06-04T21:52:45Z
+ <p>• Added requiredMinimumVersion and requiredMaximumVersion managed settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version</p>
+<p>• Added /plugin list command to list installed plugins, with --enabled/--disabled filters</p>
+<p>• Added a "c to copy" shortcut to /btw that copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere</p>
+<p>• Hooks: Stop and SubagentStop hooks can now return hookSpecificOutput.additionalContext to give Claude feedback and keep the turn going without being labeled a hook error</p>
+<p>• Skills: added \$ escape syntax to include a literal $ before a digit in command bodies</p>
+<p>• stdio MCP servers now receive the same CLAUDE_CODE_SESSION_ID as hooks/Bash on --resume</p>
+<p>• Fixed claude -p hanging forever after its final result when a backgrounded command never exits — background shells are now stopped ~5s after the result once stdin closes</p>
+<p>• Fixed claude -p failing with "ANTHROPIC_API_KEY required" on Bedrock/Vertex/Foundry when CI=true and no Anthropic API key is set</p>
+<p>• Fixed bash commands failing under bazel and EDR-protected Go workflows: $TMPDIR was overridden to /tmp/claude-{uid} for all commands instead of only sandboxed ones (regression in 2.1.154)</p>
+<p>• Fixed Bash commands failing on Windows with "EEXIST: file already exists" on the session-env directory when it has the read-only attribute or is inside OneDrive</p>
+<p>• Fixed org-managed permission rules not applying for the entire session when the managed settings fetch completed during startup on a fresh config directory</p>
+<p>• Fixed background sessions in claude agents losing their running background tasks when reattached after a Claude Code update</p>
+<p>• Fixed terminal misalignment and a multi-second hang when exiting the agent view by pressing Esc</p>
+<p>• Fixed clicking Stop on a background-task chip in the desktop app not clearing the chip when the underlying process was already gone</p>
+<p>• Fixed keyboard input becoming permanently unresponsive after a paste operation whose end marker is dropped by the terminal</p>
+<p>• Fixed hook if: "Bash(...)" conditions firing on every Bash command containing $() or $VAR; the pattern now matches against commands inside subshells and backticks too</p>
+<p>• Fixed deny rules on home-directory paths (e.g. Read(~/Desktop/**)) not blocking Bash commands that reference the path via $HOME</p>
+<p>• Fixed a stray "(no content)" line left in the transcript after closing panel dialogs like /mcp and /plugins</p>
+<p>• Background agent sessions now update to a new Claude Code version in the background, so opening a session after an update no longer waits on a cold restart</p>
+<p>• Clearer descriptions for built-in commands and skills in the / menu</p>
+<p>• The subscription-switch suggestion now shows in the startup announcement slot instead of a toast</p>
+<p>• claude agents dispatching from the state-grouped view now starts the session in the directory the agent view was opened from</p>
+ https://github.com/anthropics/claude-code/releases/tag/v2.1.162Claude Code v2.1.162
@@ -596,23 +624,4 @@
<p>• claude agents no longer shows empty placeholder sessions left over from backgrounding a fresh REPL, and shows onboarding text when entered via ← with no other agents</p>
<p>• Empty idle background sessions left over from ← are now automatically retired by the daemon after 5 minutes</p>
-
- https://github.com/anthropics/claude-code/releases/tag/v2.1.140
- Claude Code v2.1.140
-
- 2026-05-18T01:52:01Z
- <p>• Improved Agent tool subagent_type matching to accept case- and separator-insensitive values (e.g. "Code Reviewer" resolves to code-reviewer)</p>
-<p>• Updated agent color palette</p>
-<p>• Fixed /goal silently hanging when disableAllHooks or allowManagedHooksOnly is set — now shows a clear message instead of an indicator that never resolves</p>
-<p>• Fixed a regression in settings hot-reload where symlinked settings files caused misattributed change events and spurious ConfigChange hooks</p>
-<p>• Fixed claude --bg failing with "connection dropped mid-request" when the background service was about to idle-exit</p>
-<p>• Fixed background service startup failing on machines with enterprise endpoint security by allowing more time</p>
-<p>• Fixed remote managed settings not retrying on 401 — now retries once with a force-refreshed token</p>
-<p>• Fixed managed extraKnownMarketplaces auto-update policy not being persisted to known_marketplaces.json</p>
-<p>• Fixed /loop scheduling redundant wakeups to poll for background tasks that already notify on completion</p>
-<p>• Fixed a recurring event-loop stall on Windows when a missing executable (e.g. gh) triggered synchronous where.exe re-spawns on every check</p>
-<p>• Fixed Read tool calls failing validation when offset is passed as a whitespace-padded or +-prefixed string</p>
-<p>• Fixed native terminal cursor not staying at the input caret when the terminal loses focus</p>
-<p>• Plugins now warn when a default component folder (e.g. commands/) is silently ignored because plugin.json sets the matching key. Shown in /doctor, claude plugin list, and /plugin.</p>
-