Plan before you build
Why breaking work into steps beats one giant prompt, and how Claude Code Plan mode keeps source edits blocked until approval.
You can get a long way by prompting step by step and fixing what comes back. That is a valid workflow, especially for small changes.
For bigger or fuzzier goals, it often pays to plan first: break the problem into smaller tasks, order them, and tackle them one at a time. That keeps each round of context narrower, reduces thrash, and usually improves quality because the model is not trying to invent, edit, and verify everything at once.
Plan mode in Claude Code is the product feature that matches that habit: explore and design without letting the agent edit source files until you approve the plan and choose a different permission mode.
Why smaller tasks help
- Focus: Each prompt targets one slice (schema, one API, one screen), so answers are easier to review.
- Less drift: Big prompts invite big diffs; sequences of small prompts are easier to steer.
- Clearer stop points: You can run tests or commit between tasks instead of after a megachange.
You do not need a formal spec for every tweak. Use judgment: if the task feels ambiguous or multi-file, sketch a short plan (in your head, on paper, or with the agent in Plan mode) before you let tools loose.
Plan mode in Claude Code
Anthropic documents permission modes in Configure permissions. In that table, plan means Plan mode:
Plan mode: Claude can analyze but not modify source files. When auto mode is available and
useAutoModeDuringPlanis enabled (the default), the classifier may approve shell commands used for research; otherwise commands outside the built-in read-only set still require approval.
So Claude can read the codebase, search, reason about structure, and run approved exploratory commands, but source edits stay blocked until you approve the plan.
That matches the workshop idea above: agree on a plan and a task breakdown first, then switch back to normal work to implement.
Ways to use Plan mode
These behaviors are described across Anthropic’s permissions docs and the Claude Code docs:
Start a session in Plan mode (terminal):
claude --permission-mode planUse this when you want the first interaction to stay exploratory.
Switch mode during a session.
You can cycle permission modes with Shift+Tab or prefix a prompt with
/plan. That lets you move into Plan mode when you realize you need a plan,
without restarting.
Default mode in settings.
The permissions doc explains setting defaultMode in your settings files so new sessions start in the mode you prefer (for plan-first workflows, that can be plan when you want it project-wide). See the same Configure permissions page for how defaultMode fits with allow, ask, and deny rules.
For deeper comparisons of default, acceptEdits, plan, auto, dontAsk, and bypassPermissions, read Permission modes (linked from the permissions doc).
Suggested workflow
Enable Plan mode (/plan, the CLI flag, Shift+Tab, or defaultMode if that matches how you work).
Ask Claude to outline steps, risks, and files likely touched for your goal. Refine until the plan fits your team’s bar.
Leave Plan mode (cycle to default or acceptEdits, or start a new session without plan) when you are ready to implement.
Execute one task at a time from the plan. A markdown plan with checkboxes in the repo is one way to track progress so the next session can pick up with a smaller, clearer slice of context.
Example prompt (Plan mode)
Stay in plan mode: no source-file writes. Use shell commands only for read-only
research, and ask before any command with side effects.
Goal: add server-side pagination to the products list API and wire the existing table UI to it.
Deliver: (1) files likely touched, (2) proposed query params and response shape, (3) ordered implementation steps with risks, (4) how you would test. Ask at most two clarifying questions if something essential is ambiguous.Demo build: pick your capstone
30 to 35 minute build. Choose a dashboard or marketing path, run phased prompts, then polish using path-specific tips.
Plans in markdown
Keep your task breakdown in a markdown file for a clear picture of the work, and use checkboxes Claude can update as it implements so sessions resume cleanly.