Skip to content

Fleet Deck

v0.7.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agents ai-agents claude claude-code claude-code-plugin web
+4 more
developer-tools multi-agent orchestration tmux

Affected surfaces

auth breaking_upgrade

Summary

AI summary

Added move‑to‑tmux adoption, automatic plugin upgrades, and daemon version visibility.

Changes in this release

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 tmux chip on cards the board didn't spawn (plain-CLI and other hook-tracked sessions) adopts the session into a board-owned tmux pane via claude --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 /clear keeps it, since the session is still live. The dialog carries the same asks-twice unsupervised gate as the Spawn form for keeping --dangerously-skip-permissions across 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/standalone 0.0.0 version — and every uncertain path fails open onto the running daemon. Manual restarts remain fine. (FLEETDECK_VERSION_OVERRIDE exists for the test suite only.)
  • The daemon version is now in the /state snapshot 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 records presumed, and the agents-CLI absence sweep — which is likewise a guess, from a registry that is documented-unreliable — now records presumed too. 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

Track Fleet Deck

Get notified when new releases ship.

Sign up free

About Fleet Deck

All releases →

Related context

Earlier breaking changes

  • v0.13.0 Agents poller no longer uses a shell; runs via execFile with argv split on whitespace.
  • v0.6.0 Adds nullable columns `ticket`, `ticket_source`, `prev_callsign` to `sessions` table via schema migration.

Beta — feedback welcome: [email protected]