Claude 4.6 Migration Guide

Migrate to Claude 4.6 with adaptive thinking and max effort level

What’s New

See Anthropic’s What’s new in Claude 4.6 for a full overview of new features.

Claude 4.6 Opus and 4.6 Sonnet introduce two major changes to reasoning:

  1. Adaptive Thinking — Claude decides how much to think based on task complexity, replacing budget-based extended thinking
  2. Max Effort Level — A new 'max' effort level above 'high' (Opus 4.6 and Sonnet 4.6 only)

Adaptive Thinking

For Claude 4.6 Opus and 4.6 Sonnet, OpenRouter now uses adaptive thinking (thinking.type: 'adaptive') by default instead of budget-based thinking (thinking.type: 'enabled' with budget_tokens).

How it works

  • When you enable reasoning without specifying reasoning.max_tokens, Claude 4.6 Opus and 4.6 Sonnet use adaptive thinking
  • Claude automatically determines the appropriate amount of reasoning based on task complexity
  • You don’t need to estimate or tune token budgets

When budget-based thinking is still used

  • If you explicitly set reasoning.max_tokens, budget-based thinking is used
  • If you pass the raw Anthropic thinking parameter directly
1// Adaptive thinking (recommended for 4.6)
2{
3 "model": "anthropic/claude-4.6-opus", // or "anthropic/claude-4.6-sonnet"
4 "reasoning": { "enabled": true }
5}
1// Budget-based thinking (still supported)
2{
3 "model": "anthropic/claude-4.6-opus", // or "anthropic/claude-4.6-sonnet"
4 "reasoning": { "enabled": true, "max_tokens": 10000 }
5}

Max Effort Level

A new 'max' effort level is available for Claude 4.6 Opus and 4.6 Sonnet via the verbosity parameter. See Anthropic’s effort documentation for details on how effort controls response thoroughness and token usage.

1{
2 "model": "anthropic/claude-4.6-opus", // or "anthropic/claude-4.6-sonnet"
3 "verbosity": "max"
4}

'max' is only supported on Claude 4.6 Opus and 4.6 Sonnet. For other models, it automatically falls back to 'high'.

Verbosity vs Reasoning Effort

These are separate parameters:

ParameterControls4.6 Behavior
verbosityResponse detail (output_config.effort)Works normally, supports 'max'
reasoning.effortThinking token budgetIgnored (adaptive thinking used instead)
1// verbosity works - controls response detail
2{ "model": "anthropic/claude-4.6-opus", "verbosity": "max" } // also works with anthropic/claude-4.6-sonnet
1// reasoning.effort ignored - still uses adaptive
2{ "model": "anthropic/claude-4.6-opus", "reasoning": { "enabled": true, "effort": "low" } } // also applies to anthropic/claude-4.6-sonnet

Breaking Changes

None. Existing requests continue to work:

  • Budget-based thinking still works when reasoning.max_tokens is set
  • reasoning.effort values (low, medium, high) are still supported for older models, but will be ignored for Opus 4.6 and Sonnet 4.6. Use reasoning.max_tokens to control Anthropic’s thinking.budget_tokens, and verbosity to control Anthropic’s output_config.effort.
  • Older models (4.5 Opus, 3.7 Sonnet, etc.) behave exactly as before
FeatureOpus 4.5Opus 4.6 / Sonnet 4.6
Default Thinking ModeBudget-basedAdaptive
reasoning.max_tokensBudget-basedBudget-based
verbosity: 'max'Falls back to highSupported