Codex iOS shows reasoning level from another thread when reopening an existing thread
What version of the Codex App are you using (From “About Codex” dialog)?
Latest Codex App version as of June 18, 2026.
This is happening in the Codex integration inside the latest ChatGPT iPhone app version available as of June 18, 2026.
What subscription do you have?
ChatGPT Pro.
What platform is your computer?
macOS.
The bug is observed from the ChatGPT iPhone app using the Codex connection/integration to that macOS Codex host. I checked the standalone Codex app on macOS, and it is not affected by this issue.
This report is specifically about Codex through the ChatGPT iPhone app, not the Codex CLI and not the standalone Codex app.
What issue are you seeing?
When navigating between Codex threads in the ChatGPT iOS app, the reasoning selector appears to show the reasoning level from another thread instead of the reasoning level for the currently opened thread.
For example, if I start a new Codex thread and choose Medium reasoning, then go back to a previous Codex thread, the previous thread also shows Medium in the reasoning selector even if that is not the reasoning level used for that thread's most recent prompt.
This makes the selector look like a stale/global UI value rather than a thread-specific setting hydrated from the active thread. It is confusing because, before sending the next prompt, I cannot tell whether the displayed reasoning level is actually the active setting for the reopened thread or just the value copied from the last thread I created/edited.
What steps can reproduce the bug?
- On iPhone, open the ChatGPT app.
- Open the Codex integration / connected Codex experience.
- Open an existing Codex thread that was last used with a reasoning level other than
Medium. - Start a new Codex thread.
- In the new thread, choose
Mediumreasoning. - Go back to the previous Codex thread.
- Look at the reasoning selector in the composer/settings UI.
What is the expected behavior?
When reopening an existing Codex thread, the reasoning selector should show the reasoning level used for the most recent prompt in that thread.
It should not show a stale reasoning value copied from a different/newer thread.
If the selector value is meant to control only the next prompt rather than describe the current thread, the UI should still initialize from the active thread's last-used reasoning level or otherwise make that behavior explicit.
Additional information
Closest related open issues I found, but none appear to be exact duplicates:
- #25583: iOS remote task ignores selected
xhighand starts asmediumon Windows. - #22691: mobile and desktop show inconsistent Speed values for the same session.
- #26930: desktop thread reasoning resets from high/xhigh to low in the same active thread.
This issue is narrower: on iPhone, after changing/choosing reasoning in one Codex thread, reopening another thread can show that same reasoning value even though the previous thread's most recent prompt used a different reasoning level.