Contents
That slider next to the model name in Claude Code — the "Effort" control that runs from "Faster" to "Smarter" — decides how much work (thinking and tokens) the AI puts into each reply. Slide left for fast and cheap, right for deep and smart.
Here's the big picture first. The effort setting itself (the API effort levels) has 5 steps: low to max. Claude Code's /effort slider shows these plus its own Ultracode mode, for 6 items total. So it's "5 levels + Ultracode = 6 items." Keep that in mind and the rest falls into place.
One dial from "Faster" to "Smarter"
— it shifts thinking depth and tool calls together
= the 5 API effort levels (low–max)
The slider reads Low · Medium · High · Extra · Max, plus Ultracode at the right.
So "Extra" = xhigh, and the top effort is "Max." Ultracode isn't a step — it's an add-on mode.
1. What "effort" is
Effort is the setting that controls how many tokens Claude spends on a single reply. Lower means shorter, faster, and cheaper; higher means deeper, more thorough, and smarter. If you've searched "Claude Code effort" or wondered what the "Faster / Smarter" dial does, this is it.
The key point is that effort affects your whole reply, not just the thinking. Specifically, it touches all three of these (source: Anthropic's official "Effort" docs — Extended thinking / Tool calls and function arguments / Text responses and explanations).
Thinking depth
How much it reasons before answering. Higher effort allows multi-step analysis and backtracking.
Tool calls
How many times it reads, searches, or edits. Lower effort bundles and reduces calls.
Amount of response text
Explanations, summaries, comments. Lower effort means less preamble and terser output.
💡 In a nutshell: effort is a behavioral signal, not a fixed token budget. Even at low effort Claude will still think on genuinely hard problems — just less than it would at higher effort for the same problem.
2. The slider's 6 items and labels
As an API setting, effort has 5 levels: low → medium → high → xhigh → max. The default is high, which behaves exactly like leaving effort unset. Claude Code's /effort slider adds its own Ultracode mode, so it lists 6 items.
One thing trips people up: "Extra" is not the maximum. The slider reads Low · Medium · High · Extra · Max, where "Extra" = xhigh and "Max" = max. So "Extra" is second from the top, not the top. And Ultracode isn't an effort step at all — it's an add-on mode with different behavior (see section 6).
Fewest tokens, lowest latency
Short, scoped tasks, formatting, boilerplate, subagents. Speed and cost first.
Cost-conscious middle ground
Solid quality while keeping tokens in check for everyday work.
The quality/cost sweet spot
The standard for complex reasoning and hard coding. "Just right" for most work.
Long-running agentic work
For coding with repeated tool calls and deep search. Uses far more tokens than high.
Maximum thinking, no cap
Deepest reasoning with no token limit. For truly hard problems only; can overthink.
xhigh + multi-agent
Not an effort "step" but a Claude Code-only mode. See section 6.
⚠️ What persists and what doesn't: low, medium, high, and xhigh are saved and carry over to your next session. "Max" and "Ultracode" are session-only (Max persists only if set via the CLAUDE_CODE_EFFORT_LEVEL environment variable; Ultracode can't be saved even that way).
3. Model support and auto-downgrade
The levels you can pick depend on the model. xhigh ("Extra") is limited to newer top-tier models. On Opus 4.8 or Fable 5 you get every level.
| Model | API effort levels (low–max) | Default |
|---|---|---|
| Fable 5 / Opus 4.8 | low · medium · high · xhigh · max | high |
| Opus 4.7 | low · medium · high · xhigh · max | xhigh |
| Opus 4.6 / Sonnet 4.6 | low · medium · high · max (no xhigh) | high |
※ This table is the API effort levels. Claude Code's slider adds Ultracode (the right-end mode) for 6 items. Ultracode is only available on xhigh-capable models (Fable 5 / Opus 4.8 / Opus 4.7, etc.) — on Opus 4.6 and Sonnet 4.6 it doesn't appear in the /effort menu.
※ "Default" here is Claude Code's default (xhigh on Opus 4.7, high elsewhere). The API default is high for every model.
If you pick a level the model doesn't support, it doesn't error — it auto-downgrades to the nearest supported level at or below it. For example, xhigh ("Extra") on Opus 4.6 runs as high (those two models jump from high straight to max, with no xhigh in between). Note too that the same level name means different amounts on different models — the effort scale is calibrated per model.
4. How to set it (/effort and more)
Start here: the /effort command. Run it with no arguments and an interactive slider opens (the dial in the screenshot), navigated with the arrow keys. This alone is all most people need.
# Open the slider (arrow keys, then Enter)
/effort
# Set a level directly
/effort low
/effort xhigh
# Reset to the model's default
/effort auto
Other options, depending on your needs (the later ones are for advanced users):
- The slider inside
/model: in the model picker, use the left/right arrow keys to adjust the effort dial. --effortflag: launch withclaude --effort medium(that session only).CLAUDE_CODE_EFFORT_LEVELenvironment variable: a level name orauto. Takes highest priority.effortLevelin settings: saveslow/medium/high/xhigh(maxandultracodeare session-only and can't be saved here).- skill / subagent frontmatter: overrides effort while that skill or subagent is running.
💡 Priority: environment variable > frontmatter (only while that skill/subagent runs; never beats the env var) > your configured/session value > the model default. The current level shows next to the logo and spinner, e.g. "with low effort," so you can confirm what's active.
5. Quick reference: which level when
The official guidance is simple. Start at xhigh ("Extra") for coding and agentic work, fall back to high when unsure, drop to medium/low to save cost, and reserve max for genuinely hard problems. Reach for Ultracode only when you want to power through a large, multi-step task at once.
| Item (display) | When to use it |
|---|---|
| low | Short, scoped, latency-sensitive tasks that don't need much intelligence |
| medium | Cost-sensitive everyday work where you can trade a little intelligence |
| high | Complex reasoning and hard implementation. The balanced standard |
| xhigh (Extra) | Long coding/agentic runs with repeated tool calls and deep search |
| max (Max) | Hardest problems only. Gains plateau and overthinking is a risk — test first |
| Ultracode | Large, multi-step tasks (big refactors, audits) you want broken up across multiple agents. Session-only; not for everyday use (→ §6) |
When you raise effort for heavy work, set a generous max_tokens (around 64k+) so the model has room to think and act across tool calls.
6. What Ultracode is (in depth)
Ultracode appears at the right end of the /effort slider and is a Claude Code-only mode. The crucial part: it is not an API effort level (low–max). Under the hood it has two layers.
It sends xhigh effort
Each message goes to the model at xhigh ("Extra")-level reasoning — the foundation for deep, long-running agentic work.
It auto-launches dynamic workflows
For each substantive task, Claude plans and launches a multi-agent workflow on its own, running several subagents in parallel.
"Dynamic workflows" (layer 2) means Claude writes a script on the fly that runs many subagents in the background, in parallel. Intermediate results stay in the script; only the final result returns to Claude's context. A single request can fan out into several workflows (e.g. "understand the code → change it → verify"). Concurrency is capped at 16 agents at once, with up to 1,000 agents per run.
🔑 Ultracode vs. xhigh: xhigh = thinking depth only. Ultracode = xhigh PLUS auto-launching multi-agent workflows per task. Both sit at the right of the slider, but xhigh is an effort step and Ultracode is a mode layered on top.
How to turn it on
/effort ultracode: on for the whole session (each substantive task is auto-turned into a workflow).- Pick "Ultracode" from the
/effortmenu or the/modelslider. - For a one-off, put the keyword
ultracodein your prompt (e.g. "ultracode: audit every endpoint under src"). Your session effort stays unchanged. - Pass
"ultracode": truevia--settingsor an Agent SDK control request.
⚠️ Model support and session-only: Ultracode requires an xhigh-capable model (Fable 5 / Opus 4.8 / Opus 4.7, etc.); it doesn't appear in the /effort menu on Opus 4.6 or Sonnet 4.6. It's session-only and can't be saved (not even via the environment variable). To return to routine work, run /effort high.
When to use it
✅ Good fit
Large refactors, migrations across hundreds of files, codebase-wide bug or authorization audits, multi-perspective cross-checks — multi-step work too big to steer in one conversation.
⛔ Poor fit
Small, scoped tasks, latency-sensitive work, routine edits. Each request costs noticeably more tokens and time, so it's wasteful here.
Cost note: because every request runs at xhigh and fans out into workflows, Ultracode burns far more tokens and time than usual and can eat into your plan usage and rate limits quickly. Try it on a small slice first (one directory) to gauge the scale. The dynamic-workflows feature itself can be disabled via /config, the setting "disableWorkflows": true, or the env var CLAUDE_CODE_DISABLE_WORKFLOWS=1 — which also removes Ultracode from the /effort menu.
※ Behavior is per Anthropic's official docs (Effort / Model configuration / Workflows); the slider labels were confirmed in the live Claude Code desktop UI (all as of June 2026). Effort and Ultracode evolve quickly — check the official docs and your app for the latest.
7. Related features and common mix-ups
A few features are easy to confuse with effort. Here's how they differ.
ultrathink
A keyword that makes Claude think harder for that one turn only; your session effort is unchanged. Phrases like "think" or "think hard" are treated as plain text and do nothing.
/fast (fast mode)
A separate axis. It runs the same model faster (it doesn't drop to a smaller one), at a higher cost. Pair it with low effort for snappy routine work.
Ultracode
Not an effort step but a mode that adds xhigh + multi-agent automation. Details in section 6.
The common mix-up is "pick 'Extra' and it's the smartest." In fact "Extra" = xhigh, and the top effort is "Max" to its right. Even Max isn't always best — on structured output or light tasks it can overthink and hurt quality. Official guidance is to start coding at xhigh ("Extra"), and the default high is plenty for most situations. If your setup gets stuck, see common Claude Code errors and fixes.
Summary
Three takeaways on Claude Code's effort setting.
- What it is: the tokens-per-reply setting — your "Faster ↔ Smarter" dial. It affects thinking, tool calls, and response text alike.
- Steps and labels: the API has 5 effort levels (low–max). The slider adds Ultracode for 6 items, shown as Low · Medium · High · Extra · Max · Ultracode. "Extra" = xhigh; the top is "Max." Default is high (xhigh on Opus 4.7); xhigh is top-model-only; unsupported levels auto-downgrade.
- Which when: coding starts at xhigh ("Extra"), high when unsure, medium/low for cost, max for hard problems only. Big multi-step jobs → Ultracode (xhigh + multi-agent, session-only).
One dial gives you the balance between speed and smarts. Read it alongside the loop command and our AI coding tool comparison to get the most out of Claude Code.
The other selector sitting right next to the effort dial is Claude Code's permission modes. Where effort decides how hard Claude thinks, permission mode decides how much it's allowed to run on its own — pairing the two takes the guesswork out of everyday driving.
FAQ
Q. Is picking "Extra" on the slider the smartest setting?
A. No. "Extra" is xhigh (second from the top), not the maximum. The top effort is "Max," just to its right. But Max isn't always best — on structured output or light tasks it can overthink. For coding, official guidance recommends starting at xhigh ("Extra").
Q. Which effort level should I use?
A. When unsure, the default high is fine. For serious coding or agentic work, xhigh ("Extra") is the recommended starting point. For formatting or light work where speed matters, drop to low/medium.
Q. How is Ultracode different from Max?
A. Max is an effort level (the deepest thinking). Ultracode isn't an effort step — it adds, on top of xhigh-level thinking, auto-launching multi-agent workflows. It's for large, multi-step tasks, and it's limited to xhigh-capable models and session-only.
Q. Why can't I pick xhigh ("Extra") or Ultracode?
A. Both require an xhigh-capable model (Fable 5, Opus 4.8, Opus 4.7, etc.). Opus 4.6 and Sonnet 4.6 have no xhigh, and Ultracode doesn't show in the /effort menu there (xhigh requests auto-downgrade to high). Switch models to get them.
Q. How do I make my setting stick across sessions?
A. low/medium/high/xhigh save to the effortLevel setting and carry over. Max is normally session-only but persists if set via the CLAUDE_CODE_EFFORT_LEVEL environment variable. Ultracode can't be saved even that way — it's always session-only.