Claude Code 2.1.239: what you were paying without seeing it, and Windows joins cross-session messaging
One release, 61 entries, and a thread that is all about money: the data residency premium finally shows up in cost estimates, a Bedrock bug was silently doubling your billed API calls, and the usage limit message now tells you when it resets. Plus cross-session messaging landing on native Windows.
2.1.239 shipped on August 21 with 61 entries, nearly all of them fixes. Read line by line it is unreadable. Read by theme, one thing stands out: several of these fixes are about money you were spending without seeing it go.
What your bill was not showing you
Four entries, one subject.
The data residency premium now shows up in estimates. If your organization runs a workspace configured for US-only inference, billing applies a 1.1x multiplier across every token category, input, output, cache writes and cache reads, for models from the 4.6 generation onward. It is spelled out in the data residency docs. What 2.1.239 changes is that /cost, the status line and --max-budget-usd finally account for it. Before this, your displayed budget was systematically 10 % low in that setup, and a tightly calibrated --max-budget-usd would let you overshoot without warning.
The most expensive fix is a Bedrock one. Behind a proxy that strips the response Content-Type header, Bedrock streaming failed, and Claude Code re-ran every turn non-streaming as a result. The count of billed API calls doubled, silently, with nothing visible on your side. If you run on Bedrock behind a corporate proxy, this is a today update, not a next-week one.
The usage limit message finally says when it resets. When your monthly spend limit is already used up, the message now also tells you when your session or weekly limit resets. Knowing you are blocked without knowing until when is the annoying version of the problem.
The retry watchdog stops waiting for nothing. CLAUDE_CODE_RETRY_WATCHDOG now fails immediately on organization spend-limit and out-of-credits errors, instead of waiting indefinitely for a reset that is never coming.
A masked field that was not quite masked
The real security fix in this release is about masked input fields, the ones showing dots instead of characters, such as the login code field. Their contents could be pasted back elsewhere with Ctrl+Y, or end up saved to prompt history when the field was cleared with a double Esc. A masked field that leaks its value through the internal clipboard or the history is not masking anything.
In the same vein, a request rejected by an organization policy check was being re-sent before the rejection was even shown.
Cross-session messaging lands on native Windows
This is the one genuine feature addition in the release. Until now, getting two Claude Code sessions to talk to each other with SendMessage and ListAgents required macOS, Linux, or Linux inside WSL 2. Native Windows is now in, from 2.1.234 according to the official docs, using a per-session named pipe instead of a Unix socket.
Three fixes finish making the feature usable:
ListAgentsnow tells a session its own name, the one peers use to reach it. Before, a session addressing a message to itself got back "no agent named that", which helped nobody.- Agent team teammates finally appear in the listing. Claude could already message them by name, but a reachable teammate was displayed as absent.
- Sessions whose title starts with
/were flatly unaddressable and showed up as "(untitled)".
Two limits are worth knowing before you build on this, because the docs spell them out and the changelog does not. Messaging is not available on Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform or Microsoft Foundry. And a session inside WSL 2 cannot reach a native Windows session on the same computer: they register under different home directories and listen on different channel types.
/claude-api upgrade to migrate your Python
The claude-api skill gains a /claude-api upgrade command that migrates a Python project from the anthropic SDK 0.x to 1.x. The detail that saves you an hour of searching: in 1.x, timeouts use anthropic.Timeout, not httpx.Timeout. The skill's Python reference was updated in the same pass.
The rest, briefly
- Alpine and musl: native image paste, clipboard and audio capture add-ons finally load, using musl-built binaries instead of the glibc ones the runtime was refusing.
- A UTF-8 BOM at the start of a
.mdfile silently caused the matching agent, skill or command to be ignored. If you have a skill that "never triggers" for no reason, check the first byte of the file. - Linux sandbox: a nonexistent
.git/config.worktreebecame unreadable, which broke every sandboxed git command in repositories withextensions.worktreeConfigset. - WebFetch was keeping expired page content in memory for the whole session, instead of the intended 15 minutes.
- An Esc race: pressing Esc with a prompt queued could let the next turn finish early, leaving the session idle while Claude was still working, and a later resubmit repeated actions.
/goalbacks off its check-ins on long-running background work: 30 minutes, then 1 hour, then every 2 hours, instead of every 30 minutes forever.- Cloud sessions: plugins synced from claude.ai now show as
name@syncedand no longer override a same-named plugin you installed yourself. - Claude Code on the web: Bash and other tool requests to non-API
anthropic.comhosts, such aswwwordocs, now go through the session's network proxy, so your environment's allowed domains apply. - A solid dozen fullscreen rendering fixes, including slash-command panels covering the latest messages and the
dark-ansitheme rendering text in the background color.
What to take away
If you are on Bedrock behind a corporate proxy, update now: you were potentially paying double without knowing it. If your organization uses a data residency workspace, your cost estimates were 10 % off and no longer are. And if you run several Claude Code sessions in parallel on Windows, cross-session messaging just opened up to you.
Pierre Rondeau
Developer and indie builder. I build products and automations with AI. Creator of Claude Hub.
LinkedIn