Summary
Changing the model or reasoning level while a turn is active does not affect an immediate steer. The composer displays the new selection, but the steer silently uses the active turn's existing execution tuple.
Versions and environment
- Source desktop build at
74f45e31b72f2f3f141325d54788d56bb1878100; the affected files are byte-identical to origin/main at 88abdac575d21e80bc13c528838e7d2060904c11
- Fresh isolated dev data directory and disposable Codex thread
- macOS 26.5.2 (25F84)
- Codex CLI
0.147.0
- Steer running threads on Enter left disabled; the steer was sent with
Command+Enter
Steps to reproduce
- Start a Codex thread using
5.6-Terra with High reasoning.
- Submit:
Run sleep 30 in the terminal, then reply only with done.
- While the command is still running, change the composer picker to
5.6-Luna with Low reasoning.
- Enter
Steer: stop waiting and reply only with steered. and press Command+Enter.
This reproduced five times consecutively with the same UI state and stored execution fields.
Expected vs actual
Expected: either the selected 5.6-Luna · Low tuple applies to the message, or execution controls remain read-only while steering with an explanation that the active tuple cannot change.
Actual UI immediately before and after steering:
Codex: 5.6-Luna · Low reasoning
Actual stored steer request, trimmed verbatim:
{
"target": {
"kind": "steer"
},
"execution": {
"model": "gpt-5.6-terra",
"permissionMode": "full",
"reasoningLevel": "high",
"serviceTier": "default",
"source": "client/turn/requested"
}
}
The selected tuple is therefore not only a display preference: the steer is stored and executed with the previous tuple.
Evidence
What you ruled out
- Not only stale picker state: the stored steer request also contains the previous
gpt-5.6-terra / high tuple.
- Not fixed by current
main: the relevant request-building and submission files are unchanged at 88abdac575d21e80bc13c528838e7d2060904c11.
- No matching open or closed issue found for
steer model reasoning ignored, execution picker steer, model resets after steer, or reasoning steer active thread.
Checks
AGENT GENERATED: by GPT-5
Summary
Changing the model or reasoning level while a turn is active does not affect an immediate steer. The composer displays the new selection, but the steer silently uses the active turn's existing execution tuple.
Versions and environment
74f45e31b72f2f3f141325d54788d56bb1878100; the affected files are byte-identical toorigin/mainat88abdac575d21e80bc13c528838e7d2060904c110.147.0Command+EnterSteps to reproduce
5.6-TerrawithHighreasoning.Run sleep 30 in the terminal, then reply only with done.5.6-LunawithLowreasoning.Steer: stop waiting and reply only with steered.and pressCommand+Enter.This reproduced five times consecutively with the same UI state and stored execution fields.
Expected vs actual
Expected: either the selected
5.6-Luna · Lowtuple applies to the message, or execution controls remain read-only while steering with an explanation that the active tuple cannot change.Actual UI immediately before and after steering:
Actual stored steer request, trimmed verbatim:
{ "target": { "kind": "steer" }, "execution": { "model": "gpt-5.6-terra", "permissionMode": "full", "reasoningLevel": "high", "serviceTier": "default", "source": "client/turn/requested" } }The selected tuple is therefore not only a display preference: the steer is stored and executed with the previous tuple.
Evidence
Command+Enterinvokes the modifier-submit handler while primary Enter remains the normal submit gesture.What you ruled out
gpt-5.6-terra/hightuple.main: the relevant request-building and submission files are unchanged at88abdac575d21e80bc13c528838e7d2060904c11.steer model reasoning ignored,execution picker steer,model resets after steer, orreasoning steer active thread.Checks