Claude Code effort levels: medium vs high, xhigh, max and ultrathink
What Claude Code uses if you set nothing
Claude Code picks an effort level per model. On Opus 5.5 and Sonnet 5.5 — the models its opus and
sonnet aliases resolve to on the Anthropic API — the default is medium. On Opus 4.7 it is
xhigh. On most other models that support effort, it is high. That means a session on today's
default model runs one level lower than sessions on the previous Opus did, which is worth knowing
before you compare the two by feel.
How to change it
Inside a session, /effort opens a slider; /effort high sets a level directly, and /effort auto
clears your saved choice so the model's default applies again. In the slider, Enter saves the level
as your default for future sessions, while s applies it to the current session only. You can also
adjust effort with the left and right arrow keys in the /model menu. Outside a session:
claude --effort high # one launch
export CLAUDE_CODE_EFFORT_LEVEL=high # every launch from this shell
For a persistent default, set effortLevel in your settings, or a per-model level under
modelSettings. When several are set, an explicit choice (the environment variable, the flag or
/effort) wins over settings, and settings win over the model's default.
Which levels you get depends on the model, and the model on the provider
Fable 5.1 and Fable 5, the Opus models from Opus 4.7 onward, and Sonnet 5 and Sonnet 5.5 offer every
level. Opus 4.6 and Sonnet 4.6 stop short of xhigh. The model aliases also resolve differently by
provider: opus means Opus 5.5 on the Anthropic API, Claude Platform on AWS, Amazon Bedrock and
Google Cloud's Agent Platform, but sonnet means Sonnet 5.5 only on the Anthropic API — it resolves
to Sonnet 4.6 on Claude Platform on AWS, and to Sonnet 4.5, which has no effort levels at all, on
Bedrock and Google Cloud. So the same sonnet session can default to medium on one provider,
high on another, and ignore effort entirely on a third. Check the model /model reports before
comparing sessions across providers.
ultrathink, ultracode and max are three different things
These get confused constantly. ultrathink is a word you put in a prompt to ask for deeper
reasoning on that one turn; it doesn't change your session's effort level, and phrases like "think
hard" are just ordinary text to Claude Code. max is the top effort level — the deepest
reasoning and the highest token spend — and unless you set it through the environment variable,
Claude Code applies it to the current session only. The documentation notes it can show diminishing
returns and overthink simple tasks. ultracode is not an effort level at all: it is a setting
that has Claude orchestrate multi-agent workflows for substantive tasks, at whatever effort the
session runs at. /effort ultracode turns it on; launching with --effort ultracode sets xhigh
and turns it on together.
Medium or high?
Claude Code's own guidance describes medium as suited to day-to-day engineering with a clear scope
and high to work where verification matters or edge cases are likely, with low for quick
exchanges where you review each result. On the newest models the
labels also moved: Anthropic reports Opus 5.5 at medium outperforming Opus 5 at high on coding
work, and Sonnet 5.5's levels were recalibrated from Sonnet 5's. So the useful comparison is not
between level names across models, but between two levels on the model you actually run — on a task
you can check.
Where going lower or higher pays
Drop below the default for narrow, low-ambiguity work: a repetitive edit across many similar files, a lookup with one right answer, a subagent handed a scoped investigation. Raise it for genuinely hard problems — a refactor with real architectural trade-offs, a bug whose cause isn't visible in its symptoms. A task ambiguous enough to justify more effort is usually worth running through plan mode as well.
The cost side
Effort compounds across every step of an agentic session, so it is one of the largest levers on what a session costs — often more than the choice of model. See the effort & thinking cost estimator for the cost curve, and effort level reference for what each level is for across the API.
Verified 2026-09-30 against ClaudeHow facts module (src/data/facts/) — see /about/#accuracy.