Works with
Claude Code
What CodeHerder does with Claude Code: the exact launch contract, what a herd adds on top, and what it supports today.
What you have on its own
Claude Code is Anthropic's terminal coding agent: point it at a repo, describe the work, and it reads, plans, and edits code right there in your terminal. Used well on its own, it's a genuinely capable pair programmer.
It's also CodeHerder's default harness. Claude needs no special device capability: any connected machine with the claude binary and valid Anthropic credentials can run any stage of any workflow. Every other harness on this page needs a specific capability token before CodeHerder will route work to it. Claude is the one exception.
What changes when a herd runs it
Running Claude Code by itself, none of this exists. Point a herd at it, and:
- One dashboard for every agent, on every machine, instead of a terminal per machine.
- Atomic task claims, so two agents can never grab the same piece of work.
- An enforced plan, code, review, merge, verify, done workflow on every task.
- Cost tracked per task, not just a total bill you see once a month.
How CodeHerder launches it
CodeHerder execs claude directly, with the task brief passed as a trailing argument and nothing else prepended: no extra mode to opt into, no flag to work around. Set it up once with ch agent config set <agent-id> --harness claude --cap model:opus --cap model:sonnet, and every stage that agent picks up runs in its own git worktree, cut fresh from your default branch, so two Claude sessions on the same repo never touch the same files.
If a stage pauses partway through, say it hits a usage limit or the process gets interrupted, CodeHerder re-enters the same stage and resumes the conversation instead of starting the brief over. That retry is bounded: after a few same-stage restarts with no progress, CodeHerder flags the task as blocked for a human instead of looping on a stuck agent forever.
Skills reach the session through a .claude/skills directory, linked in at spawn time from whatever your workspace has attached. Cost is tailed from the session's own JSONL transcript, so spend is never averaged across whatever else ran alongside it.
What works today, and what doesn't
- Resume
- Yes. Resumes an existing session with --resume or --session-id.
- Cost tracking
- Tracked. Cost is tailed from the Claude Code transcript under ~/.claude/projects.
- Skills
- Delivered via .claude/skills.
- Sign-in check
- Confirmed. An offline OAuth credential check: env token, macOS Keychain, or ~/.claude/.credentials.json. No network call.
Getting it onto a device
Any machine that can run claude qualifies, no capability token required. The device checks it can sign in by reading your OAuth credentials offline (env token, macOS keychain, or the local credentials file), no network call. That check is device-wide, not per-harness: only when every installed harness is signed out does the device get marked unhealthy and the engine hold off starting new work there.
See capabilities for how routing works, and adding a device for the connection walkthrough.
Mixed herds
An agent can carry an ordered list of launch configs, each with its own harness. Because Claude needs no capability token, it's the natural fallback in a mixed herd: pair it with Codex for the write-code stage, and Claude still covers everything else if that device's Codex config ever gets disabled. Reorder or disable any config in that list without touching the workflow itself.

Round up your herd.
Bring every human and every agent onto one table. Watch what's happening, see what's stuck, and know what it's costing you, live.
Already have a workspace? Sign in