Skip to content

Commit e376aa4

Browse files
committed
docs: clarify model override fallback routes
1 parent 202f65c commit e376aa4

3 files changed

Lines changed: 15 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ Docs: https://docs.openclaw.ai
5656
- Plugins: let `openclaw doctor --fix` repair managed plugin installs whose package entrypoints fail package-directory boundary validation after local state moves. Fixes #80592. Thanks @wei-wei-zhao.
5757
- Voice-call: resume voice-originated exec approval follow-ups as internal non-delivery turns instead of rejecting them as `unknown channel: voice`. Fixes #80540. Thanks @patrickmch.
5858
- Infra/retry: keep jittered retry delays at or above server-supplied Retry-After lower bounds when the hint can be honored. Fixes #68541. (#68543) Thanks @Feelw00.
59+
- Docs: clarify that `/model provider/model` is an exact session route, while duplicate bare model ids only use configured fallback order on non-session override paths. Refs #80562. Thanks @gaodaabao.
5960
- Redact persisted secret-shaped payloads [AI]. (#79006) Thanks @pgondhi987.
6061
- Agents: label `.openclaw/sandboxes` exec workdirs as sandbox runs in compact tool summaries instead of showing the full path.
6162
- OpenAI Codex: surface browser OAuth and device-code login failures instead of treating failed logins as empty successful auth results. Refs #80363.

docs/concepts/model-failover.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ OpenClaw builds the candidate list from the currently requested `provider/model`
229229
- The requested model is always first.
230230
- Explicit configured fallbacks are deduplicated but not filtered by the model allowlist. They are treated as explicit operator intent.
231231
- If the current run is already on a configured fallback in the same provider family, OpenClaw keeps using the full configured chain.
232-
- If the current run is on a different provider than config and that current model is not already part of the configured fallback chain, OpenClaw does not append unrelated configured fallbacks from another provider.
232+
- When no explicit fallback override is supplied, configured fallbacks are tried before the configured primary even if the requested model uses a different provider.
233233
- When no explicit fallback override is supplied to the fallback runner, the configured primary is appended at the end so the chain can settle back onto the normal default once earlier candidates are exhausted.
234234
- When a caller supplies `fallbacksOverride`, the runner uses exactly the requested model plus that override list. An empty list disables model fallback and prevents the configured primary from being appended as a hidden retry target.
235235

docs/help/faq-models.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,19 @@ troubleshooting, see the main [FAQ](/help/faq).
144144

145145
</Accordion>
146146

147+
<Accordion title="If two providers expose the same model id, which one does /model use?">
148+
`/model provider/model` selects that exact provider route for the session.
149+
150+
For example, `qianfan/deepseek-v4-flash` and `deepseek/deepseek-v4-flash` are different model refs even though both contain `deepseek-v4-flash`. OpenClaw should not silently switch from one provider to the other just because the bare model id matches.
151+
152+
A user-selected `/model` ref is also strict for fallback policy. If that selected provider/model is unavailable, the reply fails visibly instead of answering from `agents.defaults.model.fallbacks`. Configured fallback chains still apply to configured defaults, cron job primaries, and auto-selected fallback state.
153+
154+
If a run that started from a non-session override is allowed to use fallback, OpenClaw tries the requested provider/model first, then configured fallbacks, and only then the configured primary. That prevents duplicate bare model ids from jumping directly back to the default provider.
155+
156+
See [Models](/concepts/models) and [Model failover](/concepts/model-failover).
157+
158+
</Accordion>
159+
147160
<Accordion title="Can I use GPT 5.5 for daily tasks and Codex 5.5 for coding?">
148161
Yes. Treat model choice and runtime choice separately:
149162

0 commit comments

Comments
 (0)