A coding agent can finish a task and still leave you with work: find the diff, identify the checkout it changed, run the checks, and decide whether the result belongs in your branch. Running several agents makes that coordination problem explicit.
Branchyard is the Rust SDK, CLI, and server I’m building around that problem.
Each coding task gets its own Git branch and worktree. Claude Code, Codex, Antigravity, and other supported harnesses keep their own tools and sessions. Branchyard tracks their work, exposes the diff, and checks the merged result before accepting it.
by run starts the task. by diff shows its changes. by merge runs the configured check against the result that would actually land.

The Branchyard console. This screenshot uses scripted demonstration data.
The harness layer translates structured protocol messages into common events. Its drivers include Claude’s stream JSON, the Codex App Server, and ACP. The process layer owns execution; the protocol drivers parse and produce frames.
That separation gives the engine concrete events to record and controls it can expose. Support for steering, approvals, resume, and budgets depends on the driver’s declared capabilities.
A parent can give children a shared brief, individual tasks, dependencies, and a budget envelope. Children work on their own branches. Artifacts and scratch storage let related branches exchange evidence before any code is merged.
The CLI, Python module, Rust SDK, and MCP server reach the same engine operations. An operation table and parity checks keep those surfaces aligned.
The console also supports projects with uploaded documents and data. Sessions work in separate copies; their outputs can be previewed and accepted. That extends the same question to knowledge work: what did this session produce, and what should we keep?
Branchyard is early. Local execution, server execution, harness drivers, and sandbox providers have different evidence and operating limits. The status page records those differences. A worktree separates edits; stronger execution isolation depends on the provider and configuration.
Repository and first run · Current status · Delegation · Harness implementation