I am using Codex in VS Code on Ubuntu. I specificially have it set to “chat” and NOT “agent” so It can read files and make suggestions. Instead, Codex is editing and changing files when in chat mode and I specifically even say do not edit the files.
I know your pain.
Note: I do not use Codex but do use other coding tools so can not give a direct specific answer.
While Chat and Agent are different, I have not seen any documentation that notes Chat will refrain from preforming state modifying actions. See reply by vb.
In another coding tool I use daily, there is a “Plan mode” which does not perform state modifying actions other than to create the plan as a markdown file often with enough detail at times that one can manually execute the plan. After the plan is created there are options to execute the plan approving edits, or to just execute the plan with little to no user interaction, or enter a follow up prompt.
I have not checked if that has been recommended as a feature (issues) for codex but worth looking and asking if desired.
There is a request for Codex to have a “Plan mode”
(ref)
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!
Looking at the documentation for approval modes, I see this as a bug because chat-mode is described as follows:
When you just want to chat, or if you want to plan before diving in, you can switch to Chat with the switcher under the extension chat input.
Chatting about code is very different from planning future development, IMO, and discussing a project and it’s details should not trigger immediate changes.
Thats my thoughts to. I was assuming the chat is like the plan mode and the agent mode is something that I would use to accept edits and the full access is auto approve mode.
Yes, and I have raised this with the team.
I am not sure what to expect now that a second branch for deliberate planning is already in the works.
In thinking over that question in the last few days, the one thing that keeps surfacing is that a Plan results in a written document that can be read as needed.
In some ways people where realizing the limitations of the context window size and realized that if they had a separate document holding the information and gave an LLM ways to access and quickly find the info, it would be of value. As the developers needed the same with multifile projects, the tools and thoughts developed together. Thus at present we have plans that survive beyond the LLM instead of info in the context window that is lost, even in the same conversation over time.
That is just my thinking. ![]()
Make a tribute to OpenAI’s #bio tool for memories and then planning. It might have methods like “create plan” or “update plan item.” Inject the plan text into context (whenever you have control). The AI could follow this little database. Another AI could observe the placed context and outputs beside the codex chat, or be tasked with solely progress updates. Of course, you discard the idea of using your ChatGPT subscription.
Current plan being executed
Goal: port complete code base at the root workspace
__init__.pyto OpenAI Chat Completions.Steps I’ve outlined
- Verify parameters, shape, compatibility with task - status:done
- Retrieve code base files individually and discover OpenAI API usage - status:done
- notes: I found gemini_utils.py to be making calls using the Google generative AI SDK
- notes: a full refactor will be needed
- notes: I should investigate if higher-level code shall have ownership of new parameters for provider-switching
- Patch code - status:in_progress
- looks like 'chat_inference() and chat_truncate() are my targets
- I’m planning the best OpenAI endpoint to replicate chat_truncate() features…
- Inspect the entire code base for cohesiveness - status:todo
The difference between “developer” and “product consumer”.
Codex Web already includes a planning feature that generates executable sub-tasks.
From the conversation you linked, this new approach seems different from what we have today, which is why I said I’m not sure.
It also adds to the confusion that chat mode is described as a planning tool even though it currently executes tasks as well.
Its to the point where theres no use in continuing a subscription. Lets face it claude code has this even other tools like Cline for VS code has a plan and act mode. That has been around for months if not over a year.
Not too mention the behaviour of Chat GTP is rediculous, it doesn’t even follow what I tell it.
There is stories of peoples whole hard drives being deleted and if it cannot follow basic instructions why should I trust it?