Claude Code. The realization was simple: why spend months building a harness when labs and open-source communities have already perfected them? We should be treating agent harnesses like we treat LLM endpoints—just call the best one available instead of trying to "train" or build your own infrastructure.
That's why HarnessRouter exists. It acts as a canonical API that lets you use managed harnesses as your actual product backend. The core problem it solves is that every harness has a different request/response format, making them totally incompatible. To fix this, the team introduced the Unified Harness Protocol (UHP). If you've used LiteLLM to standardize model calls, UHP is essentially the same concept but for agent harnesses. It handles the messy parts like session management, event streaming, artifact delivery, and failure handling so you don't have to.
If you want to get a real-world deployment running locally to see how it handles different tasks, you can spin it up via Docker.
Local Deployment Steps #
- Pull the image and run the container:
docker pull harnessrouter/harnessrouter
docker run -d --name harnessrouter -p 127.0.0.1:3000:3000 -v harnessrouter:/data harnessrouter/harnessrouter
- Monitor the logs:
docker logs -f harnessrouter
- Once you see "ready on :3000", head to
http://localhost:3000
in your browser. Use harnessrouter
for both the username and password.
- Navigate to the Integrations page to plug in your API keys. Under the Harnesses tab, you can route to Codex, Claude Code, or Hermes. You can even customize the instructions, skills, and MCP tools for each.
For those looking for a practical tutorial on what this actually enables, there are starter kits available for building things like BI Dashboard agents, Spreadsheet agents, and even video generation tools. Instead of writing a complete guide for every single use case, they've provided an AGENTS.md
file that your own coding agent can read to integrate your app with the available harnesses.
This approach completely changes the AI workflow. Instead of worrying about the plumbing of how an agent executes a loop, you just focus on the specific skills and tools the agent needs to solve the problem. It's a much leaner way to build an LLM agent-based product without getting bogged down in the infrastructure.
Codex weekly limits are disappearing way too fast for me 4h ago
GitHub PRs are completely falling apart under the weight of 18h ago
AI is actually a rolling sequence of bubbles rather than one 1d ago
Is jailing anti-AI protesters actually a sign that we're losing 1d ago
Why knowing the basics is actually more critical now that AI can 1d ago
Mocktail v4 lets you spin up a mock API server in a 25MB binary 2d ago
Next Stop letting your GPU idle while your CPU struggles to feed it →
a library of Claude prompt techniques, with plenty of directly applicable cases.