Codex Benchmarks

Models
Codex CLI version range

Showing 20 of 20 — the table below each chart always shows every published version.

Reasoning

6 lines shown

Suite cost (USD)

  • sol (high)
  • terra (high)
  • luna (high)
  • astra (high)
  • sol-6-1 (high)
  • luna-6 (high)
Suite cost (USD)
Data table
Codex CLI versionsol (medium)terra (medium)luna (medium)sol (high)terra (high)luna (high)astra (medium)astra (high)sol-6-1 (medium)luna-6 (medium)sol-6-1 (high)luna-6 (high)
0.145.00.6009890.2100220.0225810.6550280.2179180.023138——————
0.146.00.6798050.2245780.0254030.6556520.2346450.025814——————
0.146.10.6304080.2200890.0233290.666620.2464950.0262——————
0.147.00.5972840.2199570.0221570.6398260.2351220.026121——————
0.148.00.6909760.2277940.0293810.7917350.2459050.031325——————
0.149.00.668470.2237420.0273090.6892550.2424890.030541——————
0.149.10.7257170.2243330.027470.7288930.2380710.032493——————
0.150.10.5946590.2155020.024330.6171410.2375370.029076——————
0.151.00.658080.209970.0247880.6607140.2292570.028269——————
0.152.00.7349770.2130570.0240170.519860.233880.028935——————
0.152.10.4738330.2087940.0249610.5286080.2345780.029412——————
0.153.00.4248390.2121040.0248650.4814550.2446190.02883——————
0.153.10.4509470.2108810.0250440.5004480.2236390.027293——————
0.153.20.4739280.2176710.0277640.5155610.2228570.02944——————
0.153.30.4610960.182929——————————
0.153.40.4393360.2023710.0255560.4717820.2176740.028716——————
0.154.00.457820.207590.0274730.4952710.2330610.029482——————
0.163.00.5273960.2152580.021810.5422810.2200290.0244280.8061440.8932160.1473630.0086590.1548210.009551
0.164.00.5036620.2155250.0227170.5780360.2315710.0239940.81930.8690380.1439270.0085190.1502130.009488
0.165.00.4884970.2076240.0208850.5106640.268040.0236140.8446990.8024370.1385060.0098590.1623720.01084
highrelease-0-165-0-high

Data table
Metricluna (high)sol (high)terra (high)astra (high)luna-6 (high)sol-6-1 (high)
Cost per session (USD)mean0.0028060.0602430.0308870.1098420.0012970.023011
Cost per session (USD)median0.0024730.0526890.0314020.0981850.0012830.019197
Output tokens473.5391398324353.5349.5
Input tokens305418336152244132583685.5
Cache-read tokens480005401654272442884192043072
Cache-write tokens000000
Input + cache tokens510545584960424467294517846757.5
API calls111111
Tool calls223323
Latency (s, wall-clock)16.24815.165519.29517.82913.54217.1125
Reasoning tokens6115.5160210
Suite cost (USD)No published column carried Suite cost (USD) for this cycle.
mediumrelease-0-165-0-medium

Data table
Metricluna (medium)sol (medium)terra (medium)astra (medium)luna-6 (medium)sol-6-1 (medium)
Cost per session (USD)mean0.0023090.0544620.0234150.1126690.001090.019521
Cost per session (USD)median0.0023180.0536230.0237340.1018490.0009760.015629
Output tokens401.5374344288305.5298.5
Input tokens2954.524093503.529552758.52655
Cache-read tokens351365446450176423684192043904
Cache-write tokens000000
Input + cache tokens38090.55687353679.54532344678.546559
API calls111111
Tool calls222323
Latency (s, wall-clock)8.0699.920510.01618.988512.10616.9205
Reasoning tokens371410.5000
Suite cost (USD)No published column carried Suite cost (USD) for this cycle.

Codex CLI 0.165.0 Analysis

Measured 2026-11-15 01:30 UTC from the benchmark runs this release recorded, written up from those measurements alone, then checked by an independent reviewer. Where the wording and the tables disagree, the tables are correct.

Verdict

This release of the Codex CLI is version 0.165.0. Here is what one task costs now, in dollars per session, at high reasoning, cheapest first:

  • luna-6: $0.0013
  • luna: $0.0028
  • sol-6-1: $0.0230
  • terra: $0.0309
  • sol: $0.0602
  • astra: $0.1098

And at medium reasoning, cheapest first:

  • luna-6: $0.0011
  • luna: $0.0023
  • sol-6-1: $0.0195
  • terra: $0.0234
  • sol: $0.0545
  • astra: $0.1127

Across the last 10 cycles at high reasoning, each model’s direction and the dollar band it stayed inside:

  • luna drifted down, inside $0.0027 to $0.0034
  • sol shows no clear direction, inside $0.0528 to $0.0635
  • terra shows no clear direction, inside $0.0249 to $0.0309
  • astra has too few cycles to say (3 cycles), inside $0.1000 to $0.1098
  • luna-6 has too few cycles to say (3 cycles), inside $0.0011 to $0.0013
  • sol-6-1 has too few cycles to say (3 cycles), inside $0.0174 to $0.0230

Against the previous CLI version, 0.164.0, the headline spend per session moved at high reasoning:

  • astra rose 7.6%
  • luna rose 3.0%
  • luna-6 rose 22.7%
  • sol fell 5.1%
  • sol-6-1 rose 31.9%
  • terra rose 19.0%

And at medium reasoning:

  • astra rose 22.3%
  • luna fell 8.2%
  • luna-6 rose 15.3%
  • sol fell 6.0%
  • sol-6-1 rose 18.4%
  • terra fell 3.6%

Comparing the individual session costs of the two cycles, three of those moves can be told apart from ordinary run-to-run variation, all at high reasoning:

  • luna-6, p=0.006
  • sol-6-1, p=0.014
  • terra, p=0.002

Every other move cannot be told apart from ordinary run-to-run variation, which does not mean nothing changed. That test is not controlled for cache state, because this study cannot tell which sessions started with a warm cache, so read it as weaker evidence than the same test run on warm sessions alone. One more thing worth knowing: at high reasoning, luna-6 costs 98.8% less per session than the dearest model, astra.

Which cost figure is which

The same sessions summarized three ways. They disagree on purpose, and none is the corrected version of another.

  • Mean $/session: multiplies out to real spend, which makes it the budgeting number, and it is what the cost chart plots.
  • Median $/session: shrugs off an unusually cheap or expensive run, but it does not sum to real spend.
  • Suite cost: the price of one full pass over every prompt in the catalog, the per-prompt medians added up, so it answers what a whole run costs rather than what one session costs.

What these terms mean

New to this report? Here is the vocabulary used below, in plain words. Skip ahead if you already know it.

  • Session (also “task”): one complete run of one prompt by one model, start to finish. Every cost in this report is per session.
  • Reasoning setting: how much internal reasoning the model is asked to spend before answering. This benchmark runs each setting separately and reports them separately, because the same model at a different setting is a different cost.
  • Mean cost per session: the ordinary average across every session. It multiplies out to real spend, so it is the budgeting figure and the one this report leads with.
  • Median cost per session: the middle session once they are lined up by cost. It ignores an unusually cheap or expensive run, but it does not add up to real spend.
  • Suite cost: the price of one full pass over every prompt in the catalog, found by taking each prompt’s median and adding those up. It is a total for the whole catalog, not an average per session, so it is a larger number than either figure above and is not comparable to them.
  • Cache, and cache-read tokens: the tool reuses recent context instead of sending it again, which is far cheaper than sending it fresh. Most of what a session sends is reused this way, so how much of a session lands in the cache moves its cost.
  • n: how many sessions sit behind a number. A larger n is more trustworthy.
  • p-value, and “significant”: the same prompt run twice costs different amounts, so a p-value asks whether two sets of runs can be told apart at all. Line up every run from both cycles: if one cycle’s runs sit consistently higher, p is near 0 and the difference is called “significant”; if the runs are mixed together, p is near 1 and the two sets look like the same thing measured twice. A high p is not weak evidence of a change, it is no evidence either way.
  • API-equivalent cost: dollars calculated at published API rates. It is not necessarily dollars billed, because a subscription plan may already cover the usage.

What a task costs

The table below is this release’s measured cost of a single session, for every model at both reasoning settings, alongside the number of sessions behind each row. The same sessions are summarized three ways, and the figures differ on purpose.

model reasoning n mean $/sess median $/sess suite $
astra high 90 0.1098 0.0982 0.8024
luna high 90 0.0028 0.0025 0.0236
luna-6 high 90 0.0013 0.0013 0.0108
sol high 90 0.0602 0.0527 0.5107
sol-6-1 high 90 0.0230 0.0192 0.1624
terra high 90 0.0309 0.0314 0.2680
astra medium 90 0.1127 0.1018 0.8447
luna medium 90 0.0023 0.0023 0.0209
luna-6 medium 90 0.0011 0.0010 0.0099
sol medium 90 0.0545 0.0536 0.4885
sol-6-1 medium 90 0.0195 0.0156 0.1385
terra medium 90 0.0234 0.0237 0.2076

Compared with the previous version

The version before this one in the published order is 0.164.0. Each row sets that cycle against this one for the same model at the same reasoning setting, with 90 sessions on each side. The two sides are separate runs, not the same sessions measured twice.

model reasoning prev CLI mean $/sess mean delta % median $/sess median delta % suite $ suite delta % n (prev -> cur) Mann-Whitney p
astra high 0.164.0 0.1021 -> 0.1098 +7.6% 0.1047 -> 0.0982 -6.2% 0.8690 -> 0.8024 -7.7% 90 -> 90 0.873
luna high 0.164.0 0.0027 -> 0.0028 +3.0% 0.0023 -> 0.0025 +7.8% 0.0240 -> 0.0236 -1.6% 90 -> 90 0.319
luna-6 high 0.164.0 0.0011 -> 0.0013 +22.7% 0.0011 -> 0.0013 +16.6% 0.0095 -> 0.0108 +14.2% 90 -> 90 0.006 (significant)
sol high 0.164.0 0.0635 -> 0.0602 -5.1% 0.0600 -> 0.0527 -12.2% 0.5780 -> 0.5107 -11.7% 90 -> 90 0.480
sol-6-1 high 0.164.0 0.0174 -> 0.0230 +31.9% 0.0169 -> 0.0192 +13.6% 0.1502 -> 0.1624 +8.1% 90 -> 90 0.014 (significant)
terra high 0.164.0 0.0260 -> 0.0309 +19.0% 0.0255 -> 0.0314 +23.1% 0.2316 -> 0.2680 +15.7% 90 -> 90 0.002 (significant)
astra medium 0.164.0 0.0921 -> 0.1127 +22.3% 0.1007 -> 0.1018 +1.1% 0.8193 -> 0.8447 +3.1% 90 -> 90 0.088
luna medium 0.164.0 0.0025 -> 0.0023 -8.2% 0.0025 -> 0.0023 -5.5% 0.0227 -> 0.0209 -8.1% 90 -> 90 0.327
luna-6 medium 0.164.0 0.0009 -> 0.0011 +15.3% 0.0010 -> 0.0010 +0.1% 0.0085 -> 0.0099 +15.7% 90 -> 90 0.120
sol medium 0.164.0 0.0579 -> 0.0545 -6.0% 0.0563 -> 0.0536 -4.8% 0.5037 -> 0.4885 -3.0% 90 -> 90 0.401
sol-6-1 medium 0.164.0 0.0165 -> 0.0195 +18.4% 0.0165 -> 0.0156 -5.5% 0.1439 -> 0.1385 -3.8% 90 -> 90 0.883
terra medium 0.164.0 0.0243 -> 0.0234 -3.6% 0.0238 -> 0.0237 -0.3% 0.2155 -> 0.2076 -3.7% 90 -> 90 0.710

The p column compares the individual session costs of the two cycles, every session on each side, and asks whether the two sets can be told apart at all. Below 0.05 the difference is called significant; at or above it, the move cannot be told apart from ordinary run-to-run variation, which is not the same as showing that nothing changed. Three rows clear that line, all at high reasoning: luna-6, sol-6-1 and terra. The results for a model at high reasoning say nothing about the same model at medium, and the two settings are not interchangeable. Note also that the headline move and the other two summaries can point in opposite directions within one row, as they do for astra at high reasoning.

What the reasoning setting costs

model medium $/sess high $/sess high vs medium %
astra 0.1127 0.1098 -2.5%
luna 0.0023 0.0028 +21.5%
luna-6 0.0011 0.0013 +19.0%
sol 0.0545 0.0602 +10.6%
sol-6-1 0.0195 0.0230 +17.9%
terra 0.0234 0.0309 +31.9%

For five of the six models, asking for high reasoning instead of medium costs more per session:

  • terra by 31.9%
  • luna by 21.5%
  • luna-6 by 19.0%
  • sol-6-1 by 17.9%
  • sol by 10.6%

astra is the exception, with high reasoning 2.5% below medium.

Caveats

  • The dollar figures are what this usage would cost at published list prices, not money actually billed. If you are on a subscription plan, the same work may already be covered by it.
  • Every model is priced at its standard published rate. Where a promotional rate exists today, it is deliberately not applied, because pricing the whole history at a temporary rate would make every past cycle look cheaper than it was measured to be.
  • Whether a move between versions is bigger than ordinary run-to-run variation is judged by comparing the individual session costs of the two cycles. That comparison is not controlled for cache state: it includes every session, because this study cannot tell which sessions began with a warm cache. Luck with caching therefore sits inside both sides of every comparison, so treat a result here as weaker evidence than one where that effect had been removed.
  • The two cycles being compared ran different CLI versions, so any move reflects the version change together with anything else that differed on the day. It is not a statement about the models themselves.
  • High and medium reasoning are reported separately and are not interchangeable. The same model at a different setting is a different cost, and a result for one setting does not carry over to the other.
  • Reported timings are wall-clock and include the time the model spends reasoning.
  • These runs use their own fixed set of prompts. The study is shaped like the Claude benchmark, but the prompts are different, so the two should not be read as a like for like comparison.

Verification appendix

  • Verifier verdict: PASS after 3 round(s).
  • A first draft was rejected and revised; the objections were resolved.