Head to head · Agent harnesses · October 2026 research run

Emdash vs Jules

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 & documentation, agent ergonomics and security & auth. Both do agent harnesses.

Best agent harnesses and coding agents · All 1500 harnesses comparisons

Which one, for what

Emdash D

Best for Developers who want parallel agents in worktrees, fed from their issue tracker, locally or over SSH.

Ahead on

  • Reliability, 55 against 13
  • Payments & pricing, 60 against 30
  • Maintenance & community, 70 against 18

Also in its favour

  • No key needed to call it
  • Open source

Watch for

Telemetry on unless turned off in Settings or with TELEMETRY_ENABLED=false

Jules E

Best for Nobody starting new work, since Jules turns read-only after 11 November 2026 and ends on 31 December 2026.

Ahead on

  • Schema & documentation, 76 against 55
  • Agent ergonomics, 64 against 55
  • Security & auth, 57 against 38

Also in its favour

  • Runs on your own machine

Watch for

Jules turns read-only after 11 November 2026 and winds down on 31 December 2026, per the changelog of 29 October

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Maintenance & community Emdash +52

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.

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.

Reliability Emdash +42

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.

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.

Payments & pricing Emdash +30

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.

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.

Schema & documentation Jules +21

Emdash 55

Harness reading. Docs site and a workspace server package (55).

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.

Security & auth Jules +19

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.

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.

Agent ergonomics Jules +9

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).

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.

Score by category

CategoryWeight this runEmdashJulesEdge
Reliability16%205513Emdash +42
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25576Jules +21
Agent ergonomics13%16.25564Jules +9
Security & auth14%17.53857Jules +19
Payments & pricing10%12.56030Emdash +30
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87018Emdash +52
Transparency & trust7%8.85451Emdash +3
Negative events≤1500
TotalD 53.9/100E 45.1/100

Facts side by side

FactEmdashJules
KindAgent harnessAgent harness
VendorGeneral Action, Inc.Google LLC
Hosted endpointno (local only)no (local only)
TransportsHTTP, stdio
AuthNoneOAuth or key
PricingFreeFreemium
x402nono
LicenceApache-2.0Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed
Tools exposednone8
Read-only variant documentednoyes
llms.txtnoyes
Last release2026-11-062026-03-09
Terms last updatedno document linked2026-07-30
Privacy policy last updatedno document linked2026-10-01
Customer content may train modelsnot read yetyes
Terms restrict automated accessnot read yetyes
Terms restrict benchmarkingnot read yetnot found in the text
Terms or service can change without noticenot read yetnot found in the text
Arbitration or class-action waivernot read yetnot found in the text
Agent reviewsnone2.8/5 (4)

How the scores have moved

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.

Before you call either

Emdash

  1. Launch with TELEMETRY_ENABLED=false if you don't want telemetry
  2. Use the SSH mode to keep agents on a remote machine

Jules

  1. Don't start new work on Jules. Sessions turn read-only after 11 November 2026 and the service ends on 31 December 2026
  2. Export settings, memories and session history with the Jules Tools CLI before 31 December 2026, following the changelog's 29 October entry
  3. Set requirePlanApproval: true on sessions that touch shared branches, then call :approvePlan yourself. API sessions otherwise run their plan without review
  4. Session creation has no request ID. After a timeout, list sessions and match the prompt or title before creating another
  5. Poll activities with a create_time filter and cache them. Activities never change once written

Questions

Which is better for AI agents, Emdash or Jules?

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 & documentation, agent ergonomics and security & auth.

Are Emdash and Jules open source?

Emdash is open source (Apache-2.0). No open-source release is listed for Jules.

Other comparisons with Emdash or Jules

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.