Model changes to Medium uninstructed
What version of Codex CLI is running?
0.98
What subscription do you have?
Pro
Which model were you using?
5.3 Codex
What platform is your computer?
PS7 Win10
What terminal emulator and version are you using (if applicable)?
PS7
What issue are you seeing?
Worked for 2m 59s ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
• I found a potential regression risk in the patch and want to verify it empirically with a short replay: internal netting fills are now written to blotter, which may unintentionally affect turnover/fee
accounting. I’ll run a short-window smoke replay and inspect blotter plus turnover consistency.
/status
╭─────────────────────────────────────────────────────────────────────────────────╮
│ >_ OpenAI Codex (v0.98.0) │
│ │
│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │
│ │
│ Model: gpt-5.3-codex (reasoning xhigh, summaries auto) │
│ Directory: E:\Python 3.12 │
│ Approval: never │
│ Sandbox: danger-full-access │
│ Agents.md: AGENTS.md │
│ Account: xxx (Pro) │
│ Collaboration mode: Default │
│ Session: 019c371b-daab-7ec3-9f22-10ba8c2c4738 │
│ Context window: 29% left (187K used / 258K) │
│ 5h limit: [███████████████████░] 95% left (resets 20:48) │
│ Weekly limit: [██████████░░░░░░░░░░] 49% left (resets 01:13 on 10 Feb) │
╰─────────────────────────────────────────────────────────────────────────────────╯
› Yes proceed
/status
╭─────────────────────────────────────────────────────────────────────────────────╮
│ >_ OpenAI Codex (v0.98.0) │
│ │
│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │
│ information on rate limits and credits │
│ │
│ Model: gpt-5.3-codex (reasoning medium, summaries auto) │
│ Directory: E:\Python 3.12 │
│ Approval: never │
│ Sandbox: danger-full-access │
│ Agents.md: AGENTS.md │
│ Account: (Pro) │
│ Collaboration mode: Plan │
│ Session: 019c371b-daab-7ec3-9f22-10ba8c2c4738 │
│ │
│ Context window: 21% left (207K used / 258K) │
│ 5h limit: [███████████████████░] 94% left (resets 20:48) │
│ Weekly limit: [██████████░░░░░░░░░░] 48% left (resets 01:13 on 10 Feb) │
╰─────────────────────────────────────────────────────────────────────────────────╯
What steps can reproduce the bug?
I'm not sure yet, possibly turning on Plan mode causes it to happen but needs further testing to reproduce.
What is the expected behavior?
_No response_
Additional information
_No response_
30 Comments
Thanks for the bug report. Let us know if you come up with reliable repro steps.
I'm almost certain entering plan mode switches it to the default medium model, happened more than once now switching to plan mode.
+1, having the same issue. I notice because it becomes too fast and then I realize it's a bit shallow on the replies. Annoying because plan mode is quite useful.
Yep, switching to the
plan modedoes it. Codex0.98.0, MacOS15.4 (24E248)./model. command and make sure mode is something other then 'gpt5.3-codex-medium', i.e 'GPT5.3-codex-high';shift+tabto switch to the plan mode;/modelcommand again and you'll seegpt5.3-codex-mediumselected again 😞Same: https://github.com/openai/codex/issues/11979
Plan mode always defaults to Medium thinking, even if you previously selected something else. Whenever you switch to Plan mode, you have to manually set
model_reasoning_effortto what you want. Even if you change it, leaving Plan mode, chatting again, and then returning to Plan mode resets it back to Medium.It becomes easier to reproduce it.
There's a high chance of meeting the issue if I start to use the plan mode.
It’s not that there’s a high chance — it’s a 100% guarantee. Just follow these steps to reproduce the bug:
The bug will be reproduced: you’ll see that the current reasoning level is Medium.
Also, even though the terminal shows Medium, the config file still has the old value High.
If you exit Plan mode, the Medium bug goes away.
For now, the only workaround is: when you enter Plan mode, you have to manually select the correct reasoning level you want.
Plan mode is entirely unusable at this point unfortunately
@looper200 when I try doing that, it switches back to medium after you submit a prompt
This issue should be a high priority.
https://github.com/user-attachments/assets/95ae9e3d-8b35-444b-8b71-cd935200cb04
Looked around a bit since I encountered this as well.
Found
codex-rs/core/src/models_manager/collaboration_mode_presets.rs:plan_preset()sets:reasoning_effort: Some(Some(ReasoningEffort::Medium))Forking codex-cli real quick and implementing a fix to set it to
reasoning_effort: Noneor deleting the line entirely and will see if that helps locally.Edit: Seems to have worked to simply set to None. Been testing it a bit in normal use cases and with targeted plan mode usage.
If anyone wants to replicate this for local use, here's the commit. Literally just a few lines.
https://github.com/Pimpmuckl/codex/commit/02b9175c0cf963c821bac70cc860571cfcca46c5
@etraut-openai figured you might appreciate a tag on this to fix yourself or I can make a PR, too.
Same thing here. Switching to Plan Mode and submitting a prompt sets reasoning level to medium. When I begin the execution of the plan it comes back to the previous reasoning level.
E.g. if I start codex with 'xhigh', enter Plan Mode and submit a prompt, it switches to 'medium' reasoning while the planning goes on, and returns to 'xhigh' when I try to execute the plan.
The feature is working as designed, so this isn't really a "bug", but it sounds like it's working differently than many users think it should.
Our thinking behind the current design is that plan mode with "xhigh" consumes a lot of tokens and frequently overflows the context window. In our experience, "medium" works well for plan mode in most situations. It sounds like many of you want to use other reasoning efforts for plan mode, so we'll need to think about the right way to expose that. We could remove the current use-medium-always behavior and use whatever reasoning effort is currently configured. Or we could provide a different config key for defining the "plan mode reasoning effort" (defaulting to medium). There are probably other options to consider as well. Interested in your thoughts.
Can only speak for myself, but I'd appreciate the config flag for sure. Especially one that would allow me to use "current" reasoning effort for planning.
So
PLAN_MODE_REASONING_EFFORT = {medium, high, xhigh, current}sounds like a really solid feature. Having the option to use the same reasoning as the currently configured model would make it easy to swap on the fly if required. Wording can likely be improved.keep,current,falsemight all work.When having the need for a sort of "deep-plan", I'm willing to burn the tokens. Smaller-scoped plan is more than fine with medium, but I had some cross-repo information retrieval that was required when I used it yesterday and that was clearly not a good fit for the medium budget. At least using GPT 5.2 since the use case required less code and more planning/architecture/schema design etc.
If future models can tackle this by simply using cost-effective subagents for token intensive retrieval, this might be a possible solution as well to balance main-agent context window vs cost
Adding a
plan_mode_reasoning_effortconfig would be great. Perhaps aplan_mode_modelconfig too.I think most people expect to plan with the best model at the highest juice and execute with a faster model at medium/high.
Hoping to address this in https://github.com/openai/codex/pull/12303
Thank you Charlie for merging this very important QOL update.
You're awesome. Shouted you on X
The switching to medium was REALLY annoying. Not anymore thanks to you! 🫡
https://x.com/i/status/2025594681636090237
Edit: agree with the others though
Adding plan_mode_model would be nice too.
Has this issue been resolved in version 0.104? I've been using this version for a few days and I still frequently encounter unexpected model changes to medium in plan mode.
Not yet I think it will be in next release 0.105.0
It's fixed in the latest alpha version
0.105.0-alpha.14if you want to test it while prior to the0.105.0release.@etraut-openai Is it really applied to 0.105.0?
@etraut-openai this is NOT patched i.e. this does not seem to be fixed. Even in 0.107.
@saidelike, can you clarify what behavior you're seeing?
You have to configure your model reasoning level defaults if you want them to change.
At the top of your config file, you can add something like this. Cheers!
By default, it automatically changes the reasoning effort to medium when switching to /plan mode:
I start codex, it uses xhigh level:
I switch to plan mode, I see it changes to
medium:Expected: we expect codex to not change the level when switching to plan mode, by default.
You need to configure your plan mode reasoning level in your config file. When you switch to plan mode and change reasoning levels, it will ask you if you want to save it as a default.
Thanks for this, it indeed works. However, without setting this in the config file, we would expect the level to NOT change when switching to /plan mode, as described above.
Switching from
xhightomediumto do the thinking honestly doesn't sound very logical to me, as well as having toplan_mode_reasoning_effort = "high"in the config file instead of switching it through/model.@etraut-openai Do we need to open a separate bug for this, or is this considered a feature request because it never worked properly?
@etraut-openai this should be unpinned?