100 small Sonnet calls cost $0.36 at the observed median. 100 full Crewshal attempts cost $280.72 at the observed mean. Both are calculations at list price. We did not start parallel subagents.
The small-call estimate uses 15 calls across five tasks. Sonnet passed 12/15 strictly (Wilson 95% interval 54.8% to 93.0%). Per-call cost ranged from $0.0034 to $0.0102. This is cost per call, not cost per correct answer.
The worker estimate uses all 33 attempts, including failures. Per-attempt cost ranged from $0.89 to $4.83. Neither calculation predicts the bill for a new task set.
What we priced
A unit here is a separate CLI process or a full Crewshal worker attempt. We did not measure Claude Code's built-in subagents within one session.
We used three workloads:
Minimal replies through each CLI, one at a time.
Five short tasks with strict validators, through selected CLI configurations.
Full Crewshal attempts on SWE-bench Verified, with onboarding, planning, editing, verification and review.
The calls used subscriptions. Every dollar figure is a list-price calculation, not an invoice. Counts of 10, 100 and 500 are assumed scenario sizes, not measured fan-outs.
Minimal replies: input and cache scenarios
Claude Code used Haiku 4.5 for five minimal replies. Its median input count was 6,761 tokens, including cache reads and writes. The public aggregate has no token range. No empty-prompt control isolates the CLI prefix or establishes tokens sent before work.
Codex also made five minimal replies, using its default model. The corrected public aggregate reports 17,051 inclusive input tokens, including 13,184 cache-read tokens. Cached tokens are a subset and must not be added again. We retain no Codex input or cost projection: different models and a minimal reply do not isolate a common startup prefix.
Assumed units
Claude input tokens: N × median (calculation)
10
67,610
100
676,100
500
3,380,500
We repriced the Claude input at Sonnet 5.5 rates per million tokens: $2 input, $0.20 cache read and $4 one-hour cache write. This assumes the same input size. It excludes output and orchestration costs.
First writes; all later calls read the whole prefix
$0$5.00$10.00$15.00
10 subagents$0.039
100 subagents$0.16
500 subagents$0.7
Every call writes the whole prefix (1-hour price)
$0$5.00$10.00$15.00
10 subagents$0.27
100 subagents$2.70
500 subagents$13.52
One panel per series, all on the same axis.
Claude Code minimal-reply input cost: three scenarios (calculation): data
Item
Plain input, no cache surcharge
First writes; all later calls read the whole prefix
Every call writes the whole prefix (1-hour price)
n
10 subagents
$0.14
$0.039
$0.27
5
100 subagents
$1.35
$0.16
$2.70
5
500 subagents
$6.76
$0.7
$13.52
5
List-price calculation, not a run. 3 rows, 3 series: Plain input, no cache surcharge, First writes; all later calls read the whole prefix, Every call writes the whole prefix (1-hour price). Plain input, no cache surcharge: highest 500 subagents $6.76 (n 5). Lowest 10 subagents $0.14 (n 5). First writes; all later calls read the whole prefix: highest 500 subagents $0.7 (n 5). Lowest 10 subagents $0.039 (n 5).
Notesn = 5 per row
N × 6,761 median input tokens, repriced at Sonnet 5.5 rates
List-price calculation, not a run. 3 rows, 3 series: Plain input, no cache surcharge, First writes; all later calls read the whole prefix, Every call writes the whole prefix (1-hour price). Plain input, no cache surcharge: highest 500 subagents $6.76 (n 5). Lowest 10 subagents $0.14 (n 5). First writes; all later calls read the whole prefix: highest 500 subagents $0.7 (n 5). Lowest 10 subagents $0.039 (n 5).
Calculation, not a bill. n = 5 minimal replies on Haiku 4.5, one at a time. Sonnet 5.5 prices: $2.00 input, $0.20 cache read and $4.00 1-hour write per million tokens (2026-09-21). These scenarios use assumptions, not measured bounds. These scenarios exclude output and orchestration costs. No empty-prompt control isolates the CLI prefix. The corrected Codex aggregate reports 17,051 inclusive input tokens, including 13,184 cache-read tokens. Cached input is a subset, not an additional count. We omit its input and cost projections; different models and a minimal reply do not isolate a common startup prefix.
Each cell is a calculation. These are cache assumptions, not measured bounds. The first scenario assumes a write finishes before later calls start and every prefix matches.
As a calculation from reported first-turn counters, Claude first-turn read shares averaged 18.7% (n = 6; range 18.680% to 18.689%). Codex averaged 55.5% (n = 3; range 47.7% to 59.3%). These are means of process shares, not pooled token shares. Claude used a shortened ledger; Codex used the earlier longer ledger. The routes are not matched.
In later Claude processes, first-turn cache reads exceeded writes in 0/4 cases (Wilson 95% rate interval 0% to 49.0%). This is a counter proxy. It cannot show which ledger tokens a process read.
Small calls: cost and strict passes
Each selected configuration made 15 calls across five tasks. Costs include all calls, including strict validator misses. Every dollar value below is a calculation from reported tokens at list price.
Configuration
Median cost per call; observed range
Strict passes; Wilson 95% interval
100 × median cost
Claude Code, Sonnet 5.5
$0.0036; $0.0034 to $0.0102
12/15; 54.8% to 93.0%
$0.36
Claude Code, Opus 5.5
$0.0069; $0.0059 to $0.0223
15/15; 79.6% to 100%
$0.69
Claude Code, Haiku 4.5
$0.0057; $0.0051 to $0.0180
15/15; 79.6% to 100%
$0.57
Claude Code, Fable 5.1
$0.0099; $0.0049 to $0.0584
15/15; 79.6% to 100%
$0.99
Codex CLI, GPT-6.1 Sol (medium)
$0.0102; $0.0054 to $0.0269
15/15; 79.6% to 100%
$1.02
The cost ranges and pass intervals overlap. This sample does not rank these configurations. The task set is easy and selected. Configurations with no misses hit a ceiling. Sonnet's three misses gave the correct final number but added working lines that the exact-text validator rejects.
Each small call includes its own CLI prompt at that run's size. Do not add the minimal-reply scenario to it. Models, flags and prompts differ across runs. We did not test the cause of cost differences.
Full worker attempts
Crewshal made 33 attempts across two campaigns and two platform builds. It resolved 25; failures stay in cost totals. Mean notional cost was $2.81 per attempt, with an observed range of $0.89 to $4.83. These totals include compaction calls.
Assumed attempts
N × mean cost (calculation)
N × observed cost range (calculation)
10
$28.07
$8.90 to $48.27
100
$280.72
$88.98 to $482.74
500
$1,403.60
$444.91 to $2,413.72
Scaled ranges are scenario spreads, not confidence intervals. The campaigns include replacement instances. New tasks can require different tokens and have different outcomes.
Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price)
$0$1,000$2,000$3,000
10 subagents$0.14
100 subagents$1.35
500 subagents$6.76
Claude Code · Claude Sonnet 5.5
$0$1,000$2,000$3,000
10 subagents$0.036
100 subagents$0.36
500 subagents$1.80
Codex CLI · GPT-6.1 Sol (medium)
$0$1,000$2,000$3,000
10 subagents$0.1
100 subagents$1.02
500 subagents$5.09
Full worker attempt · Crewshal · Sonnet 5.5
$0$1,000$2,000$3,000
10 subagents$28.07
100 subagents$281
500 subagents$1,404
One panel per series, all on the same axis; whiskers are the lowest–highest run (not an interval).
N × per-call or per-attempt cost, by workload (calculation): data
Item
Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price)
Claude Code · Claude Sonnet 5.5
Codex CLI · GPT-6.1 Sol (medium)
Full worker attempt · Crewshal · Sonnet 5.5
Range (lowest–highest run)
n
10 subagents
$0.14
$0.036
$0.1
$28.07
Claude Code · Claude Sonnet 5.5: $0.034–$0.1; Codex CLI · GPT-6.1 Sol (medium): $0.054–$0.27; Full worker attempt · Crewshal · Sonnet 5.5: $8.90–$48.27
5
100 subagents
$1.35
$0.36
$1.02
$281
Claude Code · Claude Sonnet 5.5: $0.34–$1.02; Codex CLI · GPT-6.1 Sol (medium): $0.54–$2.69; Full worker attempt · Crewshal · Sonnet 5.5: $88.98–$483
5
500 subagents
$6.76
$1.80
$5.09
$1,404
Claude Code · Claude Sonnet 5.5: $1.71–$5.11; Codex CLI · GPT-6.1 Sol (medium): $2.70–$13.43; Full worker attempt · Crewshal · Sonnet 5.5: $445–$2,414
5
List-price calculation, not a run. 3 rows, 4 series: Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price), Claude Code · Claude Sonnet 5.5, Codex CLI · GPT-6.1 Sol (medium), Full worker attempt · Crewshal · Sonnet 5.5. Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price): highest 500 subagents $6.76 (n 5). Lowest 10 subagents $0.14 (n 5). Not all run ranges overlap. Claude Code · Claude Sonnet 5.5: highest 500 subagents $1.80 (range $1.71–$5.11, n 15). Lowest 10 subagents $0.036 (range $0.034–$0.1, n 15). Not all run ranges overlap.
NotesLines: lowest–highest run (not an interval)n 5–33 per row
Small calls use medians; worker attempts use the mean. Each workload comes from a different run.
List-price calculation, not a run. 3 rows, 4 series: Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price), Claude Code · Claude Sonnet 5.5, Codex CLI · GPT-6.1 Sol (medium), Full worker attempt · Crewshal · Sonnet 5.5. Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price): highest 500 subagents $6.76 (n 5). Lowest 10 subagents $0.14 (n 5). Not all run ranges overlap. Claude Code · Claude Sonnet 5.5: highest 500 subagents $1.80 (range $1.71–$5.11, n 15). Lowest 10 subagents $0.036 (range $0.034–$0.1, n 15). Not all run ranges overlap.
We ran no parallel workload. Whiskers multiply observed per-unit cost ranges by N; they are scenario spreads, not confidence intervals.
Small-call costs include non-passes: Sonnet 12/15, Sol 15/15. These are per-call costs, not costs per correct answer. Each call includes its own CLI prompt, at the size used in that run.
Models, flags and prompts differ across these runs. We did not test the cause of the cost difference. Do not add these bars together.
Worker costs include all 33 attempts, including failures.
N × median duration is a serial scenario. It is not the measured sum or expected total. A one-unit median is a reference time, not a parallel lower bound.
Workload
Sample n
Median time; observed range
100 × median (calculation)
Claude Code minimal reply
5
2.53 s; 2.27 to 3.38 s
4.2 min
Codex CLI minimal reply
5
6.00 s; 5.37 to 6.51 s
10.0 min
Sonnet small call
15
2.31 s; 2.17 to 7.72 s
3.8 min
Sol medium small call
15
5.65 s; 4.09 to 25.46 s
9.4 min
Full Crewshal attempt
33
9.6 min; 1.6 to 54.1 min
16.0 h
Ranges are not confidence intervals. The minimal-reply routes used different models. All timings include the answer and process exit or worker completion.
Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price)25.3 s
Claude Code · Claude Sonnet 5.523.1 s
Claude Code · Claude Opus 5.527.5 s
Claude Code · Claude Haiku 4.544.3 s
Claude Code · Claude Fable 5.119.4 s
Codex CLI · GPT-6.1 Sol (medium)56.5 s
Full worker attempt · Crewshal · Sonnet 5.55,754 s
Codex CLI minimal reply (default model)60 s
Serial scenario, 100 units
0s500,000s1,000,000s1,500,000s2,000,000s
Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price)253 s
Claude Code · Claude Sonnet 5.5231 s
Claude Code · Claude Opus 5.5275 s
Claude Code · Claude Haiku 4.5443 s
Claude Code · Claude Fable 5.1194 s
Codex CLI · GPT-6.1 Sol (medium)565 s
Full worker attempt · Crewshal · Sonnet 5.557,540 s
Codex CLI minimal reply (default model)600 s
Serial scenario, 500 units
0s500,000s1,000,000s1,500,000s2,000,000s
Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price)1,265 s
Claude Code · Claude Sonnet 5.51,155 s
Claude Code · Claude Opus 5.51,373 s
Claude Code · Claude Haiku 4.52,214 s
Claude Code · Claude Fable 5.1972 s
Codex CLI · GPT-6.1 Sol (medium)2,825 s
Full worker attempt · Crewshal · Sonnet 5.5287,700 s
Codex CLI minimal reply (default model)3,000 s
One-unit median reference (not a parallel bound)
0s500,000s1,000,000s1,500,000s2,000,000s
Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price)2.5 s
Claude Code · Claude Sonnet 5.52.3 s
Claude Code · Claude Opus 5.52.7 s
Claude Code · Claude Haiku 4.54.4 s
Claude Code · Claude Fable 5.11.9 s
Codex CLI · GPT-6.1 Sol (medium)5.6 s
Full worker attempt · Crewshal · Sonnet 5.5575 s
Codex CLI minimal reply (default model)6 s
One panel per series, all on the same axis; whiskers are the fastest–slowest run (not an interval).
Serial duration scenarios and one-unit reference times (calculation): data
Item
Serial scenario, 10 units
Serial scenario, 100 units
Serial scenario, 500 units
One-unit median reference (not a parallel bound)
Range (lowest–highest run)
n
Claude Code minimal reply (Haiku 4.5; Sonnet 5.5 price)
25.3 s
253 s
1,265 s
2.5 s
Serial scenario, 10 units: 22.7 s–33.8 s; Serial scenario, 100 units: 227 s–338 s; Serial scenario, 500 units: 1,137 s–1,691 s; One-unit median reference (not a parallel bound): 2.3 s–3.4 s
5
Claude Code · Claude Sonnet 5.5
23.1 s
231 s
1,155 s
2.3 s
Serial scenario, 10 units: 21.7 s–77.3 s; Serial scenario, 100 units: 217 s–773 s; Serial scenario, 500 units: 1,087 s–3,863 s; One-unit median reference (not a parallel bound): 2.2 s–7.7 s
15
Claude Code · Claude Opus 5.5
27.5 s
275 s
1,373 s
2.7 s
Serial scenario, 10 units: 24.7 s–89.1 s; Serial scenario, 100 units: 247 s–891 s; Serial scenario, 500 units: 1,235 s–4,457 s; One-unit median reference (not a parallel bound): 2.5 s–8.9 s
15
Claude Code · Claude Haiku 4.5
44.3 s
443 s
2,214 s
4.4 s
Serial scenario, 10 units: 31.6 s–236 s; Serial scenario, 100 units: 316 s–2,357 s; Serial scenario, 500 units: 1,582 s–11,785 s; One-unit median reference (not a parallel bound): 3.2 s–23.6 s
15
Claude Code · Claude Fable 5.1
19.4 s
194 s
972 s
1.9 s
Serial scenario, 10 units: 14.1 s–98.3 s; Serial scenario, 100 units: 141 s–983 s; Serial scenario, 500 units: 705 s–4,914 s; One-unit median reference (not a parallel bound): 1.4 s–9.8 s
15
Codex CLI · GPT-6.1 Sol (medium)
56.5 s
565 s
2,825 s
5.6 s
Serial scenario, 10 units: 41 s–255 s; Serial scenario, 100 units: 410 s–2,546 s; Serial scenario, 500 units: 2,048 s–12,731 s; One-unit median reference (not a parallel bound): 4.1 s–25.5 s
15
Full worker attempt · Crewshal · Sonnet 5.5
5,754 s
57,540 s
287,700 s
575 s
Serial scenario, 10 units: 978 s–32,454 s; Serial scenario, 100 units: 9,780 s–324,540 s; Serial scenario, 500 units: 48,900 s–1,622,700 s; One-unit median reference (not a parallel bound): 97.8 s–3,245 s
33
Codex CLI minimal reply (default model)
60 s
600 s
3,000 s
6 s
Serial scenario, 10 units: 53.7 s–65.1 s; Serial scenario, 100 units: 537 s–651 s; Serial scenario, 500 units: 2,684 s–3,253 s; One-unit median reference (not a parallel bound): 5.4 s–6.5 s
5
List-price calculation, not a run. 8 rows, 4 series: Serial scenario, 10 units, Serial scenario, 100 units, Serial scenario, 500 units, One-unit median reference (not a parallel bound). Serial scenario, 10 units: slowest Full worker attempt · Crewshal · Sonnet 5.5 5,754 s (range 978 s–32,454 s, n 33). Fastest Claude Code · Claude Fable 5.1 19.4 s (range 14.1 s–98.3 s, n 15). Not all run ranges overlap. Serial scenario, 100 units: slowest Full worker attempt · Crewshal · Sonnet 5.5 57,540 s (range 9,780 s–324,540 s, n 33). Fastest Claude Code · Claude Fable 5.1 194 s (range 141 s–983 s, n 15). Not all run ranges overlap.
NotesLines: fastest–slowest run (not an interval)n 5–33 per row
Serial = N × median. We did not measure parallel completion time.
List-price calculation, not a run. 8 rows, 4 series: Serial scenario, 10 units, Serial scenario, 100 units, Serial scenario, 500 units, One-unit median reference (not a parallel bound). Serial scenario, 10 units: slowest Full worker attempt · Crewshal · Sonnet 5.5 5,754 s (range 978 s–32,454 s, n 33). Fastest Claude Code · Claude Fable 5.1 19.4 s (range 14.1 s–98.3 s, n 15). Not all run ranges overlap. Serial scenario, 100 units: slowest Full worker attempt · Crewshal · Sonnet 5.5 57,540 s (range 9,780 s–324,540 s, n 33). Fastest Claude Code · Claude Fable 5.1 194 s (range 141 s–983 s, n 15). Not all run ranges overlap.
A serial total is a sum of durations. N × the median is a scenario, not its measured total or expected value. Whiskers show observed per-unit ranges, scaled by N for serial scenarios. They are not confidence intervals. Simultaneous completion depends on the maximum duration, not the median. The slowest recorded worker attempt took 54.1 min. We did not measure rate limits, machine limits or contention.
Simultaneous completion depends on the maximum duration, not the median. We did not measure parallel completion, rate limits, machine limits or contention. Other work shared the Mac and subscription accounts.
Evidence limits
Pre-call protocol declaration is unverified from the selected public extracts. File times and final protocol text do not establish what was declared before the calls. This calculation adds no new experiment or advance-declaration proof.
The linked minimal-reply, head-to-head and cache extracts retain final protocol text with advance-declaration headings. No preserved pre-call protocol versions were supplied for these extracts. Those headings do not prove what existed before the calls. Historical raw records and review verdicts stay unchanged.
The public-copy note describes a retained final summary and states that pre-call versions are not preserved in that summary. This corrects the label; it does not verify advance declaration. The corrected labels need a fresh source and text recheck before publication.
Use these calculations as scenarios. Measure your own tasks before using them as a budget.
Disclosure: I build Crewshal. The full-attempt numbers come from Crewshal's own runs.
How much delay and cost a router adds per decision: an in-process policy, Claude routers through a CLI, and Jev. Plus CLI start-up tax and per-task totals.
1.42 µsp95 2.33 µs, p99 3.04 µs · Deterministic routing policy: median decision time · n = 20,000
Sixteen AI benchmark studies on one page: SWE-bench, Claude Code vs Codex CLI, agent memory, effort, caching, routing, decision models and provider prices.