Weaveweave / fleet
Install Fleet
freeruns on your machine · one screen for every harness

Change agents. Keep your workflow.

Four agents shouldn’t mean four terminals. Fleet runs Claude Code, OpenCode, GitHub Copilot and Pi side by side, each in its own worktree, and tells you which one needs you.

curl -fsSL https://github.com/pgermishuys/fleet-releases/releases/latest/download/install.sh | sh
The Mac app is for Apple silicon. The command installs on macOS and Linux.
Works withOpenCodeClaude CodeGitHub CopilotexperimentalPi
every harness, one fleet

Claude Code on one task, OpenCode on the next. Both in one list.

Pick the best agent for each job, run them all at once, and stop switching windows to find out which one needs you.

Fleet’s session list: 9 sessions across 3 repositories, one marked Needs input.Fleet’s session list: 9 sessions across 3 repositories, one marked Needs input.
OpenCode 2
GitHub Copilot
Claude Code
Pi
Claude Code
OpenCode 2
GitHub Copilot
Pi
OpenCode 2
  • 9 sessions
  • 3 repositories
  • 4 harnesses
  • 1 list
Fleet on a phone: Needs you, with a question from the Safari checkout session.Fleet on a phone: Needs you, with a question from the Safari checkout session.

Whoever asks, it lands in one place.

When any session needs you, its row says Needs input and your phone tells you, whichever harness it runs on.

A changed file open on its diff, with Revert on each hunk.A changed file open on its diff, with Revert on each hunk.

Review every agent’s work the same way.

Changes, diffs, the running app and the pull request, beside the chat, whichever harness wrote the code.

Analytics: tokens and cost over a month.Analytics: tokens and cost over a month.

One bill across every model.

Tokens and spend by day, project and model.

Next month’s best model is somewhere else? Pick it for your next session. Your list, worktrees, automations, shortcuts and phone stay as they are.

why fleet

The agents keep changing. The way you work with them shouldn’t.

Switch harness without switching apps.

A better model lands every few weeks, and it often comes with a different tool. In Fleet, moving a task from Claude Code to OpenCode is a menu choice. The session list, the review panel, the phone view and your shortcuts stay where they were.

harness
Claude Code → OpenCode 2
model
Opus → Claude Opus 5
everything else
the same, bar a few extras

Many agents, none in each other’s way.

Every session gets its own branch in its own git worktree, started from the latest origin/main (or your repository’s default branch). Run five at once and your checkout is never touched.

Know who needs you.

Each row shows whether the session is working, needs input, is retrying or is done, and quiet sessions fade with age.

Review where the work is.

The diff, the running app and the pull request with its checks sit beside the conversation. You don’t open another tab to find out whether it worked.

Yours, on your machine.

Fleet runs locally with your harness, your subscriptions and your keys. There’s no Weave account, and Fleet doesn’t send your code to Weave, even from your phone.

a day with fleet

From a sentence to a merged pull request.

Say what you want done.

Describe the task, pick a repository, a harness and a model. Fleet makes the worktree and starts the session. Start from a GitHub issue and the link follows it to the pull request.

Your first session →
The new-session composer: a task typed in, the harness menu open on OpenCode 2, OpenCode, Claude Code and Pi, the agent and model pickers, and chips saying it will run in a new worktree of storefront from origin/main.The new-session composer: a task typed in, the harness menu open on OpenCode 2, OpenCode, Claude Code and Pi, the agent and model pickers, and chips saying it will run in a new worktree of storefront from origin/main.

Try what it built.

Fleet runs the dev server for the session and opens the app in a Browser tab beside the chat. Every changed file is one click from its diff.

A Fleet session with a Browser tab showing the running Storefront app beside the conversation.A Fleet session with a Browser tab showing the running Storefront app beside the conversation.

Follow it through CI.

The issue, the pull request, its checks and its unresolved review threads stay fresh in the Context tab. A week after you archive a session, Fleet removes its worktree folder and keeps the branch.

The Context tab: the originating issue, and the pull request marked Blocked by 1 unresolved review thread, with 1 check running and 3 passed.The Context tab: the originating issue, and the pull request marked Blocked by 1 unresolved review thread, with 1 check running and 3 passed.
on your phone

Step away. Fleet tells you when it needs you.

Fleet is a web app that runs on your machine. Put it on your Tailscale network with tailscale serve, pair your phone in Settings → Machines → Add a phone, and add it to the Home Screen. When an agent asks a question, your phone notifies you and you answer from there.

Your other computers can add this Fleet under Settings → Machines and work in its sessions.

Other devices need a key to reach Fleet. The machine’s access token can do anything Fleet can, so treat it like a password.

Fleet’s phone view: what needs you first, a session’s question with answers to tap, then the sessions working and finished.Fleet’s phone view: what needs you first, a session’s question with answers to tap, then the sessions working and finished.
Fleet’s phone view of one session: its summary of what it changed and checked, with a box to reply.Fleet’s phone view of one session: its summary of what it changed and checked, with a box to reply.
make it yours

Hand Fleet the repeat work.

Automations

Run a prompt on a schedule

Save a prompt and run it on a schedule or when an event happens. Type “every weekday at 8” and Fleet fills in the schedule.

Workflows

Steps that stop for you

Build a feature or fix a bug: plan, approve, build, review, open the pull request. Experimental: switch it on in Settings → Workflows.

Skills

Built-in know-how

Code review, debugging, design and mockups, each one a switch in Settings → Skills.

Mods

Change what Fleet shows

Ask an agent for a small add-on, such as test counts on a tool row. Experimental: switch it on in Settings → Features.

Read the guide →
what changes when you switch

The screen is the same. A few extras depend on the harness.

Fleet uses what each harness can do. The rest of the screen stays as it is.

FeatureOpenCode 2Claude CodeGitHub CopilotexperimentalPi
Sessions, worktrees, review, pull requests, phone✓✓✓✓
Steer a turn while it runs✓✓✓–
Agent shows pages and diagrams beside the chat✓✓✓–
Subagents as their own sessions✓✓––
Workflow steps✓✓––
Fork a conversation✓–––
Weave agents in the agent picker✓–––

Read from each harness’s capability flags in Fleet 0.57.0. What works where has the full table.

get started

Running in five minutes.

  1. Install Fleet

    Download the desktop app for macOS, Windows or Linux, or run one command.

    Install →
  2. Add a harness

    Fleet finds the harnesses already on your computer. Settings → Harnesses installs the ones that offer it and signs in where a harness supports that.

    Choose a harness →
  3. Start a session

    Pick a repository, describe the task, and watch it land in its own worktree.

    Your first session →
install

Download the app, or run one command.

Builds for macOS (Apple silicon), Linux (x64) and Windows (x64 and Arm). You’ll also need a harness: OpenCode, OpenCode 2, Claude Code, GitHub Copilot or Pi. More on installing.

macOS Apple silicon

The first time, macOS can’t verify the developer: open System Settings → Privacy & Security and choose Open Anyway.

Windows x64 and Arm

If SmartScreen says it protected your PC, choose More info → Run anyway. Updates install themselves.

Linux x64

The AppImage needs FUSE 2 (libfuse2) and updates itself. The .deb installs to /opt/Fleet.

Or from a terminal

  1. Install Fleet

    curl -fsSL https://github.com/pgermishuys/fleet-releases/releases/latest/download/install.sh | sh
  2. Open a new shell

    The installer puts Fleet in ~/.weave/fleet/bin and adds it to the PATH in your shell profile. Open a new shell, or run this in the one you have.

    export PATH="$HOME/.weave/fleet/bin:$PATH"
  3. Start it

    Then open http://127.0.0.1:6262.

    fleet
  1. Install Fleet

    In PowerShell:

    irm https://github.com/pgermishuys/fleet-releases/releases/latest/download/install.ps1 | iex
  2. Start it

    Then open http://127.0.0.1:6262.

    fleet

Updates: on Windows and the Linux AppImage, the desktop app downloads them and installs on restart; on macOS and the .deb it tells you a new version is out. From a terminal, fleet update moves you to the latest release and fleet version says which one you have. Release notes live on GitHub.

questions

Before you install

Is Fleet free?

Yes, Fleet is free. You pay your harness or model provider as you do today.

Does my code leave my machine?

Only the way your harness already sends it to your model provider. Fleet runs on your machine and talks to your phone and other computers directly, over your own network. A phone notification goes through your phone’s push service and carries a short title.

Which harnesses does it work with?

OpenCode (1 and 2), Claude Code, GitHub Copilot and Pi. Use a different one per session; they share the same list. GitHub Copilot is experimental and off until you switch it on in Settings → Features.

What changes if I switch harness?

The harness and model on the screen, and a few extras that depend on what the harness can do, such as forking a conversation. The table above lists them.

Do I need Weave?

No. Weave adds a team of agents to OpenCode, and they show up in Fleet’s agent picker if you have it.

Do I need GitHub?

No. Fleet works with git repositories. With GitHub, it also follows issues, pull requests and checks.

How do worktrees work?

Each session gets its own branch in a folder of its own, started from origin/main. A week after you archive a session, Fleet removes the folder. The branch and the conversation stay.

get started

Run a fleet.

Bring your harness. Keep your workflow.