AI News Page

SMOKE DESK

ASKED FOR ASTRA. GOT LUNA.

You asked for GPT-6 Astra. The response came back labeled GPT-5.6 Luna. Several public captures show the same swap, and OpenAI hasn't publicly explained the routing contract.

Merv the worried robot holds a plain tin can labeled LUNA before a gleaming PREMIUM AI vending machine with the ASTRA button lit, while oblivious humans queue behind him.
MACHINE AGE CARTOON · ZIMBO →

We flagged this on September 20, after two public technical traces in separate GitHub repos showed the same thing: a request for GPT-6 Astra, and a successful response identifying GPT-5.6 Luna instead.

The report in OpenAI's Codex repository traced seven Astra requests — low, medium, high and xhigh reasoning. All seven returned a response object labeled GPT-5.6 Luna. The controls (GPT-5.6 Sol, Luna, Terra, GPT-5.5) were labeled as requested. The same Astra responses carried headers saying safety buffering was enabled and naming GPT-5.6 Luna as the faster model.

A separate CLIProxyAPI report showed its upstream request body selecting GPT-6 Astra and the upstream response returning GPT-5.6 Luna with the same safety-buffering headers. A later OpenAI Codex issue added adapter-mediated trace samples from four account profiles and a larger local corpus where every Luna-labeled mismatch was associated with an Astra request — while explicitly warning that the adapter evidence cannot prove which model weights actually ran.

The narrow finding is hard to wave off now: several public captures show Codex subscription or OAuth requests asking for Astra and receiving responses reported as Luna. What remains unresolved is whether that model field always identifies the actual serving weights, how broadly the behavior occurs, and whether the substitution is an intended fallback, a routing bug or a labeling problem. OpenAI's public model documentation treats Astra and Luna as distinct models, but does not explain this observed routing behavior.

WHAT WE DON'T KNOW

  • How many Codex users, plans or requests are affected.
  • Whether the returned model identifier always attests the exact serving weights.
  • What triggers the safety-buffering path and whether users can require strict model selection.
  • Whether OpenAI considers the behavior expected fallback, a routing defect or a metadata defect.

SEE THE ZIMBO CARTOON →

← CURRENT PAPER · WHAT ELSE IS SMOKING? →

SOURCES

  1. PUBLIC TRACE · ORIGINATING SIGNALASKED FOR ASTRA. RESPONSE SAID LUNA.gpt-6-astra is served as gpt-5.6-luna (runtime model substitution) on a Plus accountOpenAI Codex GitHub
  2. PUBLIC TRACE · CORROBORATIONSAFETY BUFFERING SWAPPED ASTRA FOR LUNA.[Bug] Codex OAuth serves gpt-5.6-luna after requesting gpt-6-astra under safety bufferingCLIProxyAPI GitHub
  3. PUBLIC TRACE · CORROBORATIONFOUR ACCOUNT PROFILES. SAME ASTRA → LUNA MISMATCH.Explicit Astra requests return Luna metadata: trace evidence and a strict model-selection contractOpenAI Codex GitHub
  4. PRIMARY · BACKGROUNDOPENAI LISTS ASTRA AND LUNA AS DIFFERENT MODELS.ModelsOpenAI