{"version":"2.1.269","anchor":"oauth-token-validation-now-classifies-failure-reasons-instea","canonical_anchor":"oauth-token-validation-now-classifies-failure-reasons-instea","heading":"OAuth token validation now classifies failure reasons instead of one generic error","tier":"notice","area":"Auth","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.269\/e\/oauth-token-validation-now-classifies-failure-reasons-instea","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.269","markdown":"### OAuth token validation now classifies failure reasons instead of one generic error\n\nOAuth token validation now reports a specific failure reason instead of one generic error\n\n**What**\n\nWhen Claude Code checks your OAuth token (used for signing in) against the server, it used to fail with one generic error. Now the underlying check returns a structured result: either success with the validated data, or failure with a specific `reason` \u2014 one of `unauthorized`, `forbidden`, `proxy`, `http_error`, `timeout`, `dns`, `connect`, `tls`, or `network_error` \u2014 worked out from the actual HTTP status code or network error encountered.\n\n**Why**\n\nThis lets Claude Code (and anyone debugging a login problem) tell the difference between, say, a DNS lookup failure, a proxy issue, and an expired token, instead of seeing the same undifferentiated error for every kind of failure.\n\n- Area: Auth\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}