Reproduction
- Set the current model to
gpt-5.3-codex.
- Start Codex and wait for the migration prompt that recommends
gpt-5.4.
- Explicitly choose
Use existing model.
- Check
~/.codex/config.toml.
Actual behavior
Codex writes the following entry:
[notice.model_migrations]
"gpt-5.3-codex" = "gpt-5.4"
Why this is a problem
- This looks like a real model redirect, not like “I already saw this migration prompt.”
- The user explicitly chose to keep the existing model, but the config now contains an
old -> new mapping that strongly suggests Codex may still route requests to the new model.
- In the current implementation, this field is mainly used to suppress the prompt on later launches, not to persist the actual model selection. That makes the table name and stored value misleading.
Expected behavior
- Store “model migration prompt acknowledged” state in a separate config table with explicit semantics.
- Do not keep writing
old -> new mappings under [notice.model_migrations] when the user chooses Use existing model.
- Continue reading the legacy field for backwards compatibility so existing users do not get prompted again.
Related but different
Reproduction
gpt-5.3-codex.gpt-5.4.Use existing model.~/.codex/config.toml.Actual behavior
Codex writes the following entry:
Why this is a problem
old -> newmapping that strongly suggests Codex may still route requests to the new model.Expected behavior
old -> newmappings under[notice.model_migrations]when the user choosesUse existing model.Related but different