{"name":"tengu_oauth_refresh_invalid_scope_fallback","slug":"tengu-oauth-refresh-invalid-scope-fallback","family":"flag","title":"Feature flags","noun":"feature flag","description":"If a server rejects the new expanded OAuth scope request, Claude Code retries once with the old scopes","description_source":"entry","described_by":{"version":"2.1.269","anchor":"refresh-retries-once-with-the-full-scope-set-if-the-server-r"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.308","builds":0,"mined_builds":149,"first_cited":{"version":"2.1.269","released_at":"2026-09-11 18:12:49","spans":1}},"aliases":[],"entries":[{"version":"2.1.269","anchor":"refresh-retries-once-with-the-full-scope-set-if-the-server-r","heading":"Refresh retries once with the full scope set if the server rejects an expanded scope request","line":"If a server rejects the new expanded OAuth scope request, Claude Code retries once with the old scopes","released_at":"2026-09-11 18:12:49","reason":"gate cited by this entry"},{"version":"2.1.269","anchor":"oauth-refresh-now-tracks-whether-the-plugins-scope-was-reque","heading":"OAuth refresh now tracks whether the plugins scope was requested\/granted, with automatic downgrade retry on invalid_scope","line":"OAuth token refresh now requests a plugins scope and retries without it if the server rejects the scope","released_at":"2026-09-11 18:12:49","reason":"gate cited by this entry"}],"entries_total":2,"docs":[],"docs_total":0,"gates":[],"related":[{"name":"tengu_oauth_refresh_token_account_on_hold","slug":"tengu-oauth-refresh-token-account-on-hold","description":"OAuth token refresh now recognizes an 'account on hold' response as its own outcome"},{"name":"tengu_oauth_refresh_token_cleared_invalid_grant","slug":"tengu-oauth-refresh-token-cleared-invalid-grant","description":null}],"url":"https:\/\/changelogs.core-directive.com\/reference\/flag\/tengu-oauth-refresh-invalid-scope-fallback","family_url":"https:\/\/changelogs.core-directive.com\/reference\/flag.json"}