{
  "data": {
    "a": {
      "slug": "openhands",
      "name": "OpenHands",
      "vendor": "All Hands AI",
      "vendorUrl": "https://openhands.dev",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source coding agent with a self-hosted web interface, local and remote execution, and scheduled or webhook-driven automation.",
      "url": "https://www.anchorterminal.com/tools/openhands",
      "markdownUrl": "https://www.anchorterminal.com/tools/openhands.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openhands.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openhands.json",
      "repo": "https://github.com/OpenHands/OpenHands",
      "license": "MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@openhands/agent-canvas"
        },
        {
          "registry": "pypi",
          "name": "openhands-sdk"
        },
        {
          "registry": "pypi",
          "name": "openhands-agent-server"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/openhands/agent-canvas"
        }
      ],
      "auth": "mixed",
      "authNotes": "Local installs bind to 127.0.0.1 and inject a session key into the page. Public mode (`--public`) needs `LOCAL_BACKEND_API_KEY`, sent as `X-Session-API-Key` on every API call. Model credentials are your own provider keys or an OpenHands LLM key, and OpenHands Cloud has its own sign-in and API keys.",
      "pricing": "freemium",
      "pricingNotes": "Agent Canvas, the SDK and the Agent Server are free and MIT. OpenHands Cloud has a free Individual plan of 10 conversations a day with your own model key or the OpenHands LLM provider, which the docs say bills model calls at provider rates with no markup. Enterprise (SaaS, or self-hosted in your VPC) is priced by sales.",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the source (checked 2026-10-01).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 89800,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-01"
      },
      "docsUrl": "https://docs.openhands.dev",
      "llmsTxt": "https://docs.openhands.dev/llms.txt",
      "openapi": "https://raw.githubusercontent.com/OpenHands/docs/main/openapi/agent-sdk.json",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "hosted",
        "freemium",
        "python",
        "typescript",
        "docker",
        "openapi",
        "llms-txt",
        "telemetry-default-on",
        "beta"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71,
        "grade": "BB",
        "agentReady": true,
        "rank": 152,
        "ranked": true,
        "rankOf": 1218,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 85,
          "payments": 60,
          "reliability": 83,
          "schema": 87,
          "security": 66,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -5,
        "negativeNotes": [
          "Current behaviour, checked 2026-10-02. Agent Canvas sends a `canvas_install` event with platform, user agent, referrer and origin to PostHog through OpenHands' proxy at z.openhands.dev on first use, before the consent prompt, opting the client in for that one event. The source comment says the proxy is there to get past ad blockers, the consent prompt's box is ticked by default, and no user-facing doc mentions the early event. Undisclosed telemetry, -3. https://github.com/OpenHands/OpenHands/blob/main/src/services/telemetry.ts",
          "2026-03-23. GHSA-7h8w-hj9j-8rjw (CVE-2026-33718, 7.6 in the advisory, 9.9 at NVD), command injection through the `path` parameter of the git diff endpoint let an authenticated user run commands in the agent sandbox. Fixed in 1.5.0 and published, a little over six months old, -1. https://github.com/OpenHands/OpenHands/security/advisories/GHSA-7h8w-hj9j-8rjw",
          "2026-08-06. CVE-2026-19022 (6.3), command injection in `initialize_repo` in the pull request resolver of OpenHands 0.62.0 and earlier, the V0 line the V1 rewrite replaced. No GitHub advisory found, -1. https://nvd.nist.gov/vuln/detail/CVE-2026-19022"
        ],
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "A Docker container per conversation with `OH_CONVERSATION_RUNTIME=docker`, each with its own Agent Server",
          "Typed Python SDK and an Agent Server REST API with an OpenAPI 3.1 spec, plus a TypeScript client",
          "Confirmation policies (always, never, at or above a risk level) with LLM, Invariant and GraySwan risk analysers",
          "Any model through LiteLLM, local ones included, and MCP over stdio, SSE and streamable HTTP with OAuth",
          "21 Agent Canvas releases between 24 July and 25 September 2026, with CI passing on main"
        ],
        "weaknesses": [
          "Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem",
          "One anonymous install event goes to PostHog before the consent prompt, whose opt-in box is pre-ticked",
          "The terminal CLI has been unmaintained since 11 August 2026 and the Docker-based local GUI is deprecated, yet both fill much of the docs",
          "Agent Canvas carries a beta badge, and its CHANGELOG.md stops at 1.0.0-alpha.2",
          "The privacy policy (3 September 2025) allows training on Cloud content and gives no retention period"
        ],
        "agentNotes": [
          "Set `AGENT_CANVAS_DISABLE_TELEMETRY=1` and `DO_NOT_TRACK=1` before the first start",
          "Start Canvas with `OH_CONVERSATION_RUNTIME=docker` or 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 --headless` CLI is no longer maintained",
          "Set `filter_tools_regex` on the agent to keep unneeded MCP tool definitions out of the context"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 85,
          "payments": 60,
          "reliability": 83,
          "schema": 87,
          "security": 66,
          "transparency": 67
        },
        "provenanceScore": 72,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @openhands/agent-canvas   # Node 24+ and uv; or: pip install openhands-sdk openhands-tools",
        "headless": {
          "env": {
            "DO_NOT_TRACK": "1",
            "LLM_API_KEY": "\u003ckey\u003e",
            "LLM_MODEL": "\u003cprovider/model\u003e"
          },
          "sdk": "pip install openhands-sdk openhands-tools",
          "server": "OH_CONVERSATION_RUNTIME=docker AGENT_CANVAS_DISABLE_TELEMETRY=1 agent-canvas --backend-only"
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/openhands"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "All Hands AI",
        "domain": "openhands.dev",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "https://openhands.dev/privacy",
        "statusPage": "",
        "changelog": "https://github.com/OpenHands/OpenHands/releases",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "The privacy policy (effective 3 September 2025) names All Hands AI, 24 Oak Street, Unit 2, Cambridge, MA 02139. We found no terms of service link on the pricing or privacy pages.",
          "openhands.dev/.well-known/security.txt lists security@openhands.dev and a responsible-disclosure policy, and expires on 2026-10-28.",
          "The SDK's LLM proxy still runs on llm-proxy.app.all-hands.dev, the company's older domain.",
          "We didn't check for a status page or the domain's registration date."
        ],
        "score": 72
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openhands.json",
      "live": {
        "slug": "openhands",
        "versions": [
          {
            "registry": "github",
            "name": "OpenHands/OpenHands",
            "version": "v1.33.0",
            "released": "2026-10-23",
            "seenAt": "2026-10-27T11:21:20.863199795Z"
          },
          {
            "registry": "npm",
            "name": "@openhands/agent-canvas",
            "version": "1.33.0",
            "seenAt": "2026-10-27T11:21:18.43617456Z"
          },
          {
            "registry": "pypi",
            "name": "openhands-agent-server",
            "version": "1.58.2",
            "released": "2026-10-25",
            "seenAt": "2026-10-27T11:21:18.971071797Z"
          },
          {
            "registry": "pypi",
            "name": "openhands-sdk",
            "version": "1.58.2",
            "released": "2026-10-25",
            "seenAt": "2026-10-27T11:21:18.783880553Z"
          }
        ],
        "githubStars": 91984,
        "npmWeekly": 2958,
        "pypiWeekly": 604050,
        "securityTxt": {
          "url": "https://openhands.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-10-28T17:00:00.000Z",
          "checkedAt": "2026-10-27T15:31:26.45694484Z"
        },
        "llmsTxt": {
          "url": "https://docs.openhands.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-27T14:58:53.063785769Z"
        },
        "domain": {
          "domain": "openhands.dev",
          "registered": "2025-07-23",
          "source": "https://pubapi.registry.google/rdap/domain/openhands.dev",
          "checkedAt": "2026-10-25T14:05:28.838913993Z"
        },
        "pages": [
          {
            "url": "https://openhands.dev/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-27T03:51:02.61722113Z",
            "changedAt": "2026-10-27T03:51:02.61722113Z",
            "fingerprint": "a8238679f6a5"
          }
        ],
        "github": {
          "repo": "openhands/openhands",
          "checkedAt": "2026-10-26T07:52:56.827005754Z",
          "stars": 91868,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-26T07:49:10Z",
          "openIssues": 564,
          "openPRs": 557,
          "issuesOpened90d": 1058,
          "issuesClosed90d": 696,
          "prsMerged90d": 856,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 36,
            "failure": 9,
            "other": 5,
            "latest": "failure",
            "latestAt": "2026-10-26T06:05:21Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-7h8w-hj9j-8rjw",
              "cve": "CVE-2026-33718",
              "severity": "high",
              "published": "2026-03-23T17:51:58Z"
            }
          ]
        },
        "updatedAt": "2026-10-27T15:31:26.45694484Z"
      }
    },
    "answer": "OpenHands scores 71 (BB) on agent readiness against Unstoppable's 34.9 (F), and leads in every scored category.",
    "b": {
      "slug": "unstoppable",
      "name": "Unstoppable",
      "vendor": "Unstoppable Domains, Inc.",
      "vendorUrl": "https://unstoppable.ai/",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Unstoppable, from Unstoppable Domains, is a desktop agent IDE for macOS and Windows that runs Claude Code, Codex, Cursor and other coding agents side by side in separate Git worktrees, with Remote Control from iOS, Android and the web.",
      "url": "https://www.anchorterminal.com/tools/unstoppable",
      "markdownUrl": "https://www.anchorterminal.com/tools/unstoppable.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/unstoppable.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/unstoppable.json",
      "license": "Proprietary, under Unstoppable Domains, Inc.'s Terms of Service. No source published",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No credential for an outside agent, because the app exposes no agent interface. A person can use the desktop app as a guest, or sign in through the browser with Google or GitHub, with optional authenticator-app two-factor authentication. Claude, Codex and Cursor connect through their own sign-ins in Settings, Accounts.",
      "pricing": "freemium",
      "pricingNotes": "Free to download, and the app is published as free. Agents run on the owner's Claude, ChatGPT or Cursor plan, on Ollama locally, or on AI credits. 10 free AI credits a day once turned on, no card. Credit prices appear only after sign-in. A 14 October post says a plan may not include Remote Control, and an 11 August post lists $19, $29 and $49 plans that no pricing page shows.",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the site, the help centre, the terms or llms.txt (checked 2026-10-27). AI credits are bought on the billing page after sign-in; the site's content security policy allows Stripe.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-27"
      },
      "docsUrl": "https://unstoppable.ai/support",
      "llmsTxt": "https://unstoppable.ai/llms.txt",
      "capabilities": [
        "agent.multi-agent",
        "agent.harness",
        "agent.mcp-client",
        "code.git",
        "browser.control"
      ],
      "tags": [
        "not-for-agents",
        "closed-source",
        "desktop-app",
        "macos",
        "windows",
        "ios",
        "android",
        "local",
        "hosted",
        "cloud-agent",
        "freemium",
        "byo-plan",
        "no-card",
        "approvals",
        "llms-txt",
        "new"
      ],
      "lastRelease": "2026-10-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 34.9,
        "grade": "F",
        "agentReady": false,
        "rank": 1133,
        "ranked": true,
        "rankOf": 1218,
        "categoryRank": 42,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 5,
          "maintenance": 58,
          "payments": 30,
          "reliability": 45,
          "schema": 30,
          "security": 36,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-27"
        },
        "negative": 0,
        "verdict": "Unstoppable runs several coding agents side by side in separate worktrees on the owner's Claude, ChatGPT or Cursor plans, with dated help articles and a public changelog. It has no API, MCP server or documented command an outside agent can call, every chat starts in Full access, and its pages disagree on which parts need a paid plan.",
        "bestFor": "A developer who runs Claude Code, Codex and Cursor on existing plans and wants parallel worktrees, pipelines and phone check-ins in one app.",
        "strengths": [
          "Each task runs in its own Git worktree, so parallel agents don't overwrite each other, and the app opens the pull request when asked",
          "Runs Claude Code, Codex and Cursor on the owner's own plans, Ollama models locally, or hosted models on AI credits, with 10 free credits a day and no card",
          "Activity sharing to Unstoppable's cloud is Off for every activity type on every plan by default, and secrets are removed before any upload, per the privacy policy",
          "Approval modes Ask and Accept edits with allow and deny rules by command, file write, MCP tool or network host, where deny wins and safety rules block force-pushes",
          "A dated changelog for versions 1.12.0 to 1.15.0 (20 to 23 October 2026) and 22 help articles updated between 19 and 24 October 2026"
        ],
        "weaknesses": [
          "No API, MCP server, SDK or documented CLI for an outside agent. A Linux command-line tool and MCP tools for cloud tasks appear only in changelog lines",
          "Every kind of chat starts in Full access, which skips approval prompts and the safety rules for risky commands, until the person changes the default",
          "The home page says every app feature is free when signed in, while a 14 October post says a plan may not include Remote Control and the governance page ties controls to subscriptions",
          "AI credit prices are shown only after sign-in, and no status page covers the accounts, cloud agents or Remote Control relay",
          "No security.txt on unstoppable.ai. The parent's security.txt expired on 22 January 2024 and its bug bounty policy link returns 404"
        ],
        "agentNotes": [
          "Don't plan to drive Unstoppable from another agent. It has no documented API, MCP server or CLI. Call Claude Code, Codex or Cursor directly and let the person use Unstoppable around them",
          "Inside Unstoppable, check the approval mode before acting. New chats start in Full access unless the person set Ask or Accept edits in Settings, Approvals",
          "When a Claude or Codex usage limit is reached, ask the person before choosing Use credits now or Always use credits, since both spend their AI credits",
          "Keep each task in its own worktree and let the person review the diff and press Create PR, rather than pushing to a shared branch"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 34.9
          }
        ],
        "editorialScores": {
          "ergonomics": 5,
          "maintenance": 58,
          "payments": 30,
          "reliability": 45,
          "schema": 30,
          "security": 36,
          "transparency": 40
        },
        "provenanceScore": 76,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-27",
            "maintenance": "2026-10-27",
            "payments": "2026-10-27",
            "reliability": "2026-10-27",
            "schema": "2026-10-27",
            "security": "2026-10-27",
            "transparency": "2026-10-27"
          },
          "last": "2026-10-27",
          "oldest": "2026-10-27",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.multi-agent",
        "tool": "https://letme.dev/unstoppable"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Unstoppable Domains, Inc.",
        "domain": "unstoppable.ai",
        "domainRegistered": "2021-01-05",
        "endpointOnVendorDomain": null,
        "terms": "https://unstoppable.ai/terms",
        "privacy": "https://unstoppable.ai/privacy",
        "statusPage": "",
        "changelog": "https://unstoppable.ai/changelog",
        "securityTxt": "none",
        "checked": "2026-10-27",
        "notes": [
          "The terms (effective 6 October 2026) name Unstoppable Domains, Inc., choose Delaware law and AAA arbitration, and cover the desktop app, web surface, a command-line interface and an optional agent cloud.",
          "The privacy policy (effective 8 October 2026) is written for this product and names privacy@unstoppabledomains.com as the contact.",
          "RDAP gives a registration date of 5 January 2021 for unstoppable.ai, with a registrar transfer on 28 July 2026.",
          "unstoppable.ai/.well-known/security.txt returned 404 on 27 October 2026. unstoppabledomains.com/.well-known/security.txt expired on 22 January 2024 and its policy link, /bug-bounty, returns 404.",
          "status.unstoppabledomains.com lists the domains business's web application and APIs, with no component for Unstoppable.ai.",
          "No endpoint an agent calls, so none is recorded."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/unstoppable.json"
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "All Hands AI",
        "b": "Unstoppable Domains, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service",
        "b": "Proprietary, under Unstoppable Domains, Inc.'s Terms of Service. No source published",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "b": "2026-10-23",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "2025-09-03",
        "b": "",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "90k stars",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenHands scores 71 (BB) on agent readiness against Unstoppable's 34.9 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, OpenHands or Unstoppable?"
      },
      {
        "answer": "OpenHands is open source (MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service). No open-source release is listed for Unstoppable.",
        "question": "Are OpenHands and Unstoppable open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 45",
          "Schema \u0026 documentation, 87 against 30",
          "Agent ergonomics, 78 against 5",
          "Security \u0026 auth, 66 against 36",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 85 against 58",
          "Transparency \u0026 trust, 70 against 58"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Open source"
        ],
        "goodFor": "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.",
        "slug": "openhands",
        "watchFor": "Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem"
      },
      {
        "aheadOn": null,
        "also": [
          "No key needed to call it",
          "Free to start without a card",
          "No incidents deducted, where OpenHands loses 5 points for them"
        ],
        "goodFor": "A developer who runs Claude Code, Codex and Cursor on existing plans and wants parallel worktrees, pipelines and phone check-ins in one app.",
        "slug": "unstoppable",
        "watchFor": "No API, MCP server, SDK or documented CLI for an outside agent. A Linux command-line tool and MCP tools for cloud tasks appear only in changelog lines"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-openhands.json",
        "title": "Agent Zero vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-unstoppable.json",
        "title": "Agent Zero vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-openhands.json",
        "title": "Aider vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-unstoppable.json",
        "title": "Aider vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/aider-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-openhands.json",
        "title": "Amp vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/amp-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-unstoppable.json",
        "title": "Amp vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/amp-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openhands.json",
        "title": "Antigravity CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-unstoppable.json",
        "title": "Antigravity CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-openhands.json",
        "title": "Auggie CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-unstoppable.json",
        "title": "Auggie CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-openhands.json",
        "title": "Claude Code vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-unstoppable.json",
        "title": "Claude Code vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-openhands.json",
        "title": "Cline vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/cline-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-unstoppable.json",
        "title": "Cline vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/cline-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openhands.json",
        "title": "Crush vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-unstoppable.json",
        "title": "Crush vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/crush-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-openhands.json",
        "title": "Cursor CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-unstoppable.json",
        "title": "Cursor CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands.json",
        "title": "DeepSeek Harness (dsh) vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-unstoppable.json",
        "title": "DeepSeek Harness (dsh) vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-openhands.json",
        "title": "Devin vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/devin-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-unstoppable.json",
        "title": "Devin vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/devin-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-openhands.json",
        "title": "Droid CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-unstoppable.json",
        "title": "Droid CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-openhands.json",
        "title": "Pi vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-unstoppable.json",
        "title": "Pi vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-openhands.json",
        "title": "Gemini CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-unstoppable.json",
        "title": "Gemini CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openhands.json",
        "title": "GitHub Copilot CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-unstoppable.json",
        "title": "GitHub Copilot CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-openhands.json",
        "title": "goose vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/goose-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-unstoppable.json",
        "title": "goose vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/goose-vs-unstoppable"
      },
      {
        "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-unstoppable.json",
        "title": "Harness² vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-openhands.json",
        "title": "HarnessRouter vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-unstoppable.json",
        "title": "HarnessRouter vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openhands.json",
        "title": "Jules vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-unstoppable.json",
        "title": "Jules vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/jules-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openhands.json",
        "title": "Junie CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-unstoppable.json",
        "title": "Junie CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/junie-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openhands.json",
        "title": "Kilo Code CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-unstoppable.json",
        "title": "Kilo Code CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands.json",
        "title": "Kimi Code CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-unstoppable.json",
        "title": "Kimi Code CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openhands.json",
        "title": "Kiro CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-unstoppable.json",
        "title": "Kiro CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openhands.json",
        "title": "mini-swe-agent vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-unstoppable.json",
        "title": "mini-swe-agent vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-openhands.json",
        "title": "MiniMax Code vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-unstoppable.json",
        "title": "MiniMax Code vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands.json",
        "title": "Mistral Vibe CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-unstoppable.json",
        "title": "Mistral Vibe CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-openhands.json",
        "title": "Muse Code vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-unstoppable.json",
        "title": "Muse Code vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-openhands.json",
        "title": "OpenAI Codex vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-unstoppable.json",
        "title": "OpenAI Codex vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-openhands.json",
        "title": "OpenCode vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-unstoppable.json",
        "title": "OpenCode vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-prime-agent.json",
        "title": "OpenHands vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-qoder-cli.json",
        "title": "OpenHands vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-qwen-code.json",
        "title": "OpenHands vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror.json",
        "title": "OpenHands vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli.json",
        "title": "OpenHands vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-vibe-trading.json",
        "title": "OpenHands vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-warp.json",
        "title": "OpenHands vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-unstoppable.json",
        "title": "Prime Agent vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-unstoppable.json",
        "title": "Qoder CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-unstoppable.json",
        "title": "Qwen Code vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-unstoppable.json",
        "title": "Mirror CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-unstoppable.json",
        "title": "Rovo Dev CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-openhands.json",
        "title": "CLI Manager vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-unstoppable.json",
        "title": "CLI Manager vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-openhands.json",
        "title": "Harness vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-unstoppable.json",
        "title": "Harness vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-paperclip.json",
        "title": "OpenHands vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-parallax-agents.json",
        "title": "OpenHands vs Parallax",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-unstoppable.json",
        "title": "Paperclip vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-unstoppable.json",
        "title": "Parallax vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/unstoppable-vs-vibe-trading.json",
        "title": "Unstoppable vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/unstoppable-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/unstoppable-vs-warp.json",
        "title": "Unstoppable vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/unstoppable-vs-warp"
      }
    ],
    "scores": [
      {
        "by": 38,
        "edge": "openhands",
        "key": "reliability",
        "name": "Reliability",
        "openhands": 83,
        "unstoppable": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 57,
        "edge": "openhands",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openhands": 87,
        "unstoppable": 30,
        "weight": 13
      },
      {
        "by": 73,
        "edge": "openhands",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openhands": 78,
        "unstoppable": 5,
        "weight": 13
      },
      {
        "by": 30,
        "edge": "openhands",
        "key": "security",
        "name": "Security \u0026 auth",
        "openhands": 66,
        "unstoppable": 36,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "openhands",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openhands": 60,
        "unstoppable": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 27,
        "edge": "openhands",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openhands": 85,
        "unstoppable": 58,
        "weight": 7
      },
      {
        "by": 12,
        "edge": "openhands",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openhands": 70,
        "unstoppable": 58,
        "weight": 7
      }
    ],
    "summary": "OpenHands scores 71 (BB) on agent readiness against Unstoppable's 34.9 (F), and leads in every scored category. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "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.",
      "unstoppable": "Unstoppable runs several coding agents side by side in separate worktrees on the owner's Claude, ChatGPT or Cursor plans, with dated help articles and a public changelog. It has no API, MCP server or documented command an outside agent can call, every chat starts in Full access, and its pages disagree on which parts need a paid plan."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openhands-vs-unstoppable",
    "json": "https://www.anchorterminal.com/compare/openhands-vs-unstoppable.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openhands-vs-unstoppable.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/openhands-vs-unstoppable.min.md"
  },
  "markdown": "OpenHands scores 71 (BB) on agent readiness against Unstoppable's 34.9 (F), and leads in every scored category. Both do agent harnesses.\n\n- OpenHands: grade BB, 71/100, rank #152 of 1218. Markdown https://www.anchorterminal.com/tools/openhands.md · JSON https://www.anchorterminal.com/api/v1/tools/openhands.json\n- Unstoppable: grade F, 34.9/100, rank #1133 of 1218. Markdown https://www.anchorterminal.com/tools/unstoppable.md · JSON https://www.anchorterminal.com/api/v1/tools/unstoppable.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 833 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### OpenHands (BB)\n\nGood 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.\n\nAhead on:\n- Reliability, 83 against 45\n- Schema \u0026 documentation, 87 against 30\n- Agent ergonomics, 78 against 5\n- Security \u0026 auth, 66 against 36\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 85 against 58\n- Transparency \u0026 trust, 70 against 58\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Open source\n\nWatch for: Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem\n\n### Unstoppable (F)\n\nGood for: A developer who runs Claude Code, Codex and Cursor on existing plans and wants parallel worktrees, pipelines and phone check-ins in one app.\n\nAlso in its favour:\n- No key needed to call it\n- Free to start without a card\n- No incidents deducted, where OpenHands loses 5 points for them\n\nWatch for: No API, MCP server, SDK or documented CLI for an outside agent. A Linux command-line tool and MCP tools for cloud tasks appear only in changelog lines\n\n\n## Score by category\n\n| Category | Weight | OpenHands | Unstoppable | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 45 | OpenHands +38 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 30 | OpenHands +57 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 5 | OpenHands +73 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 36 | OpenHands +30 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | OpenHands +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 58 | OpenHands +27 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 58 | OpenHands +12 |\n| Negative events | ≤15 | -5 | 0 | |\n| **Total** | | **71 · BB** | **34.9 · F** | |\n\n## Facts side by side\n\n| Fact | OpenHands | Unstoppable |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | All Hands AI | Unstoppable Domains, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service | Proprietary, under Unstoppable Domains, Inc.'s Terms of Service. No source published |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-30 | 2026-10-23 |\n| Terms last updated | no document linked |  |\n| Privacy policy last updated | 2025-09-03 |  |\n| Customer content may train models | yes |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 90k stars | none |\n| Agent reviews | 2.5/5 (2) | none |\n\n## Verdicts\n\n**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.\n\n**Unstoppable.** Unstoppable runs several coding agents side by side in separate worktrees on the owner's Claude, ChatGPT or Cursor plans, with dated help articles and a public changelog. It has no API, MCP server or documented command an outside agent can call, every chat starts in Full access, and its pages disagree on which parts need a paid plan.\n\n## Before you call either\n\n### OpenHands\n\n1. Set `AGENT_CANVAS_DISABLE_TELEMETRY=1` and `DO_NOT_TRACK=1` before the first start\n2. Start Canvas with `OH_CONVERSATION_RUNTIME=docker` or use the Docker image. The npm install runs the agent on the host\n3. Turn on confirmation mode with a risk threshold. Canvas starts with it off\n4. Use the SDK or the Agent Server API for headless runs. The `openhands --headless` CLI is no longer maintained\n5. Set `filter_tools_regex` on the agent to keep unneeded MCP tool definitions out of the context\n\n### Unstoppable\n\n1. Don't plan to drive Unstoppable from another agent. It has no documented API, MCP server or CLI. Call Claude Code, Codex or Cursor directly and let the person use Unstoppable around them\n2. Inside Unstoppable, check the approval mode before acting. New chats start in Full access unless the person set Ask or Accept edits in Settings, Approvals\n3. When a Claude or Codex usage limit is reached, ask the person before choosing Use credits now or Always use credits, since both spend their AI credits\n4. Keep each task in its own worktree and let the person review the diff and press Create PR, rather than pushing to a shared branch\n\n## Questions\n\n### Which is better for AI agents, OpenHands or Unstoppable?\n\nOpenHands scores 71 (BB) on agent readiness against Unstoppable's 34.9 (F), and leads in every scored category.\n\n### Are OpenHands and Unstoppable open source?\n\nOpenHands is open source (MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service). No open-source release is listed for Unstoppable.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/openhands-vs-unstoppable.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openhands-vs-unstoppable.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openhands\", \"b\": \"unstoppable\"}`. From a terminal: `anchor compare openhands unstoppable`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openhands.json and https://www.anchorterminal.com/api/v1/tools/unstoppable.json\n\n## Other comparisons with OpenHands or Unstoppable\n\n- [Agent Zero vs OpenHands](https://www.anchorterminal.com/compare/agent-zero-vs-openhands.md)\n- [Agent Zero vs Unstoppable](https://www.anchorterminal.com/compare/agent-zero-vs-unstoppable.md)\n- [Aider vs OpenHands](https://www.anchorterminal.com/compare/aider-vs-openhands.md)\n- [Aider vs Unstoppable](https://www.anchorterminal.com/compare/aider-vs-unstoppable.md)\n- [Amp vs OpenHands](https://www.anchorterminal.com/compare/amp-vs-openhands.md)\n- [Amp vs Unstoppable](https://www.anchorterminal.com/compare/amp-vs-unstoppable.md)\n- [Antigravity CLI vs OpenHands](https://www.anchorterminal.com/compare/antigravity-cli-vs-openhands.md)\n- [Antigravity CLI vs Unstoppable](https://www.anchorterminal.com/compare/antigravity-cli-vs-unstoppable.md)\n- [Auggie CLI vs OpenHands](https://www.anchorterminal.com/compare/auggie-vs-openhands.md)\n- [Auggie CLI vs Unstoppable](https://www.anchorterminal.com/compare/auggie-vs-unstoppable.md)\n- [Claude Code vs OpenHands](https://www.anchorterminal.com/compare/claude-code-vs-openhands.md)\n- [Claude Code vs Unstoppable](https://www.anchorterminal.com/compare/claude-code-vs-unstoppable.md)\n- [Cline vs OpenHands](https://www.anchorterminal.com/compare/cline-vs-openhands.md)\n- [Cline vs Unstoppable](https://www.anchorterminal.com/compare/cline-vs-unstoppable.md)\n- [Crush vs OpenHands](https://www.anchorterminal.com/compare/crush-vs-openhands.md)\n- [Crush vs Unstoppable](https://www.anchorterminal.com/compare/crush-vs-unstoppable.md)\n- [Cursor CLI vs OpenHands](https://www.anchorterminal.com/compare/cursor-cli-vs-openhands.md)\n- [Cursor CLI vs Unstoppable](https://www.anchorterminal.com/compare/cursor-cli-vs-unstoppable.md)\n- [DeepSeek Harness (dsh) vs OpenHands](https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands.md)\n- [DeepSeek Harness (dsh) vs Unstoppable](https://www.anchorterminal.com/compare/deepseek-harness-vs-unstoppable.md)\n- [Devin vs OpenHands](https://www.anchorterminal.com/compare/devin-vs-openhands.md)\n- [Devin vs Unstoppable](https://www.anchorterminal.com/compare/devin-vs-unstoppable.md)\n- [Droid CLI vs OpenHands](https://www.anchorterminal.com/compare/droid-cli-vs-openhands.md)\n- [Droid CLI vs Unstoppable](https://www.anchorterminal.com/compare/droid-cli-vs-unstoppable.md)\n- [Pi vs OpenHands](https://www.anchorterminal.com/compare/earendil-pi-vs-openhands.md)\n- [Pi vs Unstoppable](https://www.anchorterminal.com/compare/earendil-pi-vs-unstoppable.md)\n- [Gemini CLI vs OpenHands](https://www.anchorterminal.com/compare/gemini-cli-vs-openhands.md)\n- [Gemini CLI vs Unstoppable](https://www.anchorterminal.com/compare/gemini-cli-vs-unstoppable.md)\n- [GitHub Copilot CLI vs OpenHands](https://www.anchorterminal.com/compare/github-copilot-cli-vs-openhands.md)\n- [GitHub Copilot CLI vs Unstoppable](https://www.anchorterminal.com/compare/github-copilot-cli-vs-unstoppable.md)\n- [goose vs OpenHands](https://www.anchorterminal.com/compare/goose-vs-openhands.md)\n- [goose vs Unstoppable](https://www.anchorterminal.com/compare/goose-vs-unstoppable.md)\n- [Harness² vs OpenHands](https://www.anchorterminal.com/compare/harness2-vs-openhands.md)\n- [Harness² vs Unstoppable](https://www.anchorterminal.com/compare/harness2-vs-unstoppable.md)\n- [HarnessRouter vs OpenHands](https://www.anchorterminal.com/compare/harnessrouter-vs-openhands.md)\n- [HarnessRouter vs Unstoppable](https://www.anchorterminal.com/compare/harnessrouter-vs-unstoppable.md)\n- [Jules vs OpenHands](https://www.anchorterminal.com/compare/jules-vs-openhands.md)\n- [Jules vs Unstoppable](https://www.anchorterminal.com/compare/jules-vs-unstoppable.md)\n- [Junie CLI vs OpenHands](https://www.anchorterminal.com/compare/junie-vs-openhands.md)\n- [Junie CLI vs Unstoppable](https://www.anchorterminal.com/compare/junie-vs-unstoppable.md)\n- [Kilo Code CLI vs OpenHands](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openhands.md)\n- [Kilo Code CLI vs Unstoppable](https://www.anchorterminal.com/compare/kilo-code-cli-vs-unstoppable.md)\n- [Kimi Code CLI vs OpenHands](https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands.md)\n- [Kimi Code CLI vs Unstoppable](https://www.anchorterminal.com/compare/kimi-code-cli-vs-unstoppable.md)\n- [Kiro CLI vs OpenHands](https://www.anchorterminal.com/compare/kiro-cli-vs-openhands.md)\n- [Kiro CLI vs Unstoppable](https://www.anchorterminal.com/compare/kiro-cli-vs-unstoppable.md)\n- [mini-swe-agent vs OpenHands](https://www.anchorterminal.com/compare/mini-swe-agent-vs-openhands.md)\n- [mini-swe-agent vs Unstoppable](https://www.anchorterminal.com/compare/mini-swe-agent-vs-unstoppable.md)\n- [MiniMax Code vs OpenHands](https://www.anchorterminal.com/compare/minimax-code-vs-openhands.md)\n- [MiniMax Code vs Unstoppable](https://www.anchorterminal.com/compare/minimax-code-vs-unstoppable.md)\n- [Mistral Vibe CLI vs OpenHands](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands.md)\n- [Mistral Vibe CLI vs Unstoppable](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-unstoppable.md)\n- [Muse Code vs OpenHands](https://www.anchorterminal.com/compare/muse-code-vs-openhands.md)\n- [Muse Code vs Unstoppable](https://www.anchorterminal.com/compare/muse-code-vs-unstoppable.md)\n- [OpenAI Codex vs OpenHands](https://www.anchorterminal.com/compare/openai-codex-vs-openhands.md)\n- [OpenAI Codex vs Unstoppable](https://www.anchorterminal.com/compare/openai-codex-vs-unstoppable.md)\n- [OpenCode vs OpenHands](https://www.anchorterminal.com/compare/opencode-vs-openhands.md)\n- [OpenCode vs Unstoppable](https://www.anchorterminal.com/compare/opencode-vs-unstoppable.md)\n- [OpenHands vs Prime Agent](https://www.anchorterminal.com/compare/openhands-vs-prime-agent.md)\n- [OpenHands vs Qoder CLI](https://www.anchorterminal.com/compare/openhands-vs-qoder-cli.md)\n- [OpenHands vs Qwen Code](https://www.anchorterminal.com/compare/openhands-vs-qwen-code.md)\n- [OpenHands vs Mirror CLI](https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror.md)\n- [OpenHands vs Rovo Dev CLI](https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli.md)\n- [OpenHands vs Vibe-Trading](https://www.anchorterminal.com/compare/openhands-vs-vibe-trading.md)\n- [OpenHands vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/openhands-vs-warp.md)\n- [Prime Agent vs Unstoppable](https://www.anchorterminal.com/compare/prime-agent-vs-unstoppable.md)\n- [Qoder CLI vs Unstoppable](https://www.anchorterminal.com/compare/qoder-cli-vs-unstoppable.md)\n- [Qwen Code vs Unstoppable](https://www.anchorterminal.com/compare/qwen-code-vs-unstoppable.md)\n- [Mirror CLI vs Unstoppable](https://www.anchorterminal.com/compare/reflection-mirror-vs-unstoppable.md)\n- [Rovo Dev CLI vs Unstoppable](https://www.anchorterminal.com/compare/rovo-dev-cli-vs-unstoppable.md)\n- [CLI Manager vs OpenHands](https://www.anchorterminal.com/compare/cli-manager-vs-openhands.md)\n- [CLI Manager vs Unstoppable](https://www.anchorterminal.com/compare/cli-manager-vs-unstoppable.md)\n- [Harness vs OpenHands](https://www.anchorterminal.com/compare/harness-autonomous-vs-openhands.md)\n- [Harness vs Unstoppable](https://www.anchorterminal.com/compare/harness-autonomous-vs-unstoppable.md)\n- [OpenHands vs Paperclip](https://www.anchorterminal.com/compare/openhands-vs-paperclip.md)\n- [OpenHands vs Parallax](https://www.anchorterminal.com/compare/openhands-vs-parallax-agents.md)\n- [Paperclip vs Unstoppable](https://www.anchorterminal.com/compare/paperclip-vs-unstoppable.md)\n- [Parallax vs Unstoppable](https://www.anchorterminal.com/compare/parallax-agents-vs-unstoppable.md)\n- [Unstoppable vs Vibe-Trading](https://www.anchorterminal.com/compare/unstoppable-vs-vibe-trading.md)\n- [Unstoppable vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/unstoppable-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-28",
    "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": "OpenHands vs Unstoppable",
        "url": ""
      }
    ],
    "description": "OpenHands scores 71 (BB) to Unstoppable's 34.9 (F) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenHands BB 71",
      "Unstoppable F 34.9",
      "scores"
    ],
    "h1": "OpenHands vs Unstoppable",
    "image": "https://www.anchorterminal.com/assets/og/compare-openhands-vs-unstoppable.png",
    "path": "/compare/openhands-vs-unstoppable",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenHands vs Unstoppable for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-28",
    "url": "https://www.anchorterminal.com/compare/openhands-vs-unstoppable"
  },
  "tokens": {
    "markdown": 3750,
    "slim": 630
  },
  "version": 1
}
