If you already pay for several coding-agent CLIs, you eventually want research, planning, and implementation to run in parallel.
📑Table of Contents
Hanging researcher/architect/implementer roles off one parent chat often collapses under:
- context bloat
- quota exhaustion
- expensive regeneration after failures
What Puppetmaster is
Puppetmaster is a provider-neutral open-source control plane (MIT). It turns the CLIs you already use—Cursor, Claude Code, Codex, Hermes—or keys-only agentic adapters into workers. A supervisor then routes tasks in a cost-aware way.
Results land as typed SQLite artifacts, and the project claims zero-token follow-up after stitching.
Sources this guide cross-checks
This guide cross-checks official and third-party sources:
- Official: README, PyPI package page, COMPARISON / ADAPTERS / SECURITY / MODEL_ROUTING
- Third-party: LibHunt, Libraries.io, Medium Agent Native, pepy, Snyk
The headline version in this article is research-time official daily-driver beta v1.21.10 on PyPI as puppetmaster-ai (around 2026-08-03). Mentions of 1.21.8 elsewhere are point-in-time third-party snapshots (for example Snyk/piwheels displays), not a different primary subject version.
Learning outcomes
Summary table: Puppetmaster at a glance
Core snapshot
| Lens | Takeaway |
|---|---|
| What it is | Provider-neutral control plane that supervises existing CLI / keys-only workers (MIT, Python) |
| What it is not | A “build agents in code” framework like LangGraph or CrewAI |
| Main workers | cursor / claude-code / codex / hermes / openai / agentic / shell / local |
| Cost control | models.json + capability scores + balanced / cheap / quality / escalating; decisions persist as ROUTING artifacts |
| State | Typed SQLite artifacts (payload + evidence + confidence + sha256); claims $0 follow-up after stitch |
| Setup | pipx install puppetmaster-ai → puppetmaster setup → doctor / route dry-run |
Maturity and fit
| Lens | Takeaway |
|---|---|
| Maturity | Daily-driver beta / single-author; PyPI classifier Alpha; not a hosted multi-user product |
| Good fit | Teams already paying for multiple CLIs who want subscription-aware cost control, auditable routing, and fallback |
| Poor fit | Custom graph-first workflows, single-IDE native subagents only, or multi-tenant SaaS orchestration |
Sources
Sources (as of August 2026):
What Puppetmaster is: a supervisor layer on top of CLIs
Definition and placement
The core claim is architectural. Puppetmaster is not primarily an SDK for authoring new agents. It is an operations layer that supervises CLIs and APIs you already pay for as independent worker processes.
The official tagline is: Provider-neutral control plane for durable-state agent swarms: subprocess workers, leases, artifacts, memory, and deterministic stitching.
Processing flow
The flow is:
- The supervisor accepts a task
- The model router picks worker + model by cost and capability
- An independent worker process runs the job
- Results are stored as typed SQLite artifacts
- Stitch builds a structured summary (not one shared chat transcript)
The Gunicorn/Redis metaphor is useful: supervise processes, keep durable shared state, avoid turning every follow-up into another full regeneration.
Package boundaries
Package boundaries matter in install docs:
- PyPI name:
puppetmaster-ai - Import / CLI / repo name:
puppetmaster - Bare name
puppetmasteris held by a 2019 abandoned project, hence the alias - MIT license, Python >= 3.9, extras: otel / hermes / mobile
How to read the reported numbers
README-reported internal numbers are directional, not a guarantee.
- SWE-bench Lite: roughly a three-tenths real-cost drop and nearly half the tokens when cost-aware routing is paired with durable retries—but that run is single-seed and does not claim equal quality
- NL2Repo-Bench: 91.1% mean pass rate, about double a public ~40% baseline
- Medium Agent Native: frames durable-state swarms as an answer to parent-chat role sprawl and cites an approximate 46% token-cost reduction framing
Validate every percentage with your own dry-runs.
Third-party placement
Third-party catalogs place the project as follows:
- LibHunt: catalogs it among agent-swarm peers such as shipfast, forgekit, and stato
- Libraries.io: indexes
puppetmaster-aias a Gunicorn-style swarm control package - pepy.tech: roughly 74k all-time and 33k last-30-day downloads (CI traffic included)—distribution telemetry rather than quality proof

Setup checklist: from install to route dry-run
Do not start with a giant multi-provider fan-out. Prove the loop first.
Prerequisites
- Python >= 3.9
- Target CLIs working locally (Cursor / Claude Code / Codex / Hermes) and/or API keys for agentic
- Implement jobs refuse dirty worktrees by default—use a clean tree, a worktree, or
payload.allow_dirty=true
Shortest official path
pipx install puppetmaster-ai(or pip)puppetmaster setup(idempotent MCP/hooks/rules; optional--platforms cursor, etc.)puppetmaster doctorpuppetmaster models initpuppetmaster route "task summary"dry-run (who, which model, estimated cost)- Run a review/plan job → inspect stitch → prefer a worktree for implement
Audit helpers, failure modes, uninstall
Audit helpers
Audit helpers include puppetmaster cost and puppetmaster audit (dry-run by default; --apply mutates scores). In v1.21.10, unresolved auto-routing fails fast before task creation.
Common failure modes
Common failure modes:
- Unauthenticated CLI / billing_or_quota (claude-code failure classes)
- Implement refused on a dirty worktree
- Empty models.json →
router.registry_emptyno-op fallback - Hermes does not trust exit codes (uses git diff / stdout); browser swarms require Hermes
Uninstall and next action
Uninstall with puppetmaster uninstall plus pipx uninstall; --purge-state can remove ~/.puppetmaster/ and related state.
Next action for this section: setup → doctor → one route dry-run → one cheap analyze/review job → inspect artifacts/stitch.
Adapters and cost-aware routing
Common I/O and built-in adapters
Every adapter takes Task / goal / worker_id and returns structured artifacts. Built-ins from official ADAPTERS:
CLI / IDE adapters
| Adapter | Role | Notes |
|---|---|---|
| cursor | @cursor/sdk one-shot |
Needs Node/npm/CURSOR_API_KEY |
| claude-code | Non-interactive Claude Code CLI; default permission_mode=acceptEdits | Failures: not_authenticated / billing_or_quota / dirty_worktree |
| codex | codex exec --json |
Rich telemetry; sandbox workspace-write / approval never / ephemeral |
| hermes | Headless hermes chat with process-group isolation |
Only browser-capable adapter; exit code untrusted |
Keys-only and helper adapters
| Adapter | Role | Notes |
|---|---|---|
| local | Deterministic demo/contract artifacts | Not the production workhorse |
| shell | Bounded shell + verification | Good for constrained checks |
| openai | Direct Chat Completions | Captures tokens_in/out/total |
| agentic | Keys-only standalone worker | No external CLI (OPENAI/ANTHROPIC/GEMINI/OPENROUTER/Bedrock, etc.) |
Patch artifacts
Edit-capable adapters record patch artifacts (unified diff, base SHA, revert guidance) when tracked files change.
MODEL_ROUTING pillars
MODEL_ROUTING rests on three pillars:
- User-owned models.json registry
- Transparent capability classifier (0..100)
- Policies: balanced / cheap / quality / escalating
Every routing decision is persisted as a ROUTING artifact with picked/rejected reasons and estimated cost—so you can audit later.
Auto-route boundaries:
- In scope: swarm MCP /
python -m puppetmaster runbuilt-in workers - Out of scope: IDE main-chat model picker (not hijacked)
SECURITY posture
SECURITY docs describe a local supervisor.
Absent by design
- Puppetmaster cloud
- phone-home
- default analytics
What it can do
- spawn workers
- read/write the cwd
- run shell
- classify local auth state without copying/sending secrets
- write per-project SQLite state
Guardrails
- dirty-tree refusal
- review/plan → approve → implement
- dangerously-bypass only as an external-sandbox opt-in
Constraints
- no independent security audit
- maturity is daily-driver beta / single-author
Comparison vs LangGraph, CrewAI, and native subagents
The useful question is layer fit, not feature-count theater.
Layer comparison: control plane vs frameworks
| Option | Essence | Multi-vendor | Cost routing | Stay inside subscriptions | Durable artifacts | Auto-fallback | Setup | Maturity |
|---|---|---|---|---|---|---|---|---|
| Puppetmaster | Supervisor over existing CLIs | Strong | Per-task, auditable | Plan-first emphasis | Typed SQLite | Claimed | pipx + setup | Beta / single-author |
| LangGraph | Code your control flow | Depends on you | Build it | Build it | Build/external | Build it | Graph design is the product | High |
| CrewAI | Role-based rapid prototype | Medium | Limited | Limited | Framework-dependent | Framework-dependent | Low–medium | High |
Anthropic stack and IDE-native options
| Option | Essence | Multi-vendor | Cost routing | Stay inside subscriptions | Durable artifacts | Auto-fallback | Setup | Maturity |
|---|---|---|---|---|---|---|---|---|
| Claude Agent SDK / Code subagents | Anthropic-centered execution | Weak | In-provider | Easy inside one sub | Session-dependent | Provider-dependent | Low | High |
| IDE native subagent only | One-off IDE tasks | Weak | Manual | Inside that IDE bill | Often weak | Manual | Lowest | Product-dependent |
Comparison sources
Sources: docs/COMPARISON.md, GitHub README, LibHunt (as of August 2026).
When not to pick it / when to pick it
Official “don’t pick Puppetmaster” guidance maps cleanly:
- Custom control flow in code → LangGraph
- Role-based fast prototype → CrewAI
- Anthropic-only stack → Claude Agent SDK / Code subagents
- One-off IDE tasks → native subagent
Pick it when you already pay for multiple CLIs and want:
- subscription-aware cost optimization
- auditable routing
- failure fallback
- free follow-up against completed job artifacts
Decision questions
- Do you already pay for two or more coding-agent CLIs?
- Do you need to audit cost and model choice after the fact?
- Do you want results as an artifact DB rather than chat residue?
- Can you accept beta / single-author risk?
Related reading
Related reading on this site:
- wmux multi-CLI workspace multiplexing
- Better Harness loop scoring
- Agent Teams role design
- Keystroke agent automation
Fit, anti-fit, and operational caveats
Good fit
- Multi-provider research fan-out
- Task-level “cheap enough” routing with escalate-on-need
- Repeated follow-up on finished work without regenerating tokens
- Using Hermes browser capability for only part of a swarm
Poor fit / caution
- Hosted multi-tenant orchestrator needs (explicitly out of scope)
- Mature framework ecosystem and long-term support as top priority
- Org gates that allow only independently audited components
- Sloppy implement jobs on dirty trees
Third-party health and maturity
Third-party health snapshots (point-in-time):
- Snyk: package health 72/100 with no known direct vulns on the displayed 1.21.8 line
- pepy: ~33k downloads in 30 days (possibly CI-heavy)
Official COMPARISON is candid that the project is young, single-author, and daily-driver beta—existing frameworks win on maturity.
Security reminder
Security reminder:
- even if Puppetmaster does not exfiltrate secrets by design, worker CLIs still touch shell and LLMs
- evaluate it under the same threat model as your current coding agents
FAQ
Q1. Is Puppetmaster a LangGraph replacement?
No—different layer. LangGraph is a library for coding control flow. Puppetmaster is a control plane for supervising already-paid CLIs. If the product is your custom graph, stay with LangGraph. If the product is multi-CLI operational supervision, evaluate Puppetmaster.
Q2. Which CLIs are required? All of them?
None of “all.” Wire only the adapters you use. If you do not want more CLIs, use keys-only agentic. Browser swarms specifically depend on Hermes.
Q3. Will costs actually drop?
README figures on SWE-bench Lite point to:
- about a three-tenths real-cost cut
- nearly half the tokens in the authors’ internal run
- no quality-parity claim
Medium’s third-party piece uses a ~46% framing. In practice, run route dry-run and cost in your environment before trusting any headline percentage.
Q4. Can we put this in production services?
Official positioning is supervised local engineering / daily-driver beta, not hosted multi-user. PyPI still classifies Alpha. Start with local trials and an explicit threat model.
Q5. What is the first successful path?
setup → doctor → models init → route dry-run → one cheap analyze/review job → inspect artifacts/stitch → implement in a worktree if needed. Avoid large fan-out on day one.
Q6. Hermes, Cursor, or Claude Code first?
Start with your daily driver. Need browser? Hermes. Want to leverage IDE spend? cursor or claude-code. Clear auth and dirty-tree issues with doctor first.
Conclusion and next actions
Takeaway
Puppetmaster is not “yet another agent SDK.” It is a control plane for supervising CLIs you already pay for, with cost-aware routing and durable typed artifacts as the main bet. This article’s subject version is research-time daily-driver beta v1.21.10.
Why try it / why trial carefully
Reasons to try it:
- multi-vendor fan-out
- auditable routing
- artifact follow-up
- fallback
Reasons to trial carefully:
- beta maturity
- single-author risk
Checklist for today
- List the CLIs you already pay for and pick 1–2 adapters to supervise first
- Run
pipx install puppetmaster-aiandpuppetmaster setup --platforms <adapter> - Confirm environment and estimates with
puppetmaster doctorandpuppetmaster route "..."dry-run - Run one cheap review/plan job and inspect SQLite artifacts + stitch output
- Use the comparison table to decide whether your bottleneck is control-flow coding or operational supervision
- Pre-commit skip conditions: multi-tenant required, unaudited components forbidden, single IDE is enough, or beta is unacceptable
Primary sources
Start from these primary sources before scaling fan-out:
Author
krona23
Over 20 years in the IT industry, serving as Division Head and CTO at multiple companies running large-scale web services in Japan. Experienced across Windows, iOS, Android, and web development. Currently focused on AI-native transformation. At DevGENT, sharing practical guides on AI code editors, automation tools, and LLMs in three languages.
🔥 Most Popular
- Claude Desktop Won't Install? Windows & Mac Fixes That Worked (2026)
- Claude Pricing: Free, Pro, Max & Team Plans Compared (August 2026)
- Claude Cowork Automation — 5 Real Use Cases (2026)
- AI Code Editor Comparison 2026: 6 Tools Tested, Why I Use Zed + Claude Code
- How to Reduce Verbose Claude Code Comments with WHY Rules (2026)













Leave a Reply