
What happened
HarnessRouter, an open-source implementation of the Unified Harness Protocol, runs Codex and Claude Code through one Responses-style API, currently at version 2026-09-12.
Why it matters
Teams can pick or swap the agent runtime per feature without rebuilding progress, session, file, and cancellation handling in their product.
What to watch
UHP standardizes the task lifecycle but does not make harnesses behave the same, so identical prompts can still produce different plans and tools. Local sessions use separate OS users, not separate containers.
WHO IT HITSProduct and platform teams building agent features face a choice: support one runtime or maintain a separate integration per harness. HarnessRouter's shared task interface is aimed at letting them offer Codex, Claude Code, or Hermes from their own UI without redoing the task flow.
Summaries like this, in your inbox every morning.
Building an agent product usually starts with a small adapter that launches a process and reads its output. That works until the product needs live progress, session continuity, file uploads and downloads, access rules, and a defined cancellation path. Errors also have to be structured enough to separate provider failures, permission denials, time limits, missing files, and cancelled tasks. Adding a second harness beside the first means rebuilding and maintaining all of those mappings again — the reason UHP defines one task lifecycle both integrations can follow.
UHP draws a line between two kinds of routing. Model routing happens inside the inference layer, choosing an endpoint based on price, latency, context length, availability, or measured quality, while the application or harness still owns the agent loop. Harness routing selects the runtime that owns the task, which can change the tools, skills, workspace, permissions, and event stream. A product may use both layers: in UHP, the model field chooses the model while metadata.harness_id chooses the configured harness.
HarnessRouter is a self-hosted UHP server that reads the Harness ID and starts the selected runtime, recording output as UHP events, responses, sessions, files, and errors. Its Docker image carries a Console, a Gateway, and a Runner, with a named /data volume and only the Console port published. The self-hosting guide lists backends including Codex, Claude Code, Hermes, DeepSeek Harness, Gemini CLI, OpenCode, Qwen Code, Cline, and Goose. The protocol standardizes the task lifecycle but does not make the harnesses behave the same, so the practical question for a team is whether one shared way to submit work and inspect results is enough to cover the runtimes it wants to offer, and whether the local isolation model — separate operating-system users and workspaces rather than separate containers — fits how it deploys agents. The project is Apache 2.0 licensed and ships its spec, schemas, and conformance tests.
For example, today's edition would include:
AI-summarized, only the topics you pick — one digest a day via Email, Slack, or Discord.
Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →
Ask AI anything about this article. Q&As are published on this page for other readers too.
Prism ML Inc. launched Bonsai 2 27B, which compresses a Qwen3.8 27B-based model from about 56 gigabytes to abo…
CoreWeave holds its inaugural user conference in San Francisco on Sept
Gartner predicts over 40% of agentic AI projects will be canceled by end of 2027, citing rising costs, unclear…

Disney appointed Karandeep Anand, former CEO of Character.AI, as its first-ever chief technology officer; Vari…

Google introduced an updated CC AI agent that shifts from a work productivity tool to household coordination…

Moonshot AI's Kimi K3 is now on Amazon Bedrock, with a 1-million-token context window, native vision, and an a…
