Hermes Kanban is a feature of 📝Hermes Agent — shipped in v0.13.0 — that gives the runtime a durable multi-agent board where parallel workers claim tasks, send heartbeats, and recover from crashes without manual intervention.
The pattern it replaces is single-threaded agent execution, where one agent works one task at a time and a stalled or crashed worker stops the whole pipeline. Kanban introduces durable task state and worker liveness so an orchestrator can dispatch a 📝subagent per task and the board itself recovers a stalled worker rather than dropping its task on the floor.
The audience is Hermes operators building multi-step pipelines that need real parallelism — bulk processing, fan-out research, or long-horizon goals broken into discrete pieces — and who would rather not rebuild heartbeat-and-reclaim plumbing for every agent they ship.
Key Capabilities
- Durable task board — task state persists outside any worker so crashes, restarts, and reclaims don't lose in-flight work or its intermediate artifacts.
- Heartbeat and reclaim — workers send heartbeats while running; the board detects zombies and reassigns the task to a fresh worker after a configurable timeout.
- Auto-block on incomplete exit — workers that exit without marking completion auto-block the task pending review rather than leaving it as silently-failed.
- Per-task retries with backoff — failed tasks are retried under a configurable schedule before being escalated to manual review, so transient failures self-heal.
- Hallucination recovery — heuristics detect when a worker's output diverges from the task's stated goal and trigger a fresh worker with the original context preserved.
Getting Started
- Install or upgrade to Hermes Agent v0.13.0 or later.
- Initialize a Kanban board for your agent through the Hermes CLI or config.
- Define tasks via the board API or as part of a
/goaldecomposition. - Launch worker subagents that pull from the board to process tasks in parallel.
- Monitor task state and worker heartbeats through the Dashboard or board status command.
