-
-
Notifications
You must be signed in to change notification settings - Fork 53k
Closed
Description
Summary
When the Anthropic API returns HTTP 529 (overloaded), OpenClaw fails to trigger model fallback and becomes completely unresponsive — even when working fallback models are configured.
Root Cause
resolveFailoverReasonFromError in src/agents/failover-error.ts handles 402, 429, 401/403, 408, 503, 400 — but not 529.
When 529 is returned:
coerceToFailoverErrorreceives an error with no recognized status → returnsnullmodel-fallback.tssees!isFailoverError(normalized)→throw errimmediately- Fallback loop is skipped entirely
- OpenClaw becomes unresponsive until the primary model recovers
Fix
Add 529 to resolveFailoverReasonFromError:
// src/agents/failover-error.ts
if (status === 529) {
return "timeout"; // Anthropic non-standard "overloaded" status
}Notes
- HTTP 529 is Anthropic's non-standard status code for API overload
- This is particularly impactful for users routing through proxy providers where 529s are more frequent
- The fix is one line and fully backward compatible
Reproducibility
Any setup where the primary Anthropic provider returns 529 (overloaded) while fallback providers are healthy and configured.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels