Skip to content

Build1 publisher3 min readPublished

Shihipar's runs show Claude Code's effort level mostly buys self-testing

Thariq Shihipar's runs show Claude Code at max effort cut missed edge cases from 59 to 24, yet misread unclear tasks 47 times against 25 at low. At about triple the tokens per attempt, a high default pays for self-checking that only some kinds of work turn into passes.

The Engineer · Build desk

Illustration accompanying Shihipar's runs show Claude Code's effort level mostly buys self-testing

What happened

  • Thariq Shihipar ran the same tasks at each of Claude Code's five effort levels (low, medium, high, xhigh and max) in his post Using Claude Code: Spending your effort.
  • On an HTML sanitizer task, low-effort attempts took about two minutes each and passed once in five tries, while xhigh passed all five.
  • Comparing low and max effort across 370 attempts each, missed edge cases fell from 59 to 24 and wrong calls fell from 133 to 107.
  • Picking the wrong meaning of an unclear task rose from 25 cases at low effort to 47 at max, the one failure type that grew.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • decision Effort becomes a per-task setting. Top levels pay off on hardware and security work with hidden edge cases and buy little on rulebook-style operations work.
  • cost A team that leaves effort at max pays about triple the low-effort tokens on every attempt, including tasks where the extra checking barely moves the pass rate.
  • constraint Spec clarity caps what high effort can deliver. Extra self-testing does not catch a misread requirement, and longer unsupervised runs make more guesses.

The extra effort went into verification. Both ends of the sanitizer comparison used the same model, Fable 5.1, with five attempts per level [2]. At low effort, Claude wrote the filter in roughly one pass and tested it against a single hand-written page [4]. At higher effort it went after its own first draft the way an attacker would. It read the parser's source code, ran a standard XSS test suite and then wrote a fuzzer on top [5]. One of those high-effort runs took about 33 minutes [5].

The failure breakdown covers Fable 5.1 attempts only [6], and it shows where that loop stops helping. From low to max, missed edge cases fell 59% while wrong calls fell about 20% [8]. Tests catch bugs in an approach that is already correct. They do not flag an approach built on a misread requirement. Wrong calls therefore grow as a share of what remains: 69% of the two main failure types at low, 82% at max [11].

The failure that grows is ambiguity. Wrong readings of an unclear task went from 19% of wrong calls at low effort to 44% at max [12]. Shihipar wrote that at higher effort Claude "will also make more assumptions on my behalf" [10]. The dev.to write-up ties that to runtime: the longer the agent works on its own, the more it guesses what the user meant [21]. It also allows a second explanation. The misreadings may always have been there and become easier to see once the sloppier failures cleared out [13].

All of this is someone else's workload, reported secondhand. The write-up's author says they have not measured their own setting [19]. Each task category holds only 4 to 20 tasks [18]. On a sample that size, a few flipped tasks would move the 41-point hardware gain [20] a long way. For the pattern to carry over to your own work, two things have to be true. First, the work has to contain hidden edge cases a test loop can reach, and Shihipar puts the hardware and security gains down to exactly that [15]. Second, the task has to be specified tightly enough that more autonomy does not turn into more guessing.

The category results give the per-task rule. The write-up describes operations tasks as rulebook-style work, such as filing a trade report correctly [16]. Those rose from 12% to 22% at top effort [14]. Software, which the write-up calls the closest match to everyday developer work [16], went from 43% to 56% [14]. In my view that justifies low or medium for well-specified changes and rulebook tasks. Xhigh or max belongs on code that faces adversarial input, like the sanitizer. For a vague ticket, I would spend the effort on the spec before spending it on the run.

What to watch

  • Per-category results from Shihipar or others with more than 4 to 20 tasks per category, which would firm up or erase the hardware and operations gaps.
  • Whether the rise in misread unclear tasks at max effort shows up on models other than Fable 5.1.
  • Teams publishing pass rate against token spend per effort level on their own task mix, the measurement the write-up's author says they have not done.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories