Codex can report the wrong active model despite correct runtime routing
What version of the Codex App are you using (From “About Codex” dialog)?
26.715.21425 (build 5488; embedded app-server 0.145.0-alpha.18)
What subscription do you have?
ChatGPT Pro (20x)
What platform is your computer?
Darwin 25.5.0 arm64 arm (macOS 26.5.2, build 25F84)
What issue are you seeing?
The Codex App can provide an incorrect or inconsistent answer when asked which model is currently active, even though the persisted runtime state contains the correct model selection.
The clearest mismatch occurred with gpt-5.6-sol and High reasoning:
- Persisted
turn_context:gpt-5.6-sol, High - User prompt:
test: which model? - Assistant response:
GPT-5.4.
The following turn was correctly routed to gpt-5.3-codex-spark with High reasoning, but when asked for the current model layer, the assistant answered only that it was using GPT-5.
Additional tests were inconsistent:
gpt-5.6-solsometimes identified itself exactly asGPT-5.6 Sol.- The same model sometimes identified itself only as being based on GPT-5.
gpt-5.4-miniandgpt-5.6-terrastated that the exact model snapshot was not exposed.gpt-5.3-codex-sparkreported only the GPT-5 family despite being asked for the current model layer.
The persisted turn_context values match the selected models. I found no evidence of fallback or rerouting for these turns. This therefore appears to be a model self-identification or runtime-metadata exposure problem, not a model-selection failure.
This is especially confusing because an exact but incorrect answer such as GPT-5.4 makes it appear that the model picker or routing failed when the actual runtime route was correct.
What steps can reproduce the bug?
Primary reproduction:
- Open a Codex App thread.
- Select
GPT-5.6 Solwith High reasoning. - Send:
test: which model? - Observe that the assistant may identify itself as a different exact model. In the attached reproduction it answered
GPT-5.4. - Inspect the persisted session state. The corresponding
turn_contextrecordsgpt-5.6-solwith High reasoning. - Switch to
GPT-5.3 Codex Sparkwith High reasoning. - Ask again which model or model layer is currently active.
- Observe that the assistant identifies itself only as
GPT-5, whileturn_contextrecordsgpt-5.3-codex-spark.
Control reproduction:
- Start a clean thread with
GPT-5.6 Soland Medium reasoning. - Ask which model is active and provide the available model names as choices.
- Observe that it can identify itself correctly as
GPT-5.6 Sol. - Switch to
GPT-5.4 MiniorGPT-5.6 Terra. - Ask for the exact model again.
- Observe that the assistant may instead state that the exact model snapshot is not exposed.
The attached sanitized event extract contains the runtime model, reasoning effort, test prompt, and resulting response for each highlighted turn.
What is the expected behavior?
_No response_
Additional information
The persisted session state indicates that model routing itself worked correctly. The highlighted turns contain the expected runtime models in turn_context, and I found no fallback or rerouting event.
The behavior is consistent with the generated response not having reliable access to the exact model label shown by the app. However, the exact cause is an inference; the evidence establishes only that the runtime state and the generated self-identification disagree.
This is materially different from #10875 and #14008. Those reports concern the model selector reverting or failing to persist a selection. Here, the selected model persists and is used, but the assistant reports the wrong or insufficiently specific identity.
This report intentionally excludes the separate unexpected-context-compaction issue reported from the same app release.
Attachments:
A sanitized persisted-event extract is attached. The corresponding session ID and in-app feedback submission are available to OpenAI maintainers upon request.
model-self-identification-environment.redacted.txt
model-self-identification-events.redacted.txt
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗