{
  "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": 684,
        "ranked": true,
        "rankOf": 1486,
        "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": "OpenMausBot scores 65.4 (B) on agent readiness against Letta's 59.7 (C), and leads in 5 of 7 scored categories. Letta leads on payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "openmausbot",
      "name": "OpenMausBot",
      "vendor": "Supamaus Software Private Limited",
      "vendorUrl": "https://mausbot.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "OpenMausBot, now branded MausBot, is an open-source desktop app that runs Claude Code, Codex and other agent CLIs as a team of chat bots with their own computers. Other agents drive it through a stdio MCP server and CLI.",
      "url": "https://www.anchorterminal.com/tools/openmausbot",
      "markdownUrl": "https://www.anchorterminal.com/tools/openmausbot.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openmausbot.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openmausbot.json",
      "dns": "openmausbot.grade.anchorterminal.com",
      "repo": "https://github.com/milind-soni/OpenMausBot",
      "license": "Apache-2.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "openmausbot"
        }
      ],
      "auth": "mixed",
      "authNotes": "No account for the free app. The harness binds to 127.0.0.1. In packaged builds, read-only MCP tools work on loopback without a token, while tools that create, send, switch, interrupt or run need a paired session token (`omb_sess_...`) from a single-use pairing code in Settings \u003e Phone, passed as `OPENMAUSBOT_TOKEN` and revocable there. Agent CLIs use the owner's own logins or API keys. Cloud plans need a MausBot account.",
      "pricing": "freemium",
      "pricingNotes": "The app is free under Apache 2.0, with model usage billed by the owner's own provider. MausBot Cloud, an always-on hosted workspace, is $15, $49 or $99 a month (Starter, Pro, Max) with 100, 300 or 800 cloud computer-hours. Team is $169 a month for up to 5 people ($135 billed yearly), Business $599 a month for up to 20 ($479 billed yearly), and Business self-hosted $299 a month billed yearly, with extra people at $25 and $10 a month. Team is bought online; Business plans start with a call, and above 20 people pricing is per person. Extra computer-hours are $0.05 each. Prices from https://mausbot.com/pricing, read on 2 November 2026.",
      "priceSummary": "$15 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the MCP and CLI docs, the pricing page or the file tree of the repository (checked 2026-10-30). Cloud plans are paid by monthly subscription.",
        "endpoints": []
      },
      "toolCount": 20,
      "popularity": {
        "githubStars": 8181,
        "npmWeekly": 3518,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://github.com/milind-soni/OpenMausBot/blob/main/docs/mcp-server.md",
      "capabilities": [
        "agent.multi-agent",
        "agent.harness",
        "agent.mcp-client",
        "desktop.control"
      ],
      "tags": [
        "open-source",
        "apache-2.0",
        "self-hosted",
        "local",
        "freemium",
        "no-card",
        "mcp",
        "stdio",
        "cli",
        "typescript",
        "desktop-app",
        "macos",
        "windows",
        "linux",
        "docker"
      ],
      "lastRelease": "2026-11-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.4,
        "grade": "B",
        "agentReady": false,
        "rank": 422,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 11,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 74,
          "payments": 50,
          "reliability": 60,
          "schema": 90,
          "security": 59,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-18. The privacy policy (last updated 18 October 2026, still the current version on 2 November) says the desktop and companion apps contain no third-party analytics SDKs, while the app's source loads posthog-js and sends events to us.i.posthog.com unless the owner switches analytics off, as docs/analytics.md describes. Disclosed in the README and docs, so a misleading claim rather than undisclosed telemetry, -2. https://mausbot.com/privacy, https://github.com/milind-soni/OpenMausBot/blob/main/src/lib/analytics.ts"
        ],
        "verdict": "A bounded 20-tool MCP server with typed schemas, annotations and idempotent sends, and a headless CLI with JSON output and exit codes, let another agent hand work to a bot team and wait on it. New bots start at Full access, so provider permission requests pass without a card, and usage analytics stay on until switched off.",
        "bestFor": "A person or an outside agent who wants several CLI agents (Claude Code, Codex, Grok, ACP CLIs) organised as named bots with their own computers, routines and approvals, driven by MCP or a CLI.",
        "strengths": [
          "20 MCP tools with typed inputs, `additionalProperties: false`, limits and readOnlyHint, destructiveHint and idempotentHint on every tool",
          "`wait_for_conversation` holds until the job changes and returns settled, needs-user, failed, stalled or timed-out with the job tree",
          "`send_id` makes a repeated send return the first receipt instead of posting twice",
          "The `openmausbot` CLI prints one JSON document with `--json` and uses documented exit codes, 3 for a pending approval and 4 for a timeout",
          "128 desktop releases between 11 August and 30 October 2026, published to npm by GitHub Actions trusted publishing with provenance"
        ],
        "weaknesses": [
          "New bots start at Full access, which approves provider permission requests without a card",
          "Usage analytics to PostHog are on by default, while the privacy policy says the apps carry no third-party analytics SDKs",
          "Pre-1.0 (0.1.134), with new capabilities shipped in patch versions and no breaking-change section in release notes",
          "The MCP server answers only while the desktop app or `openmausbot serve` is running, and mutating tools need a paired token",
          "Not in the official MCP registry. The Windows installer is not code-signed"
        ],
        "agentNotes": [
          "Ask the owner for a pairing code from Settings \u003e Phone, exchange it at `POST /api/auth/pair`, and set `OPENMAUSBOT_TOKEN` with an explicit `OMB_PORT`",
          "Pass a `send_id` with every `send_bot_message` and `send_channel_message`, so a retry returns the first receipt",
          "Use `wait_for_conversation` instead of polling, and on `needs-user` stop and tell the owner a card is waiting",
          "Check a bot's access level with the owner before sending work. New bots run at Full access unless defaults were changed",
          "Ask the owner to switch off Settings \u003e General \u003e Usage analytics if nothing beyond model calls should leave the machine"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.4
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 74,
          "payments": 50,
          "reliability": 60,
          "schema": 90,
          "security": 59,
          "transparency": 57
        },
        "provenanceScore": 61,
        "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",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g openmausbot   # Node.js 24 or newer, or download the desktop app from https://github.com/milind-soni/OpenMausBot/releases/latest",
        "config": {
          "mcpServers": {
            "openmausbot": {
              "args": [
                "mcp"
              ],
              "command": "openmausbot",
              "env": {
                "OMB_PORT": "8799"
              }
            }
          }
        },
        "headless": {
          "command": "openmausbot run \"Room Lead\" \"$TASK\" --json --export ./out",
          "env": {
            "OMB_PORT": "8799"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.multi-agent",
        "tool": "https://letme.dev/openmausbot"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "MausBot Cloud Starter (100 computer-hours)",
          "unit": "month",
          "usd": 15,
          "note": "Model usage billed by the owner's provider"
        },
        {
          "item": "MausBot Cloud Pro (300 computer-hours, $10 Claude credit)",
          "unit": "month",
          "usd": 49,
          "note": "Model usage beyond the credit billed by the owner's provider"
        },
        {
          "item": "MausBot Cloud Max (800 computer-hours, $20 Claude credit)",
          "unit": "month",
          "usd": 99,
          "note": "Model usage beyond the credit billed by the owner's provider"
        },
        {
          "item": "MausBot Team (up to 5 people)",
          "unit": "month",
          "usd": 169,
          "note": "$135 a month billed yearly"
        },
        {
          "item": "MausBot Business (up to 20 people)",
          "unit": "month",
          "usd": 599,
          "note": "$479 a month billed yearly"
        },
        {
          "item": "MausBot Business self-hosted (up to 20 people)",
          "unit": "month",
          "usd": 299,
          "note": "Billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Supamaus Software Private Limited",
        "domain": "mausbot.com",
        "domainRegistered": "2026-09-30",
        "endpointOnVendorDomain": null,
        "terms": "https://mausbot.com/terms",
        "privacy": "https://mausbot.com/privacy",
        "statusPage": "",
        "changelog": "https://github.com/milind-soni/OpenMausBot/releases",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The terms name Supamaus Software Private Limited, a company incorporated in India, with the laws of India and the courts at Pune. The contact page gives CIN U62011PN2026PTC259029 and names Milind Soni, Director, as grievance officer.",
          "The licence file and the enterprise licence read Copyright 2026 Milind Soni. LICENSING.md says the OpenMausBot and MausBot names and the mascot are trademarks of Supamaus Software Private Limited.",
          "RDAP at Verisign gives 2026-08-12 for openmausbot.com and 2026-09-30 for mausbot.com. The GitHub repository was created on 11 August 2026.",
          "www.openmausbot.com and docs.openmausbot.com disallow our crawler in robots.txt (ClaudeBot and anthropic-ai on www, every user agent on docs), so neither was read. mausbot.com allows all and was read. The docs site's source is in the repository under apps/docs and was read there.",
          "mausbot.com/.well-known/security.txt returned 404 on 30 October 2026. SECURITY.md in the repository gives an email and GitHub private vulnerability reporting.",
          "The software runs on the owner's machine, so there is no vendor endpoint or status page to check for the listed surface. MausBot Cloud is a hosted option with no status page found."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openmausbot.json",
      "live": {
        "slug": "openmausbot",
        "versions": [
          {
            "registry": "github",
            "name": "milind-soni/OpenMausBot",
            "version": "v0.1.145",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:53:02.175459475Z"
          },
          {
            "registry": "npm",
            "name": "openmausbot",
            "version": "0.1.145",
            "seenAt": "2026-11-06T23:53:01.950995472Z"
          }
        ],
        "githubStars": 15188,
        "npmWeekly": 5097,
        "securityTxt": {
          "url": "https://mausbot.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:48.748489803Z"
        },
        "domain": {
          "domain": "mausbot.com",
          "registered": "2026-09-30",
          "source": "https://rdap.verisign.com/com/v1/domain/mausbot.com",
          "checkedAt": "2026-11-01T14:24:15.591415932Z"
        },
        "pages": [
          {
            "url": "https://mausbot.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:14:00.77222467Z",
            "changedAt": "2026-11-07T14:14:00.77222467Z",
            "fingerprint": "856edefbf804"
          },
          {
            "url": "https://mausbot.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:14:03.007687853Z",
            "changedAt": "2026-11-07T14:14:03.007687853Z",
            "fingerprint": "138c87f37f10"
          },
          {
            "url": "https://mausbot.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:14:05.005599869Z",
            "changedAt": "2026-11-07T14:14:05.005599869Z",
            "fingerprint": "273786f4c812"
          }
        ],
        "github": {
          "repo": "milind-soni/openmausbot",
          "checkedAt": "2026-11-02T08:22:23.466686286Z",
          "stars": 10884,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T08:05:10Z",
          "openIssues": 399,
          "openPRs": 250,
          "issuesOpened90d": 800,
          "issuesClosed90d": 401,
          "prsMerged90d": 2568,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 26,
            "failure": 12,
            "other": 12,
            "latest": "success",
            "latestAt": "2026-11-02T08:13:15Z"
          }
        },
        "updatedAt": "2026-11-07T16:01:48.748489803Z"
      }
    },
    "edges": [
      {
        "by": 24,
        "category": "security",
        "leads": "openmausbot",
        "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": "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 prompt-injection posture, 15 for audit and 20 for the security programme. The harness binds to loopback and keys stay in `~/.openmausbot`, but PostHog usage analytics are on until switched off, with a daily snapshot of what is set up, and the CLI guide says API keys are saved in plaintext with mode 0600 (18). Approval cards for provider permission requests, a narrow Always allow, isolated Local VMs and cloud computers, own-computer control off by default, and an MCP server that cannot approve, delete or touch credentials. New bots start at Full access, bot changes to skills, profiles and team setup apply without approval, and new bots keep every connected-app tool until grants are assigned (10). The docs say web page instructions never authorise credential use and that one-time codes go only to the site that sent them, and imported bots arrive with no grants, but bots read one-time codes from connected email without asking again (9). Per-thread NDJSON event logs, an Inspector, a decision log for connected-app grants and Undo lines for bot changes (12). SECURITY.md with an email, GitHub private vulnerability reporting enabled and scope notes that name one open risk. No published advisories, security.txt or bug bounty. npm releases use trusted publishing with provenance, and the Windows installer is unsigned (10)."
        },
        "scores": {
          "a": 35,
          "b": 59
        }
      },
      {
        "by": 20,
        "category": "schema",
        "leads": "openmausbot",
        "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": "The MCP server's 20 tools each have a JSON Schema input with `additionalProperties: false` and required fields marked. No OpenAPI for the local HTTP API (25). Markdown docs in the repository, and the docs app's source serves llms.txt, llms-full.txt and Markdown routes. docs.openmausbot.com disallows every crawler, so the live llms.txt was not read (10). Descriptions state purpose and limits, such as that `update_bot_profile` cannot alter permissions, that `send_bot_message` may make the bot use external tools and that `edit_bot_message` is refused while a thread works, and the server instructions say to read before mutating. Few say when not to use a tool (15). Integer limits with minimum and maximum, an enum on `scope`, a pattern on `send_id` and `oneOf` shapes for responders (13). JSON configuration examples for each install path, the wait statuses and job states, CLI exit codes and a `{ ok, error, hint, exitCode }` failure shape (12). MCP server version 1.1.0, release notes per version and a changelog page in the docs (15)."
        },
        "scores": {
          "a": 70,
          "b": 90
        }
      },
      {
        "by": 11,
        "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": "v0.1.137 on 1 November 2026, after v0.1.135 on 31 October and v0.1.136 on 1 November (30). 128 desktop versions from 11 August to 30 October 2026, and three more since (20). The maintainer has 4,221 commits and the contributor list returns at least 100 accounts. 587 issues and pull requests were open from about 3,940 filed on 30 October, when we could only sample the newest open issues, nearly all from the last two days and mostly unanswered so far (per the 30 October check; github.com refuses our requests on 2 November) (16). Not in the official MCP registry, which returns nothing for mausbot (0). CI on main runs on every push with most finished runs passing, npm provenance and an SBOM for the bundled Cua runtime (per the 30 October check) (8). 30+20+16+0+8 = 74."
        },
        "scores": {
          "a": 85,
          "b": 74
        }
      },
      {
        "by": 10,
        "category": "ergonomics",
        "leads": "openmausbot",
        "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": "20 tools, inside the 11 to 30 band, with annotations that separate reads from writes but no toolsets or read-only mode to load. Transcript reads are bounded and never return screenshot pixels (17). `limit` up to 200 messages, search capped at 100 hits, `task_id` and `scope` filters, and `since_ms` and `after_version` to keep watching a job (17). `wait_for_conversation` reports settled, needs-user, failed, stalled or timed-out with a redacted transcript tail, and the CLI's exit codes separate a pending approval from a timeout. We did not read every MCP error path (15). `send_id` makes a repeated send return the first receipt, `wait` is held by the server rather than polled, and every tool carries readOnlyHint, destructiveHint, idempotentHint and openWorldHint (20). Few required parameters and defaults for task, limit and timeout. The server answers only while the app or `openmausbot serve` runs, mutating tools need a paired token in packaged builds, and there is no client SDK beyond the CLI (8)."
        },
        "scores": {
          "a": 67,
          "b": 77
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "letta",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0 of 40). Per-unit API prices are public, $0.10 per active agent a month and $0.00015 a second of tool execution, plus plan prices (20). A $0 plan with bring-your-own keys; no card is mentioned (20). The CLI runs locally without signing in (20). Total 60.",
          "b": "No payment protocol (0). MausBot Cloud, the hosted option, is priced by plan on a public page ($15, $49 and $99 a month, Team $169 and Business $599, or Business self-hosted $299 a month billed yearly, re-read on 2 November), with extra computer-hours at $0.05 each, so plan pricing (10). The app is free with no card or account (20). `npx openmausbot` installs and starts it with no signup (20)."
        },
        "scores": {
          "a": 60,
          "b": 50
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Letta",
        "b": "Supamaus Software Private Limited",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "stdio",
        "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": "none",
        "b": "20",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-06",
        "b": "2026-11-01",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-10-10",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-10-18",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "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": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "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": "8.2k stars, 3.5k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "OpenMausBot scores 65.4 (B) on agent readiness against Letta's 59.7 (C), and leads in 5 of 7 scored categories. Letta leads on payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Letta or OpenMausBot?"
      },
      {
        "answer": "Yes. Letta is open source (Apache-2.0). OpenMausBot is open source (Apache-2.0).",
        "question": "Are Letta and OpenMausBot open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 50",
          "Maintenance \u0026 community, 85 against 74"
        ],
        "also": null,
        "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": [
          "Schema \u0026 documentation, 90 against 70",
          "Agent ergonomics, 77 against 67",
          "Security \u0026 auth, 59 against 35"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "A person or an outside agent who wants several CLI agents (Claude Code, Codex, Grok, ACP CLIs) organised as named bots with their own computers, routines and approvals, driven by MCP or a CLI.",
        "slug": "openmausbot",
        "watchFor": "New bots start at Full access, which approves provider permission requests without a card"
      }
    ],
    "history": null,
    "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-openmausbot.json",
        "title": "Agent Zero vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Aider vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Amp vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/amp-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Antigravity CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Auggie CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "AXLR vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Claude Code vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Cline vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/cline-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Conductor vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Crush vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Cursor CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "DeepSeek Harness (dsh) vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "dsh-superagent (DeepSeek) vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Devin vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/devin-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Droid CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Pi vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Emdash vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Gemini CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "GitHub Copilot CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "goose vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/goose-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Harness² vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "HarnessRouter vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Jules vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Junie CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Kilo Code CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Kimi Code CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Kiro CLI vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openmausbot"
      },
      {
        "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-mistral-vibe-cli.json",
        "title": "Letta vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli"
      },
      {
        "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-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-openmausbot.json",
        "title": "mini-swe-agent vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-openmausbot.json",
        "title": "MiniMax Code vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-openmausbot"
      },
      {
        "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/muse-code-vs-openmausbot.json",
        "title": "Muse Code vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openmausbot.json",
        "title": "OpenAI Agents API vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-openmausbot.json",
        "title": "OpenAI Codex vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-openmausbot.json",
        "title": "OpenCode vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-openmausbot.json",
        "title": "OpenHands vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Clawboo vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "CLI Manager vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-openmausbot"
      },
      {
        "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-openmausbot.json",
        "title": "Harness vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-openmausbot"
      },
      {
        "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/openmausbot-vs-orca.json",
        "title": "OpenMausBot vs Orca",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-paperclip.json",
        "title": "OpenMausBot vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-parallax-agents.json",
        "title": "OpenMausBot vs Parallax",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-paseo.json",
        "title": "OpenMausBot vs Paseo",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-prime-agent.json",
        "title": "OpenMausBot vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-qoder-cli.json",
        "title": "OpenMausBot vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code.json",
        "title": "OpenMausBot vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-reflection-mirror.json",
        "title": "OpenMausBot vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-rovo-dev-cli.json",
        "title": "OpenMausBot vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-sculptor.json",
        "title": "OpenMausBot vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-t3-code.json",
        "title": "OpenMausBot vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-traycer.json",
        "title": "OpenMausBot vs Traycer",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-unstoppable.json",
        "title": "OpenMausBot vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-verdent.json",
        "title": "OpenMausBot vs Verdent",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-vibe-trading.json",
        "title": "OpenMausBot vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-warp.json",
        "title": "OpenMausBot vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-warp"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 2,
        "edge": "openmausbot",
        "key": "reliability",
        "letta": 58,
        "name": "Reliability",
        "openmausbot": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "edge": "openmausbot",
        "key": "schema",
        "letta": 70,
        "name": "Schema \u0026 documentation",
        "openmausbot": 90,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "openmausbot",
        "key": "ergonomics",
        "letta": 67,
        "name": "Agent ergonomics",
        "openmausbot": 77,
        "weight": 13
      },
      {
        "by": 24,
        "edge": "openmausbot",
        "key": "security",
        "letta": 35,
        "name": "Security \u0026 auth",
        "openmausbot": 59,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "letta",
        "key": "payments",
        "letta": 60,
        "name": "Payments \u0026 pricing",
        "openmausbot": 50,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "letta",
        "key": "maintenance",
        "letta": 85,
        "name": "Maintenance \u0026 community",
        "openmausbot": 74,
        "weight": 7
      },
      {
        "by": 4,
        "edge": "openmausbot",
        "key": "transparency",
        "letta": 55,
        "name": "Transparency \u0026 trust",
        "openmausbot": 59,
        "weight": 7
      }
    ],
    "summary": "OpenMausBot scores 65.4 (B) on agent readiness against Letta's 59.7 (C), and leads in 5 of 7 scored categories. Letta leads on payments \u0026 pricing and maintenance \u0026 community. 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.",
      "openmausbot": "A bounded 20-tool MCP server with typed schemas, annotations and idempotent sends, and a headless CLI with JSON output and exit codes, let another agent hand work to a bot team and wait on it. New bots start at Full access, so provider permission requests pass without a card, and usage analytics stay on until switched off."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/letta-vs-openmausbot",
    "json": "https://www.anchorterminal.com/compare/letta-vs-openmausbot.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/letta-vs-openmausbot.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/letta-vs-openmausbot.min.md"
  },
  "markdown": "OpenMausBot scores 65.4 (B) on agent readiness against Letta's 59.7 (C), and leads in 5 of 7 scored categories. Letta leads on payments \u0026 pricing and maintenance \u0026 community. Both do agent harnesses.\n\n- Letta: grade C, 59.7/100, rank #684 of 1486. Markdown https://www.anchorterminal.com/tools/letta.md · JSON https://www.anchorterminal.com/api/v1/tools/letta.json\n- OpenMausBot: grade B, 65.4/100, rank #422 of 1486. Markdown https://www.anchorterminal.com/tools/openmausbot.md · JSON https://www.anchorterminal.com/api/v1/tools/openmausbot.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- Payments \u0026 pricing, 60 against 50\n- Maintenance \u0026 community, 85 against 74\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### OpenMausBot (B)\n\nGood for: A person or an outside agent who wants several CLI agents (Claude Code, Codex, Grok, ACP CLIs) organised as named bots with their own computers, routines and approvals, driven by MCP or a CLI.\n\nAhead on:\n- Schema \u0026 documentation, 90 against 70\n- Agent ergonomics, 77 against 67\n- Security \u0026 auth, 59 against 35\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: New bots start at Full access, which approves provider permission requests without a card\n\n\n## Why the edge\n\n### Security \u0026 auth: OpenMausBot +24\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- OpenMausBot (59): 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 prompt-injection posture, 15 for audit and 20 for the security programme. The harness binds to loopback and keys stay in `~/.openmausbot`, but PostHog usage analytics are on until switched off, with a daily snapshot of what is set up, and the CLI guide says API keys are saved in plaintext with mode 0600 (18). Approval cards for provider permission requests, a narrow Always allow, isolated Local VMs and cloud computers, own-computer control off by default, and an MCP server that cannot approve, delete or touch credentials. New bots start at Full access, bot changes to skills, profiles and team setup apply without approval, and new bots keep every connected-app tool until grants are assigned (10). The docs say web page instructions never authorise credential use and that one-time codes go only to the site that sent them, and imported bots arrive with no grants, but bots read one-time codes from connected email without asking again (9). Per-thread NDJSON event logs, an Inspector, a decision log for connected-app grants and Undo lines for bot changes (12). SECURITY.md with an email, GitHub private vulnerability reporting enabled and scope notes that name one open risk. No published advisories, security.txt or bug bounty. npm releases use trusted publishing with provenance, and the Windows installer is unsigned (10).\n\n### Schema \u0026 documentation: OpenMausBot +20\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- OpenMausBot (90): The MCP server's 20 tools each have a JSON Schema input with `additionalProperties: false` and required fields marked. No OpenAPI for the local HTTP API (25). Markdown docs in the repository, and the docs app's source serves llms.txt, llms-full.txt and Markdown routes. docs.openmausbot.com disallows every crawler, so the live llms.txt was not read (10). Descriptions state purpose and limits, such as that `update_bot_profile` cannot alter permissions, that `send_bot_message` may make the bot use external tools and that `edit_bot_message` is refused while a thread works, and the server instructions say to read before mutating. Few say when not to use a tool (15). Integer limits with minimum and maximum, an enum on `scope`, a pattern on `send_id` and `oneOf` shapes for responders (13). JSON configuration examples for each install path, the wait statuses and job states, CLI exit codes and a `{ ok, error, hint, exitCode }` failure shape (12). MCP server version 1.1.0, release notes per version and a changelog page in the docs (15).\n\n### Maintenance \u0026 community: Letta +11\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- OpenMausBot (74): v0.1.137 on 1 November 2026, after v0.1.135 on 31 October and v0.1.136 on 1 November (30). 128 desktop versions from 11 August to 30 October 2026, and three more since (20). The maintainer has 4,221 commits and the contributor list returns at least 100 accounts. 587 issues and pull requests were open from about 3,940 filed on 30 October, when we could only sample the newest open issues, nearly all from the last two days and mostly unanswered so far (per the 30 October check; github.com refuses our requests on 2 November) (16). Not in the official MCP registry, which returns nothing for mausbot (0). CI on main runs on every push with most finished runs passing, npm provenance and an SBOM for the bundled Cua runtime (per the 30 October check) (8). 30+20+16+0+8 = 74.\n\n### Agent ergonomics: OpenMausBot +10\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- OpenMausBot (77): 20 tools, inside the 11 to 30 band, with annotations that separate reads from writes but no toolsets or read-only mode to load. Transcript reads are bounded and never return screenshot pixels (17). `limit` up to 200 messages, search capped at 100 hits, `task_id` and `scope` filters, and `since_ms` and `after_version` to keep watching a job (17). `wait_for_conversation` reports settled, needs-user, failed, stalled or timed-out with a redacted transcript tail, and the CLI's exit codes separate a pending approval from a timeout. We did not read every MCP error path (15). `send_id` makes a repeated send return the first receipt, `wait` is held by the server rather than polled, and every tool carries readOnlyHint, destructiveHint, idempotentHint and openWorldHint (20). Few required parameters and defaults for task, limit and timeout. The server answers only while the app or `openmausbot serve` runs, mutating tools need a paired token in packaged builds, and there is no client SDK beyond the CLI (8).\n\n### Payments \u0026 pricing: Letta +10\n\n- Letta (60): No x402, MPP or L402 (0 of 40). Per-unit API prices are public, $0.10 per active agent a month and $0.00015 a second of tool execution, plus plan prices (20). A $0 plan with bring-your-own keys; no card is mentioned (20). The CLI runs locally without signing in (20). Total 60.\n- OpenMausBot (50): No payment protocol (0). MausBot Cloud, the hosted option, is priced by plan on a public page ($15, $49 and $99 a month, Team $169 and Business $599, or Business self-hosted $299 a month billed yearly, re-read on 2 November), with extra computer-hours at $0.05 each, so plan pricing (10). The app is free with no card or account (20). `npx openmausbot` installs and starts it with no signup (20).\n\n## Score by category\n\n| Category | Weight | Letta | OpenMausBot | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 60 | OpenMausBot +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 90 | OpenMausBot +20 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 77 | OpenMausBot +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 35 | 59 | OpenMausBot +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 50 | Letta +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 74 | Letta +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 59 | OpenMausBot +4 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **59.7 · C** | **65.4 · B** | |\n\n## Facts side by side\n\n| Fact | Letta | OpenMausBot |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Letta | Supamaus Software Private Limited |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio | 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| Tools exposed | none | 20 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-11-06 | 2026-11-01 |\n| Terms last updated | no date given | 2026-10-10 |\n| Privacy policy last updated | no date given | 2026-10-18 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 3.8k stars, 86k npm/wk, 2.2k PyPI/wk | 8.2k stars, 3.5k npm/wk |\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**OpenMausBot.** A bounded 20-tool MCP server with typed schemas, annotations and idempotent sends, and a headless CLI with JSON output and exit codes, let another agent hand work to a bot team and wait on it. New bots start at Full access, so provider permission requests pass without a card, and usage analytics stay on until switched off.\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### OpenMausBot\n\n1. Ask the owner for a pairing code from Settings \u003e Phone, exchange it at `POST /api/auth/pair`, and set `OPENMAUSBOT_TOKEN` with an explicit `OMB_PORT`\n2. Pass a `send_id` with every `send_bot_message` and `send_channel_message`, so a retry returns the first receipt\n3. Use `wait_for_conversation` instead of polling, and on `needs-user` stop and tell the owner a card is waiting\n4. Check a bot's access level with the owner before sending work. New bots run at Full access unless defaults were changed\n5. Ask the owner to switch off Settings \u003e General \u003e Usage analytics if nothing beyond model calls should leave the machine\n\n## Questions\n\n### Which is better for AI agents, Letta or OpenMausBot?\n\nOpenMausBot scores 65.4 (B) on agent readiness against Letta's 59.7 (C), and leads in 5 of 7 scored categories. Letta leads on payments \u0026 pricing and maintenance \u0026 community.\n\n### Are Letta and OpenMausBot open source?\n\nYes. Letta is open source (Apache-2.0). OpenMausBot is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/letta-vs-openmausbot.json, and with the fewest tokens: https://www.anchorterminal.com/compare/letta-vs-openmausbot.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"letta\", \"b\": \"openmausbot\"}`. From a terminal: `anchor compare letta openmausbot`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/letta.json and https://www.anchorterminal.com/api/v1/tools/openmausbot.json\n\n## Other comparisons with Letta or OpenMausBot\n\n- [Agent Zero vs Letta](https://www.anchorterminal.com/compare/agent-zero-vs-letta.md)\n- [Agent Zero vs OpenMausBot](https://www.anchorterminal.com/compare/agent-zero-vs-openmausbot.md)\n- [Aider vs Letta](https://www.anchorterminal.com/compare/aider-vs-letta.md)\n- [Aider vs OpenMausBot](https://www.anchorterminal.com/compare/aider-vs-openmausbot.md)\n- [Amp vs Letta](https://www.anchorterminal.com/compare/amp-vs-letta.md)\n- [Amp vs OpenMausBot](https://www.anchorterminal.com/compare/amp-vs-openmausbot.md)\n- [Antigravity CLI vs Letta](https://www.anchorterminal.com/compare/antigravity-cli-vs-letta.md)\n- [Antigravity CLI vs OpenMausBot](https://www.anchorterminal.com/compare/antigravity-cli-vs-openmausbot.md)\n- [Auggie CLI vs Letta](https://www.anchorterminal.com/compare/auggie-vs-letta.md)\n- [Auggie CLI vs OpenMausBot](https://www.anchorterminal.com/compare/auggie-vs-openmausbot.md)\n- [AXLR vs Letta](https://www.anchorterminal.com/compare/axlr-vs-letta.md)\n- [AXLR vs OpenMausBot](https://www.anchorterminal.com/compare/axlr-vs-openmausbot.md)\n- [Claude Code vs Letta](https://www.anchorterminal.com/compare/claude-code-vs-letta.md)\n- [Claude Code vs OpenMausBot](https://www.anchorterminal.com/compare/claude-code-vs-openmausbot.md)\n- [Cline vs Letta](https://www.anchorterminal.com/compare/cline-vs-letta.md)\n- [Cline vs OpenMausBot](https://www.anchorterminal.com/compare/cline-vs-openmausbot.md)\n- [Conductor vs Letta](https://www.anchorterminal.com/compare/conductor-vs-letta.md)\n- [Conductor vs OpenMausBot](https://www.anchorterminal.com/compare/conductor-vs-openmausbot.md)\n- [Crush vs Letta](https://www.anchorterminal.com/compare/crush-vs-letta.md)\n- [Crush vs OpenMausBot](https://www.anchorterminal.com/compare/crush-vs-openmausbot.md)\n- [Cursor CLI vs Letta](https://www.anchorterminal.com/compare/cursor-cli-vs-letta.md)\n- [Cursor CLI vs OpenMausBot](https://www.anchorterminal.com/compare/cursor-cli-vs-openmausbot.md)\n- [DeepSeek Harness (dsh) vs Letta](https://www.anchorterminal.com/compare/deepseek-harness-vs-letta.md)\n- [DeepSeek Harness (dsh) vs OpenMausBot](https://www.anchorterminal.com/compare/deepseek-harness-vs-openmausbot.md)\n- [dsh-superagent (DeepSeek) vs Letta](https://www.anchorterminal.com/compare/deepseek-superagent-vs-letta.md)\n- [dsh-superagent (DeepSeek) vs OpenMausBot](https://www.anchorterminal.com/compare/deepseek-superagent-vs-openmausbot.md)\n- [Devin vs Letta](https://www.anchorterminal.com/compare/devin-vs-letta.md)\n- [Devin vs OpenMausBot](https://www.anchorterminal.com/compare/devin-vs-openmausbot.md)\n- [Droid CLI vs Letta](https://www.anchorterminal.com/compare/droid-cli-vs-letta.md)\n- [Droid CLI vs OpenMausBot](https://www.anchorterminal.com/compare/droid-cli-vs-openmausbot.md)\n- [Pi vs Letta](https://www.anchorterminal.com/compare/earendil-pi-vs-letta.md)\n- [Pi vs OpenMausBot](https://www.anchorterminal.com/compare/earendil-pi-vs-openmausbot.md)\n- [Emdash vs Letta](https://www.anchorterminal.com/compare/emdash-vs-letta.md)\n- [Emdash vs OpenMausBot](https://www.anchorterminal.com/compare/emdash-vs-openmausbot.md)\n- [Gemini CLI vs Letta](https://www.anchorterminal.com/compare/gemini-cli-vs-letta.md)\n- [Gemini CLI vs OpenMausBot](https://www.anchorterminal.com/compare/gemini-cli-vs-openmausbot.md)\n- [GitHub Copilot CLI vs Letta](https://www.anchorterminal.com/compare/github-copilot-cli-vs-letta.md)\n- [GitHub Copilot CLI vs OpenMausBot](https://www.anchorterminal.com/compare/github-copilot-cli-vs-openmausbot.md)\n- [goose vs Letta](https://www.anchorterminal.com/compare/goose-vs-letta.md)\n- [goose vs OpenMausBot](https://www.anchorterminal.com/compare/goose-vs-openmausbot.md)\n- [Harness² vs Letta](https://www.anchorterminal.com/compare/harness2-vs-letta.md)\n- [Harness² vs OpenMausBot](https://www.anchorterminal.com/compare/harness2-vs-openmausbot.md)\n- [HarnessRouter vs Letta](https://www.anchorterminal.com/compare/harnessrouter-vs-letta.md)\n- [HarnessRouter vs OpenMausBot](https://www.anchorterminal.com/compare/harnessrouter-vs-openmausbot.md)\n- [Jules vs Letta](https://www.anchorterminal.com/compare/jules-vs-letta.md)\n- [Jules vs OpenMausBot](https://www.anchorterminal.com/compare/jules-vs-openmausbot.md)\n- [Junie CLI vs Letta](https://www.anchorterminal.com/compare/junie-vs-letta.md)\n- [Junie CLI vs OpenMausBot](https://www.anchorterminal.com/compare/junie-vs-openmausbot.md)\n- [Kilo Code CLI vs Letta](https://www.anchorterminal.com/compare/kilo-code-cli-vs-letta.md)\n- [Kilo Code CLI vs OpenMausBot](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openmausbot.md)\n- [Kimi Code CLI vs Letta](https://www.anchorterminal.com/compare/kimi-code-cli-vs-letta.md)\n- [Kimi Code CLI vs OpenMausBot](https://www.anchorterminal.com/compare/kimi-code-cli-vs-openmausbot.md)\n- [Kiro CLI vs Letta](https://www.anchorterminal.com/compare/kiro-cli-vs-letta.md)\n- [Kiro CLI vs OpenMausBot](https://www.anchorterminal.com/compare/kiro-cli-vs-openmausbot.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 Mistral Vibe CLI](https://www.anchorterminal.com/compare/letta-vs-mistral-vibe-cli.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 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 OpenMausBot](https://www.anchorterminal.com/compare/mini-swe-agent-vs-openmausbot.md)\n- [MiniMax Code vs OpenMausBot](https://www.anchorterminal.com/compare/minimax-code-vs-openmausbot.md)\n- [Mistral Vibe CLI vs OpenMausBot](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openmausbot.md)\n- [Muse Code vs OpenMausBot](https://www.anchorterminal.com/compare/muse-code-vs-openmausbot.md)\n- [OpenAI Agents API vs OpenMausBot](https://www.anchorterminal.com/compare/openai-agents-api-vs-openmausbot.md)\n- [OpenAI Codex vs OpenMausBot](https://www.anchorterminal.com/compare/openai-codex-vs-openmausbot.md)\n- [OpenCode vs OpenMausBot](https://www.anchorterminal.com/compare/opencode-vs-openmausbot.md)\n- [OpenHands vs OpenMausBot](https://www.anchorterminal.com/compare/openhands-vs-openmausbot.md)\n- [Clawboo vs Letta](https://www.anchorterminal.com/compare/clawboo-vs-letta.md)\n- [Clawboo vs OpenMausBot](https://www.anchorterminal.com/compare/clawboo-vs-openmausbot.md)\n- [CLI Manager vs Letta](https://www.anchorterminal.com/compare/cli-manager-vs-letta.md)\n- [CLI Manager vs OpenMausBot](https://www.anchorterminal.com/compare/cli-manager-vs-openmausbot.md)\n- [Harness vs Letta](https://www.anchorterminal.com/compare/harness-autonomous-vs-letta.md)\n- [Harness vs OpenMausBot](https://www.anchorterminal.com/compare/harness-autonomous-vs-openmausbot.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- [OpenMausBot vs Orca](https://www.anchorterminal.com/compare/openmausbot-vs-orca.md)\n- [OpenMausBot vs Paperclip](https://www.anchorterminal.com/compare/openmausbot-vs-paperclip.md)\n- [OpenMausBot vs Parallax](https://www.anchorterminal.com/compare/openmausbot-vs-parallax-agents.md)\n- [OpenMausBot vs Paseo](https://www.anchorterminal.com/compare/openmausbot-vs-paseo.md)\n- [OpenMausBot vs Prime Agent](https://www.anchorterminal.com/compare/openmausbot-vs-prime-agent.md)\n- [OpenMausBot vs Qoder CLI](https://www.anchorterminal.com/compare/openmausbot-vs-qoder-cli.md)\n- [OpenMausBot vs Qwen Code](https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code.md)\n- [OpenMausBot vs Mirror CLI](https://www.anchorterminal.com/compare/openmausbot-vs-reflection-mirror.md)\n- [OpenMausBot vs Rovo Dev CLI](https://www.anchorterminal.com/compare/openmausbot-vs-rovo-dev-cli.md)\n- [OpenMausBot vs Sculptor](https://www.anchorterminal.com/compare/openmausbot-vs-sculptor.md)\n- [OpenMausBot vs T3 Code](https://www.anchorterminal.com/compare/openmausbot-vs-t3-code.md)\n- [OpenMausBot vs Traycer](https://www.anchorterminal.com/compare/openmausbot-vs-traycer.md)\n- [OpenMausBot vs Unstoppable](https://www.anchorterminal.com/compare/openmausbot-vs-unstoppable.md)\n- [OpenMausBot vs Verdent](https://www.anchorterminal.com/compare/openmausbot-vs-verdent.md)\n- [OpenMausBot vs Vibe-Trading](https://www.anchorterminal.com/compare/openmausbot-vs-vibe-trading.md)\n- [OpenMausBot vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/openmausbot-vs-warp.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 OpenMausBot",
        "url": ""
      }
    ],
    "description": "OpenMausBot scores 65.4 (B) to Letta's 59.7 (C) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Letta C 59.7",
      "OpenMausBot B 65.4",
      "scores"
    ],
    "h1": "Letta vs OpenMausBot",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/letta-vs-openmausbot",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Letta vs OpenMausBot for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/letta-vs-openmausbot"
  },
  "tokens": {
    "markdown": 6250,
    "slim": 2480
  },
  "version": 1
}
