Where Are Claude Code Plans Stored? (Plan Mode Explained)

Claude Code saves the plans it writes in plan mode as Markdown files in the ~/.claude/plans/ folder. You can store them in your project instead by setting plansDirectory in your settings file.

If you’ve never used plan mode, the folder may not exist yet. Claude Code only creates it when it writes its first plan.

This article explains where plans are saved, how to change the location, how long they’re kept, and how plan mode works.

The default plans folder

Here’s where plans are saved on each operating system:

OSLocation
macOS/Users/<you>/.claude/plans/
Linux / WSL/home/<you>/.claude/plans/
WindowsC:\Users\<you>\.claude\plans\

Each plan is a separate Markdown file with a randomly generated three-word name. For example, my first plan was saved as:

~/.claude/plans/lucky-percolating-quiche.md

The file name doesn’t describe the plan, so open the file to see what’s inside. It starts with a # Plan: heading followed by the plan itself, and you can read it in any text editor.

To see your saved plans on macOS or Linux, sorted from newest to oldest:

ls -lt ~/.claude/plans

How to save plans in your project

Plans in ~/.claude/plans/ are mixed together from all your projects. If you’d rather keep each project’s plans with its code, set plansDirectory in the project’s .claude/settings.json:

{
  "plansDirectory": "./plans"
}

The path is relative to the project root, so this saves plans to a plans folder at the top of your project. You can then commit them to git and review them with your team.

There are two cases where Claude Code ignores this setting and falls back to ~/.claude/plans/:

  • The path points outside the project, such as "../plans"
  • The path uses a backslash on macOS, Linux, or WSL, such as "docs\\plans". Write "docs/plans" instead, which also works on Windows

If you’re not sure which settings file to use, see where is the Claude Code settings.json file.

How long are plans kept?

Plans in the default folder are deleted automatically along with other old session data. By default, that’s after 30 days.

You can change this with the cleanupPeriodDays setting. For example, to keep them for 90 days:

{
  "cleanupPeriodDays": 90
}

If you want to keep a plan permanently, save it to your project with plansDirectory, or copy the file somewhere else.

What is plan mode?

Plan mode tells Claude to research and propose changes without making them. In plan mode, Claude can read files and run commands to explore your code, but it won’t edit your source files until you approve the plan.

It’s useful for bigger changes, where you want to check Claude’s approach before it starts editing.

How to turn on plan mode

There are three ways to start plan mode:

  • Press Shift+Tab during a session to cycle through the modes until the status bar shows ⏸ plan mode on
  • Start a single prompt with /plan
  • Start Claude Code in plan mode from the terminal:
claude --permission-mode plan

Press Shift+Tab again to leave plan mode without approving anything.

How to approve or edit a plan

When the plan is ready, Claude shows it and asks how to continue. You can:

  • Approve and use auto mode, so Claude starts making changes without asking each time
  • Approve and review each edit, so you confirm every change
  • Keep planning, and tell Claude what to change in the plan

To edit the plan yourself before approving it, press Ctrl+G. This opens the plan in your default text editor.

How to make plan mode the default

If you want every session in a project to start in plan mode, add this to the project’s .claude/settings.json:

{
  "permissions": {
    "defaultMode": "plan"
  }
}

Conclusion

Claude Code saves plans in ~/.claude/plans/ by default and deletes them after 30 days. Set plansDirectory to keep them in your project instead.

To see where Claude Code keeps your full conversations, read where Claude Code sessions are stored.