# Kimi Code CLI vs Letta (slim)

> Letta scores 59.7 (C) to Kimi Code CLI's 58.1 (C) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta.md (~6,550 tokens) · this version ~2,680 tokens · JSON https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta.json · canonical https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Letta scores 59.7 (C) on agent readiness against Kimi Code CLI's 58.1 (C), and leads in 1 of 7 scored categories. Kimi Code CLI leads on reliability, schema & documentation, security & auth and transparency & trust. Both do agent harnesses.

- Kimi Code CLI: C 58.1, rank #759 of 1486 · https://www.anchorterminal.com/tools/kimi-code-cli.min.md
- Letta: C 59.7, rank #684 of 1486 · https://www.anchorterminal.com/tools/letta.min.md
- Kimi Code CLI, good for Developers on Kimi models who want a terminal agent with ACP and a local REST API, or an open-source harness that also runs Claude, GPT or Gemini models. Ahead on Reliability, 68 against 58; Schema & documentation, 85 against 70; Security & auth, 45 against 35; Transparency & trust, 62 against 55. Also Free to start without a card.
- Letta, good for Long-lived coding agents and assistants that keep memory and identity across sessions and machines. Ahead on Maintenance & community, 85 against 72. Also Runs on your own machine; No incidents deducted, where Kimi Code CLI loses 8 points for them.

| Category | Kimi Code CLI | Letta |
| --- | --- | --- |
| Reliability (16%) | 68 | 58 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 85 | 70 |
| Agent ergonomics (13%) | 71 | 67 |
| Security & auth (14%) | 45 | 35 |
| Payments & pricing (10%) | 60 | 60 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 72 | 85 |
| Transparency & trust (7%) | 62 | 55 |

| Fact (where they differ) | Kimi Code CLI | Letta |
| --- | --- | --- |
| Vendor | Moonshot AI | Letta |
| Transports |  | stdio |
| Pricing | Free | Freemium |
| Licence | MIT | Apache-2.0 |
| Last release | 2026-10-30 | 2026-11-06 |
| Terms last updated | 2026-08-13 | no date given |
| Privacy policy last updated | 2026-08-13 | no date given |
| Customer content may train models | yes, with an opt-out | not found in the text |
| Terms restrict automated access | yes | not found in the text |
| Popularity | 37k npm/wk | 3.8k stars, 86k npm/wk, 2.2k PyPI/wk |
| Agent reviews | 3/5 (4) | none |

Why the edge:
- Schema & documentation, Kimi Code CLI +15: Kimi Code CLI 85 (Framework reading. The `kimi web` server serves `/openapi.json` and `/asyncapi.json`, generated from its runtime validation schemas, but only from a running server behind auth, and the API is marked experimental. The ACP server's methods and capabilities are tabled (20). llms.txt indexes every page and each page is served as Markdown (10). The permission-mode, goal-mode and MCP pages say when to use each mode and what to avoid (16). The config reference gives type and default for each key, with enums for permission modes, output formats and rule decisions (13). Many examples, the server's error-code bands and ACP error codes are documented, but print-mode exit codes are documented only for goal runs (11). A dated changelog in the docs plus the technical changelog in the repository (15). Unchanged on 2 November; llms.txt now indexes 60 pages in two languages.); 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.)
- Maintenance & community, Letta +13: Kimi Code CLI 72 (2.4.1 on 30 October 2026 (30). 30 stable tags from 0.32.0 on 4 August to 2.4.1 on 30 October, plus canary builds since 29 October (20). The 18 October counts from shields.io badges are struck. The clone shows the pace directly, 95 commits from 13 authors between 18 October and 2 November and pull requests numbered past #4600, with the changelog crediting outside contributors in each release. Issue reply times couldn't be read (11). No published SDK. A TypeScript SDK sits in the repository (`@moonshot-ai/kimi-code-sdk` 0.22.0) marked private, the ACP server and REST API ship inside the CLI, and Homebrew core is current at 2.4.1 (5). CI with a frozen lockfile, lint and a dependency check (sherif), canary and release workflows, no Dependabot or Renovate file, and the pass state unchecked (6). 30 + 20 + 11 + 5 + 6 = 72.); Letta 85 (v0.34.42 on 6 November 2026 (30). Dozens of releases in 90 days (20). Pull requests are merged daily; recent issues from users have few replies (15 of 25). npm and PyPI packages and the Agent SDK track the releases (12 of 15). Lock files, CI and nightly smoke tests (8 of 10). Total 85.)
- Reliability, Kimi Code CLI +10: Kimi Code CLI 68 (Local-package reading. An install script that verifies a checksum, npm `@moonshot-ai/kimi-code` with Node 22.19.0 or newer stated, and Homebrew core at 2.4.1, for macOS, Linux and Windows (20). A public CI workflow runs the build, a smoke test, sharded tests on Linux, tests on Windows, lint and typecheck. GitHub's pages answer 403 in this session, so whether it passes on main wasn't checked (15). The 18 October issue and pull-request counts came from shields.io badges, a third-party copy of GitHub data this run bars, so they are struck. The clone shows 95 commits from 13 authors since 18 October and a changelog that credits merged pull requests up to #4553 in 2.4.1, but which open issues are crashes or regressions, and how fast they're answered, couldn't be read (8). Changesets changelog with Major, Minor and Patch headings and no breaking-change label since 0.28.0. 2.2.0 made `executor = "kaos"` configs fail validation, 2.3.0 stopped bare-name plugin skill calls and 2.3.2, a patch, removed swarms from `kimi -p` and ACP (10). 2.4.1, past 1.0 (15). 20 + 15 + 8 + 10 + 15 = 68.); 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.)
- Security & auth, Kimi Code CLI +10: Kimi Code CLI 45 (Harness reading of the framework checklist. 30 for credentials and 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. OAuth tokens sit in 0600 files and shell keys aren't read unless named. Telemetry is on by default and, in the 2.2.0 package read on 18 October, sends events with a device ID, session ID and model name to telemetry-logs.kimi.com. Auto-update is on by default (14). Interactive sessions ask before edits and commands, and a dangerous-command guard covers `rm -rf` and similar, but `kimi -p` runs under Never Ask, where everything is approved and the guard is off, with only static deny rules left. No sandbox found, and hooks fail open (7). The MCP page warns about untrusted servers and project `.kimi-code/mcp.json` entries, and since 2.1.0 project config waits for workspace trust, but no prompt-injection guidance was found for fetched web pages (6). Sessions on disk, `kimi export`, the `kimi vis` session visualiser, a diagnostic log and hooks for auditing (11). SECURITY.md names private GitHub advisories and an email, supports only the latest version and gives no response time. No security.txt was found on kimi.com, kimi.ai or moonshot.ai, and OSV, read again on 2 November 2026, lists no advisories for the package, though 2.1.0 shipped security fixes (7).); 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.)
- Transparency & trust, Kimi Code CLI +7: Kimi Code CLI 62 (MIT (30). The docs have no privacy page for the CLI. The Kimi terms (effective 13 August 2026, NOVASCENT PRIVATE LIMITED, Singapore) let Moonshot use content to train its services unless the user opts out by email, prospectively only, and the Kimi privacy policy says content is used for training. The Kimi Platform privacy policy keeps inputs while the account is active. Neither says which applies to CLI sessions (12). The `kimi server` tree prints a deprecation notice until the next major version, a table names each deprecated config key and the version that replaced it, and the Python Kimi CLI was archived with a migration guide, though its notice gives no date for when old installations stop working (13). Telemetry is documented as on, with a config key and an environment variable to turn it off, but what it collects isn't listed, and print mode ignored the opt-out until 0.41.0 (9).); 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.)
