v0.29.0: Kilo Code, MiniMax Code, Grok Build and Agent Zero
Four new harnesses
HarnessRouter 0.29.0 adds four agent harnesses, bringing the open-source edition to twenty. Each installs on first start, runs behind the same Responses API, and takes the same plugins, skills, MCP servers, tool policy and browser as every other base.
| Harness | Base id | Upstream | License |
|---|---|---|---|
| Kilo Code | kilo |
Kilo CLI 7.8.1 | MIT |
| MiniMax Code | minimax |
MiniMax Code 0.5.4 | MIT |
| Grok Build | grok |
Grok Build 1.0.41, by SpaceXAI | Apache-2.0 source, SpaceXAI's own binary |
| Agent Zero | agentzero |
Agent Zero v2.13 | MIT |
docker run -d -p 3000:3000 -v hr-data:/data harnessrouter/harnessrouter:0.29.0
All four are in the default HR_BACKENDS. Agent Zero is the large one (about 640 MB on the data volume); leave it out of HR_BACKENDS if you do not want it.
Measured
Every scenario was driven through the console on a self-hosted instance. Full model catalog, five scenarios per harness and model (first turn, follow-up, model switch, file artifact, recall after a sandbox recycle):
| Harness | Models | Scenario runs passed | One conversation across every model family | Plugins, custom harness, browser |
|---|---|---|---|---|
| Kilo Code | 59 | 291 of 295 | 13 of 13 | pass |
| MiniMax Code | 57 | 283 of 285 | 14 of 14 | pass |
| Grok Build | 56 | 279 of 280 | 14 of 14 | pass |
| Agent Zero | 56 | 267 of 280 | 14 of 14 | pass |
The rows are in docs/support-matrix.md and the account of every failure in docs/support-matrix-notes.md ("Four bases in one release"). A model that failed twice the same way on a harness is not offered on it.
Fixes that reach every harness
- A conversation handed from one model to another no longer breaks on what the earlier model left behind: an image in a tool result, a tool call with an empty id, or two tool calls with one id.
- A tool whose schema has
oneOf,anyOforallOfat its root now works on OpenAI models as well as Claude. - A provider that stops answering mid-stream is reported as a failure with its reason, not as an empty answer.
- Per-turn configuration that can carry MCP credentials stays out of session checkpoints, and OpenCode's direct Anthropic turns go through the relay, so the agent never holds the connection's key.
Thanks
The four harnesses and the suite work behind them are by @ZixiaoL (#362, #363, #364, #365, #366), landed together in #373.
Full Changelog: v0.28.7...v0.29.0