{
  "data": {
    "a": {
      "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",
      "dns": "kilo-code-cli.grade.anchorterminal.com",
      "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 exact provider rates with a 5 per cent processing fee on credit purchases, and paid credits bought from 27 October 2026 expire after one year. Kilo Pass is $19, $49 or $199 a month, Teams is $15 a user a month and Enterprise is quoted (https://kilo.ai/pricing).",
      "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-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68,
        "grade": "B",
        "agentReady": false,
        "rank": 295,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 8,
        "methodology": "0.7",
        "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-11-01"
        },
        "negative": -7,
        "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",
          "2026-10-16 and 2026-10-26. Breaking changes in releases without notice. 7.8.13, filed as a patch change, made a custom delegator's own `edit` rules, path-scoped denies such as `secrets/**` included, stop applying to the subagents it starts, so a configuration that relied on them no longer confines delegated writes. 7.8.18 stopped remote MCP servers that redirect across origins from connecting. Neither is marked breaking, every release stays on 7.8.x, and no earlier notice was found. The redirect change closes a security issue and the changelog names the fix, so one term at the floor, -3, as firecrawl-mcp and docker-agent took. https://github.com/Kilo-Org/kilocode/blob/main/packages/opencode/CHANGELOG.md",
          "2026-10-22. 7.8.16 stopped running shell expressions in MCP prompt text. Before it, a `!`cmd`` expression in a prompt served by a connected MCP server ran as a local shell command when the user invoked that prompt (commit 2e17931, with a test that shows the expression ran). Fixed in a release, documented only as a changelog line with no advisory, -2, as docker-agent's fixed skill-file command execution took. https://github.com/Kilo-Org/kilocode/commit/2e1793154f6bef7632516a75a53d421a2e96b718"
        ],
        "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, the sandbox is off, and October releases changed permission and MCP behaviour without a breaking-change label, so pin a version for unattended `kilo run --auto`.",
        "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, 51 tagged releases between 4 August and 28 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 two unanswered low-severity CVEs from May 2026",
          "7.8.13 and 7.8.18 changed permission and MCP behaviour under patch-level versions with no breaking-change label"
        ],
        "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. Since 7.8.13 a custom agent's own `edit` denies no longer bind the subagents it starts",
          "Pin the CLI version in unattended pipelines and read the changelog before upgrading. Behaviour changes ship under 7.8.x patch versions"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 87,
          "payments": 50,
          "reliability": 85,
          "schema": 90,
          "security": 64,
          "transparency": 61
        },
        "provenanceScore": 90,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 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, Starter",
          "unit": "month",
          "usd": 19,
          "note": "up to $26.60 a month in credits, optional"
        },
        {
          "item": "Kilo Pass, Pro",
          "unit": "month",
          "usd": 49,
          "note": "up to $68.60 a month in credits, optional"
        },
        {
          "item": "Kilo Pass, Expert",
          "unit": "month",
          "usd": 199,
          "note": "up to $278.60 a month in 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-11-01",
        "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.",
          "Anaconda announced its acquisition of Kilo Code on 15 July 2026, and kilo.ai's footer links the announcement. Re-read on 1 November with the terms, privacy policy and security.txt, which are unchanged."
        ],
        "score": 90
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "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-11-07T18:21:18.79766424Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Kilo-Org/kilocode",
            "version": "v7.8.27",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:36:56.818728557Z"
          },
          {
            "registry": "npm",
            "name": "@kilocode/cli",
            "version": "7.8.27",
            "seenAt": "2026-11-06T23:36:54.243706054Z"
          },
          {
            "registry": "npm",
            "name": "@kilocode/sdk",
            "version": "7.8.27",
            "seenAt": "2026-11-06T23:36:55.336361265Z"
          }
        ],
        "githubStars": 27883,
        "npmWeekly": 57156,
        "securityTxt": {
          "url": "https://kilo.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-31T23:59:59.000Z",
          "checkedAt": "2026-11-07T16:00:00.37762315Z"
        },
        "llmsTxt": {
          "url": "https://kilo.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:48.933012387Z"
        },
        "domain": {
          "domain": "kilo.ai",
          "registered": "2017-12-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/kilo.ai",
          "checkedAt": "2026-11-01T14:08:08.435146626Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/Kilo-Org/kilocode/main/packages/opencode/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:18:35.478927107Z",
            "changedAt": "2026-11-05T13:03:01.906020556Z",
            "fingerprint": "183cafa519d3"
          },
          {
            "url": "https://kilo.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:11:59.606056445Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9480711dc26d"
          },
          {
            "url": "https://kilo.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:02.07389913Z",
            "changedAt": "2026-10-21T00:28:45.897088737Z",
            "fingerprint": "438622fad605"
          },
          {
            "url": "https://kilo.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:03.853874778Z",
            "changedAt": "2026-11-03T07:52:13.378291095Z",
            "fingerprint": "b97a979be9fa"
          }
        ],
        "github": {
          "repo": "kilo-org/kilocode",
          "checkedAt": "2026-11-02T08:58:32.131443556Z",
          "stars": 27831,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T08:57:07Z",
          "openIssues": 611,
          "openPRs": 221,
          "issuesOpened90d": 915,
          "issuesClosed90d": 889,
          "prsMerged90d": 1388,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 44,
            "failure": 6,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T08:48:42Z"
          },
          "replies": {
            "sampled": 23,
            "unanswered": 11,
            "medianDays": 1.4
          }
        },
        "updatedAt": "2026-11-07T18:21:18.79766424Z"
      }
    },
    "answer": "Kilo Code CLI scores 68 (B) on agent readiness against Letta's 59.7 (C), and leads in 6 of 7 scored categories. Letta leads on payments \u0026 pricing.",
    "b": {
      "slug": "letta",
      "name": "Letta",
      "vendor": "Letta",
      "vendorUrl": "https://www.letta.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Letta, from the MemGPT team, is an open-source agent harness (formerly Letta Code) for stateful agents that keep memory blocks, skills and conversations across sessions, used from a CLI, chat.letta.com, messaging channels or the Agent SDK, with Letta Cloud.",
      "url": "https://www.anchorterminal.com/tools/letta",
      "markdownUrl": "https://www.anchorterminal.com/tools/letta.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/letta.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/letta.json",
      "dns": "letta.grade.anchorterminal.com",
      "repo": "https://github.com/letta-ai/letta-code",
      "license": "Apache-2.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@letta-ai/letta-code"
        },
        {
          "registry": "pypi",
          "name": "letta"
        }
      ],
      "auth": "mixed",
      "authNotes": "Local use needs only the user's own model keys or coding-plan logins through `/connect`. Signing in with Letta (`/login`, OAuth in the browser) stores agents in Letta Cloud and enables remote computers and secrets. Developer plans use Letta API keys.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with bring-your-own keys and limited agents and storage. Pro $20 a month with Letta Auto quotas and up to 20 agents. API plan $20 a month plus $0.10 per active agent a month and $0.00015 a second of tool execution, with LLM usage at token cost.",
      "priceSummary": "$20 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the letta-code source, docs.letta.com's llms.txt or the pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 3793,
        "npmWeekly": 85863,
        "pypiWeekly": 2225,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.letta.com",
      "llmsTxt": "https://docs.letta.com/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent",
        "memory.store",
        "memory.search"
      ],
      "tags": [
        "open-source",
        "local",
        "hosted",
        "freemium",
        "apache-2.0",
        "typescript",
        "cli",
        "headless",
        "telemetry",
        "llms-txt",
        "memory"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.7,
        "grade": "C",
        "agentReady": false,
        "rank": 684,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 18,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 85,
          "payments": 60,
          "reliability": 58,
          "schema": 70,
          "security": 35,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Letta's open-source harness gives agents git-tracked memory blocks, skills, subagents and headless JSON runs, with a $0 plan and public per-agent API prices. It starts in the unrestricted permission mode, defaults to Letta Cloud, sends usage telemetry unless LETTA_CODE_TELEM=0 is set, and the V1 API server the comparisons describe is retired.",
        "bestFor": "Long-lived coding agents and assistants that keep memory and identity across sessions and machines.",
        "strengths": [
          "Apache-2.0 harness on npm and PyPI with 0.34.42 released on 6 November 2026, and releases most days",
          "Memory blocks and MemFS keep an agent's context in git, with optional sync to the user's own repository",
          "Headless runs with `-p` and `--output-format json`, plus a TypeScript Agent SDK and a self-hosted App Server",
          "Public prices, a $0 plan with bring-your-own keys, and an API plan at $20 a month plus $0.10 per active agent",
          "Runs locally without signing in, with `letta backend local` or `--backend local`"
        ],
        "weaknesses": [
          "The default permission mode is `unrestricted`, the renamed `bypassPermissions`, so tool calls aren't confirmed unless the user picks another mode",
          "Letta Cloud is the default backend, so agent memory and conversations go to Letta's servers unless the user chooses local",
          "Usage telemetry is on by default, with the LETTA_CODE_TELEM=0 opt-out found only in the source",
          "The Letta V1 Python API server is retired and unsupported, and the letta-ai/letta repository is now a landing page",
          "The privacy policy names no legal entity or date and says hosted message data may train future models"
        ],
        "agentNotes": [
          "Start headless runs with an explicit permission mode such as `standard` or `strict`; the default auto-approves tools",
          "Pass `--backend local` for work that must stay on the machine, since Letta Cloud is the default",
          "Set LETTA_CODE_TELEM=0 in unattended runs if usage events must not be sent",
          "Use `letta -p --output-format json` for scripted runs and parse the JSON, not the terminal output",
          "Don't plan on the retired V1 REST server or `.af` AgentFile import; both are gone"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.7
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 85,
          "payments": 60,
          "reliability": 58,
          "schema": 70,
          "security": 35,
          "transparency": 55
        },
        "provenanceScore": 54,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @letta-ai/letta-code",
        "headless": {
          "local": "letta --backend local",
          "run": "letta -p --output-format json \"\u003ctask\u003e\"",
          "server": "letta server"
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/letta"
      },
      "alsoIn": [
        "agent-memory"
      ],
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 20,
          "note": "Letta Auto quotas, up to 20 agents"
        },
        {
          "item": "API plan active agent",
          "unit": "month",
          "usd": 0.1,
          "note": "Plus $20 a month base and $0.00015 a second of tool execution"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "letta.com",
        "domainRegistered": "1997-10-01",
        "endpointOnVendorDomain": null,
        "terms": "https://www.letta.com/terms-of-service",
        "privacy": "https://www.letta.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/letta-ai/letta-code/releases",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The privacy policy shows no last-updated date and names no legal entity, only Letta. It says hosted message data may be used to train new models and that basic telemetry can be turned off in settings when supported.",
          "www.letta.com and docs.letta.com robots.txt allow all crawlers.",
          "RDAP gives letta.com a registration date of 1 October 1997, which predates the company, so the domain was bought later.",
          "/.well-known/security.txt returns 404. SECURITY.md in letta-ai/letta asks for reports to support@letta.com.",
          "The terms URL is the conventional path and was not read; the policy reader checks it at landing."
        ],
        "score": 54
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/letta.json",
      "live": {
        "slug": "letta",
        "versions": [
          {
            "registry": "github",
            "name": "letta-ai/letta-code",
            "version": "v0.34.43",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:39:39.434291816Z"
          },
          {
            "registry": "npm",
            "name": "@letta-ai/letta-code",
            "version": "0.34.43",
            "seenAt": "2026-11-06T23:39:38.413416142Z"
          },
          {
            "registry": "pypi",
            "name": "letta",
            "version": "0.34.12",
            "released": "2026-10-12",
            "seenAt": "2026-11-06T23:39:39.241816797Z"
          }
        ],
        "githubStars": 3794,
        "npmWeekly": 85863,
        "pypiWeekly": 2225,
        "securityTxt": {
          "url": "https://letta.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:02.768002207Z"
        },
        "llmsTxt": {
          "url": "https://docs.letta.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:52.28674296Z"
        },
        "pages": [
          {
            "url": "https://www.letta.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:46.549817082Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "947a68f3e3a0"
          },
          {
            "url": "https://www.letta.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:48.740250784Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "63f31d6ebfb8"
          }
        ],
        "updatedAt": "2026-11-07T16:01:02.768002207Z"
      }
    },
    "edges": [
      {
        "by": 29,
        "category": "security",
        "leads": "kilo-code-cli",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Harness reading of the framework checklist. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. Telemetry is on by default and goes to PostHog in the United States, the source links the machine identifier to the account email after a Kilo sign-in, and since 7.8.10 (14 October) it also attaches the conda client ID when `~/.conda/aau_token` exists (see negative). It is turned off with `experimental.openTelemetry` or `KILO_TELEMETRY_LEVEL`. Provider keys stay on the machine (14). Shell commands ask by default outside a built-in allow list, reads of `.env` files and paths outside the project ask, and edits inside the project run without asking. An operating-system sandbox (Seatbelt on macOS, Bubblewrap on Linux, none on Windows) limits writes and blocks the network, refuses to run when it can't be enforced, and is off by default. `--auto` approves everything not explicitly denied. Since 7.8.13 a custom agent's own `edit` denies no longer bind the subagents it starts (15). The sandboxing page covers prompt injection and its limits, project config can't weaken the sandbox, and `{env:VAR}` is resolved only in trusted config. 7.8.16 (22 October) stopped running shell expressions found in MCP prompt text (see negative) and restricted MCP OAuth URLs to HTTP(S), and 7.8.18 stopped following cross-origin redirects for MCP HTTP and OAuth requests (11). Session export, `kilo stats` and OTLP export of traces and logs, with audit logs on the Enterprise plan (12). A valid security.txt (expires 2026-12-31, re-read on 1 November), a disclosure policy that cites HackerOne's standards and safe harbour, CodeQL in CI and no published repository advisories, though 7.8.16's MCP prompt fix appeared only as a changelog line. NVD lists CVE-2026-8766 and CVE-2026-8765 (both low, through 7.0.47, published 17 May 2026, the second a path traversal in the opt-in server's file diff route) and says the vendor didn't respond, and SECURITY.md still says the CLI has no sandbox (12). 14 + 15 + 11 + 12 + 12 = 64.",
          "b": "Harness reading of the framework checklist, as for the other harnesses. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for injection posture, 15 for audit and 20 for the security programme. Letta Cloud is the default backend, so agent state and conversations go to Letta's servers, and telemetry is on by default (10 of 30). The default permission mode is `unrestricted`; `standard`, `acceptEdits` and `strict` are opt-in, and cloud sandboxes exist for remote work (4 of 20). No prompt-injection guidance found for fetched pages or channel messages (5 of 15). Conversation search and git history of memory give an operator a record of what the agent saw and changed (10 of 15). SECURITY.md routes reports to support@letta.com and scopes out the retired server; no security.txt, bounty or certification found (6 of 20). Total 35."
        },
        "scores": {
          "a": 64,
          "b": 35
        }
      },
      {
        "by": 27,
        "category": "reliability",
        "leads": "kilo-code-cli",
        "name": "Reliability",
        "reasons": {
          "a": "Local-package reading. `@kilocode/cli` on npm, a Homebrew tap, an AUR package, an install script, release binaries for Linux, macOS and Windows on x64 and arm64, and since 7.8.20 (27 October) a `kilo-cli` conda package on Anaconda.org (20). Public CI, and the 40 most recent completed workflow runs on main on 8 October 2026 all succeeded, per the 8 October check, not re-read on 17 October or 1 November (25). 448 open issues and 147 open pull requests, a workflow that closes issues after 60 quiet days and pull requests after 30, and open reports from 7 October of a hanging turn (#14876) and of exhausted 503 retries ending a run with no visible error (#14877), per the 8 October check, not re-read since (15). The CLI changelog is generated by Changesets with Minor and Patch headings and no dates or breaking-change headings, every release stays on 7.8.x whatever its heading, and 7.8.13 and 7.8.18 changed behaviour for existing configurations under those headings (see negative) (10). 7.8.18 on the npm `latest` tag on 1 November, past 1.0 (15). 20 + 25 + 15 + 10 + 15 = 85.",
          "b": "Local-software lines, read for the harness. `@letta-ai/letta-code` on npm with Node.js 22.19 or newer, and PyPI wheels for glibc Linux, macOS 14 and Windows x64 with Python 3.9 or newer stated (20). ci.yml, nightly update smoke tests and Telegram live smoke tests exist, but GitHub's API answered with a rate limit, so run results were unread (15 of 25, unchecked). 332 open issues and pull requests, mostly pull requests; recent bug reports such as recall reading the wrong conversation have no reply yet (15 of 25). 398 tags at 0.34.x with release notes on GitHub, no changelog file, and breaking removals such as AgentFile announced in the README (8 of 15). Pre-1.0 (0). Total 58."
        },
        "scores": {
          "a": 85,
          "b": 58
        }
      },
      {
        "by": 21,
        "category": "transparency",
        "leads": "kilo-code-cli",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "MIT, with opencode's copyright kept in the licence file (30). The privacy policy (29 May 2026, re-read on 1 November) names Kilo Code Inc. as controller, says data is stored in the United States and lists Stripe, OpenRouter, model providers, AppsFlyer and Sentry, but it doesn't mention the CLI's PostHog telemetry. PRIVACY.md in the repository is dated March 2025 and is silent on telemetry too. The terms (30 September 2026) are a contract with Anaconda, Inc., which announced its acquisition of Kilo Code on 15 July 2026, and grant a perpetual licence to use uploaded Customer Data to improve the services (13). `kilo console` is marked deprecated with no removal date, and updated terms apply after 30 days. No written deprecation policy found (8). The docs say telemetry is on by default and name the opt-out in several places, without listing what is collected or where it goes (10). 30 + 13 + 8 + 10 = 61.",
          "b": "Apache-2.0 (30). The privacy policy has no date, no legal entity and no retention periods, and says hosted message data may train future models (8 of 30). The README and docs mark AgentFile, the Electron app and the V1 server as deprecated or retired, without dated notice periods (12 of 20). Telemetry is described in the privacy policy only as basic and opt-out when supported; the LETTA_CODE_TELEM=0 switch appears only in the source (5 of 20). Total 55."
        },
        "scores": {
          "a": 76,
          "b": 55
        }
      },
      {
        "by": 20,
        "category": "schema",
        "leads": "kilo-code-cli",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Framework reading. A JSON Schema for `kilo.jsonc` at `https://app.kilo.ai/config.json`, an OpenAPI file for the `kilo serve` API at `packages/sdk/openapi.json` and a CLI reference generated from the command definitions (25). `llms.txt` on kilo.ai and on the docs, the second listing a raw Markdown address for every page (10). The sandboxing page says when to use the sandbox, what it does not protect and how it differs from permissions (16). Permissions are `allow`, `ask` or `deny` with glob rules, `sandbox.network` and `--format` are enums, though the schema served on 8 October had no `sandbox` key (13). Config and CI samples and exit codes 0, 1 and 124, but we found no reference for the records `--format json` writes (11). A versioned changelog and dated GitHub releases (15). Not re-read on 1 November apart from the changelog. 25 + 10 + 16 + 13 + 11 + 15 = 90.",
          "b": "Harness reading. docs.letta.com serves llms.txt and a Markdown version of every page, with an `applies_to` block saying which backend and interface each page covers (10). TypeScript types for the Agent SDK and a documented App Server WebSocket protocol, but no JSON Schema or OpenAPI for the harness (15 of 25). Pages say when to use local or cloud backends, subagents and channels (14 of 20). Permission modes and options are typed in the SDK (12 of 15). Example applications and a remote client reference (11 of 15). Releases most days but no changelog file (8 of 15). Total 70."
        },
        "scores": {
          "a": 90,
          "b": 70
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "letta",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No payment protocol (0). Scored on Kilo's paid options, as with Cline. Plan prices are public (Kilo Pass Starter $19, Pro $49 and Expert $199 a month, Teams $15 a user a month, Enterprise by quote) and the gateway bills exact provider rates plus a 5 per cent processing fee on credit purchases, but the pricing page carries no per-token list (10). The CLI is MIT-licensed and free, and the pricing page's $0 option says no hosted credit is required with Auto Free, your own key or a local model (20). Your own provider key or a local model works with no Kilo account, so an agent can install and run it without a sign-up (20). Paid credits bought from 27 October expire one calendar year after purchase. 0 + 10 + 20 + 20 = 50.",
          "b": "No x402, MPP or L402 (0 of 40). Per-unit API prices are public, $0.10 per active agent a month and $0.00015 a second of tool execution, plus plan prices (20). A $0 plan with bring-your-own keys; no card is mentioned (20). The CLI runs locally without signing in (20). Total 60."
        },
        "scores": {
          "a": 50,
          "b": 60
        }
      },
      {
        "by": 5,
        "category": "ergonomics",
        "leads": "kilo-code-cli",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Framework reading, adapted to a harness driven by a pipeline. Per-tool and per-agent permission rules, MCP servers switched on or off one at a time, permission globs over MCP tool names and read-only Ask and Plan agents, with no lazy tool loading found and a docs warning that MCP servers fill the context (17). Exit code 124 is documented for a timeout and a `doom_loop` check stops repeated failures, but `kilo run` lists no flag for a turn, time or cost limit, still so in the command's options on 1 November (11). Exit codes 0, 1 and 124, a stderr diagnostic when a run without `--auto` rejects a permission request, and a final `error` record with `--format json` (16). `--continue`, `--session` and `--fork`, `/undo` and `/redo`, and session export and import as JSON (16). `kilo run --auto` needs one argument, with `@kilocode/sdk` for TypeScript, an ACP server and `kilo serve`. We found no second-language SDK on a registry (12). 17 + 11 + 16 + 16 + 12 = 72.",
          "b": "Harness reading. Toolsets switch with `/model`, skills load per agent, and subagents run in the background (18 of 25). Context is managed through memory blocks, reflection and dreaming (12 of 20). `letta -p --output-format json` for scripted runs and an App Server for programmatic control (12 of 20). Conversations resume by agent and conversation id, and memory is git-tracked so changes can be reverted (15 of 20). Runs with no account on the local backend, with one SDK language, TypeScript (10 of 15). Total 67."
        },
        "scores": {
          "a": 72,
          "b": 67
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Kilo Code Inc.",
        "b": "Letta",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-26",
        "b": "2026-11-06",
        "name": "Last release"
      },
      {
        "a": "2026-09-30",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-29",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "28k stars, 33k npm/wk",
        "b": "3.8k stars, 86k npm/wk, 2.2k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "2.3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Kilo Code CLI scores 68 (B) on agent readiness against Letta's 59.7 (C), and leads in 6 of 7 scored categories. Letta leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Kilo Code CLI or Letta?"
      },
      {
        "answer": "Yes. Kilo Code CLI is open source (MIT). Letta is open source (Apache-2.0).",
        "question": "Are Kilo Code CLI and Letta open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 85 against 58",
          "Schema \u0026 documentation, 90 against 70",
          "Agent ergonomics, 72 against 67",
          "Security \u0026 auth, 64 against 35",
          "Transparency \u0026 trust, 76 against 55"
        ],
        "also": [
          "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"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 50"
        ],
        "also": [
          "Runs on your own machine",
          "No incidents deducted, where Kilo Code CLI loses 7 points for them"
        ],
        "goodFor": "Long-lived coding agents and assistants that keep memory and identity across sessions and machines.",
        "slug": "letta",
        "watchFor": "The default permission mode is `unrestricted`, the renamed `bypassPermissions`, so tool calls aren't confirmed unless the user picks another mode"
      }
    ],
    "history": {
      "kilo-code-cli": [
        {
          "causes": [
            "event"
          ],
          "date": "2026-11-01",
          "delta": -5,
          "from": 73,
          "fromGrade": "BB",
          "to": 68,
          "toGrade": "B"
        },
        {
          "causes": [
            "evidence",
            "event"
          ],
          "date": "2026-10-17",
          "delta": -2.4,
          "from": 75.4,
          "fromGrade": "BB",
          "to": 73,
          "toGrade": "BB"
        }
      ],
      "letta": null
    },
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "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/agent-zero-vs-letta.json",
        "title": "Agent Zero vs Letta",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-letta"
      },
      {
        "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/aider-vs-letta.json",
        "title": "Aider vs Letta",
        "url": "https://www.anchorterminal.com/compare/aider-vs-letta"
      },
      {
        "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/amp-vs-letta.json",
        "title": "Amp vs Letta",
        "url": "https://www.anchorterminal.com/compare/amp-vs-letta"
      },
      {
        "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/antigravity-cli-vs-letta.json",
        "title": "Antigravity CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-kilo-code-cli.json",
        "title": "Auggie CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-letta.json",
        "title": "Auggie CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-kilo-code-cli.json",
        "title": "AXLR vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-letta.json",
        "title": "AXLR vs Letta",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-letta"
      },
      {
        "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/claude-code-vs-letta.json",
        "title": "Claude Code vs Letta",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-letta"
      },
      {
        "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/cline-vs-letta.json",
        "title": "Cline vs Letta",
        "url": "https://www.anchorterminal.com/compare/cline-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/conductor-vs-kilo-code-cli.json",
        "title": "Conductor vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/conductor-vs-letta.json",
        "title": "Conductor vs Letta",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-kilo-code-cli.json",
        "title": "Crush vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-letta.json",
        "title": "Crush vs Letta",
        "url": "https://www.anchorterminal.com/compare/crush-vs-letta"
      },
      {
        "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/cursor-cli-vs-letta.json",
        "title": "Cursor CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kilo-code-cli.json",
        "title": "DeepSeek Harness (dsh) vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-letta.json",
        "title": "DeepSeek Harness (dsh) vs Letta",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-kilo-code-cli.json",
        "title": "dsh-superagent (DeepSeek) vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-letta.json",
        "title": "dsh-superagent (DeepSeek) vs Letta",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-letta"
      },
      {
        "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/devin-vs-letta.json",
        "title": "Devin vs Letta",
        "url": "https://www.anchorterminal.com/compare/devin-vs-letta"
      },
      {
        "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/droid-cli-vs-letta.json",
        "title": "Droid CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-letta"
      },
      {
        "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/earendil-pi-vs-letta.json",
        "title": "Pi vs Letta",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-kilo-code-cli.json",
        "title": "Emdash vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-letta.json",
        "title": "Emdash vs Letta",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-letta"
      },
      {
        "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/gemini-cli-vs-letta.json",
        "title": "Gemini CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-letta"
      },
      {
        "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/github-copilot-cli-vs-letta.json",
        "title": "GitHub Copilot CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-letta"
      },
      {
        "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/goose-vs-letta.json",
        "title": "goose vs Letta",
        "url": "https://www.anchorterminal.com/compare/goose-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli.json",
        "title": "Harness² vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-letta.json",
        "title": "Harness² vs Letta",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.json",
        "title": "HarnessRouter vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-letta.json",
        "title": "HarnessRouter vs Letta",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-kilo-code-cli.json",
        "title": "Jules vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-letta.json",
        "title": "Jules vs Letta",
        "url": "https://www.anchorterminal.com/compare/jules-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli.json",
        "title": "Junie CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-letta.json",
        "title": "Junie CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/junie-vs-letta"
      },
      {
        "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-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-mini-swe-agent.json",
        "title": "Kilo Code CLI vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-minimax-code.json",
        "title": "Kilo Code CLI vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-mistral-vibe-cli.json",
        "title": "Kilo Code CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-mistral-vibe-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-agents-api.json",
        "title": "Kilo Code CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-agents-api"
      },
      {
        "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-openmausbot.json",
        "title": "Kilo Code CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-orca.json",
        "title": "Kilo Code CLI vs Orca",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-paseo.json",
        "title": "Kilo Code CLI vs Paseo",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-paseo"
      },
      {
        "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-qoder-cli.json",
        "title": "Kilo Code CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-qoder-cli"
      },
      {
        "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/kilo-code-cli-vs-rovo-dev-cli.json",
        "title": "Kilo Code CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-sculptor.json",
        "title": "Kilo Code CLI vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-t3-code.json",
        "title": "Kilo Code CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-traycer.json",
        "title": "Kilo Code CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-unstoppable.json",
        "title": "Kilo Code CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-verdent.json",
        "title": "Kilo Code CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-vibe-trading.json",
        "title": "Kilo Code CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-warp.json",
        "title": "Kilo Code CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta.json",
        "title": "Kimi Code CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta.json",
        "title": "Kiro CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-mini-swe-agent.json",
        "title": "Letta vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/letta-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-minimax-code.json",
        "title": "Letta vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli.json",
        "title": "Letta vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-muse-code.json",
        "title": "Letta vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openai-agents-api.json",
        "title": "Letta vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openai-codex.json",
        "title": "Letta vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-opencode.json",
        "title": "Letta vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/letta-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openhands.json",
        "title": "Letta vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openmausbot.json",
        "title": "Letta vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-orca.json",
        "title": "Letta vs Orca",
        "url": "https://www.anchorterminal.com/compare/letta-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-paseo.json",
        "title": "Letta vs Paseo",
        "url": "https://www.anchorterminal.com/compare/letta-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-prime-agent.json",
        "title": "Letta vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/letta-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-qoder-cli.json",
        "title": "Letta vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-qwen-code.json",
        "title": "Letta vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-reflection-mirror.json",
        "title": "Letta vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-rovo-dev-cli.json",
        "title": "Letta vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-sculptor.json",
        "title": "Letta vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/letta-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-t3-code.json",
        "title": "Letta vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-traycer.json",
        "title": "Letta vs Traycer",
        "url": "https://www.anchorterminal.com/compare/letta-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-unstoppable.json",
        "title": "Letta vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/letta-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-verdent.json",
        "title": "Letta vs Verdent",
        "url": "https://www.anchorterminal.com/compare/letta-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-vibe-trading.json",
        "title": "Letta vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/letta-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-warp.json",
        "title": "Letta vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/letta-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-kilo-code-cli.json",
        "title": "Clawboo vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-letta.json",
        "title": "Clawboo vs Letta",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-letta"
      },
      {
        "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/cli-manager-vs-letta.json",
        "title": "CLI Manager vs Letta",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-letta"
      },
      {
        "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/harness-autonomous-vs-letta.json",
        "title": "Harness vs Letta",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-letta"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-paperclip.json",
        "title": "Letta vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/letta-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-parallax-agents.json",
        "title": "Letta vs Parallax",
        "url": "https://www.anchorterminal.com/compare/letta-vs-parallax-agents"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 27,
        "edge": "kilo-code-cli",
        "key": "reliability",
        "kilo-code-cli": 85,
        "letta": 58,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "edge": "kilo-code-cli",
        "key": "schema",
        "kilo-code-cli": 90,
        "letta": 70,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 5,
        "edge": "kilo-code-cli",
        "key": "ergonomics",
        "kilo-code-cli": 72,
        "letta": 67,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 29,
        "edge": "kilo-code-cli",
        "key": "security",
        "kilo-code-cli": 64,
        "letta": 35,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "edge": "letta",
        "key": "payments",
        "kilo-code-cli": 50,
        "letta": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "kilo-code-cli",
        "key": "maintenance",
        "kilo-code-cli": 87,
        "letta": 85,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 21,
        "edge": "kilo-code-cli",
        "key": "transparency",
        "kilo-code-cli": 76,
        "letta": 55,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Kilo Code CLI scores 68 (B) on agent readiness against Letta's 59.7 (C), and leads in 6 of 7 scored categories. Letta leads on payments \u0026 pricing. Both do agent harnesses.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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, the sandbox is off, and October releases changed permission and MCP behaviour without a breaking-change label, so pin a version for unattended `kilo run --auto`.",
      "letta": "Letta's open-source harness gives agents git-tracked memory blocks, skills, subagents and headless JSON runs, with a $0 plan and public per-agent API prices. It starts in the unrestricted permission mode, defaults to Letta Cloud, sends usage telemetry unless LETTA_CODE_TELEM=0 is set, and the V1 API server the comparisons describe is retired."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta",
    "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta.min.md"
  },
  "markdown": "Kilo Code CLI scores 68 (B) on agent readiness against Letta's 59.7 (C), and leads in 6 of 7 scored categories. Letta leads on payments \u0026 pricing. Both do agent harnesses.\n\n- Kilo Code CLI: grade B, 68/100, rank #295 of 1486. Markdown https://www.anchorterminal.com/tools/kilo-code-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/kilo-code-cli.json\n- Letta: grade C, 59.7/100, rank #684 of 1486. Markdown https://www.anchorterminal.com/tools/letta.md · JSON https://www.anchorterminal.com/api/v1/tools/letta.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 1500 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n- Best memory layers for AI agents: https://www.anchorterminal.com/best/agent-memory/index.md\n- All 353 memory comparisons: https://www.anchorterminal.com/compare/agent-memory/index.md\n\n## Which one, for what\n\n### Kilo Code CLI (B)\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 58\n- Schema \u0026 documentation, 90 against 70\n- Agent ergonomics, 72 against 67\n- Security \u0026 auth, 64 against 35\n- Transparency \u0026 trust, 76 against 55\n\nAlso in its favour:\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### Letta (C)\n\nGood for: Long-lived coding agents and assistants that keep memory and identity across sessions and machines.\n\nAhead on:\n- Payments \u0026 pricing, 60 against 50\n\nAlso in its favour:\n- Runs on your own machine\n- No incidents deducted, where Kilo Code CLI loses 7 points for them\n\nWatch for: The default permission mode is `unrestricted`, the renamed `bypassPermissions`, so tool calls aren't confirmed unless the user picks another mode\n\n\n## Why the edge\n\n### Security \u0026 auth: Kilo Code CLI +29\n\n- Kilo Code CLI (64): Harness reading of the framework checklist. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. Telemetry is on by default and goes to PostHog in the United States, the source links the machine identifier to the account email after a Kilo sign-in, and since 7.8.10 (14 October) it also attaches the conda client ID when `~/.conda/aau_token` exists (see negative). It is turned off with `experimental.openTelemetry` or `KILO_TELEMETRY_LEVEL`. Provider keys stay on the machine (14). Shell commands ask by default outside a built-in allow list, reads of `.env` files and paths outside the project ask, and edits inside the project run without asking. An operating-system sandbox (Seatbelt on macOS, Bubblewrap on Linux, none on Windows) limits writes and blocks the network, refuses to run when it can't be enforced, and is off by default. `--auto` approves everything not explicitly denied. Since 7.8.13 a custom agent's own `edit` denies no longer bind the subagents it starts (15). The sandboxing page covers prompt injection and its limits, project config can't weaken the sandbox, and `{env:VAR}` is resolved only in trusted config. 7.8.16 (22 October) stopped running shell expressions found in MCP prompt text (see negative) and restricted MCP OAuth URLs to HTTP(S), and 7.8.18 stopped following cross-origin redirects for MCP HTTP and OAuth requests (11). Session export, `kilo stats` and OTLP export of traces and logs, with audit logs on the Enterprise plan (12). A valid security.txt (expires 2026-12-31, re-read on 1 November), a disclosure policy that cites HackerOne's standards and safe harbour, CodeQL in CI and no published repository advisories, though 7.8.16's MCP prompt fix appeared only as a changelog line. NVD lists CVE-2026-8766 and CVE-2026-8765 (both low, through 7.0.47, published 17 May 2026, the second a path traversal in the opt-in server's file diff route) and says the vendor didn't respond, and SECURITY.md still says the CLI has no sandbox (12). 14 + 15 + 11 + 12 + 12 = 64.\n- Letta (35): Harness reading of the framework checklist, as for the other harnesses. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for injection posture, 15 for audit and 20 for the security programme. Letta Cloud is the default backend, so agent state and conversations go to Letta's servers, and telemetry is on by default (10 of 30). The default permission mode is `unrestricted`; `standard`, `acceptEdits` and `strict` are opt-in, and cloud sandboxes exist for remote work (4 of 20). No prompt-injection guidance found for fetched pages or channel messages (5 of 15). Conversation search and git history of memory give an operator a record of what the agent saw and changed (10 of 15). SECURITY.md routes reports to support@letta.com and scopes out the retired server; no security.txt, bounty or certification found (6 of 20). Total 35.\n\n### Reliability: Kilo Code CLI +27\n\n- Kilo Code CLI (85): Local-package reading. `@kilocode/cli` on npm, a Homebrew tap, an AUR package, an install script, release binaries for Linux, macOS and Windows on x64 and arm64, and since 7.8.20 (27 October) a `kilo-cli` conda package on Anaconda.org (20). Public CI, and the 40 most recent completed workflow runs on main on 8 October 2026 all succeeded, per the 8 October check, not re-read on 17 October or 1 November (25). 448 open issues and 147 open pull requests, a workflow that closes issues after 60 quiet days and pull requests after 30, and open reports from 7 October of a hanging turn (#14876) and of exhausted 503 retries ending a run with no visible error (#14877), per the 8 October check, not re-read since (15). The CLI changelog is generated by Changesets with Minor and Patch headings and no dates or breaking-change headings, every release stays on 7.8.x whatever its heading, and 7.8.13 and 7.8.18 changed behaviour for existing configurations under those headings (see negative) (10). 7.8.18 on the npm `latest` tag on 1 November, past 1.0 (15). 20 + 25 + 15 + 10 + 15 = 85.\n- Letta (58): Local-software lines, read for the harness. `@letta-ai/letta-code` on npm with Node.js 22.19 or newer, and PyPI wheels for glibc Linux, macOS 14 and Windows x64 with Python 3.9 or newer stated (20). ci.yml, nightly update smoke tests and Telegram live smoke tests exist, but GitHub's API answered with a rate limit, so run results were unread (15 of 25, unchecked). 332 open issues and pull requests, mostly pull requests; recent bug reports such as recall reading the wrong conversation have no reply yet (15 of 25). 398 tags at 0.34.x with release notes on GitHub, no changelog file, and breaking removals such as AgentFile announced in the README (8 of 15). Pre-1.0 (0). Total 58.\n\n### Transparency \u0026 trust: Kilo Code CLI +21\n\n- Kilo Code CLI (76): MIT, with opencode's copyright kept in the licence file (30). The privacy policy (29 May 2026, re-read on 1 November) names Kilo Code Inc. as controller, says data is stored in the United States and lists Stripe, OpenRouter, model providers, AppsFlyer and Sentry, but it doesn't mention the CLI's PostHog telemetry. PRIVACY.md in the repository is dated March 2025 and is silent on telemetry too. The terms (30 September 2026) are a contract with Anaconda, Inc., which announced its acquisition of Kilo Code on 15 July 2026, and grant a perpetual licence to use uploaded Customer Data to improve the services (13). `kilo console` is marked deprecated with no removal date, and updated terms apply after 30 days. No written deprecation policy found (8). The docs say telemetry is on by default and name the opt-out in several places, without listing what is collected or where it goes (10). 30 + 13 + 8 + 10 = 61.\n- Letta (55): Apache-2.0 (30). The privacy policy has no date, no legal entity and no retention periods, and says hosted message data may train future models (8 of 30). The README and docs mark AgentFile, the Electron app and the V1 server as deprecated or retired, without dated notice periods (12 of 20). Telemetry is described in the privacy policy only as basic and opt-out when supported; the LETTA_CODE_TELEM=0 switch appears only in the source (5 of 20). Total 55.\n\n### Schema \u0026 documentation: Kilo Code CLI +20\n\n- Kilo Code CLI (90): Framework reading. A JSON Schema for `kilo.jsonc` at `https://app.kilo.ai/config.json`, an OpenAPI file for the `kilo serve` API at `packages/sdk/openapi.json` and a CLI reference generated from the command definitions (25). `llms.txt` on kilo.ai and on the docs, the second listing a raw Markdown address for every page (10). The sandboxing page says when to use the sandbox, what it does not protect and how it differs from permissions (16). Permissions are `allow`, `ask` or `deny` with glob rules, `sandbox.network` and `--format` are enums, though the schema served on 8 October had no `sandbox` key (13). Config and CI samples and exit codes 0, 1 and 124, but we found no reference for the records `--format json` writes (11). A versioned changelog and dated GitHub releases (15). Not re-read on 1 November apart from the changelog. 25 + 10 + 16 + 13 + 11 + 15 = 90.\n- Letta (70): Harness reading. docs.letta.com serves llms.txt and a Markdown version of every page, with an `applies_to` block saying which backend and interface each page covers (10). TypeScript types for the Agent SDK and a documented App Server WebSocket protocol, but no JSON Schema or OpenAPI for the harness (15 of 25). Pages say when to use local or cloud backends, subagents and channels (14 of 20). Permission modes and options are typed in the SDK (12 of 15). Example applications and a remote client reference (11 of 15). Releases most days but no changelog file (8 of 15). Total 70.\n\n### Payments \u0026 pricing: Letta +10\n\n- Kilo Code CLI (50): No payment protocol (0). Scored on Kilo's paid options, as with Cline. Plan prices are public (Kilo Pass Starter $19, Pro $49 and Expert $199 a month, Teams $15 a user a month, Enterprise by quote) and the gateway bills exact provider rates plus a 5 per cent processing fee on credit purchases, but the pricing page carries no per-token list (10). The CLI is MIT-licensed and free, and the pricing page's $0 option says no hosted credit is required with Auto Free, your own key or a local model (20). Your own provider key or a local model works with no Kilo account, so an agent can install and run it without a sign-up (20). Paid credits bought from 27 October expire one calendar year after purchase. 0 + 10 + 20 + 20 = 50.\n- Letta (60): No x402, MPP or L402 (0 of 40). Per-unit API prices are public, $0.10 per active agent a month and $0.00015 a second of tool execution, plus plan prices (20). A $0 plan with bring-your-own keys; no card is mentioned (20). The CLI runs locally without signing in (20). Total 60.\n\n### Agent ergonomics: Kilo Code CLI +5\n\n- Kilo Code CLI (72): Framework reading, adapted to a harness driven by a pipeline. Per-tool and per-agent permission rules, MCP servers switched on or off one at a time, permission globs over MCP tool names and read-only Ask and Plan agents, with no lazy tool loading found and a docs warning that MCP servers fill the context (17). Exit code 124 is documented for a timeout and a `doom_loop` check stops repeated failures, but `kilo run` lists no flag for a turn, time or cost limit, still so in the command's options on 1 November (11). Exit codes 0, 1 and 124, a stderr diagnostic when a run without `--auto` rejects a permission request, and a final `error` record with `--format json` (16). `--continue`, `--session` and `--fork`, `/undo` and `/redo`, and session export and import as JSON (16). `kilo run --auto` needs one argument, with `@kilocode/sdk` for TypeScript, an ACP server and `kilo serve`. We found no second-language SDK on a registry (12). 17 + 11 + 16 + 16 + 12 = 72.\n- Letta (67): Harness reading. Toolsets switch with `/model`, skills load per agent, and subagents run in the background (18 of 25). Context is managed through memory blocks, reflection and dreaming (12 of 20). `letta -p --output-format json` for scripted runs and an App Server for programmatic control (12 of 20). Conversations resume by agent and conversation id, and memory is git-tracked so changes can be reverted (15 of 20). Runs with no account on the local backend, with one SDK language, TypeScript (10 of 15). Total 67.\n\n## Score by category\n\n| Category | Weight | Kilo Code CLI | Letta | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 58 | Kilo Code CLI +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 90 | 70 | Kilo Code CLI +20 |\n| Agent ergonomics | 13% (16.2 this run) | 72 | 67 | Kilo Code CLI +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 64 | 35 | Kilo Code CLI +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 60 | Letta +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 85 | Kilo Code CLI +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 76 | 55 | Kilo Code CLI +21 |\n| Negative events | ≤15 | -7 | 0 | |\n| **Total** | | **68 · B** | **59.7 · C** | |\n\n## Facts side by side\n\n| Fact | Kilo Code CLI | Letta |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Kilo Code Inc. | Letta |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-26 | 2026-11-06 |\n| Terms last updated | 2026-09-30 | no date given |\n| Privacy policy last updated | 2026-05-29 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 28k stars, 33k npm/wk | 3.8k stars, 86k npm/wk, 2.2k PyPI/wk |\n| Agent reviews | 2.3/5 (4) | none |\n\n## How the scores have moved\n\n### Kilo Code CLI\n\n- -5.0 on 1 November 2026 (BB to B): negative event\n- -2.4 on 17 October 2026: new evidence, negative event\n\n### Letta\n\nNo score change since it was listed.\n\n## Verdicts\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, the sandbox is off, and October releases changed permission and MCP behaviour without a breaking-change label, so pin a version for unattended `kilo run --auto`.\n\n**Letta.** Letta's open-source harness gives agents git-tracked memory blocks, skills, subagents and headless JSON runs, with a $0 plan and public per-agent API prices. It starts in the unrestricted permission mode, defaults to Letta Cloud, sends usage telemetry unless LETTA_CODE_TELEM=0 is set, and the V1 API server the comparisons describe is retired.\n\n## Before you call either\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. Since 7.8.13 a custom agent's own `edit` denies no longer bind the subagents it starts\n6. Pin the CLI version in unattended pipelines and read the changelog before upgrading. Behaviour changes ship under 7.8.x patch versions\n\n### Letta\n\n1. Start headless runs with an explicit permission mode such as `standard` or `strict`; the default auto-approves tools\n2. Pass `--backend local` for work that must stay on the machine, since Letta Cloud is the default\n3. Set LETTA_CODE_TELEM=0 in unattended runs if usage events must not be sent\n4. Use `letta -p --output-format json` for scripted runs and parse the JSON, not the terminal output\n5. Don't plan on the retired V1 REST server or `.af` AgentFile import; both are gone\n\n## Questions\n\n### Which is better for AI agents, Kilo Code CLI or Letta?\n\nKilo Code CLI scores 68 (B) on agent readiness against Letta's 59.7 (C), and leads in 6 of 7 scored categories. Letta leads on payments \u0026 pricing.\n\n### Are Kilo Code CLI and Letta open source?\n\nYes. Kilo Code CLI is open source (MIT). Letta is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta.json, and with the fewest tokens: https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"kilo-code-cli\", \"b\": \"letta\"}`. From a terminal: `anchor compare kilo-code-cli letta`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/kilo-code-cli.json and https://www.anchorterminal.com/api/v1/tools/letta.json\n\n## Other comparisons with Kilo Code CLI or Letta\n\n- [Agent Zero vs Kilo Code CLI](https://www.anchorterminal.com/compare/agent-zero-vs-kilo-code-cli.md)\n- [Agent Zero vs Letta](https://www.anchorterminal.com/compare/agent-zero-vs-letta.md)\n- [Aider vs Kilo Code CLI](https://www.anchorterminal.com/compare/aider-vs-kilo-code-cli.md)\n- [Aider vs Letta](https://www.anchorterminal.com/compare/aider-vs-letta.md)\n- [Amp vs Kilo Code CLI](https://www.anchorterminal.com/compare/amp-vs-kilo-code-cli.md)\n- [Amp vs Letta](https://www.anchorterminal.com/compare/amp-vs-letta.md)\n- [Antigravity CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-kilo-code-cli.md)\n- [Antigravity CLI vs Letta](https://www.anchorterminal.com/compare/antigravity-cli-vs-letta.md)\n- [Auggie CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/auggie-vs-kilo-code-cli.md)\n- [Auggie CLI vs Letta](https://www.anchorterminal.com/compare/auggie-vs-letta.md)\n- [AXLR vs Kilo Code CLI](https://www.anchorterminal.com/compare/axlr-vs-kilo-code-cli.md)\n- [AXLR vs Letta](https://www.anchorterminal.com/compare/axlr-vs-letta.md)\n- [Claude Code vs Kilo Code CLI](https://www.anchorterminal.com/compare/claude-code-vs-kilo-code-cli.md)\n- [Claude Code vs Letta](https://www.anchorterminal.com/compare/claude-code-vs-letta.md)\n- [Cline vs Kilo Code CLI](https://www.anchorterminal.com/compare/cline-vs-kilo-code-cli.md)\n- [Cline vs Letta](https://www.anchorterminal.com/compare/cline-vs-letta.md)\n- [Conductor vs Kilo Code CLI](https://www.anchorterminal.com/compare/conductor-vs-kilo-code-cli.md)\n- [Conductor vs Letta](https://www.anchorterminal.com/compare/conductor-vs-letta.md)\n- [Crush vs Kilo Code CLI](https://www.anchorterminal.com/compare/crush-vs-kilo-code-cli.md)\n- [Crush vs Letta](https://www.anchorterminal.com/compare/crush-vs-letta.md)\n- [Cursor CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-kilo-code-cli.md)\n- [Cursor CLI vs Letta](https://www.anchorterminal.com/compare/cursor-cli-vs-letta.md)\n- [DeepSeek Harness (dsh) vs Kilo Code CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-kilo-code-cli.md)\n- [DeepSeek Harness (dsh) vs Letta](https://www.anchorterminal.com/compare/deepseek-harness-vs-letta.md)\n- [dsh-superagent (DeepSeek) vs Kilo Code CLI](https://www.anchorterminal.com/compare/deepseek-superagent-vs-kilo-code-cli.md)\n- [dsh-superagent (DeepSeek) vs Letta](https://www.anchorterminal.com/compare/deepseek-superagent-vs-letta.md)\n- [Devin vs Kilo Code CLI](https://www.anchorterminal.com/compare/devin-vs-kilo-code-cli.md)\n- [Devin vs Letta](https://www.anchorterminal.com/compare/devin-vs-letta.md)\n- [Droid CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/droid-cli-vs-kilo-code-cli.md)\n- [Droid CLI vs Letta](https://www.anchorterminal.com/compare/droid-cli-vs-letta.md)\n- [Pi vs Kilo Code CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-kilo-code-cli.md)\n- [Pi vs Letta](https://www.anchorterminal.com/compare/earendil-pi-vs-letta.md)\n- [Emdash vs Kilo Code CLI](https://www.anchorterminal.com/compare/emdash-vs-kilo-code-cli.md)\n- [Emdash vs Letta](https://www.anchorterminal.com/compare/emdash-vs-letta.md)\n- [Gemini CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-kilo-code-cli.md)\n- [Gemini CLI vs Letta](https://www.anchorterminal.com/compare/gemini-cli-vs-letta.md)\n- [GitHub Copilot CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-kilo-code-cli.md)\n- [GitHub Copilot CLI vs Letta](https://www.anchorterminal.com/compare/github-copilot-cli-vs-letta.md)\n- [goose vs Kilo Code CLI](https://www.anchorterminal.com/compare/goose-vs-kilo-code-cli.md)\n- [goose vs Letta](https://www.anchorterminal.com/compare/goose-vs-letta.md)\n- [Harness² vs Kilo Code CLI](https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli.md)\n- [Harness² vs Letta](https://www.anchorterminal.com/compare/harness2-vs-letta.md)\n- [HarnessRouter vs Kilo Code CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.md)\n- [HarnessRouter vs Letta](https://www.anchorterminal.com/compare/harnessrouter-vs-letta.md)\n- [Jules vs Kilo Code CLI](https://www.anchorterminal.com/compare/jules-vs-kilo-code-cli.md)\n- [Jules vs Letta](https://www.anchorterminal.com/compare/jules-vs-letta.md)\n- [Junie CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli.md)\n- [Junie CLI vs Letta](https://www.anchorterminal.com/compare/junie-vs-letta.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 Kiro CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-kiro-cli.md)\n- [Kilo Code CLI vs mini-swe-agent](https://www.anchorterminal.com/compare/kilo-code-cli-vs-mini-swe-agent.md)\n- [Kilo Code CLI vs MiniMax Code](https://www.anchorterminal.com/compare/kilo-code-cli-vs-minimax-code.md)\n- [Kilo Code CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-mistral-vibe-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 Agents API](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-agents-api.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 OpenMausBot](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openmausbot.md)\n- [Kilo Code CLI vs Orca](https://www.anchorterminal.com/compare/kilo-code-cli-vs-orca.md)\n- [Kilo Code CLI vs Paseo](https://www.anchorterminal.com/compare/kilo-code-cli-vs-paseo.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 Qoder CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-qoder-cli.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- [Kilo Code CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-rovo-dev-cli.md)\n- [Kilo Code CLI vs Sculptor](https://www.anchorterminal.com/compare/kilo-code-cli-vs-sculptor.md)\n- [Kilo Code CLI vs T3 Code](https://www.anchorterminal.com/compare/kilo-code-cli-vs-t3-code.md)\n- [Kilo Code CLI vs Traycer](https://www.anchorterminal.com/compare/kilo-code-cli-vs-traycer.md)\n- [Kilo Code CLI vs Unstoppable](https://www.anchorterminal.com/compare/kilo-code-cli-vs-unstoppable.md)\n- [Kilo Code CLI vs Verdent](https://www.anchorterminal.com/compare/kilo-code-cli-vs-verdent.md)\n- [Kilo Code CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/kilo-code-cli-vs-vibe-trading.md)\n- [Kilo Code CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/kilo-code-cli-vs-warp.md)\n- [Kimi Code CLI vs Letta](https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta.md)\n- [Kiro CLI vs Letta](https://www.anchorterminal.com/compare/kiro-cli-vs-letta.md)\n- [Letta vs mini-swe-agent](https://www.anchorterminal.com/compare/letta-vs-mini-swe-agent.md)\n- [Letta vs MiniMax Code](https://www.anchorterminal.com/compare/letta-vs-minimax-code.md)\n- [Letta vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli.md)\n- [Letta vs Muse Code](https://www.anchorterminal.com/compare/letta-vs-muse-code.md)\n- [Letta vs OpenAI Agents API](https://www.anchorterminal.com/compare/letta-vs-openai-agents-api.md)\n- [Letta vs OpenAI Codex](https://www.anchorterminal.com/compare/letta-vs-openai-codex.md)\n- [Letta vs OpenCode](https://www.anchorterminal.com/compare/letta-vs-opencode.md)\n- [Letta vs OpenHands](https://www.anchorterminal.com/compare/letta-vs-openhands.md)\n- [Letta vs OpenMausBot](https://www.anchorterminal.com/compare/letta-vs-openmausbot.md)\n- [Letta vs Orca](https://www.anchorterminal.com/compare/letta-vs-orca.md)\n- [Letta vs Paseo](https://www.anchorterminal.com/compare/letta-vs-paseo.md)\n- [Letta vs Prime Agent](https://www.anchorterminal.com/compare/letta-vs-prime-agent.md)\n- [Letta vs Qoder CLI](https://www.anchorterminal.com/compare/letta-vs-qoder-cli.md)\n- [Letta vs Qwen Code](https://www.anchorterminal.com/compare/letta-vs-qwen-code.md)\n- [Letta vs Mirror CLI](https://www.anchorterminal.com/compare/letta-vs-reflection-mirror.md)\n- [Letta vs Rovo Dev CLI](https://www.anchorterminal.com/compare/letta-vs-rovo-dev-cli.md)\n- [Letta vs Sculptor](https://www.anchorterminal.com/compare/letta-vs-sculptor.md)\n- [Letta vs T3 Code](https://www.anchorterminal.com/compare/letta-vs-t3-code.md)\n- [Letta vs Traycer](https://www.anchorterminal.com/compare/letta-vs-traycer.md)\n- [Letta vs Unstoppable](https://www.anchorterminal.com/compare/letta-vs-unstoppable.md)\n- [Letta vs Verdent](https://www.anchorterminal.com/compare/letta-vs-verdent.md)\n- [Letta vs Vibe-Trading](https://www.anchorterminal.com/compare/letta-vs-vibe-trading.md)\n- [Letta vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/letta-vs-warp.md)\n- [Clawboo vs Kilo Code CLI](https://www.anchorterminal.com/compare/clawboo-vs-kilo-code-cli.md)\n- [Clawboo vs Letta](https://www.anchorterminal.com/compare/clawboo-vs-letta.md)\n- [CLI Manager vs Kilo Code CLI](https://www.anchorterminal.com/compare/cli-manager-vs-kilo-code-cli.md)\n- [CLI Manager vs Letta](https://www.anchorterminal.com/compare/cli-manager-vs-letta.md)\n- [Harness vs Kilo Code CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-kilo-code-cli.md)\n- [Harness vs Letta](https://www.anchorterminal.com/compare/harness-autonomous-vs-letta.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- [Letta vs Paperclip](https://www.anchorterminal.com/compare/letta-vs-paperclip.md)\n- [Letta vs Parallax](https://www.anchorterminal.com/compare/letta-vs-parallax-agents.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Kilo Code CLI vs Letta",
        "url": ""
      }
    ],
    "description": "Kilo Code CLI scores 68 (B) to Letta's 59.7 (C) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Kilo Code CLI B 68",
      "Letta C 59.7",
      "scores"
    ],
    "h1": "Kilo Code CLI vs Letta",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/kilo-code-cli-vs-letta",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Kilo Code CLI vs Letta for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta"
  },
  "tokens": {
    "markdown": 7150,
    "slim": 3230
  },
  "version": 1
}
