This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+4 more
Affected surfaces
Summary
AI summaryAdded move‑to‑tmux adoption, automatic plugin upgrades, and daemon version visibility.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds move-to-tmux capability for sessions. Adds move-to-tmux capability for sessions. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Feature | Low |
Adds automatic plugin upgrades on SessionStart hook. Adds automatic plugin upgrades on SessionStart hook. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Feature | Low |
Shows daemon version in /state snapshot and board header. Shows daemon version in /state snapshot and board header. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Feature | Low |
Removes need for manual daemon restart after upgrade; takeover handles it automatically. Removes need for manual daemon restart after upgrade; takeover handles it automatically. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Dependency | Low |
Adds three nullable columns (`adopt_armed_until`, `adopt_armed_skip`, `end_reason`) to sessions table as additive migration. Adds three nullable columns (`adopt_armed_until`, `adopt_armed_skip`, `end_reason`) to sessions table as additive migration. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Refactor | Low |
Adds `sessions.end_reason` provenance column to track end cause. Adds `sessions.end_reason` provenance column to track end cause. Source: llm_adapter@2026-07-15 Confidence: high |
— |
Full changelog
claude plugin install fleetdeck@fleetdeck
Added
- Move to tmux. A
⇥ move to tmuxchip on cards the board didn't spawn (plain-CLI and other hook-tracked sessions) adopts the session into a board-owned tmux pane viaclaude --resume <session-id>— same session id, same card, full history, and afterwards it's a first-class fleet worker (terminal modal, revive, kill, mail-to-pane). An ended card moves immediately; a live card is armed and moves the moment you exit it in your terminal. The arm is durable intent consumed exactly once: it lives in SQLite (not in a timer), a disarm wins even in the settling moment right after you exit, a session that comes back alive cancels the move instead of leaving a standing order, and a daemon death mid-move (crash or upgrade takeover) is recovered by the next boot's sweep. It expires after ~30 minutes (FLEETDECK_ADOPT_ARM_MS), and a/clearkeeps it, since the session is still live. The dialog carries the same asks-twice unsupervised gate as the Spawn form for keeping--dangerously-skip-permissionsacross the move. Refusals are honest: 409 when the session has any spawn lineage, alive or dead (the board owns its pane story — ⟲ revive is that button, and a card never offers both), 409 when nothing ever proved the CLI exited (a 3h-silence guess, an agents-CLI absence, or a pre-0.7.0 row with no provenance — a quietly-alive session must never be resumed into a second billed session; arm it instead), and 410 when the cwd or transcript is gone. New endpoint:POST /api/sessions/:session_id/adopt. - Plugin upgrades take effect automatically. A SessionStart hook from a newer plugin version now replaces a stale daemon on port 4711: verify (the /health pid must match the HOME pidfile and look fleetd-shaped) → SIGTERM (the existing graceful shutdown; state is SQLite and survives) → boot the newer build, announced in the board ticker (
⬆️ fleetd vX replaced vY). Strictly newer only — never a downgrade, never on an unparseable/standalone0.0.0version — and every uncertain path fails open onto the running daemon. Manual restarts remain fine. (FLEETDECK_VERSION_OVERRIDEexists for the test suite only.) - The daemon version is now in the
/statesnapshot and shown in the board header, so you can see at a glance which build is serving you.
Changed
- Session ends now carry provenance (
sessions.end_reason): a real hook end records its reason, retention's 3h-silence guess recordspresumed, and the agents-CLI absence sweep — which is likewise a guess, from a registry that is documented-unreliable — now recordspresumedtoo. Move-to-tmux treats this as an allowlist: only a proven end may be resumed immediately.
Upgrade note: additive schema migration — three nullable columns (adopt_armed_until, adopt_armed_skip, end_reason) on the sessions table. Offline cards that predate 0.7.0 carry no end provenance, so they are never offered an immediate move-to-tmux (arm them instead, or revive them if the board spawned them). This is the last upgrade that needs a manual daemon restart to load; from here on the takeover does it for you.
Full changelog: https://github.com/lacion/fleet-deck/compare/v0.6.0...v0.7.0
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Fleet Deck
All releases →Related context
Beta — feedback welcome: [email protected]