v0.2.0-alpha — attach anywhere
Still experimental. fleetops sends real keystrokes and can kill real processes. Read the README's "Known rough edges" before pointing it at anything you care about.
Attach to a loop in a plain terminal
Until now, ↵ (attach) only worked if your loop happened to live inside a multiplexer fleetops had a handle on — orca, tmux, or cmux. Start claude in a normal iTerm2 window and fleetops could see the loop perfectly well, but pressing attach just shrugged and told you to cd there yourself.
That gap is closed for iTerm2. fleetops now records which terminal app hosts each session, and raises the right window/tab directly. No multiplexer required, and nothing about how you launch loops has to change — start claude however you already do.
If you're on a terminal fleetops doesn't know how to raise yet, it still degrades to the copy-pasteable hint rather than pretending. Attach never hard-fails, and it will never claim success it didn't achieve.
Attach picks the right backend now
fleetops used to attach through whichever multiplexer was installed first, not whichever one actually hosted your session — so with orca installed, attaching to a tmux-hosted loop could fail outright. It now probes for the backend that can genuinely find your session's surface.
Hiding a loop finally sticks
d used to hide a loop only until you restarted fleetops — dead and finished loops kept crawling back into the list.
dnow hides for good, remembered across restarts.x(new, press twice to confirm) also drops the session's registry entry, for loops you're done with entirely.
Neither one touches your conversation history. Your ~/.claude transcripts are never deleted.
Also in this release
- Injecting into the right session when several share a directory. Previously ambiguous — fleetops now targets the exact session, falling back to a headless re-drive when it can't act in place, and says so honestly instead of failing silently.
- The fleet list is readable at a glance — loops show their display name or goal rather than an opaque id.
n(spawn) lets you choose where. The wizard now shows the target directory and lets you change it: a new worktree, this directory, a typed path, or the selected loop's directory.
Upgrading
go install github.com/jitokim/fleetops/cmd/fleetops@latest
fleetops hooks installhooks install is worth re-running: the host-terminal info that powers the new attach is recorded when a session starts, so loops already running when you upgrade won't have it. Start a fresh loop to try it.
No breaking changes. Session records written by older versions still load as-is.