Stage 6.3 — the free-model answer, and it is not a list
Stage 6.3 — the free-model answer, and it is not a list
Young asked for this on 2026-10-09: "optimise the free models on both GO/ZEN endpoint."
This is the answer, and it exists because the shell was fixed. Every figure below came from a command that ran against the live endpoints. Until the shell worked I had been quoting V2's three-week-old numbers, which I had flagged as a list dressed as a fact.
1. What the live catalogue actually holds
| Endpoint | Base URL | Total models | Free models |
|---|---|---|---|
| GO | https://opencode.ai/zen/go/v1 | 45 | 2 |
| ZEN | https://opencode.ai/zen/v1 | 87 | 12 |
GO looks like the bigger pool by total and the smaller one by usable models. 45 paid models against a $10 package with per-model ceilings is not headroom — it is a menu of things that will block. ZEN's 12 free models are the real capacity, and they cost nothing.
The GO free list (2, probed)
longcat-2.5-preview-free · step-5-preview-free
The ZEN free list (12, probed)
exo-free · jev-1.13-free · ling-3.0-flash-fin-free · ling-3.1-flash-free ·
longcat-2.5-preview-free · mimo-v2.6-flash-free ·
muse-spark-1.2-contributor-free · muse-spark-1.3-contributor-free ·
nemotron-3-ultra-free · nemotron-3.5-lightning-free · space-bunny-free ·
step-5-preview-free
Seven of ZEN's twelve are shared with GO. Where a model exists on both, GO wins — usage inside the $10 package costs nothing extra, while ZEN drains the $40 float.
🔴 A defect, live, caught by the probe
core/config/models.yaml declares lab-go/space-bunny-free. The probe result:
OK opencode/longcat-2.5-preview-free — served by its declared endpoint
OK opencode-go/longcat-2.5-preview-free — served by its declared endpoint
OK opencode/mimo-v2.6-flash-free — served by its declared endpoint
OK opencode/muse-spark-1.3-contributor-free — served by its declared endpoint
MISS lab-go/space-bunny-free — NOT served by go
space-bunny-free does not live on GO. It lives on ZEN — and it is in our registry
under GO. That is the Stage 1.8 defect measured again on the live endpoint. The probe
found it because the probe asks the endpoint instead of reading config.
2. What the fleet actually did last week — the number that matters
opencode stats --days 7 --cost --models:
cost $19.49 · input 469m · cache read 5.3b (cached input 91.6%)
opencode-go/longcat-2.5-preview-f… 2.8b 55.7k $0.00
opencode/space-bunny-free#default 2b 71.9k $0.00
opencode-go/qwen3.8-flash#default 309.3m 7.5k $11.17
opencode-go/deepseek-v4-flash#def… 263.5m 3.6k $6.97
opencode/nemotron-3-ultra-free#de… 156.6m 41.7k $0.00
| Free (3 models) | Paid (2 models) | |
|---|---|---|
| Tokens | 4.96 b | 573 m |
| Steps | 127 k | 11 k |
| Cost | $0.00 | $18.14 |
Free did 8.7× the tokens at zero cost. The single largest line item — qwen3.8-flash
at $11.17 — bought 309m tokens and 7.5k steps, while free space-bunny-free did 2b tokens
and 71.9k steps for nothing.
This is the same defect V2 measured at larger scale, one week later. V2: $10.34 on one paid model in a day. Now: $11.17 on qwen in a week. The pattern did not stop when
V2 stopped.
3. The per-model ceiling, and why it binds before you feel it
From opencode.ai/docs/go/#usage-limits — each model carries: monthly 100% · weekly
50% · 5-hour 20%.
| Model | Monthly | 5-hour (20%) | Weekly |
|---|---|---|---|
| GLM-5.3-Flash | $60 | $12.00 | $30 |
| MiMo-V2.6-Flash | $60 | $12.00 | $30 |
| Muse Spark 1.2 | $60 | $12.00 | $30 |
| Qwen3.8 Flash | $30 | $6.00 | $15 |
| GPT 6 Luna | $15 | $3.00 | $7.50 |
| Claude Haiku 5.5 | $15 | $3.00 | $7.50 |
The binding constraint is the 5-hour window, never the month. V2's measured rate of $10.34/day means qwen's $6.00/5-hour window is roughly 1.2 days of heavy work before that model blocks — and Luna/Haiku at $3.00 per 5 hours are 4× tighter.
So "GO exhausted" is not one state. qwen can sit at $60 while step-5-preview-free
has never been touched. That is why core/config/ladder.py keys the ladder by
(endpoint, model_id) — never by pool or tier.
4. The tier list, with the reasons
| Rank | Model | Endpoint | Why |
|---|---|---|---|
| 1 | longcat-2.5-preview-free | GO | Free on both endpoints. 2.8b tokens, 55.7k steps, $0.00 in the measured week. Proven under V2 too: 769 successes. |
| 2 | step-5-preview-free | GO | Free on both. Second GO free model — the ceiling is separate, so it is genuine headroom, not a queue behind rank 1. |
| 3 | space-bunny-free | ZEN | 2b tokens, 71.9k steps, $0.00 — the highest step count of any model. On ZEN only, so our registry's GO declaration is a live defect. |
| 4 | nemotron-3-ultra-free | ZEN | 156.6m tokens, 41.7k steps, $0.00. Deepest of the ZEN-only free models by volume. |
| 5 | mimo-v2.6-flash-free | ZEN | Not in last week's top five. V2 measured it fail: 23 — mostly rate-limited. Last, not first. |
| 6 | nemotron-3.5-lightning-free | ZEN | In V2's catalogue, unmeasured last week. Try it before reaching for a rung that costs money. |
And the rule the ranks do not capture: these are not ordered by quality. They are ordered by cost (free over paid), endpoint (GO before ZEN, because GO's usage costs nothing extra), and proven volume. A task that a free model answered at 2b tokens does not need a paid one, and the ladder will not offer one until every free rung has lapsed.
5. Four rules I am asking you to confirm
- Free first on GO —
longcatandstep-5are both free there. No paid GO model should be reachable while either is serving. - ZEN is last, not first — it holds 12 free models, and ZEN paid is the only rung that costs real money. Your ruling said "GO exhausted rolls over to ZEN"; the ladder implements that, with ZEN paid behind GO paid.
- Retention is a routing input and it outranks cost. A confidential task gets a confirmed zero-retention model or nothing. Right now no model is confirmed, so confidential tasks are refused — deliberately, because an unconfirmed "probably zero-retention" is an undisclosed disclosure.
- A paid call must record
why_paid.qwen3.8-flashat $11.17 currently has no recorded reason. The ledger now refuses to construct such a record without one, andcore/config/cost_ledger.pyaudits history for rows that predate the guard.
6. The honest limit of this document
- The catalogue is fresh; the performance data is seven days old and aggregated.
opencode statsreports tokens and cost per model — it does not report which task ran, or whether the call succeeded. V2 recorded 769 longcat successes and 23 mimo failures; this week's figures cannot distinguish a success from a refusal. - I have not run a head-to-head task benchmark. Ranking by volume and cost is defensible; ranking by quality is not, and I am not claiming it.
- "GO exhausted" behaviour remains unverified against live exhaustion. V2's breaker
measured real
429 provider.quotarefusals, which is the hard configuration; the ruling describes the soft one. Stage 6's guard needs the console's "Extra usage" setting read — still registered as pending.
So: the ladder is built, the numbers are live, and the two things I would not claim without a probe are quality and exhaustion behaviour.

