Skip to content
AI Primer
workflow

Codex users route tasks across GPT-5.6 Sol, Terra, and Luna to cut token cost

Practitioners reported better Codex multi-agent runs by raising concurrency and splitting work across Sol, Terra, and Luna. One workflow sends deploy tasks to Luna Max to preserve Sol tokens.

8 min read
Codex users route tasks across GPT-5.6 Sol, Terra, and Luna to cut token cost
Codex users route tasks across GPT-5.6 Sol, Terra, and Luna to cut token cost

TL;DR

  • Luna became the cost story: OpenAIDevs said OpenAI cut GPT-5.6 Luna costs by 80% and Terra by 20%, and code's Codex post said both were available in Codex the same day.
  • Routine work is already moving off Sol: reach_vb's cost swap reported a daily structured-output task moving from Sol to Luna with no performance drop and 96% lower token pricing.
  • Codex multi-agent v2 is narrower than the model picker implies: Sol and Terra are the supported v2 models, while Luna is better handled through separate threads, according to pvncher's warning.
  • The emerging harness pattern is Sol for orchestration, Terra or Luna for bounded execution, and a fresh reviewer, visible in daniel_mac8's sol-advisor launch and MatthewBerman's deploy prompt.
  • Early evals are split: arena's leaderboard post ranked Sol, Terra, and Luna inside the top 14 Fullstack models, while kevinkern's routing test found all-Sol faster and cheaper than a mixed Grok/Sol workflow on one small controlled run.

Codex's multi-agent v2 is “mostly meant for the models to know about,” according to pvncher. The sol-advisor repo turns that hidden machinery into a named workflow with pinned roles and a mandatory fresh Sol review. OpenAI's Codex rate card now lists Luna at 5/0.5/30 credits per million input/cached/output tokens versus Sol at 125/12.5/750. MatthewBerman's deploy handoff even includes an explicit “Prevent recursive handoffs” line, which is the kind of boring detail that keeps agent loops from eating themselves MatthewBerman's deploy prompt.

Luna economics

OpenAI framed the update as efficiency gains passed through to users, with OpenAIDevs saying Luna costs fell 80% and Terra costs fell 20%.

The new Codex credit spread is sharper than the API-dollar framing. OpenAI's Codex rate card lists per-million-token credits as:

  • GPT-5.6 Sol: 125 input, 12.5 cached input, 750 output.
  • GPT-5.6 Terra: 50 input, 5 cached input, 300 output.
  • GPT-5.6 Luna: 5 input, 0.5 cached input, 30 output.

reach_vb's example was a daily structured-output job that moved from Sol pricing at $5/$30 per 1M input/output tokens to Luna pricing at $0.20/$1.20, with no reported quality drop reach_vb's cost swap. The task was not a toy prompt: reach_vb's follow-up described Codex clustering unstructured social-media issue reports into predefined categories and severity ranks.

Subscription limits added a second axis. Hangsiin's Plus screenshot put GPT-5.6 Luna at 250 to 2,000 local messages per five hours on Plus, compared with 10 to 100 for Sol, while a Developer Community thread claimed parallel Luna Max tasks could still burn through weekly allowance quickly.

Multi-agent v2

pvncher's account is the clearest public description of Codex multi-agent v2:

  • Concurrency: pvncher's Codex thread said 12 Sol Medium agents can outperform the default four agents in Ultra.
  • Config: pvncher's config reply said Codex can modify the config toml to raise the concurrency limit, with higher usage-limit consumption.
  • Defaults: pvncher's usage reply said the defaults balance outcomes against usage consumption.
  • Model support: pvncher's v2 reply said v2 tools are used by Sol and Terra, while v1 is for older models and Luna.
  • Communication: pvncher's Luna reply said v2 requires proactive inter-agent communication and Luna is not good at it.
  • Work streams: pvncher's threads reply put the ideal thread count at one, with extra threads for independent streams or models not supported by subagents.

The UX gap showed up immediately. NickADobos asked what v2 was and whether it was documented NickADobos's question, then complained that users were discovering a changeable four-subagent limit through Twitter comments rather than a settings panel NickADobos's settings complaint.

Thread orchestration has surface-area limits. pvncher's CLI reply said it works in the app, not the CLI, and pvncher's workaround reply said app thread automation can spawn and wait on Luna agents while the team considers a better solution.

sol-advisor

sol-advisor became the public template for capability-routed Codex work. daniel_mac8's launch version had four roles daniel_mac8's sol-advisor launch:

  1. GPT-5.6 Sol High as orchestrator.
  2. GPT-5.6 Luna Max as routine implementer.
  3. GPT-5.6 Terra Max as complex implementer.
  4. A fresh GPT-5.6 Sol instance as reviewer.

The GitHub repo now describes “Codex-native architect orchestration with Luna and Terra implementation lanes and mandatory fresh Sol review,” with the primary Sol session focused on requirements, architecture, specs, and verification.

The Luna lane changed after the v2 limitation surfaced. daniel_mac8 later said he removed Luna Max from sol-advisor because Luna did not work well as a Codex subagent, while Sol plus Terra worked better for the orchestrator, implementer, advisor pattern daniel_mac8's Luna removal. His workaround was to declare a custom agent pinned to Luna Max and have Sol route to it rather than spawn it as a subagent daniel_mac8's workaround.

The benchmark claim behind the routing was cost-performance, not pure quality. daniel_mac8's AA chart post said Luna Max was Sol Medium level and Terra Max was Sol High level on AA-Agentic coding, with Luna and Terra getting 80% and 20% price reductions.

Luna deployment threads

MatthewBerman split deployment into a new Luna Max thread instead of spending Sol tokens on a routine endgame MatthewBerman's deploy prompt. The prompt's mechanics are explicit:

  • Finish testing.
  • Commit and push the task's changes.
  • Create a new Codex project task using gpt-5.6-luna with max reasoning.
  • Review and merge the PR.
  • Monitor exact-main CI and automatic deployment.
  • Verify production.
  • Report the result back to the original thread.
  • Prevent recursive handoffs.

The missing product feature is routing. MatthewBerman's routing reply said he wanted built-in model routing, mid-thread auto-routing, or keyword routing, and MatthewBerman's effort reply called Max the slowest setting.

He also said he almost never uses Sol Max because he has not found a use case that requires it MatthewBerman's Sol Max reply. That is the new practical split: Sol is expensive orchestration and hard judgment, Luna is cheap closure when the task shape is already known.

Benchmarks and routing evals

Arena's public rankings made Luna look less like a toy model. arena's Fullstack post listed:

  • Sol xHigh: #3 in Fullstack at 1638 points, #5 overall at 1623.
  • Terra xHigh: #10 in Fullstack at 1579, #20 overall at 1522.
  • Luna xHigh: #14 in Fullstack at 1568, #18 overall at 1525.

Cross-domain scores were spikier. arena's modality post put Sol, Terra, and Luna at #11/#10/#18 in Document Arena, #14/#25/#40 in Vision Arena, and #13/#34/#56 in Text Arena.

DeepSWE price-performance told the same cost story with a coding-specific lens. reach_vb's DeepSWE chart compared Luna Max with GPT-5.5 xHigh at 67.2% versus 67.0% pass@1, with $0.61 versus $7.23 average cost per task.

Routing itself still lacks a big benchmark. In kevinkern's small dogfood comparison, the all-Sol 5.6 Medium route and mixed Grok/Sol route both passed, but kevinkern's screenshot showed all-Sol finishing in 12m36s versus 23m04s, using 4 child calls versus 10, and costing an estimated $2.1827 versus $2.6011. kevinkern later said the examples did not prove much and that he could not yet see an advantage to the mixed route kevinkern's caveat.

Side chats and thread queues

Long Codex runs are developing their own control plane. pvncher's correction pattern is to interrupt an ambitious task, write a detailed course-correction prompt, and use side chats to shape that prompt pvncher's side-chat tip.

The command surface is tiny. pvncher's slash reply said the command is /side, and swyx's side-chat framing split the work as “doing the work” in the main chat versus “doing metawork” in side chats.

swyx showed a different kind of orchestration: using @ to queue a message to another Codex thread when one project is blocked on a platform feature swyx's Forge thread. The attached screenshots show a game agent blocked by a platform issue, a platform thread repairing the release path, and a queued message back after the fix.

That pattern only appears at platform scale. swyx added that most people build applications on platforms rather than a platform with a real product tenant, which makes back-and-forth thread orchestration uncommon swyx's Forge thread.

Reality checks and context rot

doodlestein's FrankenNLP run used 12 GPT-5.6 Terra agents and a /reality-check-for-project skill to audit what was actually done doodlestein's reality-check post. The linked Reality Bridge Plan labels FrankenNLP a substantial code-first scaffold, not a ready product, with no clean-SHA DSR receipt and multiple model, artifact, platform, performance, publisher, and human-release gates still open.

dejavucoder posted the failure mode from a CUDA contest run: an autonomous GPT-5.6 Sol loop plateaued around 800 microseconds after a 15,000-line source file accumulated context rot and copied a tcgen kernel idea into places where it was not optimal dejavucoder's contest post. A pure Triton rewrite seeded into Opus 5 started around 3000 microseconds and hillclimbed to 500 microseconds in about two days, with the winning rewrite shrinking the codebase to roughly 1,500 lines dejavucoder's contest post.

Further reading

Discussion across the web

Where this story is being discussed, in original context.

On X· 7 threads
TL;DR1 post
Luna economics3 posts
Multi-agent v211 posts
sol-advisor3 posts
Luna deployment threads3 posts
Benchmarks and routing evals4 posts
Side chats and thread queues2 posts
Share on X