Model changes to Medium uninstructed

Resolved 💬 30 comments Opened Feb 7, 2026 by Redstar1337 Closed Mar 2, 2026
💡 Likely answer: A maintainer (etraut-openai, contributor) responded on this thread — see the highlighted reply below.

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_

View original on GitHub ↗

30 Comments

etraut-openai contributor · 5 months ago

Thanks for the bug report. Let us know if you come up with reliable repro steps.

Redstar1337 · 5 months ago

I'm almost certain entering plan mode switches it to the default medium model, happened more than once now switching to plan mode.

fullofcaffeine · 5 months ago

+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.

fullofcaffeine · 5 months ago

Yep, switching to the plan mode does it. Codex 0.98.0, MacOS 15.4 (24E248).

  1. Fire a new session, send the /model. command and make sure mode is something other then 'gpt5.3-codex-medium', i.e 'GPT5.3-codex-high';
  2. Press shift+tab to switch to the plan mode;
  3. Send the /model command again and you'll see gpt5.3-codex-medium selected again 😞
guidedways contributor · 5 months ago
looper200 · 5 months ago

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_effort to what you want. Even if you change it, leaving Plan mode, chatting again, and then returning to Plan mode resets it back to Medium.

winoros · 5 months ago

It becomes easier to reproduce it.
There's a high chance of meeting the issue if I start to use the plan mode.

looper200 · 5 months ago
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:

  1. Set the reasoning level to High and say “hi”.
  2. Switch to Plan mode and say “hi” again.

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.

guidedways contributor · 5 months ago

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

acgxv · 5 months ago

This issue should be a high priority.

Pimpmuckl · 5 months ago

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: None or 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.

w00ing · 5 months ago

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.

etraut-openai contributor · 5 months ago

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.

Pimpmuckl · 5 months ago

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, false might 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

miraclebakelaser contributor · 5 months ago

Adding a plan_mode_reasoning_effort config would be great. Perhaps a plan_mode_model config 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.

charley-oai contributor · 5 months ago
am-will · 4 months ago
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.

Josiah1 · 4 months ago

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.

looper200 · 4 months ago
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

etraut-openai contributor · 4 months ago

It's fixed in the latest alpha version 0.105.0-alpha.14 if you want to test it while prior to the 0.105.0 release.

saidelike · 4 months ago

@etraut-openai Is it really applied to 0.105.0?

 % codex          
╭───────────────────────────────────────────────────╮
│ >_ OpenAI Codex (v0.106.0)                        │
│                                                   │
│ model:     gpt-5.3-codex xhigh   /model to change │
...

/plan

• Model changed to gpt-5.3-codex medium for Plan mode.

 
› Use /skills to list available skills
saidelike · 4 months ago

@etraut-openai this is NOT patched i.e. this does not seem to be fixed. Even in 0.107.

etraut-openai contributor · 4 months ago

@saidelike, can you clarify what behavior you're seeing?

am-will · 4 months ago

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!

model = "gpt-5.3-codex"
model_reasoning_effort = "medium"
plan_mode_reasoning_effort = "high"
saidelike · 4 months ago
@saidelike, can you clarify what behavior you're seeing?

By default, it automatically changes the reasoning effort to medium when switching to /plan mode:

I start codex, it uses xhigh level:

 % codex          
╭───────────────────────────────────────────────────╮
│ >_ OpenAI Codex (v0.106.0)                        │
│                                                   │
│ model:     gpt-5.3-codex xhigh   /model to change │
...

I switch to plan mode, I see it changes to medium:

/plan

• Model changed to gpt-5.3-codex medium for Plan mode.

Expected: we expect codex to not change the level when switching to plan mode, by default.

am-will · 4 months ago
> @saidelike, can you clarify what behavior you're seeing? By default, it automatically changes the reasoning effort to medium when switching to /plan mode: I start codex, it uses xhigh level: `` % codex ╭───────────────────────────────────────────────────╮ │ >_ OpenAI Codex (v0.106.0) │ │ │ │ model: gpt-5.3-codex xhigh /model to change │ ... ` I switch to plan mode, I see it changes to medium: ` /plan • Model changed to gpt-5.3-codex medium for Plan mode. `` 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.

saidelike · 4 months ago
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.

reverofevil · 3 months ago

Switching from xhigh to medium to do the thinking honestly doesn't sound very logical to me, as well as having to plan_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?

kendonB · 2 months ago

@etraut-openai this should be unpinned?