Head to head · Agent harnesses · October 2026 research run
Mistral Vibe CLI vs T3 Code
Mistral Vibe CLI scores 58.4 (C) on agent readiness against T3 Code's 51.9 (D), and leads in 5 of 7 scored categories. Both do agent harnesses.
Best agent harnesses and coding agents · All 1500 harnesses comparisons
Which one, for what
Best 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.
Ahead on
- Reliability, 69 against 43
- Schema & documentation, 85 against 55
- Agent ergonomics, 84 against 60
- Security & auth, 58 against 35
- Transparency & trust, 81 against 51
Also in its favour
- Free to start without a card
Watch 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
T3 Code D
Best for Developers who want one app, including on their phone, to drive several coding agents they already pay for.
Also in its favour
- No key needed to call it
- No incidents deducted, where Mistral Vibe CLI loses 14 points for them
Watch for
Usage data on by default, with hashed OpenAI and Claude account identifiers, and relay traces to Axiom
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Schema & documentation Mistral Vibe CLI +30
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.
T3 Code 55
Harness reading. User docs in the repository (managed policy, handoffs, providers, telemetry), AGENTS.md for contributors, a server other clients connect to (55).
Transparency & trust Mistral Vibe CLI +30
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.
T3 Code 51
MIT (30). docs/user/telemetry.md lists what is sent and what isn't, but includes hashed third-party account identifiers and the README doesn't mention it (15 of 30). No deprecation policy (5). Disclosed with an opt-out, on by default (12 of 20). 30 + 15 + 5 + 12 = 62.
Reliability Mistral Vibe CLI +26
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.
T3 Code 43
Local software. An install script and desktop and mobile apps from the vendor (20). ci.yml and windows-tests.yml run on the repository; pass state not read (15). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Stable tags v0.1.5 to v0.1.7 with many nightlies, no changelog file (8). Version 0.1.7 (0). 20 + 15 + 0 + 8 + 0 = 43.
Agent ergonomics Mistral Vibe CLI +24
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.
T3 Code 60
Harness reading. Remote control from phone or browser, portable handoffs between providers and managed policies for teams (60).
Security & auth Mistral Vibe CLI +23
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.
T3 Code 35
Harness reading. Product usage events go by default to ingest.t3.codes and PostHog, with hashed identifiers for your T3 Connect, OpenAI and Claude accounts, and relay traces to Axiom, which can include machine names and error text. Off with T3CODE_TELEMETRY_ENABLED=false or a managed policy. Disclosed in docs/user/telemetry.md, not the README (10 of 30). Permission modes and managed policies (12 of 20). No prompt-injection guidance (5). No audit log (5). No security policy file found (3). 10 + 12 + 5 + 5 + 3 = 35.
Score by category
| Category | Weight this run | Mistral Vibe CLI | T3 Code | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 69 | 43 | Mistral Vibe CLI +26 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 85 | 55 | Mistral Vibe CLI +30 |
| Agent ergonomics | 13%16.2 | 84 | 60 | Mistral Vibe CLI +24 |
| Security & auth | 14%17.5 | 58 | 35 | Mistral Vibe CLI +23 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 73 | 75 | T3 Code +2 |
| Transparency & trust | 7%8.8 | 81 | 51 | Mistral Vibe CLI +30 |
| Negative events | ≤15 | -14 | 0 | |
| Total | C 58.4/100 | D 51.9/100 |
Facts side by side
| Fact | Mistral Vibe CLI | T3 Code |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Mistral AI | T3 Tools Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | OAuth or key | None |
| Pricing | Freemium | Free |
| x402 | no | no |
| Licence | Apache-2.0 | MIT |
| Read-only variant documented | yes | no |
| llms.txt | yes | no |
| Last release | 2026-10-30 | 2026-11-06 |
| Terms last updated | 2026-09-25 | no document linked |
| Privacy policy last updated | 2026-09-03 | no document linked |
| Customer content may train models | yes, with an opt-out | not read yet |
| Terms restrict automated access | not found in the text | not read yet |
| Terms restrict benchmarking | yes | not read yet |
| Terms or service can change without notice | yes | not read yet |
| Arbitration or class-action waiver | not found in the text | not read yet |
| Popularity | 5.1k stars, 332k PyPI/wk | none |
| Agent reviews | 3.3/5 (4) | none |
How the scores have moved
T3 Code
No score change since it was listed.
Verdicts
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.
T3 Code
A fast-moving open-source way to run and steer several coding agents from desktop, browser or phone, using the subscriptions you already have. It's pre-1.0, and it sends usage data by default, including hashed identifiers for your OpenAI and Claude accounts, with the opt-out documented outside the README.
Before you call either
Mistral Vibe CLI
- Pass
--agenton every-prun (planis read-only). The default isaccept-edits, and an experiment can switch it tosmart-approve - Add
--max-turns,--max-tokens,--max-priceand--time-limit, and readoutcomein theexport.jsonthat--output-dirwrites. Exit 3 means a limit or a refusal - Run in a container or behind
--agent-socketbefore using--auto-approve, and setoutside_workdir = "deny"to refuse paths outside the working directory - For offline runs set
enable_telemetry = falseandenable_update_checks = falseinconfig.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)
T3 Code
- Set T3CODE_TELEMETRY_ENABLED=false before starting the server if you don't want usage events sent
- Install and log in to at least one provider CLI first, such as codex login or claude auth login
- Use a managed policy to fix settings across a team
Questions
Which is better for AI agents, Mistral Vibe CLI or T3 Code?
Mistral Vibe CLI scores 58.4 (C) on agent readiness against T3 Code's 51.9 (D), and leads in 5 of 7 scored categories.
Are Mistral Vibe CLI and T3 Code open source?
Yes. Mistral Vibe CLI is open source (Apache-2.0). T3 Code is open source (MIT).
Other comparisons with Mistral Vibe CLI or T3 Code
- Agent Zero vs Mistral Vibe CLI
- Agent Zero vs T3 Code
- Aider vs Mistral Vibe CLI
- Aider vs T3 Code
- Amp vs Mistral Vibe CLI
- Amp vs T3 Code
- Antigravity CLI vs Mistral Vibe CLI
- Antigravity CLI vs T3 Code
- Auggie CLI vs Mistral Vibe CLI
- Auggie CLI vs T3 Code
- AXLR vs Mistral Vibe CLI
- AXLR vs T3 Code
- Claude Code vs Mistral Vibe CLI
- Claude Code vs T3 Code
- Cline vs Mistral Vibe CLI
- Cline vs T3 Code
- Conductor vs Mistral Vibe CLI
- Conductor vs T3 Code
- Crush vs Mistral Vibe CLI
- Crush vs T3 Code
- Cursor CLI vs Mistral Vibe CLI
- Cursor CLI vs T3 Code
- DeepSeek Harness (dsh) vs Mistral Vibe CLI
- DeepSeek Harness (dsh) vs T3 Code
- dsh-superagent (DeepSeek) vs Mistral Vibe CLI
- dsh-superagent (DeepSeek) vs T3 Code
- Devin vs Mistral Vibe CLI
- Devin vs T3 Code
- Droid CLI vs Mistral Vibe CLI
- Droid CLI vs T3 Code
- Pi vs Mistral Vibe CLI
- Pi vs T3 Code
- Emdash vs Mistral Vibe CLI
- Emdash vs T3 Code
- Gemini CLI vs Mistral Vibe CLI
- Gemini CLI vs T3 Code
- GitHub Copilot CLI vs Mistral Vibe CLI
- GitHub Copilot CLI vs T3 Code
- goose vs Mistral Vibe CLI
- goose vs T3 Code
- Harness² vs Mistral Vibe CLI
- Harness² vs T3 Code
- HarnessRouter vs Mistral Vibe CLI
- HarnessRouter vs T3 Code
- Jules vs Mistral Vibe CLI
- Jules vs T3 Code
- Junie CLI vs Mistral Vibe CLI
- Junie CLI vs T3 Code
- Kilo Code CLI vs Mistral Vibe CLI
- Kilo Code CLI vs T3 Code
- Kimi Code CLI vs Mistral Vibe CLI
- Kimi Code CLI vs T3 Code
- Kiro CLI vs Mistral Vibe CLI
- Kiro CLI vs T3 Code
- Letta vs Mistral Vibe CLI
- Letta vs T3 Code
- mini-swe-agent vs Mistral Vibe CLI
- mini-swe-agent vs T3 Code
- MiniMax Code vs Mistral Vibe CLI
- MiniMax Code vs T3 Code
- Mistral Vibe CLI vs Muse Code
- Mistral Vibe CLI vs OpenAI Agents API
- Mistral Vibe CLI vs OpenAI Codex
- Mistral Vibe CLI vs OpenCode
- Mistral Vibe CLI vs OpenHands
- Mistral Vibe CLI vs OpenMausBot
- Mistral Vibe CLI vs Orca
- Mistral Vibe CLI vs Paseo
- Mistral Vibe CLI vs Prime Agent
- Mistral Vibe CLI vs Qoder CLI
- Mistral Vibe CLI vs Qwen Code
- Mistral Vibe CLI vs Mirror CLI
- Mistral Vibe CLI vs Rovo Dev CLI
- Mistral Vibe CLI vs Sculptor
- Mistral Vibe CLI vs Traycer
- Mistral Vibe CLI vs Unstoppable
- Mistral Vibe CLI vs Verdent
- Mistral Vibe CLI vs Vibe-Trading
- Mistral Vibe CLI vs Warp (Warp Agent CLI and the Oz Agent API)
- Muse Code vs T3 Code
- OpenAI Agents API vs T3 Code
- OpenAI Codex vs T3 Code
- OpenCode vs T3 Code
- OpenHands vs T3 Code
- Orca vs T3 Code
- Paseo vs T3 Code
- Prime Agent vs T3 Code
- Qoder CLI vs T3 Code
- Qwen Code vs T3 Code
- Mirror CLI vs T3 Code
- Rovo Dev CLI vs T3 Code
- Sculptor vs T3 Code
- T3 Code vs Traycer
- T3 Code vs Unstoppable
- T3 Code vs Verdent
- T3 Code vs Vibe-Trading
- T3 Code vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs Mistral Vibe CLI
- Clawboo vs T3 Code
- CLI Manager vs Mistral Vibe CLI
- CLI Manager vs T3 Code
- Harness vs Mistral Vibe CLI
- Harness vs T3 Code
- Mistral Vibe CLI vs Paperclip
- Mistral Vibe CLI vs Parallax
- OpenMausBot vs T3 Code
- Paperclip vs T3 Code
- Parallax vs T3 Code
Machine-readable
- This page as Markdown
/compare/mistral-vibe-cli-vs-t3-code.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/mistral-vibe-cli.json·/api/v1/tools/t3-code.json - From a terminal
anchor compare mistral-vibe-cli t3-code(the CLI) - Over MCP
compare_tools {"a": "mistral-vibe-cli", "b": "t3-code"}at/mcp, no key