TL;DR
- There is no single winner at Anthropic
low. The job picks the id. Latency cap with a content check: Sonnet 5.5low. Exact document, when a one-return gap is not worth the bill: Opus 5.5low. Expensive restart: Fable 5.1low. Haiku 5.5lowcleared neither hard suite below. lowis four settings that share a word. On the skill file cached 2026-10-06, Fable 5.1 and Sonnet 5.5 default tohigh. Opus 5.5 and Haiku 5.5 default tomedium. 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
lowby the wordlobotomized. 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
lowholds 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
lowmissed 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 atlowstill spent 893 thinking tokens. Opus 5.5 atlowspent zero. - Pin four roles if you run an Orca-style roster. Smol: Sonnet 5.5 at
low. Default: Sonnet 5.5 athigh. Slow: Opus 5.5 atmedium. Adviser: Sonnet 5.5 atmedium. Leave a role unset andsmolorslowcopiesdefault. The adviser copiesslow.
What You Will Learn Here
- Which model id is the current Fable, and what
lowcosts in list price as of the 2026-10-06 skill table - Why a benchmark row named
lowcan mean Anthropicmedium - How the four models compare when the benchmark word
lobotomizedreally is Anthropiclow - When to leave
lowand step up tomedium - 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:
| Model | Input | Output |
|---|---|---|
| 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 word | Anthropic effort |
|---|---|
lobotomized | low |
low | medium |
medium | high |
high | xhigh |
ultrathink | max |
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:
| Model | Strict returns | Lenient returns | Cost | Time |
|---|---|---|---|---|
| Fable 5.1 | 12% | 24% | $0.50 | 54.78 s |
| Opus 5.5 | 10% | 22% | $0.17 | 29.13 s |
| Sonnet 5.5 | 4% | 8% | $0.09 | 22.14 s |
| Haiku 5.5 | 0% | 0% | $0.01 | 33.30 s |
Strict returns, the bill, and the wait do not pick the same model.
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.18, 25.62 s), 4% (Sonnet, 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.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.
| Configuration | Total | Over 10 s | Slowest | Gate |
|---|---|---|---|---|
| Sonnet 5.5 low, sample 1 | 96.9% | 0 | 9.2 s | pass |
| Sonnet 5.5 low, sample 2 | 96.6% | 1 | 10.4 s | fail |
| Sonnet 5.5 low, sample 3 | 97.4% | 1 | 10.3 s | fail |
| Opus 5.5 low | 89.7% | 24 | 59.6 s | fail |
| Haiku 5.5 low, sample 1 | 87.7% | 22 | 12.7 s | fail |
| Haiku 5.5 low, sample 2 | 86.9% | 20 | 12.4 s | fail |
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 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.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.
| Job | Start | Step up when |
|---|---|---|
| Checked generation under about 10 seconds | Sonnet 5.5 at low | Stay 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 match | Opus 5.5 at low | Your 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 restart | Fable 5.1 at low | Low still fails the check. Then try medium on that same id before you add a second model |
| Long reconstruction in the VulcanBench sense | Opus 5.5 at medium | Medium still misses. Fable was not measured here. Remember the medium arm included some Opus 4.8 fallback replies |
| Bulk calls you have not tested | Haiku 5.5 at low, behind a checker | The 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.
| Role | When it runs | Pin | Step |
|---|---|---|---|
smol | Cheap fan-out | Sonnet 5.5 | low |
default | Every primary turn | Sonnet 5.5 | high |
slow | The deep pass you ask for | Opus 5.5 | medium |
advisor | Every primary turn, as input | Sonnet 5.5 | medium |
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
lowas Anthropic’slow. On TaxCalcBench, for this Claude generation,lowmeansmedium. The Anthropiclowrows are labeledlobotomized. - 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 atmedium. - 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
lowto 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
lowis aimed at subagents and simple tasks.platform.claude.comwas not opened for this draft. - Migrating to Claude Fable 5.1 — opened 2026-11-02. Recommended effort split, and the vendor sentence that
lowoften beats older models atxhighormax. - Anthropic Python SDK
OutputConfigParam— opened 2026-11-02. Effort valueslowthroughmax. Higher effort may take longer. - TaxCalcBench README — fetched 2026-11-02. Level map for these Claude models, and the
lobotomizedrows used above. Run dates per row are not printed. Strict return rates at Anthropiclowstay 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, andadvisor. Unsetsmolandslowcopy an explicitdefault. An unset adviser copiesslow. - oh-my-pi adviser — opened 2026-11-03. No effort suffix requests
medium. Default review cadence is every primary turn. Default tools areread,grep, andglob. - oh-my-pi
mapEffortToAnthropicAdaptiveEffort— opened 2026-11-03. An unmapped level is sent as the same word onoutput_config.effort.minimalis sent aslow. - 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-startto pass--modeland--effortfor theompagent.