Why You Keep Seeing 'Rate Limited — Switching to Fallback' and How to Fix It
This isn't a bug — your Hermes agent's primary model is genuinely rate limited, so it's correctly triggering the fallback to sg claude opus 4.7 via custom. The most likely culprit is the primary and fallback sharing the same upstream provider pool or API key, meaning the fallback hits the same quota wall.
This isn't a bug — your Hermes agent's primary model is genuinely rate limited, so it's correctly triggering the fallback to sg claude opus 4.7 via custom.
The most likely culprit is the primary and fallback sharing the same upstream provider pool or API key, meaning the fallback hits the same quota wall.
Long context requests often trigger stricter 429 errors from providers. If this happens mostly during long conversations, your prompt length may be exceeding upstream limits.[2][3]
Fix it by verifying your primary model and fallback chain in config.yaml, running a gateway probe to identify the real error, and ensuring API keys are properly set on the gateway host machine.[1][3][4][6][8]
⚠️ Rate limited — switching to fallback providerAI-generated editorial hero image for ⚠️ Rate limited — switching to fallback provider... 🔄 Primary model failed — switching to fallback: sg claude opus 4.7 via custom Sao cứ bị.
AI Prompt
Create a landscape editorial hero image for this Studio Global article: ⚠️ Rate limited — switching to fallback provider... 🔄 Primary model failed — switching to fallback: sg claude opus 4.7 via custom Sao cứ bị. Article summary: Đây không hẳn là “bug fallback”, mà là model chính của Sếp đang bị rate limit nên Hermes tự nhảy sang fallback sg claude opus 4.7 via custom đúng như thiết kế.[8] Vì fallback của Hermes là per turn, nên mỗi tin nhắn mới . Topic tags: general web, openai, llm, ai, workflow. Reference image context from search candidates: Reference image 1: visual subject "# Fallback Providers. ## Primary Model Fallback. When your main LLM provider encounters errors — rate limits, server overload, auth failures, connection drops — Hermes can automat" source context "Fallback Providers | Hermes Agent - nous research" Reference image 2: visual subject "March 18, 2026 - (rate_limit
openai.com
If you're staring at a repeating message like ⚠️ Rate limited — switching to fallback provider... 🔄 Primary model failed — switching to fallback: sg claude opus 4.7 via custom, take a breath. This isn't a broken fallback mechanism. It's actually working exactly as designed — your Hermes agent's primary model is genuinely being throttled, and each time you send a new message, Hermes politely knocks on the primary's door before being turned away again.
What's Actually Happening Here
The mechanism behind this is straightforward once you understand the architecture:
Hermes automatically falls back when the primary provider throws errors from rate limits, server overload, authentication failures, 404s, or malformed responses.
After switching to the fallback, Hermes preserves your entire conversation context seamlessly.
Studio Global AI
Continue your research
This page includes a source-backed answer you can continue inside Studio Global.
What is the short answer to "Why You Keep Seeing 'Rate Limited — Switching to Fallback' and How to Fix It"?
This isn't a bug — your Hermes agent's primary model is genuinely rate limited, so it's correctly triggering the fallback to sg claude opus 4.7 via custom.
What are the key points to validate first?
This isn't a bug — your Hermes agent's primary model is genuinely rate limited, so it's correctly triggering the fallback to sg claude opus 4.7 via custom. The most likely culprit is the primary and fallback sharing the same upstream provider pool or API key, meaning the fallback hits the same quota wall.
What should I do next in practice?
Long context requests often trigger stricter 429 errors from providers. If this happens mostly during long conversations, your prompt length may be exceeding upstream limits.[2][3]
Why You Keep Seeing 'Rate Limited — Switching to Fallback' and How to Fix It
This isn't a bug — your Hermes agent's primary model is genuinely rate limited, so it's correctly triggering the fallback to sg claude opus 4.7 via custom. The most likely culprit is the primary and fallback sharing the same upstream provider pool or API key, meaning the fallback hits the same quota wall.
This isn't a bug — your Hermes agent's primary model is genuinely rate limited, so it's correctly triggering the fallback to sg claude opus 4.7 via custom.
The most likely culprit is the primary and fallback sharing the same upstream provider pool or API key, meaning the fallback hits the same quota wall.
Long context requests often trigger stricter 429 errors from providers. If this happens mostly during long conversations, your prompt length may be exceeding upstream limits.[2][3]
Fix it by verifying your primary model and fallback chain in config.yaml, running a gateway probe to identify the real error, and ensuring API keys are properly set on the gateway host machine.[1][3][4][6][8]
⚠️ Rate limited — switching to fallback providerAI-generated editorial hero image for ⚠️ Rate limited — switching to fallback provider... 🔄 Primary model failed — switching to fallback: sg claude opus 4.7 via custom Sao cứ bị.
AI Prompt
Create a landscape editorial hero image for this Studio Global article: ⚠️ Rate limited — switching to fallback provider... 🔄 Primary model failed — switching to fallback: sg claude opus 4.7 via custom Sao cứ bị. Article summary: Đây không hẳn là “bug fallback”, mà là model chính của Sếp đang bị rate limit nên Hermes tự nhảy sang fallback sg claude opus 4.7 via custom đúng như thiết kế.[8] Vì fallback của Hermes là per turn, nên mỗi tin nhắn mới . Topic tags: general web, openai, llm, ai, workflow. Reference image context from search candidates: Reference image 1: visual subject "# Fallback Providers. ## Primary Model Fallback. When your main LLM provider encounters errors — rate limits, server overload, auth failures, connection drops — Hermes can automat" source context "Fallback Providers | Hermes Agent - nous research" Reference image 2: visual subject "March 18, 2026 - (rate_limit
openai.com
If you're staring at a repeating message like ⚠️ Rate limited — switching to fallback provider... 🔄 Primary model failed — switching to fallback: sg claude opus 4.7 via custom, take a breath. This isn't a broken fallback mechanism. It's actually working exactly as designed — your Hermes agent's primary model is genuinely being throttled, and each time you send a new message, Hermes politely knocks on the primary's door before being turned away again.
What's Actually Happening Here
The mechanism behind this is straightforward once you understand the architecture:
Hermes automatically falls back when the primary provider throws errors from rate limits, server overload, authentication failures, 404s, or malformed responses.
After switching to the fallback, Hermes preserves your entire conversation context seamlessly.
Studio Global AI
Continue your research
This page includes a source-backed answer you can continue inside Studio Global.
What is the short answer to "Why You Keep Seeing 'Rate Limited — Switching to Fallback' and How to Fix It"?
This isn't a bug — your Hermes agent's primary model is genuinely rate limited, so it's correctly triggering the fallback to sg claude opus 4.7 via custom.
What are the key points to validate first?
This isn't a bug — your Hermes agent's primary model is genuinely rate limited, so it's correctly triggering the fallback to sg claude opus 4.7 via custom. The most likely culprit is the primary and fallback sharing the same upstream provider pool or API key, meaning the fallback hits the same quota wall.
What should I do next in practice?
Long context requests often trigger stricter 429 errors from providers. If this happens mostly during long conversations, your prompt length may be exceeding upstream limits.[2][3]
But here's the catch: that fallback is per‑turn only. On the next message, Hermes cheerfully tries the primary again. If it's still throttled, you see the warning again. Rinse and repeat.
So every new message you send restarts the cycle. That's why it feels like it "keeps happening."
Why It Loops Instead of Staying on the Fallback
The root cause is simple: the upstream primary provider is still rate‑limited. Hermes has no way of knowing when the limit will lift, so its design is to keep trying the primary first. If the error behind the scenes is an HTTP 429, OpenClaw documentation classifies this as a rate‑limit or upstream‑limit error that needs troubleshooting at the gateway level — not just a UI quirk.
In some cases, those 429 errors are specifically tied to long‑context requests. If you're deep into a long conversation and your prompt context has grown very large, the upstream provider may impose tighter quotas or outright refuse the request.
The Most Suspicious Part of This Setup
The fallback label sg-claude-opus-4.7 via custom tells you something important: your fallback is routing through a custom endpoint/provider that was pre‑configured in Hermes, not switching to a completely different native provider.
This matters because if your primary and fallback are both pointing to the same upstream gateway, API pool, or backend, you'll see the provider switch in the UI but experience no real relief — both paths hit the same exhausted quota. While we don't have enough evidence to confirm they share a pool in your specific case, it's a very high probability worth checking directly in your configuration.
Hermes stores custom endpoints in config.yaml, and the fallback chain lives there too under the fallback_providers key.
Where to Look First
Before you start pulling your hair out, check these items in order:
Identify exactly what your primary model is and where the fallback chain points. Open your ~/.hermes/config.yaml and look at the fallback_providers list.
Check if the primary and sg-claude-opus-4.7 via custom share the same backend gateway, pool, or API key. If they do, they'll both hit the same rate limit wall.
If you're running through an OpenClaw gateway or custom gateway, run openclaw gateway probe to see whether the real error is a 429, an authentication failure, or a stale client‑gateway mismatch.
If your gateway or service reads keys from environment variables, confirm the key is correctly placed on the machine running the gateway, and restart the gateway after any key or config changes.
If the error mostly appears during long conversations, check your long‑context limits. OpenClaw docs explicitly note that 429s can arise because "extra usage is required for long context requests."
The Bottom Line
This message loops because Hermes is faithfully executing its per‑turn fallback design while your primary model remains rate‑limited. To stop seeing it, you need to fix the underlying cause — whether that's adjusting your provider quotas, reconfiguring your fallback to point to a truly independent provider, or reducing your prompt context size.
If you want a precise diagnosis, you can read your active config.yaml file and trace exactly which primary is failing, where the sg-* fallback actually routes to, and why it insists on retrying the primary on every turn.
But here's the catch: that fallback is per‑turn only. On the next message, Hermes cheerfully tries the primary again. If it's still throttled, you see the warning again. Rinse and repeat.
So every new message you send restarts the cycle. That's why it feels like it "keeps happening."
Why It Loops Instead of Staying on the Fallback
The root cause is simple: the upstream primary provider is still rate‑limited. Hermes has no way of knowing when the limit will lift, so its design is to keep trying the primary first. If the error behind the scenes is an HTTP 429, OpenClaw documentation classifies this as a rate‑limit or upstream‑limit error that needs troubleshooting at the gateway level — not just a UI quirk.
In some cases, those 429 errors are specifically tied to long‑context requests. If you're deep into a long conversation and your prompt context has grown very large, the upstream provider may impose tighter quotas or outright refuse the request.
The Most Suspicious Part of This Setup
The fallback label sg-claude-opus-4.7 via custom tells you something important: your fallback is routing through a custom endpoint/provider that was pre‑configured in Hermes, not switching to a completely different native provider.
This matters because if your primary and fallback are both pointing to the same upstream gateway, API pool, or backend, you'll see the provider switch in the UI but experience no real relief — both paths hit the same exhausted quota. While we don't have enough evidence to confirm they share a pool in your specific case, it's a very high probability worth checking directly in your configuration.
Hermes stores custom endpoints in config.yaml, and the fallback chain lives there too under the fallback_providers key.
Where to Look First
Before you start pulling your hair out, check these items in order:
Identify exactly what your primary model is and where the fallback chain points. Open your ~/.hermes/config.yaml and look at the fallback_providers list.
Check if the primary and sg-claude-opus-4.7 via custom share the same backend gateway, pool, or API key. If they do, they'll both hit the same rate limit wall.
If you're running through an OpenClaw gateway or custom gateway, run openclaw gateway probe to see whether the real error is a 429, an authentication failure, or a stale client‑gateway mismatch.
If your gateway or service reads keys from environment variables, confirm the key is correctly placed on the machine running the gateway, and restart the gateway after any key or config changes.
If the error mostly appears during long conversations, check your long‑context limits. OpenClaw docs explicitly note that 429s can arise because "extra usage is required for long context requests."
The Bottom Line
This message loops because Hermes is faithfully executing its per‑turn fallback design while your primary model remains rate‑limited. To stop seeing it, you need to fix the underlying cause — whether that's adjusting your provider quotas, reconfiguring your fallback to point to a truly independent provider, or reducing your prompt context size.
If you want a precise diagnosis, you can read your active config.yaml file and trace exactly which primary is failing, where the sg-* fallback actually routes to, and why it insists on retrying the primary on every turn.