<!-- Markdown mirror. Canonical: https://empryo.com/docs/recipes/plan-mode -->

# Plan before you code

> Use Empryo's plan mode for changes across many files: the agent researches first, writes a plan for you to review, and waits for your approval before editing.

For a change that touches more than two or three files, ask for a plan first. In plan mode the agent researches your code and is told not to change it. It writes a plan, waits for you to review it, and only starts editing after you approve.

Plan mode keeps every tool, so research can run `git log` or a script. Not editing is an instruction to the agent, not a lock: the usual approval prompts for destructive shell commands and for writes outside the project still apply.

## Start a plan

Give the task straight to `/plan`:

```
/plan refactor the auth module to use JWT refresh tokens
```

Or turn plan mode on, then describe the task as a normal message:

```
/plan
```

`/plan` with no task turns plan mode on or off. `/session plan` does the same, and `/mode plan` switches the mode directly.

## Review the plan

When the plan is ready, Empryo shows it and asks what to do:

- **Implement**: the agent starts carrying out the plan, step by step. Progress shows next to the chat.
- **Clear & Implement**: the same, but the research conversation is cleared first, so the agent starts with only the plan. Useful when the research used a lot of context.
- **Revise**: type what should change, and the agent rewrites the plan.

In the terminal app, `/plan open` opens the plan workspace, where you can see the steps, the full document, the files in scope, and your feedback.

## Light and full plans

- **Light plan**: a checklist of steps, files, and notes. Quick to write, and the agent reads the files again as it works.
- **Full plan**: includes code snippets and before/after diffs, so it stands on its own. Takes longer, but is safer for large refactors.

The agent chooses based on the task. To choose yourself, say so in the prompt, for example "make a detailed plan".

## When to use it

For a small fix, a plan is extra work. For a change across many files, a plan lets you catch a wrong approach before any file changes, which is cheaper than undoing a long editing session.

## Plans are saved

Plans are saved in your project under `.empryo/plans/`, so they are still there after a restart.
