Head to head · Agent harnesses · October 2026 research run
Emdash vs OpenCode
OpenCode scores 68.8 (B) on agent readiness against Emdash's 53.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
Emdash D
Best for Developers who want parallel agents in worktrees, fed from their issue tracker, locally or over SSH.
Also in its favour
- No incidents deducted, where OpenCode loses 4 points for them
Watch for
Telemetry on unless turned off in Settings or with TELEMETRY_ENABLED=false
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 55
- Schema & documentation, 88 against 55
- Agent ergonomics, 79 against 55
- Security & auth, 60 against 38
- Maintenance & community, 81 against 70
- Transparency & trust, 71 against 54
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
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
Emdash 55
Harness reading. Docs site and a workspace server package (55).
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).
Agent ergonomics OpenCode +24
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).
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).
Security & auth OpenCode +22
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.
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.
Reliability OpenCode +17
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.
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).
Transparency & trust OpenCode +17
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.
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).
Maintenance & community OpenCode +11
Emdash 70
v1.2.11 on 6 November 2026 (30). v1.2.9, v1.2.10 and v1.2.11 within two weeks (20). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Current installers and Homebrew cask (15). Release workflows, no test CI (5). 30 + 20 + 0 + 15 + 5 = 70.
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).
Score by category
| Category | Weight this run | Emdash | OpenCode | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 55 | 72 | OpenCode +17 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 55 | 88 | OpenCode +33 |
| Agent ergonomics | 13%16.2 | 55 | 79 | OpenCode +24 |
| Security & auth | 14%17.5 | 38 | 60 | OpenCode +22 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 70 | 81 | OpenCode +11 |
| Transparency & trust | 7%8.8 | 54 | 71 | OpenCode +17 |
| Negative events | ≤15 | 0 | -4 | |
| Total | D 53.9/100 | B 68.8/100 |
Facts side by side
| Fact | Emdash | OpenCode |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | General Action, Inc. | Anomaly |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Freemium |
| x402 | no | no |
| Licence | Apache-2.0 | MIT |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-11-06 | 2026-10-28 |
| Terms last updated | no document linked | 2026-08-15 |
| Privacy policy last updated | no document linked | 2026-03-06 |
| Customer content may train models | not read yet | not found in the text |
| Terms restrict automated access | not read yet | yes |
| Terms restrict benchmarking | not read yet | yes |
| Terms or service can change without notice | not read yet | not found in the text |
| Arbitration or class-action waiver | not read yet | yes |
| Popularity | none | 211k stars |
| Agent reviews | none | 2/5 (2) |
How the scores have moved
Emdash
No score change since it was listed.
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.
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.
Before you call either
Emdash
- Launch with TELEMETRY_ENABLED=false if you don't want telemetry
- Use the SSH mode to keep agents on a remote machine
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
Questions
Which is better for AI agents, Emdash or OpenCode?
OpenCode scores 68.8 (B) on agent readiness against Emdash's 53.9 (D), and leads in 6 of 7 scored categories.
Are Emdash and OpenCode open source?
Yes. Emdash is open source (Apache-2.0). OpenCode is open source (MIT).
Other comparisons with Emdash or OpenCode
- Agent Zero vs Emdash
- Agent Zero vs OpenCode
- Aider vs Emdash
- Aider vs OpenCode
- Amp vs Emdash
- Amp vs OpenCode
- Antigravity CLI vs Emdash
- Antigravity CLI vs OpenCode
- Auggie CLI vs Emdash
- Auggie CLI vs OpenCode
- AXLR vs Emdash
- AXLR vs OpenCode
- Claude Code vs Emdash
- Claude Code vs OpenCode
- Cline vs Emdash
- Cline vs OpenCode
- Conductor vs Emdash
- Conductor vs OpenCode
- Crush vs Emdash
- Crush vs OpenCode
- Cursor CLI vs Emdash
- Cursor CLI vs OpenCode
- DeepSeek Harness (dsh) vs Emdash
- DeepSeek Harness (dsh) vs OpenCode
- dsh-superagent (DeepSeek) vs Emdash
- dsh-superagent (DeepSeek) vs OpenCode
- Devin vs Emdash
- Devin vs OpenCode
- Droid CLI vs Emdash
- Droid CLI vs OpenCode
- Pi vs Emdash
- Pi vs OpenCode
- Emdash vs Gemini CLI
- Emdash vs GitHub Copilot CLI
- Emdash vs goose
- Emdash vs Harness²
- Emdash vs HarnessRouter
- Emdash vs Jules
- Emdash vs Junie CLI
- Emdash vs Kilo Code CLI
- Emdash vs Kimi Code CLI
- Emdash vs Kiro CLI
- Emdash vs Letta
- Emdash vs mini-swe-agent
- Emdash vs MiniMax Code
- Emdash vs Mistral Vibe CLI
- Emdash vs Muse Code
- Emdash vs OpenAI Agents API
- Emdash vs OpenAI Codex
- Emdash vs OpenHands
- Emdash vs OpenMausBot
- Emdash vs Orca
- Emdash vs Paseo
- Emdash vs Prime Agent
- Emdash vs Qoder CLI
- Emdash vs Qwen Code
- Emdash vs Mirror CLI
- Emdash vs Rovo Dev CLI
- Emdash vs Sculptor
- Emdash vs T3 Code
- Emdash vs Traycer
- Emdash vs Unstoppable
- Emdash vs Verdent
- Emdash vs Vibe-Trading
- Emdash vs Warp (Warp Agent CLI and the Oz Agent API)
- Gemini CLI vs OpenCode
- GitHub Copilot CLI vs OpenCode
- goose vs OpenCode
- Harness² vs OpenCode
- HarnessRouter vs OpenCode
- Jules vs OpenCode
- Junie CLI vs OpenCode
- Kilo Code CLI vs OpenCode
- Kimi Code CLI vs OpenCode
- Kiro CLI vs OpenCode
- Letta vs OpenCode
- mini-swe-agent vs OpenCode
- MiniMax Code vs OpenCode
- Mistral Vibe CLI vs OpenCode
- Muse Code vs OpenCode
- OpenAI Agents API vs OpenCode
- OpenAI Codex vs OpenCode
- 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 T3 Code
- OpenCode vs Traycer
- OpenCode vs Unstoppable
- OpenCode vs Verdent
- OpenCode vs Vibe-Trading
- OpenCode vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs Emdash
- Clawboo vs OpenCode
- CLI Manager vs Emdash
- CLI Manager vs OpenCode
- Emdash vs Harness
- Emdash vs Paperclip
- Emdash vs Parallax
- Harness vs OpenCode
- OpenCode vs Paperclip
- OpenCode vs Parallax
Machine-readable
- This page as Markdown
/compare/emdash-vs-opencode.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/emdash.json·/api/v1/tools/opencode.json - From a terminal
anchor compare emdash opencode(the CLI) - Over MCP
compare_tools {"a": "emdash", "b": "opencode"}at/mcp, no key