Claude Code Effort Levels
Claude Code effort levels are a five-step dial - low, medium, high, xhigh, and max - that tells the model how much reasoning to spend on each request. More effort means more thinking, more checking, more tokens, and a slower answer. You set it with the /effort command, and Claude Code remembers your choice per model. The one fact that matters this week: Claude Opus 5.5 defaults to medium, while Opus 5, Fable 5.1, and Sonnet 5 default to high. Adaptive thinking is always on for Opus 5.5, so effort is the only knob you have for how hard it thinks and what a request costs.
My rule is boring on purpose: stay on medium, step up one level when a task fails, and step back down the moment it succeeds. That is the whole method. The rest of this post is what each level actually changes, how to set it without a terminal, and the version of the CCC Effort Ladder I use now that the default moved.
What each effort level actually changes
Effort does not change which model answers. It changes how many tokens the model is allowed to spend thinking before it commits to an action or a reply. At low it scopes tightly to what you asked and moves fast. At max it has no ceiling on thinking and will reason around a problem for as long as it wants. Anthropic's own docs describe max as prone to overthinking with diminishing returns, which matches what I see: on small jobs it produces longer answers, not better ones.
The five levels, per Anthropic's Claude Code docs
| Level | What it does | Where I use it |
|---|---|---|
| low | Fastest and cheapest, tight scope, some capability reduction | Renames, formatting, one-line fixes, subagent lookups |
| medium | Balanced, moderate token savings; the Opus 5.5 default | Almost everything: features, refactors, tests, writing |
| high | Spends whatever the task needs; default on every model except Opus 5.5 | A bug that beat one attempt, multi-file changes with tradeoffs |
| xhigh | Deeper reasoning for long agentic runs | Unattended sessions, migrations, codebase audits |
| max | No constraint on thinking; session-only in Claude Code | Architecture calls I cannot undo cheaply |
One detail worth knowing before you carry a habit over from Opus 5: Anthropic notes that at the same effort level, Opus 5.5 tends to think more per turn than Opus 5, most of all at xhigh and max. So a level that felt fine on the old model can be noticeably slower and pricier on the new one. That is exactly why the default dropped a notch.
How to set the effort level in Claude Code
In the desktop app, type /effort into the message box and you get a slider. Pick a level and confirm. In the terminal it is the same command. You can also name the level directly - /effort high - or run /effort auto to clear your saved level for the current model and go back to its default. You can run it mid-task; Claude Code applies the new level to the next request.
- Claude Code saves the level per model, under modelSettings in your user settings. Switching from Opus 5.5 to Fable 5.1 and back keeps each one's level.
- max is the exception: unless you set it through the CLAUDE_CODE_EFFORT_LEVEL environment variable, it applies to the current session only. That is a sensible guardrail, not a bug.
- Changing effort in the middle of a long session can show a cache warning. Effort is part of what gets cached, so flipping it can mean re-reading context you had already paid for. Set it early in the session when you can.
- The /model picker also lets you choose effort alongside the model, which is the fastest way to set both at once when you start a session.
Why Opus 5.5 moved the default, and what that does to your bill
Anthropic priced Opus 5.5 at $4 per million input tokens and $20 per million output tokens, down from $5 and $25 on Opus 5, with cache reads at $0.20 per million, 60 percent less than before. Their published claim is that at default settings it costs about 40 percent less than Opus 5 on typical workloads, because the price per token dropped and the model uses fewer tokens per task. The medium default is part of how that 40 percent happens. If you push everything to high or max out of habit, you hand a chunk of that saving straight back.
The benchmark that convinced me to leave medium alone: on Anthropic's Terminal-Bench 4.0 results, Opus 5.5 at its default effort beats Opus 5 at max effort for roughly a fifth of the cost. The published numbers are theirs, not mine, and I treat launch charts as a strong signal rather than a promise. But the shape of it holds up in my sessions - medium finishes most builds cleanly, and the cases where I needed to go up were the ones I would have expected to be hard anyway. If you want the per-task view, [Claude Code token usage](/blog/claude-code-token-usage) shows how to read what a session actually consumed.
The CCC Effort Ladder, recalibrated for Opus 5.5
The CCC Effort Ladder is the rule I run before touching /effort: match the level to how expensive it would be to get the answer wrong, not to how important the project feels. Importance is a feeling. Cost of a wrong answer is a number you can estimate. With the default now at medium, the ladder looks like this.
- medium - the default and the home base. New features, refactors, test writing, documentation, and every prompt where a wrong first pass costs you one more prompt. Leave it here.
- low - when the answer has one obvious shape and speed matters more than depth: renames, formatting, small edits, and subagents doing lookups on your behalf. Anthropic's docs call subagents out as the natural home for low, and I agree.
- high - a bug that already beat one attempt at medium, a change that touches auth or payments, or a multi-file feature where the tradeoffs actually need weighing. Go here on the second attempt, not the first.
- xhigh - anything you are about to let run without you watching. Long migrations, full-repo audits, and the unattended sessions from [running Claude Code unattended](/blog/claude-code-running-unattended). More reasoning per step is worth it when nobody is there to catch a bad step.
- max - rare. A schema or architecture decision you cannot undo cheaply. It is session-only by design, so use it for the decision, then start a fresh session back on medium.
The half of the ladder people skip is the way down. Every time a high or xhigh task finishes, drop back to medium before the next prompt. The level is saved per model, so if you forget, every routine edit for the rest of the week pays for reasoning it does not need.
The two mistakes I made in the first week
First mistake: I assumed my old settings carried over. I had an effortLevel line in my user settings from months ago and expected Opus 5.5 to honor it. It did not, because that key only applies to the older models. Opus 5.5 was quietly on medium the whole time, which turned out fine, but I spent a morning wondering why two sessions on two models behaved differently. Run /effort with no arguments and look at the slider before you judge a new model.
Second mistake: I ran a routine cleanup at max because the repo felt important. The answers got longer and slower and the diff was no better than medium would have produced. The docs warn about overthinking at max, and that is exactly what it looked like. The fix was the ladder above: max is for the decision, not for the project.
Compare notes with people running the same dial
The right level for your work is something you find by running your three most common jobs at two levels and comparing cost and quality, not by reading charts. That takes an hour and it is the most useful hour you will spend on Opus 5.5 this month.
Short, practical drops on skills, MCP, agents, prompts, and more. No spam, unsubscribe anytime.
Frequently asked questions
What are the Claude Code effort levels?
Five settings - low, medium, high, xhigh, and max - that control how much the model thinks before answering. Higher effort means deeper reasoning, more tokens, and slower replies. Claude Code also offers an ultracode setting that plans a dynamic workflow for each substantive task with xhigh reasoning per message. You set the level with the /effort command.
What is the default effort level in Claude Code?
It depends on the model. Claude Opus 5.5 defaults to medium. Every other model that supports effort defaults to high, except Opus 4.7, which defaults to xhigh. A request that does not set effort runs at the model's default, so switching from Opus 5 to Opus 5.5 without touching /effort moves you one level down.
How do I change the effort level in Claude Code?
Type /effort in the message box of the desktop app or the terminal to open a slider, or name the level directly, for example /effort high. Run /effort auto to clear your saved level for the current model. Claude Code saves the level per model under modelSettings in your user settings. The max level is session-only unless set through the CLAUDE_CODE_EFFORT_LEVEL environment variable.
Does a higher effort level cost more?
Yes. Effort controls how many thinking tokens the model spends, and thinking counts as output, which is the expensive side at $20 per million tokens on Opus 5.5. Anthropic's docs also note that Opus 5.5 thinks more per turn than Opus 5 at the same level, especially at xhigh and max, so a high setting carried over from the old model costs more than it used to.
Should I use max effort for everything on Opus 5.5?
No. Anthropic's Claude Code docs describe max as prone to overthinking with diminishing returns, and it is session-only for that reason. Start on medium, step up to high when a task fails, use xhigh for long unattended runs, and reserve max for decisions you cannot undo cheaply. Drop back to medium afterward, because the level is saved per model.
Last reviewed by David Iya on September 25, 2026


