Claude Code adds a setting that caps effort level on every provider
Claude Code 2.1.267 (September 9, 2026) adds maxEffortLevel, a setting that caps the effort level a session can use while leaving every lower level available.
{
"maxEffortLevel": "medium",
"modelSettings": {
"claude-sonnet-4-6": {
"maxEffortLevel": "max"
}
}
}
That example caps every model at medium and exempts Sonnet 4.6 from the cap by setting "max" in its own modelSettings entry — "max" is the value that means no cap. Anything that would push a session above the cap — /effort, the /model picker, --effort, CLAUDE_CODE_EFFORT_LEVEL, a skill's or subagent's effort frontmatter, or a model's own default — runs at the cap instead. A cap below xhigh also makes ultracode unavailable on the models it applies to, since ultracode requires xhigh.
It holds on every provider
Claude Code applies the cap itself before each request, so it isn't something a provider can route around: the same cap holds on Amazon Bedrock, Google Cloud's Agent Platform, and Microsoft Foundry, not just first-party accounts.
The lowest cap always wins
maxEffortLevel is scoped to Any file, but it doesn't follow the normal settings-precedence stack where a higher-priority file overrides a lower one. It's one of a small set of keys — alongside disableClaudeAiConnectors, isolatePeerMachines, and a few others — where Claude Code honors the strictest value set anywhere, including a plain --settings flag, even when a managed source sets a higher cap. Set it in managed settings to enforce an organization-wide ceiling that nothing downstream can raise; if your organization separately sets an effort limit for a model, the lower of the two applies.
See the Claude Code sheet for the current model and effort-level surface.