effort 'max' is selectable while thinking is disabled, then fails with API 400

Status Open
Reported on v2.1.202
Maintainer reply None cached
Activity 0 comments · opened Aug 7, 2026

What happened

With extended thinking turned off, the effort level selector still allows choosing max. Sending a message then fails:

API Error: 400 output_config.effort 'max' is not supported when thinking is disabled on this model.
Use effort 'high' or below, or enable thinking.

The request is rejected server-side, so the turn is lost and the setting has to be changed manually before retrying.

Expected behaviour

The client already knows whether thinking is enabled, so max should not be offered in that state — either:

  • disable/grey out the max option while thinking is off, capping the selectable maximum at high, or
  • automatically enable thinking when max is selected, or
  • clamp to high client-side and surface a notice, instead of round-tripping to the API for a guaranteed 400.

Steps to reproduce

  1. Disable extended thinking
  2. Set effort level to max
  3. Send any message
  4. Observe the 400

Environment

  • Claude Code version: 2.1.202 (Claude Code)
  • Surface: VS Code extension
  • Model: claude-opus-5
  • OS: macOS (macOS-26.4-arm64-arm-64bit)

View original on GitHub ↗