> ## Documentation Index
> Fetch the complete documentation index at: https://docs.strawberrybrowser.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Plans and todos

> Use Strawberry's PLAN.md system for durable planning, visible progress, sub-agent work, and approval before execution.

Strawberry has a built-in plan and todo system for multi-step work.

The source of truth is a `PLAN.md` file at the root of the chat session workspace. The companion creates and updates this file with normal file tools. Strawberry parses structured todo blocks and shows the current plan in the chat UI.

## How plans work

* One chat session has one canonical `PLAN.md`.
* Each sub-agent can have its own `PLAN.md`.
* Markdown headings and prose are used for plans, notes, sources, and decisions.
* Structured todo blocks represent user-visible execution state.
* Plans stream into the chat UI while they are written.
* Strawberry reparses the plan after successful file writes or edits.

## Todo format

Todos use XML-style blocks inside markdown:

```xml theme={null}
<todo id="find-suppliers">
  <title>Find EU suppliers</title>
  <state>in_progress</state>
  <description>
    Capture URLs, pricing, lead times, and whether each supplier ships to Sweden.
  </description>
</todo>
```

Common states include `pending`, `in_progress`, and `completed`.

## What you see

In chat, Strawberry can show:

* The plan summary
* Current todo state
* Sub-agent progress
* Related tool activity
* A link to open the full plan file

## Approval before execution

Planning and execution are different. Creating or refining `PLAN.md` is planning. Marking work as `in_progress`, using tools, navigating pages, or taking actions can count as execution.

Use explicit approval when you want the companion to pause after planning:

```text theme={null}
Create a plan first. Do not start execution until I approve it.
```

## Best practices

* Ask for a plan when the task has multiple phases, dependencies, or risk.
* Keep plan todos specific and testable.
* Ask Strawberry to update the plan when scope changes.
* Use plans for work you may need to resume later.
