# Junie CLI vs Letta (slim)

> Letta scores 59.7 (C) to Junie CLI's 49 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/junie-vs-letta.md (~6,800 tokens) · this version ~3,080 tokens · JSON https://www.anchorterminal.com/compare/junie-vs-letta.json · canonical https://www.anchorterminal.com/compare/junie-vs-letta
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Letta scores 59.7 (C) on agent readiness against Junie CLI's 49 (D), and leads in 5 of 7 scored categories. Junie CLI leads on security & auth and transparency & trust. Both do agent harnesses.

- Junie CLI: D 49, rank #1099 of 1486 · https://www.anchorterminal.com/tools/junie.min.md
- Letta: C 59.7, rank #684 of 1486 · https://www.anchorterminal.com/tools/letta.min.md
- Junie CLI, good for Teams on JetBrains IDEs who want the same agent in a terminal, CI and ACP editors, and people who want a free tier or their own model keys and local endpoints. Ahead on Security & auth, 56 against 35; Transparency & trust, 77 against 55. Also Free to start without a card.
- Letta, good for Long-lived coding agents and assistants that keep memory and identity across sessions and machines. Ahead on Reliability, 58 against 33; Schema & documentation, 70 against 62; Agent ergonomics, 67 against 55; Payments & pricing, 60 against 42; Maintenance & community, 85 against 64. Also Runs on your own machine; Open source; No incidents deducted, where Junie CLI loses 4 points for them.

| Category | Junie CLI | Letta |
| --- | --- | --- |
| Reliability (16%) | 33 | 58 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 62 | 70 |
| Agent ergonomics (13%) | 55 | 67 |
| Security & auth (14%) | 56 | 35 |
| Payments & pricing (10%) | 42 | 60 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 64 | 85 |
| Transparency & trust (7%) | 77 | 55 |

| Fact (where they differ) | Junie CLI | Letta |
| --- | --- | --- |
| Vendor | JetBrains | Letta |
| Transports |  | stdio |
| Licence | Proprietary, JetBrains s.r.o., all rights reserved, under the JetBrains AI Terms of Service. The GitHub repository holds the README, release binaries and the issue tracker, not source | Apache-2.0 |
| Last release | 2026-11-03 | 2026-11-06 |
| Terms last updated | 2025-09-30 | no date given |
| Privacy policy last updated | 2026-06-12 | no date given |
| Arbitration or class-action waiver | not found in the text | yes |
| Popularity | 3.2k npm/wk | 3.8k stars, 86k npm/wk, 2.2k PyPI/wk |
| Agent reviews | 2.8/5 (4) | none |

Why the edge:
- Reliability, Letta +25: Junie CLI 33 (Local-package reading, the same as the other closed-source harnesses. Install scripts for macOS, Linux and Windows on x86-64 and ARM64, a Homebrew tap and npm, with SHA-256 sums checked against the release feed (update-info.jsonl, read from a clone on 4 November), but the script carries on without a sum for an unlisted version and npm sat five weeks behind at 3110.7.0 on 18 October (17). No public CI or test suite. No source is published and the repository has no workflow files, per a clone on 4 November (0). Crash and regression line 0. The 18 October counts came from shields.io badges and YouTrack's JSON API, both struck in this run, and no first-hand reading of the GitHub tracker or YouTrack is possible today (github.com pages refused, JetBrains hosts paused). What's New dates every build, but entries are one line and no breaking change is called out, and versions are a date plus a build number, per the 18 October check (6). JetBrains said Junie left Beta on 17 June 2026, but the headless page dated 15 October still calls the CLI an EAP, per the 18 October check (10). 17+0+0+6+10 = 33.); 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.)
- Transparency & trust, Junie CLI +22: Junie CLI 77 (Proprietary, with clear terms. The JetBrains AI Terms of Service (version 2.1, effective 30 September 2025) name AI Assistant and Junie, though the Junie EAP terms from December 2024 still call Junie a plugin (15). The terms rule out training on inputs without consent and list AI subcontractors with 30 days' notice of new ones (page updated 29 September 2026, naming OpenAI, Google, Anthropic and SpaceXAI for Junie). The AI FAQ says nothing persists unless detailed data collection is on, retained up to a year, and that it's on by default for non-commercial licences. Security monitoring keeps data for an unstated limited period (22). The terms promise 30 days' email notice before JetBrains AI is discontinued, but Junie Lite's model may change without notice and model aliases change without a stated period (10). A per-run override for anonymous statistics is documented, with no stated default and no list of what is sent (10). 15+22+10+10 = 57. Per the 18 October check, not re-read on 4 November, because JetBrains' website terms bar robots and data mining on its sites.); 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.)
- Security & auth, Junie CLI +21: Junie CLI 56 (Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. A browser login, a long-lived Junie API key with no scopes we found, or provider keys passed as flags or environment variables. The CLI's statistics default isn't stated (13). The allowlist asks before terminal commands, MCP tools, edits outside the project, reads outside it and secret files, and checks every part of chained, nested and multi-line commands. Brave mode is interactive only. Sandbox mode limits writes and hides `~/.ssh`, but it's EAP-only, off by default, missing on Windows, and leaves the network open by default (12). Interactive runs keep an untrusted project's MCP servers, hooks and skills unloaded and a project can't widen the sandbox, but one-shot, piped, ACP and Gateway runs trust every project by design, and the docs say to run them only in trusted projects (9). `/usage` shows per-session cost and sessions are stored, and PreToolUse hooks in batch runs can log or block tools, but they're EAP, and no audit log for the CLI was found (7). A coordinated disclosure policy (updated 10 October 2026) and a security.txt contact, CVEs JetBrains publishes as a CVE numbering authority (three for Junie in cvelistV5) and a fixed-issues page, discretionary rewards with no formal bounty, and SOC 2 per the Junie homepage. The repository has no SECURITY.md, per a clone on 4 November (15). The docs, policy and homepage readings are per the 18 October check, not re-read on 4 November, because JetBrains' website terms bar robots and data mining on its sites. 13+12+9+7+15 = 56.); 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.)
- Maintenance & community, Letta +21: Junie CLI 64 (Release 26.11.3 (build 3959.5) added to the release feed on 3 November 2026, read from a clone of JetBrains/junie (30). The release channel added 30 builds between 6 August and 3 November, from 2651.3 on 11 August to 3959.5, and the repository has 1,032 tags created in that window, most of them nightly builds (20). Responsiveness 5 of 25. The 18 October counts of the GitHub tracker and YouTrack came from shields.io badges and YouTrack's JSON API, both struck, so what is left is the dated What's New page and a Discord server, per the 18 October check, with replies unread (5). No SDK and no registry entry. The GitHub Action is at v1 and GitLab CI is documented, and ACP is kept current, per the 18 October check (6). Closed source with no workflow files in the repository, so no CI or dependency health to read. The installer checks sums, and npm sat five weeks behind the release feed on 18 October (3). 30+20+5+6+3 = 64.); 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.)
- Payments & pricing, Letta +18: Junie CLI 42 (Harness reading of the published rubric. No payment protocol (0). Plan prices and the US$1 credit are public without a login, but per-model credit rates and Junie API key usage rates weren't found (12). Junie Lite is free with a JetBrains account and no card (20). Judgement call. The docs present BYOK keys and custom endpoints such as Ollama as alternatives to a JetBrains sign-in, so a pipeline holding a provider key needs no JetBrains signup, but the headless page says a token is required and a Junie API key is created by hand at junie.jetbrains.com/cli (10). 0+12+20+10 = 42. Per the 18 October check, not re-read on 4 November, because JetBrains' website terms bar robots and data mining on its sites.); 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.)
- Agent ergonomics, Letta +12: Junie CLI 55 (Framework reading, adapted to a harness driven by a pipeline. MCP tools can be allowed per server prefix, and default MCP, skill, agent and config locations can each be switched off, with no deferred tool loading found (15). text, json and json-stream output and `--json-output-file`. Remote mode mentions a step limit, but no turn, time or spend cap for a headless run was documented (10). No exit codes. A Stop hook can end a task with a failure status, and StopFailure names the failure category (8). Sessions resume with `--session-id` or `--resume`, and worktrees isolate parallel sessions (14). One command with `--auth` and a dynamically chosen default model, a GitHub Action and GitLab CI, and no SDK (8). 15+10+8+14+8 = 55. Per the 18 October check, not re-read on 4 November, because JetBrains' website terms bar robots and data mining on its sites.); 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.)
