v0.6.0-alpha — fleetops tells you when its hooks aren't set up
Everything merged since v0.5.0-alpha. This one closes the gap that made fleetops quietly do half its job on a fresh machine.
Features
-
fleetops now self-verifies its hooks at launch (#83). Without the
SessionStarthook, a session is observed but never registered — so a typed action (kill / interrupt / inject) can only fall back to "no unambiguous claude surface". You'd get no warning until a keypress failed. Now the cockpit checks hook health on launch and, when they're not fully installed, shows a dismissible banner:▲ HOOKS hooks not fully installed — new sessions won't be actionable · [H] install · [esc] dismiss[H]installs them in place (it shells out to the same auditedhooks install, which backs up your settings first). It also catches a nastier state than "missing": a hook entry that looks installed but points at a binary that no longer exists — that silently broke registration once in this project's own history, and now shows asstale-pathinstead of reading as healthy. Newfleetops hooks statusprints the same verdict on the command line.
Docs
- Explained why a typed action can hit
no unambiguous claude surface(#82). The install docs listed the commands but never the ordering consequence: theSessionStarthook registers a session only when it starts, so a session already running when you install the hooks is observed but never registered. Documented next to the install steps, plus a "Known rough edges" entry naming the three causes (started before hooks, a headlessclaude -psession, or a stale binding after a terminal restart).
Honest scope
This kills the "forgot to install on a new machine" class. It does not retroactively register sessions that were already running when you installed the hooks — that's a fundamental limit (there's no reliable way to link a session id to a live process from outside the hook's own context; the obvious transcript-handle trick was measured and doesn't work, because claude doesn't hold the file open). Restart such a session, or act on it manually.
Install / upgrade: go install github.com/jitokim/fleetops/cmd/fleetops@v0.6.0-alpha, then fleetops hooks install (or just launch it and press H).
Still alpha — it sends real keystrokes and can kill real processes. Read the README's "Known rough edges" first.