Claude Code v2.1.239: Data-Residency Cost Estimates, /claude-api upgrade for anthropic 1.x, and Cross-Session Messaging on Windows
Claude Code v2.1.239 adds the 1.1× data-residency premium to cost estimates, /claude-api upgrade for anthropic 1.x, synced cloud plugins, Windows cross-session messaging, and a fix for doubled Bedrock API calls.
Claude Code v2.1.239 is a large release with 59 changelog entries. It updates cost estimates for data-residency workspaces, adds a /claude-api upgrade command for moving Python projects to anthropic 1.x, extends the fullscreen renderer offer to Bedrock, Vertex, Foundry, and other previously excluded setups, and brings cross-session messaging to Windows. It also fixes a Bedrock streaming issue that silently doubled billed API calls behind some proxies, along with many fixes to resume, fullscreen, keyboard editing, and agent messaging.
What’s New
Data-Residency Premium in Cost Estimates
Cost estimates in /cost, the status line, and --max-budget-usd now include the 1.1× US-only-inference premium for data-residency workspaces.
/claude-api upgrade for anthropic 1.x
The new /claude-api upgrade migrates Python projects from anthropic 0.x to 1.x. The skill’s Python reference is also updated for 1.x; for example, timeouts use anthropic.Timeout, not httpx.Timeout.
Fullscreen Renderer Offer on More Setups
The one-time fullscreen renderer offer now appears on Bedrock, Vertex, Foundry, and other previously excluded setups, and new installs there now start in fullscreen.
Synced Plugins in Cloud Sessions
In cloud sessions, plugins synced from claude.ai now show as name@synced and work with claude plugin enable/disable <name>@synced. They never override a same-named plugin you installed.
Cross-Session Messaging on Windows
Cross-session messaging is now available on Windows, so Claude Code sessions across your machines can message each other with SendMessage and find each other with ListAgents, as on macOS and Linux.
Better Agent and Teammate Discovery
ListAgents now tells a session its own name (the one peers use to message it), and SendMessage to your own name says so instead of “no agent named …”. ListAgents and /list-agents now also list your live teammates; previously only subagents and other sessions appeared, so a reachable teammate looked absent.
/goal Check-In Backoff and Resume
Repeat /goal check-ins on long-running background work now back off (30 minutes, then 1 hour, then every 2 hours) instead of repeating every 30 minutes. Resuming a session from the claude --resume picker now restores its active goal.
Readline Word Keys
With keybindingFlavor: "readline", word keys now also match Bash: Alt+F and Ctrl/Option+→ stop at the end of the word, Alt+D deletes to it (Ctrl+Y pastes it back), and punctuation separates words.
Fixes and Improvements
- Bedrock and proxies: Bedrock streaming behind proxies that strip the response Content-Type header no longer silently doubles billed API calls by re-running every turn non-streaming. Claude Code no longer hangs at startup behind an HTTPS proxy when using Bedrock with an SSO profile and
awsAuthRefresh, because the credential pre-check now honorsHTTPS_PROXY. - Usage limits and retries: When your monthly spend limit is already used up, the usage-limit message now also says when your session or weekly limit resets. Persistent retry mode (
CLAUDE_CODE_RETRY_WATCHDOG) now fails immediately on organization spend-limit and out-of-credits errors instead of waiting indefinitely for a reset. - Interrupting turns: A race is fixed where pressing Esc with a prompt queued could let the next turn finish early, leaving the session idle while Claude was still working and letting a later resubmit repeat actions.
- Resume:
claude -c/resume no longer picks up sessions from a different directory whose path differed only by characters like_,-, or../resumein all-projects mode no longer tells you tocdinto a deleted directory (e.g. a removed worktree); such sessions now resume in the current directory. - Cloud and remote sessions: Cloud sessions (Claude Code on the web, desktop and mobile apps) no longer resume out of plan mode after an idle worker restart. Remote sessions keep sending keep-alives while a long
SessionStartorSetuphook runs, so the container is not idle-reaped mid-hook. - Claude Code on the web: Requests from Bash and other tools to non-API anthropic.com hosts (e.g. www, docs) now go through the session’s network proxy, so your environment’s allowed domains apply.
- MCP and WebFetch: Remote MCP servers no longer stay failed after a transient 5xx on a mid-session reconnect in cloud sessions or via SDK
setMcpServers(). WebFetch no longer retains expired page content in memory for the whole session instead of the intended 15 minutes. - Fullscreen: Clicking the terminal window only to bring it back into focus no longer answers a permission prompt or presses a button.
- Agents, skills, and hooks: Agents, skills, and commands whose
.mdfile starts with a UTF-8 BOM are no longer silently ignored. Hooks no longer fail with “posix_spawn ENOENT” after the session’s working directory is deleted; they now run from the project root or home directory instead. - Linux sandbox: The Linux sandbox no longer makes a nonexistent
.git/config.worktreeunreadable, which had broken every sandboxed git command in repos withextensions.worktreeConfigset. - Platforms and IDEs: Alpine/musl builds now load the native image paste, clipboard, and audio-capture add-ons. Edit and Write calls no longer pause for about 5 seconds in JetBrains IDE terminals when the Claude Code plugin is connected.
- Input privacy: Masked (password-style) inputs such as the login code field no longer let their text be pasted back with Ctrl+Y elsewhere or saved to prompt history when cleared with double Esc.
- Claude in Chrome:
/clearnow closes the session’s Chrome tab group, and empty groups are closed on/resumeand when Claude Code exits.
This release contains 59 changes in total; see the official changelog linked below for the complete list.
How to Update
- Check your installed version:
claude --version - Update in place:
claude update - If you use a data-residency workspace with
--max-budget-usd, note that cost estimates now include the 1.1× US-only-inference premium.