Optimization

Claude Code Ultrathink Mode Guide

Use ultrathink, effort levels, and Plan Mode responsibly for deep Claude Code reasoning, architecture decisions, debugging, and large refactors.

ultrathink is a prompt keyword for one-off deeper reasoning in Claude Code. Use it when the decision quality matters more than speed, such as architecture planning, subtle debugging, migrations, or security-sensitive changes.

What Ultrathink Does

Add ultrathink anywhere in a prompt when you want deeper reasoning for that turn:

ultrathink through the safest migration plan for replacing this payment webhook handler. Do not edit files yet.

According to the current Claude Code model configuration docs, ultrathink requests deeper reasoning for one turn without changing the session effort setting. It is not a universal quality switch, and it does not replace good context, clear constraints, or verification.

When To Use It

Good use caseWhy it helps
Architecture decisionsMore room to compare boundaries, tradeoffs, risks, and migration paths.
Subtle bugsEncourages root-cause analysis before edits.
Large refactorsHelps separate exploration, sequencing, tests, and rollback strategy.
Security or payment workForces a slower review of failure modes and permissions.
Data model changesHelps reason through constraints, migrations, and compatibility.

For small copy edits, simple CRUD fields, one-file styling changes, or obvious lint fixes, regular reasoning is usually enough.

Pair It With Plan Mode

For risky work, combine ultrathink with Plan Mode instead of jumping straight into edits:

/plan ultrathink through the migration from legacy auth middleware to the new guard. Include affected files, risks, test commands, and rollback steps.

Then review the plan before approving implementation. This keeps deep reasoning in the planning phase and makes the actual diff easier to control.

Use Effort Levels For Session-Wide Control

If you need deeper reasoning across a whole session, use /effort or model settings instead of repeating ultrathink in every prompt:

/effort high

Use /model to check the active model and confirm whether effort controls are available. The supported effort levels depend on the current model and Claude Code version.

Cost And Latency Guardrails

Deeper reasoning can increase token usage and latency. Keep it scoped:

  • Use ultrathink for the planning turn, not every implementation turn.
  • Ask for a short risk list before edits.
  • Split a large migration into reviewable steps.
  • Use /usage when you are on API-backed billing.
  • Use cheaper or faster settings for routine follow-up edits when appropriate.

Prompt Templates

ultrathink through this architecture change. First map the current flow, then propose the smallest safe plan. Do not edit files yet.
ultrathink about why this intermittent test fails. List likely causes, the files to inspect, and the one experiment you would run first.
ultrathink through the security risks of this authentication diff. Focus on real exploit paths, missing checks, and regression tests.

Official Sources


Next: Architecture Analysis - Use Claude Code to map and improve project structure.