{
  "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": 933,
        "ranked": true,
        "rankOf": 1510,
        "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": "Emdash scores 53.9 (D) on agent readiness against Jules's 45.1 (E), and leads in 4 of 7 scored categories. Jules leads on schema \u0026 documentation, agent ergonomics and security \u0026 auth.",
    "b": {
      "slug": "jules",
      "name": "Jules",
      "vendor": "Google LLC",
      "vendorUrl": "https://jules.google",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Jules is Google's asynchronous coding agent, which clones a GitHub repository into a cloud virtual machine, plans, edits and opens pull requests. Outside agents drive it through an alpha REST API, a TypeScript SDK, an MCP package and a CLI.",
      "url": "https://www.anchorterminal.com/tools/jules",
      "markdownUrl": "https://www.anchorterminal.com/tools/jules.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/jules.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/jules.json",
      "dns": "jules.grade.anchorterminal.com",
      "repo": "https://github.com/google-labs-code/jules-sdk",
      "license": "Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed",
      "transports": [
        "http",
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@google/jules"
        },
        {
          "registry": "npm",
          "name": "@google/jules-sdk"
        },
        {
          "registry": "npm",
          "name": "@google/jules-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "The REST API takes an API key in the `X-Goog-Api-Key` header. Keys are created by a person in Settings in the Jules web app, at most three at a time, shown once and revocable there, and publicly exposed keys are disabled automatically. Keys carry no scopes. The discovery document also lists Google OAuth with the broad cloud-platform scope. The Jules Tools CLI signs in with a Google account in the browser (`jules login`). Repository sources need the Jules GitHub app installed through the web app.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 15 tasks a day and 3 concurrent tasks. Jules in Pro (100 a day, 15 concurrent) and Jules in Ultra (300 a day, 60 concurrent) come with the Google AI Pro and Ultra plans, and the Google AI plans page lists AI Plus with expanded Jules limits (jules.google/docs/usage-limits and one.google.com/about/google-ai-plans, checked 2026-10-18). Paid plans are for personal @gmail.com accounts, with an interest form for business users. The plan prices render per locale and weren't read. No per-task or per-call price.",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Jules docs, the API reference, the discovery document or the plans pages (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": 8,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-05"
      },
      "docsUrl": "https://jules.google/docs/",
      "llmsTxt": "https://jules.google/docs/llms.txt",
      "openapi": "https://jules.googleapis.com/$discovery/rest?version=v1alpha",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "hosted",
        "cloud-agent",
        "closed-source",
        "api-key",
        "alpha",
        "llms-txt",
        "mcp",
        "no-status-page",
        "stale-release",
        "freemium"
      ],
      "lastRelease": "2026-03-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 45.1,
        "grade": "E",
        "agentReady": false,
        "rank": 1203,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 48,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 18,
          "payments": 30,
          "reliability": 13,
          "schema": 76,
          "security": 57,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-05"
        },
        "negative": 0,
        "verdict": "Google is winding Jules down. Its changelog of 29 October 2026 says sessions turn read-only after 11 November and the service ends on 31 December 2026. Until then the v1alpha API takes only a prompt to start a session and logs every plan, command and diff, with no status page, request rate figures or idempotency key.",
        "bestFor": "Nobody starting new work, since Jules turns read-only after 11 November 2026 and ends on 31 December 2026.",
        "strengths": [
          "Public discovery document for jules.googleapis.com v1alpha with 13 methods, typed schemas, enums and required fields, revision 20261015",
          "Only `prompt` is required to create a session. A session without `sourceContext` runs repoless in a fresh cloud VM",
          "Activities record plans, messages, bash commands with exit codes and git patches, and can be filtered by `create_time` to fetch only new events",
          "The wind-down notice gives dated steps and an export of settings, memories and every session through the Jules Tools CLI",
          "Free plan of 15 tasks a day and 3 concurrent tasks with a Google account, and docs served as Markdown with an llms.txt index"
        ],
        "weaknesses": [
          "Jules turns read-only after 11 November 2026 and winds down on 31 December 2026, per the changelog of 29 October",
          "The REST API has been v1alpha since 3 October 2025, and before the wind-down notice the newest changelog entry was 9 March 2026",
          "No status page, no request rate figures, no Retry-After guidance and no idempotency key on session creation were found",
          "API sessions auto-approve their plans unless `requirePlanApproval` is true, and the MCP server defaults to an automated run that opens a pull request",
          "A person must sign in with Google, install the Jules GitHub app and create the key in the web app. Keys carry no scopes"
        ],
        "agentNotes": [
          "Don't start new work on Jules. Sessions turn read-only after 11 November 2026 and the service ends on 31 December 2026",
          "Export settings, memories and session history with the Jules Tools CLI before 31 December 2026, following the changelog's 29 October entry",
          "Set `requirePlanApproval: true` on sessions that touch shared branches, then call `:approvePlan` yourself. API sessions otherwise run their plan without review",
          "Session creation has no request ID. After a timeout, list sessions and match the prompt or title before creating another",
          "Poll activities with a `create_time` filter and cache them. Activities never change once written"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 45.1
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 18,
          "payments": 30,
          "reliability": 13,
          "schema": 76,
          "security": 57,
          "transparency": 35
        },
        "provenanceScore": 67,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-05",
            "maintenance": "2026-11-05",
            "payments": "2026-11-05",
            "reliability": "2026-11-05",
            "schema": "2026-11-05",
            "security": "2026-11-05",
            "transparency": "2026-11-05"
          },
          "last": "2026-11-05",
          "lastMoved": "2026-11-05",
          "oldest": "2026-11-05",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @google/jules   # Jules Tools CLI, then: jules login",
        "http": "curl 'https://jules.googleapis.com/v1alpha/sessions' -X POST -H \"Content-Type: application/json\" -H \"x-goog-api-key: $JULES_API_KEY\" -d '{\"prompt\": \"Add a test for parseQueryString in utils.js\", \"sourceContext\": {\"source\": \"sources/github/OWNER/REPO\", \"githubRepoContext\": {\"startingBranch\": \"main\"}}, \"requirePlanApproval\": true}'",
        "config": {
          "mcpServers": {
            "jules": {
              "args": [
                "@google/jules-mcp"
              ],
              "command": "npx",
              "env": {
                "JULES_API_KEY": "\u003capi-key\u003e"
              }
            }
          }
        },
        "headless": {
          "run": "jules remote new --repo . --session \"write unit tests\""
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/jules"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "jules.google",
        "domainRegistered": "2025-01-16",
        "endpointOnVendorDomain": true,
        "terms": "https://policies.google.com/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "",
        "changelog": "https://jules.google/docs/changelog/",
        "securityTxt": "none",
        "checked": "2026-11-05",
        "notes": [
          "The jules.google footer links the Google Terms of Service (effective 30 July 2026) and Privacy Policy. The terms bar automated access only where it ignores robots.txt, and jules.google answers robots.txt with a 404. The Jules privacy notice at jules.google.com/legal answered 'Jules is not yet available in your region' on 18 October and wasn't read.",
          "jules.google returns 404 for /.well-known/security.txt. www.google.com has a valid security.txt (expires 2030-04-01) pointing to g.co/vulnz and the Google VRP.",
          "The API answers at jules.googleapis.com, Google's API domain.",
          "No status page for Jules was found. The changelog of 29 October 2026 says Jules turns read-only after 11 November and winds down on 31 December 2026."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/jules.json",
      "live": {
        "slug": "jules",
        "versions": [
          {
            "registry": "github",
            "name": "google-labs-code/jules-sdk",
            "version": "0.0.4",
            "released": "2026-02-03",
            "seenAt": "2026-11-06T23:36:06.708612278Z"
          },
          {
            "registry": "npm",
            "name": "@google/jules",
            "version": "0.1.42",
            "seenAt": "2026-11-06T23:36:02.386342184Z"
          },
          {
            "registry": "npm",
            "name": "@google/jules-mcp",
            "version": "0.2.0",
            "seenAt": "2026-11-06T23:36:04.582155979Z"
          },
          {
            "registry": "npm",
            "name": "@google/jules-sdk",
            "version": "0.2.0",
            "seenAt": "2026-11-06T23:36:02.658855438Z"
          }
        ],
        "githubStars": 140,
        "npmWeekly": 2090,
        "securityTxt": {
          "url": "https://jules.google/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:45.078893576Z"
        },
        "llmsTxt": {
          "url": "https://jules.google/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:48.094578786Z"
        },
        "domain": {
          "domain": "jules.google",
          "registered": "2025-01-16",
          "source": "https://pubapi.registry.google/rdap/domain/jules.google",
          "checkedAt": "2026-11-01T14:18:24.278305982Z"
        },
        "pages": [
          {
            "url": "https://jules.google/docs/changelog/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:11:49.410107672Z",
            "changedAt": "2026-10-30T05:41:50.628011713Z",
            "fingerprint": "e5e732f35aa5"
          }
        ],
        "github": {
          "repo": "google-labs-code/jules-sdk",
          "checkedAt": "2026-11-02T08:51:46.472092041Z",
          "stars": 139,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-07-23T17:46:04Z",
          "openIssues": 5,
          "openPRs": 6,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "replies": {
            "sampled": 25,
            "unanswered": 5,
            "medianDays": 0.4
          }
        },
        "updatedAt": "2026-11-07T16:01:45.078893576Z"
      }
    },
    "edges": [
      {
        "by": 52,
        "category": "maintenance",
        "leads": "emdash",
        "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": "Closed service. The newest API or product change is the changelog entry of 9 March 2026, 241 days before 5 November (0). The changelog's 29 October 2026 entry announces the wind-down and an export route through the CLI, which is a notice, not an API change. No package releases, commits or tags in the 90 days, and the jules-sdk repository's last commit is 18 March 2026 (0). A public changelog and a Discord channel. The 18 October issue and pull request counts came from shields.io badges and are struck (8 of 15, a partial held). The official TypeScript SDK and MCP packages last published 0.2.0 on 9 March 2026, per the 18 October registry reading, and no official MCP registry entry could be read (5). The SDK has a CI workflow on pull requests whose results couldn't be read, and two runtime dependencies. The CLI wrapper downloads a closed binary on install and declares no licence (5). 0 + 0 + 8 + 5 + 5 = 18."
        },
        "scores": {
          "a": 70,
          "b": 18
        }
      },
      {
        "by": 42,
        "category": "reliability",
        "leads": "emdash",
        "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": "Hosted reading. No status page for Jules was found (0). With no page there is no incident history to read (5, the score for no readable history). The plans page, re-read on 5 November, publishes task quotas with numbers, 15, 100 and 300 tasks a rolling 24 hours and 3, 15 and 60 concurrent, and list `pageSize` is capped at 100, but no request rate figures were found (8 of 15). 429 is listed as a status and the auth page says a quota error may mean rate limits, with no Retry-After or backoff guidance, and session creation has no request ID (0). No SLA found (0). The API is v1alpha and labelled experimental, and the changelog of 29 October 2026 says Jules turns read-only after 11 November (0). 0 + 5 + 8 + 0 + 0 + 0 = 13."
        },
        "scores": {
          "a": 55,
          "b": 13
        }
      },
      {
        "by": 30,
        "category": "payments",
        "leads": "emdash",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "Published rubric. No payment protocol (0). Plans and their Jules limits are public without a login, and Jules sits inside the Google AI plans. The prices render per locale and weren't read, and there's no per-task price (10). A free plan of 15 tasks a day with a Google account, and no card step in the sign-up docs, until new tasks stop after 11 November 2026 (20). A person signs in, accepts the privacy notice, installs the GitHub app and creates the key in the web app (0). 0 + 10 + 20 + 0 = 30."
        },
        "scores": {
          "a": 60,
          "b": 30
        }
      },
      {
        "by": 21,
        "category": "schema",
        "leads": "jules",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Harness reading. Docs site and a workspace server package (55).",
          "b": "API reading. A public Google discovery document for v1alpha, revision 20261015, with 13 methods and 33 typed schemas, per the 18 October check. It sits on the API's own host and wasn't requested again (25). docs/llms.txt and a Markdown twin of every docs page (10). Discovery descriptions are one line per method, the field tables on the jules.google reference pages render empty, and the MCP tool descriptions say when to use each tool but two name tools that don't exist (`jules_sync`, `jules_select`) (8). Enums for `automationMode` and `state`, fields marked Required, Optional, Output only or Input only, and `pageSize` bounded 1 to 100 (11). curl examples on every endpoint page and an error table with the JSON body, without a catalogue of reasons (12). A versioned path and a dated public changelog, but archive and unarchive are in the discovery document without docs or a changelog entry (10). 25 + 10 + 8 + 11 + 12 + 10 = 76."
        },
        "scores": {
          "a": 55,
          "b": 76
        }
      },
      {
        "by": 19,
        "category": "security",
        "leads": "jules",
        "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": "Hosted reading. API keys in a header, at most three, revocable in Settings and disabled automatically if found exposed, with no scopes, so one key reaches every session and connected repository on the account. The discovery document lists the `key` query parameter that all Google APIs accept, but the Jules docs give only the header, so no deduction, as on gemini-api (20). Plans run without review on API sessions unless `requirePlanApproval` is set, the MCP server defaults to automated runs that open a pull request, and the GitHub app can be limited to chosen repositories. No read-only key (10). Each VM has internet access and the FAQ puts the burden on the user. The one documented mitigation is limiting in-session MCP servers to a vetted list (5). Activities log every plan, message, bash command and patch per session. No account audit log of key use found (8). www.google.com security.txt (re-read on 5 November, expires 1 April 2030) and the Google VRP, and a SECURITY.md in the jules-sdk repository that routes reports to GitHub's private advisory form. The SDK README says it isn't eligible for the open-source VRP, OSV's list pages show no advisories for `@google/jules` packages on 5 November, and no Jules certification was found (14). 20 + 10 + 5 + 8 + 14 = 57."
        },
        "scores": {
          "a": 38,
          "b": 57
        }
      },
      {
        "by": 9,
        "category": "ergonomics",
        "leads": "jules",
        "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": "API and MCP reading, per the 18 October check. Responses can be sized with `pageSize`, the standard `fields` parameter and a `create_time` filter that fetches only new activities. The MCP server has 8 tools, and `query_cache` takes a token budget (20). Token pagination on every list and filters on sessions, activities and sources (16). Google's error JSON with `status` and an ErrorInfo `reason`, plus a documented status table (14). No idempotency key on session creation and no readOnlyHint or destructiveHint annotations on the MCP tools, with `requirePlanApproval` as the only gate before work starts (4). Only `prompt` is required and a session without a source runs repoless. One official SDK, in TypeScript, plus the MCP server and CLI (10). 20 + 16 + 14 + 4 + 10 = 64."
        },
        "scores": {
          "a": 55,
          "b": 64
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "General Action, Inc.",
        "b": "Google LLC",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "8",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-06",
        "b": "2026-03-09",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-07-30",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "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": "2.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Emdash scores 53.9 (D) on agent readiness against Jules's 45.1 (E), and leads in 4 of 7 scored categories. Jules leads on schema \u0026 documentation, agent ergonomics and security \u0026 auth.",
        "question": "Which is better for AI agents, Emdash or Jules?"
      },
      {
        "answer": "Emdash is open source (Apache-2.0). No open-source release is listed for Jules.",
        "question": "Are Emdash and Jules open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 55 against 13",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 70 against 18"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "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": [
          "Schema \u0026 documentation, 76 against 55",
          "Agent ergonomics, 64 against 55",
          "Security \u0026 auth, 57 against 38"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Nobody starting new work, since Jules turns read-only after 11 November 2026 and ends on 31 December 2026.",
        "slug": "jules",
        "watchFor": "Jules turns read-only after 11 November 2026 and winds down on 31 December 2026, per the changelog of 29 October"
      }
    ],
    "history": {
      "emdash": null,
      "jules": [
        {
          "causes": [
            "product"
          ],
          "date": "2026-11-05",
          "delta": 0.4,
          "from": 44.7,
          "fromGrade": "E",
          "to": 45.1,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 44.5,
          "fromGrade": "E",
          "to": 44.7,
          "toGrade": "E"
        }
      ]
    },
    "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-jules.json",
        "title": "Agent Zero vs Jules",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Aider vs Jules",
        "url": "https://www.anchorterminal.com/compare/aider-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Amp vs Jules",
        "url": "https://www.anchorterminal.com/compare/amp-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Antigravity CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Auggie CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-jules"
      },
      {
        "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-jules.json",
        "title": "AXLR vs Jules",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Claude Code vs Jules",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Cline vs Jules",
        "url": "https://www.anchorterminal.com/compare/cline-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Conductor vs Jules",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Crush vs Jules",
        "url": "https://www.anchorterminal.com/compare/crush-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Cursor CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-jules"
      },
      {
        "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-jules.json",
        "title": "DeepSeek Harness (dsh) vs Jules",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-jules"
      },
      {
        "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-jules.json",
        "title": "dsh-superagent (DeepSeek) vs Jules",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Devin vs Jules",
        "url": "https://www.anchorterminal.com/compare/devin-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Droid CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Pi vs Jules",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-jules"
      },
      {
        "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-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-qwen-code.json",
        "title": "Emdash vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-qwen-code"
      },
      {
        "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-jules.json",
        "title": "Gemini CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-jules.json",
        "title": "GitHub Copilot CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-jules.json",
        "title": "goose vs Jules",
        "url": "https://www.anchorterminal.com/compare/goose-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-jules.json",
        "title": "Harness² vs Jules",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-jules.json",
        "title": "HarnessRouter vs Jules",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-junie.json",
        "title": "Jules vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-kilo-code-cli.json",
        "title": "Jules vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-kimi-code-cli.json",
        "title": "Jules vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-kiro-cli.json",
        "title": "Jules vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-letta.json",
        "title": "Jules vs Letta",
        "url": "https://www.anchorterminal.com/compare/jules-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-mini-swe-agent.json",
        "title": "Jules vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/jules-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-minimax-code.json",
        "title": "Jules vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/jules-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-mistral-vibe-cli.json",
        "title": "Jules vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-muse-code.json",
        "title": "Jules vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/jules-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openai-agents-api.json",
        "title": "Jules vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openai-codex.json",
        "title": "Jules vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-opencode.json",
        "title": "Jules vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/jules-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openhands.json",
        "title": "Jules vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openmausbot.json",
        "title": "Jules vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-orca.json",
        "title": "Jules vs Orca",
        "url": "https://www.anchorterminal.com/compare/jules-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-paseo.json",
        "title": "Jules vs Paseo",
        "url": "https://www.anchorterminal.com/compare/jules-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-prime-agent.json",
        "title": "Jules vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/jules-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-qoder-cli.json",
        "title": "Jules vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-qoder-cli"
      },
      {
        "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/jules-vs-reflection-mirror.json",
        "title": "Jules vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-rovo-dev-cli.json",
        "title": "Jules vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-sculptor.json",
        "title": "Jules vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/jules-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-t3-code.json",
        "title": "Jules vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/jules-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-traycer.json",
        "title": "Jules vs Traycer",
        "url": "https://www.anchorterminal.com/compare/jules-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-unstoppable.json",
        "title": "Jules vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/jules-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-verdent.json",
        "title": "Jules vs Verdent",
        "url": "https://www.anchorterminal.com/compare/jules-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-vibe-trading.json",
        "title": "Jules vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/jules-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-warp.json",
        "title": "Jules vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/jules-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-jules.json",
        "title": "Clawboo vs Jules",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-jules"
      },
      {
        "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-jules.json",
        "title": "CLI Manager vs Jules",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-jules"
      },
      {
        "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-jules.json",
        "title": "Harness vs Jules",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-paperclip.json",
        "title": "Jules vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/jules-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-parallax-agents.json",
        "title": "Jules vs Parallax",
        "url": "https://www.anchorterminal.com/compare/jules-vs-parallax-agents"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 42,
        "edge": "emdash",
        "emdash": 55,
        "jules": 13,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "jules",
        "emdash": 55,
        "jules": 76,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 9,
        "edge": "jules",
        "emdash": 55,
        "jules": 64,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 19,
        "edge": "jules",
        "emdash": 38,
        "jules": 57,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 30,
        "edge": "emdash",
        "emdash": 60,
        "jules": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 52,
        "edge": "emdash",
        "emdash": 70,
        "jules": 18,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 3,
        "edge": "emdash",
        "emdash": 54,
        "jules": 51,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Emdash scores 53.9 (D) on agent readiness against Jules's 45.1 (E), and leads in 4 of 7 scored categories. Jules leads on schema \u0026 documentation, agent ergonomics and security \u0026 auth. 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.",
      "jules": "Google is winding Jules down. Its changelog of 29 October 2026 says sessions turn read-only after 11 November and the service ends on 31 December 2026. Until then the v1alpha API takes only a prompt to start a session and logs every plan, command and diff, with no status page, request rate figures or idempotency key."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/emdash-vs-jules",
    "json": "https://www.anchorterminal.com/compare/emdash-vs-jules.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/emdash-vs-jules.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/emdash-vs-jules.min.md"
  },
  "markdown": "Emdash scores 53.9 (D) on agent readiness against Jules's 45.1 (E), and leads in 4 of 7 scored categories. Jules leads on schema \u0026 documentation, agent ergonomics and security \u0026 auth. Both do agent harnesses.\n\n- Emdash: grade D, 53.9/100, rank #933 of 1510. Markdown https://www.anchorterminal.com/tools/emdash.md · JSON https://www.anchorterminal.com/api/v1/tools/emdash.json\n- Jules: grade E, 45.1/100, rank #1203 of 1510. Markdown https://www.anchorterminal.com/tools/jules.md · JSON https://www.anchorterminal.com/api/v1/tools/jules.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\nAhead on:\n- Reliability, 55 against 13\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 70 against 18\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: Telemetry on unless turned off in Settings or with TELEMETRY_ENABLED=false\n\n### Jules (E)\n\nGood for: Nobody starting new work, since Jules turns read-only after 11 November 2026 and ends on 31 December 2026.\n\nAhead on:\n- Schema \u0026 documentation, 76 against 55\n- Agent ergonomics, 64 against 55\n- Security \u0026 auth, 57 against 38\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: Jules turns read-only after 11 November 2026 and winds down on 31 December 2026, per the changelog of 29 October\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Emdash +52\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- Jules (18): Closed service. The newest API or product change is the changelog entry of 9 March 2026, 241 days before 5 November (0). The changelog's 29 October 2026 entry announces the wind-down and an export route through the CLI, which is a notice, not an API change. No package releases, commits or tags in the 90 days, and the jules-sdk repository's last commit is 18 March 2026 (0). A public changelog and a Discord channel. The 18 October issue and pull request counts came from shields.io badges and are struck (8 of 15, a partial held). The official TypeScript SDK and MCP packages last published 0.2.0 on 9 March 2026, per the 18 October registry reading, and no official MCP registry entry could be read (5). The SDK has a CI workflow on pull requests whose results couldn't be read, and two runtime dependencies. The CLI wrapper downloads a closed binary on install and declares no licence (5). 0 + 0 + 8 + 5 + 5 = 18.\n\n### Reliability: Emdash +42\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- Jules (13): Hosted reading. No status page for Jules was found (0). With no page there is no incident history to read (5, the score for no readable history). The plans page, re-read on 5 November, publishes task quotas with numbers, 15, 100 and 300 tasks a rolling 24 hours and 3, 15 and 60 concurrent, and list `pageSize` is capped at 100, but no request rate figures were found (8 of 15). 429 is listed as a status and the auth page says a quota error may mean rate limits, with no Retry-After or backoff guidance, and session creation has no request ID (0). No SLA found (0). The API is v1alpha and labelled experimental, and the changelog of 29 October 2026 says Jules turns read-only after 11 November (0). 0 + 5 + 8 + 0 + 0 + 0 = 13.\n\n### Payments \u0026 pricing: Emdash +30\n\n- Emdash (60): 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.\n- Jules (30): Published rubric. No payment protocol (0). Plans and their Jules limits are public without a login, and Jules sits inside the Google AI plans. The prices render per locale and weren't read, and there's no per-task price (10). A free plan of 15 tasks a day with a Google account, and no card step in the sign-up docs, until new tasks stop after 11 November 2026 (20). A person signs in, accepts the privacy notice, installs the GitHub app and creates the key in the web app (0). 0 + 10 + 20 + 0 = 30.\n\n### Schema \u0026 documentation: Jules +21\n\n- Emdash (55): Harness reading. Docs site and a workspace server package (55).\n- Jules (76): API reading. A public Google discovery document for v1alpha, revision 20261015, with 13 methods and 33 typed schemas, per the 18 October check. It sits on the API's own host and wasn't requested again (25). docs/llms.txt and a Markdown twin of every docs page (10). Discovery descriptions are one line per method, the field tables on the jules.google reference pages render empty, and the MCP tool descriptions say when to use each tool but two name tools that don't exist (`jules_sync`, `jules_select`) (8). Enums for `automationMode` and `state`, fields marked Required, Optional, Output only or Input only, and `pageSize` bounded 1 to 100 (11). curl examples on every endpoint page and an error table with the JSON body, without a catalogue of reasons (12). A versioned path and a dated public changelog, but archive and unarchive are in the discovery document without docs or a changelog entry (10). 25 + 10 + 8 + 11 + 12 + 10 = 76.\n\n### Security \u0026 auth: Jules +19\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- Jules (57): Hosted reading. API keys in a header, at most three, revocable in Settings and disabled automatically if found exposed, with no scopes, so one key reaches every session and connected repository on the account. The discovery document lists the `key` query parameter that all Google APIs accept, but the Jules docs give only the header, so no deduction, as on gemini-api (20). Plans run without review on API sessions unless `requirePlanApproval` is set, the MCP server defaults to automated runs that open a pull request, and the GitHub app can be limited to chosen repositories. No read-only key (10). Each VM has internet access and the FAQ puts the burden on the user. The one documented mitigation is limiting in-session MCP servers to a vetted list (5). Activities log every plan, message, bash command and patch per session. No account audit log of key use found (8). www.google.com security.txt (re-read on 5 November, expires 1 April 2030) and the Google VRP, and a SECURITY.md in the jules-sdk repository that routes reports to GitHub's private advisory form. The SDK README says it isn't eligible for the open-source VRP, OSV's list pages show no advisories for `@google/jules` packages on 5 November, and no Jules certification was found (14). 20 + 10 + 5 + 8 + 14 = 57.\n\n### Agent ergonomics: Jules +9\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- Jules (64): API and MCP reading, per the 18 October check. Responses can be sized with `pageSize`, the standard `fields` parameter and a `create_time` filter that fetches only new activities. The MCP server has 8 tools, and `query_cache` takes a token budget (20). Token pagination on every list and filters on sessions, activities and sources (16). Google's error JSON with `status` and an ErrorInfo `reason`, plus a documented status table (14). No idempotency key on session creation and no readOnlyHint or destructiveHint annotations on the MCP tools, with `requirePlanApproval` as the only gate before work starts (4). Only `prompt` is required and a session without a source runs repoless. One official SDK, in TypeScript, plus the MCP server and CLI (10). 20 + 16 + 14 + 4 + 10 = 64.\n\n## Score by category\n\n| Category | Weight | Emdash | Jules | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 13 | Emdash +42 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 55 | 76 | Jules +21 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 64 | Jules +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 38 | 57 | Jules +19 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | Emdash +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 18 | Emdash +52 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 54 | 51 | Emdash +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **53.9 · D** | **45.1 · E** | |\n\n## Facts side by side\n\n| Fact | Emdash | Jules |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | General Action, Inc. | Google LLC |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | HTTP, stdio |\n| Auth | None | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed |\n| Tools exposed | none | 8 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-11-06 | 2026-03-09 |\n| Terms last updated | no document linked | 2026-07-30 |\n| Privacy policy last updated | no document linked | 2026-10-01 |\n| Customer content may train models | not read yet | yes |\n| Terms restrict automated access | not read yet | yes |\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| 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### Jules\n\n- +0.4 on 5 November 2026: product\n- +0.2 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**Jules.** Google is winding Jules down. Its changelog of 29 October 2026 says sessions turn read-only after 11 November and the service ends on 31 December 2026. Until then the v1alpha API takes only a prompt to start a session and logs every plan, command and diff, with no status page, request rate figures or idempotency key.\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### Jules\n\n1. Don't start new work on Jules. Sessions turn read-only after 11 November 2026 and the service ends on 31 December 2026\n2. Export settings, memories and session history with the Jules Tools CLI before 31 December 2026, following the changelog's 29 October entry\n3. Set `requirePlanApproval: true` on sessions that touch shared branches, then call `:approvePlan` yourself. API sessions otherwise run their plan without review\n4. Session creation has no request ID. After a timeout, list sessions and match the prompt or title before creating another\n5. Poll activities with a `create_time` filter and cache them. Activities never change once written\n\n## Questions\n\n### Which is better for AI agents, Emdash or Jules?\n\nEmdash scores 53.9 (D) on agent readiness against Jules's 45.1 (E), and leads in 4 of 7 scored categories. Jules leads on schema \u0026 documentation, agent ergonomics and security \u0026 auth.\n\n### Are Emdash and Jules open source?\n\nEmdash is open source (Apache-2.0). No open-source release is listed for Jules.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/emdash-vs-jules.json, and with the fewest tokens: https://www.anchorterminal.com/compare/emdash-vs-jules.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"emdash\", \"b\": \"jules\"}`. From a terminal: `anchor compare emdash jules`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/emdash.json and https://www.anchorterminal.com/api/v1/tools/jules.json\n\n## Other comparisons with Emdash or Jules\n\n- [Agent Zero vs Emdash](https://www.anchorterminal.com/compare/agent-zero-vs-emdash.md)\n- [Agent Zero vs Jules](https://www.anchorterminal.com/compare/agent-zero-vs-jules.md)\n- [Aider vs Emdash](https://www.anchorterminal.com/compare/aider-vs-emdash.md)\n- [Aider vs Jules](https://www.anchorterminal.com/compare/aider-vs-jules.md)\n- [Amp vs Emdash](https://www.anchorterminal.com/compare/amp-vs-emdash.md)\n- [Amp vs Jules](https://www.anchorterminal.com/compare/amp-vs-jules.md)\n- [Antigravity CLI vs Emdash](https://www.anchorterminal.com/compare/antigravity-cli-vs-emdash.md)\n- [Antigravity CLI vs Jules](https://www.anchorterminal.com/compare/antigravity-cli-vs-jules.md)\n- [Auggie CLI vs Emdash](https://www.anchorterminal.com/compare/auggie-vs-emdash.md)\n- [Auggie CLI vs Jules](https://www.anchorterminal.com/compare/auggie-vs-jules.md)\n- [AXLR vs Emdash](https://www.anchorterminal.com/compare/axlr-vs-emdash.md)\n- [AXLR vs Jules](https://www.anchorterminal.com/compare/axlr-vs-jules.md)\n- [Claude Code vs Emdash](https://www.anchorterminal.com/compare/claude-code-vs-emdash.md)\n- [Claude Code vs Jules](https://www.anchorterminal.com/compare/claude-code-vs-jules.md)\n- [Cline vs Emdash](https://www.anchorterminal.com/compare/cline-vs-emdash.md)\n- [Cline vs Jules](https://www.anchorterminal.com/compare/cline-vs-jules.md)\n- [Conductor vs Emdash](https://www.anchorterminal.com/compare/conductor-vs-emdash.md)\n- [Conductor vs Jules](https://www.anchorterminal.com/compare/conductor-vs-jules.md)\n- [Crush vs Emdash](https://www.anchorterminal.com/compare/crush-vs-emdash.md)\n- [Crush vs Jules](https://www.anchorterminal.com/compare/crush-vs-jules.md)\n- [Cursor CLI vs Emdash](https://www.anchorterminal.com/compare/cursor-cli-vs-emdash.md)\n- [Cursor CLI vs Jules](https://www.anchorterminal.com/compare/cursor-cli-vs-jules.md)\n- [DeepSeek Harness (dsh) vs Emdash](https://www.anchorterminal.com/compare/deepseek-harness-vs-emdash.md)\n- [DeepSeek Harness (dsh) vs Jules](https://www.anchorterminal.com/compare/deepseek-harness-vs-jules.md)\n- [dsh-superagent (DeepSeek) vs Emdash](https://www.anchorterminal.com/compare/deepseek-superagent-vs-emdash.md)\n- [dsh-superagent (DeepSeek) vs Jules](https://www.anchorterminal.com/compare/deepseek-superagent-vs-jules.md)\n- [Devin vs Emdash](https://www.anchorterminal.com/compare/devin-vs-emdash.md)\n- [Devin vs Jules](https://www.anchorterminal.com/compare/devin-vs-jules.md)\n- [Droid CLI vs Emdash](https://www.anchorterminal.com/compare/droid-cli-vs-emdash.md)\n- [Droid CLI vs Jules](https://www.anchorterminal.com/compare/droid-cli-vs-jules.md)\n- [Pi vs Emdash](https://www.anchorterminal.com/compare/earendil-pi-vs-emdash.md)\n- [Pi vs Jules](https://www.anchorterminal.com/compare/earendil-pi-vs-jules.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 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 Qwen Code](https://www.anchorterminal.com/compare/emdash-vs-qwen-code.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 Jules](https://www.anchorterminal.com/compare/gemini-cli-vs-jules.md)\n- [GitHub Copilot CLI vs Jules](https://www.anchorterminal.com/compare/github-copilot-cli-vs-jules.md)\n- [goose vs Jules](https://www.anchorterminal.com/compare/goose-vs-jules.md)\n- [Harness² vs Jules](https://www.anchorterminal.com/compare/harness2-vs-jules.md)\n- [HarnessRouter vs Jules](https://www.anchorterminal.com/compare/harnessrouter-vs-jules.md)\n- [Jules vs Junie CLI](https://www.anchorterminal.com/compare/jules-vs-junie.md)\n- [Jules vs Kilo Code CLI](https://www.anchorterminal.com/compare/jules-vs-kilo-code-cli.md)\n- [Jules vs Kimi Code CLI](https://www.anchorterminal.com/compare/jules-vs-kimi-code-cli.md)\n- [Jules vs Kiro CLI](https://www.anchorterminal.com/compare/jules-vs-kiro-cli.md)\n- [Jules vs Letta](https://www.anchorterminal.com/compare/jules-vs-letta.md)\n- [Jules vs mini-swe-agent](https://www.anchorterminal.com/compare/jules-vs-mini-swe-agent.md)\n- [Jules vs MiniMax Code](https://www.anchorterminal.com/compare/jules-vs-minimax-code.md)\n- [Jules vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/jules-vs-mistral-vibe-cli.md)\n- [Jules vs Muse Code](https://www.anchorterminal.com/compare/jules-vs-muse-code.md)\n- [Jules vs OpenAI Agents API](https://www.anchorterminal.com/compare/jules-vs-openai-agents-api.md)\n- [Jules vs OpenAI Codex](https://www.anchorterminal.com/compare/jules-vs-openai-codex.md)\n- [Jules vs OpenCode](https://www.anchorterminal.com/compare/jules-vs-opencode.md)\n- [Jules vs OpenHands](https://www.anchorterminal.com/compare/jules-vs-openhands.md)\n- [Jules vs OpenMausBot](https://www.anchorterminal.com/compare/jules-vs-openmausbot.md)\n- [Jules vs Orca](https://www.anchorterminal.com/compare/jules-vs-orca.md)\n- [Jules vs Paseo](https://www.anchorterminal.com/compare/jules-vs-paseo.md)\n- [Jules vs Prime Agent](https://www.anchorterminal.com/compare/jules-vs-prime-agent.md)\n- [Jules vs Qoder CLI](https://www.anchorterminal.com/compare/jules-vs-qoder-cli.md)\n- [Jules vs Qwen Code](https://www.anchorterminal.com/compare/jules-vs-qwen-code.md)\n- [Jules vs Mirror CLI](https://www.anchorterminal.com/compare/jules-vs-reflection-mirror.md)\n- [Jules vs Rovo Dev CLI](https://www.anchorterminal.com/compare/jules-vs-rovo-dev-cli.md)\n- [Jules vs Sculptor](https://www.anchorterminal.com/compare/jules-vs-sculptor.md)\n- [Jules vs T3 Code](https://www.anchorterminal.com/compare/jules-vs-t3-code.md)\n- [Jules vs Traycer](https://www.anchorterminal.com/compare/jules-vs-traycer.md)\n- [Jules vs Unstoppable](https://www.anchorterminal.com/compare/jules-vs-unstoppable.md)\n- [Jules vs Verdent](https://www.anchorterminal.com/compare/jules-vs-verdent.md)\n- [Jules vs Vibe-Trading](https://www.anchorterminal.com/compare/jules-vs-vibe-trading.md)\n- [Jules vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/jules-vs-warp.md)\n- [Clawboo vs Emdash](https://www.anchorterminal.com/compare/clawboo-vs-emdash.md)\n- [Clawboo vs Jules](https://www.anchorterminal.com/compare/clawboo-vs-jules.md)\n- [CLI Manager vs Emdash](https://www.anchorterminal.com/compare/cli-manager-vs-emdash.md)\n- [CLI Manager vs Jules](https://www.anchorterminal.com/compare/cli-manager-vs-jules.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 Jules](https://www.anchorterminal.com/compare/harness-autonomous-vs-jules.md)\n- [Jules vs Paperclip](https://www.anchorterminal.com/compare/jules-vs-paperclip.md)\n- [Jules vs Parallax](https://www.anchorterminal.com/compare/jules-vs-parallax-agents.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 Jules",
        "url": ""
      }
    ],
    "description": "Emdash scores 53.9 (D) to Jules's 45.1 (E) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Emdash D 53.9",
      "Jules E 45.1",
      "scores"
    ],
    "h1": "Emdash vs Jules",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/emdash-vs-jules",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Emdash vs Jules for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/emdash-vs-jules"
  },
  "tokens": {
    "markdown": 5800,
    "slim": 2430
  },
  "version": 1
}
