What is Plan Mode
Plan Mode is Claude Codeβs βlook but donβt touchβ mode. In Plan Mode, Claude can read, search, analyze, and propose approaches, while restricting implementation changes and state-changing commands. It can write its designated plan artifact.
/plan # Enter Plan ModeShift+Tab # Cycle available permission modesApprove the plan # Exit and move to executionWhy it changes everything
Planning gives you an opportunity to review scope, dependencies and acceptance criteria before implementation. It does not guarantee a correct first attempt.
Claude explores the codebase without pressure to act. It identifies hidden dependencies, secondary impacts, edge cases. The resulting plan is more solid than what Claude would produce in reactive mode.
What plan mode allows
- Reading files and exploring the codebase
- Architecture and dependency analysis
- Proposing approaches and action plans
- Writing its designated plan file
What it prohibits:
- Editing implementation files
- Creating arbitrary project files
- Executing state-changing commands
- Git commits
When to use it
| Situation | Plan Mode? |
|---|---|
| Exploring an unfamiliar codebase | Yes |
| Feature touching 3+ files | Yes |
| Significant refactoring | Yes |
| Typo fix or simple rename | No |
| Quick edit on a known file | No |
Plan-validate-execute pattern
1. /plan Claude explores and proposes a structured plan
2. Review the plan Modify, refine, validate the steps
3. Approve the plan (or Shift+Tab to leave without approving) Supervised execution of the approved planReview the plan to catch scope, dependency and acceptance-criteria mistakes before implementation. The benefit depends on the task and the quality of the review.
Auto plan mode
An --append-system-prompt instruction can request a plan before each action. It is not a permission boundary; use Plan Mode and tool permissions for enforced restrictions:
# Practical aliasalias claude-safe='claude --append-system-prompt \ "Before executing ANY tool, present a plan and wait for approval."'Validate the plan before execution and measure total tokens, retries and accepted results on your own tasks. This workflow has no established universal savings rate.
Integration with agents
Set permissionMode: plan in a custom agentβs frontmatter for planning. A planner can pass a saved plan to an implementation agent; choose each model explicitly and keep file ownership separate.
Enter your email to read the full card and get the complete PDF bundle.
All content is free and open-source. We just ask for your email.