openclaw - 💡(How to fix) Fix WebUI does not display error messages when model API calls fail (429, timeout) [1 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#70168Fetched 2026-04-23 07:28:21
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Participants

When the model API returns an error (429 quota exceeded, timeout, network error), the WebUI simply shows a loading spinner indefinitely without any error message or feedback to the user.

Error Message

From gateway log:

19:50:26 WARN rate_limit: 429 usage allocated quota exceeded. please try again later.
19:50:26 WARN embedded run failover decision: surface_error

Root Cause

When the model API returns an error (429 quota exceeded, timeout, network error), the WebUI simply shows a loading spinner indefinitely without any error message or feedback to the user.

Code Example

19:50:26 WARN rate_limit: 429 usage allocated quota exceeded. please try again later.
19:50:26 WARN embedded run failover decision: surface_error
RAW_BUFFERClick to expand / collapse

Description

When the model API returns an error (429 quota exceeded, timeout, network error), the WebUI simply shows a loading spinner indefinitely without any error message or feedback to the user.

Steps to Reproduce

  1. Open WebUI at http://<gateway>:18789
  2. Send a message when the model API is unavailable (e.g., 429 quota exceeded)
  3. Observe that the UI shows a loading spinner indefinitely

Expected Behavior

The WebUI should display a clear error message, such as:

  • ⚠️ "API quota exceeded. Please try again later."
  • ⚠️ "Request timed out. Please check your network connection."
  • ⚠️ "Model unavailable. Please try again later."

Actual Behavior

The UI silently hangs with a loading spinner. No error message is displayed, and the user has no way to know what went wrong.

Environment

  • OpenClaw version: 2026.4.11
  • Gateway port: 18789
  • Model: qwen3.5-plus (modelstudio)
  • Error: 429 usage allocated quota exceeded

Logs

From gateway log:

19:50:26 WARN rate_limit: 429 usage allocated quota exceeded. please try again later.
19:50:26 WARN embedded run failover decision: surface_error

Suggested Fix

Add error handling in the WebUI frontend to catch model API errors and display user-friendly error messages instead of silently hanging.

extent analysis

TL;DR

Implement error handling in the WebUI frontend to catch and display model API errors.

Guidance

  • Review the WebUI frontend code to identify where the model API response is being handled and add error handling for 429 quota exceeded, timeout, and network errors.
  • Use the error messages from the gateway log (e.g., "429 usage allocated quota exceeded") to inform the user-friendly error messages displayed in the WebUI.
  • Consider adding a retry mechanism with a delay to handle temporary errors like quota exceeded or network errors.
  • Verify that the error handling is working correctly by simulating the model API errors (e.g., sending a request when the quota is exceeded) and checking that the expected error messages are displayed in the WebUI.

Example

// Pseudo-code example of error handling in WebUI frontend
fetchModelData()
  .catch(error => {
    if (error.status === 429) {
      displayErrorMessage("⚠️ API quota exceeded. Please try again later.");
    } else if (error.status === 504) {
      displayErrorMessage("⚠️ Request timed out. Please check your network connection.");
    } else {
      displayErrorMessage("⚠️ Model unavailable. Please try again later.");
    }
  });

Notes

The exact implementation of error handling will depend on the WebUI frontend framework and technology stack being used. This guidance assumes a JavaScript-based frontend, but the principles apply to other technologies as well.

Recommendation

Apply workaround: Implement error handling in the WebUI frontend to catch and display model API errors, as this will provide a better user experience and help diagnose issues.

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