openclaw - 💡(How to fix) Fix Bug: Control UI sends unsupported 'view' parameter to models.list, causing INVALID_REQUEST in v2026.4.26 [2 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#74149Fetched 2026-04-30 06:27:57
View on GitHub
Comments
2
Participants
3
Timeline
5
Reactions
0
Author
Assignees
Timeline (top)
commented ×2assigned ×1closed ×1cross-referenced ×1

Root Cause

Gateway handler defines:

const ModelsListParamsSchema = Type.Object({}, { additionalProperties: false });

But the Control UI bundle calls:

e.request(`models.list`, {view: `configured`})

Fix Action

Workaround

Patched Control UI JS bundle to replace {view: "configured"} with {}:

Code Example

const ModelsListParamsSchema = Type.Object({}, { additionalProperties: false });

---

e.request(`models.list`, {view: `configured`})

---

2026-04-29T13:48:24.653+08:00 [ws] ⇄ res ✗ models.list 252ms errorCode=INVALID_REQUEST errorMessage=invalid models.list params: at root: unexpected property 'view'
2026-04-29T13:48:35.733+08:00 [ws] ⇄ res ✗ models.list 7ms errorCode=INVALID_REQUEST errorMessage=invalid models.list params: at root: unexpected property 'view'
RAW_BUFFERClick to expand / collapse

Describe the bug

The Control UI sends {view: "configured"} as params to models.list, but the Gateway's ModelsListParamsSchema is defined as Type.Object({}, { additionalProperties: false }) which rejects any parameters. This causes repeated INVALID_REQUEST errors and the model selector dropdown in the Control UI shows only 1 model instead of all configured models.

Affected Version

OpenClaw v2026.4.26 (be8c246)

Root Cause

Gateway handler defines:

const ModelsListParamsSchema = Type.Object({}, { additionalProperties: false });

But the Control UI bundle calls:

e.request(`models.list`, {view: `configured`})

Gateway Log Evidence

2026-04-29T13:48:24.653+08:00 [ws] ⇄ res ✗ models.list 252ms errorCode=INVALID_REQUEST errorMessage=invalid models.list params: at root: unexpected property 'view'
2026-04-29T13:48:35.733+08:00 [ws] ⇄ res ✗ models.list 7ms errorCode=INVALID_REQUEST errorMessage=invalid models.list params: at root: unexpected property 'view'

~90% of models.list requests fail.

Impact

  • Model selector in Settings → AI Agents → Models shows only 1 model instead of all configured
  • Users cannot switch models from Control UI
  • CLI openclaw models list --json works correctly (different code path)

Steps to Reproduce

  1. Install OpenClaw v2026.4.26
  2. Configure multiple model providers
  3. Open Control UI → Settings → AI Agents → Models
  4. Observe model dropdown shows only 1 model
  5. Check Gateway logs for unexpected property 'view'

Workaround

Patched Control UI JS bundle to replace {view: "configured"} with {}:

extent analysis

TL;DR

Update the ModelsListParamsSchema to allow the view parameter or modify the Control UI to send an empty object as params to models.list.

Guidance

  • Verify the Gateway logs to confirm the INVALID_REQUEST errors are caused by the view parameter.
  • Update the ModelsListParamsSchema to allow additional properties using additionalProperties: true or specifically allow the view property.
  • Consider modifying the Control UI to send an empty object as params to models.list as a temporary workaround.
  • Test the changes to ensure the model selector dropdown in the Control UI displays all configured models.

Example

const ModelsListParamsSchema = Type.Object({
  view: Type.String()
}, { additionalProperties: false });

Alternatively, to allow any additional properties:

const ModelsListParamsSchema = Type.Object({}, { additionalProperties: true });

Notes

The provided workaround of patching the Control UI JS bundle to replace {view: "configured"} with {} may not be a long-term solution and may have unintended consequences.

Recommendation

Apply the workaround of modifying the Control UI to send an empty object as params to models.list until a permanent fix can be implemented, as it is a simpler and less invasive change.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Bug: Control UI sends unsupported 'view' parameter to models.list, causing INVALID_REQUEST in v2026.4.26 [2 comments, 3 participants]