- API V4 uses provider-native values inside
modelParams. - API V3 and V2 use the provider-neutral
thinkingLevelfield withdisabled,low,medium, orhigh.
API V4 model parameters
V4 forwards an allow-listedmodelParams object to the selected provider. The
field names and accepted values therefore differ by model family.
glm-5.2, grok-4.5, kimi-k3, minimax-m3, and claude-fable-5
do not currently accept V4 modelParams.
Omitting
modelParams applies Browser Use’s defaults for that V4 model. For
example, gpt-5.6-luna defaults to reasoning.effort: xhigh. Send an empty
object ("modelParams": {}) to opt out and use the provider’s defaults.V4 examples
API V3 support
V3 accepts the normalized REST fieldthinkingLevel. Legacy aliases are
normalized before validation: bu-mini maps to gemini-3-flash, bu-max
maps to claude-sonnet-5, and bu-ultra maps to claude-opus-4.6.
For a follow-up task sent to an existing V3 session:
- Omit
thinkingLevelto retain the session’s current setting. - Send a supported value to update the setting for the next task and later follow-ups.
- Send
"thinkingLevel": nullto clear it and return to provider defaults.
API V2 support
V2 also accepts the normalized REST fieldthinkingLevel, but it has two
additional limitations. It cannot configure GLM thinking, and it cannot enable
fixed-budget thinking on older Claude 4/4.5 models because the legacy worker
cannot safely replay their thinking blocks. Those Claude models still accept
disabled.
V2’s existing
thinking boolean controls legacy agent behavior. It does not
select a provider reasoning depth and does not replace thinkingLevel.
Provider mappings for V2 and V3
Browser Use validates the normalized V2/V3 value before dispatch, then maps it to the provider’s native control.BYOK behavior
- V2:
thinkingLeveluses the existing model route. It does not add a per-request BYOK switch. - V3: set
useOwnKey: truefor models that require a provider key. Native and BYOK routes use the same support matrix. - V4: add an Anthropic, OpenAI, or Google key under Settings → API Keys →
Bring Your Own Key. V4 automatically uses a matching key; there is no
request flag.
modelParamsworks the same with Browser Use-managed and customer-managed keys.
V2 and V3 examples
REST JSON uses the camelCase wire fieldthinkingLevel in both API versions.
Validation errors
Unsupported V2/V3 model-level pairs return HTTP 422. The request field is camelCase, while the validation detail currently names the backend field in snake_case:Compatibility and API references
The normalized V2/V3 field is optional and nullable. Existing sessions keep using provider defaults until a level is supplied. The checked-in generated SDK clients do not expose this field yet, so use the REST examples above until the follow-up SDK regeneration is released. V4 SDK clients can sendmodelParams once their generated V4 type includes the current contract.
V4 create run
Generated V4
modelParams schema.V3 create session
Generated V3
thinkingLevel schema.V2 create task
Generated V2
thinkingLevel schema.