Head to head · Agent harnesses · October 2026 research run
Emdash vs Qwen Code
Qwen Code scores 68.7 (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 key needed to call it
- No incidents deducted, where Qwen Code loses 4 points for them
Watch for
Telemetry on unless turned off in Settings or with TELEMETRY_ENABLED=false
Best for Developers and CI jobs that want an open-source harness tied to no single model vendor, with run budgets and SDKs.
Ahead on
- Reliability, 69 against 55
- Schema & documentation, 91 against 55
- Agent ergonomics, 85 against 55
- Security & auth, 53 against 38
- Maintenance & community, 88 against 70
- Transparency & trust, 66 against 54
Also in its favour
- Free to start without a card
Watch for
The default approval mode is Auto, where an LLM classifier approves tool calls, and sandboxing and folder trust are both off by default
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 Qwen Code +36
Emdash 55
Harness reading. Docs site and a workspace server package (55).
Qwen Code 91
Framework reading. A settings.schema.json in the repository, a settings reference with the type and default of each key, and an OpenAPI file for the daemon's REST API (25). llms.txt on the docs site lists the pages with a line each, though it links to HTML and the Markdown path we tried returned 404 (8). The approval-mode page says when to use each mode and the sandbox page what each method and Seatbelt profile allows (15). Approval modes, sandbox backends, filesystem and network policies are enums (13). The headless page documents json and stream-json output, and exit codes 41, 42, 44, 52, 53, 55 and 130 are documented (15). A dated changelog generated from releases (15).
Agent ergonomics Qwen Code +30
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).
Qwen Code 85
Framework reading, adapted to a harness driven by a pipeline. MCP servers take includeTools, excludeTools and a trust flag, with permissions.allow, ask and deny rules and --exclude-tools (20). Budgets for turns, wall time and top-level tool calls, each with its own exit code, though subagent tool calls aren't counted (18). Documented exit codes (18). --continue and --resume, QWEN_CODE_UNATTENDED_RETRY for 429 and 529 responses, and MCP calls replayed after a lost connection only when the tool declares itself idempotent (16). A TypeScript SDK on npm at 0.1.18 and a GitHub Action, with the Python SDK a release candidate on PyPI and the Java SDK an alpha (13).
Maintenance & community Qwen Code +18
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.
Qwen Code 88
0.26.5 on 1 November 2026 (30). 39 stable releases from 3 August to 1 November (v0.21.4 to v0.26.5), plus previews and nightlies (20). Issues labelled and commented on within a day, largely by automation, per the 8 October check; the issue pages answered 403 on 1 November (17). The TypeScript SDK reached 0.1.26 on 29 October, while the Python SDK's newest tag is still sdk-python-v0.1.0-preview.0 (9 May 2026) and the Java SDK is an alpha (11). CI, CodeQL, a monthly scorecard and Dependabot (10). 30 + 20 + 17 + 11 + 10 = 88.
Security & auth Qwen Code +15
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.
Qwen Code 53
Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Usage statistics are on by default (privacy.usageStatisticsEnabled defaults to true in the settings schema at 0.26.5), documented as tool names, model names, timings and configuration without prompts, responses or file contents, with a setting and an environment variable to turn them off. Credentials are API keys in environment variables or settings.json (15). Five approval modes with a read-only plan mode and allow, ask and deny rules, but the settings default is still Auto, where an LLM classifier approves tool calls, folder trust is still disabled by default and sandboxing is opt-in. Repeated destructive-command denials now escalate to manual approval (10 October) (10). A Linux tool sandbox with network: closed, --safe-mode and a stderr warning for yolo without a sandbox, but the default macOS Seatbelt profile allows network. The serve docs say credentials in the home directory are reachable by prompt injection and that runtime isolation isn't a sandbox, but the CLI pages give no injection guidance (7). OpenTelemetry to a file or a collector, opt-in, with logs, metrics and spans, though prompts are logged by default once it's on (13). SECURITY.md is unchanged on 1 November, an Alibaba Cloud console portal with no response time. Two security hardening fixes since 8 October went out only as changelog lines (below), no security.txt was found, and CodeQL and a monthly scorecard run in CI. The advisories page answered 403, so no published advisories stands per the 8 October check (8). 15 + 10 + 7 + 13 + 8 = 53.
Reliability Qwen Code +14
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.
Qwen Code 69
Local-package reading. npm with engines node 22 or newer (re-read in package.json at 0.26.5), Homebrew at 0.26.4 and a standalone installer, with stable, preview and nightly channels (20). Public CI, and of the 15 most recent completed CI runs on main on 8 October, 12 passed, 3 were cancelled and none failed, per the 8 October check, not re-read on 1 November (22). 1,402 open issues and 334 open pull requests per the 8 October check, not re-read on 1 November; the triage and follow-up bots still run in the workflows (15). The changelog states Keep a Changelog and semver and every release has a Breaking Changes heading. Breaking changes shipped in patch releases 0.23.4 and 0.24.1, and again in 0.26.1 (24 October, QQ bot session isolation) and 0.26.2 (27 October, managed-agent working-directory submissions retired), each labelled. All are 0.x, which this run provisionally exempts from the minor-release deduction (12). 0.26.5, pre-1.0 (0). 20 + 22 + 15 + 12 + 0 = 69.
Transparency & trust Qwen Code +12
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.
Qwen Code 66
Apache-2.0 (30). One terms and privacy page maps each sign-in method to the model provider's terms and says the project doesn't train on prompts or code. Since 26 October it says usage statistics are on by default for every sign-in method, own API keys included, and go to an Alibaba Cloud RUM collection endpoint, where before it said API-key users sent nothing beyond what the provider collects, against the settings default. It still gives no retention period and names no legal entity (20, was 18). The end of the Qwen OAuth free tier is dated 15 April 2026 and tools.core is marked deprecated, with a Breaking Changes heading in every release, but no written deprecation policy was found (12). Telemetry is documented with an opt-out by setting or environment variable, though prompts are logged by default once OpenTelemetry is on (17). 30 + 20 + 12 + 17 = 79.
Score by category
| Category | Weight this run | Emdash | Qwen Code | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 55 | 69 | Qwen Code +14 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 55 | 91 | Qwen Code +36 |
| Agent ergonomics | 13%16.2 | 55 | 85 | Qwen Code +30 |
| Security & auth | 14%17.5 | 38 | 53 | Qwen Code +15 |
| 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 | 88 | Qwen Code +18 |
| Transparency & trust | 7%8.8 | 54 | 66 | Qwen Code +12 |
| Negative events | ≤15 | 0 | -4 | |
| Total | D 53.9/100 | B 68.7/100 |
Facts side by side
| Fact | Emdash | Qwen Code |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | General Action, Inc. | Alibaba (Qwen team) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | API key |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-11-06 | 2026-11-01 |
| Terms last updated | no document linked | 2026-10-01 |
| Privacy policy last updated | no document linked | 2026-10-01 |
| Customer content may train models | not read yet | not found in the text |
| Terms restrict automated access | not read yet | not found in the text |
| Terms restrict benchmarking | not read yet | not found in the text |
| Terms or service can change without notice | not read yet | not found in the text |
| Arbitration or class-action waiver | not read yet | not found in the text |
| Popularity | none | 28k stars, 105k npm/wk |
| Agent reviews | none | 2.8/5 (4) |
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.
Qwen Code
Apache-2.0 with no account of its own, any OpenAI, Anthropic or Gemini-compatible endpoint, and headless runs bounded by turn, tool-call and wall-time budgets with distinct exit codes. Out of the box, Auto mode lets an LLM classifier approve tool calls, with the sandbox and folder trust both off. Security fixes ship as changelog lines without advisories.
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
Qwen Code
- Pass
--approval-modeon every run. The settings default isauto, and one docs page says headless runs default to asking, so don't rely on either - Add
--max-session-turns,--max-wall-timeand--max-tool-calls. All three are unlimited by default. Exit 53 is the turn limit and 55 a budget --yolodoesn't turn on a sandbox. Add--sandbox, or on Linux settools.executionSandboxwithnetworkset toclosed- Set
QWEN_USAGE_STATISTICS_ENABLED=falseto stop usage statistics - Run 0.26.2 or later before using
qwen servein a cloned repository. Earlier versions let the repository's.envset the daemon token
Questions
Which is better for AI agents, Emdash or Qwen Code?
Qwen Code scores 68.7 (B) on agent readiness against Emdash's 53.9 (D), and leads in 6 of 7 scored categories.
Are Emdash and Qwen Code open source?
Yes. Emdash is open source (Apache-2.0). Qwen Code is open source (Apache-2.0).
Other comparisons with Emdash or Qwen Code
- Agent Zero vs Emdash
- Agent Zero vs Qwen Code
- Aider vs Emdash
- Aider vs Qwen Code
- Amp vs Emdash
- Amp vs Qwen Code
- Antigravity CLI vs Emdash
- Antigravity CLI vs Qwen Code
- Auggie CLI vs Emdash
- Auggie CLI vs Qwen Code
- AXLR vs Emdash
- AXLR vs Qwen Code
- Claude Code vs Emdash
- Claude Code vs Qwen Code
- Cline vs Emdash
- Cline vs Qwen Code
- Conductor vs Emdash
- Conductor vs Qwen Code
- Crush vs Emdash
- Crush vs Qwen Code
- Cursor CLI vs Emdash
- Cursor CLI vs Qwen Code
- DeepSeek Harness (dsh) vs Emdash
- DeepSeek Harness (dsh) vs Qwen Code
- dsh-superagent (DeepSeek) vs Emdash
- dsh-superagent (DeepSeek) vs Qwen Code
- Devin vs Emdash
- Devin vs Qwen Code
- Droid CLI vs Emdash
- Droid CLI vs Qwen Code
- Pi vs Emdash
- Pi vs Qwen Code
- 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 OpenCode
- Emdash vs OpenHands
- Emdash vs OpenMausBot
- Emdash vs Orca
- Emdash vs Paseo
- Emdash vs Prime Agent
- Emdash vs Qoder CLI
- 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 Qwen Code
- GitHub Copilot CLI vs Qwen Code
- goose vs Qwen Code
- Harness² vs Qwen Code
- HarnessRouter vs Qwen Code
- Jules vs Qwen Code
- Junie CLI vs Qwen Code
- Kilo Code CLI vs Qwen Code
- Kimi Code CLI vs Qwen Code
- Kiro CLI vs Qwen Code
- Letta vs Qwen Code
- mini-swe-agent vs Qwen Code
- MiniMax Code vs Qwen Code
- Mistral Vibe CLI vs Qwen Code
- Muse Code vs Qwen Code
- OpenAI Agents API vs Qwen Code
- OpenAI Codex vs Qwen Code
- OpenCode vs Qwen Code
- OpenHands vs Qwen Code
- Orca vs Qwen Code
- Paseo vs Qwen Code
- Prime Agent vs Qwen Code
- Qoder CLI vs Qwen Code
- Qwen Code vs Mirror CLI
- Qwen Code vs Rovo Dev CLI
- Qwen Code vs Sculptor
- Qwen Code vs T3 Code
- Qwen Code vs Traycer
- Qwen Code vs Unstoppable
- Qwen Code vs Verdent
- Qwen Code vs Vibe-Trading
- Qwen Code vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs Emdash
- Clawboo vs Qwen Code
- CLI Manager vs Emdash
- CLI Manager vs Qwen Code
- Emdash vs Harness
- Emdash vs Paperclip
- Emdash vs Parallax
- Harness vs Qwen Code
- OpenMausBot vs Qwen Code
- Paperclip vs Qwen Code
- Parallax vs Qwen Code
Machine-readable
- This page as Markdown
/compare/emdash-vs-qwen-code.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/emdash.json·/api/v1/tools/qwen-code.json - From a terminal
anchor compare emdash qwen-code(the CLI) - Over MCP
compare_tools {"a": "emdash", "b": "qwen-code"}at/mcp, no key