Most people use ultrathink and ultracode interchangeably. They're not the same thing. One is a per-turn keyword. The other is a session-level command. Using the wrong one costs you money without getting better results.
The two mechanisms
Claude Code has two separate ways to control reasoning effort:
ultrathink — a per-turn keyword you add to your prompt. It tells Claude to use its maximum extended thinking budget for that single request.
ultracode — triggered by the /effort ultracode slash command. It sets the session effort level to xhigh AND enables dynamic workflows (parallel subagents working simultaneously).
These are independent. You can use one without the other.
The 5 effort levels
Claude Code has 5 effort levels, not just high and low:
| Level | How to activate | Token multiplier | Use case |
|---|---|---|---|
low |
/effort low |
1× | Simple questions, quick lookups |
medium |
default | 2× | Normal development tasks |
high |
/effort high |
4× | Complex bugs, architecture decisions |
xhigh |
/effort xhigh or ultracode
|
8× | Multi-file refactors, production incidents |
max |
/effort max |
16× | Research, deep analysis, novel problems |
These affect how much Claude thinks before responding — more compute = better reasoning, but also more tokens and more cost.
What ultrathink actually does
When you add ultrathink to a prompt, Claude uses its extended thinking feature for that specific request. It reasons step-by-step internally before giving you an answer.
# Single prompt with maximum thinking
"ultrathink — why is this React component re-rendering on every keystroke?"
It applies only to that one message. The next message goes back to your session's default effort level.
When to use it:
- Debugging a hard problem you can't figure out
- Asking Claude to analyze a complex codebase section
- Any single question where you want the deepest possible reasoning
What ultracode actually does
/effort ultracode does two things at once:
- Sets effort level to
xhigh(8× token multiplier) for the entire session - Enables dynamic workflows — Claude can spawn parallel subagents that work simultaneously
# In Claude Code
/effort ultracode
# Now Claude will:
# - Think at xhigh level for every message this session
# - Automatically use parallel subagents when tasks benefit from it
The parallel subagents are the real differentiator. Instead of doing tasks sequentially, Claude can run multiple agents simultaneously — one checking the database schema while another reads the API routes, for example.
When to use it:
- Large refactors spanning many files
- Full feature implementation from scratch
- Production incidents where you need to investigate multiple things at once
The cost reality
The token multipliers are real. A task that costs $0.10 at medium costs:
-
high: ~$0.40 -
xhigh(ultracode): ~$0.80 -
max: ~$1.60
For a complex 2-hour coding session, the difference between medium and xhigh can be $5–20 depending on context size.
The practical rule:
- Use
medium(default) for 80% of tasks - Use
highor a singleultrathinkwhen stuck on something specific - Use
ultracodeonly for large, well-defined tasks where parallel work helps
What /effort max is for
max is the highest level and is intentionally separate from ultracode. It's designed for:
- Deep research tasks
- Analyzing very large codebases
- Problems where you genuinely need Claude to consider many edge cases
It does NOT enable dynamic workflows automatically — that's only ultracode. max is pure thinking depth.
Common mistakes
Using ultrathink for everything — you pay 16× for every message when most tasks don't need it. Reserve it for genuinely hard problems.
Thinking ultracode just means "high quality" — it changes session behavior. Tasks that don't benefit from parallelism don't benefit from ultracode either.
Using max for speed — max is slow. Extended thinking takes more time. If you want speed, stay at medium.
Not resetting effort after ultracode — if you set /effort ultracode for a big task, remember to /effort medium after. Otherwise you'll pay 8× for every question for the rest of the session.
Quick decision guide
Need help with one hard question?
→ Add "ultrathink" to your prompt
Doing a large feature or refactor across many files?
→ /effort ultracode
Normal development work?
→ Default (medium) is fine
Deep research or complex analysis of a large codebase?
→ /effort max
Full guide: stacknotice.com/blog/claude-code-ultrathink-ultracode-effort-guide-2026
Top comments (0)