HarnessRouter: Self-Hosted Unified Agent Harness Interface for 30 Agent Harnesses
Open-source under Apache-2.0, the HarnessRouter Community Edition runs in a single Docker container and uses the Unified Harness Protocol (UHP) and an OpenAI Re

Image source: https://github.com/HarnessRouter/harnessrouter
In an October 2026 X post, Avi Chawla wrote that developers had open-sourced HarnessRouter, an infrastructure layer that connects agent harnesses through a single unified interface.

Image Credit: HarnessRouter
Traditionally, integrating multiple agent harnesses required building separate management logic for sessions, streaming, and file handling for each tool. HarnessRouter solves this complexity by introducing the open standard Unified Harness Protocol (UHP) alongside an OpenAI Responses-compatible API.
Unified Harness Protocol (UHP) and Single API Integration
HarnessRouter supports 30 agent harness bases: Codex, Claude Code, Hermes, Pi, DeepSeek Harness, OpenCode, Kilo Code, Qwen Code, Gemini CLI, Cline, Oh My Pi, goose, Kimi Code CLI, MiniMax Code, Aider, OpenHands, CheetahClaws, Grok Build, Agent Zero, System One, Qoder Cloud Agent, MiMo Code, jcode, OpenSquilla, nanobot, ZeroClaw, Mistral Vibe, Docker Agent, fast-agent, and Deep Agents Code.
- Native Runtime Retention: According to Avi Chawla's X post, HarnessRouter retains behavior native to each harness while standardizing how Grok Bot communicates with the HarnessRouter server.
- Standardized Session Control: Persistent sessions, progress streaming, file/artifact generation, cancellation, and structured failure handling are all handled through the same interface.
Local Self-Hosting via a Single Docker Container
Released under the Apache-2.0 license, the HarnessRouter Community Edition is self-hosted on infrastructure you control.
- Prerequisites: A running Docker environment, approximately 4 GB of disk space, and your own provider API keys.
- Quickstart Command:
docker run -d --name harnessrouter \
-p 127.0.0.1:3000:3000 \
-v harnessrouter:/data \
harnessrouter/harnessrouter
After starting the container, monitor initialization via docker logs -f harnessrouter. Once ready, open http://localhost:3000 in your browser and sign in using the default credentials (harnessrouter / harnessrouter). Changing the default password in your profile upon first login is strongly recommended.
- Bring Your Own Key (BYOK): Register your preferred model provider API keys directly via the account rail to authorize model requests for your agents.
Product Integration and Infrastructure Control
HarnessRouter enables product backends to call your self-hosted instance's OpenAI Responses-compatible API and select specific harnesses using metadata.harness_id. This decouples product logic from harness engineering and lets teams switch among agent backends; the lowest-cost and fastest configurations can vary by task.
Sources
- GitHub Repository: HarnessRouter/harnessrouter
- X post by Avi Chawla: @_avichawla Status 2113954302901256597