ClaudeHowSupport Us

xhigh effort errors on Opus 4.6 and earlier

The failure

effort: "xhigh" works fine against the newer Opus models and errors immediately against Opus 4.6 or earlier. If your code sets effort based on a task-difficulty heuristic rather than a hardcoded per-model value, this is the kind of error that only shows up once that heuristic actually reaches for the top of the range — which can mean it ships clean and then fails weeks later on the first genuinely hard task that triggers it.

Why the older models don't have this level at all

xhigh isn't a renamed or repositioned version of an effort level the older Opus models already had — it's new capability that shipped with Opus 4.7, sitting between the previous top level and a level added specifically for the hardest coding and agentic work. Opus 4.6 and earlier simply don't have anywhere for that setting to go; there's no equivalent to fall back to internally, which is why the request is rejected outright rather than silently downgraded to the older model's actual maximum.

Where this hides

The dangerous version of this bug is conditional: a heuristic, an eval harness, or a difficulty classifier that only reaches for xhigh on a subset of inputs. That means testing against typical traffic can look completely clean, and the failure only surfaces once a harder input arrives in production and the code path that requests the top effort level finally runs for the first time. Anything that dynamically selects effort level is worth testing against its actual ceiling case, not just its typical one.

The fix

Cap the requested effort level per model rather than assuming the same maximum applies everywhere — on Opus 4.6 and earlier, the ceiling is one level lower than on 4.7 and later. If your logic picks effort level dynamically, clamp it against what the target model id actually supports before sending the request. See what actually changed from Opus 4.6 to Opus 5 for the rest of what moved in the same generation.

Verified 2026-08-08 against ClaudeHow facts module (src/data/facts/) — see /about/#accuracy.