Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.247 Home All releases olderv2.1.246 v2.1.248newer
Claude Code v2.1.247

Gateway sign-in and token refresh now identify themselves

Under the hood
Useful2 Signal2
Auth

Cloud sign-in requests now identify themselves to proxies and identity providers instead of going out anonymous.

What

Every HTTP request in the cloud-gateway authentication flow now carries a User-Agent header naming Claude Code, where before they went out unidentified and could be rejected or left unattributable by identity providers and proxies in front of them. The device-authorization step also now sends a form body naming the surface it is signing in from rather than an empty body.

Details
  • The header is set on OAuth discovery, device authorization and token polling during sign-in, and on the POST that refreshes an existing gateway token, where it sits alongside the form content type already on that request.
  • Affects the gateway login path, which you are put on when managed settings force that sign-in method.
  • A device-authorization endpoint that replies with something unparseable still surfaces its own distinct error, gateway device authorization endpoint returned malformed response.
Evidence

"User-Agent": pr(),, gateway device authorization endpoint returned malformed response

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.247 →