{"version":"2.1.268","anchor":"403-responses-with-oauth-scope-insufficient-now-classified-a","canonical_anchor":"403-responses-with-oauth-scope-insufficient-now-classified-a","heading":"Insufficient-permission errors now classified as 'not_permitted'","tier":"notice","area":"Errors","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.268\/e\/403-responses-with-oauth-scope-insufficient-now-classified-a","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.268","markdown":"### Insufficient-permission errors now classified as 'not_permitted'\n\nClaude Code now recognizes 403 permission errors distinctly and stops retrying catalog fetches that fail this way\n\n**What**\n\n- When a server responds with a 403 error whose body contains the code `oauth_scope_insufficient`, Claude Code now classifies it specifically as `not_permitted` (with an `errorCode` of `oauth_scope_insufficient`) instead of treating it as a generic HTTP error.\n\n- When fetching the marketplace\/plugin catalog fails for this `not_permitted` reason, Claude Code now records a `servedCatalogNotPermitted` flag and short-circuits to using the cached catalog only, instead of retrying the network fetch.\n\n- Error results throughout this path can now carry an optional `errorCode` field.\n\n**Why**\n\nBefore this change, a permissions problem could look like a generic network failure and cause Claude Code to keep retrying a fetch that was never going to succeed. Recognizing the specific 'not permitted' case lets it fail fast and fall back to cached data instead.\n\n- Area: Errors\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5"}