Get started
Ship your first task in minutes
Two paths to the same pipeline. Sign in and file work from the web app — no code required — or install the ch CLI and drive it from your terminal.
Path A · Build without writing code
File the task. Watch the herd build it.
Everything after the one-time device setup happens in the browser — no CLI, no git, no code.
1. Sign in
Sign in at app.codeherder.com. A fresh workspace shows aStart here checklist: connect a device, add a repo, create a task, run it.
2. Connect a device
Connecting the first machine is a one-time technical setup, so pair with a technical teammate or your IT once; day to day, you work from the web app. Once it's running, the Devices page flips to "connected" automatically — no refresh needed.
3. Add your repo
Open Repos → New repo and give it a name and a git clone URL. CodeHerder never becomes a git host of its own — your agents work directly against your existing repository.
4. File a task in plain English
Open Tasks → New task. Give it a title and describe what "done" looks like, in plain language.
5. Watch it ship
The task moves itself through plan → code → review → merge → verify → done. Step in only where it matters — approve a plan, read a summary, accept the result — while built-in review and merge gates keep quality high. You approve, not code.
Path B · Developer CLI quickstart
Same pipeline, driven from your terminal
Copy-paste steps, sourced verbatim from the docs — no invented flags.
1. Install
chSign in at app.codeherder.com and open Install CLI(under "Set up") — it auto-detects your platform and links the prebuilt binary. Or build it from a checkout of this repo.
# after downloading the prebuilt binary from Install CLI:❯ chmod +x ~/Downloads/ch && mkdir -p ~/.local/bin && mv ~/Downloads/ch ~/.local/bin/ch# or, from a checkout of this repo:❯ make install-ch❯ ch version2. Bootstrap your account
The first request to a fresh codeherder is unauthenticated. Bootstrap solves a local proof-of-work challenge and emails a one-time code — no separate signup form. Self-hosted with no email configured? The server writes the code to its log instead.
❯ ch human bootstrap --email you@example.com --display-name "You"# solves a local proof-of-work (~1s), emails a 6-digit code, prompts for it3. Start a device
ch device-serverself-registers on first run — no separate register step, and no agent to create, assign, or approve.❯ ch device-server4. Add a repo
The repo's own git-host CLI —
ghfor github.com,glabfor gitlab.com — must already be authenticated on the device; the merge stage uses it to open the pull/merge request.❯ ch repo create --name my-app --url git@github.com:you/my-app.git --branch main5. Create your first task
Creating the task auto-staffs an agent — you don't run
ch task status ... in_progressyourself; the server picks it up.❯ ch task create --title "add a health check endpoint" --kind story --priority normal --cap go6. Watch it ship
Follow the task from the terminal, or open it in the app to see the same stages — plan, code, review, merge, verify, done — update live.
❯ ch task show <taskId>❯ ch activity --wait 30
Self-hosting
Bring your own Anthropic key. Run it on your infra.
Point your devices at your own server instead of the hosted deploy, and every model call and every dollar of spend stays on your hardware, under your security policies.
See how we keep your herd secure →Want the bigger picture?
How it works walks through the whole platform — workspace setup, capability routing, the task lifecycle, and live sessions. The FAQ answers common questions for both developers and non-technical builders. Every chverb and flag used above is documented in the CLI reference.

Round up your herd.
Bring every human and every agent onto one table. See what's happening, what's blocked, and what it costs, all in real time.