openclaw - 💡(How to fix) Fix Bug: No automatic retry with fallback when primary model returns overloaded_error

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…

Error Message

  1. If fallback also fails → surface error to user, reset session gracefully
  2. Session is killed by takeover error (Issue #84542) Result: User sees an error, session dies, manual recovery needed. | 16:33:37 | Takeover error | Session killed by Issue #84542 | | 16:33:37 | User sees error | "Something went wrong" via Telegram | overloaded_error is a transient server-side condition. OpenClaw logs failoverReason="overloaded" but does not attempt to retry with the fallback model. The error handling treats the overload as terminal rather than transient.

Root Cause

overloaded_error is a transient server-side condition. OpenClaw logs failoverReason="overloaded" but does not attempt to retry with the fallback model. The error handling treats the overload as terminal rather than transient.


Code Example

{"event":"embedded_run_agent_end","isError":true,"failoverReason":"overloaded","model":"MiniMax-M2.7","providerRuntimeFailureKind":"timeout","providerErrorType":"overloaded_error"}

---

{"subsystem":"fetch-timeout","elapsedMs":120002}
{"subsystem":"provider-transport-fetch","name":"TimeoutError","elapsedMs":120421}

---

{
  "models": {
    "providers": {
      "minimax": {
        "models": [
          { "id": "MiniMax-M2.7", "contextWindow": 200000 },
          { "id": "MiniMax-M2.5", "contextWindow": 200000 }
        ]
      }
    }
  }
}
RAW_BUFFERClick to expand / collapse

Bug: No Automatic Retry with Fallback on Provider Overload

OpenClaw version: 2026.5.19-beta.1 (ba9034b) Affected: All embedded agents on minimax provider Channel: Telegram (agent:neon:telegram:direct:2101884310) Date: 2026-05-20


Expected Behavior

  1. Agent calls primary model (MiniMax-M2.7)
  2. Primary returns overloaded_error
  3. OpenClaw retries with fallback model (MiniMax-M2.5)
  4. If fallback succeeds → deliver reply, session continues normally
  5. If fallback also fails → surface error to user, reset session gracefully

Result: User gets a reply, session stays alive.


Actual Behavior

  1. Agent calls primary model (MiniMax-M2.7)
  2. Primary returns overloaded_error immediately
  3. No retry with fallback — system waits for primary to timeout
  4. 120-second timeout elapses
  5. Session is killed by takeover error (Issue #84542)
  6. User sees "Something went wrong. Please try again or use /new."

Result: User sees an error, session dies, manual recovery needed.


Timeline (CEST = UTC+2)

TimeEventDetails
16:27:21Telegram inboundNajef sends message to agent:neon:telegram
16:27:24active-memory startsactiveModel=MiniMax-M2.5, runs successfully
16:28:00active-memory done36 seconds, status=ok
16:29:03Embedded run startsCalls MiniMax-M2.7 (primary)
16:31:35Primary overloadedoverloaded_error — no retry triggered
16:33:37Timeout after 120sfetch timeout; operation aborted
16:33:37Takeover errorSession killed by Issue #84542
16:33:37User sees error"Something went wrong" via Telegram

Key Logs

Primary overload — no retry:

{"event":"embedded_run_agent_end","isError":true,"failoverReason":"overloaded","model":"MiniMax-M2.7","providerRuntimeFailureKind":"timeout","providerErrorType":"overloaded_error"}

Note: failoverReason="overloaded" is set but no actual fallback retry was attempted.

Timeout (120s after overload):

{"subsystem":"fetch-timeout","elapsedMs":120002}
{"subsystem":"provider-transport-fetch","name":"TimeoutError","elapsedMs":120421}

Configuration

Fallback is configured but not used as retry:

{
  "models": {
    "providers": {
      "minimax": {
        "models": [
          { "id": "MiniMax-M2.7", "contextWindow": 200000 },
          { "id": "MiniMax-M2.5", "contextWindow": 200000 }
        ]
      }
    }
  }
}

Fallback order: minimax/MiniMax-M2.7minimax/MiniMax-M2.5

The fallback model is configured and available. When primary returns overloaded_error, retry with fallback should happen automatically.


Root Cause

overloaded_error is a transient server-side condition. OpenClaw logs failoverReason="overloaded" but does not attempt to retry with the fallback model. The error handling treats the overload as terminal rather than transient.


Severity

High — Every MiniMax overload incident results in session death. With automatic retry, these would recover transparently and users would not notice.


Labels to apply: bug, type/provider, severity/high

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: No automatic retry with fallback when primary model returns overloaded_error