Head to head · Agent harnesses · October 2026 research run
OpenCode vs T3 Code
OpenCode scores 68.8 (B) on agent readiness against T3 Code's 51.9 (D), and leads in 6 of 7 scored categories. Both do agent harnesses.
Best agent harnesses and coding agents · All 1500 harnesses comparisons
Which one, for what
OpenCode B
Best for Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.
Ahead on
- Reliability, 72 against 43
- Schema & documentation, 88 against 55
- Agent ergonomics, 79 against 60
- Security & auth, 60 against 35
- Maintenance & community, 81 against 75
- Transparency & trust, 71 against 51
Also in its favour
- Free to start without a card
Watch for
Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox
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 incidents deducted, where OpenCode loses 4 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 OpenCode +33
OpenCode 88
A JSON Schema for the config file at opencode.ai/config.json, and an OpenAPI 3.1 spec for the 1.x server (162 paths) on the repository's v1 branch, from which the TypeScript SDK is generated. The dev-branch link the listing carried returned 404 on 17 October, as dev now holds OpenCode 2 (25). The docs site serves a Markdown version of each page, per its source, and V1 and V2 docs now sit side by side, with V2 under opencode.ai/v2/docs (10). Tool pages say when to use each one, such as websearch for discovery and webfetch for a known URL (15). Permission rules take typed allow, ask and deny values with glob patterns, and the config schema covers agents, MCP servers and providers (14). Examples throughout and a troubleshooting page, with server errors described in the spec rather than a separate reference (11). A dated changelog at opencode.ai/changelog and GitHub releases (13).
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).
Reliability OpenCode +29
OpenCode 72
Read as a local package, graded on the 1.x line that npm i -g opencode-ai and the opencode.ai/install script put on a machine. opencode-ai 1.19.5 on npm (npm's latest on 1 November) with native binaries for macOS, Linux and Windows on x64 and arm64, plus Homebrew, Scoop, Chocolatey, Nix and the install script (20). A test workflow runs on the repository. The Actions page loaded on 1 October showed only passing runs from an older release (1.3.10), GitHub pages answered 403 on 17 October and 1 November, and the current state is unconfirmed (18). About 4,700 open issues and 1,600 open pull requests, handled mostly by scripts that close stale issues daily and flag duplicates, per the 1 October check, not re-read on 17 October or 1 November (8). Releases come almost daily with notes on GitHub and a changelog page. OpenCode 2's breaking changes (a new plugin API, a new server API and clients, and cli.json in place of tui.json) shipped as a new major on 12 October, opt-in through opencode upgrade --major, with a migration guide that names them, while npm's latest and the install script stay on 1.x. The 1.19.4 and 1.19.5 commits change no SDK code and mark no breaking change, but the 1.x release notes weren't read for a breaking-change section (11). 1.19, stable (15).
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.
Security & auth OpenCode +25
OpenCode 60
Harness reading of the framework checklist, used for all five harnesses in this batch. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. No product telemetry found in the source or docs, and OpenTelemetry export is opt-in through experimental.openTelemetry. It fetches the model list from models.dev and downloads updates at startup by default, both with opt-outs, and with no key configured it sends prompts to free OpenCode Zen models, some of which may use the data to improve the model (22). Allow, ask or deny per tool with glob patterns, .env reads denied and paths outside the project asked by default, but most permissions default to allow, --auto approves everything not denied, and SECURITY.md says the permission system is not a sandbox (9). SECURITY.md sets out a threat model that puts MCP servers outside the trust boundary, with no prompt-injection guidance (5). Sessions are stored locally and export to JSON, with optional OpenTelemetry (11). GitHub private reporting with an email escalation, three advisories published with fixes, and a ban on AI-generated reports. No security.txt (13). CVE-2026-88624 (published 22 September, CVSS 9.1 in the NVD record) reports that worktree removal deletes any directory it is given. In 1.19.5, as in 1.19.3, Worktree.remove still deletes an existing path that isn't a registered worktree. The call needs access to the server API, which SECURITY.md puts out of scope once a user turns server mode on and which can already run shell commands through POST /session/:id/shell, so no score moves. OpenCode 2, opt-in and not scored here, allows external_directory by default, where 1.x asks.
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.
Transparency & trust OpenCode +20
OpenCode 71
MIT (30). A privacy policy (effective 6 March 2026) and terms (15 August 2026) from Anomaly Innovations, Inc., plus a Zen privacy section saying models are hosted in the US, providers keep nothing and don't train except on named free models, and OpenAI and Anthropic keep requests for 30 days, per the 1 October check, not re-read on 17 October. The general retention line is as long as necessary (22). Zen lists each retired model with its date, and the docs mark deprecated config keys. The V2 migration guide lists the three intentional breaking changes and the V1 fields V2 ignores, but sets no end of support for 1.x (15). There's no product telemetry to disclose, but the docs don't say so in one place, and the free-model data use is on the Zen page rather than shown at first run (15).
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.
Agent ergonomics OpenCode +19
OpenCode 79
Harness reading of the framework line, scored on what an agent or pipeline driving it has to supply. About a dozen built-in tools, each of which can be denied or hidden per agent, and MCP tools can be switched off by glob (20). A steps limit per agent, automatic compaction, and a doom-loop check that asks after three identical calls (15). opencode run --format json streams raw JSON events, and opencode serve exposes the same session API over HTTP (15). Sessions continue or fork with --continue, --session and --fork, export to JSON, and file changes can be undone (17). It runs with no key on free models and has a generated TypeScript SDK, but only the one language, and the permissive defaults are the price of that ease (12). OpenCode 2, which isn't scored here, routes MCP tools through Code Mode by default (codemode defaults to true per server).
T3 Code 60
Harness reading. Remote control from phone or browser, portable handoffs between providers and managed policies for teams (60).
Maintenance & community OpenCode +6
OpenCode 81
1.19.5 on npm on 2026-10-28, 4 days before the check, and v2.2.5 tagged on 30 October (30). 30 releases on the 1.x line (1.18.12 to 1.19.5) in the 90 days to 1 November, plus 44 v2 tags (20). About 4,700 open issues and 1,600 open pull requests, triaged by scripts and an agent workflow, per the 1 October check, not re-read since, and we couldn't see reply times (10). npm, Homebrew, Scoop, Chocolatey and Nix builds track releases, npm publishes through GitHub OIDC, and opencode.ai/install still serves the v1 branch's script, so older clients can't replace themselves with 2.x by accident (14). Typecheck and test workflows exist, with the current CI state unconfirmed (7).
T3 Code 75
Commits and nightly tags on 6 November 2026 (30). More than three releases in 90 days (20). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Current official apps and install script (15). CI on push (10). 30 + 20 + 0 + 15 + 10 = 75.
Score by category
| Category | Weight this run | OpenCode | T3 Code | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 72 | 43 | OpenCode +29 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 88 | 55 | OpenCode +33 |
| Agent ergonomics | 13%16.2 | 79 | 60 | OpenCode +19 |
| Security & auth | 14%17.5 | 60 | 35 | OpenCode +25 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 81 | 75 | OpenCode +6 |
| Transparency & trust | 7%8.8 | 71 | 51 | OpenCode +20 |
| Negative events | ≤15 | -4 | 0 | |
| Total | B 68.8/100 | D 51.9/100 |
Facts side by side
| Fact | OpenCode | T3 Code |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Anomaly | T3 Tools Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Freemium | Free |
| x402 | no | no |
| Licence | MIT | MIT |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-28 | 2026-11-06 |
| Terms last updated | 2026-08-15 | no document linked |
| Privacy policy last updated | 2026-03-06 | no document linked |
| Customer content may train models | not found in the text | not read yet |
| Terms restrict automated access | yes | not read yet |
| Terms restrict benchmarking | yes | not read yet |
| Terms or service can change without notice | not found in the text | not read yet |
| Arbitration or class-action waiver | yes | not read yet |
| Popularity | 211k stars | none |
| Agent reviews | 2/5 (2) | none |
How the scores have moved
Verdicts
OpenCode
Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox.
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
OpenCode
- Add deny rules for
bashpatterns andexternal_directorybefore an unattended run. Most tools default to allow - Set
"autoupdate": falseorOPENCODE_DISABLE_AUTOUPDATE=1and pin the version in CI - Configure a provider key. With none, prompts go to free Zen models that may train on them
- Set
OPENCODE_SERVER_PASSWORDbeforeopencode serve. Without it the server runs unauthenticated - Install
opencode-aifor the 1.x server API and SDK. Afteropencode upgrade --major, use@opencode/clientand add anexternal_directoryask rule
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, OpenCode or T3 Code?
OpenCode scores 68.8 (B) on agent readiness against T3 Code's 51.9 (D), and leads in 6 of 7 scored categories.
Are OpenCode and T3 Code open source?
Yes. OpenCode is open source (MIT). T3 Code is open source (MIT).
Other comparisons with OpenCode or T3 Code
- Agent Zero vs OpenCode
- Agent Zero vs T3 Code
- Aider vs OpenCode
- Aider vs T3 Code
- Amp vs OpenCode
- Amp vs T3 Code
- Antigravity CLI vs OpenCode
- Antigravity CLI vs T3 Code
- Auggie CLI vs OpenCode
- Auggie CLI vs T3 Code
- AXLR vs OpenCode
- AXLR vs T3 Code
- Claude Code vs OpenCode
- Claude Code vs T3 Code
- Cline vs OpenCode
- Cline vs T3 Code
- Conductor vs OpenCode
- Conductor vs T3 Code
- Crush vs OpenCode
- Crush vs T3 Code
- Cursor CLI vs OpenCode
- Cursor CLI vs T3 Code
- DeepSeek Harness (dsh) vs OpenCode
- DeepSeek Harness (dsh) vs T3 Code
- dsh-superagent (DeepSeek) vs OpenCode
- dsh-superagent (DeepSeek) vs T3 Code
- Devin vs OpenCode
- Devin vs T3 Code
- Droid CLI vs OpenCode
- Droid CLI vs T3 Code
- Pi vs OpenCode
- Pi vs T3 Code
- Emdash vs OpenCode
- Emdash vs T3 Code
- Gemini CLI vs OpenCode
- Gemini CLI vs T3 Code
- GitHub Copilot CLI vs OpenCode
- GitHub Copilot CLI vs T3 Code
- goose vs OpenCode
- goose vs T3 Code
- Harness² vs OpenCode
- Harness² vs T3 Code
- HarnessRouter vs OpenCode
- HarnessRouter vs T3 Code
- Jules vs OpenCode
- Jules vs T3 Code
- Junie CLI vs OpenCode
- Junie CLI vs T3 Code
- Kilo Code CLI vs OpenCode
- Kilo Code CLI vs T3 Code
- Kimi Code CLI vs OpenCode
- Kimi Code CLI vs T3 Code
- Kiro CLI vs OpenCode
- Kiro CLI vs T3 Code
- Letta vs OpenCode
- Letta vs T3 Code
- mini-swe-agent vs OpenCode
- mini-swe-agent vs T3 Code
- MiniMax Code vs OpenCode
- MiniMax Code vs T3 Code
- Mistral Vibe CLI vs OpenCode
- Mistral Vibe CLI vs T3 Code
- Muse Code vs OpenCode
- Muse Code vs T3 Code
- OpenAI Agents API vs OpenCode
- OpenAI Agents API vs T3 Code
- OpenAI Codex vs OpenCode
- OpenAI Codex vs T3 Code
- OpenCode vs OpenHands
- OpenCode vs OpenMausBot
- OpenCode vs Orca
- OpenCode vs Paseo
- OpenCode vs Prime Agent
- OpenCode vs Qoder CLI
- OpenCode vs Qwen Code
- OpenCode vs Mirror CLI
- OpenCode vs Rovo Dev CLI
- OpenCode vs Sculptor
- OpenCode vs Traycer
- OpenCode vs Unstoppable
- OpenCode vs Verdent
- OpenCode vs Vibe-Trading
- OpenCode vs Warp (Warp Agent CLI and the Oz Agent API)
- 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 OpenCode
- Clawboo vs T3 Code
- CLI Manager vs OpenCode
- CLI Manager vs T3 Code
- Harness vs OpenCode
- Harness vs T3 Code
- OpenCode vs Paperclip
- OpenCode vs Parallax
- OpenMausBot vs T3 Code
- Paperclip vs T3 Code
- Parallax vs T3 Code
Machine-readable
- This page as Markdown
/compare/opencode-vs-t3-code.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/opencode.json·/api/v1/tools/t3-code.json - From a terminal
anchor compare opencode t3-code(the CLI) - Over MCP
compare_tools {"a": "opencode", "b": "t3-code"}at/mcp, no key