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