HarnessRouter puts Codex and Claude Code behind one Responses-compatible API

HarnessRouter's Apache-2.0 Community Edition runs agent harnesses like Codex and Claude Code as swappable backends behind one self-hosted API.

HarnessRouter Community Edition is a self-hosted, Apache-2.0 layer that runs existing agent harnesses, including Codex, Claude Code, Hermes, Pi and DeepSeek Harness, behind one OpenAI Responses-compatible API. If you're wrapping an agent into a product, this matters because swapping harnesses is harder than swapping models. A harness brings its own sessions, event stream, file handling and failure modes. The project says it standardizes these across harnesses through its Unified Harness Protocol (UHP). You pick the backend per request with metadata.harness_id.

Setup is one Docker command, about 4 GB of disk and your own provider API key. No HarnessRouter account is needed. Two cautions from the README: the default Console login is harnessrouter/harnessrouter, so keep the instance on loopback until you change it. The container also needs root to manage per-session users. Sessions get separate workspaces and OS users, not separate containers.

OrangeBot's listing notes that the HarnessRouter team initiated and maintains UHP itself. It also says managed concurrency, isolation and tracing sit in a Cloud tier with unpublished pricing. The Menon Lab reads the repo's conformance suite as a sign UHP is meant for other implementers. Whether anyone besides HarnessRouter implements it is unclear. It is also unclear who is behind the project, how widely it's used, and whether the repo's eight-configuration benchmark is reproducible.

Check your auth before you ship. Anthropic's Agent SDK docs say third-party products may not offer claude.ai login or rate limits unless approved, and should use API keys. If you only need Claude, the Agent SDK gives you Claude Code's loop and tools directly, though it doesn't let you switch harnesses.

Sources