ClaudeHowSupport Us

output_config.effort requires a model that supports per-turn effort

The error

A request that changes effort partway through a conversation — a system message inside messages carrying output_config: {"effort": ...} and empty content — returns a 400 on a model that doesn't support it:

output_config.effort requires a model that supports per-turn effort; this model does not

The feature is behind the mid-conversation-output-config-2026-07-01 beta, and it exists on Fable 5.1, Mythos 5.1, Opus 5.5, Opus 5 and Sonnet 5.5. Fable 5 is the easy one to trip on, because it looks like it should share Fable 5.1's surface and doesn't.

Why the feature is worth the trouble

Changing the top-level effort between requests restarts the messages cache: effort renders into the prompt, so the next request misses on the whole history. On a long agentic session that is a large, invisible cost. A per-message effort change sits inside the history instead, so the cached prefix survives — raise effort for one hard step, drop it for routine ones, and keep paying cache-read rates throughout. The new level applies from the next user turn and holds until another such message changes it. Because the message carries no text, it can sit anywhere in the array.

The platform and mode caveats

On the Claude API and Google Cloud any organisation can use it by sending the header; on the other platforms support was unconfirmed at launch, and Opus 5 is excluded on Amazon Bedrock. On Sonnet 5.5 it needs adaptive thinking — with between_tools a differing per-message effort is its own 400, reporting that the new level differs from the one in effect.

The fix on an unsupported model

Two options. Keep effort fixed per route, which costs nothing in cache terms and is usually enough. Or change the top-level effort and accept the cache restart on that request, which is fine for rare switches and expensive for frequent ones. If per-turn control is central to the harness, the supported models above are the ones to build on — see migrating: Fable 5 to Fable 5.1 for the Fable path.

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