codex icon indicating copy to clipboard operation
codex copied to clipboard

Plan Mode

Open aehlke opened this issue 4 months ago • 29 comments

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.

aehlke avatar Aug 09 '25 22:08 aehlke

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.

raiaman15 avatar Aug 10 '25 06:08 raiaman15

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.

BlazedToad avatar Aug 12 '25 12:08 BlazedToad

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.

cadamsdotcom avatar Aug 18 '25 04:08 cadamsdotcom

@bolinfest does anyone even read these?

cadamsdotcom avatar Aug 20 '25 01:08 cadamsdotcom

@cadamsdotcom we have a bit of a backog right now

bolinfest avatar Aug 20 '25 16:08 bolinfest

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!

cadamsdotcom avatar Aug 21 '25 22:08 cadamsdotcom

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?

NightMachinery avatar Sep 18 '25 21:09 NightMachinery

What's the "other" tool?

Claude Code.

aehlke avatar Sep 18 '25 22:09 aehlke

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.

brndnmtthws avatar Sep 19 '25 15:09 brndnmtthws

@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?

cadamsdotcom avatar Sep 21 '25 02:09 cadamsdotcom

bump

dewijones92 avatar Sep 21 '25 14:09 dewijones92

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.

Hansehart avatar Oct 04 '25 16:10 Hansehart

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.

nfarina avatar Oct 04 '25 19:10 nfarina

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.

sebthom avatar Oct 04 '25 19:10 sebthom

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

aehlke avatar Oct 05 '25 03:10 aehlke

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.

Prakyathkantharaju avatar Oct 06 '25 13:10 Prakyathkantharaju

I proposed a potential high-level architectural plan on how to achieve this in my github issue #4897

coygeek avatar Oct 08 '25 03:10 coygeek

Any feedback on this plan mode PR? https://github.com/openai/codex/pull/4961

bhack avatar Oct 12 '25 10:10 bhack

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:

  1. "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"
  2. Then I edit the file to include "# Feature: better handling of XYZ" and I write my goals
  3. "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"
  4. 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.
  5. "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:

  1. 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")
  2. It's easy to use concurrent agents, e.g. codex exec 'Please implement part 1 of plan.md' and in another terminal codex exec 'Please implement part 2'
  3. 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.
  4. 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.
  5. 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!

ljw1004 avatar Oct 13 '25 19:10 ljw1004

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.

isbee avatar Oct 17 '25 01:10 isbee

What planning exactly meaning and what's difference between setting planning during reasoning or using mcp tools like sequetnial thinking?

dante01yoon avatar Oct 17 '25 12:10 dante01yoon

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!

Hansehart avatar Oct 17 '25 12:10 Hansehart

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!

jzillmann avatar Oct 25 '25 02:10 jzillmann

Codex Web has a plan mode, can we please just have feature parity and something like this in the local cli?

Image

diwu-sf avatar Oct 28 '25 04:10 diwu-sf

https://cookbook.openai.com/articles/codex_exec_plans

tiann avatar Nov 19 '25 09:11 tiann

Any sense of when this might become available?

blackirishmec avatar Nov 19 '25 21:11 blackirishmec

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.

joshwhiton avatar Nov 21 '25 20:11 joshwhiton

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!

etraut-openai avatar Nov 27 '25 22:11 etraut-openai

let me sum it up: just copy claude code cli.

shezhangzhang avatar Dec 01 '25 08:12 shezhangzhang