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

Status Closed — not planned
Reported on v2.1.202
Maintainer reply None cached
Activity 1 comment · opened Aug 7, 2026 · closed Oct 6, 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 ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗