#Antigravity Multi Oauth fallback

1 messages · Page 1 of 1 (latest)

hoary slate
#

@fast mural Need strategy for gateway model fallback to capture 429 and other api errors: "Depth-First by Model, Breadth-First by Profile , 6 models x 6 profiles

late tuskBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

fast muralBOT
# hoary slate <@1457407575476801641> Need strategy for gateway model fallback to capture 429 ...

@hoary slate OpenClaw’s failover is already basically the strategy you described:

How Gateway failover actually works (today)

It’s 2-stage (from the FAQ):

  1. Rotate auth profiles within the same provider (same model), using the provider’s configured/overridden auth order.
  2. If that still can’t run, fallback to the next model in agents.defaults.model.fallbacks.

Docs: https://docs.openclaw.ai/help/faq#model-failover-and-all-models-failed

Which errors trigger failover (incl. 429)

Failover kicks in when the error is classified as one of:

  • rate_limit (matches 429, “rate limit”, “too many requests”, “quota exceeded”, etc.)
  • overloaded
  • timeout
  • billing (e.g. 402 / insufficient credits)
  • auth (401/403/expired token/no API key/no credentials)
#
  • some format / schema errors

So 429 is covered.

How to set “breadth-first by profile” (within a provider)

Set the auth rotation order for that provider (config or CLI):

  • Config: auth.order.<provider> = [profile1, profile2, ...]
  • CLI (per-agent override):
    openclaw models auth order set --provider google-antigravity <profile1> <profile2> <profile3> ...
    

Config reference for auth.order: https://docs.openclaw.ai/gateway/configuration#auth

Practical advice for “6 models x 6 profiles”

  • This ends up being depth-first by model, then breadth (on failure) by profiles for that model.
#
  • It is not load-balancing across profiles; it only advances profiles when a failover-class error happens.
  • To debug what’s happening, run:
    openclaw models status --json
    
    and look at auth.unusableProfiles / cooldowns while reproducing.

If you paste one real 429 error blob you’re getting (verbatim), I can tell you whether it’ll match the failover classifier (sometimes providers wrap 429s in odd text, and then it won’t rotate).

hoary slate
#

@fast mural any known work for windsurf oauth?