Head to head · Multi-agent orchestration · October 2026 research run
AXLR vs Harness
AXLR scores 70.6 (BB) on agent readiness against Harness's 60 (C), and leads in 5 of 7 scored categories. Harness leads on schema & documentation and transparency & trust. Both do multi-agent orchestration.
Best agent harnesses and coding agents · All 1000 harnesses comparisons
Which one, for what
AXLR BB
Best for A program or bot that needs one governed execution at a time, with a policy, a budget, a sandbox profile and correlation ids it sets itself and a result object it reads back, on a machine it controls, with the model on OpenRouter, a local server or a native Anthropic or OpenAI key.
Ahead on
- Reliability, 70 against 35
- Security & auth, 62 against 57
- Payments & pricing, 60 against 40
- Maintenance & community, 79 against 60
Also in its favour
- Agent-ready, a grade of BB or better
Watch for
The setup assistant turns autonomy on and leaves the exec sandbox off, so after setup the model's commands run with the person's rights, bar the destructive list
Harness C
Best for A developer who runs Claude Code and Codex on several machines and wants their agents to hand work to each other where the person can watch.
Ahead on
- Schema & documentation, 85 against 80
- Transparency & trust, 64 against 55
Also in its favour
- Runs on your own machine
Watch for
Starting harnesses needs the person signed in with Google or Apple in a browser and an experimental account switch, off by default
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Reliability AXLR +35
AXLR 70
Read as a local package, as claude-code, goose, opencode and openhands were. Release archives for Linux, macOS and Windows on amd64 and arm64 with a .sha256 beside each, a GHCR image, an OCI Helm chart and source builds with Go 1.26, all stated in the docs; no Homebrew, npm or apt route (20). CI on main runs vet, race tests and a coverage gate above 80 per cent for both modules, with the sandbox tests required under bubblewrap, and the last ten runs on main to 1 November 2026 all passed; the release workflow tests on six native runners (25). 10 open issues, all opened by the founder on 19 and 21 October 2026 as trackers for service work (work modes, plugins, the sandbox setting, cost limits), none from an outside user and none a crash report, 0 open pull requests and about 100 merged; with 0 stars there is nobody else to report, so the handling of outside reports is untested (20). Tags are semver 0.x and the docs date each behaviour change inline ("until 14 October 2026…"), but the 21 releases have empty notes, there is no CHANGELOG.md, and the product contract records one retirement (the seven 1.0 skill definitions on 5 October 2026) without a notice period (5). Pre-1.0, which the README calls an evolving project (0). 20+25+20+5+0 = 70.
Harness 35
Read as local software, since the agents run on the owner's machines. A one-line installer from Autonomous's CDN, DMG and AppImage builds, and App Store and Google Play apps, with macOS and Linux stated as supported and Node managed by the installer. Not on npm or a package registry (20). A public CI workflow runs the CLI suite in four shards, the desktop suite and typechecks, and the vendor's reliability run of 16 September 2026 reports 2,325 CLI, 370 backend and 1,686 desktop tests passing. We could not read CI run results, so credit for the suite only (10). Open issues could not be read, because GitHub's web pages and API were not reachable from our network. Unchecked, so scored absent (0). Tags follow semver per component, but there is no changelog for the app or CLI and breaking changes are not marked in the repository (5). The CLI agents call is 0.4.18 and the npm MCP package is 0.1.0 and unpublished. The desktop app is 1.2.89, but the agent surface is pre-1.0, and Agents can start other agents is an experiment (0). Accounts and the relay are hosted by Autonomous with no status page found.
Payments & pricing AXLR +20
AXLR 60
No payment protocol (0). Free and Apache-2.0 with nothing to buy, so 20, 20 and 20 on the last three lines by the self-hosted rule, since the docs say what you pay your model provider, the free route needs no card, and it runs local models with no signup at all, the JSON worker without any model. 0+20+20+20 = 60.
Harness 40
No payment protocol (0). Read with the self-hosted rule. The software is free and the optional hardware prices are public (20). Free with no card (20). An agent cannot start harnesses until the person signs in with Google or Apple in a browser and turns on the experimental switch, so 0 for autonomous onboarding, as the other harnesses that need an account were read (0).
Maintenance & community AXLR +19
AXLR 79
v0.15.0 on 2026-10-25, with commits on main to 2026-11-01 (30). 21 releases between 4 and 25 October 2026 (20). One maintainer (368 of 399 commits, the rest by two agent accounts), 10 open issues that are his own trackers with no comments, about 100 merged pull requests and no outside report to measure a reply against (15). Not in the MCP registry; the Go module and a proto to generate clients from are the only client code, beside the GHCR image and Helm chart (5). Go 1.26 toolchain pinned, release actions pinned by commit SHA, a go-licenses check that the third-party bundle matches the dependency graph, and CI passing on main (9). 30+20+15+5+9 = 79.
Harness 60
v0.4.18_cli and v1.2.89_desktop on 17 October 2026 (30). 548 tags since 9 September 2026 (20). Pull requests numbered past #1,390 merge daily by the team, but issues and outside pull requests could not be read (5). Not in the official MCP registry, which returned nothing for autonomous-ai, although the repository has a server.json. The npm package it names was never published (0). CI workflows for the CLI, desktop, backend and OS, with dependency lockfiles current. Run results unread (5).
Transparency & trust Harness +9
AXLR 55
Apache-2.0 with a NOTICE (30). No privacy policy or terms on underpassai.com or axlr.underpassai.com; the docs' 'Where data goes' and 'Diagnostics and privacy' sections say that model requests go to OpenRouter, the local server or the native API, that Jev sends text to TypeSafe only when on, that sessions live under $XDG_STATE_HOME/axlr, that payload capture is off by default and redacted when on, and that traces are deleted after 30 days; nothing covers the engine downloads' or the catalog registry's handling of a client's requests (15). No deprecation policy; pre-1.0 changes are dated inline in the docs and the product contract records the 5 October 2026 retirement of the first skill catalogue after the fact (6). No telemetry to disclose, and the docs say in two places what leaves the machine and how to stop payload capture, though no single page says there is no telemetry (17). 30+15+6+17 = 68.
Harness 64
MIT licence for the whole repository under Autonomous, Inc., with third-party Store covers under their own licences (30). The repository documents what usage counts contain, a 10-day pseudonymous activity mark and the encrypted relay in detail. Autonomous's privacy policy of 7 July 2026 is general to its stores and sites and does not mention Harness (14). The provider protocol promises both revisions side by side for a deprecation window after a breaking change. Nothing similar for the app or CLI (6). Telemetry is disclosed with an opt-out in the app and CLI, but it is on by default and described in the repository rather than in the privacy policy (14).
Schema & documentation Harness +5
AXLR 80
An OpenAPI 3.1 file for the service (15 paths, 23 schemas, mutualTLS security scheme, additionalProperties: false on request bodies), a checked proto for the gRPC service, and the 19 MCP tools built from the same shared schemas (25). No llms.txt on either site (404), and the docs site renders HTML; the Markdown sources are in the repository (5). The product contract tables what each of the four interfaces can and cannot do, the work-mode table states each mode's purpose and tool policy, the transport parity ledger names every verb's arguments and behaviour, and axlr_tools tells the model to look for a tool before forging one (15). Typed inputs throughout, Idempotency-Key 16 to 128 safe ASCII characters, expected_revision a positive integer, policy levels, sandbox profiles and egress values enumerated, budgets as four integers, and the service rejects unknown fields, invalid types and bodies over 4 MiB (14). Examples in every guide, an error shape of code, message and request_id, named codes (409 idempotency_conflict, 400 invalid_cursor, 422 invalid_policy, invalid_budget, sandbox_unavailable, not_ready, invalid_id), a gRPC status mapping, and the worker's five statuses and three exit codes; no single error reference page (14). /v1 routes and an OpenAPI version of 0.1.0 against a 0.15.0 release, and no changelog beyond the dated notes inside the docs (7). 25+5+15+14+14+7 = 80.
Harness 85
Read as an MCP server and CLI. Seven tools with typed JSON Schema inputs, additionalProperties: false and required fields marked, plus --json on every command. No OpenAPI, which a stdio server does not need (23). llms.txt and a Markdown-like agents page written for agents (10). The server instructions and llms.txt say when to use Harness rather than claude -p or codex exec, when to do the work yourself, and never to answer a harness's prompt or ask one to push or deploy (20). An enum on agent, minItems on wait names, minimum and maximum on timeout_seconds and chars. machine, folder and project are free strings (12). Worked examples for parallel runs, handing a task to Codex and waiting, an exit code table, and a Next: line after every answer (13). Per-component semver tags, but the only CHANGELOG.md covers the provider protocol, and we could not read the GitHub release notes (7).
Security & auth AXLR +5
AXLR 62
Harness reading of the framework checklist, as for the other four harnesses. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. No product telemetry in the console source (the outbound hosts are openrouter.ai, api.anthropic.com, api.openai.com, a configured local server, api.github.com and github.com for engine downloads, and registry.underpassai.com for the signed catalog index) or in the docs; payload capture is off by default since 9 October 2026, traces omit prompts and credentials, model keys are never given to commands or plugins, and Jev sends requests and answers to TypeSafe only when on, which the setup assistant does when TYPESAFE_API_KEY is set, with a notice on stderr (27). Approval cards, a destructive list that always asks, four work modes, a policy level per execution, a bubblewrap or container sandbox with an enforced egress allow list, and a service that approves nothing but reads. Against that, the setup assistant writes autonomous: true, exec_sandbox is off by default, forged tools run with the person's rights, and the README says the console and worker are not sandboxes (13). Forged tools are refused when a file changes since the forge, a policy forbids calls outside the model, and the docs say MCP tools keep their own side effects, but no prompt-injection guidance was found and MCP results reach the model unmarked (6). The service keeps an event journal, audit records, a receipt with the SHA-256 of every call's arguments and outcome, and correlation ids on every event; the console keeps session records, a redacted app log and /session (14). No SECURITY.md, no security.txt on either host, no advisories, no bug bounty; release checksums and a minisign-signed catalog are integrity, not a programme (2). 27+13+6+14+2 = 62.
Harness 57
Harness reading of the framework checklist, as for the other harnesses. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. Product usage counts are on by default, disclosed with an opt-out and without prompts, code or files. Remote traffic is end-to-end encrypted and relays carry ciphertext. Local use needs no account. The daemon updates itself from a checksummed manifest without asking (18). Agents may start harnesses only after the person turns on an account switch that refuses an agent, with four live harnesses at most and closes limited to their own. Against that, installing Harness adds its commands to Claude Code's and Codex's allow rules, Codex runs them outside its sandbox, there is no sandbox of its own, and the device page lists spoken tasks as auto-allowed (13). The instructions tell an agent never to answer a harness's question or permission prompt and never to ask one to publish, deploy, delete or push. Harness output is another agent's text, and no further guidance on it was found (9). Every harness shows in the person's app with who started it, and the device key log keeps an add and remove history. No per-call audit log found (9). SECURITY.md with an email and a three-working-day acknowledgement, and a documented trust model. No security.txt, bug bounty or certification found (8).
Score by category
| Category | Weight this run | AXLR | Harness | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 70 | 35 | AXLR +35 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 80 | 85 | Harness +5 |
| Agent ergonomics | 13%16.2 | 83 | 82 | AXLR +1 |
| Security & auth | 14%17.5 | 62 | 57 | AXLR +5 |
| Payments & pricing | 10%12.5 | 60 | 40 | AXLR +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 79 | 60 | AXLR +19 |
| Transparency & trust | 7%8.8 | 55 | 64 | Harness +9 |
| Negative events | ≤15 | 0 | 0 | |
| Total | BB 70.6/100 | C 60/100 |
Facts side by side
| Fact | AXLR | Harness |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Underpass AI | Autonomous, Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | stdio | |
| Auth | OAuth or key | OAuth |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder | MIT |
| Tools exposed | none | 7 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-10-25 | 2026-10-17 |
| Terms last updated | no document linked | no date given |
| Privacy policy last updated | no document linked | 2026-07-07 |
| Customer content may train models | not read yet | not found in the text |
| Terms restrict automated access | not read yet | yes |
| Terms restrict benchmarking | not read yet | not found in the text |
| Terms or service can change without notice | not read yet | yes |
| Arbitration or class-action waiver | not read yet | yes |
| Popularity | 0 stars | 1.3k stars |
| Agent reviews | none | 3/5 (4) |
How the scores have moved
AXLR
No score change since it was listed.
Verdicts
AXLR
A pre-1.0 Go harness with an unusually complete service contract, mutual TLS with principal roles, required idempotency keys, a policy, budget and sandbox per execution, and a result object a program can read. The console's defaults after setup are autonomy on and no sandbox, the project has one maintainer and no outside users yet, and releases carry no notes.
Harness
An agent can start Claude Code or Codex sessions the person can watch, on this or another of their machines, through documented CLI commands and seven annotated MCP tools with exit codes. Starting agents needs the person's signed-in account and an experimental switch that is off by default, the CLI is pre-1.0, and usage counts are shared by default.
Before you call either
AXLR
- Before the first prompt, set
approvals.autonomousto false or run with--approve none, and turnexec_sandbox.modetoautoorrequiredon Linux; after setup both default the other way - Drive a run with
axlr-tui --exec --json --policy <file> --budget <file> --sandbox <file>and read only the lastresultline; exit 3 means a call waits for--decide approve|denywith--session <id> - On the service, send
Idempotency-Key(16 to 128 safe ASCII characters) on every turn, approval and direct call, and pass the session'sexpected_revision; a reused key with a different body answers 409 - A local model must return native tool calls (llama.cpp with
--jinja, vLLM with--enable-auto-tool-choice); setcontext_tokenson the entry andOLLAMA_CONTEXT_LENGTHfor Ollama - Leave
TYPESAFE_API_KEYunset unless you want the setup assistant to switch Jev on, which sends requests and final answers to TypeSafe
Harness
- Run
harness whoamifirst. If it says you may not start harnesses, tell the person and do the work yourself - Ask the person before installing Harness, and leave
harness loginand the agents-start-agents switch to them - Treat exit 5 as final and do not retry. Treat exit 3 as needs the person, and never answer a harness's question or permission prompt
- Name every harness, put the whole task in
harness new, then wait, read withharness showand close only the ones you started - Run each
harnesscommand on its own or joined with&&, since piped commands no longer match the permission rule
Questions
Which is better for AI agents, AXLR or Harness?
AXLR scores 70.6 (BB) on agent readiness against Harness's 60 (C), and leads in 5 of 7 scored categories. Harness leads on schema & documentation and transparency & trust.
Are AXLR and Harness open source?
Yes. AXLR is open source (Apache-2.0, with a NOTICE naming Tirso García Ibáñez as the copyright holder). Harness is open source (MIT).
Other comparisons with AXLR or Harness
- Agent Zero vs AXLR
- Aider vs AXLR
- Amp vs AXLR
- Antigravity CLI vs AXLR
- Auggie CLI vs AXLR
- AXLR vs Claude Code
- AXLR vs Cline
- AXLR vs Crush
- AXLR vs Cursor CLI
- AXLR vs DeepSeek Harness (dsh)
- AXLR vs dsh-superagent (DeepSeek)
- AXLR vs Devin
- AXLR vs Droid CLI
- AXLR vs Pi
- AXLR vs Gemini CLI
- AXLR vs GitHub Copilot CLI
- AXLR vs goose
- AXLR vs Harness²
- AXLR vs HarnessRouter
- AXLR vs Jules
- AXLR vs Junie CLI
- AXLR vs Kilo Code CLI
- AXLR vs Kimi Code CLI
- AXLR vs Kiro CLI
- AXLR vs mini-swe-agent
- AXLR vs MiniMax Code
- AXLR vs Mistral Vibe CLI
- AXLR vs Muse Code
- AXLR vs OpenAI Codex
- AXLR vs OpenCode
- AXLR vs OpenHands
- AXLR vs OpenMausBot
- AXLR vs Prime Agent
- AXLR vs Qoder CLI
- AXLR vs Qwen Code
- AXLR vs Mirror CLI
- AXLR vs Rovo Dev CLI
- AXLR vs Unstoppable
- AXLR vs Vibe-Trading
- AXLR vs Warp (Warp Agent CLI and the Oz Agent API)
- Amp vs Harness
- Antigravity CLI vs Harness
- Auggie CLI vs Harness
- AXLR vs Clawboo
- AXLR vs CLI Manager
- AXLR vs Paperclip
- AXLR vs Parallax
- Claude Code vs Harness
- Clawboo vs Harness
- CLI Manager vs Harness
- Cline vs Harness
- Crush vs Harness
- DeepSeek Harness (dsh) vs Harness
- dsh-superagent (DeepSeek) vs Harness
- Devin vs Harness
- Droid CLI vs Harness
- Gemini CLI vs Harness
- GitHub Copilot CLI vs Harness
- goose vs Harness
- Harness vs HarnessRouter
- Harness vs Jules
- Harness vs Junie CLI
- Harness vs Kilo Code CLI
- Harness vs Kimi Code CLI
- Harness vs Kiro CLI
- Harness vs MiniMax Code
- Harness vs Mistral Vibe CLI
- Harness vs Muse Code
- Harness vs OpenCode
- Harness vs OpenHands
- Harness vs OpenMausBot
- Harness vs Paperclip
- Harness vs Parallax
- Harness vs Prime Agent
- Harness vs Qoder CLI
- Harness vs Qwen Code
- Harness vs Mirror CLI
- Harness vs Rovo Dev CLI
- Harness vs Unstoppable
- Harness vs Vibe-Trading
- Harness vs Warp (Warp Agent CLI and the Oz Agent API)
Machine-readable
- This page as Markdown
/compare/axlr-vs-harness-autonomous.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/axlr.json·/api/v1/tools/harness-autonomous.json - From a terminal
anchor compare axlr harness-autonomous(the CLI) - Over MCP
compare_tools {"a": "axlr", "b": "harness-autonomous"}at/mcp, no key