# Model fallback

Recover from provider errors without losing your prompt.

When a turn fails because of a recoverable provider error — expired token (401), permission denied (403), rate limit (429), provider outage (502/503/504), or a transient network failure — zot opens an inline rescue picker over the chat instead of just painting a red banner.

The picker is the same UI as `/model`, but only shows models from providers you are currently logged in to. The failed model is excluded. Pick one and `enter` retries the same prompt on the new model; `esc` dismisses.

Before the picker fires, every provider client does up to two silent retries with short backoff on 502/503/504 and connection-reset errors, so most edge-proxy blips disappear without you seeing it.

A rescue retry intentionally drops launch-time `--api-key` and `--base-url` overrides before rebuilding the agent (those are usually the cause) and re-resolves credentials from env vars, `auth.json`, and provider defaults. Use `/model` when you want overrides to stick.

Bad-request, context-length, and serialization errors are not routed to the picker because switching models will not fix them.
