/goal command will edit files directly with plan mode on
Open 💬 7 comments Opened May 7, 2026 by CeitherNSW
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
What version of Codex CLI is running?
codex-cli 0.128.0
What subscription do you have?
plus
Which model were you using?
gpt-5.5
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 x64
What terminal emulator and version are you using (if applicable)?
Windows Terminal PowerShell
What issue are you seeing?
when I let codex to make a develop plan of some features with /goal command and plan mode on, codex not give me the final plan but edit files directly maybe following its plan
What steps can reproduce the bug?
⚠ Under-development features enabled: goals. Under-development features are incomplete and may behave unpredictably.
To suppress this warning, set `suppress_unstable_features_warning = true` in C:\Users\54083\.codex\config.toml.
• Model changed to gpt-5.5 xhigh
• Model changed to gpt-5.5 medium for Plan mode.
• Model changed to gpt-5.5 xhigh for Default mode.
• Model changed to gpt-5.5 medium for Plan mode.
• Goal active Objective: The current coder may encounter non-fatal issues such as high cyclomatic complexity when generating code. Provide solutions for potential similar issues.
• I will now start modifying the file: ReviewerAgent will add a new output of quality_recommendations and include medium/low/info coder-owned advisories
Enter feedback_for_coder; the coder prompt will add a new section with explicit complexity and nesting control requirements.
What is the expected behavior?
Plan mode should have higher priority than other features, which means when plan mode is on, even /goal command should not edit files directly.
Additional information
_No response_
7 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
not a duplicated issue
Maybe it is a "bypass mode" in other words lol
Thanks for reporting. Yes, there are known issues with goal mode and plan mode. They aren't intended to be used together. The intended design is for the goal to be suspended until after you exit plan mode. I'll work on a fix.
@CeitherNSW, I'm not able to repro this with the latest version (0.130.0). Perhaps I'm missing a critical step. Can you provide steps you used to repro the problem?
I found a related repro on
codex-cli 0.130.0that may explain why this feels broken from the user side.This looks less like "Plan mode edits files" and more like: once a goal is active, goal continuation can start a default-mode turn before a client/user can successfully enter Plan mode. A subsequent Plan request then appears to be incorporated into the active goal turn, not started as a real Plan-mode turn.
Environment
codex-cli 0.130.0codex app-server --listen stdio:// --enable goalsgoals = truethread/start,thread/goal/set, thenturn/startRepro shape
thread/start.thread/goal/set:``
text
``Plan a tiny README section for a fictional local tool named GoalPlanProbe.
The plan should mention GoalPlanProbe exactly once.
Do not edit files during planning.
turn/startrequest that asks for Plan mode:``
json
``{
"collaborationMode": {
"mode": "plan",
"settings": {
"model": "gpt-5.4-mini",
"reasoning_effort": "low",
"developer_instructions": null
}
},
"input": [
{
"type": "text",
"text": "Make a plan for the current active goal. I am intentionally not restating the goal text in this message. Do not run commands or edit files."
}
]
}
Observed behavior
The persisted rollout for the resulting turn shows:
The same turn also contains the goal-continuation developer message:
The user message asking for a plan is included in that default-mode goal turn. The assistant then produced a
<proposed_plan>-looking answer, calledupdate_goal, and the goal changed fromactivetocomplete.Final assistant text included:
Why I think this is confusing
In #20656, @etraut-openai said:
That policy makes sense. But from the client/user perspective, the current behavior can still feel like Plan mode is broken around an active goal:
Expected behavior / question
Is this the intended app-server/client contract?
If an active goal turn is already running and the client asks for Plan mode, I would expect one of these clearer outcomes:
At minimum, it would help if the UI/protocol made clear that the user is still in default goal execution, not Plan mode.
@etraut-openai I just reproed it in ``
0.132`` the newest version I think. And the method is still:/goal`` and my promptalso , I will provide the output of the whole process