Skip to main content
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:
<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:
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.