{
  "data": {
    "a": {
      "slug": "aider",
      "name": "Aider",
      "vendor": "Aider AI LLC",
      "vendorUrl": "https://aider.chat",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Terminal pair-programming tool that edits files in a local git repository through text edit formats rather than tool calls, builds a repo map with tree-sitter, and commits each change.",
      "url": "https://www.anchorterminal.com/tools/aider",
      "markdownUrl": "https://www.anchorterminal.com/tools/aider.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/aider.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/aider.json",
      "dns": "aider.grade.anchorterminal.com",
      "repo": "https://github.com/Aider-AI/aider",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "aider-chat"
        }
      ],
      "auth": "none",
      "authNotes": "No account. Model keys come from environment variables, a `.env` file or `--api-key` flags, and go straight to the provider through LiteLLM.",
      "pricing": "free",
      "pricingNotes": "Free and Apache-2.0, with nothing to buy. You pay your model provider, or nothing with a local model.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-01).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 49300,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-01"
      },
      "docsUrl": "https://aider.chat/docs/",
      "capabilities": [
        "agent.harness"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "python",
        "pre-1.0"
      ],
      "lastRelease": "2026-02-12",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.1,
        "grade": "D",
        "agentReady": false,
        "rank": 1105,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 43,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 13,
          "payments": 60,
          "reliability": 44,
          "schema": 56,
          "security": 59,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-11-05"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-09-04. CVE-2026-85674 (CVSS 3.1 7.8, filed by VulnCheck). Aider loads `.aider.conf.yml` from the root of the repository it starts in, and a crafted file's `test-cmd` runs at startup and `lint-cmd` on the first edit, through a shell, with no confirmation, model call or API key. It affects 0.86.2 and earlier, no release or commit on main fixes it on 5 November 2026, and the report (#5254) was open on 1 October. An unfixed High filed by a third party, counted on its own at this run's value for an unfixed High, -2. https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/85xxx/CVE-2026-85674.json",
          "2026-10-23. CVE-2026-115726 (CVSS 3.1 7.8, filed by VulnCheck). The same auto-loaded `.aider.conf.yml` can set `notifications-command` or `editor`, which aider runs through a shell after model replies or `/editor`, with no trust prompt. It affects 0.86.2 and earlier and no release or commit on main fixes it. A separate record on another path, counted on its own at this run's value for an unfixed High, -2. https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/115xxx/CVE-2026-115726.json"
        ],
        "verdict": "Analytics are opt-in and offered to 10 per cent of users, with a permanent opt-out and a local log. No release since 0.86.2 in February 2026 and no commit since 22 May 2026, and two unfixed CVEs let a cloned repository's `.aider.conf.yml` run shell commands without a prompt.",
        "bestFor": "A person pair-programming in a terminal who wants git-tracked edits and a small context footprint, with any model.",
        "strengths": [
          "Analytics opt-in and offered to 10 per cent of users, with a permanent opt-out and a local log",
          "A git commit per edit by default, with `/undo`",
          "Asks before running shell commands the model suggests",
          "A repo map sized by `--map-tokens` keeps its own context cost small",
          "Any model through LiteLLM, local ones included, with no account"
        ],
        "weaknesses": [
          "No release since 0.86.2 in February 2026 and no commit since 22 May 2026",
          "CVE-2026-85674 and CVE-2026-115726 let a repository's `.aider.conf.yml` run shell commands without a prompt, both unfixed",
          "No MCP support and no JSON output mode",
          "The released package requires Python below 3.13",
          "About 1,300 open issues and 512 open pull requests without visible triage (1 October count)"
        ],
        "agentNotes": [
          "Read `.aider.conf.yml` in any cloned repository before starting aider. Its `test-cmd`, `lint-cmd`, `notifications-command` and `editor` run without asking",
          "Script edits with `--message` and `--no-suggest-shell-commands`, not `--yes-always`",
          "Use Python 3.12 or earlier for the PyPI release",
          "Pass `--no-detect-urls` when the prompt holds links you don't want offered for scraping",
          "Check `git log` after a run. Each edit is its own commit"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.1
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 13,
          "payments": 60,
          "reliability": 44,
          "schema": 56,
          "security": 59,
          "transparency": 71
        },
        "provenanceScore": 59,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-05",
            "maintenance": "2026-11-05",
            "payments": "2026-11-05",
            "reliability": "2026-11-05",
            "schema": "2026-11-05",
            "security": "2026-11-05",
            "transparency": "2026-11-05"
          },
          "last": "2026-11-05",
          "lastMoved": "2026-11-05",
          "oldest": "2026-11-05",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "python -m pip install aider-chat   # Python 3.10 to 3.12",
        "headless": {
          "command": "aider --message \"$TASK\" --no-suggest-shell-commands --no-analytics --no-detect-urls path/to/file.py",
          "env": {
            "ANTHROPIC_API_KEY": "\u003ckey\u003e"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/aider"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Aider AI LLC",
        "domain": "aider.chat",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "https://aider.chat/docs/legal/privacy.html",
        "statusPage": "",
        "changelog": "https://aider.chat/HISTORY.html",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The privacy policy names Aider AI LLC and covers the website and the tool's opt-in analytics.",
          "We found no terms of service and no security.txt in the site's source, which lives in the repository under aider/website."
        ],
        "score": 59
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/aider.json",
      "live": {
        "slug": "aider",
        "versions": [
          {
            "registry": "github",
            "name": "Aider-AI/aider",
            "version": "v0.86.0",
            "released": "2025-08-09",
            "seenAt": "2026-11-06T23:04:32.024554009Z"
          },
          {
            "registry": "pypi",
            "name": "aider-chat",
            "version": "0.86.2",
            "released": "2026-02-12",
            "seenAt": "2026-11-06T23:04:31.912601573Z"
          }
        ],
        "githubStars": 49989,
        "pypiWeekly": 71886,
        "securityTxt": {
          "url": "https://aider.chat/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:20.790228959Z"
        },
        "domain": {
          "domain": "aider.chat",
          "registered": "2023-05-15",
          "source": "https://rdap.identitydigital.services/rdap/domain/aider.chat",
          "checkedAt": "2026-11-01T14:16:42.858633112Z"
        },
        "pages": [
          {
            "url": "https://aider.chat/HISTORY.html",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T13:58:56.909539954Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3bc7d2e4729c"
          },
          {
            "url": "https://aider.chat/docs/legal/privacy.html",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T13:58:58.956996128Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4b2b6386e645"
          }
        ],
        "github": {
          "repo": "aider-ai/aider",
          "checkedAt": "2026-11-02T08:29:26.553646306Z",
          "stars": 49895,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-05-22T14:02:20Z",
          "openIssues": 1408,
          "openPRs": 539,
          "issuesOpened90d": 267,
          "issuesClosed90d": 178,
          "prsMerged90d": 0,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 47,
            "failure": 3,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-05-22T14:02:46Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 4,
            "medianDays": 0.2
          }
        },
        "updatedAt": "2026-11-07T16:01:20.790228959Z"
      }
    },
    "answer": "Letta scores 59.7 (C) on agent readiness against Aider's 49.1 (D), and leads in 4 of 7 scored categories. Aider 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": 72,
        "category": "maintenance",
        "leads": "letta",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "0.86.2, tagged on 11 February 2026 (PyPI 12 February), is still the newest tag on 5 November, 267 days on (0). No release in the 90 days from 7 August (0). No commit on main since 2026-05-22 (5dc9490). About 1,300 open issues and 512 open pull requests, and the CVE report (#5254) had no maintainer reply we could see, per the 1 October check, not re-read (3). The PyPI package lags main, which declares Python 3.13 and 3.14 support that the release doesn't allow (5). CI ran on the last commits and dependencies are pinned, as of May (5). 0 + 0 + 3 + 5 + 5 = 13.",
          "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": 13,
          "b": 85
        }
      },
      {
        "by": 24,
        "category": "security",
        "leads": "aider",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Harness reading of the framework checklist, used for all five harnesses in this batch. 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. Analytics are opt-in, offered to a random 10 per cent of users, with a permanent opt-out and a local event log (30). Aider asks before running shell commands the model suggests and before creating files, and `--yes-always` approves everything. Edits apply without asking but each lands in a git commit. A `.aider.conf.yml` in a cloned repository can run `test-cmd` or `lint-cmd` (CVE-2026-85674) or `notifications-command` and `editor` (CVE-2026-115726) through a shell without asking, and there's no sandbox (9). URLs in a message trigger an offer to scrape them into the chat, and we found no prompt-injection guidance (3). Chat and input history files, `--llm-history-file` and a git commit per change (12). No SECURITY.md in the repository and no advisories published by the project. The open CVE report had a reply only from a contributor on 1 October (5). 30 + 9 + 3 + 12 + 5 = 59.",
          "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": 59,
          "b": 35
        }
      },
      {
        "by": 14,
        "category": "reliability",
        "leads": "letta",
        "name": "Reliability",
        "reasons": {
          "a": "Read as a local package. aider-chat on PyPI, but the latest release (0.86.2, tagged 11 February 2026) requires Python below 3.13, while main declares 3.10 to 3.14 (18). The Ubuntu test workflow runs pytest on Python 3.10 to 3.14 on every push to main, and a Windows workflow sits beside it. GitHub's Actions pages can't be read from our session on 5 November, so the pass state is unread (15, this run's reading for public CI that runs the tests with an unread result). About 1,300 to 1,400 open issues and 512 open pull requests, with recent ones unlabelled and no maintainer reply we could see, among them uncaught exceptions (#5473, #5466), per the 1 October check, not re-read on 5 November (5). HISTORY.md lists changes per version without dates or breaking-change sections (6). 0.86, pre-1.0, and classed 4 - Beta (0). 18 + 15 + 5 + 6 + 0 = 44.",
          "b": "Local-software lines, read for the harness. `@letta-ai/letta-code` on npm with Node.js 22.19 or newer, and PyPI wheels for glibc Linux, macOS 14 and Windows x64 with Python 3.9 or newer stated (20). ci.yml, nightly update smoke tests and Telegram live smoke tests exist, but GitHub's API answered with a rate limit, so run results were unread (15 of 25, unchecked). 332 open issues and pull requests, mostly pull requests; recent bug reports such as recall reading the wrong conversation have no reply yet (15 of 25). 398 tags at 0.34.x with release notes on GitHub, no changelog file, and breaking removals such as AgentFile announced in the README (8 of 15). Pre-1.0 (0). Total 58."
        },
        "scores": {
          "a": 44,
          "b": 58
        }
      },
      {
        "by": 14,
        "category": "schema",
        "leads": "letta",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No machine-readable contract. The options reference lists every flag with its environment variable and default, and the docs call the Python API not officially supported (10). No llms.txt or Markdown versions of pages found in the site source (0). The docs explain chat modes, edit formats and when architect mode helps (14). Typed config through `.aider.conf.yml` and flags with defaults (10). Many usage examples and troubleshooting pages (12). A release history per version without dates (10).",
          "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": 56,
          "b": 70
        }
      },
      {
        "by": 10,
        "category": "transparency",
        "leads": "aider",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Apache-2.0 (30). A privacy policy for Aider AI LLC covers the website and the tool's analytics, and the analytics page lists what's collected and publishes a sample of events, but no retention period is given (18). No deprecation policy or dated notices found (3). Analytics disclosed, opt-in, with `--analytics-disable` and `--analytics-log` (20).",
          "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": 65,
          "b": 55
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Aider AI LLC",
        "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": "Apache-2.0",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-02-12",
        "b": "2026-11-06",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "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": "49k stars",
        "b": "3.8k stars, 86k npm/wk, 2.2k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "1/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Letta scores 59.7 (C) on agent readiness against Aider's 49.1 (D), and leads in 4 of 7 scored categories. Aider leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Aider or Letta?"
      },
      {
        "answer": "Yes. Aider is open source (Apache-2.0). Letta is open source (Apache-2.0).",
        "question": "Are Aider and Letta open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 59 against 35",
          "Transparency \u0026 trust, 65 against 55"
        ],
        "also": [
          "No key needed to call it",
          "Free to start without a card"
        ],
        "goodFor": "A person pair-programming in a terminal who wants git-tracked edits and a small context footprint, with any model.",
        "slug": "aider",
        "watchFor": "No release since 0.86.2 in February 2026 and no commit since 22 May 2026"
      },
      {
        "aheadOn": [
          "Reliability, 58 against 44",
          "Schema \u0026 documentation, 70 against 56",
          "Maintenance \u0026 community, 85 against 13"
        ],
        "also": [
          "Runs on your own machine",
          "No incidents deducted, where Aider loses 4 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": {
      "aider": [
        {
          "causes": [
            "evidence",
            "correction"
          ],
          "date": "2026-11-05",
          "delta": 2,
          "from": 47.1,
          "fromGrade": "D",
          "to": 49.1,
          "toGrade": "D"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": -0.2,
          "from": 47.3,
          "fromGrade": "D",
          "to": 47.1,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.4,
          "from": 46.9,
          "fromGrade": "D",
          "to": 47.3,
          "toGrade": "D"
        }
      ],
      "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-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-amp.json",
        "title": "Aider vs Amp",
        "url": "https://www.anchorterminal.com/compare/aider-vs-amp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-antigravity-cli.json",
        "title": "Aider vs Antigravity CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-antigravity-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-auggie.json",
        "title": "Aider vs Auggie CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-auggie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-axlr.json",
        "title": "Aider vs AXLR",
        "url": "https://www.anchorterminal.com/compare/aider-vs-axlr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-claude-code.json",
        "title": "Aider vs Claude Code",
        "url": "https://www.anchorterminal.com/compare/aider-vs-claude-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-cline.json",
        "title": "Aider vs Cline",
        "url": "https://www.anchorterminal.com/compare/aider-vs-cline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-conductor.json",
        "title": "Aider vs Conductor",
        "url": "https://www.anchorterminal.com/compare/aider-vs-conductor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-crush.json",
        "title": "Aider vs Crush",
        "url": "https://www.anchorterminal.com/compare/aider-vs-crush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-cursor-cli.json",
        "title": "Aider vs Cursor CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-cursor-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-deepseek-harness.json",
        "title": "Aider vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/aider-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-deepseek-superagent.json",
        "title": "Aider vs dsh-superagent (DeepSeek)",
        "url": "https://www.anchorterminal.com/compare/aider-vs-deepseek-superagent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-devin.json",
        "title": "Aider vs Devin",
        "url": "https://www.anchorterminal.com/compare/aider-vs-devin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-droid-cli.json",
        "title": "Aider vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-earendil-pi.json",
        "title": "Aider vs Pi",
        "url": "https://www.anchorterminal.com/compare/aider-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-emdash.json",
        "title": "Aider vs Emdash",
        "url": "https://www.anchorterminal.com/compare/aider-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-gemini-cli.json",
        "title": "Aider vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-github-copilot-cli.json",
        "title": "Aider vs GitHub Copilot CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-github-copilot-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-goose.json",
        "title": "Aider vs goose",
        "url": "https://www.anchorterminal.com/compare/aider-vs-goose"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-harness2.json",
        "title": "Aider vs Harness²",
        "url": "https://www.anchorterminal.com/compare/aider-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-harnessrouter.json",
        "title": "Aider vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/aider-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-jules.json",
        "title": "Aider vs Jules",
        "url": "https://www.anchorterminal.com/compare/aider-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-junie.json",
        "title": "Aider vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-kilo-code-cli.json",
        "title": "Aider vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-kimi-code-cli.json",
        "title": "Aider vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-kimi-code-cli"
      },
      {
        "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-mini-swe-agent.json",
        "title": "Aider vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/aider-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-minimax-code.json",
        "title": "Aider vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/aider-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-mistral-vibe-cli.json",
        "title": "Aider vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-muse-code.json",
        "title": "Aider vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/aider-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-openai-agents-api.json",
        "title": "Aider vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-openai-codex.json",
        "title": "Aider vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-opencode.json",
        "title": "Aider vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/aider-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-openhands.json",
        "title": "Aider vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-openmausbot.json",
        "title": "Aider vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-orca.json",
        "title": "Aider vs Orca",
        "url": "https://www.anchorterminal.com/compare/aider-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-paseo.json",
        "title": "Aider vs Paseo",
        "url": "https://www.anchorterminal.com/compare/aider-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-prime-agent.json",
        "title": "Aider vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/aider-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-qoder-cli.json",
        "title": "Aider vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-qwen-code.json",
        "title": "Aider vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/aider-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-reflection-mirror.json",
        "title": "Aider vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-rovo-dev-cli.json",
        "title": "Aider vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-sculptor.json",
        "title": "Aider vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/aider-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-t3-code.json",
        "title": "Aider vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/aider-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-traycer.json",
        "title": "Aider vs Traycer",
        "url": "https://www.anchorterminal.com/compare/aider-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-unstoppable.json",
        "title": "Aider vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/aider-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-verdent.json",
        "title": "Aider vs Verdent",
        "url": "https://www.anchorterminal.com/compare/aider-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-vibe-trading.json",
        "title": "Aider vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/aider-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-warp.json",
        "title": "Aider vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/aider-vs-warp"
      },
      {
        "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": [
      {
        "aider": 44,
        "by": 14,
        "edge": "letta",
        "key": "reliability",
        "letta": 58,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "aider": 56,
        "by": 14,
        "edge": "letta",
        "key": "schema",
        "letta": 70,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "aider": 65,
        "by": 2,
        "edge": "letta",
        "key": "ergonomics",
        "letta": 67,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "aider": 59,
        "by": 24,
        "edge": "aider",
        "key": "security",
        "letta": 35,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "aider": 60,
        "by": 0,
        "edge": "",
        "key": "payments",
        "letta": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "aider": 13,
        "by": 72,
        "edge": "letta",
        "key": "maintenance",
        "letta": 85,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "aider": 65,
        "by": 10,
        "edge": "aider",
        "key": "transparency",
        "letta": 55,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Letta scores 59.7 (C) on agent readiness against Aider's 49.1 (D), and leads in 4 of 7 scored categories. Aider leads on security \u0026 auth and transparency \u0026 trust. Both do agent harnesses.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "aider": "Analytics are opt-in and offered to 10 per cent of users, with a permanent opt-out and a local log. No release since 0.86.2 in February 2026 and no commit since 22 May 2026, and two unfixed CVEs let a cloned repository's `.aider.conf.yml` run shell commands without a prompt.",
      "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/aider-vs-letta",
    "json": "https://www.anchorterminal.com/compare/aider-vs-letta.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/aider-vs-letta.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/aider-vs-letta.min.md"
  },
  "markdown": "Letta scores 59.7 (C) on agent readiness against Aider's 49.1 (D), and leads in 4 of 7 scored categories. Aider leads on security \u0026 auth and transparency \u0026 trust. Both do agent harnesses.\n\n- Aider: grade D, 49.1/100, rank #1105 of 1510. Markdown https://www.anchorterminal.com/tools/aider.md · JSON https://www.anchorterminal.com/api/v1/tools/aider.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### Aider (D)\n\nGood for: A person pair-programming in a terminal who wants git-tracked edits and a small context footprint, with any model.\n\nAhead on:\n- Security \u0026 auth, 59 against 35\n- Transparency \u0026 trust, 65 against 55\n\nAlso in its favour:\n- No key needed to call it\n- Free to start without a card\n\nWatch for: No release since 0.86.2 in February 2026 and no commit since 22 May 2026\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- Reliability, 58 against 44\n- Schema \u0026 documentation, 70 against 56\n- Maintenance \u0026 community, 85 against 13\n\nAlso in its favour:\n- Runs on your own machine\n- No incidents deducted, where Aider loses 4 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### Maintenance \u0026 community: Letta +72\n\n- Aider (13): 0.86.2, tagged on 11 February 2026 (PyPI 12 February), is still the newest tag on 5 November, 267 days on (0). No release in the 90 days from 7 August (0). No commit on main since 2026-05-22 (5dc9490). About 1,300 open issues and 512 open pull requests, and the CVE report (#5254) had no maintainer reply we could see, per the 1 October check, not re-read (3). The PyPI package lags main, which declares Python 3.13 and 3.14 support that the release doesn't allow (5). CI ran on the last commits and dependencies are pinned, as of May (5). 0 + 0 + 3 + 5 + 5 = 13.\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### Security \u0026 auth: Aider +24\n\n- Aider (59): Harness reading of the framework checklist, used for all five harnesses in this batch. 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. Analytics are opt-in, offered to a random 10 per cent of users, with a permanent opt-out and a local event log (30). Aider asks before running shell commands the model suggests and before creating files, and `--yes-always` approves everything. Edits apply without asking but each lands in a git commit. A `.aider.conf.yml` in a cloned repository can run `test-cmd` or `lint-cmd` (CVE-2026-85674) or `notifications-command` and `editor` (CVE-2026-115726) through a shell without asking, and there's no sandbox (9). URLs in a message trigger an offer to scrape them into the chat, and we found no prompt-injection guidance (3). Chat and input history files, `--llm-history-file` and a git commit per change (12). No SECURITY.md in the repository and no advisories published by the project. The open CVE report had a reply only from a contributor on 1 October (5). 30 + 9 + 3 + 12 + 5 = 59.\n- Letta (35): Harness reading of the framework checklist, as for the other harnesses. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for injection posture, 15 for audit and 20 for the security programme. Letta Cloud is the default backend, so agent state and conversations go to Letta's servers, and telemetry is on by default (10 of 30). The default permission mode is `unrestricted`; `standard`, `acceptEdits` and `strict` are opt-in, and cloud sandboxes exist for remote work (4 of 20). No prompt-injection guidance found for fetched pages or channel messages (5 of 15). Conversation search and git history of memory give an operator a record of what the agent saw and changed (10 of 15). SECURITY.md routes reports to support@letta.com and scopes out the retired server; no security.txt, bounty or certification found (6 of 20). Total 35.\n\n### Reliability: Letta +14\n\n- Aider (44): Read as a local package. aider-chat on PyPI, but the latest release (0.86.2, tagged 11 February 2026) requires Python below 3.13, while main declares 3.10 to 3.14 (18). The Ubuntu test workflow runs pytest on Python 3.10 to 3.14 on every push to main, and a Windows workflow sits beside it. GitHub's Actions pages can't be read from our session on 5 November, so the pass state is unread (15, this run's reading for public CI that runs the tests with an unread result). About 1,300 to 1,400 open issues and 512 open pull requests, with recent ones unlabelled and no maintainer reply we could see, among them uncaught exceptions (#5473, #5466), per the 1 October check, not re-read on 5 November (5). HISTORY.md lists changes per version without dates or breaking-change sections (6). 0.86, pre-1.0, and classed 4 - Beta (0). 18 + 15 + 5 + 6 + 0 = 44.\n- Letta (58): Local-software lines, read for the harness. `@letta-ai/letta-code` on npm with Node.js 22.19 or newer, and PyPI wheels for glibc Linux, macOS 14 and Windows x64 with Python 3.9 or newer stated (20). ci.yml, nightly update smoke tests and Telegram live smoke tests exist, but GitHub's API answered with a rate limit, so run results were unread (15 of 25, unchecked). 332 open issues and pull requests, mostly pull requests; recent bug reports such as recall reading the wrong conversation have no reply yet (15 of 25). 398 tags at 0.34.x with release notes on GitHub, no changelog file, and breaking removals such as AgentFile announced in the README (8 of 15). Pre-1.0 (0). Total 58.\n\n### Schema \u0026 documentation: Letta +14\n\n- Aider (56): No machine-readable contract. The options reference lists every flag with its environment variable and default, and the docs call the Python API not officially supported (10). No llms.txt or Markdown versions of pages found in the site source (0). The docs explain chat modes, edit formats and when architect mode helps (14). Typed config through `.aider.conf.yml` and flags with defaults (10). Many usage examples and troubleshooting pages (12). A release history per version without dates (10).\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### Transparency \u0026 trust: Aider +10\n\n- Aider (65): Apache-2.0 (30). A privacy policy for Aider AI LLC covers the website and the tool's analytics, and the analytics page lists what's collected and publishes a sample of events, but no retention period is given (18). No deprecation policy or dated notices found (3). Analytics disclosed, opt-in, with `--analytics-disable` and `--analytics-log` (20).\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## Score by category\n\n| Category | Weight | Aider | Letta | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 44 | 58 | Letta +14 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 56 | 70 | Letta +14 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 67 | Letta +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 59 | 35 | Aider +24 |\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) | 13 | 85 | Letta +72 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 55 | Aider +10 |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **49.1 · D** | **59.7 · C** | |\n\n## Facts side by side\n\n| Fact | Aider | Letta |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Aider AI LLC | 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 | Apache-2.0 | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-02-12 | 2026-11-06 |\n| Terms last updated | no document linked | no date given |\n| Privacy policy last updated | no date given | 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 | 49k stars | 3.8k stars, 86k npm/wk, 2.2k PyPI/wk |\n| Agent reviews | 1/5 (2) | none |\n\n## How the scores have moved\n\n### Aider\n\n- +2.0 on 5 November 2026: new evidence, correction\n- -0.2 on 28 October 2026: new evidence\n- +0.4 on 27 October 2026: checklist\n\n### Letta\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Aider.** Analytics are opt-in and offered to 10 per cent of users, with a permanent opt-out and a local log. No release since 0.86.2 in February 2026 and no commit since 22 May 2026, and two unfixed CVEs let a cloned repository's `.aider.conf.yml` run shell commands without a prompt.\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### Aider\n\n1. Read `.aider.conf.yml` in any cloned repository before starting aider. Its `test-cmd`, `lint-cmd`, `notifications-command` and `editor` run without asking\n2. Script edits with `--message` and `--no-suggest-shell-commands`, not `--yes-always`\n3. Use Python 3.12 or earlier for the PyPI release\n4. Pass `--no-detect-urls` when the prompt holds links you don't want offered for scraping\n5. Check `git log` after a run. Each edit is its own commit\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, Aider or Letta?\n\nLetta scores 59.7 (C) on agent readiness against Aider's 49.1 (D), and leads in 4 of 7 scored categories. Aider leads on security \u0026 auth and transparency \u0026 trust.\n\n### Are Aider and Letta open source?\n\nYes. Aider is open source (Apache-2.0). Letta is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/aider-vs-letta.json, and with the fewest tokens: https://www.anchorterminal.com/compare/aider-vs-letta.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"aider\", \"b\": \"letta\"}`. From a terminal: `anchor compare aider letta`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/aider.json and https://www.anchorterminal.com/api/v1/tools/letta.json\n\n## Other comparisons with Aider or Letta\n\n- [Agent Zero vs Aider](https://www.anchorterminal.com/compare/agent-zero-vs-aider.md)\n- [Agent Zero vs Letta](https://www.anchorterminal.com/compare/agent-zero-vs-letta.md)\n- [Aider vs Amp](https://www.anchorterminal.com/compare/aider-vs-amp.md)\n- [Aider vs Antigravity CLI](https://www.anchorterminal.com/compare/aider-vs-antigravity-cli.md)\n- [Aider vs Auggie CLI](https://www.anchorterminal.com/compare/aider-vs-auggie.md)\n- [Aider vs AXLR](https://www.anchorterminal.com/compare/aider-vs-axlr.md)\n- [Aider vs Claude Code](https://www.anchorterminal.com/compare/aider-vs-claude-code.md)\n- [Aider vs Cline](https://www.anchorterminal.com/compare/aider-vs-cline.md)\n- [Aider vs Conductor](https://www.anchorterminal.com/compare/aider-vs-conductor.md)\n- [Aider vs Crush](https://www.anchorterminal.com/compare/aider-vs-crush.md)\n- [Aider vs Cursor CLI](https://www.anchorterminal.com/compare/aider-vs-cursor-cli.md)\n- [Aider vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/aider-vs-deepseek-harness.md)\n- [Aider vs dsh-superagent (DeepSeek)](https://www.anchorterminal.com/compare/aider-vs-deepseek-superagent.md)\n- [Aider vs Devin](https://www.anchorterminal.com/compare/aider-vs-devin.md)\n- [Aider vs Droid CLI](https://www.anchorterminal.com/compare/aider-vs-droid-cli.md)\n- [Aider vs Pi](https://www.anchorterminal.com/compare/aider-vs-earendil-pi.md)\n- [Aider vs Emdash](https://www.anchorterminal.com/compare/aider-vs-emdash.md)\n- [Aider vs Gemini CLI](https://www.anchorterminal.com/compare/aider-vs-gemini-cli.md)\n- [Aider vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/aider-vs-github-copilot-cli.md)\n- [Aider vs goose](https://www.anchorterminal.com/compare/aider-vs-goose.md)\n- [Aider vs Harness²](https://www.anchorterminal.com/compare/aider-vs-harness2.md)\n- [Aider vs HarnessRouter](https://www.anchorterminal.com/compare/aider-vs-harnessrouter.md)\n- [Aider vs Jules](https://www.anchorterminal.com/compare/aider-vs-jules.md)\n- [Aider vs Junie CLI](https://www.anchorterminal.com/compare/aider-vs-junie.md)\n- [Aider vs Kilo Code CLI](https://www.anchorterminal.com/compare/aider-vs-kilo-code-cli.md)\n- [Aider vs Kimi Code CLI](https://www.anchorterminal.com/compare/aider-vs-kimi-code-cli.md)\n- [Aider vs Kiro CLI](https://www.anchorterminal.com/compare/aider-vs-kiro-cli.md)\n- [Aider vs mini-swe-agent](https://www.anchorterminal.com/compare/aider-vs-mini-swe-agent.md)\n- [Aider vs MiniMax Code](https://www.anchorterminal.com/compare/aider-vs-minimax-code.md)\n- [Aider vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/aider-vs-mistral-vibe-cli.md)\n- [Aider vs Muse Code](https://www.anchorterminal.com/compare/aider-vs-muse-code.md)\n- [Aider vs OpenAI Agents API](https://www.anchorterminal.com/compare/aider-vs-openai-agents-api.md)\n- [Aider vs OpenAI Codex](https://www.anchorterminal.com/compare/aider-vs-openai-codex.md)\n- [Aider vs OpenCode](https://www.anchorterminal.com/compare/aider-vs-opencode.md)\n- [Aider vs OpenHands](https://www.anchorterminal.com/compare/aider-vs-openhands.md)\n- [Aider vs OpenMausBot](https://www.anchorterminal.com/compare/aider-vs-openmausbot.md)\n- [Aider vs Orca](https://www.anchorterminal.com/compare/aider-vs-orca.md)\n- [Aider vs Paseo](https://www.anchorterminal.com/compare/aider-vs-paseo.md)\n- [Aider vs Prime Agent](https://www.anchorterminal.com/compare/aider-vs-prime-agent.md)\n- [Aider vs Qoder CLI](https://www.anchorterminal.com/compare/aider-vs-qoder-cli.md)\n- [Aider vs Qwen Code](https://www.anchorterminal.com/compare/aider-vs-qwen-code.md)\n- [Aider vs Mirror CLI](https://www.anchorterminal.com/compare/aider-vs-reflection-mirror.md)\n- [Aider vs Rovo Dev CLI](https://www.anchorterminal.com/compare/aider-vs-rovo-dev-cli.md)\n- [Aider vs Sculptor](https://www.anchorterminal.com/compare/aider-vs-sculptor.md)\n- [Aider vs T3 Code](https://www.anchorterminal.com/compare/aider-vs-t3-code.md)\n- [Aider vs Traycer](https://www.anchorterminal.com/compare/aider-vs-traycer.md)\n- [Aider vs Unstoppable](https://www.anchorterminal.com/compare/aider-vs-unstoppable.md)\n- [Aider vs Verdent](https://www.anchorterminal.com/compare/aider-vs-verdent.md)\n- [Aider vs Vibe-Trading](https://www.anchorterminal.com/compare/aider-vs-vibe-trading.md)\n- [Aider vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/aider-vs-warp.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": "Aider vs Letta",
        "url": ""
      }
    ],
    "description": "Letta scores 59.7 (C) to Aider's 49.1 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Aider D 49.1",
      "Letta C 59.7",
      "scores"
    ],
    "h1": "Aider vs Letta",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/aider-vs-letta",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Aider vs Letta for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/aider-vs-letta"
  },
  "tokens": {
    "markdown": 5650,
    "slim": 2280
  },
  "version": 1
}
