Working with the Maestro CLI

Five specialised squads.
One Claude Code session.
Zero data leaving your machine.

Maestro coordinates up to five parallel Claude Code squads against a shared workspace. Specialised roles, dependency-ordered work, quality gates, security scanning. Bring your own key.

$ mso dispatch --max-crews 3
# Maestro v5.17.0 (workspace MSO)
 
[OK] Squad 1 (Vanguard) PLN Sonnet → PLN-MSO-2026-0042
[OK] Squad 2 (Striker) BLD Sonnet → FTR-MSO-2026-0107
[OK] Squad 3 (Bursar) SEC Haiku → SEC-MSO-2026-0019
 
# Three squads running in parallel. mso status to monitor.
How it works

Three steps. No SaaS in the middle.

Maestro is a Python CLI. It runs on your machine, talks to your Anthropic key, and orchestrates Claude Code sessions you already have access to.

01

Install + scaffold

One pip install maestro-fleet from PyPI, with no GitHub credentials needed. Activate your licence, then scaffold a workspace with mso init.

$ pip install maestro-fleet
$ mso licence activate <YOUR_KEY>
$ mso init --project MYPROJ
02

Plan a voyage

A voyage is a sprint. Drop orders into .mso/queues/orders/. Each order names a role: PLN, BLD, TST, DOC, SEC, REL.

$ mso voyage create "Auth refactor" --project MYPROJ
$ mso order create "Add SSO" --type FTR --project MYPROJ --target-role BLD
03

Dispatch the fleet

Up to five squads run in parallel. Quality gates between roles. Security scans on every write. Real-time status in your terminal.

$ mso dispatch --max-crews 5
$ mso status
Live demos

See it run

A real quickstart session: install, check your licence tier, scaffold, create a voyage and an order, and dispatch your first crews.

Meet the personas

Same engine. Your team's voice.

Maestro ships five built-in personas. Each persona changes how squads address the operator, the terminology in prompts, and the flavour of CLI output. The orchestration mechanics are identical underneath.

⚓ Nautical Default

The classic Maestro experience. You are the Captain; Claude is your Quartermaster. Squads are crews; deployments are voyages.

OperatorCaptain
Lead agentQuartermaster
SquadsCrews
SprintVoyage
# Nautical persona CLI output
 
$ mso dispatch
⚓ Fleet Command v4.3.1 (workspace MSO)
 
Setting sail on voyage VOY-MSO-2026-0040...
 
[OK] Crew 1 PLN Sonnet → RUNNING
[OK] Crew 2 BLD Sonnet → RUNNING
[OK] Crew 3 SEC Haiku → RUNNING
 
# Aye, Captain. Three crews underway.

Set your persona: run mso settings set persona nautical, or export MAESTRO_PERSONA=nautical to override it for a single process. mso setup also offers a persona step. The installation and configuration guide has the full reference.

Why Maestro

What you get that single-agent setups don't

Parallel specialised squads

Six bound roles (Planner, Builder, Tester, Documenter, Security, Releaser), each running on the right model tier (Haiku for read-only security review; Opus for planning and release decisions). Squads dispatch in waves: planning waits on nothing, building waits on planning, QA waits on building. Five Claude Code sessions running concurrently against the same repo without stepping on each other.

$ mso dispatch --max-crews 5
$ mso status
 
Squad 1 Vanguard PLN Sonnet RUNNING iter 3/25
Squad 2 Striker BLD Sonnet RUNNING iter 7/25
Squad 3 Bursar BLD Sonnet RUNNING iter 4/25
Squad 4 Rigger SEC Haiku RUNNING iter 2/25
Squad 5 Harbormaster TST Sonnet RUNNING iter 9/25

Quality + security gates

Structured acceptance criteria attach to every order. The Tester validates each one: file-exists, manual judgement, or an arbitrary shell command exit code. The Releaser will not recommend a merge unless every gate has passed, and the merge itself stays yours to make. Pretool secret detection blocks AWS keys, GitHub PATs, OpenAI tokens before they hit a commit. Posttool OWASP/CWE scanning runs against every Security review.

$ mso security scan --voyage VOY-0026
# TST validation report: FTR-MSO-2026-0094
[PASS] AC-1: licence module exists
[PASS] AC-2: dual-mode auth preserved
[PASS] AC-3: env-var bypass works
[PASS] AC-4: 14-day grace verified
 
# REL security gate
[PASS] 0 unresolved CRITICAL / HIGH

Bring your own key. Run on your machine.

Maestro is a Python CLI installed via pip. There is no Maestro server. Your code never crosses the network to us. Your Anthropic API key is yours; you pay Anthropic directly for token usage. The audit trail, voyage state, and order history all live in .mso/ next to your code. Air-gapped operation supported.

$ mso data-flow --mode air-gapped
# Egress allowlist (workspace.json)
"dataResidency": {
  "mode": "restrictive",
  "allowedDestinations": [
    "api.anthropic.com",
    "api.github.com"
  ]
}
Running a fleet

The commands you reach for on day two

Install and dispatch get you started. These are what running a fleet actually looks like.

Check it without touching it

mso doctor is a read-only self-check across the dispatcher, crews, orders, voyages and machine hygiene. Every finding proposes a command; nothing is mutated for you. It works with the dispatcher stopped, which is exactly when you need it.

Stop without breaking anything

mso pause drains: no new work is claimed, running crews finish their turn, then the dispatcher exits cleanly. Nothing is killed, salvaged or retried.mso resume picks straight back up.

Point it at your stack

GitHub or Bitbucket for source, GitHub Actions or Jenkins for CI, GitHub Issues or Jira for tracking. A provider you have not configured is reported as a named skip, never a silent pass.

Leave something watching

mso lead start runs a per-workspace background agent that survives your terminal closing. It patrols on a cadence and handles two reversible chores on its own, logging each one. It never merges a PR or touches production code unattended.

# Is anything wrong, and what do I run about it?
$ mso doctor
 
# One settings registry, shared by the CLI and the Hub
$ mso settings set dispatch.maxCrews 3
 
# Not a GitHub shop? Say so once.
$ mso providers set scm bitbucket --config workspace=acme --config repo=payments
 
# Drain, then carry on. No cleanup, no retries.
$ mso pause
$ mso resume
 
# A resident agent, and the dashboard
$ mso lead start
$ mso hub start --open

mso hub start serves the dashboard from the pip package itself: no Docker and no Node. The Hub and the resident agent are licensed features; talk to us about an edition.

If you've tried…

How Maestro differs

Other coding agents in your toolbox. Where each fits, and where Maestro fits instead.

Cursor / Copilot Workspace

Single-developer, in-IDE pairing. Brilliant for inner-loop edits.

Maestro runs five orchestrated squads against shared workspace state: not in-IDE, complementary.

Devin / Blitzy

Cloud-hosted autonomous agents. Their servers, their orchestration, your code goes to them.

Maestro runs entirely on your machine with your key. No SaaS in the loop.

Claude Code on its own

Single session, no orchestration, no role separation, no quality gates.

Maestro is a productivity layer on top of Claude Code: five sessions, six roles, gates between them.

From Maestro's own codebase

The fleet fixed it better than we did.

A bug was found mid-session. The LEAD hand-applied a fix in five minutes. A Maestro crew independently fixed the same bug, more robustly and with tests. The crew won on every quality dimension.

BUG-MSO-2026-0315 (two implementations)
# LEAD hand-applied (~5 min)
_prev_role = (data.get("roleSucceededBy") or {}).get("role", "")
if _prev_role: # silently skips if field absent
order_ledger.record_advanced(...)
# Crew BLD, commit 1973c9f (~20 min)
idx = sequence.index(next_role)
from_role = sequence[idx - 1] # always resolves
order_ledger.record_advanced(...) ✓
+ tests written by Leopard (TST)
Built for teams that can't ship code to a vendor

Control is the feature

Most coding agents trade control for convenience. Maestro is the opposite trade.

Bring your own key

You sign up with Anthropic directly. We never see your tokens, and we take no margin on your model usage.

Runs locally

Pip-installed CLI. No Maestro server in the request path. Your repo, your shell, your machine, from start to finish.

Egress controlled

Restrictive and air-gapped modes refuse outbound HTTP outside your allowlist. mso data-flow renders every host the framework would reach for.

Editions

Start solo. Scale with your team.

You always pay Anthropic directly for the model usage. Maestro's licence covers the orchestration layer.

Community

Free for solo developers. 1 project, 2 squads, 4 roles (INV / PLN / BLD / TST), pretool secret detection, voyage and order schema, chart visualization.

Get started free →

Install Maestro

Published on PyPI, no GitHub credentials needed. You'll be dispatching squads inside 90 seconds.

$ pip install maestro-fleet
$ mso licence activate <YOUR_KEY>
$ mso setup
 
# Then dispatch your first fleet:
$ mso dispatch