Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.221 ·

MCP OAuth tracks the issuer through the callback and token exchange

MCP OAuth now tracks which authorization server issued your token through login, refresh, and storage.

Under the hood Improvements
JSON All of v2.1.221
Under the hoodTier: how much it should matter to you
3Useful: my rating, 1 to 5
0Signal: worth watching, 1 to 5
MCPArea: what it touches
ImprovementsKind: in v2.1.221,
ImprovementsSection of the release
What

The OAuth flow now carries the authorization server issuer from the callback into the token exchange and into stored credentials.

Details
  • both the local callback listener and the manual callback-URL path read the iss query parameter and pass it into the token exchange
  • the local callback server resolves { code, iss } instead of just a code
  • stored and served client information and the token response carry an issuer field, and the token provider returns { ...a, issuer: n?.issuer } on both the refresh and the silent-exchange paths
  • _flowDiscoveryState caches the discovered authorization-server metadata on the provider instance
  • revoke calls a cleanup helper before reporting mcp_oauth_revoke
  • new device-code error sets were added, including authorization_pending
Evidence

authorization_pending, _flowDiscoveryState

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

See this entry in the whole of v2.1.221 →

Feedback