Codex Analytics attributes turns to gpt-5.6-luna with no local Luna invocation evidence
What issue are you seeing?
Codex Analytics reports turns for gpt-5.6-luna on a day when I did not intentionally start any Luna chats, and the local Codex session logs for that local day do not show Luna in any active model, model selector, worker selector, or command argument field.
Observed in Codex Analytics for Aug 9, 2026:
gpt-5.5: 142 turnsgpt-5.6-luna: 84 turnsgpt-5.4: 106 turnsgpt-5.4-mini: 3 turns
A structured scan of local session JSONL logs for the same Europe/London local day found:
{
"turn_context_models": {
"gpt-5.4": 129,
"gpt-5.4-mini": 7,
"gpt-5.5": 110
},
"localDayTurns": 246,
"token_count_events_by_last_turn_model": {
"gpt-5.4": 1686,
"gpt-5.4-mini": 99,
"gpt-5.5": 2487
},
"modelOrSelectorFieldHitsForGpt56Luna": 0,
"commandArgOrMessageHitsForGpt56Luna": 0,
"toolDescriptionHitsForGpt56Luna": 21
}
The only local gpt-5.6-luna string hits were in tool descriptions listing available model overrides, not in fields indicating the selected or invoked model.
What steps can reproduce the bug?
- Use Codex across a local day while intentionally selecting non-Luna models.
- Open Codex Analytics and inspect the "By model" counts for that day.
- Compare the analytics counts with local session JSONL records for the same local-day window, checking
turn_context.modelplus model/selector/command argument fields. - Observe that Analytics attributes turns to
gpt-5.6-lunaeven though the local logs show no Luna model invocation evidence.
What is the expected behavior?
Codex Analytics "By model" should reconcile with the user-visible/requested model labels in local session logs, or clearly document when counts reflect hidden server-side execution models, fallback routing, remaps, or internal subagent accounting.
Additional information
This makes model usage auditing difficult for multi-agent workflows. In this case, I intentionally routed work to specific models and did not expect Luna usage.
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Additional evidence that may be relevant here, but the Luna connection is still only a hypothesis.
On the same Codex VS Code extension build
26.810.52044with bundledcodex-cli 0.148.0-alpha.9on Linux, I ran an A/B control with no intervening extension update:gpt-5.5: the root selected collaboration V1. An identically shaped custom-provider child (DeepSeek V4) received the exact unique-token + semantic-read task and completed it correctly.gpt-5.6-sol: the root selected collaboration V2. The same custom-provider child launched, but received an effectively empty payload and asked what it should work on.Switching models later did not repair the already-started thread. The starting model appears to stamp/persist the thread's
multi_agent_version/ collaboration transport.That matches the current upstream source shape: session code resolves and then reuses a thread-level
multi_agent_version, and V2 handoff uses encrypted inter-agent messages by default. It also matches the failure family in #36586, where V2 custom-provider children lose the actual task payload.Hypothesis only: if a Sol-started thread pins a different collaboration/runtime path from a GPT-5.5-started thread, that could help explain why some requested child-model overrides appear ignored or redirected, and why Analytics might attribute turns to a model I did not explicitly request. But I do not yet have runtime evidence that the backend actually served
gpt-5.6-lunain the attributed turns, so I am not claiming Luna routing is proven here.[ +1 ] Adding another repro from 2026-08-17 with local Codex usage data.
ChatGPT/Codex Analytics reports the following By model for that day:
gpt-5.6-terra: 71 turnsgpt-5.6-luna: 81 turnsgpt-5.6-sol: 2 turnsgpt-5.3-codex-spark: 1 turnTotal: 155 turns
The By surface view for the same day reports:
I did not select Luna that day. My intentional Desktop usage was primarily Terra, with occasional Sol usage.
I then queried the local Codex session data using:
The resulting model breakdown is:
Total locally recorded Codex usage for the day:
There is no
gpt-5.6-lunaentry at all in the ccusage output.I also searched both active and archived Codex JSONL files directly:
Result: no matches
And a broader search:
Result: no matches
So Analytics is attributing 81 / 155 turns (~52%) to Luna, while:
This appears very similar to the original report, but with the additional ccusage/token breakdown showing that the local Codex records and Analytics model attribution disagree substantially.
<img width="1117" height="436" alt="Image" src="https://github.com/user-attachments/assets/2bcd0844-dfa0-4a01-a683-f2590982cce8" />
<img width="1169" height="563" alt="Image" src="https://github.com/user-attachments/assets/ec196522-b7ee-4f2f-96f3-ef2c2ec4653d" />