Have you asked Claude to add one feature, then watched it change more files than you expected? Plan Mode lets you see which files Claude would change, and why, before any of those edits happen. Claude reads the project files, organizes the work, and proposes a plan. You review that plan, then decide whether to implement it.

Take adding due dates to a task list. Is that only a screen change? You may also need to look at where dates are stored and how they are shown. With Plan Mode, you can see the scope Claude considered before it touches the code.

When it helps

Use it when a change spans several files, or when you are new to the project and need to understand the structure first. It also helps when there are two or more ways to implement the work and you want to compare them before choosing.

A typo in a button label, by contrast, is a change whose content and location are already clear. You can ask for the edit directly. Not every task needs a planning step.

1. Start in Plan Mode

In the terminal, move to the project folder and start Claude Code with this command:

claude --permission-mode plan

If you are already in a Claude Code session, press Shift+Tab until the status bar shows plan mode on. That label means planning mode is active.

2. Describe the result and the bounds

The prompt below assumes you are adding due dates to a task-manager app. Use it as written, or adapt it to your own work.

I want to add due dates to the task list.
Do not edit any files yet. Look at the current code and write a plan.

Desired result:
- Each task should accept a due date and show it in the list.
- Existing tasks with no date should still display normally.

Do not change this time:
- Keep login and the overall list design as they are.

Include in the plan:
1. The files to change and why each one needs to change
2. The order of implementation
3. The tests to run afterward and the screens to check

If you need to decide how dates are displayed, ask before implementing.

This is the short request “add due dates,” with the outcome and the bounds added. Calling out that existing tasks should still display correctly asks Claude to plan not only the new feature, but also how to keep current behavior intact.

3. Read the plan, revise what is missing, then approve

When Claude proposes a plan, check these three things:

  • Scope: Is it trying to change login or the overall design, which have nothing to do with due dates?
  • Missing cases: Does it handle tasks with no date? Is there a way to show a saved date correctly when you open the task again?
  • How you will check: Does it say which tests to run after implementation, and which screens to look at?

If something is missing, do not approve yet. Ask for a revision, for example: “Add how you will handle existing items that have no date.” To keep refining the plan, choose keep planning on the approval screen.

When the plan looks right, approve it so implementation can start. After the edits are done, check the actual changes and the test results. A good plan does not, by itself, mean the code works.

Plan Mode can still run the commands it needs to inspect the code. Treat it as a review of scope before any files are edited, not as a notes screen.

Sources