Error message
When this error occurs
defaults.thinking (or a per-run config_override.thinking) asked a model that is not offered thinking
to reason. That covers two cases, and the API does not distinguish them:
- the model rejects the provider’s thinking parameters outright, or
- nobody has measured whether it accepts them, so it isn’t offered.
"disabled" is the exception: it is accepted on every model, because it asks for what a model without
thinking already does. Only a setting that asks for reasoning — an effort level or a token budget — can
hit this error.
Support is declared per model and per platform: a model can accept thinking on one provider and not on
another. Every Claude model is offered the same thinking on Bedrock and on Snowflake Cortex; the OpenAI
models are offered none on either.
When you’ll see it
Because support is per platform, this arrives at one of two moments:- At conversation or run creation (400) when no platform offers the model thinking at all.
- On the run itself (a
failedrun, not a 400) when another platform offers it but the one this run landed on does not — its data plane decides which cell executes, and creation does not resolve that.
How to fix
Drop thethinking field, send "disabled", or move the conversation to a model that supports it.
GET /model-inference/models lists what is available.
If you want the model’s own behaviour rather than a specific setting, omit the field entirely — a model
that thinks by default is already sent the right switch without you asking.
