{
  "data": {
    "a": {
      "slug": "letta",
      "name": "Letta",
      "vendor": "Letta",
      "vendorUrl": "https://www.letta.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Letta, from the MemGPT team, is an open-source agent harness (formerly Letta Code) for stateful agents that keep memory blocks, skills and conversations across sessions, used from a CLI, chat.letta.com, messaging channels or the Agent SDK, with Letta Cloud.",
      "url": "https://www.anchorterminal.com/tools/letta",
      "markdownUrl": "https://www.anchorterminal.com/tools/letta.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/letta.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/letta.json",
      "dns": "letta.grade.anchorterminal.com",
      "repo": "https://github.com/letta-ai/letta-code",
      "license": "Apache-2.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@letta-ai/letta-code"
        },
        {
          "registry": "pypi",
          "name": "letta"
        }
      ],
      "auth": "mixed",
      "authNotes": "Local use needs only the user's own model keys or coding-plan logins through `/connect`. Signing in with Letta (`/login`, OAuth in the browser) stores agents in Letta Cloud and enables remote computers and secrets. Developer plans use Letta API keys.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with bring-your-own keys and limited agents and storage. Pro $20 a month with Letta Auto quotas and up to 20 agents. API plan $20 a month plus $0.10 per active agent a month and $0.00015 a second of tool execution, with LLM usage at token cost.",
      "priceSummary": "$20 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the letta-code source, docs.letta.com's llms.txt or the pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 3793,
        "npmWeekly": 85863,
        "pypiWeekly": 2225,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.letta.com",
      "llmsTxt": "https://docs.letta.com/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent",
        "memory.store",
        "memory.search"
      ],
      "tags": [
        "open-source",
        "local",
        "hosted",
        "freemium",
        "apache-2.0",
        "typescript",
        "cli",
        "headless",
        "telemetry",
        "llms-txt",
        "memory"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.7,
        "grade": "C",
        "agentReady": false,
        "rank": 687,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 18,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 85,
          "payments": 60,
          "reliability": 58,
          "schema": 70,
          "security": 35,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Long-lived coding agents and assistants that keep memory and identity across sessions and machines.",
        "strengths": [
          "Apache-2.0 harness on npm and PyPI with 0.34.42 released on 6 November 2026, and releases most days",
          "Memory blocks and MemFS keep an agent's context in git, with optional sync to the user's own repository",
          "Headless runs with `-p` and `--output-format json`, plus a TypeScript Agent SDK and a self-hosted App Server",
          "Public prices, a $0 plan with bring-your-own keys, and an API plan at $20 a month plus $0.10 per active agent",
          "Runs locally without signing in, with `letta backend local` or `--backend local`"
        ],
        "weaknesses": [
          "The default permission mode is `unrestricted`, the renamed `bypassPermissions`, so tool calls aren't confirmed unless the user picks another mode",
          "Letta Cloud is the default backend, so agent memory and conversations go to Letta's servers unless the user chooses local",
          "Usage telemetry is on by default, with the LETTA_CODE_TELEM=0 opt-out found only in the source",
          "The Letta V1 Python API server is retired and unsupported, and the letta-ai/letta repository is now a landing page",
          "The privacy policy names no legal entity or date and says hosted message data may train future models"
        ],
        "agentNotes": [
          "Start headless runs with an explicit permission mode such as `standard` or `strict`; the default auto-approves tools",
          "Pass `--backend local` for 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 json` for scripted runs and parse the JSON, not the terminal output",
          "Don't plan on the retired V1 REST server or `.af` AgentFile import; both are gone"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.7
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 85,
          "payments": 60,
          "reliability": 58,
          "schema": 70,
          "security": 35,
          "transparency": 55
        },
        "provenanceScore": 54,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @letta-ai/letta-code",
        "headless": {
          "local": "letta --backend local",
          "run": "letta -p --output-format json \"\u003ctask\u003e\"",
          "server": "letta server"
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/letta"
      },
      "alsoIn": [
        "agent-memory"
      ],
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 20,
          "note": "Letta Auto quotas, up to 20 agents"
        },
        {
          "item": "API plan active agent",
          "unit": "month",
          "usd": 0.1,
          "note": "Plus $20 a month base and $0.00015 a second of tool execution"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "letta.com",
        "domainRegistered": "1997-10-01",
        "endpointOnVendorDomain": null,
        "terms": "https://www.letta.com/terms-of-service",
        "privacy": "https://www.letta.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/letta-ai/letta-code/releases",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The privacy policy shows no last-updated date and names no legal entity, only Letta. It says hosted message data may be used to train new models and that basic telemetry can be turned off in settings when supported.",
          "www.letta.com and docs.letta.com robots.txt allow all crawlers.",
          "RDAP gives letta.com a registration date of 1 October 1997, which predates the company, so the domain was bought later.",
          "/.well-known/security.txt returns 404. SECURITY.md in letta-ai/letta asks for reports to support@letta.com.",
          "The terms URL is the conventional path and was not read; the policy reader checks it at landing."
        ],
        "score": 54
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/letta.json",
      "live": {
        "slug": "letta",
        "versions": [
          {
            "registry": "github",
            "name": "letta-ai/letta-code",
            "version": "v0.34.43",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:39:39.434291816Z"
          },
          {
            "registry": "npm",
            "name": "@letta-ai/letta-code",
            "version": "0.34.43",
            "seenAt": "2026-11-06T23:39:38.413416142Z"
          },
          {
            "registry": "pypi",
            "name": "letta",
            "version": "0.34.12",
            "released": "2026-10-12",
            "seenAt": "2026-11-06T23:39:39.241816797Z"
          }
        ],
        "githubStars": 3794,
        "npmWeekly": 85863,
        "pypiWeekly": 2225,
        "securityTxt": {
          "url": "https://letta.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:02.768002207Z"
        },
        "llmsTxt": {
          "url": "https://docs.letta.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:52.28674296Z"
        },
        "pages": [
          {
            "url": "https://www.letta.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:46.549817082Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "947a68f3e3a0"
          },
          {
            "url": "https://www.letta.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:48.740250784Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "63f31d6ebfb8"
          }
        ],
        "updatedAt": "2026-11-07T16:01:02.768002207Z"
      }
    },
    "answer": "Letta scores 59.7 (C) on agent readiness against Mistral Vibe CLI's 58.4 (C), and leads in 1 of 7 scored categories. Mistral Vibe CLI leads on reliability, schema \u0026 documentation, agent ergonomics, security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "mistral-vibe-cli",
      "name": "Mistral Vibe CLI",
      "vendor": "Mistral AI",
      "vendorUrl": "https://docs.mistral.ai/vibe/code/cli/install-setup",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Mistral AI's open-source terminal coding agent. It runs Mistral's hosted models or any OpenAI-compatible endpoint, headless with `vibe -p` and in editors through `vibe-acp`. This listing covers the CLI, not Mistral's Vibe chat app.",
      "url": "https://www.anchorterminal.com/tools/mistral-vibe-cli",
      "markdownUrl": "https://www.anchorterminal.com/tools/mistral-vibe-cli.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mistral-vibe-cli.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mistral-vibe-cli.json",
      "dns": "mistral-vibe-cli.grade.anchorterminal.com",
      "repo": "https://github.com/mistralai/mistral-vibe",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "mistral-vibe"
        }
      ],
      "auth": "mixed",
      "authNotes": "Browser sign-in with a Mistral account, or a Mistral API key in `MISTRAL_API_KEY` or `~/.vibe/.env`, created under Code, Vibe CLI in the Mistral console. The same key works on the Free plan, a paid plan or pay-as-you-go. A local OpenAI-compatible server needs no Mistral account. MCP servers take static headers or OAuth.",
      "pricing": "freemium",
      "pricingNotes": "The CLI is free under Apache-2.0. Hosted models come with a Mistral plan or an API key. Free has limited coding sessions, Pro is $14.99 a month and Team $24.99 a user a month, Enterprise by quote, with pay-as-you-go at API rates past a plan's limit. The default model, Mistral Medium 3.5, is $1.5 per million input tokens and $7.5 per million output tokens on the API. A local model costs nothing (checked 2026-10-18).",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the CLI docs or the source (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 5100,
        "npmWeekly": null,
        "pypiWeekly": 331757,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://docs.mistral.ai/vibe/code/cli/install-setup",
      "llmsTxt": "https://docs.mistral.ai/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "open-source",
        "python",
        "mcp",
        "acp",
        "llms-txt",
        "telemetry-default-on",
        "no-sandbox",
        "subagents",
        "hooks",
        "freemium",
        "no-card",
        "local"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.4,
        "grade": "C",
        "agentReady": false,
        "rank": 750,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 21,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 73,
          "payments": 60,
          "reliability": 69,
          "schema": 85,
          "security": 58,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": -14,
        "negativeNotes": [
          "2026-09-12. CVE-2026-87983 to CVE-2026-87988 (advisory MAI-2026-003, severity High, published 14 September 2026). Crafted shell commands could run without the approval prompt, reading or writing files outside the workspace or running code, and injected instructions could trigger them. HiddenLayer published the CVEs on 11 September and Mistral released 2.25.4 the next day. Fixed and published inside six months, so 2 points for each high (from 14 November each is a fixed High over two months old at 1, which still makes -6), as nanobot's and zeroclaw's fixed advisories were weighed. Six highs come to 12, held at the -6 cap for fixed and published advisories that claude-code and the Claude Agent SDK listing use (research/new/NOTES-harnesses-H1.md, negative events). Paperclip's -10 adds -5 for its group of ten fixed advisories and separate lines for advisories with no patched version, which doesn't apply here (https://docs.mistral.ai/resources/security-advisories/MAI-2026-003). -6",
          "2026-10-18. The offline guide says that with `enable_telemetry = false` and `enable_auto_update = false` the CLI contacts no external service, and the configuration reference describes `enable_auto_update` as installing releases in the background. The 2.26.1 source defines that key but nothing reads it, and the configuration reference now says it has no effect. Update checks follow `enable_update_checks`, which stays on, and the README says interactive sessions then query PyPI or uv once a day. We followed ironclaw's precedent, not zeroclaw's, because this is the vendor's documentation contradicting the shipped release on what leaves the machine, where zeroclaw's was a site-versus-docs mismatch. The safety page's line that `-p` falls back to `auto-approve` is also wrong, but it errs towards caution, so it stays a weakness with no deduction. A misleading claim, at the minimum, -2 (https://docs.mistral.ai/vibe/code/cli/offline-models; https://docs.mistral.ai/vibe/code/cli/configuration-reference; https://github.com/mistralai/mistral-vibe#update-settings). -2 On 2 November the offline guide, the configuration reference and the safety page agree with the source (`enable_update_checks`, and `-p` runs the default agent and denies calls needing approval). Corrected after our check with no note of the change, so the -2 is kept for the 12-month window, as supermemory's corrected claim was.",
          "2026-10-26. Patch releases 3.0.3 (26 October) and 3.0.4 (30 October) ship changes the changelog marks breaking for existing users. `auto_compact_threshold = 0` becomes a config error, the `compaction_thinking` setting is removed, a reply without token usage fails the turn so third-party model servers must support `stream_options.include_usage`, invalid or partial shell timeout settings are refused, and 3.0.4 stops loading custom Python tools and removes `tool_paths`. No pre-release or dated notice for the 3.0.3 breaks was found. 3.x, so the 0.x exemption doesn't reach them, and repeats fold into one term (https://github.com/mistralai/mistral-vibe/blob/main/CHANGELOG.md). -3",
          "2026-10-19. Released fixes of described flaws with no advisory. 3.0.0 says that on Windows the shell tools no longer auto-approve commands that hide part of the command from the approval check with a mid-word `#`, an escaped quote or PowerShell quoting, and 3.0.3 says creating a worktree no longer runs file filters from the repository's own Git configuration before the folder is trusted, and that automatic project context no longer runs repository-configured signature verification programs. Mistral's advisories page lists nothing after MAI-2026-003 (14 September) and OSV has no record for mistral-vibe. Release prose isn't an advisory, so one term (https://docs.mistral.ai/resources/security-advisories). -3"
        ],
        "verdict": "Apache-2.0 with releases most weeks, and headless runs capped by turns, tokens, price and wall time, with typed exit codes and an export file. File edits are auto-approved by default, the host has no sandbox, telemetry is on by default, and patch releases 3.0.3 and 3.0.4 shipped marked breaking changes.",
        "bestFor": "Developers and CI jobs that want an open-source harness tuned for Mistral models, with hard per-run budgets and an export file, or a local model with no account.",
        "strengths": [
          "Apache-2.0, on PyPI and Homebrew at 3.0.4, with 21 release tags from 4 August to 30 October 2026",
          "`vibe -p` stops on `--max-turns`, `--max-tokens`, `--max-price` or `--time-limit`, with exit codes 0 to 4 and an `export.json` naming the outcome",
          "Runs against any OpenAI-compatible endpoint, with a llama.cpp provider on 127.0.0.1:8080 in the defaults and a documented offline set-up",
          "Project `.vibe/` config, hooks, MCP servers and `AGENTS.md` load only from trusted folders, and `-p` runs never trust a folder without `--trust`",
          "`vibe config schema` prints a JSON schema of every setting, and `strict_config` refuses unknown keys"
        ],
        "weaknesses": [
          "The default agent auto-approves file edits, and there's no sandbox on the host. Isolation needs the experimental `--agent-socket` server or a container",
          "Six high-severity shell-permission bypasses (CVE-2026-87983 to CVE-2026-87988) were fixed in 2.25.4 on 12 September 2026, and later approval and Git-config fixes came with no advisory",
          "Patch releases 3.0.3 and 3.0.4 changed config, model-server and custom-tool behaviour the changelog marks as breaking",
          "Telemetry is on by default, and the server-side experiments it enables can switch the default agent to the `smart-approve` classifier",
          "The repository takes no outside contributions, and its history is squashed release commits"
        ],
        "agentNotes": [
          "Pass `--agent` on every `-p` run (`plan` is read-only). The default is `accept-edits`, and an experiment can switch it to `smart-approve`",
          "Add `--max-turns`, `--max-tokens`, `--max-price` and `--time-limit`, and read `outcome` in the `export.json` that `--output-dir` writes. Exit 3 means a limit or a refusal",
          "Run in a container or behind `--agent-socket` before using `--auto-approve`, and set `outside_workdir = \"deny\"` to refuse paths outside the working directory",
          "For offline runs set `enable_telemetry = false` and `enable_update_checks = false` in `config.toml`",
          "Pin a version and read the changelog before upgrading, since patch releases can carry marked breaking changes; serve token usage from third-party model servers (`stream_options.include_usage`)"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.4
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 73,
          "payments": 60,
          "reliability": 69,
          "schema": 85,
          "security": 58,
          "transparency": 70
        },
        "provenanceScore": 91,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "uv tool install mistral-vibe   # or: curl -LsSf https://mistral.ai/vibe/install.sh | bash",
        "headless": {
          "command": "vibe --prompt-file task.md --agent accept-edits --output json --max-turns 30 --max-price 1.0 --time-limit 1800 --output-dir out/",
          "env": {
            "MISTRAL_API_KEY": "\u003ckey\u003e"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/mistral-vibe-cli"
      },
      "sameCompany": [
        "mistral-api",
        "mistral-embeddings",
        "mistral-moderation",
        "mistral-voxtral-transcribe",
        "voxtral-mini-4b-realtime-2602",
        "mistral-ocr",
        "mistral-large-4"
      ],
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Mistral AI (RCS Paris 952 418 325)",
        "domain": "mistral.ai",
        "domainRegistered": "2019-05-15",
        "endpointOnVendorDomain": null,
        "terms": "https://legal.mistral.ai/terms/commercial-terms-of-service",
        "privacy": "https://legal.mistral.ai/terms/privacy-policy",
        "statusPage": "https://status.mistral.ai",
        "changelog": "https://github.com/mistralai/mistral-vibe/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-11-02",
        "notes": [
          "security.txt read on 2026-10-18, a Mistral security contact, Expires 2027-05-05, Policy a HackerOne submission form. SECURITY.md in the repository points to the same contact and programme",
          "Privacy policy effective 3 September 2026 and commercial terms effective 25 September 2026, both read on 2026-10-18. Both name Vibe among the Mistral AI products they cover",
          "The legal entity and domain date are carried from the mistral-api listing's 17 October check",
          "status.mistral.ai covers the hosted API and answers with a Cloudflare bot check, so it wasn't read (2 November, as the other Mistral listings). It doesn't cover the local CLI"
        ],
        "score": 91
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mistral-vibe-cli.json",
      "live": {
        "slug": "mistral-vibe-cli",
        "vendorStatus": {
          "page": "https://status.mistral.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:22:36.327464553Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "mistralai/mistral-vibe",
            "version": "v3.1.0",
            "released": "2026-11-04",
            "seenAt": "2026-11-06T23:46:31.274882743Z"
          },
          {
            "registry": "pypi",
            "name": "mistral-vibe",
            "version": "3.1.0",
            "released": "2026-11-04",
            "seenAt": "2026-11-06T23:46:31.067374136Z"
          }
        ],
        "githubStars": 5318,
        "pypiWeekly": 537852,
        "securityTxt": {
          "url": "https://mistral.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-05-05T23:59:59.000Z",
          "checkedAt": "2026-11-07T16:00:05.953035328Z"
        },
        "llmsTxt": {
          "url": "https://docs.mistral.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:15.385904897Z"
        },
        "domain": {
          "domain": "mistral.ai",
          "registered": "2019-05-15",
          "source": "https://rdap.identitydigital.services/rdap/domain/mistral.ai",
          "checkedAt": "2026-11-01T14:21:43.304217994Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/mistralai/mistral-vibe/main/CHANGELOG.md",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:21:49.923529798Z",
            "changedAt": "2026-11-04T08:34:10.317029578Z",
            "fingerprint": "5cf56aa860c5"
          }
        ],
        "github": {
          "repo": "mistralai/mistral-vibe",
          "checkedAt": "2026-11-02T09:07:45.565868424Z",
          "stars": 5271,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-30T11:03:02Z",
          "openIssues": 245,
          "openPRs": 203,
          "issuesOpened90d": 239,
          "issuesClosed90d": 175,
          "prsMerged90d": 26,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 40,
            "failure": 10,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-30T11:25:05Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 21,
            "medianDays": 0.1
          }
        },
        "updatedAt": "2026-11-07T19:22:36.327464553Z"
      }
    },
    "edges": [
      {
        "by": 26,
        "category": "transparency",
        "leads": "mistral-vibe-cli",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "Apache-2.0, with LICENSE and pyproject in agreement (30). The README sends readers to Mistral's privacy policy (effective 3 September 2026), which names Vibe. The commercial terms (effective 25 September 2026) say no training on customer data unless a product's default or an opt-in allows it, and the pricing page lists model training as opt-out on Free, Pro and Team. The configuration reference calls telemetry anonymous without listing its fields. The offline guide now names `enable_update_checks = false` with `enable_telemetry = false`, as the source reads them (16 of 30; 14 on 18 October, when it named a key the source defines but never reads). Removals are listed in the changelog, deprecated settings are named in the configuration reference and warned about at startup, the agent socket may change without notice, and custom Python tools and the bundled local model were removed in patch releases with warnings (10 of 20). Telemetry is disclosed with an opt-out in the README and the configuration reference, and the README names the server-managed shell-tool rollout, but its fields are only in the source (14 of 20). 30+16+10+14 = 70."
        },
        "scores": {
          "a": 55,
          "b": 81
        }
      },
      {
        "by": 23,
        "category": "security",
        "leads": "mistral-vibe-cli",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Telemetry and crash reporting are on by default with an opt-out, and the source sends tool names, approval decisions, the model and file counts to api.mistral.ai only when a Mistral key is set. Telemetry also turns on GrowthBook experiments, and one of them (`vibe_cli_smart_approve_default`) can make smart-approve the default. Credentials are Mistral keys in an environment variable, a plaintext `~/.vibe/.env` or the keyring, workspace-scoped with optional expiry per the mistral-api listing, and MCP servers can use OAuth (12 of 30). Five agents with a read-only plan agent and bash allow and deny lists, a prompt for access outside the working directory, `outside_workdir = \"deny\"` (3.0.3) to refuse it outright, an admin `enable_auto_approve = false` (3.0.1) that forbids auto-approve, and `pre_tool` hooks that can deny calls. The default auto-approves file edits, and there's no sandbox on the host (13 of 20; 11 on 18 October, before the two settings). Project config, hooks and MCP servers load only from trusted folders, and `-p` needs `--trust` to load them. The safety page warns that smart-approve isn't a sandbox. No network egress control on the host, and MAI-2026-003 says injected instructions could trigger the bypassed commands (8 of 15). OpenTelemetry tracing is opt-in, with default, strict and no redaction, and each run can write a session journal and an export with the effective config. Managed admin config exists, and audit logs come with the Enterprise plan (13). SECURITY.md asks for private reports, security.txt is valid (expires 5 May 2027) and links a HackerOne form, and Mistral publishes dated advisories with CVEs, three to 2 November. No bounty terms or certification report were read, so 12, as mistral-api and mistral-voxtral-transcribe take on the same Mistral pages (14 on 18 October). 12+13+8+13+12 = 58."
        },
        "scores": {
          "a": 35,
          "b": 58
        }
      },
      {
        "by": 17,
        "category": "ergonomics",
        "leads": "mistral-vibe-cli",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "Framework reading, adapted to a harness driven by a pipeline. `--enabled-tools` and `--disabled-tools` with globs and regex (in `-p` the first disables everything else), per-tool and per-MCP-tool permissions, and switches for subagents and background processes (20 of 25). `--max-turns`, `--max-tokens`, `--max-price` and `--time-limit`, with text, json and streaming output and an export file with usage and cost (20). Exit codes 0 to 4 with named outcomes, refusals reported with a code, and config problems listed under `warnings` (18). `--resume SESSION_ID` and `--continue`, SIGTERM stops a run so it can be resumed, and model API failures are retried before exit 2 (16). One required input (the prompt), a GitHub Action and the ACP server, but no SDK, and the app-server's JSON-RPC protocol isn't documented for outside use (10). 20+20+18+16+10 = 84."
        },
        "scores": {
          "a": 67,
          "b": 84
        }
      },
      {
        "by": 15,
        "category": "schema",
        "leads": "mistral-vibe-cli",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "Framework reading. A configuration reference with each key's type and default, the `export.json` fields, and the `--agent-socket` JSON-RPC methods with typed params and results in the README, plus ACP. Since 3.0.3 `vibe config schema` prints a JSON schema of every setting, including each built-in tool's; the streaming events still have no published schema (20 of 25). docs.mistral.ai/llms.txt indexes the CLI pages, each with a Markdown twin (10). The safety page says what each agent allows and when to use it, and on 2 November it agrees with the source. `-p` runs the configured `default_agent` and denies calls that need approval, and the offline guide and configuration reference name `enable_update_checks`. The 18 October contradictions and TODO notes are gone (15 of 20). Output formats, agent names, permission values and OpenTelemetry redaction modes are enums, and the config is validated on load (12). Many examples and an exit-code table that maps each code to the outcome names in `export.json` (13). Dated changelog and version tags (15). 20+10+15+12+13+15 = 85."
        },
        "scores": {
          "a": 70,
          "b": 85
        }
      },
      {
        "by": 12,
        "category": "maintenance",
        "leads": "letta",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "3.0.4 on 30 October 2026 (30). 21 release tags from 4 August to 2 November, 2.24.0 to 3.0.4, each with a dated changelog entry (20). The 18 October issue and pull request counts came from shields.io badges, a third-party copy of GitHub data this run bars, so they are struck. Response times couldn't be read. CONTRIBUTING.md says the project isn't accepting contributions, and the history is squashed release commits. Credit is for the dated changelog, the issue templates and the public advisory (8 of 25; 10 on 18 October with the counts). No SDK. `vibe-acp` is current in the ACP registry at 3.0.4 and the Homebrew formula is at 3.0.4 (8 of 15). Dependencies are pinned to exact versions, workflow actions are pinned by commit, and CI runs on main, but no Dependabot or Renovate config was found (7 of 10). 30+20+8+8+7 = 73."
        },
        "scores": {
          "a": 85,
          "b": 73
        }
      },
      {
        "by": 11,
        "category": "reliability",
        "leads": "mistral-vibe-cli",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Local-package reading. PyPI, uv, pip, Homebrew at 3.0.4 and an install script, with Python 3.12 or later stated and UNIX the supported target (20). A public CI workflow on push and pull request to main runs pre-commit, the test suite and a build and install smoke matrix, but GitHub's pages and API were refused in this session, so whether main is passing is unchecked (15 of 25). The 18 October issue counts came from shields.io badges, a third-party copy of GitHub data this run bars, so they are struck. Every release has a Fixed section in the changelog, and how many open issues are crashes or regressions, and how fast they're answered, couldn't be read (10 of 25). The changelog states Keep a Changelog and semver and marks breaking changes, but the hooks rename shipped in minor 2.21.0, patch 2.11.1 changed the `-p` approval default, patch 2.26.1 removed the bundled local model, and patches 3.0.3 and 3.0.4 carry marked config, model and session breaks (9). 3.0.4, classified Production/Stable (15). 20+15+10+9+15 = 69."
        },
        "scores": {
          "a": 58,
          "b": 69
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Letta",
        "b": "Mistral AI",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-06",
        "b": "2026-10-30",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-09-25",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-09-03",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.8k stars, 86k npm/wk, 2.2k PyPI/wk",
        "b": "5.1k stars, 332k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Letta scores 59.7 (C) on agent readiness against Mistral Vibe CLI's 58.4 (C), and leads in 1 of 7 scored categories. Mistral Vibe CLI leads on reliability, schema \u0026 documentation, agent ergonomics, security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Letta or Mistral Vibe CLI?"
      },
      {
        "answer": "Yes. Letta is open source (Apache-2.0). Mistral Vibe CLI is open source (Apache-2.0).",
        "question": "Are Letta and Mistral Vibe CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Maintenance \u0026 community, 85 against 73"
        ],
        "also": [
          "Runs on your own machine",
          "No incidents deducted, where Mistral Vibe CLI loses 14 points for them"
        ],
        "goodFor": "Long-lived coding agents and assistants that keep memory and identity across sessions and machines.",
        "slug": "letta",
        "watchFor": "The default permission mode is `unrestricted`, the renamed `bypassPermissions`, so tool calls aren't confirmed unless the user picks another mode"
      },
      {
        "aheadOn": [
          "Reliability, 69 against 58",
          "Schema \u0026 documentation, 85 against 70",
          "Agent ergonomics, 84 against 67",
          "Security \u0026 auth, 58 against 35",
          "Transparency \u0026 trust, 81 against 55"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Developers and CI jobs that want an open-source harness tuned for Mistral models, with hard per-run budgets and an export file, or a local model with no account.",
        "slug": "mistral-vibe-cli",
        "watchFor": "The default agent auto-approves file edits, and there's no sandbox on the host. Isolation needs the experimental `--agent-socket` server or a container"
      }
    ],
    "history": {
      "letta": null,
      "mistral-vibe-cli": [
        {
          "causes": [
            "product",
            "correction",
            "event"
          ],
          "date": "2026-11-02",
          "delta": -4.6,
          "from": 63,
          "fromGrade": "B",
          "to": 58.4,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 62.9,
          "fromGrade": "B",
          "to": 63,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-letta.json",
        "title": "Agent Zero vs Letta",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-mistral-vibe-cli.json",
        "title": "Agent Zero vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-letta.json",
        "title": "Aider vs Letta",
        "url": "https://www.anchorterminal.com/compare/aider-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-mistral-vibe-cli.json",
        "title": "Aider vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-letta.json",
        "title": "Amp vs Letta",
        "url": "https://www.anchorterminal.com/compare/amp-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-mistral-vibe-cli.json",
        "title": "Amp vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-letta.json",
        "title": "Antigravity CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-mistral-vibe-cli.json",
        "title": "Antigravity CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-letta.json",
        "title": "Auggie CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-mistral-vibe-cli.json",
        "title": "Auggie CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-letta.json",
        "title": "AXLR vs Letta",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-mistral-vibe-cli.json",
        "title": "AXLR vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-letta.json",
        "title": "Claude Code vs Letta",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-mistral-vibe-cli.json",
        "title": "Claude Code vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-letta.json",
        "title": "Cline vs Letta",
        "url": "https://www.anchorterminal.com/compare/cline-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-mistral-vibe-cli.json",
        "title": "Cline vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/conductor-vs-letta.json",
        "title": "Conductor vs Letta",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/conductor-vs-mistral-vibe-cli.json",
        "title": "Conductor vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-letta.json",
        "title": "Crush vs Letta",
        "url": "https://www.anchorterminal.com/compare/crush-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-mistral-vibe-cli.json",
        "title": "Crush vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-letta.json",
        "title": "Cursor CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-mistral-vibe-cli.json",
        "title": "Cursor CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-letta.json",
        "title": "DeepSeek Harness (dsh) vs Letta",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-mistral-vibe-cli.json",
        "title": "DeepSeek Harness (dsh) vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-letta.json",
        "title": "dsh-superagent (DeepSeek) vs Letta",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-mistral-vibe-cli.json",
        "title": "dsh-superagent (DeepSeek) vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-letta.json",
        "title": "Devin vs Letta",
        "url": "https://www.anchorterminal.com/compare/devin-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-mistral-vibe-cli.json",
        "title": "Devin vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-letta.json",
        "title": "Droid CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-mistral-vibe-cli.json",
        "title": "Droid CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-letta.json",
        "title": "Pi vs Letta",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-mistral-vibe-cli.json",
        "title": "Pi vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-letta.json",
        "title": "Emdash vs Letta",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-mistral-vibe-cli.json",
        "title": "Emdash vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-letta.json",
        "title": "Gemini CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-mistral-vibe-cli.json",
        "title": "Gemini CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-letta.json",
        "title": "GitHub Copilot CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-mistral-vibe-cli.json",
        "title": "GitHub Copilot CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-letta.json",
        "title": "goose vs Letta",
        "url": "https://www.anchorterminal.com/compare/goose-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-mistral-vibe-cli.json",
        "title": "goose vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-letta.json",
        "title": "Harness² vs Letta",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-mistral-vibe-cli.json",
        "title": "Harness² vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-letta.json",
        "title": "HarnessRouter vs Letta",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-mistral-vibe-cli.json",
        "title": "HarnessRouter vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-letta.json",
        "title": "Jules vs Letta",
        "url": "https://www.anchorterminal.com/compare/jules-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-mistral-vibe-cli.json",
        "title": "Jules vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-letta.json",
        "title": "Junie CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/junie-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli.json",
        "title": "Junie CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta.json",
        "title": "Kilo Code CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-mistral-vibe-cli.json",
        "title": "Kilo Code CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta.json",
        "title": "Kimi Code CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-mistral-vibe-cli.json",
        "title": "Kimi Code CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta.json",
        "title": "Kiro CLI vs Letta",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-mistral-vibe-cli.json",
        "title": "Kiro CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-mini-swe-agent.json",
        "title": "Letta vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/letta-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-minimax-code.json",
        "title": "Letta vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-muse-code.json",
        "title": "Letta vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openai-agents-api.json",
        "title": "Letta vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openai-codex.json",
        "title": "Letta vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-opencode.json",
        "title": "Letta vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/letta-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openhands.json",
        "title": "Letta vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-openmausbot.json",
        "title": "Letta vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-orca.json",
        "title": "Letta vs Orca",
        "url": "https://www.anchorterminal.com/compare/letta-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-paseo.json",
        "title": "Letta vs Paseo",
        "url": "https://www.anchorterminal.com/compare/letta-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-prime-agent.json",
        "title": "Letta vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/letta-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-qoder-cli.json",
        "title": "Letta vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-qwen-code.json",
        "title": "Letta vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-reflection-mirror.json",
        "title": "Letta vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-rovo-dev-cli.json",
        "title": "Letta vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-sculptor.json",
        "title": "Letta vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/letta-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-t3-code.json",
        "title": "Letta vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-traycer.json",
        "title": "Letta vs Traycer",
        "url": "https://www.anchorterminal.com/compare/letta-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-unstoppable.json",
        "title": "Letta vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/letta-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-verdent.json",
        "title": "Letta vs Verdent",
        "url": "https://www.anchorterminal.com/compare/letta-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-vibe-trading.json",
        "title": "Letta vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/letta-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-warp.json",
        "title": "Letta vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/letta-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-mistral-vibe-cli.json",
        "title": "mini-swe-agent vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-mistral-vibe-cli.json",
        "title": "MiniMax Code vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-muse-code.json",
        "title": "Mistral Vibe CLI vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-agents-api.json",
        "title": "Mistral Vibe CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-codex.json",
        "title": "Mistral Vibe CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode.json",
        "title": "Mistral Vibe CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands.json",
        "title": "Mistral Vibe CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openmausbot.json",
        "title": "Mistral Vibe CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-orca.json",
        "title": "Mistral Vibe CLI vs Orca",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-paseo.json",
        "title": "Mistral Vibe CLI vs Paseo",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-prime-agent.json",
        "title": "Mistral Vibe CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qoder-cli.json",
        "title": "Mistral Vibe CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qwen-code.json",
        "title": "Mistral Vibe CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-reflection-mirror.json",
        "title": "Mistral Vibe CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-rovo-dev-cli.json",
        "title": "Mistral Vibe CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-sculptor.json",
        "title": "Mistral Vibe CLI vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-t3-code.json",
        "title": "Mistral Vibe CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-traycer.json",
        "title": "Mistral Vibe CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-unstoppable.json",
        "title": "Mistral Vibe CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-verdent.json",
        "title": "Mistral Vibe CLI vs Verdent",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-vibe-trading.json",
        "title": "Mistral Vibe CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-warp.json",
        "title": "Mistral Vibe CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-letta.json",
        "title": "Clawboo vs Letta",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-mistral-vibe-cli.json",
        "title": "Clawboo vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-letta.json",
        "title": "CLI Manager vs Letta",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-mistral-vibe-cli.json",
        "title": "CLI Manager vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-letta.json",
        "title": "Harness vs Letta",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-mistral-vibe-cli.json",
        "title": "Harness vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-paperclip.json",
        "title": "Letta vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/letta-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-parallax-agents.json",
        "title": "Letta vs Parallax",
        "url": "https://www.anchorterminal.com/compare/letta-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-paperclip.json",
        "title": "Mistral Vibe CLI vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-parallax-agents.json",
        "title": "Mistral Vibe CLI vs Parallax",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-parallax-agents"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 11,
        "edge": "mistral-vibe-cli",
        "key": "reliability",
        "letta": 58,
        "mistral-vibe-cli": 69,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "mistral-vibe-cli",
        "key": "schema",
        "letta": 70,
        "mistral-vibe-cli": 85,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 17,
        "edge": "mistral-vibe-cli",
        "key": "ergonomics",
        "letta": 67,
        "mistral-vibe-cli": 84,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 23,
        "edge": "mistral-vibe-cli",
        "key": "security",
        "letta": 35,
        "mistral-vibe-cli": 58,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "letta": 60,
        "mistral-vibe-cli": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "letta",
        "key": "maintenance",
        "letta": 85,
        "mistral-vibe-cli": 73,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 26,
        "edge": "mistral-vibe-cli",
        "key": "transparency",
        "letta": 55,
        "mistral-vibe-cli": 81,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Letta scores 59.7 (C) on agent readiness against Mistral Vibe CLI's 58.4 (C), and leads in 1 of 7 scored categories. Mistral Vibe CLI leads on reliability, schema \u0026 documentation, agent ergonomics, security \u0026 auth and transparency \u0026 trust. Both do agent harnesses.",
    "tasks": null,
    "tutorials": [],
    "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.",
      "mistral-vibe-cli": "Apache-2.0 with releases most weeks, and headless runs capped by turns, tokens, price and wall time, with typed exit codes and an export file. File edits are auto-approved by default, the host has no sandbox, telemetry is on by default, and patch releases 3.0.3 and 3.0.4 shipped marked breaking changes."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli",
    "json": "https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli.min.md"
  },
  "markdown": "Letta scores 59.7 (C) on agent readiness against Mistral Vibe CLI's 58.4 (C), and leads in 1 of 7 scored categories. Mistral Vibe CLI leads on reliability, schema \u0026 documentation, agent ergonomics, security \u0026 auth and transparency \u0026 trust. Both do agent harnesses.\n\n- Letta: grade C, 59.7/100, rank #687 of 1510. Markdown https://www.anchorterminal.com/tools/letta.md · JSON https://www.anchorterminal.com/api/v1/tools/letta.json\n- Mistral Vibe CLI: grade C, 58.4/100, rank #750 of 1510. Markdown https://www.anchorterminal.com/tools/mistral-vibe-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/mistral-vibe-cli.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 1500 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n- Best memory layers for AI agents: https://www.anchorterminal.com/best/agent-memory/index.md\n- All 353 memory comparisons: https://www.anchorterminal.com/compare/agent-memory/index.md\n\n## Which one, for what\n\n### Letta (C)\n\nGood for: Long-lived coding agents and assistants that keep memory and identity across sessions and machines.\n\nAhead on:\n- Maintenance \u0026 community, 85 against 73\n\nAlso in its favour:\n- Runs on your own machine\n- No incidents deducted, where Mistral Vibe CLI loses 14 points for them\n\nWatch for: The default permission mode is `unrestricted`, the renamed `bypassPermissions`, so tool calls aren't confirmed unless the user picks another mode\n\n### Mistral Vibe CLI (C)\n\nGood for: Developers and CI jobs that want an open-source harness tuned for Mistral models, with hard per-run budgets and an export file, or a local model with no account.\n\nAhead on:\n- Reliability, 69 against 58\n- Schema \u0026 documentation, 85 against 70\n- Agent ergonomics, 84 against 67\n- Security \u0026 auth, 58 against 35\n- Transparency \u0026 trust, 81 against 55\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: The default agent auto-approves file edits, and there's no sandbox on the host. Isolation needs the experimental `--agent-socket` server or a container\n\n\n## Why the edge\n\n### Transparency \u0026 trust: Mistral Vibe CLI +26\n\n- 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.\n- Mistral Vibe CLI (81): Apache-2.0, with LICENSE and pyproject in agreement (30). The README sends readers to Mistral's privacy policy (effective 3 September 2026), which names Vibe. The commercial terms (effective 25 September 2026) say no training on customer data unless a product's default or an opt-in allows it, and the pricing page lists model training as opt-out on Free, Pro and Team. The configuration reference calls telemetry anonymous without listing its fields. The offline guide now names `enable_update_checks = false` with `enable_telemetry = false`, as the source reads them (16 of 30; 14 on 18 October, when it named a key the source defines but never reads). Removals are listed in the changelog, deprecated settings are named in the configuration reference and warned about at startup, the agent socket may change without notice, and custom Python tools and the bundled local model were removed in patch releases with warnings (10 of 20). Telemetry is disclosed with an opt-out in the README and the configuration reference, and the README names the server-managed shell-tool rollout, but its fields are only in the source (14 of 20). 30+16+10+14 = 70.\n\n### Security \u0026 auth: Mistral Vibe CLI +23\n\n- 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.\n- Mistral Vibe CLI (58): Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Telemetry and crash reporting are on by default with an opt-out, and the source sends tool names, approval decisions, the model and file counts to api.mistral.ai only when a Mistral key is set. Telemetry also turns on GrowthBook experiments, and one of them (`vibe_cli_smart_approve_default`) can make smart-approve the default. Credentials are Mistral keys in an environment variable, a plaintext `~/.vibe/.env` or the keyring, workspace-scoped with optional expiry per the mistral-api listing, and MCP servers can use OAuth (12 of 30). Five agents with a read-only plan agent and bash allow and deny lists, a prompt for access outside the working directory, `outside_workdir = \"deny\"` (3.0.3) to refuse it outright, an admin `enable_auto_approve = false` (3.0.1) that forbids auto-approve, and `pre_tool` hooks that can deny calls. The default auto-approves file edits, and there's no sandbox on the host (13 of 20; 11 on 18 October, before the two settings). Project config, hooks and MCP servers load only from trusted folders, and `-p` needs `--trust` to load them. The safety page warns that smart-approve isn't a sandbox. No network egress control on the host, and MAI-2026-003 says injected instructions could trigger the bypassed commands (8 of 15). OpenTelemetry tracing is opt-in, with default, strict and no redaction, and each run can write a session journal and an export with the effective config. Managed admin config exists, and audit logs come with the Enterprise plan (13). SECURITY.md asks for private reports, security.txt is valid (expires 5 May 2027) and links a HackerOne form, and Mistral publishes dated advisories with CVEs, three to 2 November. No bounty terms or certification report were read, so 12, as mistral-api and mistral-voxtral-transcribe take on the same Mistral pages (14 on 18 October). 12+13+8+13+12 = 58.\n\n### Agent ergonomics: Mistral Vibe CLI +17\n\n- 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.\n- Mistral Vibe CLI (84): Framework reading, adapted to a harness driven by a pipeline. `--enabled-tools` and `--disabled-tools` with globs and regex (in `-p` the first disables everything else), per-tool and per-MCP-tool permissions, and switches for subagents and background processes (20 of 25). `--max-turns`, `--max-tokens`, `--max-price` and `--time-limit`, with text, json and streaming output and an export file with usage and cost (20). Exit codes 0 to 4 with named outcomes, refusals reported with a code, and config problems listed under `warnings` (18). `--resume SESSION_ID` and `--continue`, SIGTERM stops a run so it can be resumed, and model API failures are retried before exit 2 (16). One required input (the prompt), a GitHub Action and the ACP server, but no SDK, and the app-server's JSON-RPC protocol isn't documented for outside use (10). 20+20+18+16+10 = 84.\n\n### Schema \u0026 documentation: Mistral Vibe CLI +15\n\n- 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.\n- Mistral Vibe CLI (85): Framework reading. A configuration reference with each key's type and default, the `export.json` fields, and the `--agent-socket` JSON-RPC methods with typed params and results in the README, plus ACP. Since 3.0.3 `vibe config schema` prints a JSON schema of every setting, including each built-in tool's; the streaming events still have no published schema (20 of 25). docs.mistral.ai/llms.txt indexes the CLI pages, each with a Markdown twin (10). The safety page says what each agent allows and when to use it, and on 2 November it agrees with the source. `-p` runs the configured `default_agent` and denies calls that need approval, and the offline guide and configuration reference name `enable_update_checks`. The 18 October contradictions and TODO notes are gone (15 of 20). Output formats, agent names, permission values and OpenTelemetry redaction modes are enums, and the config is validated on load (12). Many examples and an exit-code table that maps each code to the outcome names in `export.json` (13). Dated changelog and version tags (15). 20+10+15+12+13+15 = 85.\n\n### Maintenance \u0026 community: Letta +12\n\n- 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.\n- Mistral Vibe CLI (73): 3.0.4 on 30 October 2026 (30). 21 release tags from 4 August to 2 November, 2.24.0 to 3.0.4, each with a dated changelog entry (20). The 18 October issue and pull request counts came from shields.io badges, a third-party copy of GitHub data this run bars, so they are struck. Response times couldn't be read. CONTRIBUTING.md says the project isn't accepting contributions, and the history is squashed release commits. Credit is for the dated changelog, the issue templates and the public advisory (8 of 25; 10 on 18 October with the counts). No SDK. `vibe-acp` is current in the ACP registry at 3.0.4 and the Homebrew formula is at 3.0.4 (8 of 15). Dependencies are pinned to exact versions, workflow actions are pinned by commit, and CI runs on main, but no Dependabot or Renovate config was found (7 of 10). 30+20+8+8+7 = 73.\n\n### Reliability: Mistral Vibe CLI +11\n\n- 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.\n- Mistral Vibe CLI (69): Local-package reading. PyPI, uv, pip, Homebrew at 3.0.4 and an install script, with Python 3.12 or later stated and UNIX the supported target (20). A public CI workflow on push and pull request to main runs pre-commit, the test suite and a build and install smoke matrix, but GitHub's pages and API were refused in this session, so whether main is passing is unchecked (15 of 25). The 18 October issue counts came from shields.io badges, a third-party copy of GitHub data this run bars, so they are struck. Every release has a Fixed section in the changelog, and how many open issues are crashes or regressions, and how fast they're answered, couldn't be read (10 of 25). The changelog states Keep a Changelog and semver and marks breaking changes, but the hooks rename shipped in minor 2.21.0, patch 2.11.1 changed the `-p` approval default, patch 2.26.1 removed the bundled local model, and patches 3.0.3 and 3.0.4 carry marked config, model and session breaks (9). 3.0.4, classified Production/Stable (15). 20+15+10+9+15 = 69.\n\n## Score by category\n\n| Category | Weight | Letta | Mistral Vibe CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 69 | Mistral Vibe CLI +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 85 | Mistral Vibe CLI +15 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 84 | Mistral Vibe CLI +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 35 | 58 | Mistral Vibe CLI +23 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 73 | Letta +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 81 | Mistral Vibe CLI +26 |\n| Negative events | ≤15 | 0 | -14 | |\n| **Total** | | **59.7 · C** | **58.4 · C** | |\n\n## Facts side by side\n\n| Fact | Letta | Mistral Vibe CLI |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Letta | Mistral AI |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio |  |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-11-06 | 2026-10-30 |\n| Terms last updated | no date given | 2026-09-25 |\n| Privacy policy last updated | no date given | 2026-09-03 |\n| Customer content may train models | not found in the text | yes, with an opt-out |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 3.8k stars, 86k npm/wk, 2.2k PyPI/wk | 5.1k stars, 332k PyPI/wk |\n| Agent reviews | none | 3.3/5 (4) |\n\n## How the scores have moved\n\n### Letta\n\nNo score change since it was listed.\n\n### Mistral Vibe CLI\n\n- -4.6 on 2 November 2026 (B to C): product, correction, negative event\n- +0.1 on 27 October 2026: checklist\n\n## Verdicts\n\n**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.\n\n**Mistral Vibe CLI.** Apache-2.0 with releases most weeks, and headless runs capped by turns, tokens, price and wall time, with typed exit codes and an export file. File edits are auto-approved by default, the host has no sandbox, telemetry is on by default, and patch releases 3.0.3 and 3.0.4 shipped marked breaking changes.\n\n## Before you call either\n\n### Letta\n\n1. Start headless runs with an explicit permission mode such as `standard` or `strict`; the default auto-approves tools\n2. Pass `--backend local` for work that must stay on the machine, since Letta Cloud is the default\n3. Set LETTA_CODE_TELEM=0 in unattended runs if usage events must not be sent\n4. Use `letta -p --output-format json` for scripted runs and parse the JSON, not the terminal output\n5. Don't plan on the retired V1 REST server or `.af` AgentFile import; both are gone\n\n### Mistral Vibe CLI\n\n1. Pass `--agent` on every `-p` run (`plan` is read-only). The default is `accept-edits`, and an experiment can switch it to `smart-approve`\n2. Add `--max-turns`, `--max-tokens`, `--max-price` and `--time-limit`, and read `outcome` in the `export.json` that `--output-dir` writes. Exit 3 means a limit or a refusal\n3. Run in a container or behind `--agent-socket` before using `--auto-approve`, and set `outside_workdir = \"deny\"` to refuse paths outside the working directory\n4. For offline runs set `enable_telemetry = false` and `enable_update_checks = false` in `config.toml`\n5. Pin a version and read the changelog before upgrading, since patch releases can carry marked breaking changes; serve token usage from third-party model servers (`stream_options.include_usage`)\n\n## Questions\n\n### Which is better for AI agents, Letta or Mistral Vibe CLI?\n\nLetta scores 59.7 (C) on agent readiness against Mistral Vibe CLI's 58.4 (C), and leads in 1 of 7 scored categories. Mistral Vibe CLI leads on reliability, schema \u0026 documentation, agent ergonomics, security \u0026 auth and transparency \u0026 trust.\n\n### Are Letta and Mistral Vibe CLI open source?\n\nYes. Letta is open source (Apache-2.0). Mistral Vibe CLI is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli.json, and with the fewest tokens: https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"letta\", \"b\": \"mistral-vibe-cli\"}`. From a terminal: `anchor compare letta mistral-vibe-cli`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/letta.json and https://www.anchorterminal.com/api/v1/tools/mistral-vibe-cli.json\n\n## Other comparisons with Letta or Mistral Vibe CLI\n\n- [Agent Zero vs Letta](https://www.anchorterminal.com/compare/agent-zero-vs-letta.md)\n- [Agent Zero vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/agent-zero-vs-mistral-vibe-cli.md)\n- [Aider vs Letta](https://www.anchorterminal.com/compare/aider-vs-letta.md)\n- [Aider vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/aider-vs-mistral-vibe-cli.md)\n- [Amp vs Letta](https://www.anchorterminal.com/compare/amp-vs-letta.md)\n- [Amp vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/amp-vs-mistral-vibe-cli.md)\n- [Antigravity CLI vs Letta](https://www.anchorterminal.com/compare/antigravity-cli-vs-letta.md)\n- [Antigravity CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-mistral-vibe-cli.md)\n- [Auggie CLI vs Letta](https://www.anchorterminal.com/compare/auggie-vs-letta.md)\n- [Auggie CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/auggie-vs-mistral-vibe-cli.md)\n- [AXLR vs Letta](https://www.anchorterminal.com/compare/axlr-vs-letta.md)\n- [AXLR vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/axlr-vs-mistral-vibe-cli.md)\n- [Claude Code vs Letta](https://www.anchorterminal.com/compare/claude-code-vs-letta.md)\n- [Claude Code vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/claude-code-vs-mistral-vibe-cli.md)\n- [Cline vs Letta](https://www.anchorterminal.com/compare/cline-vs-letta.md)\n- [Cline vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/cline-vs-mistral-vibe-cli.md)\n- [Conductor vs Letta](https://www.anchorterminal.com/compare/conductor-vs-letta.md)\n- [Conductor vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/conductor-vs-mistral-vibe-cli.md)\n- [Crush vs Letta](https://www.anchorterminal.com/compare/crush-vs-letta.md)\n- [Crush vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/crush-vs-mistral-vibe-cli.md)\n- [Cursor CLI vs Letta](https://www.anchorterminal.com/compare/cursor-cli-vs-letta.md)\n- [Cursor CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-mistral-vibe-cli.md)\n- [DeepSeek Harness (dsh) vs Letta](https://www.anchorterminal.com/compare/deepseek-harness-vs-letta.md)\n- [DeepSeek Harness (dsh) vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-mistral-vibe-cli.md)\n- [dsh-superagent (DeepSeek) vs Letta](https://www.anchorterminal.com/compare/deepseek-superagent-vs-letta.md)\n- [dsh-superagent (DeepSeek) vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/deepseek-superagent-vs-mistral-vibe-cli.md)\n- [Devin vs Letta](https://www.anchorterminal.com/compare/devin-vs-letta.md)\n- [Devin vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/devin-vs-mistral-vibe-cli.md)\n- [Droid CLI vs Letta](https://www.anchorterminal.com/compare/droid-cli-vs-letta.md)\n- [Droid CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/droid-cli-vs-mistral-vibe-cli.md)\n- [Pi vs Letta](https://www.anchorterminal.com/compare/earendil-pi-vs-letta.md)\n- [Pi vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-mistral-vibe-cli.md)\n- [Emdash vs Letta](https://www.anchorterminal.com/compare/emdash-vs-letta.md)\n- [Emdash vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/emdash-vs-mistral-vibe-cli.md)\n- [Gemini CLI vs Letta](https://www.anchorterminal.com/compare/gemini-cli-vs-letta.md)\n- [Gemini CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-mistral-vibe-cli.md)\n- [GitHub Copilot CLI vs Letta](https://www.anchorterminal.com/compare/github-copilot-cli-vs-letta.md)\n- [GitHub Copilot CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-mistral-vibe-cli.md)\n- [goose vs Letta](https://www.anchorterminal.com/compare/goose-vs-letta.md)\n- [goose vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/goose-vs-mistral-vibe-cli.md)\n- [Harness² vs Letta](https://www.anchorterminal.com/compare/harness2-vs-letta.md)\n- [Harness² vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/harness2-vs-mistral-vibe-cli.md)\n- [HarnessRouter vs Letta](https://www.anchorterminal.com/compare/harnessrouter-vs-letta.md)\n- [HarnessRouter vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-mistral-vibe-cli.md)\n- [Jules vs Letta](https://www.anchorterminal.com/compare/jules-vs-letta.md)\n- [Jules vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/jules-vs-mistral-vibe-cli.md)\n- [Junie CLI vs Letta](https://www.anchorterminal.com/compare/junie-vs-letta.md)\n- [Junie CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli.md)\n- [Kilo Code CLI vs Letta](https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta.md)\n- [Kilo Code CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-mistral-vibe-cli.md)\n- [Kimi Code CLI vs Letta](https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta.md)\n- [Kimi Code CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-mistral-vibe-cli.md)\n- [Kiro CLI vs Letta](https://www.anchorterminal.com/compare/kiro-cli-vs-letta.md)\n- [Kiro CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/kiro-cli-vs-mistral-vibe-cli.md)\n- [Letta vs mini-swe-agent](https://www.anchorterminal.com/compare/letta-vs-mini-swe-agent.md)\n- [Letta vs MiniMax Code](https://www.anchorterminal.com/compare/letta-vs-minimax-code.md)\n- [Letta vs Muse Code](https://www.anchorterminal.com/compare/letta-vs-muse-code.md)\n- [Letta vs OpenAI Agents API](https://www.anchorterminal.com/compare/letta-vs-openai-agents-api.md)\n- [Letta vs OpenAI Codex](https://www.anchorterminal.com/compare/letta-vs-openai-codex.md)\n- [Letta vs OpenCode](https://www.anchorterminal.com/compare/letta-vs-opencode.md)\n- [Letta vs OpenHands](https://www.anchorterminal.com/compare/letta-vs-openhands.md)\n- [Letta vs OpenMausBot](https://www.anchorterminal.com/compare/letta-vs-openmausbot.md)\n- [Letta vs Orca](https://www.anchorterminal.com/compare/letta-vs-orca.md)\n- [Letta vs Paseo](https://www.anchorterminal.com/compare/letta-vs-paseo.md)\n- [Letta vs Prime Agent](https://www.anchorterminal.com/compare/letta-vs-prime-agent.md)\n- [Letta vs Qoder CLI](https://www.anchorterminal.com/compare/letta-vs-qoder-cli.md)\n- [Letta vs Qwen Code](https://www.anchorterminal.com/compare/letta-vs-qwen-code.md)\n- [Letta vs Mirror CLI](https://www.anchorterminal.com/compare/letta-vs-reflection-mirror.md)\n- [Letta vs Rovo Dev CLI](https://www.anchorterminal.com/compare/letta-vs-rovo-dev-cli.md)\n- [Letta vs Sculptor](https://www.anchorterminal.com/compare/letta-vs-sculptor.md)\n- [Letta vs T3 Code](https://www.anchorterminal.com/compare/letta-vs-t3-code.md)\n- [Letta vs Traycer](https://www.anchorterminal.com/compare/letta-vs-traycer.md)\n- [Letta vs Unstoppable](https://www.anchorterminal.com/compare/letta-vs-unstoppable.md)\n- [Letta vs Verdent](https://www.anchorterminal.com/compare/letta-vs-verdent.md)\n- [Letta vs Vibe-Trading](https://www.anchorterminal.com/compare/letta-vs-vibe-trading.md)\n- [Letta vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/letta-vs-warp.md)\n- [mini-swe-agent vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/mini-swe-agent-vs-mistral-vibe-cli.md)\n- [MiniMax Code vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/minimax-code-vs-mistral-vibe-cli.md)\n- [Mistral Vibe CLI vs Muse Code](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-muse-code.md)\n- [Mistral Vibe CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-agents-api.md)\n- [Mistral Vibe CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-codex.md)\n- [Mistral Vibe CLI vs OpenCode](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode.md)\n- [Mistral Vibe CLI vs OpenHands](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands.md)\n- [Mistral Vibe CLI vs OpenMausBot](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openmausbot.md)\n- [Mistral Vibe CLI vs Orca](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-orca.md)\n- [Mistral Vibe CLI vs Paseo](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-paseo.md)\n- [Mistral Vibe CLI vs Prime Agent](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-prime-agent.md)\n- [Mistral Vibe CLI vs Qoder CLI](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qoder-cli.md)\n- [Mistral Vibe CLI vs Qwen Code](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qwen-code.md)\n- [Mistral Vibe CLI vs Mirror CLI](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-reflection-mirror.md)\n- [Mistral Vibe CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-rovo-dev-cli.md)\n- [Mistral Vibe CLI vs Sculptor](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-sculptor.md)\n- [Mistral Vibe CLI vs T3 Code](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-t3-code.md)\n- [Mistral Vibe CLI vs Traycer](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-traycer.md)\n- [Mistral Vibe CLI vs Unstoppable](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-unstoppable.md)\n- [Mistral Vibe CLI vs Verdent](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-verdent.md)\n- [Mistral Vibe CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-vibe-trading.md)\n- [Mistral Vibe CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-warp.md)\n- [Clawboo vs Letta](https://www.anchorterminal.com/compare/clawboo-vs-letta.md)\n- [Clawboo vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/clawboo-vs-mistral-vibe-cli.md)\n- [CLI Manager vs Letta](https://www.anchorterminal.com/compare/cli-manager-vs-letta.md)\n- [CLI Manager vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/cli-manager-vs-mistral-vibe-cli.md)\n- [Harness vs Letta](https://www.anchorterminal.com/compare/harness-autonomous-vs-letta.md)\n- [Harness vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-mistral-vibe-cli.md)\n- [Letta vs Paperclip](https://www.anchorterminal.com/compare/letta-vs-paperclip.md)\n- [Letta vs Parallax](https://www.anchorterminal.com/compare/letta-vs-parallax-agents.md)\n- [Mistral Vibe CLI vs Paperclip](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-paperclip.md)\n- [Mistral Vibe CLI vs Parallax](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-parallax-agents.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Letta vs Mistral Vibe CLI",
        "url": ""
      }
    ],
    "description": "Letta scores 59.7 (C) to Mistral Vibe CLI's 58.4 (C) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Letta C 59.7",
      "Mistral Vibe CLI C 58.4",
      "scores"
    ],
    "h1": "Letta vs Mistral Vibe CLI",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/letta-vs-mistral-vibe-cli",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Letta vs Mistral Vibe CLI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli"
  },
  "tokens": {
    "markdown": 7350,
    "slim": 3380
  },
  "version": 1
}
