{
  "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"
  },
  "tool": {
    "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"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 55,
          "points": 11,
          "reason": "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.",
          "checked": "2026-11-07"
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 55,
          "points": 8.94,
          "reason": "Harness reading. Docs site and a workspace server package (55).",
          "checked": "2026-11-07"
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 55,
          "points": 8.94,
          "reason": "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).",
          "checked": "2026-11-07"
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 38,
          "points": 6.65,
          "reason": "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.",
          "checked": "2026-11-07"
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 60,
          "points": 7.5,
          "reason": "Free self-hosted software with nothing to buy, so 0 for a protocol and 20 each for public pricing, a free tier and onboarding with no sign-up, 60.",
          "checked": "2026-11-07"
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 70,
          "points": 6.13,
          "reason": "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.",
          "checked": "2026-11-07"
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 54,
          "points": 4.72,
          "note": "editorial 68, provenance 40",
          "reason": "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.",
          "checked": "2026-11-07"
        }
      ],
      "assessment": {
        "date": "2026-11-07",
        "basis": "public evidence",
        "confidence": "low",
        "notes": {
          "ergonomics": "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).",
          "maintenance": "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.",
          "payments": "Free self-hosted software with nothing to buy, so 0 for a protocol and 20 each for public pricing, a free tier and onboarding with no sign-up, 60.",
          "reliability": "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.",
          "schema": "Harness reading. Docs site and a workspace server package (55).",
          "security": "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.",
          "transparency": "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."
        },
        "sources": [
          {
            "what": "repository README, licence, workflows, tags and docs, shallow clone",
            "url": "https://github.com/generalaction/emdash",
            "seen": "2026-11-07"
          },
          {
            "what": "lead, the Conductor alternatives list the founder pasted on 7 November 2026, and awesome-agent-orchestrators",
            "url": "https://github.com/andyrewlee/awesome-agent-orchestrators",
            "seen": "2026-11-07"
          }
        ],
        "openQuestions": [
          "unchecked: the telemetry docs page, issues and whether CI covers tests"
        ]
      },
      "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
      },
      "scoreHistory": [
        {
          "date": "2026-11-07",
          "grade": "D",
          "kind": "listed",
          "method": "0.7",
          "score": 53.9
        }
      ]
    },
    "connect": {
      "install": "brew install --cask emdash"
    },
    "letme": {
      "capability": "https://letme.dev/agent.harness",
      "tool": "https://letme.dev/emdash"
    },
    "notable": [
      "Repository history from October 2025, with thousands of commits and v1.2.11 on 6 November 2026 (https://github.com/generalaction/emdash)"
    ],
    "area": "frameworks",
    "details": [
      {
        "label": "Surface graded",
        "value": "The open-source app, read from a clone of github.com/generalaction/emdash on 7 November 2026. Nothing installed"
      }
    ],
    "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,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "General Action, Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "emdash.sh, no registry record we could read",
          "points": 0,
          "max": 15,
          "state": "no"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "no hosted endpoint",
          "points": 0,
          "max": 0,
          "state": "na"
        },
        {
          "check": "Terms of service",
          "value": "nothing hosted, so the Apache-2.0 licence stands in",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Privacy policy",
          "value": "nothing hosted, not scored",
          "points": 0,
          "max": 0,
          "state": "na"
        },
        {
          "check": "Status page",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "Changelog",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "security.txt",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "People named",
          "value": "not researched yet",
          "points": 0,
          "max": 0,
          "state": "na"
        },
        {
          "check": "Support route",
          "value": "not researched yet",
          "points": 0,
          "max": 0,
          "state": "na"
        }
      ]
    },
    "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"
    }
  }
}
