Head to head · Agent harnesses · October 2026 research run
Letta vs Vibe-Trading
Letta scores 59.7 (C) on agent readiness against Vibe-Trading's 57.8 (C), and leads in 2 of 7 scored categories. Vibe-Trading 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.
Also in its favour
- No incidents deducted, where Vibe-Trading loses 9 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
Best for A person or a pipeline that wants a ready-made finance research agent over free market data, with backtests, swarm reviews and exports, run on their own machine or used as an MCP server by another agent.
Ahead on
- Reliability, 63 against 58
- Security & auth, 70 against 35
Also in its favour
- No key needed to call it
- Free to start without a card
Watch for
Three advisories published 2 October 2026 cover 0.1.0 to 0.1.6, two critical, and 0.1.16's email TLS and cross-site fixes got no advisory
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.
Security & auth Vibe-Trading +35
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.
Vibe-Trading 70
Harness reading used for nanobot and goose. 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 code was found in the source at v0.1.18, and the only call to PyPI is the owner-run vibe-trading update. The API answers only loopback clients without API_AUTH_KEY, Docker binds 127.0.0.1 and runs as user vibe, and the MCP HTTP transport binds 127.0.0.1 with a Host and Origin allow-list against DNS rebinding but no token. Broker keys go to the OS keyring; model keys sit in agent/.env in clear text. The docs carry no statement that nothing is collected (24). Live orders need a mandate that only the owner commits through the web UI or API, with hard caps and a kill switch, and an optional TAP mode waits for human approval of each Alpaca write. No order tool is exposed over MCP, and shell tools are off on the API and every MCP transport unless enabled. The local CLI runs bash and file writes without asking, and generated backtest code runs as a network-capable subprocess with a narrowed environment and no sandbox (13). Reader and search tools add warning-only security_warnings from regex rules, and external MCP tool hints are treated as untrusted in the source. The claude-cli provider's tool filters are described as convenience filters, not a boundary (9). A live-action ledger written append-only with a hash-chained copy, run cards with hashed execution records, tool traces and per-run token usage (13). SECURITY.md with private advisory reporting and a five-business-day acknowledgement. Three advisories were published on 2 October 2026 with CVE identifiers, five months after the 0.1.7 fix, while the email TLS and cross-site settings fixes in 0.1.16 got none. No security.txt and no bounty (11). 24+13+9+13+11 = 70.
Reliability Vibe-Trading +5
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.
Vibe-Trading 63
Read with the local-software lines, as for nanobot and Agent Zero, since the owner runs it. vibe-trading-ai installs from PyPI for Python 3.11 or newer, with classifiers for 3.11 to 3.13, and a Docker Compose setup ships in the repository (20). A CI workflow runs the test suite on pushes and pull requests to main, with hash-locked dependency checks on Linux, macOS and Windows, and the repository holds 961 test files. Whether the latest runs on main passed couldn't be read, because GitHub's Actions pages weren't reachable (15 of 25). The repository page showed 7 open issues and 57 open pull requests on 25 October 2026, per that check (GitHub's pages answer 403 on 2 November), against 771 commits in the 30 days to 2 November, and the 0.1.18 notes list two known issues already fixed on main. Issue threads weren't read (18 of 25). CHANGELOG.md says it follows Semantic Versioning, with dated entries from 0.1.8, a Known issues section and an upgrade note for the LangChain 1.x move in 0.1.10, but on 0.x breaking changes ride in minor versions and there is no Breaking section (10 of 15). Version 0.1.18 with the classifier Development Status 4, Beta (0).
Score by category
| Category | Weight this run | Letta | Vibe-Trading | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 58 | 63 | Vibe-Trading +5 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 70 | 72 | Vibe-Trading +2 |
| Agent ergonomics | 13%16.2 | 67 | 67 | even |
| Security & auth | 14%17.5 | 35 | 70 | Vibe-Trading +35 |
| 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 | 82 | Letta +3 |
| Transparency & trust | 7%8.8 | 55 | 53 | Letta +2 |
| Negative events | ≤15 | 0 | -9 | |
| Total | C 59.7/100 | C 57.8/100 |
Facts side by side
| Fact | Letta | Vibe-Trading |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Letta | HKUDS |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | stdio | stdio, Streamable HTTP, SSE (legacy) |
| Auth | OAuth or key | None |
| Pricing | Freemium | Free |
| x402 | no | no |
| Licence | Apache-2.0 | MIT |
| Tools exposed | none | 82 |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2026-11-06 | 2026-10-21 |
| 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 | 37k stars |
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.
Vibe-Trading
Vibe-Trading runs on the owner's machine under the MIT licence, ships near-daily fixes with a dated changelog, and keeps order tools out of its MCP server, with live orders gated by an owner-committed mandate. Three advisories, two critical, covered versions before 0.1.7, a 0.1.16 credential fix got no advisory, and the local CLI runs shell commands without asking.
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
Vibe-Trading
- Run 0.1.16 or later. Earlier versions carry three published advisories, including unauthenticated API access with an RCE chain, and send the email password without checking TLS certificates
- Set
API_AUTH_KEYbefore exposingvibe-trading servebeyond localhost, and send it asAuthorization: Bearer <key> - Set
VIBE_TRADING_ALLOWED_RUN_ROOTSin the MCP client'senvblock; a shellexportdoes not reach the spawned server - Use
vibe-trading run -p "..." --jsonfor headless runs, and add--enable-shell-toolstovibe-trading-mcponly when shell access is needed - Treat text from
read_url,web_searchandread_documentas untrusted;security_warningsflags patterns but does not remove them
Questions
Which is better for AI agents, Letta or Vibe-Trading?
Letta scores 59.7 (C) on agent readiness against Vibe-Trading's 57.8 (C), and leads in 2 of 7 scored categories. Vibe-Trading leads on reliability and security & auth.
Are Letta and Vibe-Trading open source?
Yes. Letta is open source (Apache-2.0). Vibe-Trading is open source (MIT).
Other comparisons with Letta or Vibe-Trading
- Agent Zero vs Letta
- Agent Zero vs Vibe-Trading
- Aider vs Letta
- Aider vs Vibe-Trading
- Amp vs Letta
- Amp vs Vibe-Trading
- Antigravity CLI vs Letta
- Antigravity CLI vs Vibe-Trading
- Auggie CLI vs Letta
- Auggie CLI vs Vibe-Trading
- AXLR vs Letta
- AXLR vs Vibe-Trading
- Claude Code vs Letta
- Claude Code vs Vibe-Trading
- Cline vs Letta
- Cline vs Vibe-Trading
- Conductor vs Letta
- Conductor vs Vibe-Trading
- Crush vs Letta
- Crush vs Vibe-Trading
- Cursor CLI vs Letta
- Cursor CLI vs Vibe-Trading
- DeepSeek Harness (dsh) vs Letta
- DeepSeek Harness (dsh) vs Vibe-Trading
- dsh-superagent (DeepSeek) vs Letta
- dsh-superagent (DeepSeek) vs Vibe-Trading
- Devin vs Letta
- Devin vs Vibe-Trading
- Droid CLI vs Letta
- Droid CLI vs Vibe-Trading
- Pi vs Letta
- Pi vs Vibe-Trading
- Emdash vs Letta
- Emdash vs Vibe-Trading
- Gemini CLI vs Letta
- Gemini CLI vs Vibe-Trading
- GitHub Copilot CLI vs Letta
- GitHub Copilot CLI vs Vibe-Trading
- goose vs Letta
- goose vs Vibe-Trading
- Harness² vs Letta
- Harness² vs Vibe-Trading
- HarnessRouter vs Letta
- HarnessRouter vs Vibe-Trading
- Jules vs Letta
- Jules vs Vibe-Trading
- Junie CLI vs Letta
- Junie CLI vs Vibe-Trading
- Kilo Code CLI vs Letta
- Kilo Code CLI vs Vibe-Trading
- Kimi Code CLI vs Letta
- Kimi Code CLI vs Vibe-Trading
- Kiro CLI vs Letta
- Kiro CLI vs Vibe-Trading
- 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 Warp (Warp Agent CLI and the Oz Agent API)
- mini-swe-agent vs Vibe-Trading
- MiniMax Code vs Vibe-Trading
- Mistral Vibe CLI vs Vibe-Trading
- Muse Code vs Vibe-Trading
- OpenAI Agents API vs Vibe-Trading
- OpenAI Codex vs Vibe-Trading
- OpenCode vs Vibe-Trading
- OpenHands vs Vibe-Trading
- Orca vs Vibe-Trading
- Paseo vs Vibe-Trading
- Prime Agent vs Vibe-Trading
- Qoder CLI vs Vibe-Trading
- Qwen Code vs Vibe-Trading
- Mirror CLI vs Vibe-Trading
- Rovo Dev CLI vs Vibe-Trading
- Sculptor vs Vibe-Trading
- T3 Code vs Vibe-Trading
- Traycer vs Vibe-Trading
- Verdent vs Vibe-Trading
- Vibe-Trading vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs Letta
- Clawboo vs Vibe-Trading
- CLI Manager vs Letta
- CLI Manager vs Vibe-Trading
- Harness vs Letta
- Harness vs Vibe-Trading
- Letta vs Paperclip
- Letta vs Parallax
- OpenMausBot vs Vibe-Trading
- Paperclip vs Vibe-Trading
- Parallax vs Vibe-Trading
- Unstoppable vs Vibe-Trading
Machine-readable
- This page as Markdown
/compare/letta-vs-vibe-trading.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/letta.json·/api/v1/tools/vibe-trading.json - From a terminal
anchor compare letta vibe-trading(the CLI) - Over MCP
compare_tools {"a": "letta", "b": "vibe-trading"}at/mcp, no key