{
  "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": "Qwen Code scores 68.7 (B) on agent readiness against Emdash's 53.9 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "qwen-code",
      "name": "Qwen Code",
      "vendor": "Alibaba (Qwen team)",
      "vendorUrl": "https://qwenlm.github.io/qwen-code-docs/en/users/overview/",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source coding agent from Alibaba's Qwen team for the terminal, with desktop, browser and editor interfaces. It runs Qwen, OpenAI, Anthropic and Gemini-compatible models or a local one, and runs headless with `qwen -p`.",
      "url": "https://www.anchorterminal.com/tools/qwen-code",
      "markdownUrl": "https://www.anchorterminal.com/tools/qwen-code.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/qwen-code.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/qwen-code.json",
      "dns": "qwen-code.grade.anchorterminal.com",
      "repo": "https://github.com/QwenLM/qwen-code",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@qwen-code/qwen-code"
        },
        {
          "registry": "npm",
          "name": "@qwen-code/sdk"
        },
        {
          "registry": "pypi",
          "name": "qwen-code-sdk"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/qwenlm/qwen-code"
        }
      ],
      "auth": "api-key",
      "authNotes": "No account of its own. A model key goes in an environment variable or `~/.qwen/settings.json`, for Alibaba Cloud Model Studio (Coding Plan, Token Plan or a standard key), a listed third-party provider, or any OpenAI, Anthropic or Gemini-compatible endpoint including a local server. Vertex AI credentials also work. The Qwen OAuth sign-in was discontinued on 15 April 2026.",
      "pricing": "free",
      "pricingNotes": "Free and Apache-2.0, with nothing to buy for the CLI. The owner pays the model provider, or nothing with a local model. The Qwen OAuth free tier ended on 15 April 2026. Alibaba Cloud sells a fixed-fee Coding Plan and a usage-billed Token Plan for it, and we couldn't load their price pages on 8 October 2026.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 28362,
        "npmWeekly": 104819,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://qwenlm.github.io/qwen-code-docs/en/users/overview/",
      "llmsTxt": "https://qwenlm.github.io/qwen-code-docs/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "open-source",
        "typescript",
        "mcp",
        "llms-txt",
        "telemetry-default-on",
        "pre-1.0",
        "free",
        "no-card",
        "local",
        "docker"
      ],
      "lastRelease": "2026-11-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.7,
        "grade": "B",
        "agentReady": false,
        "rank": 273,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 88,
          "payments": 60,
          "reliability": 69,
          "schema": 91,
          "security": 53,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-10-27. 0.26.2 stopped a cloned repository from setting the `qwen serve` daemon's bearer token. Before it, a project `.env`, `.qwen/.env` or workspace `settings.env` could preset `QWEN_SERVER_TOKEN`, the credential guarding a daemon that runs code as the user (commit 2c0c9fa, 24 October, with tests). Fixed in a release, documented only as the changelog line \"harden serve token resolution against project env injection\" with no advisory, -2, as kilo-code-cli's changelog-only MCP prompt fix and docker-agent's fixed skill-file command execution took. 0.25.3's fix stopping `@{...}` file content from being read as `!{...}` shell expressions in custom commands isn't deducted, since its own design note says the expression still reached the permission check. https://github.com/QwenLM/qwen-code/commit/2c0c9fa8dc4a8ea5ec688060549e0ff0aed717b4",
          "2026-10-26. Until then the terms and privacy page said that with your own API key \"No additional data is collected by Qwen Code beyond what your chosen API provider collects\", and that Vertex AI users sent nothing beyond Google Cloud, while usage statistics were on by default for every sign-in method and the source sent them to an Alibaba Cloud RUM endpoint (at 0.25.0, among others). The settings reference documented the default, so a misleading claim rather than undisclosed telemetry, corrected by commit 338f133 on 26 October, -2, as openmausbot's privacy policy against its default-on analytics took. https://github.com/QwenLM/qwen-code/commit/338f13366c1d86e586f7e0785942740da3503887"
        ],
        "verdict": "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.",
        "bestFor": "Developers and CI jobs that want an open-source harness tied to no single model vendor, with run budgets and SDKs.",
        "strengths": [
          "Apache-2.0, with a release most weeks (39 stable from 3 August to 1 November 2026) and CodeQL and a monthly scorecard in CI",
          "Headless `qwen -p` with json and stream-json output, and exit codes 53 for the turn limit and 55 for a wall-time or tool-call budget",
          "Works with any OpenAI, Anthropic or Gemini-compatible endpoint, including a local server, with keys set by environment variable",
          "Every release has a Breaking Changes heading in a generated changelog",
          "A Linux tool sandbox (Bubblewrap or Landlock) with `network: closed`, plus Seatbelt, Docker and Podman"
        ],
        "weaknesses": [
          "The default approval mode is Auto, where an LLM classifier approves tool calls, and sandboxing and folder trust are both off by default",
          "Usage statistics are on by default for every sign-in method and go to an Alibaba Cloud endpoint",
          "SECURITY.md points only to an Alibaba Cloud console portal, and the 27 October serve-token fix shipped with no advisory",
          "Pre-1.0 at 0.26.5, with breaking changes in patch releases such as 0.24.1, 0.26.1 and 0.26.2",
          "The Qwen OAuth free tier ended on 15 April 2026, so every run needs a paid key or a local model"
        ],
        "agentNotes": [
          "Pass `--approval-mode` on every run. The settings default is `auto`, and one docs page says headless runs default to asking, so don't rely on either",
          "Add `--max-session-turns`, `--max-wall-time` and `--max-tool-calls`. All three are unlimited by default. Exit 53 is the turn limit and 55 a budget",
          "`--yolo` doesn't turn on a sandbox. Add `--sandbox`, or on Linux set `tools.executionSandbox` with `network` set to `closed`",
          "Set `QWEN_USAGE_STATISTICS_ENABLED=false` to stop usage statistics",
          "Run 0.26.2 or later before using `qwen serve` in a cloned repository. Earlier versions let the repository's `.env` set the daemon token"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.7
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 88,
          "payments": 60,
          "reliability": 69,
          "schema": 91,
          "security": 53,
          "transparency": 79
        },
        "provenanceScore": 52,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @qwen-code/qwen-code@latest   # or: brew install qwen-code",
        "headless": {
          "command": "qwen -p \"$TASK\" --output-format json --approval-mode auto-edit --max-session-turns 30 --max-wall-time 10m",
          "env": {
            "OPENAI_API_KEY": "\u003ckey\u003e",
            "OPENAI_BASE_URL": "\u003cendpoint\u003e",
            "OPENAI_MODEL": "\u003cmodel\u003e",
            "QWEN_USAGE_STATISTICS_ENABLED": "false"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/qwen-code"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Qwen team, Alibaba Group (no legal entity is named in the repository or the docs)",
        "domain": "qwenlm.github.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://qwenlm.github.io/qwen-code-docs/en/users/support/tos-privacy/",
        "privacy": "https://qwenlm.github.io/qwen-code-docs/en/users/support/tos-privacy/",
        "statusPage": "",
        "changelog": "https://github.com/QwenLM/qwen-code/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The project's own Terms of Service and Privacy Notice is one page. It covers usage statistics and the Chrome extension, and maps each sign-in method to the model provider's terms and privacy policy. The project publishes no separate privacy policy for the CLI, so both fields point at that page.",
          "The LICENSE file carries Copyright 2025 Google LLC and Copyright 2025 Qwen. The docs describe the project as Alibaba's, and SECURITY.md sends reports to an Alibaba Cloud console portal.",
          "The docs are on GitHub Pages. qwen.ai returned its application page for /.well-known/security.txt, so no security.txt was found. alibabacloud.com couldn't be reached from our network on 8 October 2026.",
          "The qwen.ai terms and privacy pages render only with JavaScript and weren't read."
        ],
        "score": 52
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/qwen-code.json",
      "live": {
        "slug": "qwen-code",
        "versions": [
          {
            "registry": "github",
            "name": "QwenLM/qwen-code",
            "version": "v0.26.9",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:59:52.522963032Z"
          },
          {
            "registry": "npm",
            "name": "@qwen-code/qwen-code",
            "version": "0.26.9",
            "seenAt": "2026-11-06T23:59:50.066745146Z"
          },
          {
            "registry": "npm",
            "name": "@qwen-code/sdk",
            "version": "0.1.29",
            "seenAt": "2026-11-06T23:59:50.279256905Z"
          },
          {
            "registry": "pypi",
            "name": "qwen-code-sdk",
            "version": "0.1.0rc0",
            "released": "2026-05-09",
            "seenAt": "2026-11-06T23:59:52.271015649Z"
          }
        ],
        "githubStars": 29054,
        "npmWeekly": 136598,
        "pypiWeekly": 5372,
        "securityTxt": {
          "url": "https://qwenlm.github.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:36.489155319Z"
        },
        "llmsTxt": {
          "url": "https://qwenlm.github.io/qwen-code-docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:42.92640076Z"
        },
        "domain": {
          "domain": "github.io",
          "checkedAt": "2026-11-01T14:18:40.30630652Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/QwenLM/qwen-code/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:11.180719819Z",
            "changedAt": "2026-11-07T14:19:11.180719819Z",
            "fingerprint": "d8592db57e74"
          },
          {
            "url": "https://qwenlm.github.io/qwen-code-docs/en/users/support/tos-privacy/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:49.894633355Z",
            "changedAt": "2026-11-06T13:39:28.661098016Z",
            "fingerprint": "cd59d894c85b"
          }
        ],
        "github": {
          "repo": "qwenlm/qwen-code",
          "checkedAt": "2026-11-02T09:20:00.147588033Z",
          "stars": 28875,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T09:15:07Z",
          "openIssues": 1640,
          "openPRs": 441,
          "issuesOpened90d": 2937,
          "issuesClosed90d": 1934,
          "prsMerged90d": 3654,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 44,
            "failure": 0,
            "other": 6,
            "latest": "success",
            "latestAt": "2026-11-02T09:15:10Z"
          }
        },
        "updatedAt": "2026-11-07T16:00:36.489155319Z"
      }
    },
    "edges": [
      {
        "by": 36,
        "category": "schema",
        "leads": "qwen-code",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Harness reading. Docs site and a workspace server package (55).",
          "b": "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)."
        },
        "scores": {
          "a": 55,
          "b": 91
        }
      },
      {
        "by": 30,
        "category": "ergonomics",
        "leads": "qwen-code",
        "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. 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)."
        },
        "scores": {
          "a": 55,
          "b": 85
        }
      },
      {
        "by": 18,
        "category": "maintenance",
        "leads": "qwen-code",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "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."
        },
        "scores": {
          "a": 70,
          "b": 88
        }
      },
      {
        "by": 15,
        "category": "security",
        "leads": "qwen-code",
        "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. 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."
        },
        "scores": {
          "a": 38,
          "b": 53
        }
      },
      {
        "by": 14,
        "category": "reliability",
        "leads": "qwen-code",
        "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. 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."
        },
        "scores": {
          "a": 55,
          "b": 69
        }
      },
      {
        "by": 12,
        "category": "transparency",
        "leads": "qwen-code",
        "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 (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."
        },
        "scores": {
          "a": 54,
          "b": 66
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "General Action, Inc.",
        "b": "Alibaba (Qwen team)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-06",
        "b": "2026-11-01",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-10-01",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "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": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "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": "28k stars, 105k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Qwen Code scores 68.7 (B) 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 Qwen Code?"
      },
      {
        "answer": "Yes. Emdash is open source (Apache-2.0). Qwen Code is open source (Apache-2.0).",
        "question": "Are Emdash and Qwen Code open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No key needed to call it",
          "No incidents deducted, where Qwen Code loses 4 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, 91 against 55",
          "Agent ergonomics, 85 against 55",
          "Security \u0026 auth, 53 against 38",
          "Maintenance \u0026 community, 88 against 70",
          "Transparency \u0026 trust, 66 against 54"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Developers and CI jobs that want an open-source harness tied to no single model vendor, with run budgets and SDKs.",
        "slug": "qwen-code",
        "watchFor": "The default approval mode is Auto, where an LLM classifier approves tool calls, and sandboxing and folder trust are both off by default"
      }
    ],
    "history": {
      "emdash": null,
      "qwen-code": [
        {
          "causes": [
            "terms",
            "event"
          ],
          "date": "2026-11-01",
          "delta": -3.9,
          "from": 72.6,
          "fromGrade": "BB",
          "to": 68.7,
          "toGrade": "B"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 72.5,
          "fromGrade": "BB",
          "to": 72.6,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 72.4,
          "fromGrade": "BB",
          "to": 72.5,
          "toGrade": "BB"
        }
      ]
    },
    "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-qwen-code.json",
        "title": "Agent Zero vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Aider vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/aider-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Amp vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/amp-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Antigravity CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Auggie CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "AXLR vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Claude Code vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Cline vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/cline-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Conductor vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Crush vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/crush-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Cursor CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "DeepSeek Harness (dsh) vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "dsh-superagent (DeepSeek) vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Devin vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/devin-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Droid CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Pi vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-qwen-code"
      },
      {
        "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-mistral-vibe-cli.json",
        "title": "Emdash vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-mistral-vibe-cli"
      },
      {
        "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-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-qwen-code.json",
        "title": "Gemini CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-qwen-code.json",
        "title": "GitHub Copilot CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-qwen-code.json",
        "title": "goose vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/goose-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-qwen-code.json",
        "title": "Harness² vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code.json",
        "title": "HarnessRouter vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-qwen-code.json",
        "title": "Jules vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/jules-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-qwen-code.json",
        "title": "Junie CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/junie-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-qwen-code.json",
        "title": "Kilo Code CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-qwen-code.json",
        "title": "Kimi Code CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-qwen-code.json",
        "title": "Kiro CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-qwen-code.json",
        "title": "Letta vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-qwen-code.json",
        "title": "mini-swe-agent vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-qwen-code.json",
        "title": "MiniMax Code vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-qwen-code"
      },
      {
        "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/muse-code-vs-qwen-code.json",
        "title": "Muse Code vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-qwen-code.json",
        "title": "OpenAI Agents API vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-qwen-code.json",
        "title": "OpenAI Codex vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-qwen-code.json",
        "title": "OpenCode vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-qwen-code.json",
        "title": "OpenHands vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orca-vs-qwen-code.json",
        "title": "Orca vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/orca-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paseo-vs-qwen-code.json",
        "title": "Paseo vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/paseo-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-qwen-code.json",
        "title": "Prime Agent vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-qwen-code.json",
        "title": "Qoder CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror.json",
        "title": "Qwen Code vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-rovo-dev-cli.json",
        "title": "Qwen Code vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-sculptor.json",
        "title": "Qwen Code vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-t3-code.json",
        "title": "Qwen Code vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-traycer.json",
        "title": "Qwen Code vs Traycer",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-unstoppable.json",
        "title": "Qwen Code vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-verdent.json",
        "title": "Qwen Code vs Verdent",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-vibe-trading.json",
        "title": "Qwen Code vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-warp.json",
        "title": "Qwen Code vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/qwen-code-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-qwen-code.json",
        "title": "Clawboo vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "CLI Manager vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-qwen-code"
      },
      {
        "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-qwen-code.json",
        "title": "Harness vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code.json",
        "title": "OpenMausBot vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-qwen-code.json",
        "title": "Paperclip vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-qwen-code.json",
        "title": "Parallax vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-qwen-code"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 14,
        "edge": "qwen-code",
        "emdash": 55,
        "key": "reliability",
        "name": "Reliability",
        "qwen-code": 69,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 36,
        "edge": "qwen-code",
        "emdash": 55,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "qwen-code": 91,
        "weight": 13
      },
      {
        "by": 30,
        "edge": "qwen-code",
        "emdash": 55,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "qwen-code": 85,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "qwen-code",
        "emdash": 38,
        "key": "security",
        "name": "Security \u0026 auth",
        "qwen-code": 53,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "emdash": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "qwen-code": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "edge": "qwen-code",
        "emdash": 70,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "qwen-code": 88,
        "weight": 7
      },
      {
        "by": 12,
        "edge": "qwen-code",
        "emdash": 54,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "qwen-code": 66,
        "weight": 7
      }
    ],
    "summary": "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.",
    "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.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/emdash-vs-qwen-code",
    "json": "https://www.anchorterminal.com/compare/emdash-vs-qwen-code.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/emdash-vs-qwen-code.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/emdash-vs-qwen-code.min.md"
  },
  "markdown": "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.\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- Qwen Code: grade B, 68.7/100, rank #273 of 1486. Markdown https://www.anchorterminal.com/tools/qwen-code.md · JSON https://www.anchorterminal.com/api/v1/tools/qwen-code.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 Qwen Code loses 4 points for them\n\nWatch for: Telemetry on unless turned off in Settings or with TELEMETRY_ENABLED=false\n\n### Qwen Code (B)\n\nGood for: Developers and CI jobs that want an open-source harness tied to no single model vendor, with run budgets and SDKs.\n\nAhead on:\n- Reliability, 69 against 55\n- Schema \u0026 documentation, 91 against 55\n- Agent ergonomics, 85 against 55\n- Security \u0026 auth, 53 against 38\n- Maintenance \u0026 community, 88 against 70\n- Transparency \u0026 trust, 66 against 54\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: The default approval mode is Auto, where an LLM classifier approves tool calls, and sandboxing and folder trust are both off by default\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Qwen Code +36\n\n- Emdash (55): Harness reading. Docs site and a workspace server package (55).\n- 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).\n\n### Agent ergonomics: Qwen Code +30\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- 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).\n\n### Maintenance \u0026 community: Qwen Code +18\n\n- 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.\n- 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.\n\n### Security \u0026 auth: Qwen Code +15\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- 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.\n\n### Reliability: Qwen Code +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- 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.\n\n### Transparency \u0026 trust: Qwen Code +12\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- 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.\n\n## Score by category\n\n| Category | Weight | Emdash | Qwen Code | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 69 | Qwen Code +14 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 55 | 91 | Qwen Code +36 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 85 | Qwen Code +30 |\n| Security \u0026 auth | 14% (17.5 this run) | 38 | 53 | Qwen Code +15 |\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 | 88 | Qwen Code +18 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 54 | 66 | Qwen Code +12 |\n| Negative events | ≤15 | 0 | -4 | |\n| **Total** | | **53.9 · D** | **68.7 · B** | |\n\n## Facts side by side\n\n| Fact | Emdash | Qwen Code |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | General Action, Inc. | Alibaba (Qwen team) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-11-06 | 2026-11-01 |\n| Terms last updated | no document linked | 2026-10-01 |\n| Privacy policy last updated | no document linked | 2026-10-01 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | none | 28k stars, 105k npm/wk |\n| Agent reviews | none | 2.8/5 (4) |\n\n## How the scores have moved\n\n### Emdash\n\nNo score change since it was listed.\n\n### Qwen Code\n\n- -3.9 on 1 November 2026 (BB to B): terms, negative event\n- +0.1 on 28 October 2026: new evidence\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**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.\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### Qwen Code\n\n1. Pass `--approval-mode` on every run. The settings default is `auto`, and one docs page says headless runs default to asking, so don't rely on either\n2. Add `--max-session-turns`, `--max-wall-time` and `--max-tool-calls`. All three are unlimited by default. Exit 53 is the turn limit and 55 a budget\n3. `--yolo` doesn't turn on a sandbox. Add `--sandbox`, or on Linux set `tools.executionSandbox` with `network` set to `closed`\n4. Set `QWEN_USAGE_STATISTICS_ENABLED=false` to stop usage statistics\n5. Run 0.26.2 or later before using `qwen serve` in a cloned repository. Earlier versions let the repository's `.env` set the daemon token\n\n## Questions\n\n### Which is better for AI agents, Emdash or Qwen Code?\n\nQwen Code scores 68.7 (B) on agent readiness against Emdash's 53.9 (D), and leads in 6 of 7 scored categories.\n\n### Are Emdash and Qwen Code open source?\n\nYes. Emdash is open source (Apache-2.0). Qwen Code is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/emdash-vs-qwen-code.json, and with the fewest tokens: https://www.anchorterminal.com/compare/emdash-vs-qwen-code.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"emdash\", \"b\": \"qwen-code\"}`. From a terminal: `anchor compare emdash qwen-code`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/emdash.json and https://www.anchorterminal.com/api/v1/tools/qwen-code.json\n\n## Other comparisons with Emdash or Qwen Code\n\n- [Agent Zero vs Emdash](https://www.anchorterminal.com/compare/agent-zero-vs-emdash.md)\n- [Agent Zero vs Qwen Code](https://www.anchorterminal.com/compare/agent-zero-vs-qwen-code.md)\n- [Aider vs Emdash](https://www.anchorterminal.com/compare/aider-vs-emdash.md)\n- [Aider vs Qwen Code](https://www.anchorterminal.com/compare/aider-vs-qwen-code.md)\n- [Amp vs Emdash](https://www.anchorterminal.com/compare/amp-vs-emdash.md)\n- [Amp vs Qwen Code](https://www.anchorterminal.com/compare/amp-vs-qwen-code.md)\n- [Antigravity CLI vs Emdash](https://www.anchorterminal.com/compare/antigravity-cli-vs-emdash.md)\n- [Antigravity CLI vs Qwen Code](https://www.anchorterminal.com/compare/antigravity-cli-vs-qwen-code.md)\n- [Auggie CLI vs Emdash](https://www.anchorterminal.com/compare/auggie-vs-emdash.md)\n- [Auggie CLI vs Qwen Code](https://www.anchorterminal.com/compare/auggie-vs-qwen-code.md)\n- [AXLR vs Emdash](https://www.anchorterminal.com/compare/axlr-vs-emdash.md)\n- [AXLR vs Qwen Code](https://www.anchorterminal.com/compare/axlr-vs-qwen-code.md)\n- [Claude Code vs Emdash](https://www.anchorterminal.com/compare/claude-code-vs-emdash.md)\n- [Claude Code vs Qwen Code](https://www.anchorterminal.com/compare/claude-code-vs-qwen-code.md)\n- [Cline vs Emdash](https://www.anchorterminal.com/compare/cline-vs-emdash.md)\n- [Cline vs Qwen Code](https://www.anchorterminal.com/compare/cline-vs-qwen-code.md)\n- [Conductor vs Emdash](https://www.anchorterminal.com/compare/conductor-vs-emdash.md)\n- [Conductor vs Qwen Code](https://www.anchorterminal.com/compare/conductor-vs-qwen-code.md)\n- [Crush vs Emdash](https://www.anchorterminal.com/compare/crush-vs-emdash.md)\n- [Crush vs Qwen Code](https://www.anchorterminal.com/compare/crush-vs-qwen-code.md)\n- [Cursor CLI vs Emdash](https://www.anchorterminal.com/compare/cursor-cli-vs-emdash.md)\n- [Cursor CLI vs Qwen Code](https://www.anchorterminal.com/compare/cursor-cli-vs-qwen-code.md)\n- [DeepSeek Harness (dsh) vs Emdash](https://www.anchorterminal.com/compare/deepseek-harness-vs-emdash.md)\n- [DeepSeek Harness (dsh) vs Qwen Code](https://www.anchorterminal.com/compare/deepseek-harness-vs-qwen-code.md)\n- [dsh-superagent (DeepSeek) vs Emdash](https://www.anchorterminal.com/compare/deepseek-superagent-vs-emdash.md)\n- [dsh-superagent (DeepSeek) vs Qwen Code](https://www.anchorterminal.com/compare/deepseek-superagent-vs-qwen-code.md)\n- [Devin vs Emdash](https://www.anchorterminal.com/compare/devin-vs-emdash.md)\n- [Devin vs Qwen Code](https://www.anchorterminal.com/compare/devin-vs-qwen-code.md)\n- [Droid CLI vs Emdash](https://www.anchorterminal.com/compare/droid-cli-vs-emdash.md)\n- [Droid CLI vs Qwen Code](https://www.anchorterminal.com/compare/droid-cli-vs-qwen-code.md)\n- [Pi vs Emdash](https://www.anchorterminal.com/compare/earendil-pi-vs-emdash.md)\n- [Pi vs Qwen Code](https://www.anchorterminal.com/compare/earendil-pi-vs-qwen-code.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 Mistral Vibe CLI](https://www.anchorterminal.com/compare/emdash-vs-mistral-vibe-cli.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 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 Qwen Code](https://www.anchorterminal.com/compare/gemini-cli-vs-qwen-code.md)\n- [GitHub Copilot CLI vs Qwen Code](https://www.anchorterminal.com/compare/github-copilot-cli-vs-qwen-code.md)\n- [goose vs Qwen Code](https://www.anchorterminal.com/compare/goose-vs-qwen-code.md)\n- [Harness² vs Qwen Code](https://www.anchorterminal.com/compare/harness2-vs-qwen-code.md)\n- [HarnessRouter vs Qwen Code](https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code.md)\n- [Jules vs Qwen Code](https://www.anchorterminal.com/compare/jules-vs-qwen-code.md)\n- [Junie CLI vs Qwen Code](https://www.anchorterminal.com/compare/junie-vs-qwen-code.md)\n- [Kilo Code CLI vs Qwen Code](https://www.anchorterminal.com/compare/kilo-code-cli-vs-qwen-code.md)\n- [Kimi Code CLI vs Qwen Code](https://www.anchorterminal.com/compare/kimi-code-cli-vs-qwen-code.md)\n- [Kiro CLI vs Qwen Code](https://www.anchorterminal.com/compare/kiro-cli-vs-qwen-code.md)\n- [Letta vs Qwen Code](https://www.anchorterminal.com/compare/letta-vs-qwen-code.md)\n- [mini-swe-agent vs Qwen Code](https://www.anchorterminal.com/compare/mini-swe-agent-vs-qwen-code.md)\n- [MiniMax Code vs Qwen Code](https://www.anchorterminal.com/compare/minimax-code-vs-qwen-code.md)\n- [Mistral Vibe CLI vs Qwen Code](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-qwen-code.md)\n- [Muse Code vs Qwen Code](https://www.anchorterminal.com/compare/muse-code-vs-qwen-code.md)\n- [OpenAI Agents API vs Qwen Code](https://www.anchorterminal.com/compare/openai-agents-api-vs-qwen-code.md)\n- [OpenAI Codex vs Qwen Code](https://www.anchorterminal.com/compare/openai-codex-vs-qwen-code.md)\n- [OpenCode vs Qwen Code](https://www.anchorterminal.com/compare/opencode-vs-qwen-code.md)\n- [OpenHands vs Qwen Code](https://www.anchorterminal.com/compare/openhands-vs-qwen-code.md)\n- [Orca vs Qwen Code](https://www.anchorterminal.com/compare/orca-vs-qwen-code.md)\n- [Paseo vs Qwen Code](https://www.anchorterminal.com/compare/paseo-vs-qwen-code.md)\n- [Prime Agent vs Qwen Code](https://www.anchorterminal.com/compare/prime-agent-vs-qwen-code.md)\n- [Qoder CLI vs Qwen Code](https://www.anchorterminal.com/compare/qoder-cli-vs-qwen-code.md)\n- [Qwen Code vs Mirror CLI](https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror.md)\n- [Qwen Code vs Rovo Dev CLI](https://www.anchorterminal.com/compare/qwen-code-vs-rovo-dev-cli.md)\n- [Qwen Code vs Sculptor](https://www.anchorterminal.com/compare/qwen-code-vs-sculptor.md)\n- [Qwen Code vs T3 Code](https://www.anchorterminal.com/compare/qwen-code-vs-t3-code.md)\n- [Qwen Code vs Traycer](https://www.anchorterminal.com/compare/qwen-code-vs-traycer.md)\n- [Qwen Code vs Unstoppable](https://www.anchorterminal.com/compare/qwen-code-vs-unstoppable.md)\n- [Qwen Code vs Verdent](https://www.anchorterminal.com/compare/qwen-code-vs-verdent.md)\n- [Qwen Code vs Vibe-Trading](https://www.anchorterminal.com/compare/qwen-code-vs-vibe-trading.md)\n- [Qwen Code vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/qwen-code-vs-warp.md)\n- [Clawboo vs Emdash](https://www.anchorterminal.com/compare/clawboo-vs-emdash.md)\n- [Clawboo vs Qwen Code](https://www.anchorterminal.com/compare/clawboo-vs-qwen-code.md)\n- [CLI Manager vs Emdash](https://www.anchorterminal.com/compare/cli-manager-vs-emdash.md)\n- [CLI Manager vs Qwen Code](https://www.anchorterminal.com/compare/cli-manager-vs-qwen-code.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 Qwen Code](https://www.anchorterminal.com/compare/harness-autonomous-vs-qwen-code.md)\n- [OpenMausBot vs Qwen Code](https://www.anchorterminal.com/compare/openmausbot-vs-qwen-code.md)\n- [Paperclip vs Qwen Code](https://www.anchorterminal.com/compare/paperclip-vs-qwen-code.md)\n- [Parallax vs Qwen Code](https://www.anchorterminal.com/compare/parallax-agents-vs-qwen-code.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 Qwen Code",
        "url": ""
      }
    ],
    "description": "Qwen Code scores 68.7 (B) to Emdash's 53.9 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Emdash D 53.9",
      "Qwen Code B 68.7",
      "scores"
    ],
    "h1": "Emdash vs Qwen Code",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/emdash-vs-qwen-code",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Emdash vs Qwen Code for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/emdash-vs-qwen-code"
  },
  "tokens": {
    "markdown": 5950,
    "slim": 2430
  },
  "version": 1
}
