The Fleet
The Fleet is spwn’s home screen: every agent session across every project, sorted by whether it needs you. The sessions blocked on a question sit at the top as an inbox you can answer in place, so running ten agents doesn’t mean checking ten tabs.
Open it with ⌘0 (Ctrl+0 off macOS), the ◎ Fleet row at the top of the sidebar, or Esc from any pane that doesn’t use Esc itself. It’s where spwn opens, and it can’t be closed.
The groups
Section titled “The groups”Sessions fall into five groups, top to bottom. Empty groups are hidden.
| Group | What’s in it |
|---|---|
| Needs input | A permission prompt, a question, a hook asking something, an error, a failed hook, a sync that stopped on conflicts, or a session ejected from the land order. |
| Ready for review | Commits ahead of its base and not mid-turn (flagged if it would conflict), or a finished turn you haven’t looked at. |
| Working | Running a turn, or running a hook. |
| Landing | Owned by the land order: queued, syncing, resolving a conflict, verifying or merging. |
| Completed | Idle, or landed. Only the first eight show until you ask for more. |
Within a group, the most urgent reason comes first. In Needs input the session that has waited longest comes first; everywhere else the newest does. Forks stay with their family, parent above its forks.
The session you’re looking at never counts as needing you. You’re already there.
The header counts each group, filters by project when you have more than one, and has a text filter (/) that matches title, branch, project or workflow name.
The inbox
Section titled “The inbox”Each Needs input session is a card that says what it needs and, where it can, lets you answer right there:
- A permission prompt or a question shows the agent’s question and its numbered choices, with the text it’s asking about. Click a choice or press 1–9. Before pressing anything, spwn re-reads the agent’s screen and refuses if the prompt has changed, so a stale click can’t pick an option in some other menu.
- A hook prompt (a hook calling
spwn prompt) shows the picker inline. Prompts from a session still being created appear here too. - Everything else (an error, a failed hook, a conflicted sync) says what happened and gives you Open ↵.
Rows and peek
Section titled “Rows and peek”Below the inbox, each row shows the session’s status, title, fork point, branch, ± files
changed, ↑ ahead and ↓ behind its base, ⚠ conflicts with the base, ◑ overlaps with
other sessions, a failed hook, and spend.
Peek (Space, or the ◔ button) opens a row in place: what the agent last said, how
many files it changed, which sessions it shares files with, and a box to send a follow-up
(⌘↵ to send). A message to a session that is still working is queued as its next
message. r opens peek with the reply box focused.
The Fleet’s keys work while it’s the visible pane:
| Key | Action |
|---|---|
| j / ↓, k / ↑ | Next / previous session |
| g g / Home, G / End | First / last session |
| Space | Peek |
| r | Reply to the selected session |
| ↵, →, o | Open the session |
| 1–9 | Answer the selected prompt with that choice |
| f | Fork the selected session |
| c | Compare the selected session’s forks |
| l | Queue it to land |
| d / Delete | Delete it (with confirmation) |
| / | Filter |
| Esc | Close peek, then clear the filter |
⌘1–⌘9 open the Fleet’s first nine sessions from anywhere, in the Fleet’s order. See Keyboard for the rest.
Notifications
Section titled “Notifications”spwn tells you when a session starts needing you, in three ways depending on how far away you are:
- The tab title always counts what’s waiting:
2 need you · spwn. - A toast, when spwn is on screen but you’re on some other pane. It has an Open button. On the Fleet itself there’s no toast, since you can already see it.
- A desktop notification, when spwn isn’t on screen, if you’ve turned them on.
Turn desktop notifications on in Settings → Notifications. Choose When a session needs input, or When a session needs input or has work ready; the second also fires when a working session becomes ready for review. The browser asks for permission when you pick one. The choice is saved per browser, not on the server.
A notification carries the question itself and its numbered options, so you can decide from where you are whether to come back. Clicking it opens the session. Changes within one fork family are batched into one notification, and a newer one replaces the last.