AI Engineering

Low Effort on the Current Claude Line: Fable 5.1, Opus 5.5, Sonnet 5.5, and Haiku 5.5

At Anthropic effort low, these four models are not one budget. A tax bench, a 10-second profile gate, and one paired call disagree on who should go first.

19 min read Updated Nov 3, 2026
Low Effort on the Current Claude Line: Fable 5.1, Opus 5.5, Sonnet 5.5, and Haiku 5.5

TL;DR

  • There is no single winner at Anthropic low. The job picks the id. Latency cap with a content check: Sonnet 5.5 low. Exact document, when a one-return gap is not worth the bill: Opus 5.5 low. Expensive restart: Fable 5.1 low. Haiku 5.5 low cleared neither hard suite below.
  • low is four settings that share a word. On the skill file cached 2026-10-06, Fable 5.1 and Sonnet 5.5 default to high. Opus 5.5 and Haiku 5.5 default to medium. Omit the field and you are not on this comparison.
  • On exact tax returns, Fable’s lead is one return in 50. TaxCalcBench calls Anthropic low by the word lobotomized. With no tools, strict returns are 12% (Fable, 6 of 50), 10% (Opus 5.5, 5 of 50), 4% (Sonnet 5.5), and 0% (Haiku 5.5). Strict line accuracy is almost tied at the top: 71.81% versus 71.39%. Fable costs about three times Opus and waits almost twice as long.
  • On a 10-second profile gate, Sonnet 5.5 at low holds the content floor and misses the clock in two of three samples. Every profile type stays at or above 95%. The strict clock passes sample 1. Samples 2 and 3 miss at 10.4 s and 10.3 s. Opus 5.5 low and Haiku 5.5 low miss content and the clock. Fable was not in that sweep.
  • Opus 5.5 at low missed six reconstructions that the medium arm passed. Low passed 17 of 23. Medium passed 23 of 23, and three of those medium runs included Opus 4.8 fallback replies. On one diagnosis call, Fable 5.1 at low still spent 893 thinking tokens. Opus 5.5 at low spent zero.
  • Pin four roles if you run an Orca-style roster. Smol: Sonnet 5.5 at low. Default: Sonnet 5.5 at high. Slow: Opus 5.5 at medium. Adviser: Sonnet 5.5 at medium. Leave a role unset and smol or slow copies default. The adviser copies slow.

What You Will Learn Here

  • Which model id is the current Fable, and what low costs in list price as of the 2026-10-06 skill table
  • Why a benchmark row named low can mean Anthropic medium
  • How the four models compare when the benchmark word lobotomized really is Anthropic low
  • When to leave low and step up to medium
  • A small route table you can paste into a client
  • Which effort to pin on smol, default, slow, and the adviser

The July article compared Fable 5, Opus 4.8, and Sonnet 5 at low. This one does not reuse those scores. The Nov 2 latency article is about high and max. Prices and defaults below can move. They are dated to the page we opened.

Four models, one word

Claude Fable 5.1 (claude-fable-5-1) is the current widely released Fable on Anthropic’s claude-api skill, table cached 2026-10-06. Fable 5 is still served. Mythos 5.1 is the same price through Project Glasswing, and it is outside this comparison.

List price on that table, per million tokens:

ModelInputOutput
Fable 5.1$10$50
Opus 5.5$4$20
Sonnet 5.5$2$10
Haiku 5.5, prompt up to 100K tokens$0.10$0.50
Haiku 5.5, prompt over 100K tokens$0.50$2.50

Effort sits in output_config, not on the top level of the request. The values are low, medium, high, xhigh, and max. The Python SDK says higher effort can take longer.

On Fable 5.1 and Opus 5.5, thinking: {type: "disabled"} returns a 400 at every effort. Depth is the effort dial. Sonnet 5.5 also rejects disabled. To turn Sonnet thinking off, the skill says send thinking: {type: "between_tools"}, and only at high or below. Haiku 5.5 accepts disabled at high or below, including low, and rejects that combination at xhigh or max. The migration guide recommends high for most Fable 5.1 work, xhigh when capability is the point, and medium or low for routine work. It also says lower settings, including low, still perform very well and often beat older models at xhigh or max. That sentence has no count attached. Treat it as the vendor’s claim.

The same skill file tells you to use low for subagents and simple tasks, and at least high when the work is intelligence-sensitive. Sonnet 5.5’s levels were recalibrated from Sonnet 5, so a low you tuned last generation is a new setting.

Tax returns are the four-model low suite

TaxCalcBench scores filled tax returns. A strict pass means every graded line matches. We fetched the README on 2026-11-02. It does not print a separate run date for each Claude row.

Read the level names before the scores. For these Claude models the README maps its words like this:

Benchmark wordAnthropic effort
lobotomizedlow
lowmedium
mediumhigh
highxhigh
ultrathinkmax

Every tax number in this article is a lobotomized row. That is Anthropic low. Their row named low is Anthropic medium, and we are not using it.

No tools, 50 cases, one run each:

ModelStrict returnsLenient returnsCostTime
Fable 5.112%24%$0.5054.78 s
Opus 5.510%22%$0.1729.13 s
Sonnet 5.54%8%$0.0922.14 s
Haiku 5.50%0%$0.0133.30 s

Strict returns, the bill, and the wait do not pick the same model.

Three bar panels over the same four models: Fable 5.1 leads strict returns, Haiku 5.5 is cheapest, and Sonnet 5.5 is fastest

The four no-tools rows from the table above, Anthropic low, 50 cases, one run each. Panels from top to bottom: strict returns (percent), cost per run (dollars), time per run (seconds). Every bar starts at zero; a star marks the best value in each panel. The table keeps the lenient scores.

Line scores are higher than return scores. Strict line accuracy runs from Haiku at 55.51% to Fable at 71.81%. A return can have most lines right and still fail the strict gate.

With web search, still at Anthropic low, strict returns are 18% (Fable, 0.72,72.66s),140.72, 72.66 s), 14% (Opus, 0.18, 25.62 s), 4% (Sonnet, 0.11,29.66s),and20.11, 29.66 s), and 2% (Haiku, 0.02, 42.69 s). Search lifts Fable and Opus. Sonnet stays at 4%. Haiku moves from 0% to 2%.

Fable 5.1 at low is the strict leader on this bench by one return: 6 of 50 versus 5 of 50. Strict line accuracy is 71.81% versus 71.39%, so the lines are almost the same story and the whole return is not. Fable costs about three times Opus (0.50versus0.50 versus 0.17) and waits 54.78 s versus 29.13 s. Opus 5.5 at low is the practical exact-match buy unless that one return pays for itself on your forms. Sonnet is the fastest of the four and misses most returns. Haiku is the cheapest and, with no tools, strictly correct on none of the 50 returns. Haiku is also slower than Sonnet here (33.30 s versus 22.14 s).

The README treats Haiku’s web-search dollar figure as an upper bound, because search-loop token totals can overstate the bill by about 30%. The $0.02 figure above is that upper bound.

These are form-filling scores. They are not a reason to file a real return from any of these models. The best strict rate on the no-tool low setting is 12%.

A clock changes the winner

Fleet PR 54470 is a different job. The pull request was closed without merge on 2026-10-25 at 8:47 p.m. America/Lima. The sweep table is still in that closed body. A row passes only when every profile type stays at or above 95% and each generation finishes inside 10 seconds. Fable is absent. The sweep rows do not say whether thinking was turned off.

ConfigurationTotalOver 10 sSlowestGate
Sonnet 5.5 low, sample 196.9%09.2 spass
Sonnet 5.5 low, sample 296.6%110.4 sfail
Sonnet 5.5 low, sample 397.4%110.3 sfail
Opus 5.5 low89.7%2459.6 sfail
Haiku 5.5 low, sample 187.7%2212.7 sfail
Haiku 5.5 low, sample 286.9%2012.4 sfail

The bars are the slowest generation in each row. The line is the 10-second cap.

xychart-beta
    title "Slowest generation against a 10 second cap"
    x-axis ["Sonnet 1", "Sonnet 2", "Sonnet 3", Opus, "Haiku 1", "Haiku 2"]
    y-axis "Seconds" 0 --> 70
    bar [9.2, 10.4, 10.3, 59.6, 12.7, 12.4]
    line [10, 10, 10, 10, 10, 10]

Sonnet 5.5 at low keeps every profile type at or above 95% in all three samples. The strict clock passes sample 1 only. Samples 2 and 3 each miss by one generation, at 10.4 s and 10.3 s. That is 0.4 s and 0.3 s over a 10-second cap. The PR text says Sonnet low clears both gates in all three samples. The Gate column says pass, fail, fail. Use the column.

Opus 5.5 at low is slower and less accurate on this suite: 89.7% total, 24 generations over 10 seconds, slowest 59.6 s. Haiku 5.5 at low misses the content floor in both samples. A missed clock on Sonnet is not a reason to switch to Opus for this job. Opus is worse on both axes the suite measures.

The closed PR is the sweep. What Fleet runs is a later file. On main, as fetched 2026-11-02, mobileconfig, DDM, and CSP use claude-sonnet-5-5 at low. Android uses claude-haiku-5-5 at low with thinking off. Mobileconfig and CSP set disableThinking: true. DDM leaves thinking on. The file’s comment says Sonnet 5.5 at low was the only model that cleared both bars for every type in the comparison, and that turning Sonnet’s thinking off shortened the slowest Windows and mobileconfig generations. That production flag is not written in the closed PR’s table. For Sonnet 5.5, the skill’s thinking-off control is between_tools. We did not open the helper that maps disableThinking onto that field.

Reconstruction and a single call

VulcanBench ran Opus 5.5 only, on 23 legacy-reconstruction tasks, from Sept 22 to Sept 24, 2026. Low passed 17 of 23, in 13.7 mean minutes, at 1.70pertask,withnoOpus4.8replies.Mediumpassed23of23,in18.6meanminutes,at1.70 per task, with no Opus 4.8 replies. Medium passed 23 of 23, in 18.6 mean minutes, at 2.84. Three of those medium runs included Opus 4.8 replies after a refusal fallback (6.4% of replies). The dollars are Claude Code’s API-equivalent list price, not a cash bill. Low is cheaper and faster, and it misses six tasks the medium arm passed. Some of those medium passes were mixed-model sessions. There is no Fable, Sonnet, or Haiku arm. This does not rank the four models. The pure Opus 5.5 low arm dropped tasks. The medium arm completed them, and some of those sessions included the Opus 4.8 fallback.

One paired call shows why Fable low and Opus low are different products. On 2026-10-02, FaultMaven replayed one real diagnosis request, once per setting. Fable 5.1 at low reported 4,124 output tokens, of which 893 were thinking, and took 52 seconds. Opus 5.5 at low reported 1,948 output tokens, of which 0 were thinking, and took 21 seconds. One call is a mechanism check, not a leaderboard. On this request, Fable’s low still thought. Opus’s low did not.

A Q-language agent board is easy to misread as this article’s ranking. The clean-room rows, skill off, are the ones to read. Fable 5.1 passed 161 of 164 tasks at 0.252pertaskonOct1,2026.Opus5.5passed160of164at0.252 per task on Oct 1, 2026. Opus 5.5 passed 160 of 164 at 0.085 on Sept 30. Sonnet 5.5 passed 158 of 164 at $0.041. The page says those rows use Claude Code’s default effort handling. They are not pinned to low. A one-task lead at about three times Opus’s cost is a weak reason to make Fable the default. The tax bench’s one-return lead deserves the same caution. We still show it, because it is the only four-model Anthropic-low suite we opened, and because the cost and time gaps are large.

Route by the job

This route is a judgment on the suites above. Your repo can reverse it. Measure before you freeze it.

JobStartStep up when
Checked generation under about 10 secondsSonnet 5.5 at lowStay on Sonnet. Raise effort, or fail the request. Opus 5.5 low was slower and less accurate on the profile suite. Fable was not measured there
Exact document, every graded field must matchOpus 5.5 at lowYour own set shows the extra strict return is worth Fable’s cost. On the tax bench that gap was 1 return in 50
Ambiguous work, or a miss that is expensive to restartFable 5.1 at lowLow still fails the check. Then try medium on that same id before you add a second model
Long reconstruction in the VulcanBench senseOpus 5.5 at mediumMedium still misses. Fable was not measured here. Remember the medium arm included some Opus 4.8 fallback replies
Bulk calls you have not testedHaiku 5.5 at low, behind a checkerThe checker fails. On both hard suites above, Haiku low already failed. This row is a placeholder, not a measured win
flowchart TD
  A[New task] --> B{Checker plus a short clock?}
  B -->|Yes| C[Sonnet 5.5 at low]
  C --> C2{Content and clock pass?}
  C2 -->|No| C3[Raise Sonnet effort or fail the request]
  B -->|No| R{Long reconstruction?}
  R -->|Yes| M[Opus 5.5 at medium]
  R -->|No| D{Every field must match?}
  D -->|Yes| E[Opus 5.5 at low]
  E --> J{One extra pass is worth Fable?}
  J -->|Yes| G[Fable 5.1 at low]
  D -->|No| F{A miss is expensive to restart?}
  F -->|Yes| G
  F -->|No| H[Haiku 5.5 at low, then check]

The client has to send the effort. The example leaves thinking adaptive, which is valid on all four ids. It does not send thinking: {type: "disabled"}. That field is a 400 on Fable 5.1 and Opus 5.5 at every effort, and on Sonnet 5.5 as well. Haiku 5.5 accepts it at low.

# output_config.effort is Anthropic's dial.
# TaxCalcBench's word "lobotomized" is this "low".
# Their word "low" is Anthropic "medium". Do not copy it across.

ROUTES = {
    "latency_capped": ("claude-sonnet-5-5", "low"),
    "exact_document": ("claude-opus-5-5", "low"),
    "costly_restart": ("claude-fable-5-1", "low"),
    "reconstruction": ("claude-opus-5-5", "medium"),
    # Placeholder. Haiku 5.5 at low failed both hard suites in this article.
    "bulk_untested": ("claude-haiku-5-5", "low"),
}

def claude_body(job: str, messages: list) -> dict:
    model, effort = ROUTES[job]
    return {
        "model": model,
        "max_tokens": 16000,
        "thinking": {"type": "adaptive"},
        "output_config": {"effort": effort},
        "messages": messages,
    }

If you already have a router, use the evaluation loop in How to Implement and Evaluate a Low-Effort Model Routing Policy to score accepted results. The job keys in the table above replace that article’s routine, normal, and ambiguous split. Pin effort from this table. Do not keep the July split and only rename the model ids.

Pin slow, default, smol, and the adviser

Orca starts one worker with one model and one effort. oh-my-pi names the four chat roles that split that work: smol, default, slow, and advisor. The pins below are a judgment on the suites in this article, plus when those roles fire. They are not a benchmark of Orca or oh-my-pi.

Pin every role. The models doc, opened 2026-11-03, says an unset smol or slow copies an explicit default. An unset adviser copies slow, not the model in the conversation. Leave the adviser blank and the deep model reads every turn.

RoleWhen it runsPinStep
smolCheap fan-outSonnet 5.5low
defaultEvery primary turnSonnet 5.5high
slowThe deep pass you ask forOpus 5.5medium
advisorEvery primary turn, as inputSonnet 5.5medium

smol is the subagent step. The skill file aims low at subagents and simple tasks. Sonnet 5.5 at low is the pin, because it held the content floor on the profile suite. Haiku 5.5 at low did not. Fable is the wrong price for a fan-out.

default is the open worker, so it does not sit on low. Sonnet 5.5’s catalog default on the 2026-10-06 skill table is high. Use low on this id only for the clocked job in the route table: a checker and about 10 seconds. A missed clock stays on Sonnet.

slow is the step up, so it does not start at low. Opus 5.5 at medium is the pin. On VulcanBench, low passed 17 of 23 and medium passed 23 of 23. Three of those medium runs included Opus 4.8 replies. Fable was not in that suite. Move to Fable 5.1 at low only when your own set shows the extra strict pass pays for the bill. On the tax bench that gap was one return in 50.

The adviser is a reviewer, not a second doer. The adviser doc, opened 2026-11-03, says a selector with no effort suffix requests medium, and the default cadence reviews every primary turn. Sonnet 5.5 at medium is that request, pinned so it cannot inherit slow. Fable 5.1 at low still spent 893 thinking tokens on the one diagnosis call. That is a poor fit for a reader that runs every turn. Keep the adviser’s default tools: read, grep, and glob. The doc says mutating tools exist. Leave them off unless you trust that model in that workspace.

oh-my-pi writes the suffix as :low, :medium, or :high on the role. mapEffortToAnthropicAdaptiveEffort sends an unmapped level through as the same word on output_config.effort. minimal is the exception. The adaptive wire has no minimal, and the mapper sends that level as low. Do not write :minimal on these Claude roles and treat it as its own step.

modelRoles:
  smol: anthropic/claude-sonnet-5-5:low
  default: anthropic/claude-sonnet-5-5:high
  slow: anthropic/claude-opus-5-5:medium
  advisor: anthropic/claude-sonnet-5-5:medium

Confirm those ids with omp models before you save the file. A configured adviser that does not resolve does not fall back to another model.

On an Orca claude worker, the same pins are launch flags. --effort requires --model. The rest of the command is Orca’s normal worker start. Read the receipt. launch.effective is the model that actually started.

# smol. Swap the model and effort for default, slow, and the adviser.
orca orchestration worker-start --task <task_id> --worktree current \
  --agent claude --model claude-sonnet-5-5 --effort low

An omp worker does not take the effort from that flag. Orca’s omp catalog, commit 5913a1c66 (2026-10-31, 10:45 p.m. America/Lima), turns on launch-time model selection and attaches no effort choices to the discovered rows. Put the four suffixes in modelRoles. Issue 23388 was still open on 2026-11-03. Its last update was 2026-10-03 at 5:43 a.m. America/Lima. The catalog has grown a --model path since that report, and the effort list on those rows is still empty.

Common Mistakes

  • Reading a benchmark’s low as Anthropic’s low. On TaxCalcBench, for this Claude generation, low means medium. The Anthropic low rows are labeled lobotomized.
  • Omitting effort and calling the run low. Fable 5.1 and Sonnet 5.5 then run at high. Opus 5.5 and Haiku 5.5 run at medium.
  • Importing the July Fable 5 CursorBench score. That was a different model.
  • Crowning Fable from a default-effort agent board. Ask which effort the harness sent.
  • Expecting Haiku 5.5 at low to be both the cheapest and the fastest. On the tax bench it is the cheapest, and Sonnet finishes sooner. On Fleet’s profile suite it misses the content floor.
  • Leaving the adviser unset. It copies slow. You then pay the deep model on every turn.

Sources

  • Anthropic claude-api skill — table cached 2026-10-06. Model ids, list prices, effort defaults, and the note that low is aimed at subagents and simple tasks. platform.claude.com was not opened for this draft.
  • Migrating to Claude Fable 5.1 — opened 2026-11-02. Recommended effort split, and the vendor sentence that low often beats older models at xhigh or max.
  • Anthropic Python SDK OutputConfigParam — opened 2026-11-02. Effort values low through max. Higher effort may take longer.
  • TaxCalcBench README — fetched 2026-11-02. Level map for these Claude models, and the lobotomized rows used above. Run dates per row are not printed. Strict return rates at Anthropic low stay low in absolute terms. Haiku web-search cost is the README’s upper bound.
  • Fleet PR 54470 — closed without merge 2026-10-25, 8:47 p.m. America/Lima. Profile-generator sweep. The Gate column and the summary sentence disagree.
  • Fleet profile generator on main — fetched 2026-11-02. Production ids and effort for each profile type. The closed PR is the sweep. This file is what the branch runs.
  • VulcanBench Opus 5.5 traces — runs Sept 22–24, 2026. Opus only, five effort levels, 23 reconstruction tasks.
  • FaultMaven issue 1800, measurement comment — measured 2026-10-02. One diagnosis call per setting.
  • Q evaluation leaderboard — Fable 5.1 on Oct 1, 2026; Opus 5.5 and Sonnet 5.5 on Sept 30, 2026. Default effort handling, not low.
  • oh-my-pi model roles — opened 2026-11-03. smol, default, slow, and advisor. Unset smol and slow copy an explicit default. An unset adviser copies slow.
  • oh-my-pi adviser — opened 2026-11-03. No effort suffix requests medium. Default review cadence is every primary turn. Default tools are read, grep, and glob.
  • oh-my-pi mapEffortToAnthropicAdaptiveEffort — opened 2026-11-03. An unmapped level is sent as the same word on output_config.effort. minimal is sent as low.
  • Orca omp launch catalog — commit 5913a1c66, 2026-10-31, 10:45 p.m. America/Lima. Model launch is on. Discovered rows carry no effort choices.
  • Orca issue 23388 — still open on 2026-11-03. Last update 2026-10-03, 5:43 a.m. America/Lima. Asks worker-start to pass --model and --effort for the omp agent.