Claude Code v2.1.239: Squashing a Bug That Doubled Your Bedrock Bill!
Hey, it's me, Shiichan! Today I'm covering Claude Code's latest release, v2.1.239. It's a bigger one than usual, and buried in there is a fix for a billing bug that's more important than it looks!
Claude Code ReleaseWhat was announced?
Claude Code's GitHub release page published the changes for v2.1.239. Alongside new features, it bundles a fix for a Bedrock billing issue and bugs across the fullscreen renderer, Windows, and JetBrains IDE terminals.
The story so far
There was a genuinely annoying issue here. If your environment had a proxy in front of Bedrock that stripped the Content-Type header from streaming responses, Claude Code couldn't detect it, so it silently gave up on streaming and re-ran the entire turn non-streaming instead. Because this happened invisibly, you could end up billed twice for a single turn's API calls without ever knowing it.
On top of that, a few other things quietly hurt the developer experience: startup could hang behind an HTTPS proxy when using Bedrock with an SSO profile and awsAuthRefresh, and launching from a directory that no longer existed produced a raw crash dump instead of a clear message.
What changes
First, the important billing and startup fixes:
- Bedrock streaming now works correctly even behind proxies that strip the Content-Type header, fixing the bug where a turn silently re-ran non-streaming and doubled billed API calls
- Startup no longer hangs behind an HTTPS proxy with Bedrock, an SSO profile, and
awsAuthRefresh(the credential pre-check now honorsHTTPS_PROXY) - Starting Claude Code from a directory that no longer exists now shows a clear message instead of a raw crash dump
- Edit and Write calls no longer pause for about 5 seconds in JetBrains IDE terminals
There's new functionality too:
- Cost estimates in
/cost, the status line, and--max-budget-usdnow include the 1.1x "US-only-inference" premium for data-residency workspaces /claude-api upgradewas added to migrate Python projects from the anthropic library's 0.x to 1.x (note that timeouts move toanthropic.Timeout)- Windows now supports cross-session messaging, so
SendMessageandListAgentscan reach Claude Code sessions across your machines, matching macOS and Linux - In Claude in Chrome, running
/clearnow closes that session's Chrome tab group
Dive Deep
There's a cluster of fullscreen renderer improvements too:
- The one-time fullscreen renderer offer now reaches previously excluded setups like Bedrock, Vertex, and Foundry, and new installs there start in fullscreen
- Fixed MCP elicitation forms taller than the terminal getting clipped in fullscreen mode — the form now fits the window, hidden fields are reachable by scrolling, and Accept/Decline stay visible
- Fixed the fullscreen renderer prompt reappearing on every launch when it could never be answered; it now stops after three launches
- Fixed the
dark-ansitheme rendering expanded tool results in fullscreen with text the same color as the background
Plenty of smaller fixes landed as well: Alpine/musl builds can now load native image paste, clipboard, and audio-capture add-ons; WebFetch no longer keeps expired page content cached for the whole session instead of the intended 15 minutes; remote MCP servers no longer stay stuck as failed after a transient 5xx error. There's also a fix for marketplace metadata.pluginRoot having no effect, and a fix for runaway session-title syncing to Remote Control (a regression from 2.1.232).
Wrap-up
- A bug where Bedrock streaming behind certain proxies silently doubled billed API calls is fixed — this one may have quietly cost some people money
- Quiet-but-annoying issues like startup hangs, raw crash dumps, and JetBrains delays are fixed too
- New features include
/claude-api upgrade, Windows cross-session messaging, and Chrome tab group syncing - Lots of fixes for clipping and repeated prompts in the fullscreen renderer
- Especially useful if you use Claude Code with Bedrock, JetBrains, Windows, or fullscreen mode.