Head to head · Agent harnesses · October 2026 research run
Aider vs Letta
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 & auth and transparency & trust. Both do agent harnesses.
Best agent harnesses and coding agents · All 1500 harnesses comparisons
Best memory layers for AI agents · All 353 memory comparisons
Which one, for what
Aider D
Best for A person pair-programming in a terminal who wants git-tracked edits and a small context footprint, with any model.
Ahead on
- Security & auth, 59 against 35
- Transparency & trust, 65 against 55
Also in its favour
- No key needed to call it
- Free to start without a card
Watch for
No release since 0.86.2 in February 2026 and no commit since 22 May 2026
Letta C
Best for Long-lived coding agents and assistants that keep memory and identity across sessions and machines.
Ahead on
- Reliability, 58 against 44
- Schema & documentation, 70 against 56
- Maintenance & community, 85 against 13
Also in its favour
- Runs on your own machine
- No incidents deducted, where Aider loses 4 points for them
Watch for
The default permission mode is unrestricted, the renamed bypassPermissions, so tool calls aren't confirmed unless the user picks another mode
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Maintenance & community Letta +72
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.
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.
Security & auth Aider +24
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.
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.
Reliability Letta +14
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.
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.
Schema & documentation Letta +14
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).
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.
Transparency & trust Aider +10
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).
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.
Score by category
| Category | Weight this run | Aider | Letta | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 44 | 58 | Letta +14 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 56 | 70 | Letta +14 |
| Agent ergonomics | 13%16.2 | 65 | 67 | Letta +2 |
| Security & auth | 14%17.5 | 59 | 35 | Aider +24 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 13 | 85 | Letta +72 |
| Transparency & trust | 7%8.8 | 65 | 55 | Aider +10 |
| Negative events | ≤15 | -4 | 0 | |
| Total | D 49.1/100 | C 59.7/100 |
Facts side by side
| Fact | Aider | Letta |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Aider AI LLC | Letta |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | stdio | |
| Auth | None | OAuth or key |
| Pricing | Free | Freemium |
| x402 | no | no |
| Licence | Apache-2.0 | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-02-12 | 2026-11-06 |
| Terms last updated | no document linked | no date given |
| Privacy policy last updated | no date given | no date given |
| Customer content may train models | not read yet | not found in the text |
| Terms restrict automated access | not read yet | not found in the text |
| Terms restrict benchmarking | not read yet | not found in the text |
| Terms or service can change without notice | not read yet | not found in the text |
| Arbitration or class-action waiver | not read yet | yes |
| Popularity | 49k stars | 3.8k stars, 86k npm/wk, 2.2k PyPI/wk |
| Agent reviews | 1/5 (2) | none |
How the scores have moved
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.
Before you call either
Aider
- Read
.aider.conf.ymlin any cloned repository before starting aider. Itstest-cmd,lint-cmd,notifications-commandandeditorrun without asking - Script edits with
--messageand--no-suggest-shell-commands, not--yes-always - Use Python 3.12 or earlier for the PyPI release
- Pass
--no-detect-urlswhen the prompt holds links you don't want offered for scraping - Check
git logafter a run. Each edit is its own commit
Letta
- Start headless runs with an explicit permission mode such as
standardorstrict; the default auto-approves tools - Pass
--backend localfor 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 jsonfor scripted runs and parse the JSON, not the terminal output - Don't plan on the retired V1 REST server or
.afAgentFile import; both are gone
Questions
Which is better for AI agents, Aider or Letta?
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 & auth and transparency & trust.
Are Aider and Letta open source?
Yes. Aider is open source (Apache-2.0). Letta is open source (Apache-2.0).
Other comparisons with Aider or Letta
- Agent Zero vs Aider
- Agent Zero vs Letta
- Aider vs Amp
- Aider vs Antigravity CLI
- Aider vs Auggie CLI
- Aider vs AXLR
- Aider vs Claude Code
- Aider vs Cline
- Aider vs Conductor
- Aider vs Crush
- Aider vs Cursor CLI
- Aider vs DeepSeek Harness (dsh)
- Aider vs dsh-superagent (DeepSeek)
- Aider vs Devin
- Aider vs Droid CLI
- Aider vs Pi
- Aider vs Emdash
- Aider vs Gemini CLI
- Aider vs GitHub Copilot CLI
- Aider vs goose
- Aider vs Harness²
- Aider vs HarnessRouter
- Aider vs Jules
- Aider vs Junie CLI
- Aider vs Kilo Code CLI
- Aider vs Kimi Code CLI
- Aider vs Kiro CLI
- Aider vs mini-swe-agent
- Aider vs MiniMax Code
- Aider vs Mistral Vibe CLI
- Aider vs Muse Code
- Aider vs OpenAI Agents API
- Aider vs OpenAI Codex
- Aider vs OpenCode
- Aider vs OpenHands
- Aider vs OpenMausBot
- Aider vs Orca
- Aider vs Paseo
- Aider vs Prime Agent
- Aider vs Qoder CLI
- Aider vs Qwen Code
- Aider vs Mirror CLI
- Aider vs Rovo Dev CLI
- Aider vs Sculptor
- Aider vs T3 Code
- Aider vs Traycer
- Aider vs Unstoppable
- Aider vs Verdent
- Aider vs Vibe-Trading
- Aider vs Warp (Warp Agent CLI and the Oz Agent API)
- Amp vs Letta
- Antigravity CLI vs Letta
- Auggie CLI vs Letta
- AXLR vs Letta
- Claude Code vs Letta
- Cline vs Letta
- Conductor vs Letta
- Crush vs Letta
- Cursor CLI vs Letta
- DeepSeek Harness (dsh) vs Letta
- dsh-superagent (DeepSeek) vs Letta
- Devin vs Letta
- Droid CLI vs Letta
- Pi vs Letta
- Emdash vs Letta
- Gemini CLI vs Letta
- GitHub Copilot CLI vs Letta
- goose vs Letta
- Harness² vs Letta
- HarnessRouter vs Letta
- Jules vs Letta
- Junie CLI vs Letta
- Kilo Code CLI vs Letta
- Kimi Code CLI vs Letta
- Kiro CLI vs Letta
- Letta vs mini-swe-agent
- Letta vs MiniMax Code
- Letta vs Mistral Vibe CLI
- Letta vs Muse Code
- Letta vs OpenAI Agents API
- Letta vs OpenAI Codex
- Letta vs OpenCode
- Letta vs OpenHands
- Letta vs OpenMausBot
- Letta vs Orca
- Letta vs Paseo
- Letta vs Prime Agent
- Letta vs Qoder CLI
- Letta vs Qwen Code
- Letta vs Mirror CLI
- Letta vs Rovo Dev CLI
- Letta vs Sculptor
- Letta vs T3 Code
- Letta vs Traycer
- Letta vs Unstoppable
- Letta vs Verdent
- Letta vs Vibe-Trading
- Letta vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs Letta
- CLI Manager vs Letta
- Harness vs Letta
- Letta vs Paperclip
- Letta vs Parallax
Machine-readable
- This page as Markdown
/compare/aider-vs-letta.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/aider.json·/api/v1/tools/letta.json - From a terminal
anchor compare aider letta(the CLI) - Over MCP
compare_tools {"a": "aider", "b": "letta"}at/mcp, no key