Getting started
Build the desktop app, give it a boat.dev key and start your first thread. Most of the time goes into the build.
What you need
Flotilla has no download yet, so you build it from source.
- A Mac with Xcode, or a Linux desktop running Debian or Ubuntu, on X11 or Wayland.
- Rust, to build the app.
- A boat.dev account on a paid plan, and boat's command-line tool, signed in, to make an API key. The agents use the model accounts you connect to boat.dev; Flotilla never asks for them.
- For projects: the GitHub CLI, version 2.81 or newer, signed in with
gh auth login. boat.dev also needs access to the repos you add. - Optional: the Claude Code CLI, signed in, for thread titles and one-line summaries.
Install the app
Clone the repo and build the app for your system.
On a Mac
This builds Flotilla.app and opens it:
git clone https://github.com/joseph-lozano/flotilla.git
cd flotilla
script/bundle-macos
open target/release/Flotilla.appOn Linux
Install the build tools, build a .deb package, and install it:
sudo apt install build-essential cmake pkg-config libfontconfig-dev libxkbcommon-x11-dev dpkg-dev imagemagick
git clone https://github.com/joseph-lozano/flotilla.git
cd flotilla
script/bundle-linux
sudo apt install ./target/release/flotilla_0.1.0_amd64.debThen open Flotilla from your apps. On Linux, Ctrl takes the place of ⌘ in every shortcut, and there's no menu bar: everything in the Mac's menus is in Settings and in search (Ctrl+K).
Connect boat.dev
Flotilla uses a boat.dev API key to start and run VMs. Make one with every permission Flotilla uses:
boat api-key create Flotilla --ttl 365d --actions sandbox.create,sandbox.read,sandbox.update,sandbox.stop,sandbox.resume,sandbox.fork,sandbox.delete-own,agent.prompt,exec,host,snapshot.read,snapshot.write,environment.read,environment.write,account.readThen add it to the app:
- Open Flotilla. With no key yet, it shows Connect to boat.
- Paste the key into the field, and press Save.
On a Mac the key is kept in your Keychain; on Linux, in a file only you can read. To replace it later, open Settings, find the boat API key check under Setup, paste the new key and press Replace.
Start your first thread
A thread starts a VM, starts the agent in it and sends your prompt.
- Press ⌘N, or New at the top of the sidebar.
- Type what the agent should do.
- Optional: pick the agent and model, the reasoning effort, and Fast, under the prompt.
- Press Enter.
The reply streams in as the agent works. When the turn ends, the thread moves to Unread in the sidebar with a one-line summary, and if Flotilla's window isn't in front, you get a notification.
Titles and summaries come from a small Claude model, run by the Claude Code CLI on your Mac (or on your server, once you use one). Without it, a thread keeps a plain title taken from your prompt. You can pick the model, or turn it off, in Settings under Titles and previews.
Next steps
Once your first thread works:
- Threads: follow-ups, steering a running turn, search, and how idle VMs stop and wake.
- Projects and pull requests: add a GitHub repo, so each thread starts with it set up on its own branch.
- Run a server: keep hand-offs, schedules and your iPhone going with your laptop shut.