{
  "data": {
    "a": {
      "slug": "agent-zero",
      "name": "Agent Zero",
      "vendor": "Agent Zero, s.r.o.",
      "vendorUrl": "https://www.agent-zero.ai",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Agent Zero is an open-source agent framework that runs in a Docker container with a Linux desktop, a browser, a task scheduler and memory. Its owner reaches it through a web interface, Telegram, WhatsApp or email.",
      "url": "https://www.anchorterminal.com/tools/agent-zero",
      "markdownUrl": "https://www.anchorterminal.com/tools/agent-zero.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/agent-zero.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/agent-zero.json",
      "dns": "agent-zero.grade.anchorterminal.com",
      "repo": "https://github.com/agent0ai/agent-zero",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "oci",
          "name": "agent0ai/agent-zero"
        }
      ],
      "auth": "none",
      "authNotes": "No account. The web interface has no login until the owner sets a username and password in Settings or as `AUTH_LOGIN` and `AUTH_PASSWORD`, which are stored in `/a0/usr/.env` (https://github.com/agent0ai/agent-zero/blob/main/docs/setup/vps-deployment.md). The external API takes an `X-API-KEY` header, and the optional MCP server and A2A endpoint carry the same token in the URL path. The token is derived from the instance id and the login, so it changes when either changes (https://github.com/agent0ai/agent-zero/blob/main/docs/guides/a2a-setup.md). Model access uses provider API keys or OAuth sign-in to ChatGPT (Codex), GitHub Copilot, Google Cloud Gemini or xAI (https://github.com/agent0ai/agent-zero/blob/main/plugins/_oauth/README.md).",
      "pricing": "free",
      "pricingNotes": "Free under MIT, with nothing to buy for the software. The owner pays the model provider they configure, or nothing with a local model. A beta LLM API on the vendor's site gives a daily quota to people who stake its A0T token and is separate from the software (checked 2026-10-12).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 19429,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://github.com/agent0ai/agent-zero/tree/main/docs",
      "llmsTxt": "https://www.agent-zero.ai/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "python",
        "mit",
        "llms-txt",
        "docker"
      ],
      "lastRelease": "2026-11-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46,
        "grade": "D",
        "agentReady": false,
        "rank": 1184,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 47,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 75,
          "payments": 60,
          "reliability": 57,
          "schema": 64,
          "security": 54,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -15,
        "negativeNotes": [
          "2026-08-27 to 2026-09-23. Breaking changes in minor releases of the `agent0ai/agent-zero` image with notice only in the release notes of the day. v2.11 (27 August) made LiteLLM default to Chat Completions, v2.12 (9 September) made `hist_add_ai_response` require an `llm_result`, and v2.13 (23 September) dropped `runtime=input` for remote execution with \"No compatibility alias\". Repeats fold into one term, -3 (https://www.agent-zero.ai/p/articles/agent-zero-v2-13/).",
          "2026-09-09. Two flaws recorded in the project's own security-review ledger and fixed in v2.12 the same day. An unauthenticated Telegram webhook accepted forged updates, and WhatsApp document names could overwrite files outside the media cache before the sender check ran. The ledger rates both high. Named in the release notes, with no advisory, -3 (https://github.com/agent0ai/agent-zero/blob/main/security-review/LEDGER.md).",
          "2026-03-17 to 2026-10-22. Eight CVEs against Agent Zero, counted one by one, none published by the vendor. CVE-2026-97635 (CISA, 22 October, Web UI XSS before 1.15, CVSS 4.0 8.6, fixed) 2. CVE-2026-51852 and CVE-2026-51853 (MITRE, 30 September, file browser directory traversal in 1.7 to 1.10, CISA-ADP 7.5 each, reports closed as completed) 2 each. CVE-2026-30624 (MITRE, 15 April, MCP server configuration runs arbitrary commands in 0.9.8, 8.6, no fix listed) 2. CVE-2026-47118 (VulnCheck, 27 May, image_get path traversal before 1.15, 7.1, fixed) 1. VulDB's CVE-2026-4308 (6.3, fixed in v2.9) and VulnCheck's CVE-2026-47119 (5.3, fixed) are fixed third-party Mediums and cost 0, and VulDB's CVE-2026-4307 (4.3, fix not established) is an unfixed third-party Medium, left uncounted. -9 (https://osv.dev/list?q=agent-zero, https://github.com/CVEProject/cvelistV5)."
        ],
        "verdict": "Self-hosted under the MIT licence, with seven releases from 12 August to 1 November 2026 and breaking changes listed in minor-release notes. The agent runs shell commands in its container with no approval step, the web interface has no login by default, and eight CVEs from the past year were published by third parties with no vendor advisory.",
        "bestFor": "A technical owner who wants an agent with its own Linux machine, reachable from Telegram, WhatsApp or email, with scheduled tasks and editable memory.",
        "strengths": [
          "MIT licence, with prompts, tools, plugins and settings readable and editable in one public repository",
          "Seven tagged releases from 12 August to 1 November 2026, with Breaking Changes sections in the v2.11, v2.12 and v2.13 notes",
          "Memory dashboard to search, edit, delete and bulk-delete entries, with memory kept apart for each project by default",
          "No usage telemetry found in the source. The one call home is an update check whose settings page says what it sends and turns it off",
          "Tool Access policy can allow or block each built-in and MCP tool for a project or an agent profile"
        ],
        "weaknesses": [
          "No approval step before shell commands, file changes or outgoing messages. Tool Access defaults to allow",
          "The web interface has no login until the owner sets a username, and the README command publishes port 80",
          "Eight CVEs published between 17 March and 22 October 2026, all assigned by third parties, with no vendor advisory, SECURITY.md or security.txt",
          "Infection Check, the prompt-injection audit before tool calls, ships turned off",
          "Empty allow-lists in the Telegram, WhatsApp and email integrations accept messages from anyone",
          "No public CI runs the 245 files under tests/. The only workflows publish Docker images and close inactive issues",
          "Minor releases v2.11, v2.12 and v2.13 removed or changed behaviour on release day, one with no compatibility alias"
        ],
        "agentNotes": [
          "Set a UI login and password in Settings before publishing the port or opening a tunnel. The default has none",
          "Fill `allowed_users`, `allowed_numbers` or `sender_whitelist` before enabling a channel. An empty list accepts every sender",
          "Enable the Infection Check plugin when the agent reads mail, web pages or MCP results. It ships disabled",
          "Run v2.12 or later. It fixes a Telegram webhook authentication bypass and a WhatsApp media path traversal",
          "Call `POST /api_message` with the `X-API-KEY` header. The token changes when the UI login or password changes"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 75,
          "payments": 60,
          "reliability": 57,
          "schema": 64,
          "security": 54,
          "transparency": 66
        },
        "provenanceScore": 61,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "docker run -p 80:80 -v a0_usr:/a0/usr agent0ai/agent-zero   # or: curl -fsSL https://bash.agent-zero.ai | bash"
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/agent-zero"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Agent Zero, s.r.o.",
        "domain": "agent-zero.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/agent0ai/agent-zero/releases",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The site footer names Agent Zero, s.r.o., ID no. 231 46 508, Nové sady 988/2, 602 00 Brno, Czech Republic, and the `LICENSE` file carries the same company's copyright.",
          "No terms or privacy policy for the software was found. The site's terms page covers its community platform and its cookie page covers the website, so neither is linked here and the MIT licence stands in.",
          "`/.well-known/security.txt` on www.agent-zero.ai answered 404 on 12 October 2026, and the repository still had no SECURITY.md on 4 November 2026.",
          "robots.txt on www.agent-zero.ai answered 404 again on 4 November 2026, read as no rules. agent-zero.ai redirects to www.agent-zero.ai.",
          "There is no hosted endpoint. An instance answers on its owner's own host.",
          "The domain's registration date was not looked up."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/agent-zero.json",
      "live": {
        "slug": "agent-zero",
        "versions": [
          {
            "registry": "github",
            "name": "agent0ai/agent-zero",
            "version": "v2.15",
            "released": "2026-11-01",
            "seenAt": "2026-11-06T23:03:10.585709292Z"
          }
        ],
        "githubStars": 19771,
        "securityTxt": {
          "url": "https://agent-zero.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:55.812233933Z"
        },
        "llmsTxt": {
          "url": "https://www.agent-zero.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:05.677359332Z"
        },
        "domain": {
          "domain": "agent-zero.ai",
          "registered": "2025-01-26",
          "source": "https://rdap.identitydigital.services/rdap/domain/agent-zero.ai",
          "checkedAt": "2026-11-01T14:14:52.629038357Z"
        },
        "github": {
          "repo": "agent0ai/agent-zero",
          "checkedAt": "2026-11-02T08:28:32.546659925Z",
          "stars": 19645,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-01T23:18:27Z",
          "openIssues": 59,
          "openPRs": 82,
          "issuesOpened90d": 71,
          "issuesClosed90d": 102,
          "prsMerged90d": 37,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 46,
            "failure": 3,
            "other": 1,
            "latest": "success",
            "latestAt": "2026-11-01T23:52:44Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 23,
            "medianDays": 7.5
          }
        },
        "updatedAt": "2026-11-07T16:00:55.812233933Z"
      }
    },
    "answer": "Letta scores 59.7 (C) on agent readiness against Agent Zero's 46 (D), and leads in 4 of 7 scored categories. Agent Zero leads on security \u0026 auth and transparency \u0026 trust.",
    "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": 19,
        "category": "security",
        "leads": "agent-zero",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Harness reading of the framework checklist, the one the Goose calibration dossier uses. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. No usage telemetry was found in the source. An update check, on by default, posts the version and a 20-character SHA-256 hash of a random per-install id to api.agent-zero.ai. The Update Checker settings page says only that ID and the version are sent and has an off switch. Something still leaves the machine by default, so the partial is kept (22). The agent works inside a Docker container built on Kali Linux and runs as root there. Tool Access can block tools by project or profile and defaults to allow, host access through the A0 CLI is scoped by read, write and execute permissions, and no approval step was found before a shell command, a file deletion or an outgoing message. The web interface has no login until a username is set (10). Infection Check audits the agent's reasoning with a second model before each tool call and ships disabled. Scanners check plugins, skills and MCP servers before install. The channel allow-lists accept every sender when empty, and the email filter matches the claimed From address only, which the plugin README states (7). Chat logs, visible tool steps and Time Travel snapshots, with no per-call audit log. Per-process log files were removed in v2.5 (9). No SECURITY.md on 4 November, security.txt answered 404 on 12 October, and none of the eight CVEs published from 17 March to 22 October 2026 came from the vendor (VulDB, VulnCheck, MITRE and CISA assigned them). A security-review ledger in the repository records two findings, and the v2.12 notes name both fixes (6, a partial kept).",
          "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": 54,
          "b": 35
        }
      },
      {
        "by": 10,
        "category": "maintenance",
        "leads": "letta",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v2.15 was tagged on 1 November 2026, 3 days before this check (30). Seven releases from 6 August, v2.9 on 12 August to v2.15, read from the clone's tags (20). Of the 40 newest open items read on 12 October, 16 are issues and 14 of those have no comment. Three security reports filed as issues were closed as completed, one in five days and two after three months. GitHub's issue pages weren't read on 4 November, so this is per the 12 October check (10 of 25). The Docker image, the desktop Launcher, the install scripts and the A0 CLI connector come from the same organisation, and the v2.14 notes point the README's Launcher links to v1.9 (10 of 15). A Docker publish workflow builds images from tags, and the v2.14 notes raise dependency security floors for aiohttp, anyio, urllib3, filelock, fsspec and multidict. No public test CI (5 of 10). 30 + 20 + 10 + 10 + 5 = 75.",
          "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": 75,
          "b": 85
        }
      },
      {
        "by": 9,
        "category": "transparency",
        "leads": "agent-zero",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "MIT, copyright Agent Zero, s.r.o. (30). No privacy policy for the software was found. The site's cookie notice covers the website, and its terms (14 May 2026) cover the community platform. The docs say where data lives (chats, memory, secrets and settings under `/a0/usr`) and warn that model providers see what is sent to them only in general terms, with no retention statement (8 of 30). Release notes list breaking changes and removals with the release date, and one deprecated alias is named. No deprecation policy or notice period was found (8 of 20, a partial kept). No usage telemetry was found in the source. The update check is described on its settings page, which says it sends only a randomised, hashed install ID and the version number, and the same page turns it off. The ID is a hash of a random per-install token, a pseudonym under this run's reading, so the statement holds (20). 30 + 8 + 8 + 20 = 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": 64,
          "b": 55
        }
      },
      {
        "by": 6,
        "category": "schema",
        "leads": "letta",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Harness reading of the lines, as the Goose calibration dossier does. No OpenAPI file. The connectivity page lists five external endpoints and the `X-API-KEY` header, then sends readers to the source or DeepWiki for request and response details. Each API handler and tool has a `.dox.md` contract file in the repository, and the MCP client JSON shape is documented (10 of 25). llms.txt at www.agent-zero.ai, and AGENTS.md contract files across the repository (10). Guides say which path to use for a need, with tables that separate the browser, the host connector, MCP and A2A (14 of 20). The v2.12 notes say 15 bundled tools gained argument descriptions in non-strict schemas, and plugin settings are typed YAML with commented examples (8 of 15). Guides carry worked examples and a troubleshooting page, with no documented error responses for the external API (9 of 15). Dated notes on every GitHub release and a release article for each version on the site, with no version prefix on API routes (13 of 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": 64,
          "b": 70
        }
      },
      {
        "by": 5,
        "category": "ergonomics",
        "leads": "letta",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Harness reading, scored on what a person or program driving it must supply. Skills load on demand, blocked tools are removed from the prompt, chats can be compacted, and the v2.12 notes report Codex input falling from about 16.4K to 11.3K tokens, a vendor figure (18 of 25). An MCP tool timeout of 120 seconds, a limit of five consecutive unusable responses and context-window handling are set by default. No turn or spend limit was found in the reviewed docs (11 of 20). Other programs reach it through `POST /api_message`, an optional MCP server, A2A and an ACP bridge, with request and response shapes left to the source (11 of 20). An error-retry plugin, saved chats, a message queue, backups and Time Travel snapshots with diff and revert (14 of 20). One Docker command starts it and a wizard sets the model, but there is no SDK and the default has no login (8 of 15).",
          "b": "Harness reading. Toolsets switch with `/model`, skills load per agent, and subagents run in the background (18 of 25). Context is managed through memory blocks, reflection and dreaming (12 of 20). `letta -p --output-format json` for scripted runs and an App Server for programmatic control (12 of 20). Conversations resume by agent and conversation id, and memory is git-tracked so changes can be reverted (15 of 20). Runs with no account on the local backend, with one SDK language, TypeScript (10 of 15). Total 67."
        },
        "scores": {
          "a": 62,
          "b": 67
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Agent Zero, s.r.o.",
        "b": "Letta",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-01",
        "b": "2026-11-06",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "19k stars",
        "b": "3.8k stars, 86k npm/wk, 2.2k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Letta scores 59.7 (C) on agent readiness against Agent Zero's 46 (D), and leads in 4 of 7 scored categories. Agent Zero leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Agent Zero or Letta?"
      },
      {
        "answer": "Yes. Agent Zero is open source (MIT). Letta is open source (Apache-2.0).",
        "question": "Are Agent Zero and Letta open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 54 against 35",
          "Transparency \u0026 trust, 64 against 55"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "A technical owner who wants an agent with its own Linux machine, reachable from Telegram, WhatsApp or email, with scheduled tasks and editable memory.",
        "slug": "agent-zero",
        "watchFor": "No approval step before shell commands, file changes or outgoing messages. Tool Access defaults to allow"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 70 against 64",
          "Agent ergonomics, 67 against 62",
          "Maintenance \u0026 community, 85 against 75"
        ],
        "also": [
          "Runs on your own machine",
          "No incidents deducted, where Agent Zero loses 15 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": {
      "agent-zero": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -8.6,
          "from": 54.6,
          "fromGrade": "C",
          "to": 46,
          "toGrade": "D"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.3,
          "from": 54.3,
          "fromGrade": "C",
          "to": 54.6,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 54.2,
          "fromGrade": "C",
          "to": 54.3,
          "toGrade": "C"
        }
      ],
      "letta": null
    },
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-aider.json",
        "title": "Agent Zero vs Aider",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-aider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-amp.json",
        "title": "Agent Zero vs Amp",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-amp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-antigravity-cli.json",
        "title": "Agent Zero vs Antigravity CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-antigravity-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-auggie.json",
        "title": "Agent Zero vs Auggie CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-auggie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-axlr.json",
        "title": "Agent Zero vs AXLR",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-axlr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-claude-code.json",
        "title": "Agent Zero vs Claude Code",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-claude-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-cline.json",
        "title": "Agent Zero vs Cline",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-cline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-conductor.json",
        "title": "Agent Zero vs Conductor",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-conductor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-crush.json",
        "title": "Agent Zero vs Crush",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-cursor-cli.json",
        "title": "Agent Zero vs Cursor CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-cursor-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-deepseek-harness.json",
        "title": "Agent Zero vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-deepseek-superagent.json",
        "title": "Agent Zero vs dsh-superagent (DeepSeek)",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-deepseek-superagent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-devin.json",
        "title": "Agent Zero vs Devin",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-devin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-droid-cli.json",
        "title": "Agent Zero vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-earendil-pi.json",
        "title": "Agent Zero vs Pi",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-emdash.json",
        "title": "Agent Zero vs Emdash",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-gemini-cli.json",
        "title": "Agent Zero vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-github-copilot-cli.json",
        "title": "Agent Zero vs GitHub Copilot CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-github-copilot-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-goose.json",
        "title": "Agent Zero vs goose",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-goose"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-harness2.json",
        "title": "Agent Zero vs Harness²",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-harnessrouter.json",
        "title": "Agent Zero vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-jules.json",
        "title": "Agent Zero vs Jules",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-junie.json",
        "title": "Agent Zero vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-kilo-code-cli.json",
        "title": "Agent Zero vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-kimi-code-cli.json",
        "title": "Agent Zero vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-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-mini-swe-agent.json",
        "title": "Agent Zero vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-minimax-code.json",
        "title": "Agent Zero vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-mistral-vibe-cli.json",
        "title": "Agent Zero vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-muse-code.json",
        "title": "Agent Zero vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-openai-agents-api.json",
        "title": "Agent Zero vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-openai-codex.json",
        "title": "Agent Zero vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-opencode.json",
        "title": "Agent Zero vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-openhands.json",
        "title": "Agent Zero vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-openmausbot.json",
        "title": "Agent Zero vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-orca.json",
        "title": "Agent Zero vs Orca",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-paseo.json",
        "title": "Agent Zero vs Paseo",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-prime-agent.json",
        "title": "Agent Zero vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-qoder-cli.json",
        "title": "Agent Zero vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-qwen-code.json",
        "title": "Agent Zero vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-reflection-mirror.json",
        "title": "Agent Zero vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-rovo-dev-cli.json",
        "title": "Agent Zero vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-sculptor.json",
        "title": "Agent Zero vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-t3-code.json",
        "title": "Agent Zero vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-traycer.json",
        "title": "Agent Zero vs Traycer",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-unstoppable.json",
        "title": "Agent Zero vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-verdent.json",
        "title": "Agent Zero vs Verdent",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-vibe-trading.json",
        "title": "Agent Zero vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-warp.json",
        "title": "Agent Zero vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-warp"
      },
      {
        "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-letta.json",
        "title": "Amp vs Letta",
        "url": "https://www.anchorterminal.com/compare/amp-vs-letta"
      },
      {
        "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-letta.json",
        "title": "Auggie CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-letta"
      },
      {
        "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-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-letta.json",
        "title": "Cline vs Letta",
        "url": "https://www.anchorterminal.com/compare/cline-vs-letta"
      },
      {
        "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-letta.json",
        "title": "Crush vs Letta",
        "url": "https://www.anchorterminal.com/compare/crush-vs-letta"
      },
      {
        "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-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-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-letta.json",
        "title": "Devin vs Letta",
        "url": "https://www.anchorterminal.com/compare/devin-vs-letta"
      },
      {
        "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-letta.json",
        "title": "Pi vs Letta",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-letta"
      },
      {
        "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-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-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-letta.json",
        "title": "goose vs Letta",
        "url": "https://www.anchorterminal.com/compare/goose-vs-letta"
      },
      {
        "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-letta.json",
        "title": "HarnessRouter vs Letta",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-letta"
      },
      {
        "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-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-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-letta.json",
        "title": "Kimi Code CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta.json",
        "title": "Kiro CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-mini-swe-agent.json",
        "title": "Letta vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/letta-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-minimax-code.json",
        "title": "Letta vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli.json",
        "title": "Letta vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-muse-code.json",
        "title": "Letta vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openai-agents-api.json",
        "title": "Letta vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openai-codex.json",
        "title": "Letta vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-opencode.json",
        "title": "Letta vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/letta-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openhands.json",
        "title": "Letta vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openmausbot.json",
        "title": "Letta vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-orca.json",
        "title": "Letta vs Orca",
        "url": "https://www.anchorterminal.com/compare/letta-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-paseo.json",
        "title": "Letta vs Paseo",
        "url": "https://www.anchorterminal.com/compare/letta-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-prime-agent.json",
        "title": "Letta vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/letta-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-qoder-cli.json",
        "title": "Letta vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-qwen-code.json",
        "title": "Letta vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-reflection-mirror.json",
        "title": "Letta vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-rovo-dev-cli.json",
        "title": "Letta vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-sculptor.json",
        "title": "Letta vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/letta-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-t3-code.json",
        "title": "Letta vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-traycer.json",
        "title": "Letta vs Traycer",
        "url": "https://www.anchorterminal.com/compare/letta-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-unstoppable.json",
        "title": "Letta vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/letta-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-verdent.json",
        "title": "Letta vs Verdent",
        "url": "https://www.anchorterminal.com/compare/letta-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-vibe-trading.json",
        "title": "Letta vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/letta-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-warp.json",
        "title": "Letta vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/letta-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-letta.json",
        "title": "Clawboo vs Letta",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-letta"
      },
      {
        "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-letta.json",
        "title": "Harness vs Letta",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-letta"
      },
      {
        "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": [
      {
        "agent-zero": 57,
        "by": 1,
        "edge": "letta",
        "key": "reliability",
        "letta": 58,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "agent-zero": 64,
        "by": 6,
        "edge": "letta",
        "key": "schema",
        "letta": 70,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "agent-zero": 62,
        "by": 5,
        "edge": "letta",
        "key": "ergonomics",
        "letta": 67,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "agent-zero": 54,
        "by": 19,
        "edge": "agent-zero",
        "key": "security",
        "letta": 35,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "agent-zero": 60,
        "by": 0,
        "edge": "",
        "key": "payments",
        "letta": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "agent-zero": 75,
        "by": 10,
        "edge": "letta",
        "key": "maintenance",
        "letta": 85,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "agent-zero": 64,
        "by": 9,
        "edge": "agent-zero",
        "key": "transparency",
        "letta": 55,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Letta scores 59.7 (C) on agent readiness against Agent Zero's 46 (D), and leads in 4 of 7 scored categories. Agent Zero leads on security \u0026 auth and transparency \u0026 trust. Both do agent harnesses.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "agent-zero": "Self-hosted under the MIT licence, with seven releases from 12 August to 1 November 2026 and breaking changes listed in minor-release notes. The agent runs shell commands in its container with no approval step, the web interface has no login by default, and eight CVEs from the past year were published by third parties with no vendor 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/agent-zero-vs-letta",
    "json": "https://www.anchorterminal.com/compare/agent-zero-vs-letta.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/agent-zero-vs-letta.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/agent-zero-vs-letta.min.md"
  },
  "markdown": "Letta scores 59.7 (C) on agent readiness against Agent Zero's 46 (D), and leads in 4 of 7 scored categories. Agent Zero leads on security \u0026 auth and transparency \u0026 trust. Both do agent harnesses.\n\n- Agent Zero: grade D, 46/100, rank #1184 of 1510. Markdown https://www.anchorterminal.com/tools/agent-zero.md · JSON https://www.anchorterminal.com/api/v1/tools/agent-zero.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### Agent Zero (D)\n\nGood for: A technical owner who wants an agent with its own Linux machine, reachable from Telegram, WhatsApp or email, with scheduled tasks and editable memory.\n\nAhead on:\n- Security \u0026 auth, 54 against 35\n- Transparency \u0026 trust, 64 against 55\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: No approval step before shell commands, file changes or outgoing messages. Tool Access defaults to allow\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- Schema \u0026 documentation, 70 against 64\n- Agent ergonomics, 67 against 62\n- Maintenance \u0026 community, 85 against 75\n\nAlso in its favour:\n- Runs on your own machine\n- No incidents deducted, where Agent Zero loses 15 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: Agent Zero +19\n\n- Agent Zero (54): Harness reading of the framework checklist, the one the Goose calibration dossier uses. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. No usage telemetry was found in the source. An update check, on by default, posts the version and a 20-character SHA-256 hash of a random per-install id to api.agent-zero.ai. The Update Checker settings page says only that ID and the version are sent and has an off switch. Something still leaves the machine by default, so the partial is kept (22). The agent works inside a Docker container built on Kali Linux and runs as root there. Tool Access can block tools by project or profile and defaults to allow, host access through the A0 CLI is scoped by read, write and execute permissions, and no approval step was found before a shell command, a file deletion or an outgoing message. The web interface has no login until a username is set (10). Infection Check audits the agent's reasoning with a second model before each tool call and ships disabled. Scanners check plugins, skills and MCP servers before install. The channel allow-lists accept every sender when empty, and the email filter matches the claimed From address only, which the plugin README states (7). Chat logs, visible tool steps and Time Travel snapshots, with no per-call audit log. Per-process log files were removed in v2.5 (9). No SECURITY.md on 4 November, security.txt answered 404 on 12 October, and none of the eight CVEs published from 17 March to 22 October 2026 came from the vendor (VulDB, VulnCheck, MITRE and CISA assigned them). A security-review ledger in the repository records two findings, and the v2.12 notes name both fixes (6, a partial kept).\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### Maintenance \u0026 community: Letta +10\n\n- Agent Zero (75): v2.15 was tagged on 1 November 2026, 3 days before this check (30). Seven releases from 6 August, v2.9 on 12 August to v2.15, read from the clone's tags (20). Of the 40 newest open items read on 12 October, 16 are issues and 14 of those have no comment. Three security reports filed as issues were closed as completed, one in five days and two after three months. GitHub's issue pages weren't read on 4 November, so this is per the 12 October check (10 of 25). The Docker image, the desktop Launcher, the install scripts and the A0 CLI connector come from the same organisation, and the v2.14 notes point the README's Launcher links to v1.9 (10 of 15). A Docker publish workflow builds images from tags, and the v2.14 notes raise dependency security floors for aiohttp, anyio, urllib3, filelock, fsspec and multidict. No public test CI (5 of 10). 30 + 20 + 10 + 10 + 5 = 75.\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### Transparency \u0026 trust: Agent Zero +9\n\n- Agent Zero (64): MIT, copyright Agent Zero, s.r.o. (30). No privacy policy for the software was found. The site's cookie notice covers the website, and its terms (14 May 2026) cover the community platform. The docs say where data lives (chats, memory, secrets and settings under `/a0/usr`) and warn that model providers see what is sent to them only in general terms, with no retention statement (8 of 30). Release notes list breaking changes and removals with the release date, and one deprecated alias is named. No deprecation policy or notice period was found (8 of 20, a partial kept). No usage telemetry was found in the source. The update check is described on its settings page, which says it sends only a randomised, hashed install ID and the version number, and the same page turns it off. The ID is a hash of a random per-install token, a pseudonym under this run's reading, so the statement holds (20). 30 + 8 + 8 + 20 = 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### Schema \u0026 documentation: Letta +6\n\n- Agent Zero (64): Harness reading of the lines, as the Goose calibration dossier does. No OpenAPI file. The connectivity page lists five external endpoints and the `X-API-KEY` header, then sends readers to the source or DeepWiki for request and response details. Each API handler and tool has a `.dox.md` contract file in the repository, and the MCP client JSON shape is documented (10 of 25). llms.txt at www.agent-zero.ai, and AGENTS.md contract files across the repository (10). Guides say which path to use for a need, with tables that separate the browser, the host connector, MCP and A2A (14 of 20). The v2.12 notes say 15 bundled tools gained argument descriptions in non-strict schemas, and plugin settings are typed YAML with commented examples (8 of 15). Guides carry worked examples and a troubleshooting page, with no documented error responses for the external API (9 of 15). Dated notes on every GitHub release and a release article for each version on the site, with no version prefix on API routes (13 of 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### Agent ergonomics: Letta +5\n\n- Agent Zero (62): Harness reading, scored on what a person or program driving it must supply. Skills load on demand, blocked tools are removed from the prompt, chats can be compacted, and the v2.12 notes report Codex input falling from about 16.4K to 11.3K tokens, a vendor figure (18 of 25). An MCP tool timeout of 120 seconds, a limit of five consecutive unusable responses and context-window handling are set by default. No turn or spend limit was found in the reviewed docs (11 of 20). Other programs reach it through `POST /api_message`, an optional MCP server, A2A and an ACP bridge, with request and response shapes left to the source (11 of 20). An error-retry plugin, saved chats, a message queue, backups and Time Travel snapshots with diff and revert (14 of 20). One Docker command starts it and a wizard sets the model, but there is no SDK and the default has no login (8 of 15).\n- Letta (67): Harness reading. Toolsets switch with `/model`, skills load per agent, and subagents run in the background (18 of 25). Context is managed through memory blocks, reflection and dreaming (12 of 20). `letta -p --output-format json` for scripted runs and an App Server for programmatic control (12 of 20). Conversations resume by agent and conversation id, and memory is git-tracked so changes can be reverted (15 of 20). Runs with no account on the local backend, with one SDK language, TypeScript (10 of 15). Total 67.\n\n## Score by category\n\n| Category | Weight | Agent Zero | 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) | 64 | 70 | Letta +6 |\n| Agent ergonomics | 13% (16.2 this run) | 62 | 67 | Letta +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 54 | 35 | Agent Zero +19 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 85 | Letta +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 55 | Agent Zero +9 |\n| Negative events | ≤15 | -15 | 0 | |\n| **Total** | | **46 · D** | **59.7 · C** | |\n\n## Facts side by side\n\n| Fact | Agent Zero | Letta |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Agent Zero, s.r.o. | Letta |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio |\n| Auth | None | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-01 | 2026-11-06 |\n| Terms last updated | no document linked | no date given |\n| Privacy policy last updated | no document linked | no date given |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | yes |\n| Popularity | 19k stars | 3.8k stars, 86k npm/wk, 2.2k PyPI/wk |\n\n## How the scores have moved\n\n### Agent Zero\n\n- -8.6 on 4 November 2026 (C to D): correction\n- +0.3 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**Agent Zero.** Self-hosted under the MIT licence, with seven releases from 12 August to 1 November 2026 and breaking changes listed in minor-release notes. The agent runs shell commands in its container with no approval step, the web interface has no login by default, and eight CVEs from the past year were published by third parties with no vendor 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### Agent Zero\n\n1. Set a UI login and password in Settings before publishing the port or opening a tunnel. The default has none\n2. Fill `allowed_users`, `allowed_numbers` or `sender_whitelist` before enabling a channel. An empty list accepts every sender\n3. Enable the Infection Check plugin when the agent reads mail, web pages or MCP results. It ships disabled\n4. Run v2.12 or later. It fixes a Telegram webhook authentication bypass and a WhatsApp media path traversal\n5. Call `POST /api_message` with the `X-API-KEY` header. The token changes when the UI login or password changes\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, Agent Zero or Letta?\n\nLetta scores 59.7 (C) on agent readiness against Agent Zero's 46 (D), and leads in 4 of 7 scored categories. Agent Zero leads on security \u0026 auth and transparency \u0026 trust.\n\n### Are Agent Zero and Letta open source?\n\nYes. Agent Zero is open source (MIT). Letta is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/agent-zero-vs-letta.json, and with the fewest tokens: https://www.anchorterminal.com/compare/agent-zero-vs-letta.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"agent-zero\", \"b\": \"letta\"}`. From a terminal: `anchor compare agent-zero letta`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/agent-zero.json and https://www.anchorterminal.com/api/v1/tools/letta.json\n\n## Other comparisons with Agent Zero or Letta\n\n- [Agent Zero vs Aider](https://www.anchorterminal.com/compare/agent-zero-vs-aider.md)\n- [Agent Zero vs Amp](https://www.anchorterminal.com/compare/agent-zero-vs-amp.md)\n- [Agent Zero vs Antigravity CLI](https://www.anchorterminal.com/compare/agent-zero-vs-antigravity-cli.md)\n- [Agent Zero vs Auggie CLI](https://www.anchorterminal.com/compare/agent-zero-vs-auggie.md)\n- [Agent Zero vs AXLR](https://www.anchorterminal.com/compare/agent-zero-vs-axlr.md)\n- [Agent Zero vs Claude Code](https://www.anchorterminal.com/compare/agent-zero-vs-claude-code.md)\n- [Agent Zero vs Cline](https://www.anchorterminal.com/compare/agent-zero-vs-cline.md)\n- [Agent Zero vs Conductor](https://www.anchorterminal.com/compare/agent-zero-vs-conductor.md)\n- [Agent Zero vs Crush](https://www.anchorterminal.com/compare/agent-zero-vs-crush.md)\n- [Agent Zero vs Cursor CLI](https://www.anchorterminal.com/compare/agent-zero-vs-cursor-cli.md)\n- [Agent Zero vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/agent-zero-vs-deepseek-harness.md)\n- [Agent Zero vs dsh-superagent (DeepSeek)](https://www.anchorterminal.com/compare/agent-zero-vs-deepseek-superagent.md)\n- [Agent Zero vs Devin](https://www.anchorterminal.com/compare/agent-zero-vs-devin.md)\n- [Agent Zero vs Droid CLI](https://www.anchorterminal.com/compare/agent-zero-vs-droid-cli.md)\n- [Agent Zero vs Pi](https://www.anchorterminal.com/compare/agent-zero-vs-earendil-pi.md)\n- [Agent Zero vs Emdash](https://www.anchorterminal.com/compare/agent-zero-vs-emdash.md)\n- [Agent Zero vs Gemini CLI](https://www.anchorterminal.com/compare/agent-zero-vs-gemini-cli.md)\n- [Agent Zero vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/agent-zero-vs-github-copilot-cli.md)\n- [Agent Zero vs goose](https://www.anchorterminal.com/compare/agent-zero-vs-goose.md)\n- [Agent Zero vs Harness²](https://www.anchorterminal.com/compare/agent-zero-vs-harness2.md)\n- [Agent Zero vs HarnessRouter](https://www.anchorterminal.com/compare/agent-zero-vs-harnessrouter.md)\n- [Agent Zero vs Jules](https://www.anchorterminal.com/compare/agent-zero-vs-jules.md)\n- [Agent Zero vs Junie CLI](https://www.anchorterminal.com/compare/agent-zero-vs-junie.md)\n- [Agent Zero vs Kilo Code CLI](https://www.anchorterminal.com/compare/agent-zero-vs-kilo-code-cli.md)\n- [Agent Zero vs Kimi Code CLI](https://www.anchorterminal.com/compare/agent-zero-vs-kimi-code-cli.md)\n- [Agent Zero vs Kiro CLI](https://www.anchorterminal.com/compare/agent-zero-vs-kiro-cli.md)\n- [Agent Zero vs mini-swe-agent](https://www.anchorterminal.com/compare/agent-zero-vs-mini-swe-agent.md)\n- [Agent Zero vs MiniMax Code](https://www.anchorterminal.com/compare/agent-zero-vs-minimax-code.md)\n- [Agent Zero vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/agent-zero-vs-mistral-vibe-cli.md)\n- [Agent Zero vs Muse Code](https://www.anchorterminal.com/compare/agent-zero-vs-muse-code.md)\n- [Agent Zero vs OpenAI Agents API](https://www.anchorterminal.com/compare/agent-zero-vs-openai-agents-api.md)\n- [Agent Zero vs OpenAI Codex](https://www.anchorterminal.com/compare/agent-zero-vs-openai-codex.md)\n- [Agent Zero vs OpenCode](https://www.anchorterminal.com/compare/agent-zero-vs-opencode.md)\n- [Agent Zero vs OpenHands](https://www.anchorterminal.com/compare/agent-zero-vs-openhands.md)\n- [Agent Zero vs OpenMausBot](https://www.anchorterminal.com/compare/agent-zero-vs-openmausbot.md)\n- [Agent Zero vs Orca](https://www.anchorterminal.com/compare/agent-zero-vs-orca.md)\n- [Agent Zero vs Paseo](https://www.anchorterminal.com/compare/agent-zero-vs-paseo.md)\n- [Agent Zero vs Prime Agent](https://www.anchorterminal.com/compare/agent-zero-vs-prime-agent.md)\n- [Agent Zero vs Qoder CLI](https://www.anchorterminal.com/compare/agent-zero-vs-qoder-cli.md)\n- [Agent Zero vs Qwen Code](https://www.anchorterminal.com/compare/agent-zero-vs-qwen-code.md)\n- [Agent Zero vs Mirror CLI](https://www.anchorterminal.com/compare/agent-zero-vs-reflection-mirror.md)\n- [Agent Zero vs Rovo Dev CLI](https://www.anchorterminal.com/compare/agent-zero-vs-rovo-dev-cli.md)\n- [Agent Zero vs Sculptor](https://www.anchorterminal.com/compare/agent-zero-vs-sculptor.md)\n- [Agent Zero vs T3 Code](https://www.anchorterminal.com/compare/agent-zero-vs-t3-code.md)\n- [Agent Zero vs Traycer](https://www.anchorterminal.com/compare/agent-zero-vs-traycer.md)\n- [Agent Zero vs Unstoppable](https://www.anchorterminal.com/compare/agent-zero-vs-unstoppable.md)\n- [Agent Zero vs Verdent](https://www.anchorterminal.com/compare/agent-zero-vs-verdent.md)\n- [Agent Zero vs Vibe-Trading](https://www.anchorterminal.com/compare/agent-zero-vs-vibe-trading.md)\n- [Agent Zero vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/agent-zero-vs-warp.md)\n- [Aider vs Letta](https://www.anchorterminal.com/compare/aider-vs-letta.md)\n- [Amp vs Letta](https://www.anchorterminal.com/compare/amp-vs-letta.md)\n- [Antigravity CLI vs Letta](https://www.anchorterminal.com/compare/antigravity-cli-vs-letta.md)\n- [Auggie CLI vs Letta](https://www.anchorterminal.com/compare/auggie-vs-letta.md)\n- [AXLR vs Letta](https://www.anchorterminal.com/compare/axlr-vs-letta.md)\n- [Claude Code vs Letta](https://www.anchorterminal.com/compare/claude-code-vs-letta.md)\n- [Cline vs Letta](https://www.anchorterminal.com/compare/cline-vs-letta.md)\n- [Conductor vs Letta](https://www.anchorterminal.com/compare/conductor-vs-letta.md)\n- [Crush vs Letta](https://www.anchorterminal.com/compare/crush-vs-letta.md)\n- [Cursor CLI vs Letta](https://www.anchorterminal.com/compare/cursor-cli-vs-letta.md)\n- [DeepSeek Harness (dsh) vs Letta](https://www.anchorterminal.com/compare/deepseek-harness-vs-letta.md)\n- [dsh-superagent (DeepSeek) vs Letta](https://www.anchorterminal.com/compare/deepseek-superagent-vs-letta.md)\n- [Devin vs Letta](https://www.anchorterminal.com/compare/devin-vs-letta.md)\n- [Droid CLI vs Letta](https://www.anchorterminal.com/compare/droid-cli-vs-letta.md)\n- [Pi vs Letta](https://www.anchorterminal.com/compare/earendil-pi-vs-letta.md)\n- [Emdash vs Letta](https://www.anchorterminal.com/compare/emdash-vs-letta.md)\n- [Gemini CLI vs Letta](https://www.anchorterminal.com/compare/gemini-cli-vs-letta.md)\n- [GitHub Copilot CLI vs Letta](https://www.anchorterminal.com/compare/github-copilot-cli-vs-letta.md)\n- [goose vs Letta](https://www.anchorterminal.com/compare/goose-vs-letta.md)\n- [Harness² vs Letta](https://www.anchorterminal.com/compare/harness2-vs-letta.md)\n- [HarnessRouter vs Letta](https://www.anchorterminal.com/compare/harnessrouter-vs-letta.md)\n- [Jules vs Letta](https://www.anchorterminal.com/compare/jules-vs-letta.md)\n- [Junie CLI vs Letta](https://www.anchorterminal.com/compare/junie-vs-letta.md)\n- [Kilo Code CLI vs Letta](https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta.md)\n- [Kimi Code CLI vs Letta](https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta.md)\n- [Kiro CLI vs Letta](https://www.anchorterminal.com/compare/kiro-cli-vs-letta.md)\n- [Letta vs mini-swe-agent](https://www.anchorterminal.com/compare/letta-vs-mini-swe-agent.md)\n- [Letta vs MiniMax Code](https://www.anchorterminal.com/compare/letta-vs-minimax-code.md)\n- [Letta vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli.md)\n- [Letta vs Muse Code](https://www.anchorterminal.com/compare/letta-vs-muse-code.md)\n- [Letta vs OpenAI Agents API](https://www.anchorterminal.com/compare/letta-vs-openai-agents-api.md)\n- [Letta vs OpenAI Codex](https://www.anchorterminal.com/compare/letta-vs-openai-codex.md)\n- [Letta vs OpenCode](https://www.anchorterminal.com/compare/letta-vs-opencode.md)\n- [Letta vs OpenHands](https://www.anchorterminal.com/compare/letta-vs-openhands.md)\n- [Letta vs OpenMausBot](https://www.anchorterminal.com/compare/letta-vs-openmausbot.md)\n- [Letta vs Orca](https://www.anchorterminal.com/compare/letta-vs-orca.md)\n- [Letta vs Paseo](https://www.anchorterminal.com/compare/letta-vs-paseo.md)\n- [Letta vs Prime Agent](https://www.anchorterminal.com/compare/letta-vs-prime-agent.md)\n- [Letta vs Qoder CLI](https://www.anchorterminal.com/compare/letta-vs-qoder-cli.md)\n- [Letta vs Qwen Code](https://www.anchorterminal.com/compare/letta-vs-qwen-code.md)\n- [Letta vs Mirror CLI](https://www.anchorterminal.com/compare/letta-vs-reflection-mirror.md)\n- [Letta vs Rovo Dev CLI](https://www.anchorterminal.com/compare/letta-vs-rovo-dev-cli.md)\n- [Letta vs Sculptor](https://www.anchorterminal.com/compare/letta-vs-sculptor.md)\n- [Letta vs T3 Code](https://www.anchorterminal.com/compare/letta-vs-t3-code.md)\n- [Letta vs Traycer](https://www.anchorterminal.com/compare/letta-vs-traycer.md)\n- [Letta vs Unstoppable](https://www.anchorterminal.com/compare/letta-vs-unstoppable.md)\n- [Letta vs Verdent](https://www.anchorterminal.com/compare/letta-vs-verdent.md)\n- [Letta vs Vibe-Trading](https://www.anchorterminal.com/compare/letta-vs-vibe-trading.md)\n- [Letta vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/letta-vs-warp.md)\n- [Clawboo vs Letta](https://www.anchorterminal.com/compare/clawboo-vs-letta.md)\n- [CLI Manager vs Letta](https://www.anchorterminal.com/compare/cli-manager-vs-letta.md)\n- [Harness vs Letta](https://www.anchorterminal.com/compare/harness-autonomous-vs-letta.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": "Agent Zero vs Letta",
        "url": ""
      }
    ],
    "description": "Letta scores 59.7 (C) to Agent Zero's 46 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Agent Zero D 46",
      "Letta C 59.7",
      "scores"
    ],
    "h1": "Agent Zero vs Letta",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/agent-zero-vs-letta",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Agent Zero vs Letta for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/agent-zero-vs-letta"
  },
  "tokens": {
    "markdown": 6350,
    "slim": 2780
  },
  "version": 1
}
