All insights

Coding agents

Claude Code “Think Harder”: What It Does and When to Use It

What Claude Code documents about “think harder” and “ultrathink,” how `/effort` works, and what production API users should verify before choosing a reasoning level.

Illustration for Claude code think harder

The short answer

The Claude Code documentation cited here does not define “think harder” as a specific setting. It documents ultrathink as a one-turn request for deeper reasoning, without changing the session’s effort setting. That does not establish that “think harder” behaves the same way, or guarantee a correct result.

For an explicit effort control, use /effort in Claude Code. For direct API requests, configure effort on the API request; do not assume Claude Code prompt phrases configure the API.

“Think harder” versus “ultrathink”

Third-party articles describe “think harder” as an informal prompt cue. Their claims about fixed reasoning tiers or token budgets are not established by the Anthropic documentation cited here. The practical distinction is:

  • ultrathink in Claude Code: documented as a one-turn request for deeper reasoning.
  • “Think harder”: natural-language guidance you can try, but the documentation cited here does not define it as a specific setting or level.
  • Effort: an explicit control for adjusting how much work Claude does. Anthropic describes effort as affecting more than thinking time: it can also affect how many files Claude reads, what it verifies, and how far it proceeds through a multi-step task.

Change effort in Claude Code

In an interactive Claude Code session, type /effort and choose a level supported for the model you are using. The command documentation describes /effort as a way to adjust how much reasoning the model applies. The model-configuration documentation says that, for interactive effort selections, duration depends on how you confirm the choice. The material available for this revision does not specify which confirmation action makes a selection session-only versus longer-lasting, so check the current model-configuration instructions before relying on a particular duration. Available levels can depend on the model.

Use a one-turn cue when a particular task needs more analysis without changing your general preference. Use /effort when you want to adjust the explicit effort control. If Claude has the relevant context but skips checks or stops partway through a multi-step task, testing a higher supported effort may be worthwhile. If project constraints or evidence are missing, supply them—more reasoning cannot recover context Claude cannot see.

What changes for a production API?

Claude Code prompts and direct API requests are separate surfaces. For the Messages API, Anthropic documents output_config.effort as the request-level effort control. The documented example identifies claude-opus-5-5 and uses medium. That supports identifying the parameter and an example value, but it does not establish here that high or max is supported for this model or provide enough detail to recommend a production request for higher effort. Check the current API documentation for model-specific values and request constraints before configuring it.

Anthropic describes effort as a trade-off between response thoroughness and token efficiency—not a guarantee of a particular latency, quality improvement, or cost for your workload. Claude Code keywords should not be treated as substitutes for API request parameters.

How to tell whether deeper effort helps

Treat deeper reasoning as a hypothesis to test, not a promise of better code. It may be worth evaluating for complex debugging, migrations with interacting constraints, security-sensitive reviews, or multi-step tasks. For a small comparison:

  1. Choose representative tasks with clear acceptance checks.
  2. Compare the same model and task context at ordinary and deeper effort, keeping prompts and available evidence as consistent as possible.
  3. Track correctness, missed constraints, unnecessary changes, elapsed time, usage, and reviewer effort.
  4. Repeat across enough tasks to avoid deciding from a single unusually good or bad run.
  5. Keep the deeper setting for task types where your results justify it.

This is an evaluation method, not a claim that deeper effort always improves code or saves time. Keep human review and executable validation in place at every effort level.

Sources

Model configuration — Claude Code Docs

Commands — Claude Code Docs

Effort — Claude Platform Docs

Choosing a Claude model and effort level in Claude Code

Contact us