← Claude Code Hub
Feb 13, 2026 · 5 min read ✦ Tip #009

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.

Update, November 1, 2026: Opus 5.5, Sonnet 5.5 and Haiku 5.5 start at medium, not high; fixed in the text and the table.

Update, October 31, 2026: the JSON the status line receives does carry the effort level, in effort.level (next to thinking.enabled), so there's no need to guess it from the environment variable anymore.

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; Opus 5 and Fable 5.1 went back to high, and Opus 5.5, Sonnet 5.5 and Haiku 5.5 start at medium.

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 (the default on Opus 5.5, Sonnet 5.5 and Haiku 5.5) 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. And if you live at max, /usage now flags it among what drains your limit.

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.

On Fable 5.1, low comes with documented fine print: it searches less and answers from memory more. If it hands you stale versions, raise the level for those turns or put the line in your CLAUDE.md that makes it search before answering.

How to monitor it

The JSON the status line receives carries the effort level in effort.level, with thinking.enabled next to it. Read it from your script:

input=$(cat)
EFFORT=$(echo "$input" | jq -r '.effort.level // empty')

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

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

One caveat: effort.level is the level set for the session, whether it comes from the environment variable, settings.json or an earlier /effort, not one a skill, a subagent or ultrathink sets for a turn, and it's absent when the model doesn't support effort. Reading the real level inside a script 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.

Found this useful? See more of wmedia.es in your Google results.

Add wmedia.es as a preferred source on Google
FREE GUIDE

You don't need Opus every time.

Model and effort are two settings, not one. 8 pages with the settings that actually move your bill, a three-question diagnostic for when something fails, and the price ladder.

  • 1. What "better" means capability, time and money
  • 2. Model who you send
  • 3. Effort how much rope you give
  • 4. Diagnostic three questions when something fails
  • 5. The bill where it comes from
Are you a professional Web developer?

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

of 8
#

Wmedia · 8 pages
FREE GUIDE · 8 pages · 2 dials

You don't need Opus every time.

Model and effort are two settings, not one. 8 pages with the settings that actually move your bill, a three-question diagnostic for when something fails, and the price ladder.

Are you a professional Web developer? · Unsubscribe anytime
How I use AI

My Claude Code workflow.

The skills, agents and instructions I use as a professional Software Engineer. It's called Craft, and it's a plugin you can install.

See the skills

Using Opus for everything? See when you don't need it.