Claude Code Extended Thinking: How Ultrathink Mode Actually Works

David IyaDavid Iya August 8, 2026 8 min read
A single chess piece on a board lit from above, with a hand hovering above it mid-decision instead of already moving
Original image, Claude Code Club

What Claude Code Extended Thinking Actually Is

Extended thinking is a mode where Claude Code reasons through a problem in a visible thinking pass before it writes its actual response, instead of going straight from your prompt to an answer. That extra pass costs tokens and time, and it buys you a model that has worked through tradeoffs, checked its own logic, and considered edge cases before committing to a plan. For a quick file rename, you do not need that. For a decision that will shape the next month of a codebase, you do.

The Four Thinking Keywords, Ranked

You trigger extended thinking by putting one of four keywords anywhere in your prompt, and each one asks for a bigger reasoning budget than the last: think, then think hard, then think harder, then ultrathink at the top. Ultrathink was re-introduced in Claude Code v2.1.68 and gives the agent roughly 32,000 tokens to reason through the problem before it responds. The keyword is a one-time nudge for that specific message - it does not change your session's effort setting and does not carry over to your next prompt.

Extended thinking keywords, low to high

KeywordWhat it signals
thinkA modest bump in reasoning time for a slightly non-trivial question
think hardMore budget - good for a real decision with a few competing options
think harderA deeper pass, appropriate for a decision you would regret getting wrong
ultrathinkThe largest budget, roughly 32,000 tokens of reasoning, for the hardest calls

What Ultrathink Actually Buys You

The extra token budget goes toward the agent working through a problem the way a careful engineer would on a whiteboard before touching the keyboard: naming the options, checking each one against the actual constraints, and catching a flawed assumption before it turns into code. That is worth the wait on decisions where being wrong is expensive to unwind - choosing between two database schema approaches, tracking down a bug that only reproduces intermittently, or reviewing a security-sensitive piece of code for what an attacker could actually do with it.

  • Architecture and schema decisions, where the cost of picking wrong shows up weeks later, not immediately.
  • A bug that has already survived one or two normal attempts to fix it.
  • Security-sensitive code, where you want the model reasoning about attacker behavior, not just correctness.
  • Any plan you are about to hand off and walk away from unattended, where nobody is there to catch a bad assumption mid-build.

When Extended Thinking Is Overkill

Do not reach for ultrathink to fix a typo or rename a variable. Extended thinking adds real wait time for a bigger reasoning budget, and on a task with one obvious right answer, that budget has nothing useful to do with the extra tokens. Save it for the decisions that actually have more than one reasonable path, and let routine work move at normal speed.

The CCC Effort Ladder - When to Use Which Level

The Effort Ladder is the checklist I run before typing a thinking keyword at all: match the level to how expensive it would be to get the decision wrong, not to how important the project feels in general.

  1. No keyword - routine edits, boilerplate, anything with one obvious correct shape. Let the agent move at normal speed.
  2. think or think hard - a real decision with two or three reasonable options, where you want the tradeoffs actually weighed, not just picked.
  3. think harder - a decision you would regret getting wrong, or a bug that already beat one normal attempt to fix it.
  4. ultrathink - the rare call: architecture that is expensive to change later, a security review, or a workflow you are about to let run unattended.

Adaptive Thinking and Where This Is Headed

The newer Claude models are starting to handle some of this automatically. Adaptive thinking lets the model decide on its own how deeply to reason based on how complex your request actually is, rather than waiting for you to type a keyword. Anthropic recommends adaptive thinking as the standard setting for the newest Opus and Sonnet models. That does not make the four keywords useless - they are still the explicit override when you want to force a deeper pass on a specific call - but expect the model to lean on adaptive reasoning by default more often as this keeps evolving. Check your version's release notes before assuming last month's behavior still applies.

How I Actually Used It: A Schema Decision I Didn't Regret

I had a project where the obvious data model was a single table with a status column, and it would have worked fine for the first version. Before committing to it, I asked Claude Code to think harder about whether that shape would hold up once a second workflow needed to read the same records in a different order. The extra reasoning pass surfaced a real problem - two features I had planned would end up fighting over the same status field - and it proposed a small split that avoided the conflict entirely. That is not a dramatic story. It is exactly the kind of quiet, avoided rework that extended thinking is actually for: the mistake you never had to notice because it never got built.

Free Claude Code drops, straight to your inbox

Short, practical drops on skills, MCP, agents, prompts, and more. No spam, unsubscribe anytime.

Frequently asked questions

What is Claude Code extended thinking?

It is a mode where Claude Code spends extra tokens reasoning through a problem before it writes its response, instead of answering off the first pattern it recognizes. You trigger it with a keyword in your prompt, and the extra reasoning pass is most valuable on decisions with real tradeoffs, not routine edits.

What does ultrathink do in Claude Code?

Ultrathink is the strongest of four escalating thinking keywords (think, think hard, think harder, ultrathink) and gives the agent the largest reasoning budget, roughly 32,000 tokens, before it responds. It was re-introduced in Claude Code v2.1.68 after being dropped earlier, so check your version if the keyword does not seem to do anything.

Does ultrathink carry over to my next message?

No. Each thinking keyword is a one-time nudge for that specific prompt. It does not change your session's effort setting and does not persist to the next message, so you type it again each time you want that level of reasoning.

When should I not use extended thinking in Claude Code?

Skip it on routine work with one obvious right answer - typo fixes, simple renames, boilerplate. The extra reasoning budget has nothing useful to do on a task without real tradeoffs, so it just adds wait time. Save the keywords for decisions you would regret getting wrong.

What is adaptive thinking, and does it replace the thinking keywords?

Adaptive thinking lets newer Claude models decide on their own how deeply to reason based on the complexity of your request, without you typing a keyword. Anthropic recommends it as the standard setting for the newest Opus and Sonnet models. It does not remove the keywords - they are still the explicit override for forcing a deeper pass on a specific call.

Last reviewed by David Iya on August 8, 2026

David Iya

Written by

David Iya

Forbes 30 Under 30 · Y Combinator

Keep reading

Claude CodeTools

Claude Code vs Windsurf: An Honest Comparison for Builders

Claude Code vs Windsurf comes down to where the agent lives and how far it can reach. Windsurf is an AI-native editor built around its Cascade agent; Claude Code is a terminal-native agent that works alongside any editor and can run without you watching. Here is how to tell which one fits how you actually build.

David Iya 8 min
Read article

Ready to build it yourself?

Join Claude Code Club, the #1 community for learning claude code, for $9/month.

← Back to the blog