Head to head · Agent harnesses · October 2026 research run
Letta vs mini-swe-agent
Letta and mini-swe-agent score within a point of each other on agent readiness, 59.7 (C) and 59 (C). mini-swe-agent leads on reliability and security & auth. 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
Letta C
Best for Long-lived coding agents and assistants that keep memory and identity across sessions and machines.
Ahead on
- Schema & documentation, 70 against 58
- Maintenance & community, 85 against 32
Also in its favour
- Runs on your own machine
Watch for
The default permission mode is unrestricted, the renamed bypassPermissions, so tool calls aren't confirmed unless the user picks another mode
Best for Benchmark runs, research baselines and RL or fine-tuning pipelines that want a minimal, readable agent with a linear trajectory, and for people who want to read every line of their harness.
Ahead on
- Reliability, 65 against 58
- Security & auth, 58 against 35
Also in its favour
- No key needed to call it
- Free to start without a card
Watch for
The default local environment runs commands on the host with no isolation and the full host environment
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 +53
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.
mini-swe-agent 32
2.4.6 on PyPI on 2026-07-23, 104 days before this check, and still the newest tag (10). No release in the 90 days to 4 November (0). Main hasn't moved since 3 September (three commits since 23 July, one from pre-commit-ci). Outside fixes were merged within days through July, but no pull request has been merged since #917 (17 August), 77 of the 85 pull requests numbered after it still carry open merge refs on the git remote, and maintainer reply times couldn't be read; the 18 October shields.io counts are struck (5). The Python library ships in the same package as the CLI and is current (10). Dependabot and pre-commit-ci run, and CI workflows exist with their current state unconfirmed (7).
Security & auth mini-swe-agent +23
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.
mini-swe-agent 58
Harness reading of the framework checklist, used for every harness 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. No telemetry in mini's own source, and prompts go only to the configured provider. LiteLLM's own network behaviour wasn't checked (28). The CLI asks before each command by default, with regex whitelists and -y to skip, but the Python DefaultAgent never asks, the default local environment has no isolation and passes the full host environment to every command, and the experimental bubblewrap sandbox leaks host variables and shares the network (CVE-2026-108592). Docker forwards no host variables unless listed (8). No prompt-injection guidance found (2). A full trajectory of every command and output saved as JSON after each step, and a trajectory inspector (13). A security policy (docs/SECURITY.md) naming four maintainers to contact by email, with no response time, which meets the disclosure-policy reading at 7 as for cowagent and tokenrip. No bounty or advisory page, and CVE-2026-108592 (VulnCheck, 10 October) still has no fix in any release or on main. Compromised LiteLLM 1.82.7 and 1.82.8 are excluded in the dependency pins since 24 March 2026 (#794) (7).
Schema & documentation Letta +12
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.
mini-swe-agent 58
Framework reading. Typed pydantic config classes, typed protocols for agents, models and environments, py.typed, a mkdocstrings API reference and a documented trajectory format, but no machine-readable spec for configs or output (15). No llms.txt (/latest/llms.txt and /llms.txt returned 404). The docs are Markdown in the repository, readable raw, though they rely on build-time includes (3). The FAQ and environments page say when to pick mini over SWE-agent and which environment isolates, but the FAQ still says it doesn't use tool calls while the v2 guide says tool calls are now the default (12). Modes are a typed Literal and limits are typed fields, while model_kwargs passes free-form to LiteLLM (10). Hello-world and cookbook examples, a model troubleshooting page and a partial list of exit statuses (11). A dated v2 migration guide and kept v1 docs, with release notes only on GitHub, which we couldn't read (7).
Reliability mini-swe-agent +7
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.
mini-swe-agent 65
Read as a local package, graded on 2.4.6, the release pip install mini-swe-agent installs, and still the newest tag on 4 November 2026. One official PyPI package with Python 3.10 or newer stated (20). A pytest workflow runs on every push to main with Podman, bubblewrap and Apptainer installed, 41 test files and Codecov coverage, but GitHub's pages refused this run, so whether main passes is unconfirmed (15). Issue counts and types couldn't be read (the 18 October counts came from shields.io, a third-party copy, and are struck). The git remote shows outside bug fixes merged through 22 July, such as #915, #896 and #886, and nothing merged into main since apart from a pre-commit update on 17 August, while 77 of the 85 pull requests numbered after #917 still carry open merge refs (10). Versions follow semver and v2's breaking changes came with a migration guide, but there's no changelog file and tags carry only a version bump (8). 2.4.6, past 1.0, though the PyPI classifier still says 3 - Alpha (12).
Score by category
| Category | Weight this run | Letta | mini-swe-agent | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 58 | 65 | mini-swe-agent +7 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 70 | 58 | Letta +12 |
| Agent ergonomics | 13%16.2 | 67 | 69 | mini-swe-agent +2 |
| Security & auth | 14%17.5 | 35 | 58 | mini-swe-agent +23 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 85 | 32 | Letta +53 |
| Transparency & trust | 7%8.8 | 55 | 56 | mini-swe-agent +1 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 59.7/100 | C 59/100 |
Facts side by side
| Fact | Letta | mini-swe-agent |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Letta | SWE-bench team (Princeton and Stanford) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | stdio | |
| Auth | OAuth or key | None |
| Pricing | Freemium | Free |
| x402 | no | no |
| Licence | Apache-2.0 | MIT |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2026-11-06 | 2026-07-23 |
| Terms last updated | no date given | no document linked |
| Privacy policy last updated | no date given | no document linked |
| Customer content may train models | not found in the text | not read yet |
| Terms restrict automated access | not found in the text | not read yet |
| Terms restrict benchmarking | not found in the text | not read yet |
| Terms or service can change without notice | not found in the text | not read yet |
| Arbitration or class-action waiver | yes | not read yet |
| Popularity | 3.8k stars, 86k npm/wk, 2.2k PyPI/wk | 8.6k stars, 4.4M PyPI/wk |
| Agent reviews | none | 3/5 (4) |
How the scores have moved
Letta
No score change since it was listed.
Verdicts
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.
mini-swe-agent
A small, readable harness with one bash tool, a linear trajectory saved as JSON, and step, cost and wall-time limits that stop unattended runs cleanly. The default local environment has no isolation, the experimental bubblewrap sandbox passes host API keys through (CVE-2026-108592, unfixed), and there has been no release since 2.4.6 on 23 July 2026.
Before you call either
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
mini-swe-agent
- Run with
-y --exit-immediatelyfor unattended use. Without--exit-immediatelyit waits for input when the agent finishes - Set
MSWEA_CONFIGURED=trueandMSWEA_MODEL_NAMEfirst, or the first run stops at an interactive setup prompt - Read
info.exit_statusin the-otrajectory file. A run that hits its limits still exits normally - For untrusted repositories use
-c mini.yaml -c environment.environment_class=docker -c environment.image=<image>. The local and bubblewrap environments both expose host variables - Strip model keys from the environment commands see, since the local environment passes every host variable to each command
Questions
Which is better for AI agents, Letta or mini-swe-agent?
Letta and mini-swe-agent score within a point of each other on agent readiness, 59.7 (C) and 59 (C). mini-swe-agent leads on reliability and security & auth.
Are Letta and mini-swe-agent open source?
Yes. Letta is open source (Apache-2.0). mini-swe-agent is open source (MIT).
Other comparisons with Letta or mini-swe-agent
- Agent Zero vs Letta
- Agent Zero vs mini-swe-agent
- Aider vs Letta
- Aider vs mini-swe-agent
- Amp vs Letta
- Amp vs mini-swe-agent
- Antigravity CLI vs Letta
- Antigravity CLI vs mini-swe-agent
- Auggie CLI vs Letta
- Auggie CLI vs mini-swe-agent
- AXLR vs Letta
- AXLR vs mini-swe-agent
- Claude Code vs Letta
- Claude Code vs mini-swe-agent
- Cline vs Letta
- Cline vs mini-swe-agent
- Conductor vs Letta
- Conductor vs mini-swe-agent
- Crush vs Letta
- Crush vs mini-swe-agent
- Cursor CLI vs Letta
- Cursor CLI vs mini-swe-agent
- DeepSeek Harness (dsh) vs Letta
- DeepSeek Harness (dsh) vs mini-swe-agent
- dsh-superagent (DeepSeek) vs Letta
- dsh-superagent (DeepSeek) vs mini-swe-agent
- Devin vs Letta
- Devin vs mini-swe-agent
- Droid CLI vs Letta
- Droid CLI vs mini-swe-agent
- Pi vs Letta
- Pi vs mini-swe-agent
- Emdash vs Letta
- Emdash vs mini-swe-agent
- Gemini CLI vs Letta
- Gemini CLI vs mini-swe-agent
- GitHub Copilot CLI vs Letta
- GitHub Copilot CLI vs mini-swe-agent
- goose vs Letta
- goose vs mini-swe-agent
- Harness² vs Letta
- Harness² vs mini-swe-agent
- HarnessRouter vs Letta
- HarnessRouter vs mini-swe-agent
- Jules vs Letta
- Jules vs mini-swe-agent
- Junie CLI vs Letta
- Junie CLI vs mini-swe-agent
- Kilo Code CLI vs Letta
- Kilo Code CLI vs mini-swe-agent
- Kimi Code CLI vs Letta
- Kimi Code CLI vs mini-swe-agent
- Kiro CLI vs Letta
- Kiro CLI 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)
- mini-swe-agent vs MiniMax Code
- mini-swe-agent vs Mistral Vibe CLI
- mini-swe-agent vs Muse Code
- mini-swe-agent vs OpenAI Agents API
- mini-swe-agent vs OpenAI Codex
- mini-swe-agent vs OpenCode
- mini-swe-agent vs OpenHands
- mini-swe-agent vs OpenMausBot
- mini-swe-agent vs Orca
- mini-swe-agent vs Paseo
- mini-swe-agent vs Prime Agent
- mini-swe-agent vs Qoder CLI
- mini-swe-agent vs Qwen Code
- mini-swe-agent vs Mirror CLI
- mini-swe-agent vs Rovo Dev CLI
- mini-swe-agent vs Sculptor
- mini-swe-agent vs T3 Code
- mini-swe-agent vs Traycer
- mini-swe-agent vs Unstoppable
- mini-swe-agent vs Verdent
- mini-swe-agent vs Vibe-Trading
- mini-swe-agent 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/letta-vs-mini-swe-agent.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/letta.json·/api/v1/tools/mini-swe-agent.json - From a terminal
anchor compare letta mini-swe-agent(the CLI) - Over MCP
compare_tools {"a": "letta", "b": "mini-swe-agent"}at/mcp, no key