# Plan mode ## Start with a question Choose **Plan** from the chat composer's mode picker. Describe the outcome, constraints, and what needs deciding. Include the relevant files or project context. For example: > Investigate how sign-in works. Propose the smallest change that adds a retry state. > Identify affected files, risks, and tests. Save the plan; do not implement it yet. ## What Plan can do Plan has read-only investigation tools plus file-writing tools intended for Markdown plans. These writes still pass through approval handling. It can save a plan such as `PLAN.md` or `docs/plans/sign-in-retry.md`. Non-trivial plans can open in a rendered preview alongside chat. Plan is not a promise that nothing is written: plan documents and memory can be updated. Source-code changes and terminal execution belong in an implementation mode. Delegated work in Plan uses the read-only research profile. ## Review before implementation A useful plan names the files involved, explains alternatives, identifies risks, and defines how the result will be tested. Read the saved document and correct assumptions. Then explicitly switch to **Agent** and ask it to implement the approved plan. A saved plan is not an executed change. Check the actual diff and test results afterward. See [Modes](/editor/modes), [Debug](/editor/debug-mode), and [Subagents](/editor/subagents).