# Horde — durable task orchestration for coding agents

> What Horde is, when to use it, and the one-line install.
>
> Source: https://www.horde.sh/

---

Durable task orchestration for coding agents

[Get started](https://www.horde.sh/docs)[Agent skills](https://github.com/gethamster/horde/tree/main/skills)

## What Horde does

Horde is a local Rust daemon that turns one objective into a durable workflow and coordinates coding agents against it. You submit a task — an objective plus a Git repository — and Horde plans it into steps, runs workers in isolated Git worktrees, records every event in SQLite, and integrates the result onto its own branch. Because the state is durable, execution continues after the submitting client disconnects, and interrupted work resumes instead of restarting.

It is local-first by design. The daemon runs on your machine, uses the coding agent CLIs you already have installed and signed in to, and never pushes to your remote unless you enable delivery. Remote workers are opt-in: [invite additional hosts](https://www.horde.sh/docs/deployment) over a Tailscale network and Horde schedules across them with per-host concurrency limits.

## When to use Horde

Reach for Horde when a coding task is too large or too long-running for a single agent session, and you need the work to survive disconnects:

- **Multi-step repository work** — a change that needs planning, parallel implementation, and review, integrated onto one branch.
- **Long-running jobs** — work that outlives a terminal or chat session, with durable events you can inspect and resume later.
- **Coordinating several agents** — workers claim exclusive file paths, exchange messages, and share verified artifacts and knowledge instead of colliding.
- **Driving Horde from your own agent** — connect over the stdio MCP bridge and submit, inspect, and steer tasks as tool calls.

Horde is not a hosted service and not a chat interface. If you want a single-shot edit in a file you already have open, use your coding agent directly.

## How agents call it

Horde exposes 115 operations over the Model Context Protocol. Add it as a stdio MCP server and your agent gets the full surface as typed tools:

```sh
{
  "mcpServers": {
    "horde": { "command": "horde", "args": ["mcp"] }
  }
}
```

If your agent supports the Agent Skills Protocol, the same workflow is packaged as three installable skills — one for driving Horde, one for authoring workflow templates, and one for agents running inside a Horde task:

```sh
npx skills add gethamster/horde
```

The catalog of those operations is published at [/.well-known/tools.json](https://www.horde.sh/.well-known/tools.json), connection details at [/.well-known/mcp.json](https://www.horde.sh/.well-known/mcp.json), and a summary for crawlers at [/llms.txt](https://www.horde.sh/llms.txt). These describe Horde; they are not a service to call. Source code is available at [gethamster/horde](https://github.com/gethamster/horde) under Apache-2.0. See the [agent reference](https://www.horde.sh/docs/agents) for the full list.

## Requirements

macOS or Linux on Apple Silicon / ARM64 or x86-64, plus `curl`, Python 3, and `tar` for the installer. Running real work needs Git, ripgrep, and a configured coding agent CLI on each execution host. Releases are signed and the installer verifies the signature before installing.

[Set up Horde →](https://www.horde.sh/docs)
