Pular para o conteúdo
artigos
Claude CodeAI CodingSpec-Driven DevelopmentDeveloper Tools

Claude Code Effort Levels: Turning It Up Won't Fix a Vague Ticket

Which effort level to use in Claude Code, from Anthropic's own guide, a new benchmark where xhigh cost up to 4x more and passed fewer tests, a study of what helps a stuck agent, and a 48-run test of my own.

Turning the dial up made the agents slower and more expensive, not more correct. The ticket was the lever.

Use medium to build from a clear ticket, high or xhigh to verify work full of edge cases, and fix the ticket before you touch the dial. That is what Anthropic’s own guide says, what a new benchmark measured, and what my own 48-run test points to.

Claude Code is my daily driver. I haven’t run my own sweep of medium against high yet: the numbers below are Anthropic’s, two independent research groups’ and mine at a single level. Read them with that in mind.

Free book · 169 pages · PDF + EPUB

Turning Claude Code's effort up didn't buy better code in these tests; a clear ticket did. The free book's spec templates help you write the ticket the agent can't misread.

Get the free book

Use medium to build, high to verify

If you set effort once and forget it, leave it at medium and spend the minutes on the ticket. That is close to Anthropic’s own rule: in its effort guide, Thariq Shihipar builds features from a spec on low effort and verifies on high. The model docs say the same for Sonnet 5.5: start agentic coding on medium for well-specified tasks, and use xhigh or max only where your evals show a gain.

Which effort level for which job

LevelUse it forSource
lowQuick, in-the-loop work: sketches, easy changes, search subagentsAnthropic's effort guide; platform docs
mediumBuilding a feature from a clear ticket. The default on Opus 5.5, Sonnet 5.5 and Haiku 5.5Effort guide; Claude Code docs
highVerification, bugs in an existing codebase, work with edge casesEffort guide
xhighLong autonomous runs, over 30 minutes, when your own evals show it helpsPlatform docs
maxHard problems run fully on their own: an app built and checked end to end, a security auditEffort guide
On models without xhigh, Claude Code runs the next level down. Opus 4.7 defaults to xhigh; other models that support effort default to high.

xhigh cost up to 4x more and didn’t pass more

SlopCodeBench gives an agent a program to build in stages: requirements arrive one checkpoint at a time, and each later checkpoint tests the old behavior again. A strict pass means every test passed, regressions included, which is the part that breaks in a real repo. Its October update (Dex Horthy, HumanLayer, with Gabe Orlanski) ran three frontier models at medium and at xhigh.

SlopCodeBench, medium against xhigh

ModelStrict passesStrict ratexhigh cost
Opus 5.528 → 2514.29% → 12.76%4.22×
GPT-6 Sol30 → 2615.31% → 13.27%2.11×
GPT-6 Astra29 → 3214.80% → 16.33%2.91×
36 problems, 196 checkpoints per setting, one run per model and level. Cost is xhigh against medium for the same model.

The author says it plainly: higher effort “was not a reliable way to buy more strict passes in these runs”, and one run per setting can’t separate effort from run-to-run noise. Read it as a warning, not a verdict. What it does show is that the most expensive setting is not a safe default: on two of three models you paid two to four times more for fewer passes.

A clear ticket beats more thinking

A study published on arXiv on October 20 asked what a stuck agent should spend its next tokens on. Saiyue Lyu and co-authors gave six models 320 failed attempts (194 small functions from MBPP+ and HumanEval+, 126 repository fixes from SWE-bench Verified) and measured three kinds of help: more computation, more information and more feedback. Task-relevant specifications kept improving repair. The value of extra computation fell as the models got stronger. And three of four frontier models, left to choose, reached for test feedback 95 to 100% of the time, and did worse than picking a kind of help at random.

My own data says the same thing from the other side. In my 48-run test of Codex and Claude Code, effort was high on every run. On the seven tickets that spelled out the behavior, all 42 runs passed. On the one ticket I wrote in a hurry, five of six runs failed, and 10 of the 14 failures were values the ticket never stated. High effort was on the whole time. It didn’t help, because the information wasn’t there. Anthropic’s guide makes the same point about its own runs: more effort cuts the failures from missed edge cases, but it doesn’t fix a wrong approach.

So the cheaper fix comes first: write the values into the ticket. How to write a spec for AI agents is the template I use, and spec-driven development is the method around it.

Free book · 169 pages · PDF + EPUB

At high effort, every failure on my vague ticket was a value it never stated. The book's templates make you write those values down before Claude Code starts.

Get the free book

Where turning it up does pay

Effort isn’t useless. Anthropic’s guide shows where it earns its cost, and every case is about edge cases and checking:

  • An HTML sanitizer went from 1 of 5 at low to 5 of 5 at xhigh, because the higher run reviewed its own draft, read the parser source and wrote a fuzzer.
  • Across task groups, the biggest gains from more effort came in security (a 64% to 87% pass rate) and hardware (34% to 75%).
  • A crash in a storage engine went from 0 of 5 at low to 4 of 5 at xhigh on Opus 5.5, once the agent reproduced the crash first and checked that its new tests caught the old bug.

The pattern: raise effort for the review pass, the security audit and the bug you can’t reproduce. Keep it at medium for the build.

How to set it

Changing the effort level in Claude Code

  • Open the slider in a session

    /effort
  • Set it directly

    /effort medium
  • See the level in effect

    /effort status
  • Start a session at a level

    claude --effort high
  • Set it for every session from the shell

    export CLAUDE_CODE_EFFORT_LEVEL=medium

In settings.json, the key is effortLevel, and it takes low, medium, high or xhigh, not max. Levels you save with /effort live per model under modelSettings, and on Opus 5.5 a top-level effortLevel in your user settings is a legacy form that doesn’t apply. maxEffortLevel caps how high anyone can go. A skill or subagent can set its own effort in its frontmatter, which is the easy way to run search subagents on low. Typing ultrathink in a prompt still asks for deeper reasoning on that one turn; “think hard” is plain text now.

Claude Code effort levels, quick answers

What is effort in Claude Code?

A setting for how many tokens the model spends on a turn: how much it thinks, how many tool calls it makes and how much it writes. Claude Code offers low, medium, high, xhigh and max on the models that support all five.

What is the default effort level in Claude Code?

Medium on Opus 5.5, Sonnet 5.5 and Haiku 5.5; xhigh on Opus 4.7; high on the other models that support effort. /effort status shows the level in effect.

Is xhigh better than high for coding?

Not reliably. In SlopCodeBench's October run, xhigh cost 2.1 to 4.2 times medium and passed fewer strict tests on two of three frontier models. Anthropic's docs reserve it for long autonomous runs and for cases where your own evals show a gain.

Does ultrathink still work in Claude Code?

Yes. Typing ultrathink in a prompt asks for deeper reasoning on that turn without changing the session's effort level. Phrases like think hard are no longer keywords.

How do I change the effort level in Claude Code?

Use /effort in a session, claude --effort <level> when you start one, the CLAUDE_CODE_EFFORT_LEVEL environment variable, or effortLevel in settings.json.

Free book · 169 pages · PDF + EPUB

Whatever effort level you pick, Claude Code builds what your ticket says. Take home the spec templates and Claude Code kit that shipped a 13-app crypto fintech in 70 days.

Get the free book