← Claude Code Hub
✦ Tip #208 Sep 24, 2026

Claude Code ultrathink: what it does now, and what it doesn't

Half the internet says it's dead, the other half thinks it maxes Claude out. I measured it across 45 runs: it's neither.

Claude Code ultrathink: it adds a note to that turn only and effort stays at medium. On Opus 5.5, median reasoning of 901 tokens at medium, 1,148 with ultrathink and 1,102 at high; cost $0.60, $0.65 and $0.64; correct 15/15, 14/15 and 15/15

TL;DR Type ultrathink on the hard turn and that turn reasons as if you'd raised effort to high: in my runs on Opus 5.5, 27% more reasoning than medium for 9% more cost. Your effort setting stays where it was, and the next turn is back to normal. What it won't do is get more answers right on work medium already handles.

Search for ultrathink and half the results say it's dead while the other half sell it as Claude's maximum mode. I measured it on v2.1.281 with Opus 5.5. It's neither.

What it does now

Claude Code spots the word anywhere in your prompt and attaches an in-context instruction to that turn. This one, verbatim:

The user included the keyword "ultrathink", requesting deeper reasoning on this turn.
Reason as thoroughly as the task warrants.

That's the whole mechanism. A note for one turn. Your next prompt goes out without it.

It's also the last keyword standing. think, think hard and think more reach the model as plain text, and Claude Code adds nothing for them.

What it doesn't do

It doesn't raise your effort. The level sent to the API is still yours. I checked with the /whicheffort skill from the effort precedence chain, which prints ${CLAUDE_EFFORT}:

$ claude -p "/whicheffort" --model claude-opus-5-5
EFFORT=medium

$ claude -p "ultrathink /whicheffort" --model claude-opus-5-5
EFFORT=medium

It doesn't stick. Your settings.json and your per-model effort are left alone.

It doesn't buy extra right answers on problems medium already solves. That part I measured.

How I measured it

Five problems with an exact, checkable answer (combinatorics, probability and a coin count), with tools switched off so Claude couldn't write code and had to reason its way through. Three Opus 5.5 configurations, three runs each, 45 runs in total:

claude -p "<problem>" --model claude-opus-5-5 [--effort high] \
  --tools "" --setting-sources project --strict-mcp-config \
  --no-session-persistence --output-format json

In the ultrathink configuration the prompt starts with ultrathink. and nothing else changes. Reasoning is thinkingTokens from each run's JSON; cost is total_cost_usd at API list price.

Configuration Correct Reasoning API time Cost of all 15
medium (the default) 15/15 901 tokens 15.3 s $0.60
medium + ultrathink 14/15 1,148 tokens 18.0 s $0.65
--effort high 15/15 1,102 tokens 17.7 s $0.64

Reasoning and time are medians over the two long problems (permutations and coins). On the other three, no configuration went past 300 reasoning tokens.

With ultrathink, Opus 5.5 reasoned 27% more than at medium, close to what high did (22% more), and cost 9% more. Around three extra seconds per answer.

Accuracy didn't move, because medium was already getting everything right. The single miss in 45 runs came from ultrathink: 22 ways to make a dollar where there are 24. Three runs per cell can't show it makes things worse. They do show it didn't help here.

When to use it

For one specific turn, instead of raising effort for the whole session. A design call, a bug that spans several modules, a migration you want reasoned through carefully. Put ultrathink in that prompt and the next one is back at your usual level, with nothing to remember to turn down.

On Opus 5 and Sonnet 5 it also spares you an uncached reread. On those models, changing effort mid-session means the next request reads the whole conversation without the cache, and that's billed. ultrathink leaves effort alone, so that reread never happens. On Opus 5.5 and Fable 5.1 with a subscription or an API key, changing effort already keeps the cache, so the difference comes down to scope: one turn or the whole session.

Don't put it in every prompt. That's running at high without admitting it. If all your work needs it, set high for that model with /effort and save ultrathink for the exceptions. In my Opus 5.5 benchmark, going to high changed nothing on everyday tasks.

What this doesn't measure

  • Problems where medium falls short. Almost everything came back right, so this measures how much it reasons and what it costs, not whether it reasons better. On a task medium gets wrong, the extra note might show.
  • Scale. Five problems, three runs, one model, one day.
  • Sessions with tools. I ran it with --tools "". If the note makes Claude read more files before it writes, this test can't see it.

If what you actually want is to see Claude's thinking, ultrathink won't show it to you: that takes something else. And why effort is the only thinking knob still wired to anything is in Claude Code thinking.

Official docs: Model configuration: use ultrathink for one-off deep reasoning · Prompt caching: changing effort level

Requirements

  • Checked on Claude Code v2.1.281 with Opus 5.5, on September 24, 2026.
Free guide

The 51 essentials, as a guide.

One page per tip. Five chapters. What I actually use daily in production. No theory, no fluff.

  • I. Getting started 10 tips
  • II. Awareness 3 tips
  • III. Mastery 22 tips
  • IV. Autonomy 10 tips
  • V. Comparison 6 tips
Are you a professional Web developer?

You'll receive the guide by email · You join the Gravitas newsletter · Unsubscribe anytime

of 51
#

Wmedia · 51 Tips
Free guide · 51 tips · 5 chapters

The 51 essentials, as a guide.

Are you a professional Web developer? · Unsubscribe anytime
Workshop for teams

Multiply your team's output without sacrificing quality: a 6 to 8 hour AI First workshop, online, on the Claude platform.

See the workshop

Want the 51 Claude Code essentials as a guide?