evolution init [REPO] --eval CMD [--name NAME] [--direction DIR] [--agents RUNTIMES]Bootstrap Evolution in a git repository. Creates evolution.yaml and evolution_grader.py.
| Flag | Default | Description |
|---|---|---|
REPO |
. |
Path to git repository |
--eval |
(required) | Eval command (e.g., pytest tests/ -q) |
--name |
repo dirname | Session name |
--direction |
higher_is_better |
Score direction |
--agents |
claude-code |
Comma-separated runtimes |
evolution run [--config FILE] [--resume]Start a session. Spawns the manager, creates worktrees, starts all agents.
evolution status [--agent NAME]Show session status: agents, scores, uptime.
evolution stopGracefully stop the session and all agents.
evolution reportGenerate a session summary with per-agent breakdown.
evolution export [--format json|csv]Export attempt data.
evolution eval -m "description"Submit current worktree state for grading. When an eval queue is configured, returns immediately with a queue position. Results arrive in the agent's inbox. Without a queue, grades synchronously.
evolution note add "text" [--tags tag1,tag2]Share a finding with all agents. Use structured tags: technique, dead-end, paper, competitor, finding, working-on, done.
evolution notes list [--agent NAME] [--tag TAG]List all shared notes, optionally filtered by agent and/or tag.
evolution claimsShow active work claims across all agents. Agents post WORKING ON: notes (or --tags working-on); claims shows which are still active.
evolution diff AGENTShow another agent's code changes relative to HEAD. Returns git diff output from their worktree.
evolution cherry-pick AGENT FILECopy a file from another agent's worktree into your own. The calling agent is detected automatically from the working directory. Path traversal is rejected.
evolution hypothesis add "text" [--metric METRIC]
evolution hypothesis list [--status open|validated|invalidated]
evolution hypothesis resolve ID --validated|--invalidated --evidence "..."Track structured hypotheses. Agents post predictions, test them, and resolve with evidence. Open hypotheses are visible to all agents.
evolution skill add FILEPublish a reusable technique (markdown file).
evolution skills listList all published skills.
evolution attempts listShow the leaderboard (all attempts sorted by score).
evolution attempts show IDShow full details for a specific attempt.
evolution msg TARGET MESSAGE
evolution msg --all "message to all agents"
evolution msg --role researcher "message to all researchers"
evolution msg agent-1 "focus on temporal reasoning"Send a message to agents. Delivered as a file in their inbox.
evolution pause AGENT
evolution resume AGENTPause/resume an agent. Paused agents cannot submit evals.
evolution kill AGENTTerminate an agent and remove its worktree.
evolution spawn [--clone AGENT] [--role ROLE] [--runtime RUNTIME]Spawn a new agent mid-session. Use --clone to copy config from an existing agent, or --role + --runtime to create from scratch.
evolution merge [--agent NAME] [--branch BRANCH] [--dry-run]Create a new git branch with the winning agent's changes and a generated changelog. Without --agent, picks the best-scoring agent. --dry-run shows the changelog and file count without creating the branch. The commit message includes top attempts, key findings, and hypothesis resolutions.
When running inside a worktree (.evolution/worktrees/<name>/), the CLI automatically detects the agent name from the working directory. Agents don't need to pass --agent flags.
All commands except init and run send JSON requests to the manager via a Unix domain socket at .evolution/manager.sock. If the manager isn't running, commands will fail with "cannot connect to evolution manager."