Skip to main content

CLI Fleet

Launch multiple enforced Claude Code agent teams in parallel — each team a separate claude session in its own window, coordinating via a shared filesystem mailbox. A thin, hardware-aware wrapper that completes the stack:

cli-wikia  →  cli-enforcement  →  cli-fleet
(knowledge)    (the brakes)        (the power)

cli-fleet bundles fleetcode's proven shell orchestration verbatim and adds:

  • Hardware gating — refuses to launch more parallel agents than the box can take.
  • Automatic enforcement — deploys the cli-enforcement engine into each team (hooks merged with fleetcode's mailbox hook), so every spawned team is governed.

Install

pip install cli-fleet        # pulls in cli-enforcement + cli-wikia

Usage

cli-fleet launch fleet.json            # hardware-gated, auto-enforced launch
cli-fleet launch fleet.json --background  # use `claude -p` instead of windows
cli-fleet status [meta-team]           # fleet status (auto-detects if one fleet)
cli-fleet dashboard [meta-team]        # scorecard: teams, mailbox, findings + per-team enforcement points
cli-fleet dashboard --watch 5          # redraw every 5s until Ctrl-C
cli-fleet send team-a team-b "message" --type finding   # cross-team mailbox message (--team to pick fleet)
cli-fleet cleanup [meta-team]          # tear down (auto-detects if one fleet)

Note: cli-fleet launch requires Linux with a terminal emulator (gnome-terminal/xterm family) unless --background is used.

Multi-CLI fleets (v0.3.0)

Teams are no longer claude-only: each team in the config may set an optional "model" (default claude). cli-fleet deploys the matching cli-enforcement engine into that team's workdir, merges a mailbox-check hook into the model's own hook file (without clobbering the enforcement hooks), and spawns the team via that CLI's headless command.

{
  "meta_team": "mixed-demo",
  "project_dir": "/path/to/project",
  "teams": [
    { "name": "team-claude",   "role": "backend",  "teammates": 2,
      "task": "Audit the API layer." },
    { "name": "team-gemini",   "role": "frontend", "teammates": 2,
      "task": "Audit the UI layer.",   "model": "gemini" },
    { "name": "team-deepseek", "role": "infra",    "teammates": 2,
      "task": "Audit the deploy scripts.", "model": "deepseek" }
  ]
}
model binary headless spawn mailbox hook event launch-verified?
claude claude claude --dangerously-skip-permissions -p <task> UserPromptSubmit ✅ verified
gemini gemini gemini --approval-mode yolo -p <task> BeforeAgent ✅ verified
deepseek deepseek-code deepseek-code --dangerously-skip-permissions -p <task> UserPromptSubmit ✅ verified
copilot copilot copilot --allow-all-tools --allow-all-paths -p <task> UserPromptSubmit ✅ verified
chatgpt codex codex exec --full-auto <task> UserPromptSubmit ⚠ best-effort (from wiki docs; codex not verified locally — launch prints a warning)
antigravity agy agy --dangerously-skip-permissions -p <task> PreInvocation ✅ verified

Shared state now lives at the model-neutral ~/.cli-fleet/meta-teams/ (META_TEAM_DIR env still wins). If a legacy fleetcode ~/.claude/meta-teams exists, the new root is created as a symlink to it, so old fleets keep working. The dashboard shows each team's model.

License

PolyForm Noncommercial 1.0.0 — free for noncommercial use. Commercial use requires a paid license: matrixbuilderops@proton.me

Metadata

Release files for cli-fleet 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cli-fleet 0.9.0
File Size Uploaded
cli_fleet-0.9.0.tar.gz 44.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cli-fleet 0.9.0
File Interpreter ABI Platform
cli_fleet-0.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 97.3 kB

Release files / cli_fleet-0.9.0.tar.gz

Download URL cli_fleet-0.9.0.tar.gz
Size 44.5 kB
Tags Source
SHA-256 checksum
How to use checksums
454a13a1ac6ed16f6b8a67db608e4611f3e2857ab88b951cffd2458c2918c9e0
BLAKE2b-256 checksum
How to use checksums
31bc40593aa4194dc392e5ddedbcdf39ddb63b1164953e71befd29830f6f125e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / cli_fleet-0.9.0-py3-none-any.whl

Download URL cli_fleet-0.9.0-py3-none-any.whl
Size 52.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b318da7ebacc3529f14a76815cabd0af56cbc8b86a1d5c5a1dc853d3f8e28d34
BLAKE2b-256 checksum
How to use checksums
34653afdaa6816b19af6b04b65200e7c8459c707cf0eba8cd0445b30fe574814
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

1 release file

0.5.0

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

1 release file

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page