What it prints

Part of team down — every line a stop prints, the skip lines for a seat left running, and the idle “nothing to stop”.

claude-keeper: stopped watch: stopped session beacon: stopped and cleared

A seat it stops prints <seat>: stopped; the watch prints watch: stopped; the session prints session <session>: stopped and cleared — herdr keeps a stopped session listed until it is deleted, so down clears the one it has itself just stopped, retrying while herdr still reports it running, and the next up starts from the beginning. A clear that does not happen prints session <session>: stopped; it did not clear, and down still exits 0: the stop itself succeeded. A later up clears a stopped session this team's state records and goes on. A seat this run asked whose exit could not be typed or confirmed, or whose exit was sent and which did not leave within the wait, prints that, and that team down --abandon closes it; with --abandon the same run closes its workspace and the line says so. A seat already sitting at its own exit question is not that case: it is left, and the line says so and that --abandon closes it; with the owner's --abandon it is closed as every seat that cannot be asked is closed, and nothing is typed. A seat it does not stop prints one skip line and is named in the last line instead of the session being stopped. A seat whose box already holds its exit text, on a CLI with a clearing key, is stopped as a free seat is — the clearing key runs first — and a dry run says so in a note under its typing step: its box already holds this exit text; it is cleared first (<key>).

claude-beacon: is working (`--wait` waits for it); left running
session beacon: not stopped, 1 agent left in it
Skip lineMeaning
<seat>: is working (\--wait` waits for it); left running`a turn is running
<seat>: is blocked at a prompt, which \team never answers`; left running`a permission dialog, a trust question or a question: only its owner answers it
<seat>: sits at its own exit question; left running (team down --abandon closes it)the pane already shows this CLI's framed exit question, left by an earlier stop: this run sends no key
<seat>: holds unsent text in its input box; left runninghalf-typed text would be lost
<seat>: holds this CLI's exit text (<exit>) unsent in its input box; left running (the owner sends it or clears it in its pane)the box holds an earlier run's unconfirmed exit text, and the CLI has no key that empties a box
<seat>: shows a screen the profile does not recognise; left runningnothing is typed into a screen it can't read
<seat>: the state doesn't say which CLI it runs, so it can't be asked to exit; left running (team down --abandon closes it without typing)the state predates the CLI record and the file no longer names the seat: nothing links its pane to a profile, so its owner closes it
<seat>: left running; only the owner stops the orchestrator's or the operator's seata seat's own call, and this is the orchestrator or the operator
session default: herdr's default session is never stoppedthe default session is herdr's own

It prints session <session> is not running: nothing to stop and exits 0 when there is nothing to stop at all.

Nothing to stop

Once the session is down there is nothing to stop, and saying so is not an error:

Terminal
 team down ; echo "exit $?"
session beacon is not running: nothing to stop
exit 0