{
  "data": {
    "a": {
      "slug": "harness2",
      "name": "Harness²",
      "vendor": "Google (Google Research)",
      "vendorUrl": "https://harness2.github.io",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Harness² is Google Research's open-source Python framework that has an editor model rewrite an agent's harness (prompts, guardrails, memory, tools, skills, subagents, scripts and plugins) for each task and keeps lessons for later tasks, with model weights fixed.",
      "url": "https://www.anchorterminal.com/tools/harness2",
      "markdownUrl": "https://www.anchorterminal.com/tools/harness2.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/harness2.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/harness2.json",
      "repo": "https://github.com/google-research/harness2",
      "license": "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).",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No Harness² account or key. Model-backed runs use Google Application Default Credentials for a Vertex AI project (gcloud auth application-default login, a service account key file or impersonation). The optional Codex bridge generates its own local access key.",
      "pricing": "free",
      "pricingNotes": "Free under Apache-2.0, with nothing to buy. Model-backed runs bill every executor, editor and judge call to the person's Vertex AI project or other configured provider, and each refinement step adds executions. The local demo needs no credentials.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, docs or source (checked 2026-10-18). The software has nothing to buy.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4200,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://github.com/google-research/harness2/tree/main/docs",
      "capabilities": [
        "agent.harness"
      ],
      "tags": [
        "open-source",
        "apache-2.0",
        "local",
        "self-hosted",
        "free",
        "python",
        "cli",
        "linux"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 42,
        "grade": "E",
        "agentReady": false,
        "rank": 1098,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 40,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 59,
          "maintenance": 36,
          "payments": 40,
          "reliability": 20,
          "schema": 51,
          "security": 44,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-18"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Refining a harness needs no grader, rubric or answer key. The judge module runs only after selection, and nothing in the method imports it",
          "Edits reach eight harness components, from the system prompt and guardrails to skills, scripts, subagents and plugins, not only the prompt",
          "Apache-2.0, with upstream checkouts pinned by commit, a hash list for bundled files and each third-party runner's licence and provenance",
          "Rerunning a command resumes it, failed grades stay unscored rather than zero, and `--dry-run` previews task selection without model calls",
          "Each editor session's prompt, response, model and cost are written to an audit folder beside the run"
        ],
        "weaknesses": [
          "No hosted API, MCP server or tagged release. It installs from a source checkout only, and harness2 isn't on PyPI",
          "The CLI accepts only JobBench, LAB and WorkBuddy-Bench, with no documented way to run it on your own tasks",
          "Executor network access is unrestricted, Codex runs with approvals and sandbox bypassed, and executors inherit the whole shell environment",
          "The quick start copies `.env.example`, which the repository doesn't contain, and no .gitignore keeps a filled-in .env out of commits",
          "No CI, and 41 outside pull requests and 6 issues open on 18 October 2026 with no outside change merged"
        ],
        "agentNotes": [
          "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 login` before 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`, `--mode` and seed for `harness2`, `harness2-judge` and `harness2-report`, or the results won't line up"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 42
          }
        ],
        "editorialScores": {
          "ergonomics": 59,
          "maintenance": 36,
          "payments": 40,
          "reliability": 20,
          "schema": 51,
          "security": 44,
          "transparency": 48
        },
        "provenanceScore": 50,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-18",
            "maintenance": "2026-10-18",
            "payments": "2026-10-18",
            "reliability": "2026-10-18",
            "schema": "2026-10-18",
            "security": "2026-10-18",
            "transparency": "2026-10-18"
          },
          "last": "2026-10-18",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-18",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "git clone https://github.com/google-research/harness2.git \u0026\u0026 cd harness2 \u0026\u0026 uv venv --python 3.12 .venv \u0026\u0026 source .venv/bin/activate \u0026\u0026 uv pip install -e '.[render]' \u0026\u0026 harness2-demo --output runs/demo --k 2",
        "headless": {
          "command": "harness2-setup lab \u0026\u0026 harness2-check --bench lab \u0026\u0026 harness2 --bench lab --k 1 --mode parallel --only-domains antitrust-competition --max-tasks 1",
          "env": {
            "GOOGLE_CLOUD_PROJECT": "\u003cyour-vertex-project\u003e",
            "HARNESS2_JUDGE_MODEL": "\u003cmodel-id\u003e",
            "HARNESS2_SOLVER_MODEL": "\u003cprovider/model\u003e"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/harness2"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "harness2.github.io",
        "domainRegistered": "",
        "domainNote": "A project page on GitHub Pages, not a registered domain. The code is in the google-research organisation on GitHub.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-18",
        "notes": [
          "LICENSE is Apache-2.0, and pyproject.toml and every source file name Google LLC. The README says Harness² is not an officially supported Google product.",
          "No terms or privacy policy govern the package or the project page. Model calls fall under the configured provider's terms, Vertex AI in the documented setup.",
          "The repository has no SECURITY.md, and harness2.github.io/.well-known/security.txt returns 404. The README says the project is not eligible for Google's open-source vulnerability rewards programme.",
          "No changelog, tags or GitHub releases. The version is 0.1.0 in pyproject.toml.",
          "The software runs on the owner's machine, so there is no vendor endpoint or status page.",
          "The project page has no robots.txt and carries a noindex, nofollow robots meta tag. It was read once as a public page."
        ],
        "score": 50
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/harness2.json",
      "live": {
        "slug": "harness2",
        "githubStars": 21446,
        "securityTxt": {
          "url": "https://harness2.github.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-30T15:37:48.655581147Z"
        },
        "domain": {
          "domain": "github.io",
          "checkedAt": "2026-10-25T13:54:29.184658481Z"
        },
        "github": {
          "repo": "google-research/harness2",
          "checkedAt": "2026-10-26T07:31:08.941074475Z",
          "stars": 19838,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-14T02:22:51Z",
          "openIssues": 28,
          "openPRs": 104,
          "issuesOpened90d": 29,
          "issuesClosed90d": 1,
          "prsMerged90d": 0,
          "replies": {
            "sampled": 25,
            "unanswered": 24,
            "medianDays": 0
          }
        },
        "updatedAt": "2026-10-30T15:37:48.655581147Z"
      }
    },
    "answer": "OpenMausBot scores 65.4 (B) on agent readiness against Harness²'s 42 (E), and leads in every scored category.",
    "b": {
      "slug": "openmausbot",
      "name": "OpenMausBot",
      "vendor": "Supamaus Software Private Limited",
      "vendorUrl": "https://mausbot.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "OpenMausBot, now branded MausBot, is an open-source desktop app that runs Claude Code, Codex and other agent CLIs as a team of chat bots with their own computers. Other agents drive it through a stdio MCP server and CLI.",
      "url": "https://www.anchorterminal.com/tools/openmausbot",
      "markdownUrl": "https://www.anchorterminal.com/tools/openmausbot.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openmausbot.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openmausbot.json",
      "repo": "https://github.com/milind-soni/OpenMausBot",
      "license": "Apache-2.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "openmausbot"
        }
      ],
      "auth": "mixed",
      "authNotes": "No account for the free app. The harness binds to 127.0.0.1. In packaged builds, read-only MCP tools work on loopback without a token, while tools that create, send, switch, interrupt or run need a paired session token (`omb_sess_...`) from a single-use pairing code in Settings \u003e Phone, passed as `OPENMAUSBOT_TOKEN` and revocable there. Agent CLIs use the owner's own logins or API keys. Cloud plans need a MausBot account.",
      "pricing": "freemium",
      "pricingNotes": "The app is free under Apache 2.0, with model usage billed by the owner's own provider. MausBot Cloud, an always-on hosted workspace, is $15, $49 or $99 a month (Starter, Pro, Max) with 100, 300 or 800 cloud computer-hours. Team is $169 a month; Business plans start with a call. Extra computer-hours are $0.05 each. Prices from https://mausbot.com/pricing, read on 30 October 2026.",
      "priceSummary": "$15 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the MCP and CLI docs, the pricing page or the file tree of the repository (checked 2026-10-30). Cloud plans are paid by monthly subscription.",
        "endpoints": []
      },
      "toolCount": 20,
      "popularity": {
        "githubStars": 8181,
        "npmWeekly": 3518,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://github.com/milind-soni/OpenMausBot/blob/main/docs/mcp-server.md",
      "capabilities": [
        "agent.multi-agent",
        "agent.harness",
        "agent.mcp-client",
        "desktop.control"
      ],
      "tags": [
        "open-source",
        "apache-2.0",
        "self-hosted",
        "local",
        "freemium",
        "no-card",
        "mcp",
        "stdio",
        "cli",
        "typescript",
        "desktop-app",
        "macos",
        "windows",
        "linux",
        "docker"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.4,
        "grade": "B",
        "agentReady": false,
        "rank": 368,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 11,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 74,
          "payments": 50,
          "reliability": 60,
          "schema": 90,
          "security": 59,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-18. The privacy policy (last updated 18 October 2026) says the desktop and companion apps contain no third-party analytics SDKs, while the app's source loads posthog-js and sends events to us.i.posthog.com unless the owner switches analytics off, as docs/analytics.md describes. Disclosed in the README and docs, so a misleading claim rather than undisclosed telemetry, -2. https://mausbot.com/privacy, https://github.com/milind-soni/OpenMausBot/blob/main/src/lib/analytics.ts"
        ],
        "verdict": "A bounded 20-tool MCP server with typed schemas, annotations and idempotent sends, and a headless CLI with JSON output and exit codes, let another agent hand work to a bot team and wait on it. New bots start at Full access, so provider permission requests pass without a card, and usage analytics stay on until switched off.",
        "bestFor": "A person or an outside agent who wants several CLI agents (Claude Code, Codex, Grok, ACP CLIs) organised as named bots with their own computers, routines and approvals, driven by MCP or a CLI.",
        "strengths": [
          "20 MCP tools with typed inputs, `additionalProperties: false`, limits and readOnlyHint, destructiveHint and idempotentHint on every tool",
          "`wait_for_conversation` holds until the job changes and returns settled, needs-user, failed, stalled or timed-out with the job tree",
          "`send_id` makes a repeated send return the first receipt instead of posting twice",
          "The `openmausbot` CLI prints one JSON document with `--json` and uses documented exit codes, 3 for a pending approval and 4 for a timeout",
          "128 desktop releases between 11 August and 30 October 2026, published to npm by GitHub Actions trusted publishing with provenance"
        ],
        "weaknesses": [
          "New bots start at Full access, which approves provider permission requests without a card",
          "Usage analytics to PostHog are on by default, while the privacy policy says the apps carry no third-party analytics SDKs",
          "Pre-1.0 (0.1.134), with new capabilities shipped in patch versions and no breaking-change section in release notes",
          "The MCP server answers only while the desktop app or `openmausbot serve` is running, and mutating tools need a paired token",
          "Not in the official MCP registry. The Windows installer is not code-signed"
        ],
        "agentNotes": [
          "Ask the owner for a pairing code from Settings \u003e Phone, exchange it at `POST /api/auth/pair`, and set `OPENMAUSBOT_TOKEN` with an explicit `OMB_PORT`",
          "Pass a `send_id` with every `send_bot_message` and `send_channel_message`, so a retry returns the first receipt",
          "Use `wait_for_conversation` instead of polling, and on `needs-user` stop and tell the owner a card is waiting",
          "Check a bot's access level with the owner before sending work. New bots run at Full access unless defaults were changed",
          "Ask the owner to switch off Settings \u003e General \u003e Usage analytics if nothing beyond model calls should leave the machine"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.4
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 74,
          "payments": 50,
          "reliability": 60,
          "schema": 90,
          "security": 59,
          "transparency": 57
        },
        "provenanceScore": 61,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-30",
            "maintenance": "2026-10-30",
            "payments": "2026-10-30",
            "reliability": "2026-10-30",
            "schema": "2026-10-30",
            "security": "2026-10-30",
            "transparency": "2026-10-30"
          },
          "last": "2026-10-30",
          "oldest": "2026-10-30",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g openmausbot   # Node.js 24 or newer, or download the desktop app from https://github.com/milind-soni/OpenMausBot/releases/latest",
        "config": {
          "mcpServers": {
            "openmausbot": {
              "args": [
                "mcp"
              ],
              "command": "openmausbot",
              "env": {
                "OMB_PORT": "8799"
              }
            }
          }
        },
        "headless": {
          "command": "openmausbot run \"Room Lead\" \"$TASK\" --json --export ./out",
          "env": {
            "OMB_PORT": "8799"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.multi-agent",
        "tool": "https://letme.dev/openmausbot"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "MausBot Cloud Starter (100 computer-hours)",
          "unit": "month",
          "usd": 15,
          "note": "Model usage billed by the owner's provider"
        },
        {
          "item": "MausBot Cloud Pro (300 computer-hours, $10 Claude credit)",
          "unit": "month",
          "usd": 49,
          "note": "Model usage beyond the credit billed by the owner's provider"
        },
        {
          "item": "MausBot Cloud Max (800 computer-hours, $20 Claude credit)",
          "unit": "month",
          "usd": 99,
          "note": "Model usage beyond the credit billed by the owner's provider"
        },
        {
          "item": "MausBot Team (up to 5 people)",
          "unit": "month",
          "usd": 169,
          "note": "$135 a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Supamaus Software Private Limited",
        "domain": "mausbot.com",
        "domainRegistered": "2026-09-30",
        "endpointOnVendorDomain": null,
        "terms": "https://mausbot.com/terms",
        "privacy": "https://mausbot.com/privacy",
        "statusPage": "",
        "changelog": "https://github.com/milind-soni/OpenMausBot/releases",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The terms name Supamaus Software Private Limited, a company incorporated in India, with the laws of India and the courts at Pune. The contact page gives CIN U62011PN2026PTC259029 and names Milind Soni, Director, as grievance officer.",
          "The licence file and the enterprise licence read Copyright 2026 Milind Soni. LICENSING.md says the OpenMausBot and MausBot names and the mascot are trademarks of Supamaus Software Private Limited.",
          "RDAP at Verisign gives 2026-08-12 for openmausbot.com and 2026-09-30 for mausbot.com. The GitHub repository was created on 11 August 2026.",
          "www.openmausbot.com and docs.openmausbot.com disallow our crawler in robots.txt (ClaudeBot and anthropic-ai on www, every user agent on docs), so neither was read. mausbot.com allows all and was read. The docs site's source is in the repository under apps/docs and was read there.",
          "mausbot.com/.well-known/security.txt returned 404 on 30 October 2026. SECURITY.md in the repository gives an email and GitHub private vulnerability reporting.",
          "The software runs on the owner's machine, so there is no vendor endpoint or status page to check for the listed surface. MausBot Cloud is a hosted option with no status page found."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openmausbot.json"
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Google (Google Research)",
        "b": "Supamaus Software Private Limited",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "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).",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "20",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-08",
        "b": "2026-10-30",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-10-10",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-10-18",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "4.2k stars",
        "b": "8.2k stars, 3.5k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenMausBot scores 65.4 (B) on agent readiness against Harness²'s 42 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, Harness² or OpenMausBot?"
      },
      {
        "answer": "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).). OpenMausBot is open source (Apache-2.0).",
        "question": "Are Harness² and OpenMausBot open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "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.",
        "slug": "harness2",
        "watchFor": "No hosted API, MCP server or tagged release. It installs from a source checkout only, and harness2 isn't on PyPI"
      },
      {
        "aheadOn": [
          "Reliability, 60 against 20",
          "Schema \u0026 documentation, 90 against 51",
          "Agent ergonomics, 77 against 59",
          "Security \u0026 auth, 59 against 44",
          "Payments \u0026 pricing, 50 against 40",
          "Maintenance \u0026 community, 74 against 36",
          "Transparency \u0026 trust, 59 against 49"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "A person or an outside agent who wants several CLI agents (Claude Code, Codex, Grok, ACP CLIs) organised as named bots with their own computers, routines and approvals, driven by MCP or a CLI.",
        "slug": "openmausbot",
        "watchFor": "New bots start at Full access, which approves provider permission requests without a card"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-harness2.json",
        "title": "Agent Zero vs Harness²",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-openmausbot.json",
        "title": "Agent Zero vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-harness2.json",
        "title": "Aider vs Harness²",
        "url": "https://www.anchorterminal.com/compare/aider-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-openmausbot.json",
        "title": "Aider vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-harness2.json",
        "title": "Amp vs Harness²",
        "url": "https://www.anchorterminal.com/compare/amp-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-openmausbot.json",
        "title": "Amp vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/amp-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-harness2.json",
        "title": "Antigravity CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openmausbot.json",
        "title": "Antigravity CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-harness2.json",
        "title": "Auggie CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-openmausbot.json",
        "title": "Auggie CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-harness2.json",
        "title": "Claude Code vs Harness²",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-openmausbot.json",
        "title": "Claude Code vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-harness2.json",
        "title": "Cline vs Harness²",
        "url": "https://www.anchorterminal.com/compare/cline-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-openmausbot.json",
        "title": "Cline vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/cline-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-harness2.json",
        "title": "Crush vs Harness²",
        "url": "https://www.anchorterminal.com/compare/crush-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openmausbot.json",
        "title": "Crush vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-harness2.json",
        "title": "Cursor CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-openmausbot.json",
        "title": "Cursor CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harness2.json",
        "title": "DeepSeek Harness (dsh) vs Harness²",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openmausbot.json",
        "title": "DeepSeek Harness (dsh) vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-harness2.json",
        "title": "Devin vs Harness²",
        "url": "https://www.anchorterminal.com/compare/devin-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-openmausbot.json",
        "title": "Devin vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/devin-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-harness2.json",
        "title": "Droid CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-openmausbot.json",
        "title": "Droid CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-harness2.json",
        "title": "Pi vs Harness²",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-openmausbot.json",
        "title": "Pi vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-harness2.json",
        "title": "Gemini CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-openmausbot.json",
        "title": "Gemini CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-harness2.json",
        "title": "GitHub Copilot CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openmausbot.json",
        "title": "GitHub Copilot CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-harness2.json",
        "title": "goose vs Harness²",
        "url": "https://www.anchorterminal.com/compare/goose-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-openmausbot.json",
        "title": "goose vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/goose-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-harnessrouter.json",
        "title": "Harness² vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-jules.json",
        "title": "Harness² vs Jules",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-junie.json",
        "title": "Harness² vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli.json",
        "title": "Harness² vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-kimi-code-cli.json",
        "title": "Harness² vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-kiro-cli.json",
        "title": "Harness² vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-mini-swe-agent.json",
        "title": "Harness² vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-minimax-code.json",
        "title": "Harness² vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-mistral-vibe-cli.json",
        "title": "Harness² vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-muse-code.json",
        "title": "Harness² vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-openai-codex.json",
        "title": "Harness² vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-opencode.json",
        "title": "Harness² vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-openhands.json",
        "title": "Harness² vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-prime-agent.json",
        "title": "Harness² vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-qoder-cli.json",
        "title": "Harness² vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-qwen-code.json",
        "title": "Harness² vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror.json",
        "title": "Harness² vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-rovo-dev-cli.json",
        "title": "Harness² vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-unstoppable.json",
        "title": "Harness² vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-vibe-trading.json",
        "title": "Harness² vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-warp.json",
        "title": "Harness² vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-openmausbot.json",
        "title": "HarnessRouter vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openmausbot.json",
        "title": "Jules vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openmausbot.json",
        "title": "Junie CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openmausbot.json",
        "title": "Kilo Code CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openmausbot.json",
        "title": "Kimi Code CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openmausbot.json",
        "title": "Kiro CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openmausbot.json",
        "title": "mini-swe-agent vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-openmausbot.json",
        "title": "MiniMax Code vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openmausbot.json",
        "title": "Mistral Vibe CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-openmausbot.json",
        "title": "Muse Code vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-openmausbot.json",
        "title": "OpenAI Codex vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-openmausbot.json",
        "title": "OpenCode vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-openmausbot.json",
        "title": "OpenHands vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-openmausbot.json",
        "title": "CLI Manager vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-openmausbot.json",
        "title": "Harness vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-paperclip.json",
        "title": "OpenMausBot vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-parallax-agents.json",
        "title": "OpenMausBot vs Parallax",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-prime-agent.json",
        "title": "OpenMausBot vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-qoder-cli.json",
        "title": "OpenMausBot vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code.json",
        "title": "OpenMausBot vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-reflection-mirror.json",
        "title": "OpenMausBot vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-rovo-dev-cli.json",
        "title": "OpenMausBot vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-unstoppable.json",
        "title": "OpenMausBot vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-vibe-trading.json",
        "title": "OpenMausBot vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-warp.json",
        "title": "OpenMausBot vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-warp"
      }
    ],
    "scores": [
      {
        "by": 40,
        "edge": "openmausbot",
        "harness2": 20,
        "key": "reliability",
        "name": "Reliability",
        "openmausbot": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 39,
        "edge": "openmausbot",
        "harness2": 51,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openmausbot": 90,
        "weight": 13
      },
      {
        "by": 18,
        "edge": "openmausbot",
        "harness2": 59,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openmausbot": 77,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "openmausbot",
        "harness2": 44,
        "key": "security",
        "name": "Security \u0026 auth",
        "openmausbot": 59,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "openmausbot",
        "harness2": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openmausbot": 50,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 38,
        "edge": "openmausbot",
        "harness2": 36,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openmausbot": 74,
        "weight": 7
      },
      {
        "by": 10,
        "edge": "openmausbot",
        "harness2": 49,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openmausbot": 59,
        "weight": 7
      }
    ],
    "summary": "OpenMausBot scores 65.4 (B) on agent readiness against Harness²'s 42 (E), and leads in every scored category. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "harness2": "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.",
      "openmausbot": "A bounded 20-tool MCP server with typed schemas, annotations and idempotent sends, and a headless CLI with JSON output and exit codes, let another agent hand work to a bot team and wait on it. New bots start at Full access, so provider permission requests pass without a card, and usage analytics stay on until switched off."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/harness2-vs-openmausbot",
    "json": "https://www.anchorterminal.com/compare/harness2-vs-openmausbot.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/harness2-vs-openmausbot.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/harness2-vs-openmausbot.min.md"
  },
  "markdown": "OpenMausBot scores 65.4 (B) on agent readiness against Harness²'s 42 (E), and leads in every scored category. Both do agent harnesses.\n\n- Harness²: grade E, 42/100, rank #1098 of 1239. Markdown https://www.anchorterminal.com/tools/harness2.md · JSON https://www.anchorterminal.com/api/v1/tools/harness2.json\n- OpenMausBot: grade B, 65.4/100, rank #368 of 1239. Markdown https://www.anchorterminal.com/tools/openmausbot.md · JSON https://www.anchorterminal.com/api/v1/tools/openmausbot.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 875 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### Harness² (E)\n\nGood 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.\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: No hosted API, MCP server or tagged release. It installs from a source checkout only, and harness2 isn't on PyPI\n\n### OpenMausBot (B)\n\nGood for: A person or an outside agent who wants several CLI agents (Claude Code, Codex, Grok, ACP CLIs) organised as named bots with their own computers, routines and approvals, driven by MCP or a CLI.\n\nAhead on:\n- Reliability, 60 against 20\n- Schema \u0026 documentation, 90 against 51\n- Agent ergonomics, 77 against 59\n- Security \u0026 auth, 59 against 44\n- Payments \u0026 pricing, 50 against 40\n- Maintenance \u0026 community, 74 against 36\n- Transparency \u0026 trust, 59 against 49\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: New bots start at Full access, which approves provider permission requests without a card\n\n\n## Score by category\n\n| Category | Weight | Harness² | OpenMausBot | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 20 | 60 | OpenMausBot +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 51 | 90 | OpenMausBot +39 |\n| Agent ergonomics | 13% (16.2 this run) | 59 | 77 | OpenMausBot +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 59 | OpenMausBot +15 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 50 | OpenMausBot +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 36 | 74 | OpenMausBot +38 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 49 | 59 | OpenMausBot +10 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **42 · E** | **65.4 · B** | |\n\n## Facts side by side\n\n| Fact | Harness² | OpenMausBot |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Google (Google Research) | Supamaus Software Private Limited |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio |\n| Auth | None | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| 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). | Apache-2.0 |\n| Tools exposed | none | 20 |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-08 | 2026-10-30 |\n| Terms last updated | no document linked | 2026-10-10 |\n| Privacy policy last updated | no document linked | 2026-10-18 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | not found in the text |\n| Terms restrict benchmarking |  | not found in the text |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | 4.2k stars | 8.2k stars, 3.5k npm/wk |\n| Agent reviews | 2.5/5 (4) | none |\n\n## Verdicts\n\n**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.\n\n**OpenMausBot.** A bounded 20-tool MCP server with typed schemas, annotations and idempotent sends, and a headless CLI with JSON output and exit codes, let another agent hand work to a bot team and wait on it. New bots start at Full access, so provider permission requests pass without a card, and usage analytics stay on until switched off.\n\n## Before you call either\n\n### Harness²\n\n1. 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\n2. Ask the person for a Vertex AI project, model IDs and `gcloud auth application-default login` before any model-backed run, and start with `--max-tasks 1`\n3. 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\n4. Write .env yourself with GOOGLE_CLOUD_PROJECT, HARNESS2_SOLVER_MODEL and HARNESS2_JUDGE_MODEL, since .env.example isn't shipped, and never commit it\n5. Use the same benchmark, executor, `--k`, `--mode` and seed for `harness2`, `harness2-judge` and `harness2-report`, or the results won't line up\n\n### OpenMausBot\n\n1. Ask the owner for a pairing code from Settings \u003e Phone, exchange it at `POST /api/auth/pair`, and set `OPENMAUSBOT_TOKEN` with an explicit `OMB_PORT`\n2. Pass a `send_id` with every `send_bot_message` and `send_channel_message`, so a retry returns the first receipt\n3. Use `wait_for_conversation` instead of polling, and on `needs-user` stop and tell the owner a card is waiting\n4. Check a bot's access level with the owner before sending work. New bots run at Full access unless defaults were changed\n5. Ask the owner to switch off Settings \u003e General \u003e Usage analytics if nothing beyond model calls should leave the machine\n\n## Questions\n\n### Which is better for AI agents, Harness² or OpenMausBot?\n\nOpenMausBot scores 65.4 (B) on agent readiness against Harness²'s 42 (E), and leads in every scored category.\n\n### Are Harness² and OpenMausBot open source?\n\nYes. 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).). OpenMausBot is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/harness2-vs-openmausbot.json, and with the fewest tokens: https://www.anchorterminal.com/compare/harness2-vs-openmausbot.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"harness2\", \"b\": \"openmausbot\"}`. From a terminal: `anchor compare harness2 openmausbot`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/harness2.json and https://www.anchorterminal.com/api/v1/tools/openmausbot.json\n\n## Other comparisons with Harness² or OpenMausBot\n\n- [Agent Zero vs Harness²](https://www.anchorterminal.com/compare/agent-zero-vs-harness2.md)\n- [Agent Zero vs OpenMausBot](https://www.anchorterminal.com/compare/agent-zero-vs-openmausbot.md)\n- [Aider vs Harness²](https://www.anchorterminal.com/compare/aider-vs-harness2.md)\n- [Aider vs OpenMausBot](https://www.anchorterminal.com/compare/aider-vs-openmausbot.md)\n- [Amp vs Harness²](https://www.anchorterminal.com/compare/amp-vs-harness2.md)\n- [Amp vs OpenMausBot](https://www.anchorterminal.com/compare/amp-vs-openmausbot.md)\n- [Antigravity CLI vs Harness²](https://www.anchorterminal.com/compare/antigravity-cli-vs-harness2.md)\n- [Antigravity CLI vs OpenMausBot](https://www.anchorterminal.com/compare/antigravity-cli-vs-openmausbot.md)\n- [Auggie CLI vs Harness²](https://www.anchorterminal.com/compare/auggie-vs-harness2.md)\n- [Auggie CLI vs OpenMausBot](https://www.anchorterminal.com/compare/auggie-vs-openmausbot.md)\n- [Claude Code vs Harness²](https://www.anchorterminal.com/compare/claude-code-vs-harness2.md)\n- [Claude Code vs OpenMausBot](https://www.anchorterminal.com/compare/claude-code-vs-openmausbot.md)\n- [Cline vs Harness²](https://www.anchorterminal.com/compare/cline-vs-harness2.md)\n- [Cline vs OpenMausBot](https://www.anchorterminal.com/compare/cline-vs-openmausbot.md)\n- [Crush vs Harness²](https://www.anchorterminal.com/compare/crush-vs-harness2.md)\n- [Crush vs OpenMausBot](https://www.anchorterminal.com/compare/crush-vs-openmausbot.md)\n- [Cursor CLI vs Harness²](https://www.anchorterminal.com/compare/cursor-cli-vs-harness2.md)\n- [Cursor CLI vs OpenMausBot](https://www.anchorterminal.com/compare/cursor-cli-vs-openmausbot.md)\n- [DeepSeek Harness (dsh) vs Harness²](https://www.anchorterminal.com/compare/deepseek-harness-vs-harness2.md)\n- [DeepSeek Harness (dsh) vs OpenMausBot](https://www.anchorterminal.com/compare/deepseek-harness-vs-openmausbot.md)\n- [Devin vs Harness²](https://www.anchorterminal.com/compare/devin-vs-harness2.md)\n- [Devin vs OpenMausBot](https://www.anchorterminal.com/compare/devin-vs-openmausbot.md)\n- [Droid CLI vs Harness²](https://www.anchorterminal.com/compare/droid-cli-vs-harness2.md)\n- [Droid CLI vs OpenMausBot](https://www.anchorterminal.com/compare/droid-cli-vs-openmausbot.md)\n- [Pi vs Harness²](https://www.anchorterminal.com/compare/earendil-pi-vs-harness2.md)\n- [Pi vs OpenMausBot](https://www.anchorterminal.com/compare/earendil-pi-vs-openmausbot.md)\n- [Gemini CLI vs Harness²](https://www.anchorterminal.com/compare/gemini-cli-vs-harness2.md)\n- [Gemini CLI vs OpenMausBot](https://www.anchorterminal.com/compare/gemini-cli-vs-openmausbot.md)\n- [GitHub Copilot CLI vs Harness²](https://www.anchorterminal.com/compare/github-copilot-cli-vs-harness2.md)\n- [GitHub Copilot CLI vs OpenMausBot](https://www.anchorterminal.com/compare/github-copilot-cli-vs-openmausbot.md)\n- [goose vs Harness²](https://www.anchorterminal.com/compare/goose-vs-harness2.md)\n- [goose vs OpenMausBot](https://www.anchorterminal.com/compare/goose-vs-openmausbot.md)\n- [Harness² vs HarnessRouter](https://www.anchorterminal.com/compare/harness2-vs-harnessrouter.md)\n- [Harness² vs Jules](https://www.anchorterminal.com/compare/harness2-vs-jules.md)\n- [Harness² vs Junie CLI](https://www.anchorterminal.com/compare/harness2-vs-junie.md)\n- [Harness² vs Kilo Code CLI](https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli.md)\n- [Harness² vs Kimi Code CLI](https://www.anchorterminal.com/compare/harness2-vs-kimi-code-cli.md)\n- [Harness² vs Kiro CLI](https://www.anchorterminal.com/compare/harness2-vs-kiro-cli.md)\n- [Harness² vs mini-swe-agent](https://www.anchorterminal.com/compare/harness2-vs-mini-swe-agent.md)\n- [Harness² vs MiniMax Code](https://www.anchorterminal.com/compare/harness2-vs-minimax-code.md)\n- [Harness² vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/harness2-vs-mistral-vibe-cli.md)\n- [Harness² vs Muse Code](https://www.anchorterminal.com/compare/harness2-vs-muse-code.md)\n- [Harness² vs OpenAI Codex](https://www.anchorterminal.com/compare/harness2-vs-openai-codex.md)\n- [Harness² vs OpenCode](https://www.anchorterminal.com/compare/harness2-vs-opencode.md)\n- [Harness² vs OpenHands](https://www.anchorterminal.com/compare/harness2-vs-openhands.md)\n- [Harness² vs Prime Agent](https://www.anchorterminal.com/compare/harness2-vs-prime-agent.md)\n- [Harness² vs Qoder CLI](https://www.anchorterminal.com/compare/harness2-vs-qoder-cli.md)\n- [Harness² vs Qwen Code](https://www.anchorterminal.com/compare/harness2-vs-qwen-code.md)\n- [Harness² vs Mirror CLI](https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror.md)\n- [Harness² vs Rovo Dev CLI](https://www.anchorterminal.com/compare/harness2-vs-rovo-dev-cli.md)\n- [Harness² vs Unstoppable](https://www.anchorterminal.com/compare/harness2-vs-unstoppable.md)\n- [Harness² vs Vibe-Trading](https://www.anchorterminal.com/compare/harness2-vs-vibe-trading.md)\n- [Harness² vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/harness2-vs-warp.md)\n- [HarnessRouter vs OpenMausBot](https://www.anchorterminal.com/compare/harnessrouter-vs-openmausbot.md)\n- [Jules vs OpenMausBot](https://www.anchorterminal.com/compare/jules-vs-openmausbot.md)\n- [Junie CLI vs OpenMausBot](https://www.anchorterminal.com/compare/junie-vs-openmausbot.md)\n- [Kilo Code CLI vs OpenMausBot](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openmausbot.md)\n- [Kimi Code CLI vs OpenMausBot](https://www.anchorterminal.com/compare/kimi-code-cli-vs-openmausbot.md)\n- [Kiro CLI vs OpenMausBot](https://www.anchorterminal.com/compare/kiro-cli-vs-openmausbot.md)\n- [mini-swe-agent vs OpenMausBot](https://www.anchorterminal.com/compare/mini-swe-agent-vs-openmausbot.md)\n- [MiniMax Code vs OpenMausBot](https://www.anchorterminal.com/compare/minimax-code-vs-openmausbot.md)\n- [Mistral Vibe CLI vs OpenMausBot](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openmausbot.md)\n- [Muse Code vs OpenMausBot](https://www.anchorterminal.com/compare/muse-code-vs-openmausbot.md)\n- [OpenAI Codex vs OpenMausBot](https://www.anchorterminal.com/compare/openai-codex-vs-openmausbot.md)\n- [OpenCode vs OpenMausBot](https://www.anchorterminal.com/compare/opencode-vs-openmausbot.md)\n- [OpenHands vs OpenMausBot](https://www.anchorterminal.com/compare/openhands-vs-openmausbot.md)\n- [CLI Manager vs OpenMausBot](https://www.anchorterminal.com/compare/cli-manager-vs-openmausbot.md)\n- [Harness vs OpenMausBot](https://www.anchorterminal.com/compare/harness-autonomous-vs-openmausbot.md)\n- [OpenMausBot vs Paperclip](https://www.anchorterminal.com/compare/openmausbot-vs-paperclip.md)\n- [OpenMausBot vs Parallax](https://www.anchorterminal.com/compare/openmausbot-vs-parallax-agents.md)\n- [OpenMausBot vs Prime Agent](https://www.anchorterminal.com/compare/openmausbot-vs-prime-agent.md)\n- [OpenMausBot vs Qoder CLI](https://www.anchorterminal.com/compare/openmausbot-vs-qoder-cli.md)\n- [OpenMausBot vs Qwen Code](https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code.md)\n- [OpenMausBot vs Mirror CLI](https://www.anchorterminal.com/compare/openmausbot-vs-reflection-mirror.md)\n- [OpenMausBot vs Rovo Dev CLI](https://www.anchorterminal.com/compare/openmausbot-vs-rovo-dev-cli.md)\n- [OpenMausBot vs Unstoppable](https://www.anchorterminal.com/compare/openmausbot-vs-unstoppable.md)\n- [OpenMausBot vs Vibe-Trading](https://www.anchorterminal.com/compare/openmausbot-vs-vibe-trading.md)\n- [OpenMausBot vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/openmausbot-vs-warp.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-31",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Harness² vs OpenMausBot",
        "url": ""
      }
    ],
    "description": "OpenMausBot scores 65.4 (B) to Harness²'s 42 (E) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Harness² E 42",
      "OpenMausBot B 65.4",
      "scores"
    ],
    "h1": "Harness² vs OpenMausBot",
    "image": "https://www.anchorterminal.com/assets/og/compare-harness2-vs-openmausbot.png",
    "path": "/compare/harness2-vs-openmausbot",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Harness² vs OpenMausBot for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/harness2-vs-openmausbot"
  },
  "tokens": {
    "markdown": 3850,
    "slim": 730
  },
  "version": 1
}
