Plan Mode
Please add a feature for researching & planning before executing any changes. We can sort of do it today via prompting in certain ways but it will often dive into making changes right away and lacks a good way to manage or edit a plan before executing on it.
Something like "Shift+Tab" to turn it on like other tool. Maybe, it can maintain a list of TODOs in some AI-PLAN.md file (untracked in git) but maybe in project root itself, as it plans. Then, once it starts implementation, it goes through the same .md file.
Out of interest how are you doing that currently? I started by using an md and json file and iterated over this a couple of times to improve the plan, however every time it needs to check if something is done or mark it as complete it's just fleshing/bulking out my context massively. Any ideas on how to improve it whilst there isn't a plan function. But yes I'm currently preferring the "other" tool to do things but the subscription model shuts me down pretty quickly in large projects.
Hello @bolinfest. Mentioning you as the chief contributor to this repo.
I am wondering what is happening with this FR.
Plan mode is table stakes for Codex.
@bolinfest does anyone even read these?
@cadamsdotcom we have a bit of a backog right now
Thanks for the response - know you’re busy so appreciate it.
Given you say there’s a bit of a backlog, I’m curious how formally it’s being tracked on the open source side. For example - is there a roadmap we can see? Would love to get an idea what you folks are prioritizing!
Out of interest how are you doing that currently? I started by using an md and json file and iterated over this a couple of times to improve the plan, however every time it needs to check if something is done or mark it as complete it's just fleshing/bulking out my context massively. Any ideas on how to improve it whilst there isn't a plan function. But yes I'm currently preferring the "other" tool to do things but the subscription model shuts me down pretty quickly in large projects.
What's the "other" tool?
What's the "other" tool?
Claude Code.
This is something Claude Code already does really well. While ChatGPT feels stronger overall in reasoning, Codex still struggles with tool use compared to Claude Code. Having a clearer way to preview and guide what the model intends to do would make it much easier to trust and manage its edits.
Right now, I often feel like I have to babysit it, since it can make messy or incorrect changes. A plan mode would go a long way toward improving that experience. This seems like a relatively high-impact feature that could deliver real value quickly with a bit of afternoon vibing.
@bolinfest thanks for engaging in this thread.
Codex's ergonomics don't let GPT-5 shine. We can't trust it to do what it says it will. Plan mode is the clincher that makes Claude Code a useful tool, and it'll be the same for Codex.
We all have our wishlists, and we know you have your roadmap. What will it take for us to convince you?
bump
Overall I think the GPT models are GOAT. However, Codex CLI feels nerfed without a proper plan mode. That feature is crucial to getting things right — otherwise it’s more like “vibe coding.” Compared with Claude Code, Codex CLI feels unusable without it.
I understand priorities may differ, but for many of us this feels like the single most important feature. Could you consider either (a) reprioritizing plan mode, or (b) sharing a clearer roadmap so the community can help contribute? I could imagine many would like to pitch in (including me) if we knew where it stands. Enabling plan mode may be one small step for Codex, but it would be one giant leap for developers.
I have found Plan Mode invaluable for the (many) times that I don't quite know what I want. Claude will come back with proposals for me to evaluate, which I love. And there's something about putting the model in a position where it can't make changes to the code and it must write a compelling case for what it "wants" to do, that IMHO results in higher quality decisions.
Currently it is really annoying that if I ask a question like "Why in file XYZ is this or that...?" and instead of an explanatory answer I get presented with a code patch diff to accept without any kind explanations.
Currently the answer is to use read only mode! It solves that. But switching read only on and off either requires starting a new session or a command I haven't found yet
This would be a great addition, now that cursor-cli and claude code have developed a comprehensive plan mode, codex seems lacking in this matter.
I proposed a potential high-level architectural plan on how to achieve this in my github issue #4897
Any feedback on this plan mode PR? https://github.com/openai/codex/pull/4961
I used Claude's Plan mode at first, but as I get better at prompting I've found Plan mode less and less useful. Here's my typical planning workflow now:
- "Hey Claude, please research how the codebase handles the case of XYZ. I'd like you to track it through from user input all the way through to the backend server call. Please write your findings in ~/plan.md"
- Then I edit the file to include "# Feature: better handling of XYZ" and I write my goals
- "Hey Claude, please review Feature XYZ in ~/plan.md. I'd like you to come up with a plan for how to execute it. Write your plan at the bottom of the document"
- Then I edit ~/plan.md myself, or do several further rounds with Claude to improve the document, e.g. by inserting acceptance goals for each stage.
- "Hey Claude, please implements parts 1 and 2 of the plan"
I think Plan mode in Claude has two functions, (1) encourage the LLM to think a little deeper without its normal rush to be proactive, (2) give you the human an opportunity to see what it's going to do before it goes ahead.
Claude's Plan mode is only useful for a very narrow range of tasks. It doesn't help with the small tasks where it's fine just diving in. It doesn't help with the larger tasks which need more collaboration on the plan. It only helps with medium-small projects.
I think that every use of Claude's planning can be more effectively done with an ad-hoc ~/plan.md document or similar.
A few nice things I've enjoyed since adopting this ~/plan.md workflow:
- It's easy to start new conversations and have them quickly ramp up with only the essential context needed to do their work (e.g. "Please read sections 1-2 of plan.md")
- It's easy to use concurrent agents, e.g.
codex exec 'Please implement part 1 of plan.md'and in another terminalcodex exec 'Please implement part 2' - You can check the plan in if you realize it's going to take a week, or leave it an ephemeral file if it's only going to take half a day.
- You can annotate sections with "[DONE]" for longer-term TODO tracking that Codex manages with its "item-list plan" or Claude manages with its TodoWrite tool.
- Your plan can seamlessly be used with different agents, e.g. if you want Codex to help build the plan and Sonnet4.5 execute part of it, or if you want one agent to review the plan that another agent has developed.
Incidentally, this ~/plan.md workflow (which I've come to believe is best practice for planning the current generation of LLMs) can't even be done in Claude's plan mode, because it involves writing/editing the plan.md file itself and the LLM won't write it!
Use a smarter model for planning, and a faster/cheaper model for implementation. This is a widely adopted pattern and works well in practice.
IMO, this feature doesn't need justification—it's just a matter of priority.
What planning exactly meaning and what's difference between setting planning during reasoning or using mcp tools like sequetnial thinking?
What planning exactly meaning and what's difference between setting planning during reasoning or using mcp tools like sequetnial thinking?
Its more about UI/UX. In terms of claude code its just a toggle to go in read-only mode. I could imagine that its like a subagent with dedicated prompt and tool selection. CC integrated it very saemless into their UI. You can always switch between them and control what results you want. In plan mode I am conceptual, in act mode I want code snippets. Codex has a read-only mode too (/approvals) but before codex understand my requirements, he provides snippets (that I can accept or deny). Instead I want first to discuss with him and ask question to ensure he got me right. I could add .md files and define my workflow, but the toggle is so much easier and works out of the box. At the end all of them are somehow edditing the prompts before inference, Even your mcp. But I work many hours on a daily basis with both and CC is my favorite since months. I like Codex too, but the UI from CC is superior to Codex CLI. Lets fix that!
I like Claude's plan mode because of its read-only nature.
- I'm confident Claude does the job ? => don't use it
- If I want to double check => plan mode
On top of that it allows me to operate concurrently. Like having 3 terminals on the same project, one Claude is implementing, 2 are planning.
With codex I kind of tell it just analyze, don't change anything.
It works most of the time, but not always. It is annoying to type over and over...
Having 2 subscriptions one for Claude and one for Codex I find me defaulting to Claude more... just because of the plan mode!
Codex Web has a plan mode, can we please just have feature parity and something like this in the local cli?
https://cookbook.openai.com/articles/codex_exec_plans
Any sense of when this might become available?
Just came here to advocate for a Planning Mode. Codex is very gung-ho about changing code and badly needs it. Often I am just asking for its opinion and discussing possibilities and it just goes off and implements. I'm getting tired of typing, "No code changes. Just analyze and explain..." etc, which thank goodness it does usually respect.
This is one of the most heavily-upvoted feature requests for Codex. We have been experimenting with various design ideas. Before we finalize a design, we'd love to get input from the Codex community. I've created a new discussion thread. We hope to hear from you!
let me sum it up: just copy claude code cli.