{
  "data": {
    "a": {
      "slug": "harnessrouter",
      "name": "HarnessRouter",
      "vendor": "HarnessRouter (Lumentree Corporation)",
      "vendorUrl": "https://harnessrouter.ai",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "HarnessRouter runs complete agent harnesses such as Codex, Claude Code and Hermes behind one HTTP API, the Unified Harness Protocol, with sessions, streaming, files and artifacts. It comes as a hosted cloud or a self-hosted Community Edition.",
      "url": "https://www.anchorterminal.com/tools/harnessrouter",
      "markdownUrl": "https://www.anchorterminal.com/tools/harnessrouter.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/harnessrouter.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/harnessrouter.json",
      "repo": "https://github.com/HarnessRouter/harnessrouter",
      "license": "Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides.",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.harnessrouter.ai",
      "packages": [
        {
          "registry": "oci",
          "name": "harnessrouter/harnessrouter"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Workspace API key (sk-hr-) as a Bearer token from the product's server, never from a browser (https://harnessrouter.ai/docs/authentication). Keys are created in the console after a browser sign-up, can be held to one workspace or reach the whole organisation, and are revoked at once by DELETE /v1/orgs/{org}/keys/{id}. No OAuth or per-endpoint scopes found. The self-hosted Community Edition signs into its console with a username and password and needs no HarnessRouter key.",
      "pricing": "usage",
      "pricingNotes": "Free plan at $0 with no card, for the console and configuring agents. Running tasks draws on top-up credit ($10 minimum, 5.5 per cent fee) or a plan, Developer $20, Production $200 or Scale $1,000 a month, each fully included as usage. Agent work is $0.020 an active minute on top-ups and $0.014 to $0.006 on plans, and model calls are at the provider's price or on your own keys (https://harnessrouter.ai/pricing.md, checked 2026-10-17). Self-serve payment is card-only.",
      "priceSummary": "$20 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, llms-full.txt, the pricing page or the UHP schema (checked 2026-10-17). Payment is by card for top-ups and plans.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 3075,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://harnessrouter.ai/docs",
      "llmsTxt": "https://harnessrouter.ai/llms.txt",
      "openapi": "https://github.com/HarnessRouter/harnessrouter/blob/main/protocol/schema/uhp-2026-10-04.openapi.yaml",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "open-source",
        "apache-2.0",
        "api-key",
        "usage",
        "openapi",
        "llms-txt",
        "docker",
        "python",
        "streaming",
        "cloud-agent",
        "agent-skill"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.2,
        "grade": "D",
        "agentReady": false,
        "rank": 803,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 30,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 72,
          "payments": 25,
          "reliability": 35,
          "schema": 83,
          "security": 58,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-10-06, -5. Privately reported flaws fixed in public commits #416 to #429 on 6 and 7 October 2026. The gateway source names them GHSA-p6cq-54cg-8mpv (a bearer token that failed verification still reached internal routes, so anyone could rewrite any organisation's connections and routing; \"found live on the hosted service and closed there the same way, 2026-10-06\"), GHSA-qrr8-m92f-7vfp (identity headers trusted by default), GHSA-mw9j-m5jf-5r56 and GHSA-c5g7-c47h-f6c3 (server-side request forgery through git imports and upload addresses) and GHSA-rmh9-whjx-gfrc (secrets with quotes or non-ASCII characters left unredacted). A workspace key could also read, change and delete another workspace's harnesses, sessions and responses and mint an organisation-wide key (\"reported privately three times\"). All were fixed within days and described in the source. The advisory pages couldn't be read (GitHub answered 403), so whether they're published is unchecked, and the deduction is lower than an open cross-tenant flaw would get. Source https://github.com/HarnessRouter/harnessrouter/blob/main/gateway/app.py"
        ],
        "verdict": "A product's server sends a task to a named harness and gets streamed progress, sessions and files back, under a published OpenAPI contract with idempotency keys and a closed set of error codes. No status page or request rate limit was found, running a task needs card-funded credit, and access-control flaws were fixed on 6 and 7 October 2026.",
        "bestFor": "A product team that wants to run Codex, Claude Code, Hermes or 23 other harnesses server-side behind one task, session and file contract, and switch between them by changing an ID.",
        "strengths": [
          "UHP is published as OpenAPI 3.1 and JSON Schema 2020-12 under Apache-2.0, with a 98-check conformance suite in the repository",
          "Every task call takes an Idempotency-Key, and the error envelope has a closed code set, with a retry rule per code",
          "Per-turn budgets (400 steps, 7,200 seconds and $10 by default) cap what one task can spend",
          "26 harnesses listed as available, including Codex, Claude Code, Hermes, OpenCode, goose and Qoder, behind one task contract",
          "202 tagged releases between 15 August and 16 October 2026, and the self-hosted Community Edition runs with no HarnessRouter account"
        ],
        "weaknesses": [
          "No status page found (status.harnessrouter.ai doesn't resolve and /status answers 404), and the terms give no service level without a signed order form",
          "No request rate limit is published. Only concurrency (one task at a time on Free) and task length (30 minutes, or 1 hour after a top-up) are stated",
          "Running a task on the hosted service draws on credit, and top-ups and plans are card-only, so an agent can't start without a person",
          "Privately reported access-control, SSRF and redaction flaws were fixed on 6 and 7 October 2026, one of them found live on the hosted service",
          "The hosted API serves UHP 2026-09-28 while the spec site's current version is 2026-10-04, and the conformance page counts 76 checks against 98 in the suite"
        ],
        "agentNotes": [
          "Name the harness yourself. The task call is POST /{harness_id}/v1/responses, and HarnessRouter doesn't choose a harness for you",
          "Send a fresh Idempotency-Key with each new task, reuse it only for a retry of the same request, and recover from the session if a stream drops",
          "Call cancel to stop work. Closing the SSE connection leaves the agent running and billing",
          "Keep the Workspace API key on the server. The docs forbid calling the API from a browser with it",
          "Check each tool's enforcement in GET /v1/bases. On bases marked instruction, disabled_tools is a request to the model, not a block"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.2
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 72,
          "payments": 25,
          "reliability": 35,
          "schema": 83,
          "security": 58,
          "transparency": 78
        },
        "provenanceScore": 65
      },
      "connect": {
        "install": "docker run -d --name harnessrouter -p 127.0.0.1:3000:3000 -v harnessrouter:/data harnessrouter/harnessrouter",
        "http": "curl -N https://api.harnessrouter.ai/$HARNESS_ID/v1/responses -H \"Authorization: Bearer $HR_API_KEY\" -H \"Idempotency-Key: $(uuidgen)\" -H \"Content-Type: application/json\" -d '{\"input\": \"Review this uploaded agreement and return a checklist.\", \"stream\": true}'"
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/harnessrouter"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Developer plan, all $20 as usage",
          "unit": "month",
          "usd": 20,
          "note": "agent work $0.014 an active minute, one workspace"
        },
        {
          "item": "Production plan, all $200 as usage",
          "unit": "month",
          "usd": 200,
          "note": "agent work $0.010 an active minute, five workspaces"
        },
        {
          "item": "Scale plan, all $1,000 as usage",
          "unit": "month",
          "usd": 1000,
          "note": "agent work $0.006 an active minute, tracing included"
        },
        {
          "item": "Agent work on top-up credit, per hour of active work",
          "unit": "session-hour",
          "usd": 1.2,
          "note": "$0.020 an active minute, billed by the second. Waiting on the model, the user or a queue isn't billed"
        },
        {
          "item": "Tracing add-on",
          "unit": "month",
          "usd": 50,
          "note": "beta, included with Scale"
        }
      ],
      "provenance": {
        "legalEntity": "Lumentree Corporation",
        "domain": "harnessrouter.ai",
        "domainRegistered": "2026-06-18",
        "endpointOnVendorDomain": true,
        "terms": "https://harnessrouter.ai/legal/terms",
        "privacy": "https://harnessrouter.ai/legal/privacy",
        "statusPage": "",
        "changelog": "https://unifiedharnessprotocol.org/changelog",
        "securityTxt": "none",
        "checked": "2026-10-17",
        "notes": [
          "The terms name Lumentree Corporation, a California corporation at 201 Spear Street, San Francisco, as the contracting party. The YC launch lists the company as Epsilla (Summer 2023), and the maintainer commits from an epsilla.com address.",
          "harnessrouter.ai was registered on 18 June 2026 and unifiedharnessprotocol.org on 12 August 2026 (registry RDAP, checked 2026-10-17).",
          "No status page. status.harnessrouter.ai doesn't resolve and harnessrouter.ai/status answers 404.",
          "harnessrouter.ai/.well-known/security.txt answers 404. A disclosure policy is at /legal/security, and SECURITY.md in the repository names GitHub private reporting and contact@harnessrouter.ai.",
          "The changelog is the UHP specification's. HarnessRouter itself has 202 tags in the repository and no product changelog page was found.",
          "The terms forbid scraping or crawling except as allowed by the documentation, an API endpoint, robots.txt or written permission. robots.txt on harnessrouter.ai and unifiedharnessprotocol.org allows all paths."
        ],
        "score": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/harnessrouter.json",
      "live": {
        "slug": "harnessrouter",
        "probe": {
          "target": "https://api.harnessrouter.ai",
          "method": "get",
          "lastAt": "2026-10-19T04:05:14.857817248Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 272,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 278,
          "p95ms24h": 362,
          "samples24h": 257,
          "samples30d": 321,
          "days": [
            {
              "date": "2026-10-17",
              "probes": 21,
              "ok": 21
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "HarnessRouter/harnessrouter",
            "version": "v0.35.6",
            "released": "2026-10-19",
            "seenAt": "2026-10-19T03:54:17.175866289Z"
          }
        ],
        "githubStars": 3121,
        "securityTxt": {
          "url": "https://harnessrouter.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-18T15:53:15.81829781Z"
        },
        "llmsTxt": {
          "url": "https://harnessrouter.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-18T14:25:13.67588166Z"
        },
        "domain": {
          "domain": "harnessrouter.ai",
          "registered": "2026-06-18",
          "source": "https://rdap.identitydigital.services/rdap/domain/harnessrouter.ai",
          "checkedAt": "2026-10-18T13:43:04.282698858Z"
        },
        "pages": [
          {
            "url": "https://unifiedharnessprotocol.org/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-18T23:39:35.438442764Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "783aeda2cd75"
          },
          {
            "url": "https://harnessrouter.ai/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-18T23:31:33.798956939Z",
            "changedAt": "2026-10-18T23:31:33.798956939Z",
            "fingerprint": "b31b753df12b"
          },
          {
            "url": "https://harnessrouter.ai/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-18T23:31:29.199131828Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "af87474c34e0"
          },
          {
            "url": "https://harnessrouter.ai/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-18T23:31:31.409105501Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "501a6366c745"
          }
        ],
        "updatedAt": "2026-10-19T04:05:14.857817248Z"
      }
    },
    "answer": "HarnessRouter and Junie CLI score within a point of each other on agent readiness, 53.2 (D) and 53.2 (D). Junie CLI leads on reliability, payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "junie",
      "name": "Junie CLI",
      "vendor": "JetBrains",
      "vendorUrl": "https://junie.jetbrains.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "JetBrains' coding agent for the terminal, run as `junie`. It plans, edits files, runs commands and calls MCP servers, with an action allowlist, one-shot headless runs with JSON output for CI and an ACP mode for editors.",
      "url": "https://www.anchorterminal.com/tools/junie",
      "markdownUrl": "https://www.anchorterminal.com/tools/junie.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/junie.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/junie.json",
      "repo": "https://github.com/JetBrains/junie",
      "license": "Proprietary, JetBrains s.r.o., all rights reserved, under the JetBrains AI Terms of Service. The GitHub repository holds the README, release binaries and the issue tracker, not source",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@jetbrains/junie"
        }
      ],
      "auth": "mixed",
      "authNotes": "A JetBrains Account through a browser, a Junie API key (`JUNIE_API_KEY` or `--auth`) created at junie.jetbrains.com/cli for headless runs, or BYOK provider keys and custom endpoints, which need no JetBrains AI subscription.",
      "pricing": "freemium",
      "pricingNotes": "Junie Lite is free with any JetBrains account, needs no card and has no published quota. JetBrains AI Pro is $10 a month ($100 a year) with 10 AI Credits and AI Ultimate $30 a month ($300 a year) with 35, where one credit is US$1. BYOK use is billed by the provider with no JetBrains markup. Per-model credit rates weren't found (checked 2026-10-18).",
      "priceSummary": "$10 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Junie docs, the JetBrains AI terms or the pricing on junie.jetbrains.com (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 487,
        "npmWeekly": 3153,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://junie.jetbrains.com/docs/junie-cli.html",
      "llmsTxt": "https://junie.jetbrains.com/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "closed-source",
        "mcp",
        "acp",
        "llms-txt",
        "free-tier",
        "no-card",
        "hooks",
        "subagents"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.2,
        "grade": "D",
        "agentReady": false,
        "rank": 804,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 31,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 72,
          "payments": 42,
          "reliability": 45,
          "schema": 62,
          "security": 56,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-18"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-10-15. CVE-2026-111091, high (CVSS 7.8, CWE-829). Code execution was possible through an untrusted project's MCP server configuration in Junie CLI before 26.8.3. Fixed and published through NVD and JetBrains' fixed-issues page, inside six months (https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=Junie). -2",
          "2026-04-17. CVE-2026-41153, medium (CVSS 5.8 from JetBrains). Command execution through a malicious project file in JetBrains Junie before 252.549.29, a plugin build number. Judgement call, 1 point, since the IDE plugin and the CLI run the same agent per JetBrains' 17 June 2026 post. Fixed and published (https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=Junie). -1"
        ],
        "verdict": "Runs headless with JSON output, speaks ACP, and works with JetBrains AI plans, a free Junie Lite tier, the owner's own provider keys or a local endpoint. Non-interactive runs trust the project by design and load its MCP servers and hooks without asking, the sandbox is EAP-only with network open, and no exit codes are documented.",
        "bestFor": "Teams on JetBrains IDEs who want the same agent in a terminal, CI and ACP editors, and people who want a free tier or their own model keys and local endpoints.",
        "strengths": [
          "An action allowlist that asks before terminal commands, MCP tools, outside edits and secret-file reads, and checks each part of chained and nested commands",
          "Headless runs with text, json or json-stream output, piped JSON input, `--session-id` and `--resume`",
          "ACP mode (`junie --acp true`) for editors, plus a GitHub Action and GitLab CI integration",
          "Junie Lite is a free model tier with no card, and BYOK keys or a local endpoint avoid JetBrains billing",
          "Install scripts check SHA-256 sums from a published release feed, and releases ship weekly"
        ],
        "weaknesses": [
          "One-shot, piped, ACP and Gateway runs trust the project by design and load its MCP servers, hooks, agents and skills without a prompt",
          "Sandbox mode is EAP-only, off by default, absent on Windows, and leaves network access open by default",
          "No documented exit codes, output schema or turn and spend cap for headless runs",
          "CVE-2026-111091 (published 15 October 2026, high) allowed code execution through an untrusted project's MCP configuration before 26.8.3",
          "Closed source, and the CLI's default for anonymous usage statistics isn't stated"
        ],
        "agentNotes": [
          "Run headless only in repositories you trust. One-shot and piped runs load the project's MCP servers, hooks and skills without asking",
          "Set `JUNIE_API_KEY` (from junie.jetbrains.com/cli) or a provider key such as `JUNIE_ANTHROPIC_API_KEY` in CI. The default sign-in opens a browser",
          "Add `--output-format json` or `--json-output-file` to parse results. Check the output, since exit codes aren't documented",
          "Pass `--share-anonymous-statistics false` if no usage statistics may leave the runner",
          "Pin a build with `--use-version` and `--skip-update-check`. The CLI updates itself on start by default"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.2
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 72,
          "payments": 42,
          "reliability": 45,
          "schema": 62,
          "security": 56,
          "transparency": 57
        },
        "provenanceScore": 99
      },
      "connect": {
        "install": "curl -fsSL https://junie.jetbrains.com/install.sh | bash",
        "headless": {
          "acp": "junie --acp true",
          "review": "junie --auth=\"$JUNIE_API_KEY\" --review",
          "run": "junie --auth=\"$JUNIE_API_KEY\" \"Fix any failing tests\""
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/junie"
      },
      "sameCompany": [
        "youtrack"
      ],
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "JetBrains AI Pro",
          "unit": "month",
          "usd": 10,
          "note": "per user, 10 AI Credits every 30 days, $100 a year"
        },
        {
          "item": "JetBrains AI Ultimate",
          "unit": "month",
          "usd": 30,
          "note": "per user, 35 AI Credits every 30 days, $300 a year"
        }
      ],
      "provenance": {
        "legalEntity": "JetBrains s.r.o.",
        "domain": "jetbrains.com",
        "domainRegistered": "2001-11-09",
        "endpointOnVendorDomain": null,
        "terms": "https://www.jetbrains.com/legal/docs/terms/jetbrains-ai-service/",
        "privacy": "https://www.jetbrains.com/legal/docs/privacy/privacy/",
        "statusPage": "https://status.jetbrains.cloud",
        "changelog": "https://junie.jetbrains.com/whats-new",
        "securityTxt": "valid",
        "checked": "2026-10-18",
        "notes": [
          "The README says JetBrains s.r.o., all rights reserved, with use under the JetBrains AI Terms of Service (version 2.1, effective 30 September 2025, titled for AI Assistant and Junie).",
          "RDAP (Verisign) gives jetbrains.com a registration date of 2001-11-09. Junie's site is junie.jetbrains.com.",
          "www.jetbrains.com/.well-known/security.txt has a Contact and a Policy line and no Expires line, which RFC 9116 requires. The site's tracker reads a file with a Contact and no Expires as valid. junie.jetbrains.com/.well-known/security.txt answers 404.",
          "status.jetbrains.cloud (incident.io) covers JetBrains AI and its model providers, with no Junie component.",
          "The CLI runs on the owner's machine. Model calls go to JetBrains AI, the owner's provider or a local endpoint, so there is no single vendor endpoint."
        ],
        "score": 99
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/junie.json",
      "live": {
        "slug": "junie",
        "vendorStatus": {
          "page": "https://status.jetbrains.cloud",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-19T03:57:24.738115247Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "JetBrains/junie",
            "version": "3844.1",
            "released": "2026-10-17",
            "seenAt": "2026-10-19T03:57:18.462261051Z"
          },
          {
            "registry": "npm",
            "name": "@jetbrains/junie",
            "version": "3110.7.0",
            "seenAt": "2026-10-19T03:57:17.594188675Z"
          }
        ],
        "githubStars": 488,
        "npmWeekly": 3153,
        "pages": [
          {
            "url": "https://junie.jetbrains.com/whats-new",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-18T23:32:12.838843498Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e7ffd0aa598d"
          },
          {
            "url": "https://www.jetbrains.com/legal/docs/privacy/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-18T23:44:49.759359206Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7d6c9c28b6d6"
          },
          {
            "url": "https://www.jetbrains.com/legal/docs/terms/jetbrains-ai-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-18T23:44:51.742181669Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c56282bd3350"
          }
        ],
        "updatedAt": "2026-10-19T03:57:24.738115247Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "HarnessRouter (Lumentree Corporation)",
        "b": "JetBrains",
        "name": "Vendor"
      },
      {
        "a": "https://api.harnessrouter.ai",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides.",
        "b": "Proprietary, JetBrains s.r.o., all rights reserved, under the JetBrains AI Terms of Service. The GitHub repository holds the README, release binaries and the issue tracker, not source",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-16",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "",
        "b": "2026-06-12",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "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": "3.1k stars",
        "b": "487 stars, 3.2k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (4)",
        "b": "2.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "HarnessRouter and Junie CLI score within a point of each other on agent readiness, 53.2 (D) and 53.2 (D). Junie CLI leads on reliability, payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, HarnessRouter or Junie CLI?"
      },
      {
        "answer": "HarnessRouter is open source (Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides.). No open-source release is listed for Junie CLI.",
        "question": "Are HarnessRouter and Junie CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 83 against 62",
          "Agent ergonomics, 73 against 55"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Open source"
        ],
        "goodFor": "A product team that wants to run Codex, Claude Code, Hermes or 23 other harnesses server-side behind one task, session and file contract, and switch between them by changing an ID.",
        "slug": "harnessrouter",
        "watchFor": "No status page found (status.harnessrouter.ai doesn't resolve and /status answers 404), and the terms give no service level without a signed order form"
      },
      {
        "aheadOn": [
          "Reliability, 45 against 35",
          "Payments \u0026 pricing, 42 against 25",
          "Transparency \u0026 trust, 78 against 72"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Teams on JetBrains IDEs who want the same agent in a terminal, CI and ACP editors, and people who want a free tier or their own model keys and local endpoints.",
        "slug": "junie",
        "watchFor": "One-shot, piped, ACP and Gateway runs trust the project by design and load its MCP servers, hooks, agents and skills without a prompt"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-harnessrouter.json",
        "title": "Agent Zero vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-junie.json",
        "title": "Agent Zero vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-harnessrouter.json",
        "title": "Aider vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/aider-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-junie.json",
        "title": "Aider vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-harnessrouter.json",
        "title": "Amp vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/amp-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-junie.json",
        "title": "Amp vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-harnessrouter.json",
        "title": "Antigravity CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-junie.json",
        "title": "Antigravity CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-harnessrouter.json",
        "title": "Auggie CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-junie.json",
        "title": "Auggie CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-harnessrouter.json",
        "title": "Claude Code vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-junie.json",
        "title": "Claude Code vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-harnessrouter.json",
        "title": "Cline vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/cline-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-junie.json",
        "title": "Cline vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-harnessrouter.json",
        "title": "Crush vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/crush-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-junie.json",
        "title": "Crush vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-harnessrouter.json",
        "title": "Cursor CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-junie.json",
        "title": "Cursor CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harnessrouter.json",
        "title": "DeepSeek Harness (dsh) vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.json",
        "title": "DeepSeek Harness (dsh) vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-harnessrouter.json",
        "title": "Devin vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/devin-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-junie.json",
        "title": "Devin vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-harnessrouter.json",
        "title": "Droid CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-junie.json",
        "title": "Droid CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter.json",
        "title": "Pi vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-junie.json",
        "title": "Pi vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-harnessrouter.json",
        "title": "Gemini CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-junie.json",
        "title": "Gemini CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-harnessrouter.json",
        "title": "GitHub Copilot CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-junie.json",
        "title": "GitHub Copilot CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-harnessrouter.json",
        "title": "goose vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/goose-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-junie.json",
        "title": "goose vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-junie"
      },
      {
        "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-junie.json",
        "title": "Harness² vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-jules.json",
        "title": "HarnessRouter vs Jules",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.json",
        "title": "HarnessRouter vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-kimi-code-cli.json",
        "title": "HarnessRouter vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-kiro-cli.json",
        "title": "HarnessRouter vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-mini-swe-agent.json",
        "title": "HarnessRouter vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-mistral-vibe-cli.json",
        "title": "HarnessRouter vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-muse-code.json",
        "title": "HarnessRouter vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex.json",
        "title": "HarnessRouter vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.json",
        "title": "HarnessRouter vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-opencode"
      },
      {
        "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-prime-agent.json",
        "title": "HarnessRouter vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-qoder-cli.json",
        "title": "HarnessRouter vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code.json",
        "title": "HarnessRouter vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-reflection-mirror.json",
        "title": "HarnessRouter vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-rovo-dev-cli.json",
        "title": "HarnessRouter vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-warp.json",
        "title": "HarnessRouter vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-junie.json",
        "title": "Jules vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli.json",
        "title": "Junie CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-kimi-code-cli.json",
        "title": "Junie CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-kiro-cli.json",
        "title": "Junie CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-mini-swe-agent.json",
        "title": "Junie CLI vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/junie-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli.json",
        "title": "Junie CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-muse-code.json",
        "title": "Junie CLI vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/junie-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openai-codex.json",
        "title": "Junie CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-opencode.json",
        "title": "Junie CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/junie-vs-opencode"
      },
      {
        "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-prime-agent.json",
        "title": "Junie CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/junie-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-qoder-cli.json",
        "title": "Junie CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-qwen-code.json",
        "title": "Junie CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/junie-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-reflection-mirror.json",
        "title": "Junie CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli.json",
        "title": "Junie CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-warp.json",
        "title": "Junie CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/junie-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-harnessrouter.json",
        "title": "CLI Manager vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-junie.json",
        "title": "CLI Manager vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-harnessrouter.json",
        "title": "Harness vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-junie.json",
        "title": "Harness vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-paperclip.json",
        "title": "HarnessRouter vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-parallax-agents.json",
        "title": "HarnessRouter vs Parallax",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-paperclip.json",
        "title": "Junie CLI vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/junie-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-parallax-agents.json",
        "title": "Junie CLI vs Parallax",
        "url": "https://www.anchorterminal.com/compare/junie-vs-parallax-agents"
      }
    ],
    "scores": [
      {
        "by": 10,
        "edge": "junie",
        "harnessrouter": 35,
        "junie": 45,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "harnessrouter",
        "harnessrouter": 83,
        "junie": 62,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 18,
        "edge": "harnessrouter",
        "harnessrouter": 73,
        "junie": 55,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 2,
        "edge": "harnessrouter",
        "harnessrouter": 58,
        "junie": 56,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 17,
        "edge": "junie",
        "harnessrouter": 25,
        "junie": 42,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "harnessrouter": 72,
        "junie": 72,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 6,
        "edge": "junie",
        "harnessrouter": 72,
        "junie": 78,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "HarnessRouter and Junie CLI score within a point of each other on agent readiness, 53.2 (D) and 53.2 (D). Junie CLI leads on reliability, payments \u0026 pricing and transparency \u0026 trust. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "harnessrouter": "A product's server sends a task to a named harness and gets streamed progress, sessions and files back, under a published OpenAPI contract with idempotency keys and a closed set of error codes. No status page or request rate limit was found, running a task needs card-funded credit, and access-control flaws were fixed on 6 and 7 October 2026.",
      "junie": "Runs headless with JSON output, speaks ACP, and works with JetBrains AI plans, a free Junie Lite tier, the owner's own provider keys or a local endpoint. Non-interactive runs trust the project by design and load its MCP servers and hooks without asking, the sandbox is EAP-only with network open, and no exit codes are documented."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/harnessrouter-vs-junie",
    "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-junie.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/harnessrouter-vs-junie.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/harnessrouter-vs-junie.min.md"
  },
  "markdown": "HarnessRouter and Junie CLI score within a point of each other on agent readiness, 53.2 (D) and 53.2 (D). Junie CLI leads on reliability, payments \u0026 pricing and transparency \u0026 trust. Both do agent harnesses.\n\n- HarnessRouter: grade D, 53.2/100, rank #803 of 1146. Markdown https://www.anchorterminal.com/tools/harnessrouter.md · JSON https://www.anchorterminal.com/api/v1/tools/harnessrouter.json\n- Junie CLI: grade D, 53.2/100, rank #804 of 1146. Markdown https://www.anchorterminal.com/tools/junie.md · JSON https://www.anchorterminal.com/api/v1/tools/junie.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 713 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### HarnessRouter (D)\n\nGood for: A product team that wants to run Codex, Claude Code, Hermes or 23 other harnesses server-side behind one task, session and file contract, and switch between them by changing an ID.\n\nAhead on:\n- Schema \u0026 documentation, 83 against 62\n- Agent ergonomics, 73 against 55\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Open source\n\nWatch for: No status page found (status.harnessrouter.ai doesn't resolve and /status answers 404), and the terms give no service level without a signed order form\n\n### Junie CLI (D)\n\nGood for: Teams on JetBrains IDEs who want the same agent in a terminal, CI and ACP editors, and people who want a free tier or their own model keys and local endpoints.\n\nAhead on:\n- Reliability, 45 against 35\n- Payments \u0026 pricing, 42 against 25\n- Transparency \u0026 trust, 78 against 72\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: One-shot, piped, ACP and Gateway runs trust the project by design and load its MCP servers, hooks, agents and skills without a prompt\n\n\n## Score by category\n\n| Category | Weight | HarnessRouter | Junie CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 45 | Junie CLI +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 62 | HarnessRouter +21 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 55 | HarnessRouter +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 56 | HarnessRouter +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 42 | Junie CLI +17 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 72 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 78 | Junie CLI +6 |\n| Negative events | ≤15 | -5 | -3 | |\n| **Total** | | **53.2 · D** | **53.2 · D** | |\n\n## Facts side by side\n\n| Fact | HarnessRouter | Junie CLI |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | HarnessRouter (Lumentree Corporation) | JetBrains |\n| Hosted endpoint | `https://api.harnessrouter.ai` | no (local only) |\n| Transports | HTTP |  |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides. | Proprietary, JetBrains s.r.o., all rights reserved, under the JetBrains AI Terms of Service. The GitHub repository holds the README, release binaries and the issue tracker, not source |\n| Tools exposed | 0 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-16 | 2026-10-16 |\n| Terms last updated |  |  |\n| Privacy policy last updated |  | 2026-06-12 |\n| Customer content may train models |  |  |\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 | 3.1k stars | 487 stars, 3.2k npm/wk |\n| Agent reviews | 2.5/5 (4) | 2.8/5 (4) |\n\n## Verdicts\n\n**HarnessRouter.** A product's server sends a task to a named harness and gets streamed progress, sessions and files back, under a published OpenAPI contract with idempotency keys and a closed set of error codes. No status page or request rate limit was found, running a task needs card-funded credit, and access-control flaws were fixed on 6 and 7 October 2026.\n\n**Junie CLI.** Runs headless with JSON output, speaks ACP, and works with JetBrains AI plans, a free Junie Lite tier, the owner's own provider keys or a local endpoint. Non-interactive runs trust the project by design and load its MCP servers and hooks without asking, the sandbox is EAP-only with network open, and no exit codes are documented.\n\n## Before you call either\n\n### HarnessRouter\n\n1. Name the harness yourself. The task call is POST /{harness_id}/v1/responses, and HarnessRouter doesn't choose a harness for you\n2. Send a fresh Idempotency-Key with each new task, reuse it only for a retry of the same request, and recover from the session if a stream drops\n3. Call cancel to stop work. Closing the SSE connection leaves the agent running and billing\n4. Keep the Workspace API key on the server. The docs forbid calling the API from a browser with it\n5. Check each tool's enforcement in GET /v1/bases. On bases marked instruction, disabled_tools is a request to the model, not a block\n\n### Junie CLI\n\n1. Run headless only in repositories you trust. One-shot and piped runs load the project's MCP servers, hooks and skills without asking\n2. Set `JUNIE_API_KEY` (from junie.jetbrains.com/cli) or a provider key such as `JUNIE_ANTHROPIC_API_KEY` in CI. The default sign-in opens a browser\n3. Add `--output-format json` or `--json-output-file` to parse results. Check the output, since exit codes aren't documented\n4. Pass `--share-anonymous-statistics false` if no usage statistics may leave the runner\n5. Pin a build with `--use-version` and `--skip-update-check`. The CLI updates itself on start by default\n\n## Questions\n\n### Which is better for AI agents, HarnessRouter or Junie CLI?\n\nHarnessRouter and Junie CLI score within a point of each other on agent readiness, 53.2 (D) and 53.2 (D). Junie CLI leads on reliability, payments \u0026 pricing and transparency \u0026 trust.\n\n### Are HarnessRouter and Junie CLI open source?\n\nHarnessRouter is open source (Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides.). No open-source release is listed for Junie CLI.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/harnessrouter-vs-junie.json, and with the fewest tokens: https://www.anchorterminal.com/compare/harnessrouter-vs-junie.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"harnessrouter\", \"b\": \"junie\"}`. From a terminal: `anchor compare harnessrouter junie`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/harnessrouter.json and https://www.anchorterminal.com/api/v1/tools/junie.json\n\n## Other comparisons with HarnessRouter or Junie CLI\n\n- [Agent Zero vs HarnessRouter](https://www.anchorterminal.com/compare/agent-zero-vs-harnessrouter.md)\n- [Agent Zero vs Junie CLI](https://www.anchorterminal.com/compare/agent-zero-vs-junie.md)\n- [Aider vs HarnessRouter](https://www.anchorterminal.com/compare/aider-vs-harnessrouter.md)\n- [Aider vs Junie CLI](https://www.anchorterminal.com/compare/aider-vs-junie.md)\n- [Amp vs HarnessRouter](https://www.anchorterminal.com/compare/amp-vs-harnessrouter.md)\n- [Amp vs Junie CLI](https://www.anchorterminal.com/compare/amp-vs-junie.md)\n- [Antigravity CLI vs HarnessRouter](https://www.anchorterminal.com/compare/antigravity-cli-vs-harnessrouter.md)\n- [Antigravity CLI vs Junie CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-junie.md)\n- [Auggie CLI vs HarnessRouter](https://www.anchorterminal.com/compare/auggie-vs-harnessrouter.md)\n- [Auggie CLI vs Junie CLI](https://www.anchorterminal.com/compare/auggie-vs-junie.md)\n- [Claude Code vs HarnessRouter](https://www.anchorterminal.com/compare/claude-code-vs-harnessrouter.md)\n- [Claude Code vs Junie CLI](https://www.anchorterminal.com/compare/claude-code-vs-junie.md)\n- [Cline vs HarnessRouter](https://www.anchorterminal.com/compare/cline-vs-harnessrouter.md)\n- [Cline vs Junie CLI](https://www.anchorterminal.com/compare/cline-vs-junie.md)\n- [Crush vs HarnessRouter](https://www.anchorterminal.com/compare/crush-vs-harnessrouter.md)\n- [Crush vs Junie CLI](https://www.anchorterminal.com/compare/crush-vs-junie.md)\n- [Cursor CLI vs HarnessRouter](https://www.anchorterminal.com/compare/cursor-cli-vs-harnessrouter.md)\n- [Cursor CLI vs Junie CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-junie.md)\n- [DeepSeek Harness (dsh) vs HarnessRouter](https://www.anchorterminal.com/compare/deepseek-harness-vs-harnessrouter.md)\n- [DeepSeek Harness (dsh) vs Junie CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.md)\n- [Devin vs HarnessRouter](https://www.anchorterminal.com/compare/devin-vs-harnessrouter.md)\n- [Devin vs Junie CLI](https://www.anchorterminal.com/compare/devin-vs-junie.md)\n- [Droid CLI vs HarnessRouter](https://www.anchorterminal.com/compare/droid-cli-vs-harnessrouter.md)\n- [Droid CLI vs Junie CLI](https://www.anchorterminal.com/compare/droid-cli-vs-junie.md)\n- [Pi vs HarnessRouter](https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter.md)\n- [Pi vs Junie CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-junie.md)\n- [Gemini CLI vs HarnessRouter](https://www.anchorterminal.com/compare/gemini-cli-vs-harnessrouter.md)\n- [Gemini CLI vs Junie CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-junie.md)\n- [GitHub Copilot CLI vs HarnessRouter](https://www.anchorterminal.com/compare/github-copilot-cli-vs-harnessrouter.md)\n- [GitHub Copilot CLI vs Junie CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-junie.md)\n- [goose vs HarnessRouter](https://www.anchorterminal.com/compare/goose-vs-harnessrouter.md)\n- [goose vs Junie CLI](https://www.anchorterminal.com/compare/goose-vs-junie.md)\n- [Harness² vs HarnessRouter](https://www.anchorterminal.com/compare/harness2-vs-harnessrouter.md)\n- [Harness² vs Junie CLI](https://www.anchorterminal.com/compare/harness2-vs-junie.md)\n- [HarnessRouter vs Jules](https://www.anchorterminal.com/compare/harnessrouter-vs-jules.md)\n- [HarnessRouter vs Kilo Code CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.md)\n- [HarnessRouter vs Kimi Code CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-kimi-code-cli.md)\n- [HarnessRouter vs Kiro CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-kiro-cli.md)\n- [HarnessRouter vs mini-swe-agent](https://www.anchorterminal.com/compare/harnessrouter-vs-mini-swe-agent.md)\n- [HarnessRouter vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-mistral-vibe-cli.md)\n- [HarnessRouter vs Muse Code](https://www.anchorterminal.com/compare/harnessrouter-vs-muse-code.md)\n- [HarnessRouter vs OpenAI Codex](https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex.md)\n- [HarnessRouter vs OpenCode](https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.md)\n- [HarnessRouter vs OpenHands](https://www.anchorterminal.com/compare/harnessrouter-vs-openhands.md)\n- [HarnessRouter vs Prime Agent](https://www.anchorterminal.com/compare/harnessrouter-vs-prime-agent.md)\n- [HarnessRouter vs Qoder CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-qoder-cli.md)\n- [HarnessRouter vs Qwen Code](https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code.md)\n- [HarnessRouter vs Mirror CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-reflection-mirror.md)\n- [HarnessRouter vs Rovo Dev CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-rovo-dev-cli.md)\n- [HarnessRouter vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/harnessrouter-vs-warp.md)\n- [Jules vs Junie CLI](https://www.anchorterminal.com/compare/jules-vs-junie.md)\n- [Junie CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli.md)\n- [Junie CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/junie-vs-kimi-code-cli.md)\n- [Junie CLI vs Kiro CLI](https://www.anchorterminal.com/compare/junie-vs-kiro-cli.md)\n- [Junie CLI vs mini-swe-agent](https://www.anchorterminal.com/compare/junie-vs-mini-swe-agent.md)\n- [Junie CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli.md)\n- [Junie CLI vs Muse Code](https://www.anchorterminal.com/compare/junie-vs-muse-code.md)\n- [Junie CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/junie-vs-openai-codex.md)\n- [Junie CLI vs OpenCode](https://www.anchorterminal.com/compare/junie-vs-opencode.md)\n- [Junie CLI vs OpenHands](https://www.anchorterminal.com/compare/junie-vs-openhands.md)\n- [Junie CLI vs Prime Agent](https://www.anchorterminal.com/compare/junie-vs-prime-agent.md)\n- [Junie CLI vs Qoder CLI](https://www.anchorterminal.com/compare/junie-vs-qoder-cli.md)\n- [Junie CLI vs Qwen Code](https://www.anchorterminal.com/compare/junie-vs-qwen-code.md)\n- [Junie CLI vs Mirror CLI](https://www.anchorterminal.com/compare/junie-vs-reflection-mirror.md)\n- [Junie CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli.md)\n- [Junie CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/junie-vs-warp.md)\n- [CLI Manager vs HarnessRouter](https://www.anchorterminal.com/compare/cli-manager-vs-harnessrouter.md)\n- [CLI Manager vs Junie CLI](https://www.anchorterminal.com/compare/cli-manager-vs-junie.md)\n- [Harness vs HarnessRouter](https://www.anchorterminal.com/compare/harness-autonomous-vs-harnessrouter.md)\n- [Harness vs Junie CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-junie.md)\n- [HarnessRouter vs Paperclip](https://www.anchorterminal.com/compare/harnessrouter-vs-paperclip.md)\n- [HarnessRouter vs Parallax](https://www.anchorterminal.com/compare/harnessrouter-vs-parallax-agents.md)\n- [Junie CLI vs Paperclip](https://www.anchorterminal.com/compare/junie-vs-paperclip.md)\n- [Junie CLI vs Parallax](https://www.anchorterminal.com/compare/junie-vs-parallax-agents.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-19",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "HarnessRouter vs Junie CLI",
        "url": ""
      }
    ],
    "description": "HarnessRouter and Junie CLI score within a point of each other for agent harnesses, 53.2 and 53.2 out of 100. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "HarnessRouter D 53.2",
      "Junie CLI D 53.2",
      "scores"
    ],
    "h1": "HarnessRouter vs Junie CLI",
    "image": "https://www.anchorterminal.com/assets/og/compare-harnessrouter-vs-junie.png",
    "path": "/compare/harnessrouter-vs-junie",
    "published": "2026-10-01",
    "section": "tools",
    "title": "HarnessRouter vs Junie CLI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-18",
    "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-junie"
  },
  "tokens": {
    "markdown": 3800,
    "slim": 730
  },
  "version": 1
}
