Introduction
vexillum orchestrates coding agents from your terminal, one commander, many soldiers, each in its own camp.
vexillum is a CLI orchestrator for code agents, written in Go. You talk to one agent, the commander (Claude Code by default). It dispatches soldiers (more agent sessions, Claude Code by default) in parallel. Each soldier works in its own git worktree (a camp) so parallel work never collides, and hands back either a change to land (a mission) or a written report (a scout). A background sentinel watches the soldiers and wakes the commander only when something needs attention.
You do not learn a new interface: you keep talking to your agent, and the commander calls vx for you.
> dispatch a soldier to refactor the payment module
Bash(vx dispatch "refactor the payment module" --kind mission --model sonnet)What vexillum is, and is not
- A single Go binary. It does deterministic plumbing: it creates worktrees, starts sessions, tracks state on disk, and refuses unsafe operations. It installs by Homebrew or a curl script, with no runtime dependencies.
- Not the brain. The commander's judgment (when to dispatch, which model to pick, when to ask you) lives in markdown: a short core in a block of your own
AGENTS.md(orCLAUDE.md), plus skills the commander loads when it needs them.vx initwrites them into your project, after asking. You can read and edit them. See AGENTS.md and rules. - Claude Code, Pi and OpenCode. The commander is Claude Code by default, or Pi or OpenCode when you pick one with
vx init --commander. A soldier runs on Claude Code by default, or on Pi or OpenCode when its model profile says so. Other harnesses are not supported yet. Contributions are welcome: see Contributing. - herdr for panes. Soldiers run in herdr panes.
vx doctorchecks for it but never installs it.
Where to go next
Install
Quickstart
How vexillum works
CLI reference
Soldiers have full host access
A soldier runs with full permissions (Claude Code with --dangerously-skip-permissions, Pi, which has no permission prompts, or OpenCode with --auto), under your OS user, with no container or sandbox. The camp only bounds where its commits land. Nothing reaches your project's real history until you approve landing it. Never dispatch against a repository or machine where reading credentials would be a problem.