Plan mode separates exploration from execution: Claude reads and drafts a plan but makes no edits until you approve. Enable with Shift+Tab mid-session or claude --permission-mode plan at startup. Edit the plan with Ctrl+G before proceeding.
Rule
| Use plan mode | Skip it |
|---|---|
| Approach is uncertain | Fixing a typo or adding a log line |
| Change spans multiple files | Renaming a single variable |
| Unfamiliar codebase | Scope and fix are already clear |
Anthropic’s loop: explore → plan → implement → commit. If you can describe the diff in one sentence, skip the plan - the overhead is not worth it.
What the harness actually enforces
The plan is a markdown file in Claude Code’s plans folder. Read-only behavior is prompt reinforcement, not a hard lockdown. For a hard guarantee, add the PreToolUse hook or climb the sandbox ladder. After implement, still verify before done.
Full playbook: Claude Code plan mode.