Claude Code plan mode: how to enter, approve and edit
Plan mode makes Claude research and propose changes without editing your source: it reads files, runs shell commands to explore and writes a plan, and edits stay blocked until you approve. Enter it with Shift+Tab, a /plan prefix on one prompt, or claude --permission-mode plan.
Entering and leaving plan mode
During a session, press Shift+Tab to cycle permission modes until the status bar shows plan mode on. Press it again to leave without approving a plan. To plan a single request, prefix that prompt with /plan.
To start one session in plan mode, run claude --permission-mode plan. To make plan mode the default for a project's terminal sessions, set defaultMode to plan in .claude/settings.json. The VS Code extension does not read project settings for the starting mode; set claudeCode.initialPermissionMode to plan in your VS Code user settings there.
What plan mode does not block
Plan mode stops Claude editing files. It does not stop shell commands used for exploring. When auto mode is available and useAutoModeDuringPlan is on, which is the default, a classifier reviews those commands instead of prompting you. Otherwise, commands outside the built-in read-only set prompt for approval. A command that writes files, such as a codegen script, can still write if it is approved.
In interactive terminal sessions with bypass permissions available, plan mode's blocks are not enforced. Claude is told to plan, but an edit it attempts runs without a prompt.
Approving the plan
When the plan is ready you choose: Yes, and use auto mode (it reads Yes, auto-accept edits if auto mode is unavailable); Yes, manually approve edits, to review each edit; or No, keep planning, to stay in plan mode and say what to change.
Press Ctrl+G to open the plan in your default text editor and change it yourself before Claude proceeds. Approving exits plan mode and switches to the mode you picked. With showClearContextOnPlanAccept enabled, a first option approves the plan and clears the planning context.
Where the exam catches people
Plan mode is not a read-only filesystem; approved shell commands run during planning and can write files.
Setting defaultMode in .claude/settings.json changes every terminal session in the project; --permission-mode plan affects only that launch.
No, keep planning does not open an editor; Ctrl+G does.
Approving a plan ends plan mode; to plan the next task you must re-enter it with Shift+Tab or /plan.