Bug type
Regression (worked before, now fails)
Summary
The Control UI chat header model picker sends a bare catalog model id for provider-backed models instead of the provider-qualified model ref, which can cause model not allowed errors.
Steps to reproduce
- Configure a provider-backed model in OpenClaw so the allowed model ref is provider-qualified (for example
provider/model-id).
- Open the Control UI.
- In the chat header, use the model picker next to the active chat session.
- Select the provider-backed model from the dropdown.
- Observe the session model patch/request that follows.
Expected behavior
The chat header model picker should submit the same provider-qualified model reference that the backend/config expects, for example provider/model-id.
Actual behavior
The chat header model picker uses the bare catalog model id as the selected value and sends that instead of the provider-qualified ref. For provider-backed models, this can cause the selection to fail with errors such as model not allowed.
OpenClaw version
2026.3.14
Operating system
Windows11 - WSL2 - Ubuntu/Linux
Install method
source / hackable local install
Model
provider-backed model selected from the Control UI chat header picker
Provider / routing chain
OpenClaw Control UI -> session model patch -> provider-backed model ref
Config file / key location
~/.openclaw/openclaw.json ; agents.defaults.models ; models.providers
Additional provider/model setup details
This reproduces when the configured/allowed model ref is provider-qualified (for example provider/model-id) but the chat header picker uses only the catalog model id (model-id) as the submitted value.
The issue appears specific to the Control UI chat header picker. The Agents-side model selection path does not appear to fail in the same way.
Logs, screenshots, and evidence
Example user-visible symptom:
- A provider-backed model is shown in the dropdown.
- Selecting it from the chat header fails.
- The backend rejects the selection because the submitted model ref does not match the allowed provider-qualified ref.
Example error:
- `model not allowed`
Impact and severity
Affected: users selecting provider-backed models from the Control UI chat header picker
Severity: medium
Frequency: reproducible when the configured model ref is provider-qualified but the picker submits a bare id
Consequence: model selection from the chat header can fail even though the model is correctly configured and selectable elsewhere
Additional information
Suggested fix:
- Use provider-qualified refs for chat header picker option values when the model comes from a provider-backed catalog entry
- For example, use
provider/id instead of only id
This would make the chat header picker consistent with backend/config expectations.
Additional note:
Some model ids may already contain / as part of the provider-native model id (for example Docker-style model ids), so the UI should not assume that any value containing / is already an OpenClaw provider-qualified ref.
Bug type
Regression (worked before, now fails)
Summary
The Control UI chat header model picker sends a bare catalog model id for provider-backed models instead of the provider-qualified model ref, which can cause
model not allowederrors.Steps to reproduce
provider/model-id).Expected behavior
The chat header model picker should submit the same provider-qualified model reference that the backend/config expects, for example
provider/model-id.Actual behavior
The chat header model picker uses the bare catalog model id as the selected value and sends that instead of the provider-qualified ref. For provider-backed models, this can cause the selection to fail with errors such as
model not allowed.OpenClaw version
2026.3.14
Operating system
Windows11 - WSL2 - Ubuntu/Linux
Install method
source / hackable local install
Model
provider-backed model selected from the Control UI chat header picker
Provider / routing chain
OpenClaw Control UI -> session model patch -> provider-backed model ref
Config file / key location
~/.openclaw/openclaw.json ; agents.defaults.models ; models.providers
Additional provider/model setup details
This reproduces when the configured/allowed model ref is provider-qualified (for example
provider/model-id) but the chat header picker uses only the catalog model id (model-id) as the submitted value.The issue appears specific to the Control UI chat header picker. The Agents-side model selection path does not appear to fail in the same way.
Logs, screenshots, and evidence
Impact and severity
Affected: users selecting provider-backed models from the Control UI chat header picker
Severity: medium
Frequency: reproducible when the configured model ref is provider-qualified but the picker submits a bare id
Consequence: model selection from the chat header can fail even though the model is correctly configured and selectable elsewhere
Additional information
Suggested fix:
provider/idinstead of onlyidThis would make the chat header picker consistent with backend/config expectations.
Additional note:
Some model ids may already contain
/as part of the provider-native model id (for example Docker-style model ids), so the UI should not assume that any value containing/is already an OpenClaw provider-qualified ref.