Skip to main content
Plans page in light theme
The Plans page at /plans lists read-only AI Plans. A Plan runs an AI tool against one worktree with a survey-and-propose brief: it reads the codebase, asks questions if it needs to, and writes a proposal as its final output — it does not implement the work. When you are happy with the proposal, Run Plan turns it into an implementation Session against the same worktree.
A Plan and a Session are the same underlying run with different intent and permissions. They share the list, detail, follow-up, and export machinery described here and on Sessions.

The run list

Rows are grouped by the day the run was created, with queued and active work pulled into a leading Active group so unfinished runs stay at the top. Extra badges appear on the status cell: Imported for a run this app discovered rather than started, and Run once a Plan has been played into a Session.
The whole row is clickable, and the ID, repository, and prompt cells are real links — -click any of them to open a Plan in a new tab.

Filtering

Four controls sit above the table, and your choices are stored in a cookie per run kind, so the list comes back the way you left it.
Managed runs were started from this control plane and can be paused, steered, and cancelled. Imported runs were found on an agent’s disk and are read-only records — the app can display and archive them, but not drive them.
The list loads 200 runs at a time and pulls in the next page as you scroll, with a running Showing n of N count underneath. An agentRunsChanged subscription refreshes the list in place as runs progress, so status, cost, and token counts update without a reload.

Running a Plan

Open the Run Plan action

The action is enabled only once the Plan is Completed, has a final output, and has not already been run. A Plan can be played exactly once.

Choose MCP tool presets

The dialog lists the presets marked Session-enabled. Nothing is selected by default — grant the new Session only the built-in tools the work needs.

Confirm

A new Session is created against the same worktree with the Plan’s proposal as its context, linked back to the Plan as its source. The Plan is stamped with the Session’s number and the Run badge appears.

Bulk edits

Edit turns the list into a selection surface: a checkbox on every row, a select-all in the header, and a select-all per day group. With a selection made you can archive, restore, or delete in one action. Done leaves edit mode.
Deleting a run deletes the AI tool’s own native history for it before removing the local record. This cannot be undone. Archiving is the reversible option.

Notes

  • Plans are read-only by intent, not by sandbox. If a Plan does change the worktree, the detail page flags it and shows the resulting patch.
  • Plans use a FIFO lane separate from Sessions. The default worktree concurrency limit is 0, which allows any number of Plans to survey the same worktree. Workflow steps and API clients can set a finite limit from 1 through 32.
  • A Plan can still wait with the phase Waiting for worktree when its lane reaches a finite limit or an exclusive workflow is ahead of it.
  • The Plan column that Sessions carry — the Plan a Session was played from — is absent here, since a Plan has no source Plan of its own.

Plan details

Activity, cost, proposed work, and follow-ups for one Plan.

New run

Pick a worktree, model, effort, and tools, then start.

Sessions

The implementation half of the same machinery.

Drafts

Prompts saved for later, ready to start as either kind.