Differences
Part of team status — each way the file, the state and the live session disagree, and the command that repairs it.
A seat the state records waiting shows waiting for owner (<classification>) — or
trust sent; recovery required — as its row, with its pane, and its one difference stands before
the unnamed and launch-stopped ones. The classification is validated when the state is read,
against the closed list (trust, permission, question, vendor notice, login, unknown,
unsent, timeout): anything else the file holds reads unknown in the row, in the difference
and in the log line the record writes, so a hand-edited or corrupted file can never print its bytes
here.
| Difference | Repair |
|---|---|
<seat> is in the file and is not running | team add <seat> when something else runs, the owner runs team up when nothing does |
<seat>: its pane runs no CLI (the CLI ended or the session was restored) | the owner runs team up (it closes the pane without input and launches the seat fresh) |
<seat>: the process in its pane is not the one team launched; nothing checks its model, account or rules | the owner runs team up (it closes the pane without input and launches the seat fresh) |
<seat>: the agent in <pane> is named "x" | herdr --session <s> agent rename <pane> <seat> |
<seat> runs <model> <version>; the file says <declared> (<declared> is the seat's display spelling) | restart it (team remove <seat> --keep, then team add <seat>), or correct the file and team approve |
<seat> is marked stopped in the file and is running | team remove <seat> --keep, or take stopped: true off the seat |
<seat>: waiting for owner (<classification>) | the owner runs team up (it offers to open the pane, skip the seat or stop cleanly), or team answer <seat> trust when the classification is trust and the policy is dialogs.trust: orchestrator |
<seat>: trust sent; recovery required | the owner runs team up |
<seat>: its launch stopped at "<stage>" | the owner runs team up (it resumes the launch) |
<seat>: its rules were not delivered | team remove <seat> --keep, then team add <seat> |
<seat>: its rules file is missing / … is a symbolic link / … is not a regular file / … has mode 0644, not 0600 / … is not owned by this user / … cannot be read / … differs from the approved rules | the owner runs team up — the seat's rules travel in a file in the project state folder, and it no longer holds the approved rules text; status never rewrites it |
<seat> holds text in its input box that was never sent | the owner clears or sends it in the pane; team does not type into a box it can't verify |
<seat>: its launch stopped at "named", and it holds text in its input box that was never sent | the owner clears or sends it in the pane, then runs team up (it resumes the launch) |
<name>: a temporary seat is recorded and is not running | team remove <name> |
no watch has run for this session | team watch --session <s> |
the watch's last pass was <n> minute(s) ago | team watch --session <s> |
an unnamed <cli> (w1:p2) is running and is not in the file | add the seat to the file and team approve, or close it |
worktree <task>: its setup failed | team worktree remove <task> |
the protected checkout "." is on "x", not on "main" | the owner switches it back: git -C . switch main |
the file was never approved on this machine | the owner runs team approve |
approved before records were signed: run team approve once, or the case a refused record names | the owner runs team approve |
the file differs from the approved one: <line> | the owner runs team approve |
The one precondition status knows and orders is the real one: the file is not the approved one.
That difference is printed first, and a repair that names a command that refuses on an unapproved
file — team up, team add, team worktree — is marked (after: …). Nothing else is reordered
or marked: a missing or stale watch blocks no repair, and what blocks a launch is team doctor's
to report. When at least one repair is the owner's, the summary line reports
N difference(s), M for the owner.
A difference, and its repair
The repair is the command add starts a stopped or missing seat with:
team add claude-keeper
claude-keeper: readyNow nothing disagrees:
team status ; echo "exit $?"
team status: warning, line 3: `coordinator:` is now `leads: true` on the lead's seat, and is still read
team beacon, session "beacon"
claude-keeper idle Claude Opus 5.5 w2:p1
claude-beacon working Claude Opus 5.5 w1:p1
budgets:
openai session left 40% used 60% resets in 44m - read 2m ago check fresh
openai daily left 70% used 30% resets unknown claude-beacon last seen 40m ago status line (fallback) stale
openai weekly left 5% used 95% resets in 44m claude-beacon changed 2m ago status line (fallback) fresh, inside reserve 20%
note: approval #1 (2026-10-04), key fe21ef6293de
0 difference(s)
exit 0