Ultrathink in Claude Code: What It Does Now, and How Effort Levels Work
Ultrathink still works in Claude Code, but it no longer works the way old guides say — and "think hard" is no longer a keyword at all. How effort levels (low to max) actually control reasoning, how to set them with /effort, and when ultrathink is still worth typing.
Older Claude Code guides tell you to type "think", "think hard" or "ultrathink" to make Claude reason longer. That advice is out of date. Today the main control is the effort level, and ultrathink is a small per-message nudge on top of it.
Details as of October 2026, from Anthropic's model configuration docs.
What changed
- "think", "think hard", "think more" are no longer keywords. Claude Code passes them through as ordinary words in your prompt. The model may still respond to them as an instruction, but nothing special happens.
ultrathinkstill is a keyword. Put it anywhere in your prompt and Claude Code adds an instruction asking for deeper reasoning on that turn only. It doesn't change your effort setting, and the effort level sent to the API stays the same.- Effort levels are the real dial. Current models use adaptive thinking: they decide how much to reason, and effort tells them how hard to try.
The effort levels
On current models (Opus 5.5, Sonnet 5.5, Haiku 5.5, and Opus 5 / Sonnet 5) there are five levels:
| Level | What it's for |
|---|---|
low |
Quick, simple edits where speed matters most |
medium |
The default on Opus 5.5, Sonnet 5.5 and Haiku 5.5 — everyday work |
high |
Trickier bugs, careful refactors |
xhigh |
Hard problems where you'll wait for a better answer |
max |
The deepest reasoning; for problems you want worked through without you |
Anthropic notes that max can show diminishing returns and is prone to overthinking, so test it before making it your habit. Higher effort also means more tokens, which means more of your usage limit.
How to change effort
/effort opens a slider
/effort high sets it directly
/effort auto clears your saved level for this model
You can also set it when you start a session:
claude --effort high
Or with an environment variable, CLAUDE_CODE_EFFORT_LEVEL=high, or in settings with "effortLevel": "high". Levels are saved per model, and max only applies to the current session unless you set it through the environment variable.
In the /model picker, the left and right arrow keys adjust the same slider.
When to type ultrathink
ultrathink is useful when one message deserves extra care but you don't want to change the whole session:
ultrathink: why does this payment webhook occasionally double-charge?
Read the handler and the retry logic before answering.
For a whole session of hard work, raise the effort level instead. For routine steps where you want Claude to be a bit more careful, say so in plain words or in your CLAUDE.md — the model follows that guidance within its effort setting.
A sensible default routine
- Leave effort at the default for normal work.
- Type
ultrathinkfor the occasional hard question. - Raise to
highorxhighfor a debugging session or a design decision. - Drop back down when you return to routine edits — your usage will thank you.
- Use plan mode for big changes. Thinking harder doesn't replace agreeing on a plan.
The summary
- "Think hard" is just words now.
ultrathinkis a one-turn nudge. - Effort (
low→max) is the real control; set it with/effortor--effort. - Higher effort costs more usage — raise it for hard problems, not by default.
EasySpawn runs Claude Code on a persistent server, so a long high-effort session keeps going when you close your laptop and is there when you reconnect from your phone. See how it works or join the waitlist.
Related: How to Change the Model in Claude Code · Opus vs Sonnet vs Haiku · What Is a Reasoning Model? · How to Keep Claude Code Costs Down
Keep reading
Claude Code Output Styles: Concise, Explanatory, Learning and Your Own
Output styles change how Claude Code talks and works for a whole session: shorter answers, explanations of each change, or leaving pieces for you to write. The five built-in styles, how to switch with /output-style, and how to write a custom style file.
Claude Code in JetBrains IDEs: IntelliJ, PyCharm, WebStorm and More
How to use Claude Code in IntelliJ IDEA, PyCharm, WebStorm, GoLand, PhpStorm and Android Studio: install the CLI and the plugin, connect with /ide, see diffs in the IDE's viewer, share selections and diagnostics, and fix the common Esc-key and WSL problems.