Fleet 1.13:Teams are now shipping 5x more PRs with autonomous pipelines.See what's new →
FleetFleet
Integration

Fleet + Claude Code: Run Many Claude Code Agents in Parallel, or Drive Fleet from Claude Code

Claude Code is the agent runtime Fleet drives. Every Fleet agent is a Claude Code session running inside its own tmux session, launched with FLEET_* environment variables set, the Fleet Agent Handbook prepended to its prompt, and role-based skills wired in. In .fleet/config.yaml, each agent declares vendor: claude-code. You create one with fleet agent create --name <name> --vendor claude-code --template <catalog-name> and start it with fleet agent start <name>. Multiple agents run at once — each its own Claude Code session — and they coordinate through Fleet's reactive event chain and Fabric event bus rather than through a single shared conversation.

The integration runs in both directions. Fleet runs Claude Code agents for you, and Claude Code can drive Fleet right back: fleet mcp serve exposes 32 MCP tools over JSON-RPC on stdio, and Claude Code auto-discovers them through .mcp.json in the repo root. From inside a Claude Code conversation you can list running agents, create and start new ones, publish and read Fabric events, assign tasks, and inspect the fleet log — managing the whole fleet programmatically without leaving the session.

Setup

1

Install Fleet

curl -fsSL https://fleetctl.ai/install | sh
2

Create a Claude Code agent from a catalog template

fleet agent create --name backend-developer --vendor claude-code --template backend-developer
3

Start the agent — it launches as a Claude Code session in tmux

fleet agent start backend-developer
4

Start more agents to run in parallel; they coordinate via the reactive chain

fleet agent create --name frontend-developer --vendor claude-code --template frontend-developer
fleet agent start frontend-developer
5

(Reverse direction) Let Claude Code drive Fleet over MCP — register the server

fleet mcp serve
# .mcp.json in the repo root:
# {
#   "mcpServers": {
#     "fleet": { "command": "fleet", "args": ["mcp", "serve"] }
#   }
# }

What you gain

  • Run many Claude Code agents in parallel without babysitting — each is its own tmux session, coordinated by the reactive event chain and Fabric
  • Per-agent model selection: set `model` in each agent's `.fleet/config.yaml` entry so judgment-heavy roles can run a stronger model than procedural ones
  • Governance and audit over every agent — runs, decisions, and reviews land in the Fabric event log and fleet log for a full trail
  • Drive Fleet from inside Claude Code via 32 MCP tools: list, create, start, and stop agents, publish Fabric events, and assign tasks without leaving the conversation
  • Self-hosted single Go binary — your source code never goes to Fleet; agents run on your own machine or server. A registered instance does report operational metadata (agent status, decision events) and usage metering to the control plane

Honest limits

  • Claude Code is the only supported agent runner — this is a deliberate product decision, so Fleet does not run other coding-agent runtimes in its public configuration
  • Agents require a model backend to run Claude Code (the Anthropic API, or Amazon Bedrock / Google Vertex in your own cloud), so a Fleet fleet always needs some outbound model connectivity — though your source code stays private, going only to your model backend and GitHub
  • Fleet agents share one GitHub identity, which is why a reviewer's `pr_approved` Fabric event — not `gh pr review --approve` — is the source of truth for the merge gate

Frequently asked questions

How does Fleet run a Claude Code agent?

Each agent is a Claude Code session launched inside its own tmux session, with `FLEET_*` environment variables set, the Fleet Agent Handbook prepended to its prompt, and role-based skills attached. Set `vendor: claude-code` in the agent's `.fleet/config.yaml` entry; create it with `fleet agent create` and start it with `fleet agent start`.

Can Claude Code manage the fleet itself?

Yes. Run `fleet mcp serve` and Claude Code auto-discovers Fleet through `.mcp.json` in the repo root. That exposes 32 MCP tools so a Claude Code conversation can list, create, start, and stop agents, publish and read Fabric events, assign tasks, and read the fleet log — driving Fleet programmatically.

Can each agent use a different model?

Yes. The `model` field in each agent's `.fleet/config.yaml` entry sets that agent's model independently, so you can run procedural roles on a faster model and judgment-heavy roles on a stronger one.

How do parallel Claude Code agents coordinate without colliding?

They do not share a conversation. Each runs in its own tmux session, and they coordinate through Fleet's reactive event chain and the Fabric event bus — labels and Fabric events trigger the next agent in the flow rather than one agent directing the others.

Where does Fleet send my data?

Your source code stays private — it goes only to your model backend and GitHub, never to Fleet. A registered Fleet instance does push operational metadata (agent status, fabric/decision events) and usage metering (run counts and run time) to the control plane at app.fleetctl.ai. The Fleet binary is self-hosted and agents are Claude Code sessions that need a model backend; point them at Amazon Bedrock or Google Vertex to keep that model traffic inside your own cloud account, but some outbound model connectivity is always required for agents to run.

Run your first agent fleet

One binary. Five minutes. See every agent, coordinate every handoff, and keep a full audit trail of what your fleet did.