Leopold¶
Brief it like a teammate. It conducts Claude Code in your seat.
Leopold is an autonomous orchestration harness for Claude Code. You debate the work with it the way you already debate with Claude Code: goals, constraints, taste, what done means. That conversation becomes a durable brief. Then Leopold takes the seat and conducts Claude Code continuously, deciding the way you would, instead of stopping to ask you at every fork.
flowchart LR
You([You · the composer]) -- "debate the mission" --> Brief[(The Brief<br/>mission · charter · plan)]
Brief --> Leopold{{Leopold · the conductor}}
Leopold -- "decides from your charter" --> CC[Claude Code · the orchestra]
CC -- "status each cycle" --> Leopold
Leopold -- "only when it must" --> Notify([Notifies you])
classDef you fill:#5e60ce,stroke:#3a0ca3,color:#fff;
classDef cond fill:#7400b8,stroke:#3a0ca3,color:#fff;
class You,Notify you;
class Leopold cond;
Why Leopold?
In Bugs Bunny's Long-Haired Hare (1949), Bugs takes the podium disguised as the great conductor Leopold and runs the whole orchestra with a wave of the baton. That is the job: you are the composer, Leopold is the conductor, Claude Code is the orchestra.
-
Get started in minutes
Install the skills and hooks, then brief your first mission and hand over the seat.
-
It decides like you
A charter encodes your judgment so the run answers its own questions instead of pinging you.
-
Git stays locked
Commit, push, and destructive commands are blocked by a hook, even in fully autonomous mode.
-
Built as a real harness
Two tiers: an in-session engine that runs in plain Claude Code, and an SDK driver for unattended runs.
-
The plan runs as code
The brief compiles into a dynamic workflow: dependency waves, an adversarial verify panel per item, a live phase tree.
The problem it solves¶
A normal Claude Code session is a conversation. It pauses at every decision: "approach A or B?", "should I commit?", "do the next item or stop?". That is the right default when a human is watching, and the wrong default when you want a session to run for an hour while you do something else.
The pauses come from three places, and each needs a different fix:
| Cause | What it is | Leopold's lever |
|---|---|---|
| Safety defaults | commit/push/destructive ask first | kept locked (a hook) |
| No designated decider | "A or B" is a product call | the charter decides as you would |
| No continuity | a finished batch just stops | continuity picks up the next item |
How it works, in one picture¶
flowchart TD
subgraph P1["Phase 1 · Brief (you + Leopold)"]
D[Debate the mission] --> A[(MISSION · CHARTER<br/>GUARDRAILS · PLAN)]
end
subgraph P2["Phase 2 · Run (Leopold conducts)"]
A --> Pick[Pick next plan item]
Pick --> Work[Claude Code does the work]
Work --> Fork{Hit a fork?}
Fork -- "reversible / charter-clear" --> Decide[Decide · log · continue]
Fork -- "irreversible AND ambiguous" --> Esc[Stop · notify you]
Decide --> Done{Plan done?}
Done -- no --> Pick
Done -- yes --> Finish([Notify · all staged for review])
end
classDef stop fill:#e63946,stroke:#9d0208,color:#fff;
class Esc stop;
Ready? Start with the Quickstart, or read What Is a Harness to understand the bigger picture.