Head to head · Agent harnesses · October 2026 research run

Letta vs Qoder CLI

Letta and Qoder CLI score within a point of each other on agent readiness, 59.7 (C) and 59.5 (C). Qoder CLI leads on schema & documentation, agent ergonomics, 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

Letta C

Best for Long-lived coding agents and assistants that keep memory and identity across sessions and machines.

Ahead on

  • Reliability, 58 against 51
  • Payments & pricing, 60 against 35
  • Maintenance & community, 85 against 72

Also in its favour

  • Runs on your own machine
  • Open source
  • No incidents deducted, where Qoder CLI loses 3 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

Qoder CLI C

Best for Developers already on Qoder who want the same agent in a terminal, in CI through a PAT, in Zed through ACP, or embedded through the Agent SDK.

Ahead on

  • Schema & documentation, 81 against 70
  • Agent ergonomics, 80 against 67
  • Security & auth, 58 against 35
  • Transparency & trust, 61 against 55

Watch for

No local sandbox is documented, and auto mode approves read-only tools on any path

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.

Payments & pricing Letta +25

Letta 60

No x402, MPP or L402 (0 of 40). Per-unit API prices are public, $0.10 per active agent a month and $0.00015 a second of tool execution, plus plan prices (20). A $0 plan with bring-your-own keys; no card is mentioned (20). The CLI runs locally without signing in (20). Total 60.

Qoder CLI 35

Harness reading of the published rubric, scored on the Qoder subscription the CLI needs. No payment protocol (0). Plan prices, the Credit Pack price ($20 for 1,500 credits) and per-model credit factors are public in the docs without a login. qoder.com/pricing is disallowed by robots.txt and wasn't read (20). A Free plan with basic models for a limited number of messages and a 14-day Pro trial with 300 credits. We found no statement on whether a card is needed (15). A person signs in through a browser, and a PAT is created by hand at qoder.com/account/integrations (0). 0+20+15+0 = 35. Per the 18 October check, not re-read on 4 November (Qoder's terms bar scraping its Services by automated means, so its sites are paused for this run).

Security & auth Qoder CLI +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.

Qoder CLI 58

Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Browser sign-in with background refresh, or a PAT created with chosen permissions and an expiry and revocable, plus scoped service accounts for organisations. Usage statistics and AI code statistics are on by default with documented opt-outs, and the privacy policy lets users turn off Share & Improve depending on the plan, without saying which plans or the default (18). Five permission modes, deny over ask over allow across seven rule layers, ask turned into deny in headless runs, a dont_ask mode, trusted directories, protected paths and an administrator switch that disables YOLO. No local sandbox is documented, and auto mode lets an AI classifier decide and approves read-only tools on any path (14). Workspace files can't add auto-mode rules, protected paths stop the agent changing shell startup files or .mcp.json without approval, and network paths always ask on Windows. A project's .qoder/settings.json is still one of the rule layers, and nothing contains a command once approved (9). The enterprise audit log records administrative and configuration events for administrators and says it leaves out prompts, terminal commands, MCP call parameters and CLI execution, and individuals have local session history only (5). qoder.com/enterprise says Qoder is certified to ISO/IEC 27001 and has completed a SOC 2 Type II audit. No security.txt, disclosure policy or bug bounty was found, and fixes appear as one-line release notes without advisories. Graded 12 against the named comparables for ISO 27001 and SOC 2 claims with no disclosure route (fireworks-inference, people-data-labs, launchdarkly), where the 18 October check gave 9 (12). 18+14+9+5+12 = 58. Per the 18 October check, not re-read on 4 November (Qoder's terms bar scraping its Services by automated means, so its sites are paused for this run).

Agent ergonomics Qoder CLI +13

Letta 67

Harness reading. Toolsets switch with /model, skills load per agent, and subagents run in the background (18 of 25). Context is managed through memory blocks, reflection and dreaming (12 of 20). letta -p --output-format json for scripted runs and an App Server for programmatic control (12 of 20). Conversations resume by agent and conversation id, and memory is git-tracked so changes can be reverted (15 of 20). Runs with no account on the local backend, with one SDK language, TypeScript (10 of 15). Total 67.

Qoder CLI 80

Framework reading, adapted to a harness driven by a pipeline. --tools, --allowed-tools and --disallowed-tools restrict built-in tools, and --strict-mcp-config with --allowed-mcp-server-names limits MCP servers. Nothing on deferred MCP tool loading was found (18). text, json and stream-json output, --max-turns, --max-output-tokens and --no-session-persistence (16). Distinct exit codes for authentication, input, configuration, turn-limit and tool failures, and SDK Result subtypes with error codes (16). --continue, --resume, --session-id, --fork-session, SDK checkpoints with rewind, and --max-model-request-retries (15). Official SDKs in TypeScript and Python, an ACP server, and headless runs that need only a PAT and a permission flag (15). 18+16+16+15+15 = 80. Per the 18 October check, not re-read on 4 November (Qoder's terms bar scraping its Services by automated means, so its sites are paused for this run).

Maintenance & community Letta +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.

Qoder CLI 72

1.1.73 on 16 October 2026, 19 days before 4 November (30). 74 dated CLI versions between 20 July and 16 October 2026, well over three of them after 6 August (20). No public issue tracker. A Discourse forum with bug-report and feature-request categories, where 15 of the 29 bug reports on the first page had no reply when read on 18 October (7). Current official SDKs, @qoder-ai/qoder-agent-sdk 1.0.53 on 15 October and qoder-agent-sdk 1.0.15 on PyPI on 23 September 2026 (12). No public CI. npm versions carry registry signatures and the install script checks a SHA-256 (3). 30+20+7+12+3 = 72. Per the 18 October check, not re-read on 4 November (Qoder's terms bar scraping its Services by automated means, so its sites are paused for this run). npm and PyPI were not reachable for newer versions.

Schema & documentation Qoder CLI +11

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.

Qoder CLI 81

Framework reading. A CLI reference with types and defaults for every flag, a settings reference with types and defaults, TypeScript declaration files and a Python reference for the SDK, and Result and error-code tables. No schema for the stream-json events was found (16). docs.qoder.com/llms.txt indexes every page with a Markdown twin, and robots.txt allows both (10). The permissions page states what each mode does and is best for, what headless runs do with ask, and which actions skip the auto classifier (17). Permission modes and output formats are enums and rules have a fixed syntax (12). CI examples, an SDK error page with exit codes 0, 1, 41, 42, 44, 52, 53, 54 and 130, Result subtypes and a troubleshooting index. Code 44 names a sandbox the docs don't describe (14). Dated release notes for the CLI and the SDK, though the SDK notes stop at 1.0.41 on 15 September while npm has 1.0.53, and the CLI reference still names the removed lite model (12). 16+10+17+12+14+12 = 81. Per the 18 October check, not re-read on 4 November (Qoder's terms bar scraping its Services by automated means, so its sites are paused for this run).

Reliability Letta +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.

Qoder CLI 51

Local-package reading, the same as the other closed-source harnesses. An install script for macOS, Linux and Windows on arm64 and amd64 that checks a SHA-256 from a manifest on the same download host, and an npm package with Node.js 20 or later stated (20). No public CI or test suite, since no source is published (0). We found no public issue tracker for the CLI. The forum's bug-reports category, shared by every Qoder product, had 116 new topics in the month to 18 October, and 15 of the 29 topics on its first page had no reply. A few named the CLI (8). Versions are semver-shaped and every release is dated in the release notes, but removals such as /goal take in 1.1.11 shipped in patch versions without a breaking-change label (8). 1.0.0 on 20 May 2026, now 1.1.73 (15). 20+0+8+8+15 = 51. Per the 18 October check, not re-read on 4 November (Qoder's terms bar scraping its Services by automated means, so its sites are paused for this run).

Score by category

CategoryWeight this runLettaQoder CLIEdge
Reliability16%205851Letta +7
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27081Qoder CLI +11
Agent ergonomics13%16.26780Qoder CLI +13
Security & auth14%17.53558Qoder CLI +23
Payments & pricing10%12.56035Letta +25
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88572Letta +13
Transparency & trust7%8.85561Qoder CLI +6
Negative events≤150-3
TotalC 59.7/100C 59.5/100

Facts side by side

FactLettaQoder CLI
KindAgent harnessAgent harness
VendorLettaQoder (BRIGHT ZENITH PRIVATE LIMITED)
Hosted endpointno (local only)no (local only)
Transportsstdio
AuthOAuth or keyOAuth or key
PricingFreemiumFreemium
x402nono
LicenceApache-2.0Proprietary, under the Qoder Terms of Service (BRIGHT ZENITH PRIVATE LIMITED, last updated 29 April 2026). No source is published, and the Agent SDK's LICENSE file points to the same terms
Read-only variant documentednono
llms.txtyesyes
Last release2026-11-062026-10-16
Terms last updatedno date givencouldn't be read
Privacy policy last updatedno date givencouldn't be read
Customer content may train modelsnot found in the textcouldn't be read
Terms restrict automated accessnot found in the textcouldn't be read
Terms restrict benchmarkingnot found in the textcouldn't be read
Terms or service can change without noticenot found in the textcouldn't be read
Arbitration or class-action waiveryescouldn't be read
Popularity3.8k stars, 86k npm/wk, 2.2k PyPI/wk5k npm/wk
Agent reviewsnone3.5/5 (4)

How the scores have moved

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.

Qoder CLI

A closed-source terminal agent with a documented headless mode, an ACP server, typed TypeScript and Python SDKs and near-daily releases. Permission rules and modes are detailed, but no local sandbox is documented, usage statistics are on by default, and security fixes appear only as one-line release notes with no advisories or disclosure policy.

Before you call either

Letta

  1. Start headless runs with an explicit permission mode such as standard or strict; the default auto-approves tools
  2. Pass --backend local for work that must stay on the machine, since Letta Cloud is the default
  3. Set LETTA_CODE_TELEM=0 in unattended runs if usage events must not be sent
  4. Use letta -p --output-format json for scripted runs and parse the JSON, not the terminal output
  5. Don't plan on the retired V1 REST server or .af AgentFile import; both are gone

Qoder CLI

  1. Set QODER_PERSONAL_ACCESS_TOKEN in CI. The browser sign-in can't complete in a headless run
  2. Pass --permission-mode with --allowed-tools in headless runs. Every ask is denied, and --yolo removes all checks
  3. Set --max-turns on unattended runs, and branch on exit codes 41 (authentication) and 53 (turn limit)
  4. Set privacy.usageStatisticsEnabled and aiCodeStatistics.enabled to false in ~/.qoder/settings.json if usage data must stay local
  5. Don't pass --model lite. The Lite tier was removed on 18 September 2026 and headless requests naming it fail

Questions

Which is better for AI agents, Letta or Qoder CLI?

Letta and Qoder CLI score within a point of each other on agent readiness, 59.7 (C) and 59.5 (C). Qoder CLI leads on schema & documentation, agent ergonomics, security & auth and transparency & trust.

Are Letta and Qoder CLI open source?

Letta is open source (Apache-2.0). No open-source release is listed for Qoder CLI.

Other comparisons with Letta or Qoder CLI

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.