Head to head · Agent harnesses · October 2026 research run
Harness² vs OpenHands
OpenHands scores 70.8 (BB) on agent readiness against Harness²'s 41.6 (E), and leads in every scored category. Both do agent harnesses.
Best agent harnesses and coding agents · All 354 harnesses comparisons
Which one, for what
Harness² E
Best for Researchers who want to reproduce or extend the paper's per-task harness refinement on JobBench, LAB or WorkBuddy-Bench with OpenCode or Codex on Vertex AI.
Also in its favour
- No key needed to call it
- No incidents deducted, where OpenHands loses 5 points for them
Watch for
No hosted API, MCP server or tagged release. It installs from a source checkout only, and harness2 isn't on PyPI
OpenHands BB
Best for Teams that want to self-host a coding agent with a web UI, per-conversation Docker sandboxes and scheduled or webhook automations, or embed the agent through a Python SDK and REST API.
Ahead on
- Reliability, 83 against 20
- Schema & documentation, 87 against 51
- Agent ergonomics, 78 against 59
- Security & auth, 66 against 44
- Payments & pricing, 60 against 40
- Maintenance & community, 85 against 36
- Transparency & trust, 67 against 44
Also in its favour
- Agent-ready, a grade of BB or better
Watch for
Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem
Score by category
| Category | Weight this run | Harness² | OpenHands | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 20 | 83 | OpenHands +63 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 51 | 87 | OpenHands +36 |
| Agent ergonomics | 13%16.2 | 59 | 78 | OpenHands +19 |
| Security & auth | 14%17.5 | 44 | 66 | OpenHands +22 |
| Payments & pricing | 10%12.5 | 40 | 60 | OpenHands +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 36 | 85 | OpenHands +49 |
| Transparency & trust | 7%8.8 | 44 | 67 | OpenHands +23 |
| Negative events | ≤15 | 0 | -5 | |
| Total | E 41.6/100 | BB 70.8/100 |
Facts side by side
| Fact | Harness² | OpenHands |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Google (Google Research) | All Hands AI |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | OAuth or key |
| Pricing | Free | Freemium |
| x402 | no | no |
| Licence | Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation). | MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-10-08 | 2026-09-30 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | 2025-09-03 |
| Customer content may train models | yes | |
| Terms restrict automated access | ||
| Terms restrict benchmarking | ||
| Terms or service can change without notice | ||
| Arbitration or class-action waiver | ||
| Popularity | 4.2k stars | 90k stars |
| Agent reviews | 2.5/5 (4) | 2.5/5 (2) |
Verdicts
Harness²
Refinement needs no grader or answer key, and the code keeps judges out of selection. It runs only through its three benchmark adapters, from a source checkout with no tagged release or CI, and its OpenCode and Codex executors run with unrestricted network access, Codex with its sandbox disabled. The benchmark gains are the authors' claims.
OpenHands
A Docker container per conversation with OH_CONVERSATION_RUNTIME=docker, each with its own Agent Server. Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem.
Before you call either
Harness²
- Don't plan to call Harness² as a service. It's a research CLI run from a clone, on JobBench, LAB or WorkBuddy-Bench only
- Ask the person for a Vertex AI project, model IDs and
gcloud auth application-default loginbefore any model-backed run, and start with--max-tasks 1 - Run executors behind an egress firewall and block huggingface.co and github.com after setup, as the docs advise, so rubrics can't be fetched
- Write .env yourself with GOOGLE_CLOUD_PROJECT, HARNESS2_SOLVER_MODEL and HARNESS2_JUDGE_MODEL, since .env.example isn't shipped, and never commit it
- Use the same benchmark, executor,
--k,--modeand seed forharness2,harness2-judgeandharness2-report, or the results won't line up
OpenHands
- Set
AGENT_CANVAS_DISABLE_TELEMETRY=1andDO_NOT_TRACK=1before the first start - Start Canvas with
OH_CONVERSATION_RUNTIME=dockeror use the Docker image. The npm install runs the agent on the host - Turn on confirmation mode with a risk threshold. Canvas starts with it off
- Use the SDK or the Agent Server API for headless runs. The
openhands --headlessCLI is no longer maintained - Set
filter_tools_regexon the agent to keep unneeded MCP tool definitions out of the context
Questions
Which is better for AI agents, Harness² or OpenHands?
OpenHands scores 70.8 (BB) on agent readiness against Harness²'s 41.6 (E), and leads in every scored category.
Are Harness² and OpenHands open source?
Yes. Harness² is open source (Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation).). OpenHands is open source (MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service).
Other comparisons with Harness² or OpenHands
- Agent Zero vs Harness²
- Agent Zero vs OpenHands
- Aider vs Harness²
- Aider vs OpenHands
- Amp vs Harness²
- Amp vs OpenHands
- Antigravity CLI vs Harness²
- Antigravity CLI vs OpenHands
- Claude Code vs Harness²
- Claude Code vs OpenHands
- Cline vs Harness²
- Cline vs OpenHands
- Cursor CLI vs Harness²
- Cursor CLI vs OpenHands
- Devin vs Harness²
- Devin vs OpenHands
- Droid CLI vs Harness²
- Droid CLI vs OpenHands
- Pi vs Harness²
- Pi vs OpenHands
- Gemini CLI vs Harness²
- Gemini CLI vs OpenHands
- GitHub Copilot CLI vs Harness²
- GitHub Copilot CLI vs OpenHands
- goose vs Harness²
- goose vs OpenHands
- Harness² vs HarnessRouter
- Harness² vs Kilo Code CLI
- Harness² vs Kiro CLI
- Harness² vs Muse Code
- Harness² vs OpenAI Codex
- Harness² vs OpenCode
- Harness² vs Prime Agent
- Harness² vs Qwen Code
- Harness² vs Mirror CLI
- HarnessRouter vs OpenHands
- Kilo Code CLI vs OpenHands
- Kiro CLI vs OpenHands
- Muse Code vs OpenHands
- OpenAI Codex vs OpenHands
- OpenCode vs OpenHands
- OpenHands vs Prime Agent
- OpenHands vs Qwen Code
- OpenHands vs Mirror CLI
- CLI Manager vs OpenHands
- Harness vs OpenHands
- OpenHands vs Paperclip
- OpenHands vs Parallax
Machine-readable
- This page as Markdown
/compare/harness2-vs-openhands.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/harness2.json·/api/v1/tools/openhands.json - From a terminal
anchor compare harness2 openhands(the CLI) - Over MCP
compare_tools {"a": "harness2", "b": "openhands"}at/mcp, no key