Skip to content

Fallback models not attempted when session started on a different primary model (live session model switch skipped) #65234

@bwatchmitch

Description

@bwatchmitch

Summary

When a session starts on model A (e.g. openai-codex/gpt-5.4) and that model hits a quota/billing/auth error mid-session, OpenClaw logs live session model switch detected before attempt for every fallback candidate and skips them all. The result is a FailoverError surfaced to the user instead of a clean fallback.

Steps to Reproduce

  1. Configure primary model as openai-codex/gpt-5.4 with fallbacks (e.g. nvidia/moonshotai/kimi-k2.5, google/gemini-2.5-flash, sambanova/Meta-Llama-3.3-70B-Instruct)
  2. Start a Telegram or TUI session — session initializes on GPT-5.4
  3. Hit the ChatGPT Plus daily usage limit
  4. Send another message

Expected Behavior

OpenClaw should attempt the next fallback model automatically and respond using it.

Actual Behavior

All fallbacks are skipped with log message:

live session model switch detected before attempt for <session-id>: nvidia/moonshotai/kimi-k2.5 -> openai-codex/gpt-5.4
live session model switch detected before attempt for <session-id>: google/gemini-2.5-flash -> openai-codex/gpt-5.4
live session model switch detected before attempt for <session-id>: sambanova/Meta-Llama-3.3-70B-Instruct -> openai-codex/gpt-5.4

FailoverError is surfaced to the user:

⚠️ You have hit your ChatGPT usage limit (plus plan).

Workaround

User must manually start a /new session. The new session will correctly attempt fallbacks since it doesn't have the original model locked.

Additional Notes

  • Billing/credit errors also do not trigger fallbacks (separate but related issue)
  • Affects both Telegram and TUI channels
  • OpenClaw version on affected machine: 2026.2.6-3 and 2026.3.28

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions