What it prints
Part of team remove — every line a removal prints, the non-owner leave, and a seat that does not leave cleanly.
claude-beacon: stopped removed claude-beacon
The seat's stop is the plan down prints for a seat, with its notes; the last line says what was
done with the file:
| Last line | Meaning |
|---|---|
removed <name> | the seat's entry was taken out of the file |
stopped <name> | --keep: the entry stays, with stopped: true |
removed temporary <name> | a temporary seat: it was never in the file |
A caller other than the owner, meeting a seat herdr reports idle or done that is not free, takes
the seat out without asking it to leave: nothing is typed, the workspace is left open, the seat's
state record goes, and the pane's agent is renamed — best effort, one call — to <name>-left, or
-left-2 and so on when that name is held, so it no longer answers the seat's name. The last
line names the pane:
removed <name> (its pane <pane> was left running; nothing was typed; it now reads as <name>-left)
--keep marks the entry stopped instead, in the same parenthesised line. When the rename does
not take, the removal stands and the last line ends it still carries the seat's name. The
leftover pane is the owner's to close — team never closes it, since that close is --abandon
and it is no longer a seat — and the watch reports it as an agent that is running and is not in
the file.
A seat that doesn't leave cleanly is printed once with what stopped it, and remove exits 1:
<seat>: its exit was not typed; left as it is (team remove <seat> --abandon closes it),
<seat>: its exit was not confirmed; <what happened>; left running (team remove <seat> --abandon closes it)
— the pane never drew the typed text, its box held other text, or the clearing key did not take —
<seat>: timed out leaving its pane; left as it is (team remove <seat> --abandon closes it),
<seat>: its workspace did not close. The file is then not edited: the seat is still in the team.
With --abandon, that same seat's workspace is closed in the run and the line says so, and the
removal goes on.
A box that holds exactly this CLI's exit text — an earlier run typed it and never confirmed it — is not the owner's text: when the profile carries the one key that empties a box, the text is cleared with it inside the stop and the exit typed fresh, and when it does not, the seat is left as it is with the text named, in the refusal below.
The refusal its last paragraph names — a box holding this CLI's exit text unsent — is on the refusals page.
The non-owner leave
A caller other than the owner, meeting a seat herdr reports idle or done that is not free, takes
the seat out and leaves the pane as it is: nothing is typed, the workspace stays open, and the
pane's agent is renamed so it no longer answers the seat's name (--keep leaves the entry
stopped, with the same parenthesised line):
team remove claude-reviewer ; echo "exit $?"
removed claude-reviewer (its pane w3:p1 was left running; nothing was typed; it now reads as claude-reviewer-left)
exit 0