[FEATURE] Make EnterPlanMode auto-invocation configurable (allow disabling)
Problem Statement
Claude Code's EnterPlanMode tool is called proactively by the model even when the user didn't ask for it. The system prompt instructs the model to "Use this tool proactively when you're about to start a non-trivial implementation task" - but there's no user-facing setting to disable this.
This is a problem for users who:
- Have their own planning workflows (custom skills, brainstorming tools, design doc processes)
- Never use native plan mode and don't want it auto-triggered
- Want the model to just execute when told to implement something
What happens:
- User says "implement these features" with detailed context already established
- Model auto-calls
EnterPlanModeinstead of executing - Session enters read-only mode - no edits possible
- User has to exit plan mode and re-prompt, losing flow
This is not about controlling when plan mode activates - it's about being able to completely opt out of auto-invocation for users who have alternative planning workflows.
Proposed Solution
Add a configuration option to disable EnterPlanMode auto-invocation:
{
"disableAutoPlanMode": true
}
When set, the model should never proactively call EnterPlanMode. The /plan command could still work for users who explicitly want it, but the model would never trigger it on its own.
Alternative Solutions
- CLAUDE.md rule ("NEVER auto-switch to plan mode") - works most of the time but the system prompt instruction still overrides it occasionally since system prompt takes priority
- PreToolUse hook blocking
EnterPlanMode- blocks it always, including when explicitly requested via/plan, since hooks can't distinguish user-initiated vs auto-triggered tool calls - There is currently no
/configor settings option to control this - plan mode is purely command-based with no toggle for the auto-invocation behavior
Priority
High - Significant impact on productivity
Feature Category
Configuration and settings
Use Case Example
User has custom planning skills (brainstorming, design docs, cross-LLM audits) that replace native plan mode entirely. They never want EnterPlanMode called. But mid-conversation, after establishing extensive context about features to implement, the model auto-switches to plan mode. User has to reject it, exit, and repeat themselves. This happens repeatedly across sessions despite CLAUDE.md instructions saying not to.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗