#Error 400

37 messages · Page 1 of 1 (latest)

strange grotto
#

LLM error: {
"error": {
"code": 400,
"message": "Budget 0 is invalid. This model only works in thinking mode.",
"status": "INVALID_ARGUMENT"
}
}

tribal geyserBOT
modest ingotBOT
#

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

tribal geyserBOT
subtle moonBOT
#

That usually means the session is sending thinking off to a model that requires thinking on.

Most likely causes:

  • you previously set /think off in this thread, or
  • the agent/config has thinkingDefault: "off" / a model param disabling thinking.

Quick fix:

  1. In this thread, send: /think low
  2. Retry the prompt

If it keeps happening, check config for a disabled thinking default and change it to low (or remove the override so the model default applies).

Also, please paste:

  • openclaw --version
  • the exact model id you’re using

Docs:

strange grotto
#

So what do I do? The system is unresponsive other than providing that error

subtle moonBOT
#

Do this first:

  1. Send exactly this in the thread:
    /think low

  2. Then send your prompt again.

That error means OpenClaw is currently telling the model to use thinking off (budget 0), but that model refuses to run without thinking.

If /think low doesn’t fix it, try this next:

  • start a new thread/session
  • send /think low as the first message
  • then retry

If you want the permanent fix, set a non-off default in config and restart:

#
{
  agents: {
    defaults: {
      thinkingDefault: "low",
    },
  },
}

Also check for any model params that explicitly disable thinking and remove those.

If it’s still stuck after that, paste:

  • openclaw --version
  • your model id
  • whether you’re using chat, Control UI, or CLI
strange grotto
#

What does thinking low change? I don’t want the system to operate poorly I’m wondering if this is an error that hit when I changed LLM’s from Claude to Gemini

subtle moonBOT
#

Yep, that very likely started when you switched from Claude to Gemini.

thinking low does not mean “bad quality mode”.
It means:

  • off = no reasoning budget
  • low = small reasoning budget
  • medium/high = more reasoning, usually slower + more expensive

So the jump is really from broken to working, not from “good” to “bad”.

What probably happened:

  • your session/config was effectively on thinking off
  • Gemini got budget 0
  • that Gemini model only accepts thinking on
  • so it hard-failed with that error
#

My recommendation:

  • use /think low to get it unstuck
  • if you’re doing heavier tasks later, bump to /think medium or /think high

So yes, this smells like a Claude → Gemini behavior mismatch, not your whole system degrading.

If you want, I can help you pick a sane default:

  • low for general use
  • medium for more agentic work
  • high only when you really want deeper reasoning
strange grotto
#

Now says: ⚠️ The AI service is temporarily overloaded. Please try again in a moment.

subtle moonBOT
#

That’s actually a different, better error.

It means the thinking-budget problem is gone, and now you’re just hitting a temporary provider overload / rate-limit.

What to do:

  1. wait 30 to 60 seconds
  2. retry
  3. if it keeps happening, switch back to the Claude setup you had before, or try a less-busy Gemini option

So at this point:

  • Budget 0 invalid = config/session mismatch
  • AI service temporarily overloaded = provider-side traffic problem

If this keeps repeating, paste:

  • openclaw --version
  • the exact Gemini model you switched to
#

Then I can help narrow down whether it’s just provider load or a bad model/config combo.

strange grotto
#

OpenClaw 2026.4.12 (1c0672b)

subtle moonBOT
#

Perfect, thanks, that version is recent enough that I wouldn’t treat this as “you’re on an ancient broken build.”

So my read now is:

  • Version is probably fine
  • this is more likely a Gemini + thinking-setting mismatch
  • and the later “overloaded” message was just a provider-side transient

What I’d do next:

  1. check the current session setting with:
    /think

  2. if it says off, set:
    /think low

  3. if you want this to stop happening after model switches, set a default like:

#
{
  agents: {
    defaults: {
      thinkingDefault: "low",
    },
  },
}

then restart the gateway.

Also, if you can, send the exact Gemini model id you switched to, because some Gemini models are much pickier about thinking being enabled.

So, short version:

  • No, 2026.4.12 doesn’t look like the main problem
  • Yes, switching from Claude to Gemini is still the most likely trigger
strange grotto
#

Right now, I have it set to think high

subtle moonBOT
#

Ah, that’s useful.

If the session is really on think high, then this should not be happening. So I don’t think the chat-level thinking setting is the culprit anymore.

At that point I’d suspect one of these:

  1. stale session state from before the Claude → Gemini switch
  2. a per-model config override for the Gemini model, like:
    params: { thinking: "off" }
    
  3. a Gemini-side/OpenClaw bug on that model path

Best next test:

  • start a fresh thread/session
  • switch to the Gemini model again
#
  • send /think high
  • then try a simple prompt

If the fresh session still throws Budget 0 is invalid, then I’d want:

  • the exact Gemini model id
  • the relevant agents.defaults.models[...] config block for that model (redact secrets)

Because if /think is already showing high, then something lower-level is still sending budget 0, and that starts looking bug-ish rather than user error.

strange grotto
#

Aistudio shows no rate limit issues
Plenty of money in the account
Maybe I need help switching to Claude so I can work again
Then try to switch to Gemini 3.1 pro

subtle moonBOT
#

Yeah, I’d unblock yourself first.

Get back onto Claude now

In this thread, do:

  1. /model list
  2. pick the Claude entry that was working before, or if you have the alias:
    /model opus
    or
    /model sonnet
  3. keep thinking enabled, for example:
    /think high

If the alias doesn’t exist in your config, /model list is the safest route.

Then try Gemini again, cleanly

#

I’d do that in a fresh thread/session, not this one.

  1. switch to Gemini 3.1 Pro
    • likely /model gemini if that alias exists
    • otherwise use /model list
  2. immediately set:
    /think high
  3. then try a simple prompt

If fresh thread + Gemini + think high still throws Budget 0 is invalid, then I’d treat that as a likely bug/config issue, not user error.

Docs:

If you want, next paste the output of /model list and I’ll tell you the exact line to pick.

strange grotto
#

“Failed to set model”

subtle moonBOT
#

Got it, that’s a separate problem from the Gemini thinking error.

Failed to set model usually means one of these:

  • the alias you used doesn’t exist
  • that model isn’t in your allowlist/config
  • auth for that provider/model isn’t available

Try this instead:

  1. /model list
  2. choose the Claude model by number, not alias
    • example: /model 2
  3. if that still fails, run:
    /model status

If the Claude model you want does not appear in /model list, then it isn’t currently configured/allowed.

#

If it does appear but still won’t switch, paste:

  • what exact /model ... command you ran
  • the output of /model status

That should tell us whether this is an alias/config/auth issue.

strange grotto
#

it just says failed to set model: Gateway request error: model not allowed: Google/status

subtle moonBOT
#

Ah, that helps.

Two things are happening:

  1. Google/status is being parsed like a model name, not the status subcommand.
    So use exactly:
    /model status

  2. More importantly, /model can only switch to models that are in your allowed/configured model list.

So if Claude is not in /model list, you won’t be able to switch to it from chat until it’s added to config.

A sane config looks like this:

{
#
  agents: {
    defaults: {
      model: { primary: "anthropic/claude-opus-4-6" },
      models: {
        "anthropic/claude-opus-4-6": { alias: "opus" },
        "google/gemini-3.1-pro-preview": { alias: "gemini" },
      },
    },
  },
}

Then restart the gateway:

#
openclaw gateway restart

After that, in chat:

  • /model opus
  • /model gemini

So the immediate takeaway is:

  • this is now mostly an allowlist/config problem
  • not just a Gemini outage

If you paste your models block, I can tell you exactly what to add.

strange grotto
#

I entered model status and model list and I got the same bill for that model error

subtle moonBOT
#

Yeah, at that point I’d stop fighting the in-chat /model commands for now.

If /model status and /model list are also tripping the same path, the fastest recovery is to set Claude in config directly and restart.

Use this route:

  1. Open your config file:
    ~/.openclaw/openclaw.json

    If you’re not sure that’s the active file, run:
    openclaw health --verbose
    (it prints the config path)

  2. Make sure your model block includes both Claude and Gemini, with Claude as primary for now:

#
{
  agents: {
    defaults: {
      model: { primary: "anthropic/claude-opus-4-6" },
      models: {
        "anthropic/claude-opus-4-6": { alias: "opus" },
        "google/gemini-3.1-pro-preview": { alias: "gemini" },
      },
      thinkingDefault: "high",
    },
  },
}
  1. Restart the gateway:
#
openclaw gateway restart

That should get you back onto Claude so you can work again.

Then later, once both models are in the allowlist, switching should be much cleaner.

If you want, paste your current agents.defaults block and I’ll rewrite it exactly.

strange grotto
#

I don’t see this: ~/.openclaw/openclaw.json