> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# CredentialRefreshFallbackReason

> Diagnostic detail for CredentialRefreshFallbackWarning.

```ts
type CredentialRefreshFallbackReason =
  | "no-scope"
  | "no-dpop-support"
  | "endpoint-failed"
  | "activation-timeout"
  | (string & {})
```

Diagnostic detail for [`CredentialRefreshFallbackWarning`](/docs/browser-sdk/v4/reference/interfaces/credential-refresh-fallback-warning).

Stable values, but treat unknown strings as "fell back for an unspecified
cause" — do not branch on this value for control flow. New values may be added
in future releases.

* `'no-scope'`           – The minted SAT lacks `sat:refresh` scope
* `'no-dpop-support'`    – The platform does not support DPoP key binding
* `'endpoint-failed'`    – The `/devices/token` exchange failed transiently (see [`DeviceTokenError`](/docs/browser-sdk/v4/reference/errors/device-token-error))
* `'activation-timeout'` – Device-token activation did not resolve in time