Claude Code now logs a specific reason (credential_scope) when it falls back to the built-in model list due to credential permissions
When the model list Claude Code shows can't be fetched because the current credentials aren't allowed to read the server's model data, it now records a telemetry event, model_catalog_primary, with decision: 'off' and off_reason: 'credential_scope'. The event also logs the HTTP status and refusal code involved, before Claude Code falls back to its built-in, compiled-in list of models.
This makes it possible to tell, from telemetry, specifically when a fallback to the built-in model list happened because of a credential's permissions, rather than some other failure.