Skip to main content
Sessions page in light theme
The Sessions page at /sessions lists implementation runs. A Session drives an AI tool against one worktree with write access and no approval prompts. Managed Sessions join that worktree’s durable FIFO Session lane before they start. It is the half of the pairing that changes code — the surveying half is a Plan.
Sessions run without approval prompts and with unrestricted access. Point one at a worktree you are willing to have rewritten, not at your main checkout. Raising or removing the concurrency limit allows multiple Sessions to write to it at once.

The worktree queue

An active managed Session no longer causes a second otherwise eligible Session to be refused. The new Session starts immediately when its lane has capacity or remains Queued with the phase Waiting for worktree.
  • Sessions default to one active run per worktree.
  • Workflow steps and GraphQL clients can set a limit from 1 through 32, or 0 for unlimited concurrency.
  • Plans use a separate lane, so they can survey while a Session runs unless an exclusive workflow reserves the whole worktree.
  • A paused Session keeps its admission slot. A terminal Session releases it and promotes the next queued entry.
Starting a resumed follow-up from a paused Session cancels the parent and atomically transfers its admission slot to the child. This keeps newer queued Sessions from starting between the two.

The run list

Rows are grouped by creation day, with queued and active runs pulled into a leading Active group. The Plan column is the one structural difference from the Plans list — it links back to the Plan that produced this Session, or shows the plain number when that Plan has since been deleted.

Filtering

Filter choices persist in a cookie scoped to Sessions, separately from the Plans list. The table loads 200 rows at a time and extends as you scroll, and an agentRunsChanged subscription keeps statuses and costs current without a reload.
Imported Sessions are ones the agent discovered on disk rather than started here. They cannot be paused, steered, or cancelled. If an imported Session is active in a worktree a managed Session already leases, its detail page carries an Imported worktree conflict warning — the app cannot apply concurrency control to a run it does not own.

Bulk edits

Edit adds checkboxes, a header select-all, and a per-day select-all, then archive, restore, and delete act on the whole selection at once.
Deleting removes the AI tool’s own native session history before the local record. This cannot be undone.

Notes

  • A Session started by playing a Plan carries that Plan’s proposal as its context and stamps the Plan as run — a Plan can be played only once.
  • Cancelling a Session releases its admission slot; the worktree is left in whatever state the run reached, and the Git checkpoints on the detail page show what changed.

Session details

Live transcript, steering, questions, checkpoints, and cost.

New run

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

Plans

Read-only surveys that propose the work a Session carries out.

Worktrees

The checkouts Sessions queue against and modify.