{
  "data": {
    "a": {
      "slug": "kiro-cli",
      "name": "Kiro CLI",
      "vendor": "Amazon Web Services",
      "vendorUrl": "https://kiro.dev/cli/",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "AWS's coding agent for the terminal and the successor to the Amazon Q Developer CLI. It runs interactive chat, non-interactive runs for pipelines with an API key, MCP servers and an Agent Client Protocol server for editors.",
      "url": "https://www.anchorterminal.com/tools/kiro-cli",
      "markdownUrl": "https://www.anchorterminal.com/tools/kiro-cli.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kiro-cli.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kiro-cli.json",
      "dns": "kiro-cli.grade.anchorterminal.com",
      "repo": "https://github.com/kirodotdev/Kiro",
      "license": "Proprietary. 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 source",
      "transports": [],
      "packages": [],
      "auth": "mixed",
      "authNotes": "`kiro-cli login` with GitHub, Google, AWS Builder ID, AWS IAM Identity Centre or an external identity provider, in a browser or by device flow on a remote machine. Pipelines use an API key in `KIRO_API_KEY`, created at app.kiro.dev by Pro, Pro+, Pro Max and Power subscribers. Keys are long-lived, named and revocable, with no scopes, and API key generation is off by default for subscriptions an administrator manages. An active browser session takes precedence over the key.",
      "pricing": "freemium",
      "pricingNotes": "Kiro Free is $0 with 50 credits a month and a reduced model list. Pro is $20 a user a month with 1,000 credits, Pro+ $40 with 2,000, Pro Max $100 with 5,000 and Power $200 with 10,000, and extra credits cost $0.04 each. Models use credits at different rates (Auto is the 1.0x baseline). API keys for headless runs need a paid plan, and a paid plan needs a card. GovCloud prices are about 20 per cent higher with no free tier (checked 2026-10-08).",
      "priceSummary": "$20 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the CLI changelog (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4356,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://kiro.dev/docs/cli/",
      "llmsTxt": "https://kiro.dev/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "closed-source",
        "mcp",
        "acp",
        "llms-txt",
        "free-tier",
        "no-card",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-11-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.8,
        "grade": "C",
        "agentReady": false,
        "rank": 678,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 17,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 73,
          "payments": 40,
          "reliability": 57,
          "schema": 79,
          "security": 69,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-10-23. Released fixes with no advisory, one term. 2.33.0 (20 October 2026) says V3 hook commands on Windows no longer run a same-named program from the working directory and the semantic-search model download no longer extracts a file outside its model directory. 2.34.0 (23 October) says V3 headless mode no longer approves requests that name no trusted tool and remote HTTP MCP servers follow only same-origin redirects. No AWS bulletin or CVE covers them on 3 November (https://kiro.dev/changelog/cli/2-34/). -3",
          "2026-08-04. CVE-2026-18657 (bulletin 2026-074-AWS, High, CVSS 3.1 7.8), an uncontrolled search path on Windows let a planted executable in a crafted project directory run when a user started Kiro CLI there. Kiro CLI for Windows before 2.10.0. CVE-2026-18656 in the same bulletin is the Kiro IDE record. Fixed and published with credit to the reporter, over two months ago (https://aws.amazon.com/security/security-bulletins/2026-074-aws/). -1",
          "2026-05-22. CVE-2026-9255 (bulletin 2026-035-AWS, High, CVSS 3.1 7.8), content piped to kiro-cli on stdin could answer the tool approval prompt, so a local actor could run tools and shell commands without the user's approval. kiro-cli before 1.28.0. Fixed and published, over two months ago (https://aws.amazon.com/security/security-bulletins/2026-035-aws/). -1"
        ],
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Capability permissions with deny over ask over allow, stored outside the repository so a clone can't add rules",
          "An untrusted workspace doesn't load its own agents, steering files, MCP configuration or skills, and asks before every shell command",
          "Headless runs with `--no-interactive`, JSON Lines output, and exit codes 3 and 4 for MCP startup and missing-agent failures",
          "25 dated releases between 11 August and 3 November 2026, with 3.0.0's breaking changes listed in the release",
          "Plan prices, the $0.04 credit price and per-model credit multipliers are public, with a free tier of 50 credits a month"
        ],
        "weaknesses": [
          "Free and individual paid accounts have content used for service improvement, including model training, unless they opt out",
          "Closed source since it replaced the Apache 2.0 Amazon Q Developer CLI, with no public CI or test suite",
          "API keys for headless runs need a paid plan, are long-lived and carry no scopes",
          "The local command sandbox is off unless chosen even with V3 the default, and AWS says managed permission policies are client-enforced",
          "Two CLI CVEs in 2026, both fixed, and fixes for a Windows search-path flaw and a headless approval flaw in October with no advisory"
        ],
        "agentNotes": [
          "Set `KIRO_API_KEY` and pass `--no-interactive` with `--trust-tools=\u003clist\u003e` in pipelines. Keep `--trust-all-tools` for disposable environments",
          "Pass `--require-mcp-startup` when a run depends on MCP tools. Without it a failed server is logged and the run continues",
          "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",
          "Run `kiro-cli settings telemetry.enabled false` and turn off content collection on Free and individual plans. Both are on by default",
          "Remove `autocomplete`, `inline`, `translate`, `theme` and `dashboard` from scripts, which 3.0.0 retired. Pass `--v2` to keep the V2 agent"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "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.8
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 73,
          "payments": 40,
          "reliability": 57,
          "schema": 79,
          "security": 69,
          "transparency": 66
        },
        "provenanceScore": 76,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "lastMoved": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "curl -fsSL https://cli.kiro.dev/install | bash",
        "headless": {
          "run": "KIRO_API_KEY=ksk_... kiro-cli chat --no-interactive --trust-tools=read,grep \"Find all TODO comments in src/\""
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/kiro-cli"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Kiro Pro",
          "unit": "month",
          "usd": 20,
          "note": "per user, with 1,000 credits"
        },
        {
          "item": "Add-on credit",
          "unit": "credit",
          "usd": 0.04,
          "note": "paid plans, beyond the plan's credits"
        }
      ],
      "provenance": {
        "legalEntity": "Amazon Web Services, Inc.",
        "domain": "kiro.dev",
        "domainRegistered": "2019-03-01",
        "endpointOnVendorDomain": null,
        "terms": "https://aws.amazon.com/agreement/",
        "privacy": "https://aws.amazon.com/privacy/",
        "statusPage": "",
        "changelog": "https://kiro.dev/changelog/cli/",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "Kiro's licence page says the Kiro IDE and CLI are licensed as AWS Content under the AWS Customer Agreement and the AWS Intellectual Property Licence. Section 50.14 of the AWS Service Terms names Amazon Web Services, Inc. as the contracting party for subscriptions bought through the Stripe portal.",
          "The AWS Customer Agreement (last updated 14 August 2026) governs use, with the AWS Service Terms sections 50.3 and 50.14 for Kiro. The AWS Privacy Notice (last updated 18 May 2026) is the privacy link in Kiro's footer.",
          "kiro.dev/.well-known/security.txt answered 404 on 3 November. aws.amazon.com publishes a valid security.txt, with Expires 2027-10-16 and a Policy of https://vdp.aws.security/.",
          "No status page for Kiro was found on kiro.dev or in its docs.",
          "RDAP (Google Registry) gives kiro.dev a registration date of 1 March 2019, before the product."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kiro-cli.json",
      "live": {
        "slug": "kiro-cli",
        "githubStars": 4451,
        "securityTxt": {
          "url": "https://kiro.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:58.530193954Z"
        },
        "llmsTxt": {
          "url": "https://kiro.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:49.153468899Z"
        },
        "domain": {
          "domain": "kiro.dev",
          "registered": "2019-03-01",
          "source": "https://pubapi.registry.google/rdap/domain/kiro.dev",
          "checkedAt": "2026-11-01T14:19:40.504330069Z"
        },
        "pages": [
          {
            "url": "https://kiro.dev/changelog/cli/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:11:59.811836973Z",
            "changedAt": "2026-11-07T14:11:59.811836973Z",
            "fingerprint": "7d3768b7d66b"
          },
          {
            "url": "https://kiro.dev/changelog/cli/3-0/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:02.187245628Z",
            "changedAt": "2026-11-07T14:12:02.187245628Z",
            "fingerprint": "2ea0acd7c658"
          },
          {
            "url": "https://kiro.dev/changelog/models/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:03.994022159Z",
            "changedAt": "2026-11-07T14:12:03.994022159Z",
            "fingerprint": "9f060fb426e5"
          }
        ],
        "github": {
          "repo": "kirodotdev/kiro",
          "checkedAt": "2026-11-02T08:58:44.34897744Z",
          "stars": 4431,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-18T11:35:32Z",
          "openIssues": 1513,
          "openPRs": 7,
          "issuesOpened90d": 1572,
          "issuesClosed90d": 2613,
          "prsMerged90d": 2,
          "ci": {
            "branch": "main",
            "runs": 1,
            "success": 0,
            "failure": 1,
            "other": 0,
            "latest": "failure",
            "latestAt": "2026-03-23T17:52:28Z"
          },
          "replies": {
            "sampled": 1,
            "unanswered": 1
          }
        },
        "updatedAt": "2026-11-07T16:01:58.530193954Z"
      }
    },
    "answer": "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 \u0026 pricing and maintenance \u0026 community.",
    "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": 687,
        "ranked": true,
        "rankOf": 1510,
        "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": 34,
        "category": "security",
        "leads": "kiro-cli",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "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": 69,
          "b": 35
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "letta",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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).",
          "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": 40,
          "b": 60
        }
      },
      {
        "by": 16,
        "category": "transparency",
        "leads": "kiro-cli",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "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": 71,
          "b": 55
        }
      },
      {
        "by": 12,
        "category": "maintenance",
        "leads": "letta",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "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."
        },
        "scores": {
          "a": 73,
          "b": 85
        }
      },
      {
        "by": 9,
        "category": "schema",
        "leads": "kiro-cli",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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).",
          "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": 79,
          "b": 70
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Amazon Web Services",
        "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": "Proprietary. 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 source",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-03",
        "b": "2026-11-06",
        "name": "Last release"
      },
      {
        "a": "2026-08-14",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-18",
        "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": "not found in the text",
        "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": "not found in the text",
        "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": "4.4k stars",
        "b": "3.8k stars, 86k npm/wk, 2.2k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "2.8/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "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 \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Kiro CLI or Letta?"
      },
      {
        "answer": "No open-source release is listed for Kiro CLI. Letta is open source (Apache-2.0).",
        "question": "Are Kiro CLI and Letta open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 79 against 70",
          "Security \u0026 auth, 69 against 35",
          "Transparency \u0026 trust, 71 against 55"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "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.",
        "slug": "kiro-cli",
        "watchFor": "Free and individual paid accounts have content used for service improvement, including model training, unless they opt out"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 40",
          "Maintenance \u0026 community, 85 against 73"
        ],
        "also": [
          "Runs on your own machine",
          "Open source",
          "No incidents deducted, where Kiro CLI loses 5 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": {
      "kiro-cli": [
        {
          "causes": [
            "security"
          ],
          "date": "2026-11-03",
          "delta": -1,
          "from": 60.8,
          "fromGrade": "C",
          "to": 59.8,
          "toGrade": "C"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 60.7,
          "fromGrade": "C",
          "to": 60.8,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 60.6,
          "fromGrade": "C",
          "to": 60.7,
          "toGrade": "C"
        }
      ],
      "letta": null
    },
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-kiro-cli.json",
        "title": "Agent Zero vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-kiro-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-kiro-cli.json",
        "title": "Aider vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-kiro-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-kiro-cli.json",
        "title": "Amp vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-kiro-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-kiro-cli.json",
        "title": "Antigravity CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-kiro-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-kiro-cli.json",
        "title": "Auggie CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-kiro-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-kiro-cli.json",
        "title": "AXLR vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-kiro-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-kiro-cli.json",
        "title": "Claude Code vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-kiro-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-kiro-cli.json",
        "title": "Cline vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-kiro-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-kiro-cli.json",
        "title": "Conductor vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-kiro-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-kiro-cli.json",
        "title": "Crush vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-kiro-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-kiro-cli.json",
        "title": "Cursor CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-kiro-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-kiro-cli.json",
        "title": "DeepSeek Harness (dsh) vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kiro-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-kiro-cli.json",
        "title": "dsh-superagent (DeepSeek) vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-kiro-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-kiro-cli.json",
        "title": "Devin vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-kiro-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-kiro-cli.json",
        "title": "Droid CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-kiro-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-kiro-cli.json",
        "title": "Pi vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-kiro-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-kiro-cli.json",
        "title": "Emdash vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-kiro-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-kiro-cli.json",
        "title": "Gemini CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-kiro-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-kiro-cli.json",
        "title": "GitHub Copilot CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-kiro-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-kiro-cli.json",
        "title": "goose vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-kiro-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-kiro-cli.json",
        "title": "Harness² vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-kiro-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-kiro-cli.json",
        "title": "HarnessRouter vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-letta.json",
        "title": "HarnessRouter vs Letta",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-kiro-cli.json",
        "title": "Jules vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-kiro-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-kiro-cli.json",
        "title": "Junie CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kiro-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-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-letta.json",
        "title": "Kilo Code CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-kiro-cli.json",
        "title": "Kimi Code CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-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-mini-swe-agent.json",
        "title": "Kiro CLI vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-minimax-code.json",
        "title": "Kiro CLI vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-mistral-vibe-cli.json",
        "title": "Kiro CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-muse-code.json",
        "title": "Kiro CLI vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openai-agents-api.json",
        "title": "Kiro CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openai-codex.json",
        "title": "Kiro CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-opencode.json",
        "title": "Kiro CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openhands.json",
        "title": "Kiro CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openmausbot.json",
        "title": "Kiro CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-orca.json",
        "title": "Kiro CLI vs Orca",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-paseo.json",
        "title": "Kiro CLI vs Paseo",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-prime-agent.json",
        "title": "Kiro CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-qoder-cli.json",
        "title": "Kiro CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-qwen-code.json",
        "title": "Kiro CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-reflection-mirror.json",
        "title": "Kiro CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-rovo-dev-cli.json",
        "title": "Kiro CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-sculptor.json",
        "title": "Kiro CLI vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-t3-code.json",
        "title": "Kiro CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-traycer.json",
        "title": "Kiro CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-unstoppable.json",
        "title": "Kiro CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-verdent.json",
        "title": "Kiro CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-vibe-trading.json",
        "title": "Kiro CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-warp.json",
        "title": "Kiro CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-warp"
      },
      {
        "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-kiro-cli.json",
        "title": "Clawboo vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-kiro-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-kiro-cli.json",
        "title": "CLI Manager vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-kiro-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-kiro-cli.json",
        "title": "Harness vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-kiro-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/kiro-cli-vs-paperclip.json",
        "title": "Kiro CLI vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-parallax-agents.json",
        "title": "Kiro CLI vs Parallax",
        "url": "https://www.anchorterminal.com/compare/kiro-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": 1,
        "edge": "letta",
        "key": "reliability",
        "kiro-cli": 57,
        "letta": 58,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "kiro-cli",
        "key": "schema",
        "kiro-cli": 79,
        "letta": 70,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "key": "ergonomics",
        "kiro-cli": 67,
        "letta": 67,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 34,
        "edge": "kiro-cli",
        "key": "security",
        "kiro-cli": 69,
        "letta": 35,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 20,
        "edge": "letta",
        "key": "payments",
        "kiro-cli": 40,
        "letta": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "letta",
        "key": "maintenance",
        "kiro-cli": 73,
        "letta": 85,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 16,
        "edge": "kiro-cli",
        "key": "transparency",
        "kiro-cli": 71,
        "letta": 55,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "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 \u0026 pricing and maintenance \u0026 community. Both do agent harnesses.",
    "tasks": null,
    "tutorials": [],
    "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta",
    "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta.min.md"
  },
  "markdown": "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 \u0026 pricing and maintenance \u0026 community. Both do agent harnesses.\n\n- Kiro CLI: grade C, 59.8/100, rank #678 of 1510. Markdown https://www.anchorterminal.com/tools/kiro-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/kiro-cli.json\n- Letta: grade C, 59.7/100, rank #687 of 1510. 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### Kiro CLI (C)\n\nGood 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.\n\nAhead on:\n- Schema \u0026 documentation, 79 against 70\n- Security \u0026 auth, 69 against 35\n- Transparency \u0026 trust, 71 against 55\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Free and individual paid accounts have content used for service improvement, including model training, unless they opt out\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 40\n- Maintenance \u0026 community, 85 against 73\n\nAlso in its favour:\n- Runs on your own machine\n- Open source\n- No incidents deducted, where Kiro CLI loses 5 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: Kiro CLI +34\n\n- 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.\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### Payments \u0026 pricing: Letta +20\n\n- 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).\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### Transparency \u0026 trust: Kiro CLI +16\n\n- 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.\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### Maintenance \u0026 community: Letta +12\n\n- 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.\n- 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.\n\n### Schema \u0026 documentation: Kiro CLI +9\n\n- 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).\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## Score by category\n\n| Category | Weight | Kiro CLI | Letta | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 57 | 58 | Letta +1 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 79 | 70 | Kiro CLI +9 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 67 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 69 | 35 | Kiro CLI +34 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 60 | Letta +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 73 | 85 | Letta +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 55 | Kiro CLI +16 |\n| Negative events | ≤15 | -5 | 0 | |\n| **Total** | | **59.8 · C** | **59.7 · C** | |\n\n## Facts side by side\n\n| Fact | Kiro CLI | Letta |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Amazon Web Services | 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 | Proprietary. 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 source | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-03 | 2026-11-06 |\n| Terms last updated | 2026-08-14 | no date given |\n| Privacy policy last updated | 2026-05-18 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | 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 | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 4.4k stars | 3.8k stars, 86k npm/wk, 2.2k PyPI/wk |\n| Agent reviews | 2.8/5 (4) | none |\n\n## How the scores have moved\n\n### Kiro CLI\n\n- -1.0 on 3 November 2026: security\n- +0.1 on 28 October 2026: new evidence\n- +0.1 on 27 October 2026: checklist\n\n### Letta\n\nNo score change since it was listed.\n\n## Verdicts\n\n**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.\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### Kiro CLI\n\n1. Set `KIRO_API_KEY` and pass `--no-interactive` with `--trust-tools=\u003clist\u003e` in pipelines. Keep `--trust-all-tools` for disposable environments\n2. Pass `--require-mcp-startup` when a run depends on MCP tools. Without it a failed server is logged and the run continues\n3. 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\n4. Run `kiro-cli settings telemetry.enabled false` and turn off content collection on Free and individual plans. Both are on by default\n5. Remove `autocomplete`, `inline`, `translate`, `theme` and `dashboard` from scripts, which 3.0.0 retired. Pass `--v2` to keep the V2 agent\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, Kiro CLI or Letta?\n\nKiro CLI and Letta score within a point of each other on agent readiness, 59.8 (C) and 59.7 (C). Letta leads on payments \u0026 pricing and maintenance \u0026 community.\n\n### Are Kiro CLI and Letta open source?\n\nNo open-source release is listed for Kiro CLI. Letta is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/kiro-cli-vs-letta.json, and with the fewest tokens: https://www.anchorterminal.com/compare/kiro-cli-vs-letta.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"kiro-cli\", \"b\": \"letta\"}`. From a terminal: `anchor compare kiro-cli letta`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/kiro-cli.json and https://www.anchorterminal.com/api/v1/tools/letta.json\n\n## Other comparisons with Kiro CLI or Letta\n\n- [Agent Zero vs Kiro CLI](https://www.anchorterminal.com/compare/agent-zero-vs-kiro-cli.md)\n- [Agent Zero vs Letta](https://www.anchorterminal.com/compare/agent-zero-vs-letta.md)\n- [Aider vs Kiro CLI](https://www.anchorterminal.com/compare/aider-vs-kiro-cli.md)\n- [Aider vs Letta](https://www.anchorterminal.com/compare/aider-vs-letta.md)\n- [Amp vs Kiro CLI](https://www.anchorterminal.com/compare/amp-vs-kiro-cli.md)\n- [Amp vs Letta](https://www.anchorterminal.com/compare/amp-vs-letta.md)\n- [Antigravity CLI vs Kiro CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-kiro-cli.md)\n- [Antigravity CLI vs Letta](https://www.anchorterminal.com/compare/antigravity-cli-vs-letta.md)\n- [Auggie CLI vs Kiro CLI](https://www.anchorterminal.com/compare/auggie-vs-kiro-cli.md)\n- [Auggie CLI vs Letta](https://www.anchorterminal.com/compare/auggie-vs-letta.md)\n- [AXLR vs Kiro CLI](https://www.anchorterminal.com/compare/axlr-vs-kiro-cli.md)\n- [AXLR vs Letta](https://www.anchorterminal.com/compare/axlr-vs-letta.md)\n- [Claude Code vs Kiro CLI](https://www.anchorterminal.com/compare/claude-code-vs-kiro-cli.md)\n- [Claude Code vs Letta](https://www.anchorterminal.com/compare/claude-code-vs-letta.md)\n- [Cline vs Kiro CLI](https://www.anchorterminal.com/compare/cline-vs-kiro-cli.md)\n- [Cline vs Letta](https://www.anchorterminal.com/compare/cline-vs-letta.md)\n- [Conductor vs Kiro CLI](https://www.anchorterminal.com/compare/conductor-vs-kiro-cli.md)\n- [Conductor vs Letta](https://www.anchorterminal.com/compare/conductor-vs-letta.md)\n- [Crush vs Kiro CLI](https://www.anchorterminal.com/compare/crush-vs-kiro-cli.md)\n- [Crush vs Letta](https://www.anchorterminal.com/compare/crush-vs-letta.md)\n- [Cursor CLI vs Kiro CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-kiro-cli.md)\n- [Cursor CLI vs Letta](https://www.anchorterminal.com/compare/cursor-cli-vs-letta.md)\n- [DeepSeek Harness (dsh) vs Kiro CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-kiro-cli.md)\n- [DeepSeek Harness (dsh) vs Letta](https://www.anchorterminal.com/compare/deepseek-harness-vs-letta.md)\n- [dsh-superagent (DeepSeek) vs Kiro CLI](https://www.anchorterminal.com/compare/deepseek-superagent-vs-kiro-cli.md)\n- [dsh-superagent (DeepSeek) vs Letta](https://www.anchorterminal.com/compare/deepseek-superagent-vs-letta.md)\n- [Devin vs Kiro CLI](https://www.anchorterminal.com/compare/devin-vs-kiro-cli.md)\n- [Devin vs Letta](https://www.anchorterminal.com/compare/devin-vs-letta.md)\n- [Droid CLI vs Kiro CLI](https://www.anchorterminal.com/compare/droid-cli-vs-kiro-cli.md)\n- [Droid CLI vs Letta](https://www.anchorterminal.com/compare/droid-cli-vs-letta.md)\n- [Pi vs Kiro CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-kiro-cli.md)\n- [Pi vs Letta](https://www.anchorterminal.com/compare/earendil-pi-vs-letta.md)\n- [Emdash vs Kiro CLI](https://www.anchorterminal.com/compare/emdash-vs-kiro-cli.md)\n- [Emdash vs Letta](https://www.anchorterminal.com/compare/emdash-vs-letta.md)\n- [Gemini CLI vs Kiro CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-kiro-cli.md)\n- [Gemini CLI vs Letta](https://www.anchorterminal.com/compare/gemini-cli-vs-letta.md)\n- [GitHub Copilot CLI vs Kiro CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-kiro-cli.md)\n- [GitHub Copilot CLI vs Letta](https://www.anchorterminal.com/compare/github-copilot-cli-vs-letta.md)\n- [goose vs Kiro CLI](https://www.anchorterminal.com/compare/goose-vs-kiro-cli.md)\n- [goose vs Letta](https://www.anchorterminal.com/compare/goose-vs-letta.md)\n- [Harness² vs Kiro CLI](https://www.anchorterminal.com/compare/harness2-vs-kiro-cli.md)\n- [Harness² vs Letta](https://www.anchorterminal.com/compare/harness2-vs-letta.md)\n- [HarnessRouter vs Kiro CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-kiro-cli.md)\n- [HarnessRouter vs Letta](https://www.anchorterminal.com/compare/harnessrouter-vs-letta.md)\n- [Jules vs Kiro CLI](https://www.anchorterminal.com/compare/jules-vs-kiro-cli.md)\n- [Jules vs Letta](https://www.anchorterminal.com/compare/jules-vs-letta.md)\n- [Junie CLI vs Kiro CLI](https://www.anchorterminal.com/compare/junie-vs-kiro-cli.md)\n- [Junie CLI vs Letta](https://www.anchorterminal.com/compare/junie-vs-letta.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 Letta](https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta.md)\n- [Kimi Code CLI vs Kiro CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-kiro-cli.md)\n- [Kimi Code CLI vs Letta](https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta.md)\n- [Kiro CLI vs mini-swe-agent](https://www.anchorterminal.com/compare/kiro-cli-vs-mini-swe-agent.md)\n- [Kiro CLI vs MiniMax Code](https://www.anchorterminal.com/compare/kiro-cli-vs-minimax-code.md)\n- [Kiro CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/kiro-cli-vs-mistral-vibe-cli.md)\n- [Kiro CLI vs Muse Code](https://www.anchorterminal.com/compare/kiro-cli-vs-muse-code.md)\n- [Kiro CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/kiro-cli-vs-openai-agents-api.md)\n- [Kiro CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/kiro-cli-vs-openai-codex.md)\n- [Kiro CLI vs OpenCode](https://www.anchorterminal.com/compare/kiro-cli-vs-opencode.md)\n- [Kiro CLI vs OpenHands](https://www.anchorterminal.com/compare/kiro-cli-vs-openhands.md)\n- [Kiro CLI vs OpenMausBot](https://www.anchorterminal.com/compare/kiro-cli-vs-openmausbot.md)\n- [Kiro CLI vs Orca](https://www.anchorterminal.com/compare/kiro-cli-vs-orca.md)\n- [Kiro CLI vs Paseo](https://www.anchorterminal.com/compare/kiro-cli-vs-paseo.md)\n- [Kiro CLI vs Prime Agent](https://www.anchorterminal.com/compare/kiro-cli-vs-prime-agent.md)\n- [Kiro CLI vs Qoder CLI](https://www.anchorterminal.com/compare/kiro-cli-vs-qoder-cli.md)\n- [Kiro CLI vs Qwen Code](https://www.anchorterminal.com/compare/kiro-cli-vs-qwen-code.md)\n- [Kiro CLI vs Mirror CLI](https://www.anchorterminal.com/compare/kiro-cli-vs-reflection-mirror.md)\n- [Kiro CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/kiro-cli-vs-rovo-dev-cli.md)\n- [Kiro CLI vs Sculptor](https://www.anchorterminal.com/compare/kiro-cli-vs-sculptor.md)\n- [Kiro CLI vs T3 Code](https://www.anchorterminal.com/compare/kiro-cli-vs-t3-code.md)\n- [Kiro CLI vs Traycer](https://www.anchorterminal.com/compare/kiro-cli-vs-traycer.md)\n- [Kiro CLI vs Unstoppable](https://www.anchorterminal.com/compare/kiro-cli-vs-unstoppable.md)\n- [Kiro CLI vs Verdent](https://www.anchorterminal.com/compare/kiro-cli-vs-verdent.md)\n- [Kiro CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/kiro-cli-vs-vibe-trading.md)\n- [Kiro CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/kiro-cli-vs-warp.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 Kiro CLI](https://www.anchorterminal.com/compare/clawboo-vs-kiro-cli.md)\n- [Clawboo vs Letta](https://www.anchorterminal.com/compare/clawboo-vs-letta.md)\n- [CLI Manager vs Kiro CLI](https://www.anchorterminal.com/compare/cli-manager-vs-kiro-cli.md)\n- [CLI Manager vs Letta](https://www.anchorterminal.com/compare/cli-manager-vs-letta.md)\n- [Harness vs Kiro CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-kiro-cli.md)\n- [Harness vs Letta](https://www.anchorterminal.com/compare/harness-autonomous-vs-letta.md)\n- [Kiro CLI vs Paperclip](https://www.anchorterminal.com/compare/kiro-cli-vs-paperclip.md)\n- [Kiro CLI vs Parallax](https://www.anchorterminal.com/compare/kiro-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": "Kiro CLI vs Letta",
        "url": ""
      }
    ],
    "description": "Kiro CLI and Letta score within a point of each other for agent harnesses, 59.8 and 59.7 out of 100. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Kiro CLI C 59.8",
      "Letta C 59.7",
      "scores"
    ],
    "h1": "Kiro CLI vs Letta",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/kiro-cli-vs-letta",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Kiro CLI vs Letta for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta"
  },
  "tokens": {
    "markdown": 6350,
    "slim": 2580
  },
  "version": 1
}
