{"version":"2.1.315","anchor":"oauth-refresh-failures-get-three-new-classified-reasons","canonical_anchor":"oauth-refresh-failures-get-three-new-classified-reasons","heading":"Three new reasons for losing sign-in access: not a member, no organization, no account","tier":"notice","area":"Auth","scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315\/e\/oauth-refresh-failures-get-three-new-classified-reasons","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315","markdown":"### Three new reasons for losing sign-in access: not a member, no organization, no account\n\nClaude Code now names three specific reasons a sign-in token fails or is revoked: account not a member, no organization, no account\n\n**Unclear.** It is not stated whether the message you see when login renewal fails changes.\n\n**What**\n\nOAuth is the method Claude Code uses to sign in with your Claude account. It gives Claude Code a token that has to be refreshed from time to time. Token failures and revocations (access being withdrawn) now have three new specific reasons:\n\n- `account_not_member`: the account is no longer a member of the organization (\"Account is no longer a member of the organization\").\n\n- `token_no_organization`: the token has no organization attached.\n\n- `token_no_account`: the token has no account attached.\n\nWhen a token refresh failed for one of these reasons, it used to be classed as \"other\". The list of revocation reasons used to end at `application_deactivated`.\n\nThe record of which account a session belongs to also changed. It now keeps the matched identity in `attributedPrincipalIdentity`, and it adds `unnamedStampSalt` and `tunnelEpochHeard`.\n\n**Why**\n\nLosing access because you left or were removed from an organization is now told apart from other sign-in failures. The same goes for a token that is missing its organization or account. Claude Code keeps a more specific record of why access stopped working.\n\n- Area: Auth\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: both\n- Heads-up: no"}