A proxy that stripped one header was doubling Claude Code's API bill

Version 2.1.239 fixes streaming on Bedrock behind proxies that remove the response Content-Type header. Claude Code silently fell back to re-running every turn without streaming, and each turn was billed twice. The same release makes cost estimates show the 1.1× premium that data-residency workspaces pay.

Anthropic shipped Claude Code 2.1.239 on 21 August, followed by 2.1.240 and 2.1.241 on the two days after, both of which carry only bug fixes and reliability work. The one worth reading is the first, and the line worth reading twice is about money: on Amazon Bedrock, behind a proxy that strips the response Content-Type header, streaming failed in a way nobody could see. Claude Code re-ran the turn without streaming, so every turn went to the API twice and was billed twice. The bug that cost money quietly Nothing in the interface said anything was wrong. A turn that runs twice looks like a turn that ran once — the answer arrives, the work continues, and the difference shows up only on the invoice at the end of the month. Corporate proxies that rewrite or drop response headers are common enough that this was not an edge case for the people it hit. The same release also fixes Claude Code hanging at startup behind an HTTPS proxy when Bedrock is used with an SSO profile and awsAuthRefresh. The credential pre-check now honours HTTPS_PROXY, which is the setting the rest of the session already respected. What the cost figures were not saying Cost estimates in /cost, in the status line and behind --max-budget-usd now include the 1.1× premium charged for US-only inference in data-residency workspaces. Until this release the numbers were ten percent low for exactly the customers who cannot choose where their inference runs, which is the group least able to opt out of the surcharge. A related fix: the message shown when a monthly spend limit is exhausted now also says when the session and weekly limits reset. Knowing that the wall is monthly rather than hourly changes what you do next. Everything else Beyond the billing fixes, 2.1.239 carries about fifty entries. A new /claude-api upgrade migrates Python projects from the anthropic 0.x SDK to 1.x, where timeouts moved from httpx.Timeout to anthropic.Timeout. Alpine and musl builds finally load the native add-ons for image paste, clipboard and audio capture, because the binaries shipped for them are musl-built rather than glibc ones the runtime refused. Windows gets cross-session messaging, so sessions on different machines can reach each other with SendMessage and find each other with ListAgents, as they already could on macOS and Linux. ListAgents now also tells a session its own name — the one peers use to address it — and lists live teammates rather than only subagents. Check-ins from /goal on long-running background work now back off to 30 minutes, then an hour, then every two hours, instead of repeating every half hour.