References: Best Practices · Model Configuration
Plan Mode lets Claude explore and reason without modifying files or running commands. Toggle it with Ctrl+G or set defaultMode: "plan" in settings.json.
Recommended four-phase workflow:
- Explore (Plan Mode) — Claude reads files and understands the codebase
- Plan (Plan Mode) — Claude produces a detailed implementation plan; press
Ctrl+Gto open and edit it before proceeding - Implement (Normal Mode) — Claude codes and verifies against the plan
- Commit (Normal Mode) — Claude stages, writes a commit message, and opens a PR
Skip planning for small, well-scoped changes. Plan mode is most valuable when the task touches multiple files or you're uncertain about the approach.
Effort levels control how much reasoning Claude applies before responding. Four levels are available: low, medium, high, max.
| Level | When to use |
|---|---|
low |
Simple tasks, quick feedback loops |
medium |
Default — most coding tasks |
high |
Complex debugging, architectural decisions |
max |
Deepest reasoning; Opus 4.6 only, does not persist |
- Adjust during a session with
/effort [level]or via/model(effort slider) - Set permanently with
CLAUDE_CODE_EFFORT_LEVEL=low|medium|high - Or configure
effortLevelinsettings.json - One-off deep reasoning: include "ultrathink" in your prompt for that turn only
Supported on Opus 4.6 and Sonnet 4.6 (max is Opus 4.6 only). Opus 4.6 defaults to medium for Max and Team subscribers.
A hybrid model mode that automatically switches models based on phase:
| Phase | Model used |
|---|---|
| Plan Mode active | Opus (deep reasoning) |
| Execution (normal) mode | Sonnet (fast generation) |
Enable it with /model opusplan or set "model": "opusplan" in settings.json.
For large, underspecified features, ask Claude to gather requirements before planning:
I want to build [brief description]. Interview me in detail using the AskUserQuestion tool.
Ask about technical implementation, UI/UX, edge cases, and tradeoffs.
When done, write a complete spec to SPEC.md.
Then start a fresh session to implement from the spec, keeping context clean.