A fleet of coding agents, each in its own boat.

Run Claude Code, Codex and OpenCode side by side. Every thread gets a whole VM on boat.dev, with its own files, processes and ports, so agents can't trip over each other or over your laptop.

Get it on GitHub

Free and open source, MIT licensed. For the Mac and Linux, with an iPhone app coming.

Your Mac, iPhone and Linux desktop all connect to one Flotilla server, which runs inside the Mac app or on an always-on Linux box. The server gives every thread its own VM on boat.dev: here Claude Code and Codex are working, and OpenCode's VM is stopped until a message from the iPhone wakes it.

Flotilla in 90 seconds

Every agent gets its own machine

A thread is a whole VM. Its agent can install what it needs, start a dev server and run the test suite 30 times in a row without touching another thread or your Mac.

A quiet VM stops on its own after 5, 10 or 30 minutes, and wakes when you send. For a long job, turn on Keep running.

Flotilla's sidebar on the Mac. A hover card on the Slugify thread shows its agent, Claude Code with Opus 5.5 on high, and that its VM has 23 minutes left.

From a prompt to a merged pull request

Add a GitHub repo and Flotilla sets it up once, then keeps it current as main moves. Each new thread starts in seconds, in a fresh VM with your repo already set up.

The pull request sits on the thread with its checks. If a check fails, a merge conflicts or a reviewer asks for changes, one button writes the prompt: Fix, Resolve or Address review. When it's green, hold to merge.

A thread on the Mac where Codex ran the test suite 30 times and found no flaky tests. Its pull request, #19, sits above the message box with 2 of 2 checks passing and ready to merge.
#19 Add onRetry callback to retry 2/2 checks +26−2 Ready to merge Press and hold for about a second, or hold Space.

Agents hand work to other agents

An agent can pass part of its task to another agent, in the same VM or in a new one. Ask Opus 5.5 to get second opinions from Codex on GPT-6.1 Sol and from Claude Fable 5.1. Both reviews come back to the thread that asked, and Opus reads them, fixes what they found and tells you who caught what.

In this thread, both caught Straße coming out as strae, and each found something the other missed.

A Claude Code thread on Opus 5.5 hands a review of slug.py to Codex on GPT-6.1 Sol and to Claude Fable 5.1, both in the thread's own VM. Codex finds that Unicode dashes merge words, and Fable that letters like ß, æ, ø and ł are dropped. Both answers come back together, and the thread shows that 2 agents answered.
The same thread on the Mac after both reviews came back. Opus 5.5 sums up who caught what: both caught letters like ß being dropped and a negative max_length; only Codex caught Unicode dashes merging words; only Fable caught non-Latin titles coming out empty, apostrophes and slugify(None). The 11 tests pass.

Close the laptop. The threads keep going.

Flotilla is a server as well as an app. The server can live inside the Mac app, or on a Linux box that's always on and that your devices reach over Tailscale. Then your Mac, your iPhone and a Linux desktop all show the same threads, live.

  • Pair a device with a QR code or a link.
  • Each device gets its own token, and you can revoke one at any time.
  • Your boat.dev key and GitHub sign-in stay on the server.
On the Linux box
$ flotilla setup --tailscale-serve
$ flotilla service install

setup asks for your boat.dev key, signs in to GitHub and prints a pairing link and QR code. service install keeps it running.

Your threads, on your iPhone

A native iPhone app is coming, with the same threads streaming live, hand-off cards and all. Start a thread with a photo attached, hold to merge with your thumb, and when an agent finishes, a notification takes you straight to its thread.

It isn't on the App Store or TestFlight yet.

Free and open source

Flotilla is MIT licensed, and the app costs nothing. Here's who bills for what:

Flotilla
Nothing
boat.dev
VM time, on a paid plan
Your model providers
Tokens, as they do now

Idle VMs stop on their own, so a quiet thread costs nothing.

Build it from source

There's no download yet. You'll need:

  • A Mac with Xcode, or a Linux desktop running Debian or Ubuntu, and Rust
  • A boat.dev account on a paid plan
  • For projects, the GitHub CLI, signed in
  • To keep threads going with the laptop shut, a Linux box that stays on
On your Mac
git clone https://github.com/joseph-lozano/flotilla.git
cd flotilla
script/bundle-macos
open target/release/Flotilla.app

The README covers Linux, your boat.dev key and running a server.

Thanks to Theo and T3 Code

Flotilla is inspired by T3 Code, a GUI for coding agents from Theo. Much of Flotilla was built by pointing my coding agents at the T3 Code repo. The new-thread page, the small touches in a thread, and the way the server pairs devices and talks to them all started there. Thank you.

Joseph Lozano

Flotilla

Free and open source. MIT.

Get it on GitHub