openclaw - ✅(Solved) Fix feat: include provider name in built-in error messages (529, 429, etc.) [1 pull requests, 2 comments, 2 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#58871Fetched 2026-04-08 02:31:42
View on GitHub
Comments
2
Participants
2
Timeline
3
Reactions
0
Timeline (top)
commented ×1cross-referenced ×1referenced ×1

Error Message

When the AI provider returns an error (e.g. HTTP 529 overloaded, 429 rate limit), OpenClaw surfaces a generic message like: Include the provider name in the built-in error messages. For example:

  • "OpenAI API error (500). Please try again." In the error handling layer that generates user-facing messages, append the provider name from the active model config before sending to the messaging surface.

Fix Action

Fixed

PR fix notes

PR #58886: fix(errors): include provider name in overload and rate-limit messages

Description (problem / solution / changelog)

Summary

When the AI provider returns a 529 overload or 429 rate-limit error mid-turn, OpenClaw surfaced a generic message with no indication of which provider was the bottleneck.

  • Derives a display label from (the provider that actually ran) and injects it into the user-facing overload/rate-limit message.
  • Falls back to the original generic text when no provider context is available (e.g. during startup before any run completes).

Before

After

Fixes #58871

Changed files

  • src/auto-reply/reply/agent-runner-execution.ts (modified, +6/-2)
RAW_BUFFERClick to expand / collapse

Problem

When the AI provider returns an error (e.g. HTTP 529 overloaded, 429 rate limit), OpenClaw surfaces a generic message like:

"The AI service is temporarily overloaded. Please try again in a moment."

This is sent directly to the user without indicating which provider caused the issue. When using multiple providers (Anthropic API, Groq, OpenAI, etc.), it's impossible to tell where the bottleneck is.

Request

Include the provider name in the built-in error messages. For example:

  • "Anthropic API is temporarily overloaded (529). Please try again in a moment."
  • "Groq API rate limit reached (429). Please try again shortly."
  • "OpenAI API error (500). Please try again."

Why it matters

  • Helps users distinguish quota exhaustion from infrastructure issues
  • Makes it easier to decide whether to switch models or just wait
  • Especially useful when running multiple parallel agents across different providers

Suggested change

In the error handling layer that generates user-facing messages, append the provider name from the active model config before sending to the messaging surface.

extent analysis

TL;DR

Modify the error handling layer to include the provider name in the error messages sent to users.

Guidance

  • Identify the error handling layer responsible for generating user-facing messages and locate where the provider name is accessible.
  • Append the provider name from the active model config to the error message before sending it to the user.
  • Consider using a template or formatting function to consistently include the provider name and error code in the message.
  • Review the code to ensure that the provider name is correctly retrieved and appended for each supported provider (e.g., Anthropic API, Groq, OpenAI).

Example

# Assuming a function generate_error_message(error_code, provider_name)
def generate_error_message(error_code, provider_name):
    error_messages = {
        529: f"{provider_name} is temporarily overloaded. Please try again in a moment.",
        429: f"{provider_name} API rate limit reached. Please try again shortly.",
        500: f"{provider_name} API error. Please try again."
    }
    return error_messages.get(error_code, "Unknown error")

Notes

This solution assumes that the provider name is available in the active model config and can be accessed in the error handling layer. The exact implementation may vary depending on the programming language and framework used.

Recommendation

Apply the suggested change to the error handling layer to provide more informative error messages to users, allowing them to better diagnose and respond to issues with specific providers.

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