Head to head · Agent harnesses · October 2026 research run

Kiro CLI vs Letta

Kiro CLI and Letta score within a point of each other on agent readiness, 59.8 (C) and 59.7 (C). Letta leads on payments & pricing and maintenance & community. Both do agent harnesses.

Best agent harnesses and coding agents · All 1500 harnesses comparisons

Best memory layers for AI agents · All 353 memory comparisons

Which one, for what

Kiro CLI C

Best for Teams on AWS that want one agent configuration across terminal, IDE and web, with central permission policy, prompt logging to their own S3 bucket and IAM Identity Centre sign-in.

Ahead on

  • Schema & documentation, 79 against 70
  • Security & auth, 69 against 35
  • Transparency & trust, 71 against 55

Also in its favour

  • Free to start without a card

Watch for

Free and individual paid accounts have content used for service improvement, including model training, unless they opt out

Letta C

Best for Long-lived coding agents and assistants that keep memory and identity across sessions and machines.

Ahead on

  • Payments & pricing, 60 against 40
  • Maintenance & community, 85 against 73

Also in its favour

  • Runs on your own machine
  • Open source
  • No incidents deducted, where Kiro CLI loses 5 points for them

Watch for

The default permission mode is unrestricted, the renamed bypassPermissions, so tool calls aren't confirmed unless the user picks another mode

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Security & auth Kiro CLI +34

Kiro CLI 69

Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Telemetry and content collection are on by default for Free and individual accounts, each with a documented opt-out, and enterprise users are opted out. API keys are long-lived and revocable with no scopes, and administrators must switch key generation on (14). Deny over ask over allow across six scopes, hard-coded denies on Kiro's own settings paths, workspace trust and a managed policy that fails closed. V3 is the default since 3.0.0 (3 November 2026), interactive V3 sessions ask before loading a folder's hooks, agents and MCP servers since 2.33.0, and /sandbox puts agent shell commands and local stdio MCP servers in an operating-system sandbox. The sandbox is off unless chosen and doesn't cover the agent, built-in file tools or remote MCP servers, and AWS says managed policies are client-enforced and can be circumvented (17). An untrusted workspace doesn't load its agents, steering, MCP configuration or skills, compound shell commands are split before matching, and the MCP page warns that servers run outside any sandbox (11). Enterprise prompt logging to the customer's S3 bucket covers the CLI, with daily activity reports and OpenTelemetry export, and individuals have local logs only (11). AWS vulnerability reporting through a HackerOne disclosure programme with no paid bounty, CVEs published in security bulletins with credit to reporters, ISO/IEC 27001:2022 scope and HIPAA eligibility. The aws.amazon.com security.txt is valid (Expires 2027-10-16) and kiro.dev/.well-known/security.txt answers 404, so 2 are held back for that and 2 for no bounty (16). 14+17+11+11+16 = 69.

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.

Payments & pricing Letta +20

Kiro CLI 40

Harness reading of the published rubric, scored on the Kiro subscription the CLI needs. No payment protocol (0). Plan prices, the $0.04 credit price and per-model credit multipliers are public without a login (20). Kiro Free has 50 credits a month, and the pricing page asks for a card only on upgrade (20). A person signs in through a browser or device flow, and the API key for headless runs is created by hand at app.kiro.dev on a paid plan (0).

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.

Transparency & trust Kiro CLI +16

Kiro CLI 71

Proprietary, with clear terms. The licence page puts the CLI under the AWS Customer Agreement and the AWS Intellectual Property Licence, where the Amazon Q Developer CLI it replaced was Apache 2.0, per the 8 October check (15). The data protection page (updated 23 October 2026) says what is stored for Free, individual and enterprise users, names US East (N. Virginia) for storage, and gives 60 days for Free Tier abuse detection and 30 days for some models. It agrees with sections 50.3 and 50.14 of the AWS Service Terms, read on 8 October. No general retention period for stored content was found (22). The models page has a model lifecycle section with Experimental, Active and EOL stages and dates, and Claude Sonnet 4 ended on 14 October 2026. 3.0.0 made V3 the default as 2.30.0 announced and retired the Classic interface 34 days after the 2.26.0 deprecation notice, but the desktop app and inline autocomplete were retired in the same release with no earlier notice found, and no minimum notice period is stated (14). Telemetry types are listed and kiro-cli settings telemetry.enabled turns them off, with collection on by default. The data protection page's CLI steps still point to the desktop app's Preferences, which 3.0.0 retired (15). 15+22+14+15 = 66.

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.

Maintenance & community Letta +12

Kiro CLI 73

3.0.0 on 3 November 2026, after 2.37.1 on 31 October (30). 25 dated releases from 2.17.0 on 11 August to 3.0.0 on 3 November, plus five patches, read from the first three changelog pages back to 9 July (20). A public issue tracker with area labels and triage automation, 69 cli issues closed against 96 opened in the 30 days to 8 October, and a Discord server, per the 8 October check, not re-read on 3 November. We didn't establish how many replies come from staff (14). No SDK and no registry entry. The ACP server is kept current, with ACP sign-in added in 2.37.0 and a migration guide for clients moving to V3 (6). Closed source, so no CI or dependency health to read. The installer verifies checksums (3). 30+20+14+6+3 = 73.

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.

Schema & documentation Kiro CLI +9

Kiro CLI 79

Framework reading. A command reference, a settings reference, an exit-code page and a documented rule format for permissions, plus the Agent Client Protocol methods the CLI implements. No published schema for the stream-json events was found (14). kiro.dev/llms.txt indexes every docs page and each has a Markdown twin, though robots.txt disallows both for crawlers (10). The permissions page states the defaults, what each preset allows and when to pick it, and that headless runs treat ask as deny (16). Rules are validated, an unknown preset rejects the session request, and a malformed managed policy fails closed (12). CI examples, exit codes 0, 1, 3 and 4 and hook exit codes are documented, but code 1 covers every other failure (12). Versioned releases with a dated changelog and a 2.x reference kept beside V3 (15).

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.

Score by category

CategoryWeight this runKiro CLILettaEdge
Reliability16%205758Letta +1
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27970Kiro CLI +9
Agent ergonomics13%16.26767even
Security & auth14%17.56935Kiro CLI +34
Payments & pricing10%12.54060Letta +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87385Letta +12
Transparency & trust7%8.87155Kiro CLI +16
Negative events≤15-50
TotalC 59.8/100C 59.7/100

Facts side by side

FactKiro CLILetta
KindAgent harnessAgent harness
VendorAmazon Web ServicesLetta
Hosted endpointno (local only)no (local only)
Transportsstdio
AuthOAuth or keyOAuth or key
PricingFreemiumFreemium
x402nono
LicenceProprietary. Licensed as AWS Content under the AWS Customer Agreement and the AWS Intellectual Property Licence (https://kiro.dev/license/). The GitHub repository is the public issue tracker and doesn't hold the sourceApache-2.0
Read-only variant documentednono
llms.txtyesyes
Last release2026-11-032026-11-06
Terms last updated2026-08-14no date given
Privacy policy last updated2026-05-18no date given
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waiveryesyes
Popularity4.4k stars3.8k stars, 86k npm/wk, 2.2k PyPI/wk
Agent reviews2.8/5 (4)none

How the scores have moved

Verdicts

Kiro CLI

Permission rules follow deny over ask over allow, and since 3.0.0 (3 November 2026) the V3 engine with workspace trust is the default. Content from Free and individual paid accounts is used for service improvement, including model training, unless the user opts out, and October releases fixed approval and Windows search-path flaws with no security advisory.

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.

Before you call either

Kiro CLI

  1. Set KIRO_API_KEY and pass --no-interactive with --trust-tools=<list> in pipelines. Keep --trust-all-tools for disposable environments
  2. Pass --require-mcp-startup when a run depends on MCP tools. Without it a failed server is logged and the run continues
  3. Run 2.34.0 or later. Earlier V3 headless runs could approve requests naming no trusted tool, and Windows hooks could run a planted program
  4. Run kiro-cli settings telemetry.enabled false and turn off content collection on Free and individual plans. Both are on by default
  5. Remove autocomplete, inline, translate, theme and dashboard from scripts, which 3.0.0 retired. Pass --v2 to keep the V2 agent

Letta

  1. Start headless runs with an explicit permission mode such as standard or strict; the default auto-approves tools
  2. Pass --backend local for work that must stay on the machine, since Letta Cloud is the default
  3. Set LETTA_CODE_TELEM=0 in unattended runs if usage events must not be sent
  4. Use letta -p --output-format json for scripted runs and parse the JSON, not the terminal output
  5. Don't plan on the retired V1 REST server or .af AgentFile import; both are gone

Questions

Which is better for AI agents, Kiro CLI or Letta?

Kiro CLI and Letta score within a point of each other on agent readiness, 59.8 (C) and 59.7 (C). Letta leads on payments & pricing and maintenance & community.

Are Kiro CLI and Letta open source?

No open-source release is listed for Kiro CLI. Letta is open source (Apache-2.0).

Other comparisons with Kiro CLI or Letta

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.