Instead of a model, a session can run on a tier: Complex for hard work, Standard for everyday work, and Quick for searches and simple tasks. Each tier is a list of models you choose, the preferred first. A session on a tier takes the first of them whose provider is ready.
When a provider runs out of quota or stays unavailable, the fallback can move a session to the next model of its tier, so the work goes on with another model or another account.
In CodeAlta Desktop, open Settings > Models: the Model tiers section comes first.
× removes it.Alt+Up and Alt+Down on the grip move it in its tier, Alt+Left and Alt+Right to the tier beside it.Every change is saved at once.
Once tiers are set:
alta session create --tier quick. The instructions of a session list the tiers, and alta model resolve --tier answers which model a tier gives now.The tiers and the fallback of Settings > Models are the usual settings: those of the Default space and of every space that has none of its own.
A space can have tiers and a fallback of its own: in Settings > Spaces, open the space and set Model tiers to Customize in its New sessions section.
With Use global, the space has the usual settings again, and the section says what each global tier gives.
Wherever its tiers come from, a session never takes a model whose provider is not available in its space (see Providers of a space).
The fallback is off until you turn it on, with Fall back to the next model of the tier when a provider fails in the Model tiers section, or in the New sessions section of a space with tiers of its own. Its two boxes choose the failures it acts on, both by default:
Any other failure stops the session as before: a sign-in problem, a tool or a test that fails, a conversation too long for the model, a run you stopped.
A session on a model you chose yourself falls back along the tier where that model comes first. The fallback only uses the models you listed: listing a model of a provider is what allows CodeAlta to use that account. A provider whose limit is reached is skipped, with all its models, until the limit resets: at the time the provider gives, or 15 minutes later when it gives none. The session keeps its permission mode, or takes a narrower one when the new provider does not offer it: a fallback never lets a session do more without asking you.
When a session falls back:
When no other model of the tier can take over, a warning card says so: choose another model, or send again once the limit resets.
The tiers and the fallback are the [models] table of ~/.alta/config.toml. Each entry is provider:model, followed by @ and the reasoning efforts in order; the provider is the key of a provider of the Providers page:
[models.tiers]
complex = ["claude-code:opus@high,xhigh", "codex:gpt-6.1@xhigh", "copilot:claude-opus-4.6@high"]
standard = ["claude-code:opus@medium", "codex:gpt-6.1@medium"]
quick = ["claude-code:haiku", "codex:gpt-6.1-mini@low"]
[models.fallback]
enabled = true
on = ["quota", "unavailable"] # the failures to fall back on; both by default
The tiers of a space are in the file of the space, under new_sessions.tiers, written the same way, and its fallback under new_sessions.fallback (see Files):
new_sessions:
tiers:
standard: ["work-claude:opus@medium", "codex:gpt-6.1@medium"]
fallback: { enabled: true, on: [quota] }
A space without tiers takes the tiers and the fallback of config.toml; one with tiers and no fallback takes the fallback of config.toml.
CodeAlta TUI has no page for the tiers and does not offer them in its model list. Its agents still use the tiers of the file with alta session create --tier.