Claude Code Plan Mode is a permission mode that tells Claude to read the project files and propose a plan without editing source. You review that plan, then decide whether to implement it. Edits stay blocked until you approve, except in interactive terminal sessions with bypass permissions available, where plan mode’s blocks are not enforced. The sample prompt below asks for the files, why each one changes, the order, and the checks.

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 to cycle permission modes until the status bar shows plan mode on. Stop there: another press leaves plan mode without approving a plan. From the prompt, you can also enter plan mode with /plan, optionally followed by a description, for example /plan fix the auth bug.

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.

Leave login and the overall list design unchanged.

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 No, keep planning on the approval screen. Press Ctrl+G to open the proposed plan in your default text editor and edit it before you continue.

When the plan looks right, choose how implementation should start. Yes, manually approve edits approves the plan and reviews each edit individually. Yes, and use auto mode approves and starts in auto mode. If auto mode is unavailable, that option reads Yes, auto-accept edits. If bypass permissions are already enabled, it reads Yes, and switch to BYPASS PERMISSIONS (no further prompts) for this session. Approving exits plan mode and switches the session to the permission mode that option describes. 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 commands to inspect the repo. Commands outside the read-only set may prompt, or be reviewed by the classifier when auto mode is available during planning. Claude does not edit source while planning, and edits stay blocked until you approve, except in interactive terminal sessions with bypass permissions available, where plan mode’s blocks are not enforced.

Sources