Claude 4.7 Migration Guide

Migrate to Claude 4.7 Opus — sampling parameters removed, adaptive-only thinking, and new xhigh effort level

What’s New

See Anthropic’s Migrating to Claude Opus 4.7 for a full overview of changes.

Claude 4.7 Opus introduces three major changes:

  1. Sampling parameters removedtemperature, top_p, and top_k are no longer supported and will be ignored
  2. Adaptive-only thinking — when reasoning is enabled the only supported mode is adaptive; thinking.budget_tokens is no longer supported and reasoning.effort / reasoning.max_tokens are ignored (adaptive is used instead)
  3. New 'xhigh' effort level — a new effort level between 'high' and 'max' via verbosity / output_config.effort

Sampling Parameters Removed

Claude 4.7 Opus no longer accepts temperature, top_p, or top_k. If you pass these parameters, they will be silently ignored — your request will still succeed, but the parameters will have no effect.

1// These parameters are ignored on Claude 4.7 Opus
2{
3 "model": "anthropic/claude-4.7-opus",
4 "temperature": 0.5,
5 "top_p": 0.9,
6 "top_k": 50,
7 "messages": [{ "role": "user", "content": "Hello" }]
8}

Adaptive-Only Thinking

Claude 4.7 Opus supports only adaptive thinking. On 4.6, reasoning could be controlled via a token budget (reasoning.max_tokens / thinking.budget_tokens) or left adaptive; on 4.7, budget-based thinking is removed and adaptive is the only remaining mode when reasoning is on.

Reasoning itself remains opt-in on all Anthropic models via reasoning.enabled=true — 4.7 does not change that.

Concretely on 4.7:

  • reasoning.max_tokens is accepted but ignored
  • reasoning.effort is accepted but ignored
  • thinking.budget_tokens is no longer supported upstream

To influence overall response effort (not reasoning-specific), use verbosity. It maps to Anthropic’s output_config.effort and applies whether or not reasoning is enabled.

1// Opt in to adaptive thinking — the only thinking mode on 4.7 Opus
2{
3 "model": "anthropic/claude-4.7-opus",
4 "reasoning": { "enabled": true },
5 "messages": [{ "role": "user", "content": "Solve this problem step by step" }]
6}
1// reasoning.max_tokens is ignored (adaptive used)
2{
3 "model": "anthropic/claude-4.7-opus",
4 "reasoning": { "enabled": true, "max_tokens": 10000 },
5 "messages": [{ "role": "user", "content": "Hello" }]
6}
7// ↑ Equivalent to just { "reasoning": { "enabled": true } }
1// reasoning.effort is ignored (adaptive used)
2{
3 "model": "anthropic/claude-4.7-opus",
4 "reasoning": { "enabled": true, "effort": "low" },
5 "messages": [{ "role": "user", "content": "Hello" }]
6}
7// ↑ Equivalent to just { "reasoning": { "enabled": true } }

New 'xhigh' Effort Level

A new 'xhigh' effort level is available between 'high' and 'max' via the verbosity parameter. This maps to Anthropic’s output_config.effort.

1{
2 "model": "anthropic/claude-4.7-opus",
3 "verbosity": "xhigh"
4}

The full effort scale is now: lowmediumhighxhighmax.

'xhigh' is only supported on Claude 4.7 Opus. 'max' is supported on Claude 4.6+. For older models, both automatically fall back to 'high'.

Parameter Summary

With sampling parameters and reasoning budgets removed on 4.7, verbosity (→ output_config.effort) is the remaining lever for influencing overall response effort. It is not reasoning-specific and applies whether or not reasoning is enabled.

ParameterClaude 4.7 Opus Behavior
temperature, top_p, top_kIgnored
reasoning.effortIgnored (adaptive used)
reasoning.max_tokensIgnored (adaptive used)
verbosityControls overall response effort (output_config.effort)
1{ "model": "anthropic/claude-4.7-opus", "verbosity": "xhigh" }

Breaking Changes

FeatureOpus 4.6Opus 4.7
temperature / top_p / top_kSupportedIgnored
Thinking modes (when reasoning.enabled=true)Adaptive or budget-basedAdaptive only
reasoning.max_tokensBudget-basedIgnored (adaptive used)
reasoning.effortIgnored (adaptive used)Ignored (adaptive used)
verbosity: 'xhigh'Falls back to highSupported
verbosity: 'max'SupportedSupported