"Disable Automatic Self-Proposal in Planning Mode"

Status Fixed / completed
Maintainer reply ✓ Yes — bcherny
Activity 15 comments · opened Jun 12, 2025 · closed Aug 22, 2025
💡 Likely answer: A maintainer (bcherny, collaborator) responded on this thread — see the highlighted reply below.

Bug Description
i really don't like the new change where it self-proposes what to do when i start in planning mode\
\
i want to be in plan mode! i want to ask it follow up questions. i want to decide myself when to start coding\
\
please revert this, or make it turn-off-able in the settings

Environment Info

  • Platform: macos
  • Terminal: cursor
  • Version: 1.0.21
  • Feedback ID: 5f8f777f-13c9-4523-91eb-9e4d580f527a

Errors

[{"error":"Error: Invalid managed settings: [\n  {\n    \"code\": \"invalid_type\",\n    \"expected\": \"object\",\n    \"received\": \"null\",\n    \"path\": [],\n    \"message\": \"Expected object, received null\"\n  }\n]\n    at Os9 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:356)\n    at Xz (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:995)\n    at C8 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:1336)\n    at uB0.appendEntry (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:582:25105)\n    at uB0.insertMessageChain (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:582:25046)\n    at C71 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:583:1693)\n    at file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:1910:1878\n    at QI (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:144:21374)\n    at JY (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:144:40861)\n    at dW (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:144:34915)","timestamp":"2025-06-12T18:12:38.072Z"},{"error":"Error: Invalid managed settings: [\n  {\n    \"code\": \"invalid_type\",\n    \"expected\": \"object\",\n    \"received\": \"null\",\n    \"path\": [],\n    \"message\": \"Expected object, received null\"\n  }\n]\n    at Os9 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:356)\n    at Xz (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:995)\n    at C8 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:1336)\n    at uB0.appendEntry (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:582:25105)\n    at uB0.insertMessageChain (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:582:25046)\n    at C71 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:583:1693)\n    at file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:1910:1878\n    at QI (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:144:21374)\n    at JY (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:144:40861)\n    at dW (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:144:34915)","timestamp":"2025-06-12T18:12:38.072Z"},{"error":"Error: Invalid managed settings: [\n  {\n    \"code\": \"invalid_type\",\n    \"expected\": \"object\",\n    \"received\": \"null\",\n    \"path\": [],\n    \"message\": \"Expected object, received null\"\n  }\n]\n    at Os9 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:356)\n    at Xz (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:995)\n    at C8 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:1336)\n    at uB0.appendEntry (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:582:25105)\n    at uB0.insertMessageChain (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:582:25046)\n    at C71 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:583:1693)\n    at file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:1910:1878\n    at QI (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:144:21374)\n    at JY (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:144:40861)\n    at dW (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:144:34915)","timestamp":"2025-06-12T18:12:38.072Z"},{"error":"Error: Invalid managed settings: [\n  {\n    \"code\": \"invalid_type\",\n    \"expected\": \"object\",\n    \"received\": \"null\",\n    \"path\": [],\n    \"message\": \"Expected object, received null\"\n  }\n]\n    at Os9 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:356)\n    at Xz (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:995)\n    at C8 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:578:1336)\n    a

Note: Error logs were truncated.

View original on GitHub ↗

15 Comments

bcherny collaborator · 1 year ago

Hey, thanks for the feedback! Leaving this open for input from others.

mic22 · 1 year ago

It is useless in this form, indeed. Once a plan is generated and a proposal to execute it is not accepted, the todos list is not updated and the plan is discarded.

mic22 · 1 year ago

The previous ability to plan, refine, and then decide when to proceed with coding was a game-changer. It gave a real sense of control over the results. Now, it's confusing... it seems to ignore important parts of the original prompt, and there's no way to correct it like before, which makes claude code feel more like an intruder than a helper.

abatilo · 1 year ago

I appreciate the UI change that highlights the plan. That was my only complaint from before, is that I'd scroll up and sometimes go too far up. I agree with the others though that this UX of the yes/no feels much more clunky compared to what the plan mode used to be.

baronem · 1 year ago

For me the original planning mode was much more useful. A big part of why I enter planning mode is specifically to avoid being prompted with confirmation dialogs. I don't know if other people's workflows are similar, but the way in which I want to use planning mode is:

  • Enter planning mode
  • Discuss the problem i want to solve / what I want to implement
  • Prompt claude to make a plan
  • Iterate on that plan with claude
  • Switch over to normal/code mode and have claude execute the plan

It's also fairly common for me to not even ask for a plan. Often I'll using planning mode as more of a discussion/scratch pad to enrich the context.

Personally I'd love a planning mode more in line with this workflow. But if that's not possible, some sort of configuration to turn off this auto-propose feature would be great.

msageryd · 1 year ago

I would like to be in control of the plan mode. Whats the purpose to let me choose otherwise? When I say "plan mode" I would expect it to stay that way. Claude is nagging to leave plan mode as if he was a child. I have to tell him "no, this is not the time to leave plan mode, I'll tell you when we are done planning".

max-sixty · 1 year ago

I just started using it and I'm very close to really liking it. getting a "hey this is what I'm about to do! ok?" is great

_but_ it seems to have a fatal flaw; it can't be edited at all — if it proposes 5 items and I hit esc to say "just focus on 1-4", it seems to totally lose the context of the previous plan it made

it seems I even need to copypaste the original into the prompt to get it working on those items (small sample size)

that makes the workflow that @baronem describes impossible, and means I don't use it

---

fwiw I'm not sure this really needs to be a _mode_, as opposed to an option of how the app engages with you when it prefes to confirm a path forwards. but no objection if folks like modes

AnhQuanTrl · 1 year ago

This change make plan mode so frustrating to use. Please allow us to disable the nagging.

If I want Claude Code to plan one time before coding, I would just prompt it instead.

IMO, plan mode should be there to allow us to control the planning phase and iterate on it.

msageryd · 1 year ago

I would like to add:
The previous plan mode, i.e. the real plan mode, somehow was more connected to the context. I could discuss the plan with Claude and refine it until it was a great plan.

The new concept where Claude nags about to get on with the coding is much worse in this regard. I most often press 2 to further discuss or change the plan, but often Claude just puts up a similar plan again and asks if he can start coding. IMO this is really bad compared to previous versions.

arosemena · 1 year ago

I really hate the prompt to proceed, there should be a way to disable this in favor of just showing the plan and keep iterating without constantly having to say no and claude code inserting "User rejected Claude's Plan", no, I did not reject it, I just want to keep adding things to it. expecting plans to be ready one shot is not good DX if you know what you're doing.

mic22 · 1 year ago

Another issue related to the new (worse) plan mode is Claude proposing a plan with several implementation steps, like 5, and once told to proceed, a different number of some other roughly related implementation steps show up in the updates todos list, which is frustrating as hell. It wasn't a case in the original (real) plan mode where a user had total control over updates todos.

emanuelturis · 1 year ago

+1 this. It's much better to be able to continue iterating on the plan, rather than hoping it's right the first time.

kushal-thakkar · 1 year ago
ollie-anthropic collaborator · 1 year ago

Closing as it's a duplicate of https://github.com/anthropics/claude-code/issues/5787, but thanks for the feedback

github-actions[bot] · 12 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.