openclaw - ✅(Solved) Fix Overloaded (529) errors shown as rate limit reached to users [1 pull requests, 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#58561Fetched 2026-04-08 02:01:03
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
closed ×1cross-referenced ×1locked ×1

Error Message

When Anthropic returns HTTP 529 (overloaded), the user-facing error message says:

Root Cause

In src/auto-reply/reply/agent-runner-execution.ts, both isRateLimitErrorMessage() (429) and isOverloadedErrorMessage() (529) branches produce the same hardcoded "rate limit reached" string.

Fix Action

Fixed

PR fix notes

PR #58562: fix: differentiate overloaded vs rate-limit user-facing error messages

Description (problem / solution / changelog)

Summary

  • Fixes #58561
  • When Anthropic returns 529 (overloaded), users now see "The AI service is temporarily overloaded" instead of the misleading "API rate limit reached" message
  • The existing 429 rate-limit message is unchanged

Changes

Single file change in src/auto-reply/reply/agent-runner-execution.ts: the shared error handler now calls isOverloadedErrorMessage() to pick the correct user-facing string.

Test plan

  • Existing test "surfaces a final error when only reasoning preceded a mid-turn rate limit" passes (verifies 429 path unchanged)
  • Manual: trigger a 529 overloaded response and verify the new message appears

Changed files

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

Bug

When Anthropic returns HTTP 529 (overloaded), the user-facing error message says:

⚠️ API rate limit reached — the model couldn't generate a response. Please try again in a moment.

This is misleading — users think they are rate-limited (an account issue) when the servers are just temporarily busy.

Root Cause

In src/auto-reply/reply/agent-runner-execution.ts, both isRateLimitErrorMessage() (429) and isOverloadedErrorMessage() (529) branches produce the same hardcoded "rate limit reached" string.

Expected Behavior

  • 429 errors should show: "API rate limit reached — the model couldn't generate a response."
  • 529 errors should show: "The AI service is temporarily overloaded. Please try again in a moment."

extent analysis

TL;DR

Update the isOverloadedErrorMessage() branch in agent-runner-execution.ts to return a distinct error message for HTTP 529 errors.

Guidance

  • Identify the isOverloadedErrorMessage() function in agent-runner-execution.ts and update its return statement to reflect the expected behavior for 529 errors.
  • Verify that the updated function correctly handles both 429 and 529 error codes by testing with simulated API responses.
  • Consider adding logging or monitoring to track instances of 529 errors to better understand the frequency and impact of temporary overloads.
  • Review the user-facing error messages to ensure consistency and clarity in communicating different types of errors.

Example

// In agent-runner-execution.ts
function isOverloadedErrorMessage(errorCode: number): string {
  if (errorCode === 529) {
    return "The AI service is temporarily overloaded. Please try again in a moment.";
  }
  // ...
}

Notes

This fix assumes that the isOverloadedErrorMessage() function is the sole source of the misleading error message. Additional review of related code and error handling mechanisms may be necessary to ensure a comprehensive solution.

Recommendation

Apply workaround: Update the isOverloadedErrorMessage() function to return a distinct error message for 529 errors, as this directly addresses the root cause of the misleading user-facing error message.

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 - ✅(Solved) Fix Overloaded (529) errors shown as rate limit reached to users [1 pull requests, 1 participants]