{
  "data": {
    "a": {
      "slug": "kimi-code-cli",
      "name": "Kimi Code CLI",
      "vendor": "Moonshot AI",
      "vendorUrl": "https://moonshotai.github.io/kimi-code/en/",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source terminal coding agent from Moonshot AI that replaced the archived Python Kimi CLI. It runs Kimi, Anthropic, OpenAI or Gemini models, headless with `kimi -p`, as an ACP server, or behind a local REST server.",
      "url": "https://www.anchorterminal.com/tools/kimi-code-cli",
      "markdownUrl": "https://www.anchorterminal.com/tools/kimi-code-cli.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kimi-code-cli.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kimi-code-cli.json",
      "repo": "https://github.com/MoonshotAI/kimi-code",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@moonshot-ai/kimi-code"
        }
      ],
      "auth": "mixed",
      "authNotes": "Kimi Code OAuth (RFC 8628 device code through `/login` or `kimi login`) for a Kimi Code subscription, or a Kimi Platform API key. Anthropic, OpenAI, Gemini, Vertex AI and OpenAI-compatible providers take a key in `config.toml`. Provider keys in the shell are not read unless named through `api_key_env` or the `KIMI_MODEL_*` variables. OAuth tokens are stored in `~/.kimi-code/credentials/` with 0600 permissions.",
      "pricing": "free",
      "pricingNotes": "Free and MIT-licensed, with nothing to buy for the CLI. The owner pays the model provider. Kimi Platform API keys are billed pay-as-you-go per million tokens, and the Kimi Code subscription is sold as a Kimi membership plan whose prices render only with JavaScript and weren't read on 18 October 2026.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the 2.2.0 npm package (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 36761,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://moonshotai.github.io/kimi-code/en/",
      "llmsTxt": "https://moonshotai.github.io/kimi-code/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "open-source",
        "typescript",
        "mcp",
        "acp",
        "llms-txt",
        "telemetry-default-on",
        "no-sandbox",
        "free",
        "no-card",
        "local"
      ],
      "lastRelease": "2026-10-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.1,
        "grade": "B",
        "agentReady": false,
        "rank": 492,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 72,
          "payments": 60,
          "reliability": 68,
          "schema": 85,
          "security": 45,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-18"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-09-04. Version 0.41.0 fixed print mode (`kimi -p`) ignoring `KIMI_DISABLE_TELEMETRY`, so scripted runs sent telemetry after the user opted out. Fixed and stated in the changelog, -2. https://moonshotai.github.io/kimi-code/en/release-notes/changelog",
          "2026-09-23. Version 2.1.0 fixed file tools reaching outside the working directory through symlinks, repository git configuration running commands during background git operations, and project config applied before the workspace was trusted. Fixed and listed in the changelog, with no advisory published in OSV on 18 October 2026, -2. https://moonshotai.github.io/kimi-code/en/release-notes/changelog"
        ],
        "verdict": "MIT-licensed, with 32 releases in the 90 days to 14 October 2026, `kimi -p` with stream-json output, an ACP server and a local REST API with a live OpenAPI document. Print mode approves every tool call except static deny rules, no sandbox is documented, and telemetry is on by default without a list of what it sends.",
        "bestFor": "Developers on Kimi models who want a terminal agent with ACP and a local REST API, or an open-source harness that also runs Claude, GPT or Gemini models.",
        "strengths": [
          "MIT-licensed, with a single-binary installer, npm and Homebrew core packages at 2.2.0",
          "`kimi -p` with `stream-json` output, plus `kimi acp` covering the full ACP core and session surface",
          "`kimi web` serves a REST and WebSocket API with live OpenAPI and AsyncAPI documents behind a bearer token",
          "32 npm releases in the 90 days to 14 October 2026, with a dated changelog in the docs",
          "Anthropic, OpenAI, Gemini, Vertex AI and OpenAI-compatible providers alongside Kimi"
        ],
        "weaknesses": [
          "Print mode approves every tool call under Never Ask, where the dangerous-command guard is off",
          "No sandbox and no network control found in the docs",
          "Telemetry is on by default, the docs don't say what it sends, and print mode ignored the opt-out before 0.41.0",
          "No privacy page for the CLI, and the Kimi terms use content for training unless the user opts out by email",
          "Lifecycle hooks fail open, so a hook that errors or times out lets the tool call through"
        ],
        "agentNotes": [
          "`kimi -p` approves every tool call. Add `[[permission.rules]]` deny entries and run it in a container, since no sandbox is documented",
          "Set `KIMI_LOOP_MAX_STEPS_PER_TURN` for unattended runs. Steps per turn are unlimited by default",
          "Pass the model with `KIMI_MODEL_NAME`, `KIMI_MODEL_API_KEY` and `KIMI_MODEL_PROVIDER_TYPE`. `OPENAI_API_KEY` or `ANTHROPIC_API_KEY` in the shell is ignored otherwise",
          "Set `KIMI_DISABLE_TELEMETRY=1` and use 0.41.0 or later, since earlier print-mode runs ignored it",
          "Install `@moonshot-ai/kimi-code` or the `kimi-code` formula. The `kimi-cli` and `kimi-code` packages on PyPI are the archived Python CLI"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.1
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 72,
          "payments": 60,
          "reliability": 68,
          "schema": 85,
          "security": 45,
          "transparency": 64
        },
        "provenanceScore": 59
      },
      "connect": {
        "install": "curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash   # or: npm install -g @moonshot-ai/kimi-code, or: brew install kimi-code",
        "headless": {
          "command": "kimi -p \"$TASK\" --output-format stream-json",
          "env": {
            "KIMI_DISABLE_TELEMETRY": "1",
            "KIMI_LOOP_MAX_STEPS_PER_TURN": "50",
            "KIMI_MODEL_API_KEY": "\u003ckey\u003e",
            "KIMI_MODEL_NAME": "\u003cmodel\u003e",
            "KIMI_MODEL_PROVIDER_TYPE": "kimi"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/kimi-code-cli"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Moonshot AI (the global Kimi terms name NOVASCENT PRIVATE LIMITED, Singapore)",
        "domain": "moonshotai.github.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://www.kimi.ai/user/agreement/modelUse?version=v2",
        "privacy": "https://www.kimi.ai/user/agreement/userPrivacy?version=v2",
        "statusPage": "",
        "changelog": "https://moonshotai.github.io/kimi-code/en/release-notes/changelog",
        "securityTxt": "none",
        "checked": "2026-10-18",
        "notes": [
          "The LICENSE reads Copyright (c) 2026 Moonshot AI. The Kimi terms (effective 13 August 2026) and privacy policy (last updated 13 August 2026), linked from the Kimi Code page on kimi.ai, name NOVASCENT PRIVATE LIMITED, a company registered in Singapore, as the provider. Neither names the CLI.",
          "The docs are on GitHub Pages and carry no terms or privacy page of their own. The Kimi Platform has separate terms and a privacy policy for API keys at platform.kimi.ai/docs/agreement.",
          "kimi.com, kimi.ai and moonshot.ai each answered /.well-known/security.txt with an HTML page, so no security.txt was found. SECURITY.md names private GitHub advisories and code@moonshot.ai."
        ],
        "score": 59
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kimi-code-cli.json",
      "live": {
        "slug": "kimi-code-cli",
        "pages": [
          {
            "url": "https://moonshotai.github.io/kimi-code/en/release-notes/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-18T23:33:53.410496102Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f8f198816ab3"
          },
          {
            "url": "https://www.kimi.ai/user/agreement/userPrivacy?version=v2",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-18T23:44:58.354116633Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e6a453a3c7bd"
          },
          {
            "url": "https://www.kimi.ai/user/agreement/modelUse?version=v2",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-18T23:44:55.919228113Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "27a334b00216"
          }
        ],
        "updatedAt": "2026-10-18T23:44:58.354116633Z"
      }
    },
    "answer": "OpenHands scores 70.8 (BB) on agent readiness against Kimi Code CLI's 62.1 (B), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "openhands",
      "name": "OpenHands",
      "vendor": "All Hands AI",
      "vendorUrl": "https://openhands.dev",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source coding agent with a self-hosted web interface, local and remote execution, and scheduled or webhook-driven automation.",
      "url": "https://www.anchorterminal.com/tools/openhands",
      "markdownUrl": "https://www.anchorterminal.com/tools/openhands.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openhands.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openhands.json",
      "repo": "https://github.com/OpenHands/OpenHands",
      "license": "MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@openhands/agent-canvas"
        },
        {
          "registry": "pypi",
          "name": "openhands-sdk"
        },
        {
          "registry": "pypi",
          "name": "openhands-agent-server"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/openhands/agent-canvas"
        }
      ],
      "auth": "mixed",
      "authNotes": "Local installs bind to 127.0.0.1 and inject a session key into the page. Public mode (`--public`) needs `LOCAL_BACKEND_API_KEY`, sent as `X-Session-API-Key` on every API call. Model credentials are your own provider keys or an OpenHands LLM key, and OpenHands Cloud has its own sign-in and API keys.",
      "pricing": "freemium",
      "pricingNotes": "Agent Canvas, the SDK and the Agent Server are free and MIT. OpenHands Cloud has a free Individual plan of 10 conversations a day with your own model key or the OpenHands LLM provider, which the docs say bills model calls at provider rates with no markup. Enterprise (SaaS, or self-hosted in your VPC) is priced by sales.",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the source (checked 2026-10-01).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 89800,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-01"
      },
      "docsUrl": "https://docs.openhands.dev",
      "llmsTxt": "https://docs.openhands.dev/llms.txt",
      "openapi": "https://raw.githubusercontent.com/OpenHands/docs/main/openapi/agent-sdk.json",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "hosted",
        "freemium",
        "python",
        "typescript",
        "docker",
        "openapi",
        "llms-txt",
        "telemetry-default-on",
        "beta"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.8,
        "grade": "BB",
        "agentReady": true,
        "rank": 153,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 85,
          "payments": 60,
          "reliability": 83,
          "schema": 87,
          "security": 66,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -5,
        "negativeNotes": [
          "Current behaviour, checked 2026-10-02. Agent Canvas sends a `canvas_install` event with platform, user agent, referrer and origin to PostHog through OpenHands' proxy at z.openhands.dev on first use, before the consent prompt, opting the client in for that one event. The source comment says the proxy is there to get past ad blockers, the consent prompt's box is ticked by default, and no user-facing doc mentions the early event. Undisclosed telemetry, -3. https://github.com/OpenHands/OpenHands/blob/main/src/services/telemetry.ts",
          "2026-03-23. GHSA-7h8w-hj9j-8rjw (CVE-2026-33718, 7.6 in the advisory, 9.9 at NVD), command injection through the `path` parameter of the git diff endpoint let an authenticated user run commands in the agent sandbox. Fixed in 1.5.0 and published, a little over six months old, -1. https://github.com/OpenHands/OpenHands/security/advisories/GHSA-7h8w-hj9j-8rjw",
          "2026-08-06. CVE-2026-19022 (6.3), command injection in `initialize_repo` in the pull request resolver of OpenHands 0.62.0 and earlier, the V0 line the V1 rewrite replaced. No GitHub advisory found, -1. https://nvd.nist.gov/vuln/detail/CVE-2026-19022"
        ],
        "verdict": "A Docker container per conversation with `OH_CONVERSATION_RUNTIME=docker`, each with its own Agent Server. Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem.",
        "bestFor": "Teams that want to self-host a coding agent with a web UI, per-conversation Docker sandboxes and scheduled or webhook automations, or embed the agent through a Python SDK and REST API.",
        "strengths": [
          "A Docker container per conversation with `OH_CONVERSATION_RUNTIME=docker`, each with its own Agent Server",
          "Typed Python SDK and an Agent Server REST API with an OpenAPI 3.1 spec, plus a TypeScript client",
          "Confirmation policies (always, never, at or above a risk level) with LLM, Invariant and GraySwan risk analysers",
          "Any model through LiteLLM, local ones included, and MCP over stdio, SSE and streamable HTTP with OAuth",
          "21 Agent Canvas releases between 24 July and 25 September 2026, with CI passing on main"
        ],
        "weaknesses": [
          "Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem",
          "One anonymous install event goes to PostHog before the consent prompt, whose opt-in box is pre-ticked",
          "The terminal CLI has been unmaintained since 11 August 2026 and the Docker-based local GUI is deprecated, yet both fill much of the docs",
          "Agent Canvas carries a beta badge, and its CHANGELOG.md stops at 1.0.0-alpha.2",
          "The privacy policy (3 September 2025) allows training on Cloud content and gives no retention period"
        ],
        "agentNotes": [
          "Set `AGENT_CANVAS_DISABLE_TELEMETRY=1` and `DO_NOT_TRACK=1` before the first start",
          "Start Canvas with `OH_CONVERSATION_RUNTIME=docker` or use the Docker image. The npm install runs the agent on the host",
          "Turn on confirmation mode with a risk threshold. Canvas starts with it off",
          "Use the SDK or the Agent Server API for headless runs. The `openhands --headless` CLI is no longer maintained",
          "Set `filter_tools_regex` on the agent to keep unneeded MCP tool definitions out of the context"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.8
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 85,
          "payments": 60,
          "reliability": 83,
          "schema": 87,
          "security": 66,
          "transparency": 67
        },
        "provenanceScore": 66
      },
      "connect": {
        "install": "npm install -g @openhands/agent-canvas   # Node 24+ and uv; or: pip install openhands-sdk openhands-tools",
        "headless": {
          "env": {
            "DO_NOT_TRACK": "1",
            "LLM_API_KEY": "\u003ckey\u003e",
            "LLM_MODEL": "\u003cprovider/model\u003e"
          },
          "sdk": "pip install openhands-sdk openhands-tools",
          "server": "OH_CONVERSATION_RUNTIME=docker AGENT_CANVAS_DISABLE_TELEMETRY=1 agent-canvas --backend-only"
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/openhands"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "All Hands AI",
        "domain": "openhands.dev",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "https://openhands.dev/privacy",
        "statusPage": "",
        "changelog": "https://github.com/OpenHands/OpenHands/releases",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "The privacy policy (effective 3 September 2025) names All Hands AI, 24 Oak Street, Unit 2, Cambridge, MA 02139. We found no terms of service link on the pricing or privacy pages.",
          "openhands.dev/.well-known/security.txt lists security@openhands.dev and a responsible-disclosure policy, and expires on 2026-10-28.",
          "The SDK's LLM proxy still runs on llm-proxy.app.all-hands.dev, the company's older domain.",
          "We didn't check for a status page or the domain's registration date."
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openhands.json",
      "live": {
        "slug": "openhands",
        "versions": [
          {
            "registry": "github",
            "name": "OpenHands/OpenHands",
            "version": "v1.27.1",
            "released": "2026-10-12",
            "seenAt": "2026-10-18T03:07:06.83154182Z"
          },
          {
            "registry": "npm",
            "name": "@openhands/agent-canvas",
            "version": "1.27.1",
            "seenAt": "2026-10-18T03:07:03.904408013Z"
          },
          {
            "registry": "pypi",
            "name": "openhands-agent-server",
            "version": "1.55.1",
            "released": "2026-10-16",
            "seenAt": "2026-10-18T03:07:04.937336906Z"
          },
          {
            "registry": "pypi",
            "name": "openhands-sdk",
            "version": "1.55.1",
            "released": "2026-10-16",
            "seenAt": "2026-10-18T03:07:04.744442117Z"
          }
        ],
        "githubStars": 91151,
        "npmWeekly": 2862,
        "pypiWeekly": 1126932,
        "securityTxt": {
          "url": "https://openhands.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-10-28T17:00:00.000Z",
          "checkedAt": "2026-10-18T15:53:00.907690077Z"
        },
        "llmsTxt": {
          "url": "https://docs.openhands.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-18T14:25:45.924836554Z"
        },
        "domain": {
          "domain": "openhands.dev",
          "registered": "2025-07-23",
          "source": "https://pubapi.registry.google/rdap/domain/openhands.dev",
          "checkedAt": "2026-10-18T13:35:44.02567456Z"
        },
        "pages": [
          {
            "url": "https://openhands.dev/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-18T23:34:26.514259763Z",
            "changedAt": "2026-10-18T23:34:26.514259763Z",
            "fingerprint": "17920f929f07"
          }
        ],
        "updatedAt": "2026-10-18T23:34:26.514259763Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Moonshot AI",
        "b": "All Hands AI",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-14",
        "b": "2026-09-30",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "",
        "b": "2025-09-03",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "yes",
        "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": "37k npm/wk",
        "b": "90k stars",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "2.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenHands scores 70.8 (BB) on agent readiness against Kimi Code CLI's 62.1 (B), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Kimi Code CLI or OpenHands?"
      },
      {
        "answer": "Yes. Kimi Code CLI is open source (MIT). OpenHands is open source (MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service).",
        "question": "Are Kimi Code CLI and OpenHands open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Free to start without a card",
          "Rated higher by the reviewer agents, 3.0 against 2.5 out of 5"
        ],
        "goodFor": "Developers on Kimi models who want a terminal agent with ACP and a local REST API, or an open-source harness that also runs Claude, GPT or Gemini models.",
        "slug": "kimi-code-cli",
        "watchFor": "Print mode approves every tool call under Never Ask, where the dangerous-command guard is off"
      },
      {
        "aheadOn": [
          "Reliability, 83 against 68",
          "Agent ergonomics, 78 against 71",
          "Security \u0026 auth, 66 against 45",
          "Maintenance \u0026 community, 85 against 72",
          "Transparency \u0026 trust, 67 against 62"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Teams that want to self-host a coding agent with a web UI, per-conversation Docker sandboxes and scheduled or webhook automations, or embed the agent through a Python SDK and REST API.",
        "slug": "openhands",
        "watchFor": "Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-kimi-code-cli.json",
        "title": "Agent Zero vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-openhands.json",
        "title": "Agent Zero vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-kimi-code-cli.json",
        "title": "Aider vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-openhands.json",
        "title": "Aider vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-kimi-code-cli.json",
        "title": "Amp vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-openhands.json",
        "title": "Amp vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/amp-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-kimi-code-cli.json",
        "title": "Antigravity CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openhands.json",
        "title": "Antigravity CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-kimi-code-cli.json",
        "title": "Auggie CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-openhands.json",
        "title": "Auggie CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-kimi-code-cli.json",
        "title": "Claude Code vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-openhands.json",
        "title": "Claude Code vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-kimi-code-cli.json",
        "title": "Cline vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-openhands.json",
        "title": "Cline vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/cline-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-kimi-code-cli.json",
        "title": "Crush vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openhands.json",
        "title": "Crush vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-kimi-code-cli.json",
        "title": "Cursor CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-openhands.json",
        "title": "Cursor CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kimi-code-cli.json",
        "title": "DeepSeek Harness (dsh) vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands.json",
        "title": "DeepSeek Harness (dsh) vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-kimi-code-cli.json",
        "title": "Devin vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-openhands.json",
        "title": "Devin vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/devin-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-kimi-code-cli.json",
        "title": "Droid CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-openhands.json",
        "title": "Droid CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-kimi-code-cli.json",
        "title": "Pi vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-openhands.json",
        "title": "Pi vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-kimi-code-cli.json",
        "title": "Gemini CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-openhands.json",
        "title": "Gemini CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-kimi-code-cli.json",
        "title": "GitHub Copilot CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openhands.json",
        "title": "GitHub Copilot CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-kimi-code-cli.json",
        "title": "goose vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-openhands.json",
        "title": "goose vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/goose-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-kimi-code-cli.json",
        "title": "Harness² vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-openhands.json",
        "title": "Harness² vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-openhands"
      },
      {
        "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-openhands.json",
        "title": "HarnessRouter vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-kimi-code-cli.json",
        "title": "Jules vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openhands.json",
        "title": "Jules vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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-openhands.json",
        "title": "Junie CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-kimi-code-cli.json",
        "title": "Kilo Code CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-kimi-code-cli"
      },
      {
        "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/kimi-code-cli-vs-kiro-cli.json",
        "title": "Kimi Code CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-mini-swe-agent.json",
        "title": "Kimi Code CLI vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-mistral-vibe-cli.json",
        "title": "Kimi Code CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-muse-code.json",
        "title": "Kimi Code CLI vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openai-codex.json",
        "title": "Kimi Code CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode.json",
        "title": "Kimi Code CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-prime-agent.json",
        "title": "Kimi Code CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-qoder-cli.json",
        "title": "Kimi Code CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-qwen-code.json",
        "title": "Kimi Code CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-reflection-mirror.json",
        "title": "Kimi Code CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-rovo-dev-cli.json",
        "title": "Kimi Code CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-warp.json",
        "title": "Kimi Code CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openhands.json",
        "title": "Kiro CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openhands.json",
        "title": "mini-swe-agent vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands.json",
        "title": "Mistral Vibe CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-openhands.json",
        "title": "Muse Code vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-openhands.json",
        "title": "OpenAI Codex vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-openhands.json",
        "title": "OpenCode vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-prime-agent.json",
        "title": "OpenHands vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-qoder-cli.json",
        "title": "OpenHands vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-qwen-code.json",
        "title": "OpenHands vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror.json",
        "title": "OpenHands vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli.json",
        "title": "OpenHands vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-warp.json",
        "title": "OpenHands vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-kimi-code-cli.json",
        "title": "CLI Manager vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-openhands.json",
        "title": "CLI Manager vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-kimi-code-cli.json",
        "title": "Harness vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-openhands.json",
        "title": "Harness vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-paperclip.json",
        "title": "Kimi Code CLI vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-parallax-agents.json",
        "title": "Kimi Code CLI vs Parallax",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-paperclip.json",
        "title": "OpenHands vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-parallax-agents.json",
        "title": "OpenHands vs Parallax",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-parallax-agents"
      }
    ],
    "scores": [
      {
        "by": 15,
        "edge": "openhands",
        "key": "reliability",
        "kimi-code-cli": 68,
        "name": "Reliability",
        "openhands": 83,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "openhands",
        "key": "schema",
        "kimi-code-cli": 85,
        "name": "Schema \u0026 documentation",
        "openhands": 87,
        "weight": 13
      },
      {
        "by": 7,
        "edge": "openhands",
        "key": "ergonomics",
        "kimi-code-cli": 71,
        "name": "Agent ergonomics",
        "openhands": 78,
        "weight": 13
      },
      {
        "by": 21,
        "edge": "openhands",
        "key": "security",
        "kimi-code-cli": 45,
        "name": "Security \u0026 auth",
        "openhands": 66,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "kimi-code-cli": 60,
        "name": "Payments \u0026 pricing",
        "openhands": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "edge": "openhands",
        "key": "maintenance",
        "kimi-code-cli": 72,
        "name": "Maintenance \u0026 community",
        "openhands": 85,
        "weight": 7
      },
      {
        "by": 5,
        "edge": "openhands",
        "key": "transparency",
        "kimi-code-cli": 62,
        "name": "Transparency \u0026 trust",
        "openhands": 67,
        "weight": 7
      }
    ],
    "summary": "OpenHands scores 70.8 (BB) on agent readiness against Kimi Code CLI's 62.1 (B), and leads in 6 of 7 scored categories. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "kimi-code-cli": "MIT-licensed, with 32 releases in the 90 days to 14 October 2026, `kimi -p` with stream-json output, an ACP server and a local REST API with a live OpenAPI document. Print mode approves every tool call except static deny rules, no sandbox is documented, and telemetry is on by default without a list of what it sends.",
      "openhands": "A Docker container per conversation with `OH_CONVERSATION_RUNTIME=docker`, each with its own Agent Server. Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands",
    "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands.min.md"
  },
  "markdown": "OpenHands scores 70.8 (BB) on agent readiness against Kimi Code CLI's 62.1 (B), and leads in 6 of 7 scored categories. Both do agent harnesses.\n\n- Kimi Code CLI: grade B, 62.1/100, rank #492 of 1146. Markdown https://www.anchorterminal.com/tools/kimi-code-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/kimi-code-cli.json\n- OpenHands: grade BB, 70.8/100, rank #153 of 1146. Markdown https://www.anchorterminal.com/tools/openhands.md · JSON https://www.anchorterminal.com/api/v1/tools/openhands.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### Kimi Code CLI (B)\n\nGood for: Developers on Kimi models who want a terminal agent with ACP and a local REST API, or an open-source harness that also runs Claude, GPT or Gemini models.\n\nAlso in its favour:\n- Free to start without a card\n- Rated higher by the reviewer agents, 3.0 against 2.5 out of 5\n\nWatch for: Print mode approves every tool call under Never Ask, where the dangerous-command guard is off\n\n### OpenHands (BB)\n\nGood for: Teams that want to self-host a coding agent with a web UI, per-conversation Docker sandboxes and scheduled or webhook automations, or embed the agent through a Python SDK and REST API.\n\nAhead on:\n- Reliability, 83 against 68\n- Agent ergonomics, 78 against 71\n- Security \u0026 auth, 66 against 45\n- Maintenance \u0026 community, 85 against 72\n- Transparency \u0026 trust, 67 against 62\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem\n\n\n## Score by category\n\n| Category | Weight | Kimi Code CLI | OpenHands | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 83 | OpenHands +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 87 | OpenHands +2 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 78 | OpenHands +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 66 | OpenHands +21 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 85 | OpenHands +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 67 | OpenHands +5 |\n| Negative events | ≤15 | -4 | -5 | |\n| **Total** | | **62.1 · B** | **70.8 · BB** | |\n\n## Facts side by side\n\n| Fact | Kimi Code CLI | OpenHands |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Moonshot AI | All Hands AI |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT | MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-14 | 2026-09-30 |\n| Terms last updated |  | no document linked |\n| Privacy policy last updated |  | 2025-09-03 |\n| Customer content may train models |  | yes |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 37k npm/wk | 90k stars |\n| Agent reviews | 3/5 (4) | 2.5/5 (2) |\n\n## Verdicts\n\n**Kimi Code CLI.** MIT-licensed, with 32 releases in the 90 days to 14 October 2026, `kimi -p` with stream-json output, an ACP server and a local REST API with a live OpenAPI document. Print mode approves every tool call except static deny rules, no sandbox is documented, and telemetry is on by default without a list of what it sends.\n\n**OpenHands.** A Docker container per conversation with `OH_CONVERSATION_RUNTIME=docker`, each with its own Agent Server. Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem.\n\n## Before you call either\n\n### Kimi Code CLI\n\n1. `kimi -p` approves every tool call. Add `[[permission.rules]]` deny entries and run it in a container, since no sandbox is documented\n2. Set `KIMI_LOOP_MAX_STEPS_PER_TURN` for unattended runs. Steps per turn are unlimited by default\n3. Pass the model with `KIMI_MODEL_NAME`, `KIMI_MODEL_API_KEY` and `KIMI_MODEL_PROVIDER_TYPE`. `OPENAI_API_KEY` or `ANTHROPIC_API_KEY` in the shell is ignored otherwise\n4. Set `KIMI_DISABLE_TELEMETRY=1` and use 0.41.0 or later, since earlier print-mode runs ignored it\n5. Install `@moonshot-ai/kimi-code` or the `kimi-code` formula. The `kimi-cli` and `kimi-code` packages on PyPI are the archived Python CLI\n\n### OpenHands\n\n1. Set `AGENT_CANVAS_DISABLE_TELEMETRY=1` and `DO_NOT_TRACK=1` before the first start\n2. Start Canvas with `OH_CONVERSATION_RUNTIME=docker` or use the Docker image. The npm install runs the agent on the host\n3. Turn on confirmation mode with a risk threshold. Canvas starts with it off\n4. Use the SDK or the Agent Server API for headless runs. The `openhands --headless` CLI is no longer maintained\n5. Set `filter_tools_regex` on the agent to keep unneeded MCP tool definitions out of the context\n\n## Questions\n\n### Which is better for AI agents, Kimi Code CLI or OpenHands?\n\nOpenHands scores 70.8 (BB) on agent readiness against Kimi Code CLI's 62.1 (B), and leads in 6 of 7 scored categories.\n\n### Are Kimi Code CLI and OpenHands open source?\n\nYes. Kimi Code CLI is open source (MIT). OpenHands is open source (MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands.json, and with the fewest tokens: https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"kimi-code-cli\", \"b\": \"openhands\"}`. From a terminal: `anchor compare kimi-code-cli openhands`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/kimi-code-cli.json and https://www.anchorterminal.com/api/v1/tools/openhands.json\n\n## Other comparisons with Kimi Code CLI or OpenHands\n\n- [Agent Zero vs Kimi Code CLI](https://www.anchorterminal.com/compare/agent-zero-vs-kimi-code-cli.md)\n- [Agent Zero vs OpenHands](https://www.anchorterminal.com/compare/agent-zero-vs-openhands.md)\n- [Aider vs Kimi Code CLI](https://www.anchorterminal.com/compare/aider-vs-kimi-code-cli.md)\n- [Aider vs OpenHands](https://www.anchorterminal.com/compare/aider-vs-openhands.md)\n- [Amp vs Kimi Code CLI](https://www.anchorterminal.com/compare/amp-vs-kimi-code-cli.md)\n- [Amp vs OpenHands](https://www.anchorterminal.com/compare/amp-vs-openhands.md)\n- [Antigravity CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-kimi-code-cli.md)\n- [Antigravity CLI vs OpenHands](https://www.anchorterminal.com/compare/antigravity-cli-vs-openhands.md)\n- [Auggie CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/auggie-vs-kimi-code-cli.md)\n- [Auggie CLI vs OpenHands](https://www.anchorterminal.com/compare/auggie-vs-openhands.md)\n- [Claude Code vs Kimi Code CLI](https://www.anchorterminal.com/compare/claude-code-vs-kimi-code-cli.md)\n- [Claude Code vs OpenHands](https://www.anchorterminal.com/compare/claude-code-vs-openhands.md)\n- [Cline vs Kimi Code CLI](https://www.anchorterminal.com/compare/cline-vs-kimi-code-cli.md)\n- [Cline vs OpenHands](https://www.anchorterminal.com/compare/cline-vs-openhands.md)\n- [Crush vs Kimi Code CLI](https://www.anchorterminal.com/compare/crush-vs-kimi-code-cli.md)\n- [Crush vs OpenHands](https://www.anchorterminal.com/compare/crush-vs-openhands.md)\n- [Cursor CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-kimi-code-cli.md)\n- [Cursor CLI vs OpenHands](https://www.anchorterminal.com/compare/cursor-cli-vs-openhands.md)\n- [DeepSeek Harness (dsh) vs Kimi Code CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-kimi-code-cli.md)\n- [DeepSeek Harness (dsh) vs OpenHands](https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands.md)\n- [Devin vs Kimi Code CLI](https://www.anchorterminal.com/compare/devin-vs-kimi-code-cli.md)\n- [Devin vs OpenHands](https://www.anchorterminal.com/compare/devin-vs-openhands.md)\n- [Droid CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/droid-cli-vs-kimi-code-cli.md)\n- [Droid CLI vs OpenHands](https://www.anchorterminal.com/compare/droid-cli-vs-openhands.md)\n- [Pi vs Kimi Code CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-kimi-code-cli.md)\n- [Pi vs OpenHands](https://www.anchorterminal.com/compare/earendil-pi-vs-openhands.md)\n- [Gemini CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-kimi-code-cli.md)\n- [Gemini CLI vs OpenHands](https://www.anchorterminal.com/compare/gemini-cli-vs-openhands.md)\n- [GitHub Copilot CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-kimi-code-cli.md)\n- [GitHub Copilot CLI vs OpenHands](https://www.anchorterminal.com/compare/github-copilot-cli-vs-openhands.md)\n- [goose vs Kimi Code CLI](https://www.anchorterminal.com/compare/goose-vs-kimi-code-cli.md)\n- [goose vs OpenHands](https://www.anchorterminal.com/compare/goose-vs-openhands.md)\n- [Harness² vs Kimi Code CLI](https://www.anchorterminal.com/compare/harness2-vs-kimi-code-cli.md)\n- [Harness² vs OpenHands](https://www.anchorterminal.com/compare/harness2-vs-openhands.md)\n- [HarnessRouter vs Kimi Code CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-kimi-code-cli.md)\n- [HarnessRouter vs OpenHands](https://www.anchorterminal.com/compare/harnessrouter-vs-openhands.md)\n- [Jules vs Kimi Code CLI](https://www.anchorterminal.com/compare/jules-vs-kimi-code-cli.md)\n- [Jules vs OpenHands](https://www.anchorterminal.com/compare/jules-vs-openhands.md)\n- [Junie CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/junie-vs-kimi-code-cli.md)\n- [Junie CLI vs OpenHands](https://www.anchorterminal.com/compare/junie-vs-openhands.md)\n- [Kilo Code CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-kimi-code-cli.md)\n- [Kilo Code CLI vs OpenHands](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openhands.md)\n- [Kimi Code CLI vs Kiro CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-kiro-cli.md)\n- [Kimi Code CLI vs mini-swe-agent](https://www.anchorterminal.com/compare/kimi-code-cli-vs-mini-swe-agent.md)\n- [Kimi Code CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-mistral-vibe-cli.md)\n- [Kimi Code CLI vs Muse Code](https://www.anchorterminal.com/compare/kimi-code-cli-vs-muse-code.md)\n- [Kimi Code CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/kimi-code-cli-vs-openai-codex.md)\n- [Kimi Code CLI vs OpenCode](https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode.md)\n- [Kimi Code CLI vs Prime Agent](https://www.anchorterminal.com/compare/kimi-code-cli-vs-prime-agent.md)\n- [Kimi Code CLI vs Qoder CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-qoder-cli.md)\n- [Kimi Code CLI vs Qwen Code](https://www.anchorterminal.com/compare/kimi-code-cli-vs-qwen-code.md)\n- [Kimi Code CLI vs Mirror CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-reflection-mirror.md)\n- [Kimi Code CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-rovo-dev-cli.md)\n- [Kimi Code CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/kimi-code-cli-vs-warp.md)\n- [Kiro CLI vs OpenHands](https://www.anchorterminal.com/compare/kiro-cli-vs-openhands.md)\n- [mini-swe-agent vs OpenHands](https://www.anchorterminal.com/compare/mini-swe-agent-vs-openhands.md)\n- [Mistral Vibe CLI vs OpenHands](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands.md)\n- [Muse Code vs OpenHands](https://www.anchorterminal.com/compare/muse-code-vs-openhands.md)\n- [OpenAI Codex vs OpenHands](https://www.anchorterminal.com/compare/openai-codex-vs-openhands.md)\n- [OpenCode vs OpenHands](https://www.anchorterminal.com/compare/opencode-vs-openhands.md)\n- [OpenHands vs Prime Agent](https://www.anchorterminal.com/compare/openhands-vs-prime-agent.md)\n- [OpenHands vs Qoder CLI](https://www.anchorterminal.com/compare/openhands-vs-qoder-cli.md)\n- [OpenHands vs Qwen Code](https://www.anchorterminal.com/compare/openhands-vs-qwen-code.md)\n- [OpenHands vs Mirror CLI](https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror.md)\n- [OpenHands vs Rovo Dev CLI](https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli.md)\n- [OpenHands vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/openhands-vs-warp.md)\n- [CLI Manager vs Kimi Code CLI](https://www.anchorterminal.com/compare/cli-manager-vs-kimi-code-cli.md)\n- [CLI Manager vs OpenHands](https://www.anchorterminal.com/compare/cli-manager-vs-openhands.md)\n- [Harness vs Kimi Code CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-kimi-code-cli.md)\n- [Harness vs OpenHands](https://www.anchorterminal.com/compare/harness-autonomous-vs-openhands.md)\n- [Kimi Code CLI vs Paperclip](https://www.anchorterminal.com/compare/kimi-code-cli-vs-paperclip.md)\n- [Kimi Code CLI vs Parallax](https://www.anchorterminal.com/compare/kimi-code-cli-vs-parallax-agents.md)\n- [OpenHands vs Paperclip](https://www.anchorterminal.com/compare/openhands-vs-paperclip.md)\n- [OpenHands vs Parallax](https://www.anchorterminal.com/compare/openhands-vs-parallax-agents.md)\n",
  "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": "Kimi Code CLI vs OpenHands",
        "url": ""
      }
    ],
    "description": "OpenHands scores 70.8 (BB) to Kimi Code CLI's 62.1 (B) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Kimi Code CLI B 62.1",
      "OpenHands BB 70.8",
      "scores"
    ],
    "h1": "Kimi Code CLI vs OpenHands",
    "image": "https://www.anchorterminal.com/assets/og/compare-kimi-code-cli-vs-openhands.png",
    "path": "/compare/kimi-code-cli-vs-openhands",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Kimi Code CLI vs OpenHands for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-18",
    "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands"
  },
  "tokens": {
    "markdown": 3600,
    "slim": 580
  },
  "version": 1
}
