Group of 2 You'll notice
Claude Code now recognizes 403 permission errors distinctly and stops retrying catalog fetches that fail this way
What
- When a server responds with a 403 error whose body contains the code
oauth_scope_insufficient, Claude Code now classifies it specifically asnot_permitted(with anerrorCodeofoauth_scope_insufficient) instead of treating it as a generic HTTP error. - When fetching the marketplace/plugin catalog fails for this
not_permittedreason, Claude Code now records aservedCatalogNotPermittedflag and short-circuits to using the cached catalog only, instead of retrying the network fetch. - Error results throughout this path can now carry an optional
errorCodefield.
Why
Before 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.