← Claude Code Hub
✦ Tip #009 Feb 13, 2026

Claude Code Effort Level: Adjust Reasoning Depth on the Fly

Claude Code's reasoning effort isn't just on/off. You can dial it up or down per session for tougher problems, or lock it in across every project.

TL;DR Use /model + arrow keys to adjust effort on the fly. Or configure it permanently with effortLevel in settings or the CLAUDE_CODE_EFFORT_LEVEL environment variable.

When you use /model to switch models, it's easy to miss the slider that appears below: use the left/right arrow keys to adjust the active model's effort level. That slider controls how much reasoning Claude invests before responding. It's not a strict token budget, it's a behavioral signal. At low, Claude thinks less and responds faster. At high it dedicates more thinking tokens to complex problems. On Opus 4.7 (April 2026) the default moved up to xhigh, a step between high and max; on later models the default is back to high.

claude-code-effort

Don't confuse effort level with fast mode. Fast mode speeds up token generation without reducing reasoning quality. Lowering effort does reduce reasoning in exchange for speed and cost.

And one thing that saves wasted time: of the three controls that exist for thinking, effort is the only one still wired up on current models. The on/off switch and MAX_THINKING_TOKENS don't do what you think.

Result:

> /model

  ● opus
    sonnet
    haiku

  Effort: ◄ ██████░░░░ medium ►

3 ways to configure effort level

1. From /model (interactive)

Type /model, select a supported model, and use the left/right arrow keys to move the effort slider:

The change applies immediately to the current session.

2. Environment variable

export CLAUDE_CODE_EFFORT_LEVEL=low

Useful for scripts, CI/CD, or batch tasks where you know upfront that operations are simple.

3. Settings file

Add effortLevel to your settings.json (user or project):

{
  "model": "opus",
  "effortLevel": "medium"
}

Reference

Level Reasoning When to use it
low Minimal, fast and cheap responses Simple tasks, renames, formatting
medium Moderate, speed/quality balance Daily development, straightforward implementations
high Deep (the default on most models) Architecture, complex debugging, difficult logic
xhigh Deeper still Problems that resist you at high
max The ceiling, session-only The hardest work, when cost doesn't matter

How much you should touch it

Not much. Anthropic's guidance for Claude Code says "for most tasks you should use the model's default effort level", and to treat it as a general preference rather than a task-by-task decision. Raise it when you have a concrete reason: Claude skipped a file, didn't run the tests, or bailed on a refactor partway through. That criterion, and where each model fits, is in Sonnet 5, Opus 5 and Fable 5.

Watch out when a new model lands

Until now, the first time you ran Fable 5, Opus 4.8, or Opus 4.7, Claude Code imposed that model's default effort even if you had set another one, and held it across sessions until you chose explicitly. Opus 5 doesn't do that: it carries over whatever level you had. If you dropped to low to spend less, your Opus 5 starts on low. To go back to the model default, run /effort auto. The full detail is in Opus 5 in Claude Code.

The recommended level moved with the model too: on Opus 4.7 and 4.8 the advice was to start at xhigh for coding, and on Opus 5 you start at high and reach for low and medium freely. If you're carrying a level you set months ago, that's the first thing to revisit.

How to monitor it

The effort level is not included in the JSON that the status line receives by default. But you can read the environment variable directly from your script:

EFFORT=${CLAUDE_CODE_EFFORT_LEVEL:-high}

And add it to your status line next to the model:

╸ my-project  main │ Opus (medium) │ ██░░░ 35%

One catch: that :-high is an assumption, not a reading. If your level comes from settings.json or from an earlier /effort, the variable is empty and your status line will say high while you're actually running at low. Reading the real level means a whole precedence chain first, plus a probe that does work.

You can also see the active model with /status, and the effort level appears in the session header next to the model name.

Official docs: Model configuration: Adjust effort level

Part of the 10 habits to save tokens in Claude Code.

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
Free guide

The 51 essentials, as a PDF.

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 PDF.

Are you a professional Web developer? · Unsubscribe anytime