{
  "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": 796,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 24,
        "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-18T00:14:42.280344324Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 265,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 275,
          "p95ms24h": 359,
          "samples24h": 24,
          "samples30d": 24,
          "days": [
            {
              "date": "2026-10-17",
              "probes": 21,
              "ok": 21
            },
            {
              "date": "2026-10-18",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "pages": [
          {
            "url": "https://unifiedharnessprotocol.org/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-17T23:11:55.703224248Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "783aeda2cd75"
          },
          {
            "url": "https://harnessrouter.ai/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-17T23:03:57.613043138Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fa9a36e3c1ac"
          },
          {
            "url": "https://harnessrouter.ai/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-17T23:03:53.558727976Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "af87474c34e0"
          },
          {
            "url": "https://harnessrouter.ai/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-17T23:03:55.591250792Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "501a6366c745"
          }
        ],
        "updatedAt": "2026-10-18T00:14:42.280344324Z"
      }
    },
    "answer": "Kilo Code CLI scores 73 (BB) on agent readiness against HarnessRouter's 53.2 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "kilo-code-cli",
      "name": "Kilo Code CLI",
      "vendor": "Kilo Code Inc.",
      "vendorUrl": "https://kilo.ai",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source coding agent for the terminal, forked from opencode and built from the same repository as Kilo's VS Code and JetBrains extensions. It runs with your own provider key, a local model or the Kilo Gateway.",
      "url": "https://www.anchorterminal.com/tools/kilo-code-cli",
      "markdownUrl": "https://www.anchorterminal.com/tools/kilo-code-cli.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kilo-code-cli.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kilo-code-cli.json",
      "repo": "https://github.com/Kilo-Org/kilocode",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@kilocode/cli"
        },
        {
          "registry": "npm",
          "name": "@kilocode/sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Your own provider key in `~/.config/kilo/kilo.jsonc` or the environment, a local model, or a Kilo account through `kilo auth login` for the Kilo Gateway and its free models. `kilo serve` runs unauthenticated unless `KILO_SERVER_PASSWORD` is set.",
      "pricing": "freemium",
      "pricingNotes": "The CLI is free and MIT-licensed, and needs no Kilo account with your own key or a local model. Kilo Gateway credits are billed at provider rates with a 5 per cent fee on credit purchases. Kilo Pass starts at $19 a month, Teams is $15 a user a month and Enterprise is quoted. The pricing page says the free tier needs no card.",
      "priceSummary": "$19 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the README (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 27539,
        "npmWeekly": 32804,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://kilo.ai/docs/code-with-ai/platforms/cli",
      "llmsTxt": "https://kilo.ai/docs/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "harness",
        "coding-agent",
        "cli",
        "open-source",
        "typescript",
        "mcp",
        "llms-txt",
        "telemetry-default-on",
        "freemium",
        "no-card",
        "local"
      ],
      "lastRelease": "2026-10-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73,
        "grade": "BB",
        "agentReady": true,
        "rank": 98,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 87,
          "payments": 50,
          "reliability": 85,
          "schema": 90,
          "security": 64,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-14. 7.8.10 added the conda client ID to default-on telemetry. When `~/.conda/aau_token` exists the CLI runs `conda info --json --offline` and attaches the ID (`aauClientToken`) to every PostHog event, and a commit hashing it was reverted. Neither the changelog nor the docs mention it. It respects Kilo's opt-out and conda's `anaconda_anon_usage: false`. -2. https://github.com/Kilo-Org/kilocode/blob/main/packages/kilo-telemetry/src/conda.ts"
        ],
        "verdict": "Shell commands ask before running by default, and an optional operating-system sandbox blocks writes outside the workspace and outbound network. Telemetry to PostHog is on by default and the sandbox is off, so an unattended `kilo run --auto` approves everything not denied unless both are configured first.",
        "bestFor": "Developers who want an open-source terminal agent with per-tool permission rules, an optional sandbox and a choice of provider, and the same engine in VS Code and JetBrains.",
        "strengths": [
          "Permission rules of `allow`, `ask` or `deny` per tool with glob patterns, and shell commands asking by default outside a built-in allow list",
          "A sandbox on macOS and Linux that limits writes, blocks network by default and refuses to run when it can't be enforced",
          "Project config can't weaken the sandbox or read environment variables through `{env:VAR}`",
          "Your own provider key or a local model works with no Kilo account",
          "Releases most weeks, with 7.8.9, 7.8.10 and 7.8.12 between 13 and 15 October 2026"
        ],
        "weaknesses": [
          "Telemetry to PostHog is on by default, attaches the conda client ID since 7.8.10, and the privacy policy doesn't mention it",
          "The sandbox is off by default and unavailable on Windows",
          "`kilo run` lists no flag for a turn, time or cost limit",
          "The terms grant a perpetual licence to use uploaded Customer Data to improve Kilo's services",
          "SECURITY.md still says the CLI has no sandbox, and NVD records an unanswered low-severity CVE from May 2026"
        ],
        "agentNotes": [
          "Set `sandbox.enabled` to true in the global `kilo.jsonc` before `kilo run --auto`. `--auto` approves every permission request not explicitly denied",
          "Set `experimental.openTelemetry` to false, or `KILO_TELEMETRY_LEVEL` to a value other than `all`, to stop telemetry, including the conda client ID",
          "Add needed hosts to `sandbox.allowed_hosts` in global config. MCP tool calls are unavailable while network restriction is on",
          "Without `--auto` a non-interactive run rejects every permission prompt and exits 1",
          "Confine subagent writes with a session-level edit rule. From 7.8.13 a custom agent's own `edit` denies no longer bind the subagents it starts"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 87,
          "payments": 50,
          "reliability": 85,
          "schema": 90,
          "security": 64,
          "transparency": 61
        },
        "provenanceScore": 90
      },
      "connect": {
        "install": "npm install -g @kilocode/cli   # or: brew install Kilo-Org/tap/kilo",
        "headless": {
          "command": "kilo run --auto --format json \"$TASK\""
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/kilo-code-cli"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Kilo Pass, entry tier",
          "unit": "month",
          "usd": 19,
          "note": "monthly model credits with bonus credits, optional"
        },
        {
          "item": "Teams plan",
          "unit": "seat-month",
          "usd": 15,
          "note": "model use billed separately at provider rates"
        }
      ],
      "provenance": {
        "legalEntity": "Kilo Code Inc. (the terms are a contract with Anaconda, Inc. on behalf of itself and its affiliates, including Kilo Code Inc.)",
        "domain": "kilo.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": null,
        "terms": "https://kilo.ai/terms",
        "privacy": "https://kilo.ai/privacy",
        "statusPage": "https://status.kilo.ai",
        "changelog": "https://github.com/Kilo-Org/kilocode/blob/main/packages/opencode/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms (last updated 30 September 2026) name the CLI among the services they cover and are made with Anaconda, Inc. The privacy policy (29 May 2026) names Kilo Code Inc. as data controller.",
          "kilo.ai/.well-known/security.txt lists security@kilo.ai and the policy at kilo.ai/security, names the CLI in scope and expires on 2026-12-31.",
          "trust.kilo.ai redirects to trust.anaconda.com, which has a Kilo Code section.",
          "status.kilo.ai is a Statuspage site for the website, gateway and cloud platform. The CLI runs on the owner's machine.",
          "PRIVACY.md in the repository is a separate short policy for the CLI dated March 2025."
        ],
        "score": 90
      },
      "requirements": {
        "card": "no",
        "freeTier": true,
        "minutes": 3,
        "credential": "mixed",
        "hosting": [
          "self-hosted"
        ],
        "euResidency": "unknown",
        "trainsOnData": "unknown",
        "zeroRetention": "unknown",
        "selfHost": "yes"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kilo-code-cli.json",
      "live": {
        "slug": "kilo-code-cli",
        "vendorStatus": {
          "page": "https://status.kilo.ai",
          "indicator": "maintenance",
          "summary": "Service Under Maintenance",
          "checkedAt": "2026-10-18T00:08:43.654255256Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Kilo-Org/kilocode",
            "version": "jetbrains/v7.1.11",
            "released": "2026-10-16",
            "seenAt": "2026-10-17T01:56:17.380888471Z"
          },
          {
            "registry": "npm",
            "name": "@kilocode/cli",
            "version": "7.8.12",
            "seenAt": "2026-10-17T01:56:15.181280618Z"
          },
          {
            "registry": "npm",
            "name": "@kilocode/sdk",
            "version": "7.8.12",
            "seenAt": "2026-10-17T01:56:16.255943149Z"
          }
        ],
        "githubStars": 27627,
        "npmWeekly": 29049,
        "securityTxt": {
          "url": "https://kilo.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-31T23:59:59.000Z",
          "checkedAt": "2026-10-17T15:51:41.161797514Z"
        },
        "llmsTxt": {
          "url": "https://kilo.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-17T14:22:27.902324883Z"
        },
        "domain": {
          "domain": "kilo.ai",
          "registered": "2017-12-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/kilo.ai",
          "checkedAt": "2026-10-11T13:24:36.336659152Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/Kilo-Org/kilocode/main/packages/opencode/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-17T23:08:54.813972948Z",
            "changedAt": "2026-10-16T22:29:57.710209449Z",
            "fingerprint": "54fc57f1fa71"
          },
          {
            "url": "https://kilo.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-17T23:04:39.797446489Z",
            "changedAt": "2026-10-16T22:25:44.849295384Z",
            "fingerprint": "3530880fcddd"
          },
          {
            "url": "https://kilo.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-17T23:04:41.977656113Z",
            "changedAt": "2026-10-16T22:25:47.165449472Z",
            "fingerprint": "5664f5d29427"
          }
        ],
        "updatedAt": "2026-10-18T00:08:43.654255256Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "HarnessRouter (Lumentree Corporation)",
        "b": "Kilo Code Inc.",
        "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": "MIT",
        "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-15",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "2026-09-30",
        "name": "Terms last updated"
      },
      {
        "a": "",
        "b": "2026-05-29",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.1k stars",
        "b": "28k stars, 33k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (4)",
        "b": "2.3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Kilo Code CLI scores 73 (BB) on agent readiness against HarnessRouter's 53.2 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, HarnessRouter or Kilo Code CLI?"
      },
      {
        "answer": "Yes. 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.). Kilo Code CLI is open source (MIT).",
        "question": "Are HarnessRouter and Kilo Code CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "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, 85 against 35",
          "Schema \u0026 documentation, 90 against 83",
          "Security \u0026 auth, 64 against 58",
          "Payments \u0026 pricing, 50 against 25",
          "Maintenance \u0026 community, 87 against 72"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card"
        ],
        "goodFor": "Developers who want an open-source terminal agent with per-tool permission rules, an optional sandbox and a choice of provider, and the same engine in VS Code and JetBrains.",
        "slug": "kilo-code-cli",
        "watchFor": "Telemetry to PostHog is on by default, attaches the conda client ID since 7.8.10, and the privacy policy doesn't mention it"
      }
    ],
    "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-kilo-code-cli.json",
        "title": "Agent Zero vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Aider vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Amp vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Antigravity CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Claude Code vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Cline vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Cursor CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Devin vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Droid CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Pi vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Gemini CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "GitHub Copilot CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "goose vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-kilo-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-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-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/kilo-code-cli-vs-kiro-cli.json",
        "title": "Kilo Code CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-muse-code.json",
        "title": "Kilo Code CLI vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-codex.json",
        "title": "Kilo Code CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode.json",
        "title": "Kilo Code CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode"
      },
      {
        "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-prime-agent.json",
        "title": "Kilo Code CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-qwen-code.json",
        "title": "Kilo Code CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-reflection-mirror.json",
        "title": "Kilo Code CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-reflection-mirror"
      },
      {
        "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-kilo-code-cli.json",
        "title": "CLI Manager vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-kilo-code-cli"
      },
      {
        "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-kilo-code-cli.json",
        "title": "Harness vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-kilo-code-cli"
      },
      {
        "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/kilo-code-cli-vs-paperclip.json",
        "title": "Kilo Code CLI vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-parallax-agents.json",
        "title": "Kilo Code CLI vs Parallax",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-parallax-agents"
      }
    ],
    "scores": [
      {
        "by": 50,
        "edge": "kilo-code-cli",
        "harnessrouter": 35,
        "key": "reliability",
        "kilo-code-cli": 85,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "kilo-code-cli",
        "harnessrouter": 83,
        "key": "schema",
        "kilo-code-cli": 90,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 1,
        "edge": "harnessrouter",
        "harnessrouter": 73,
        "key": "ergonomics",
        "kilo-code-cli": 72,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 6,
        "edge": "kilo-code-cli",
        "harnessrouter": 58,
        "key": "security",
        "kilo-code-cli": 64,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 25,
        "edge": "kilo-code-cli",
        "harnessrouter": 25,
        "key": "payments",
        "kilo-code-cli": 50,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "kilo-code-cli",
        "harnessrouter": 72,
        "key": "maintenance",
        "kilo-code-cli": 87,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 4,
        "edge": "kilo-code-cli",
        "harnessrouter": 72,
        "key": "transparency",
        "kilo-code-cli": 76,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Kilo Code CLI scores 73 (BB) on agent readiness against HarnessRouter's 53.2 (D), and leads in 6 of 7 scored categories. 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.",
      "kilo-code-cli": "Shell commands ask before running by default, and an optional operating-system sandbox blocks writes outside the workspace and outbound network. Telemetry to PostHog is on by default and the sandbox is off, so an unattended `kilo run --auto` approves everything not denied unless both are configured first."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli",
    "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.min.md"
  },
  "markdown": "Kilo Code CLI scores 73 (BB) on agent readiness against HarnessRouter's 53.2 (D), and leads in 6 of 7 scored categories. Both do agent harnesses.\n\n- HarnessRouter: grade D, 53.2/100, rank #796 of 1133. Markdown https://www.anchorterminal.com/tools/harnessrouter.md · JSON https://www.anchorterminal.com/api/v1/tools/harnessrouter.json\n- Kilo Code CLI: grade BB, 73/100, rank #98 of 1133. Markdown https://www.anchorterminal.com/tools/kilo-code-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/kilo-code-cli.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 331 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\nAlso in its favour:\n- A hosted endpoint, with nothing to install\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### Kilo Code CLI (BB)\n\nGood for: Developers who want an open-source terminal agent with per-tool permission rules, an optional sandbox and a choice of provider, and the same engine in VS Code and JetBrains.\n\nAhead on:\n- Reliability, 85 against 35\n- Schema \u0026 documentation, 90 against 83\n- Security \u0026 auth, 64 against 58\n- Payments \u0026 pricing, 50 against 25\n- Maintenance \u0026 community, 87 against 72\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n\nWatch for: Telemetry to PostHog is on by default, attaches the conda client ID since 7.8.10, and the privacy policy doesn't mention it\n\n\n## Score by category\n\n| Category | Weight | HarnessRouter | Kilo Code CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 85 | Kilo Code CLI +50 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 90 | Kilo Code CLI +7 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 72 | HarnessRouter +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 64 | Kilo Code CLI +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 50 | Kilo Code CLI +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 87 | Kilo Code CLI +15 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 76 | Kilo Code CLI +4 |\n| Negative events | ≤15 | -5 | -2 | |\n| **Total** | | **53.2 · D** | **73 · BB** | |\n\n## Facts side by side\n\n| Fact | HarnessRouter | Kilo Code CLI |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | HarnessRouter (Lumentree Corporation) | Kilo Code Inc. |\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. | MIT |\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-15 |\n| Terms last updated |  | 2026-09-30 |\n| Privacy policy last updated |  | 2026-05-29 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | not found in the text |\n| Terms or service can change without notice |  | yes |\n| Arbitration or class-action waiver |  | yes |\n| Popularity | 3.1k stars | 28k stars, 33k npm/wk |\n| Agent reviews | 2.5/5 (4) | 2.3/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**Kilo Code CLI.** Shell commands ask before running by default, and an optional operating-system sandbox blocks writes outside the workspace and outbound network. Telemetry to PostHog is on by default and the sandbox is off, so an unattended `kilo run --auto` approves everything not denied unless both are configured first.\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### Kilo Code CLI\n\n1. Set `sandbox.enabled` to true in the global `kilo.jsonc` before `kilo run --auto`. `--auto` approves every permission request not explicitly denied\n2. Set `experimental.openTelemetry` to false, or `KILO_TELEMETRY_LEVEL` to a value other than `all`, to stop telemetry, including the conda client ID\n3. Add needed hosts to `sandbox.allowed_hosts` in global config. MCP tool calls are unavailable while network restriction is on\n4. Without `--auto` a non-interactive run rejects every permission prompt and exits 1\n5. Confine subagent writes with a session-level edit rule. From 7.8.13 a custom agent's own `edit` denies no longer bind the subagents it starts\n\n## Questions\n\n### Which is better for AI agents, HarnessRouter or Kilo Code CLI?\n\nKilo Code CLI scores 73 (BB) on agent readiness against HarnessRouter's 53.2 (D), and leads in 6 of 7 scored categories.\n\n### Are HarnessRouter and Kilo Code CLI open source?\n\nYes. 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.). Kilo Code CLI is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.json, and with the fewest tokens: https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"harnessrouter\", \"b\": \"kilo-code-cli\"}`. From a terminal: `anchor compare harnessrouter kilo-code-cli`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/harnessrouter.json and https://www.anchorterminal.com/api/v1/tools/kilo-code-cli.json\n\n## Other comparisons with HarnessRouter or Kilo Code CLI\n\n- [Agent Zero vs HarnessRouter](https://www.anchorterminal.com/compare/agent-zero-vs-harnessrouter.md)\n- [Agent Zero vs Kilo Code CLI](https://www.anchorterminal.com/compare/agent-zero-vs-kilo-code-cli.md)\n- [Aider vs HarnessRouter](https://www.anchorterminal.com/compare/aider-vs-harnessrouter.md)\n- [Aider vs Kilo Code CLI](https://www.anchorterminal.com/compare/aider-vs-kilo-code-cli.md)\n- [Amp vs HarnessRouter](https://www.anchorterminal.com/compare/amp-vs-harnessrouter.md)\n- [Amp vs Kilo Code CLI](https://www.anchorterminal.com/compare/amp-vs-kilo-code-cli.md)\n- [Antigravity CLI vs HarnessRouter](https://www.anchorterminal.com/compare/antigravity-cli-vs-harnessrouter.md)\n- [Antigravity CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-kilo-code-cli.md)\n- [Claude Code vs HarnessRouter](https://www.anchorterminal.com/compare/claude-code-vs-harnessrouter.md)\n- [Claude Code vs Kilo Code CLI](https://www.anchorterminal.com/compare/claude-code-vs-kilo-code-cli.md)\n- [Cline vs HarnessRouter](https://www.anchorterminal.com/compare/cline-vs-harnessrouter.md)\n- [Cline vs Kilo Code CLI](https://www.anchorterminal.com/compare/cline-vs-kilo-code-cli.md)\n- [Cursor CLI vs HarnessRouter](https://www.anchorterminal.com/compare/cursor-cli-vs-harnessrouter.md)\n- [Cursor CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-kilo-code-cli.md)\n- [Devin vs HarnessRouter](https://www.anchorterminal.com/compare/devin-vs-harnessrouter.md)\n- [Devin vs Kilo Code CLI](https://www.anchorterminal.com/compare/devin-vs-kilo-code-cli.md)\n- [Droid CLI vs HarnessRouter](https://www.anchorterminal.com/compare/droid-cli-vs-harnessrouter.md)\n- [Droid CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/droid-cli-vs-kilo-code-cli.md)\n- [Pi vs HarnessRouter](https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter.md)\n- [Pi vs Kilo Code CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-kilo-code-cli.md)\n- [Gemini CLI vs HarnessRouter](https://www.anchorterminal.com/compare/gemini-cli-vs-harnessrouter.md)\n- [Gemini CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-kilo-code-cli.md)\n- [GitHub Copilot CLI vs HarnessRouter](https://www.anchorterminal.com/compare/github-copilot-cli-vs-harnessrouter.md)\n- [GitHub Copilot CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-kilo-code-cli.md)\n- [goose vs HarnessRouter](https://www.anchorterminal.com/compare/goose-vs-harnessrouter.md)\n- [goose vs Kilo Code CLI](https://www.anchorterminal.com/compare/goose-vs-kilo-code-cli.md)\n- [HarnessRouter vs Kiro CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-kiro-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 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- [Kilo Code CLI vs Kiro CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-kiro-cli.md)\n- [Kilo Code CLI vs Muse Code](https://www.anchorterminal.com/compare/kilo-code-cli-vs-muse-code.md)\n- [Kilo Code CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-codex.md)\n- [Kilo Code CLI vs OpenCode](https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode.md)\n- [Kilo Code CLI vs OpenHands](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openhands.md)\n- [Kilo Code CLI vs Prime Agent](https://www.anchorterminal.com/compare/kilo-code-cli-vs-prime-agent.md)\n- [Kilo Code CLI vs Qwen Code](https://www.anchorterminal.com/compare/kilo-code-cli-vs-qwen-code.md)\n- [Kilo Code CLI vs Mirror CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-reflection-mirror.md)\n- [CLI Manager vs HarnessRouter](https://www.anchorterminal.com/compare/cli-manager-vs-harnessrouter.md)\n- [CLI Manager vs Kilo Code CLI](https://www.anchorterminal.com/compare/cli-manager-vs-kilo-code-cli.md)\n- [Harness vs HarnessRouter](https://www.anchorterminal.com/compare/harness-autonomous-vs-harnessrouter.md)\n- [Harness vs Kilo Code CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-kilo-code-cli.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- [Kilo Code CLI vs Paperclip](https://www.anchorterminal.com/compare/kilo-code-cli-vs-paperclip.md)\n- [Kilo Code CLI vs Parallax](https://www.anchorterminal.com/compare/kilo-code-cli-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-18",
    "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 Kilo Code CLI",
        "url": ""
      }
    ],
    "description": "Kilo Code CLI scores 73 (BB) to HarnessRouter's 53.2 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "HarnessRouter D 53.2",
      "Kilo Code CLI BB 73",
      "scores"
    ],
    "h1": "HarnessRouter vs Kilo Code CLI",
    "image": "https://www.anchorterminal.com/assets/og/compare-harnessrouter-vs-kilo-code-cli.png",
    "path": "/compare/harnessrouter-vs-kilo-code-cli",
    "published": "2026-10-01",
    "section": "tools",
    "title": "HarnessRouter vs Kilo Code CLI for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-17",
    "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli"
  },
  "tokens": {
    "markdown": 3250,
    "slim": 780
  },
  "version": 1
}
