Head to head · Agent harnesses · October 2026 research run

Emdash vs mini-swe-agent

mini-swe-agent scores 59 (C) on agent readiness against Emdash's 53.9 (D), and leads in 5 of 7 scored categories. Emdash leads on maintenance & community. 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

  • Maintenance & community, 70 against 32

Watch for

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

mini-swe-agent C

Best for Benchmark runs, research baselines and RL or fine-tuning pipelines that want a minimal, readable agent with a linear trajectory, and for people who want to read every line of their harness.

Ahead on

  • Reliability, 65 against 55
  • Agent ergonomics, 69 against 55
  • Security & auth, 58 against 38

Also in its favour

  • Free to start without a card

Watch for

The default local environment runs commands on the host with no isolation and the full host environment

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 +38

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.

mini-swe-agent 32

2.4.6 on PyPI on 2026-07-23, 104 days before this check, and still the newest tag (10). No release in the 90 days to 4 November (0). Main hasn't moved since 3 September (three commits since 23 July, one from pre-commit-ci). Outside fixes were merged within days through July, but no pull request has been merged since #917 (17 August), 77 of the 85 pull requests numbered after it still carry open merge refs on the git remote, and maintainer reply times couldn't be read; the 18 October shields.io counts are struck (5). The Python library ships in the same package as the CLI and is current (10). Dependabot and pre-commit-ci run, and CI workflows exist with their current state unconfirmed (7).

Security & auth mini-swe-agent +20

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.

mini-swe-agent 58

Harness reading of the framework checklist, used for every harness in this batch. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. No telemetry in mini's own source, and prompts go only to the configured provider. LiteLLM's own network behaviour wasn't checked (28). The CLI asks before each command by default, with regex whitelists and -y to skip, but the Python DefaultAgent never asks, the default local environment has no isolation and passes the full host environment to every command, and the experimental bubblewrap sandbox leaks host variables and shares the network (CVE-2026-108592). Docker forwards no host variables unless listed (8). No prompt-injection guidance found (2). A full trajectory of every command and output saved as JSON after each step, and a trajectory inspector (13). A security policy (docs/SECURITY.md) naming four maintainers to contact by email, with no response time, which meets the disclosure-policy reading at 7 as for cowagent and tokenrip. No bounty or advisory page, and CVE-2026-108592 (VulnCheck, 10 October) still has no fix in any release or on main. Compromised LiteLLM 1.82.7 and 1.82.8 are excluded in the dependency pins since 24 March 2026 (#794) (7).

Agent ergonomics mini-swe-agent +14

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

mini-swe-agent 69

Harness reading of the framework line, scored on what an agent or pipeline driving it has to supply. One bash tool and a short system prompt, with output over 10,000 characters cut to its first and last 5,000, but no compaction of a long history (22). Step, cost and wall-time limits, global call and cost limits by environment variable, and a 30-second timeout per command (18). The trajectory JSON records Submitted, LimitsExceeded, TimeExceeded or RepeatedFormatError, but stdout is human-readable only and these aren't process exit codes (12). Model calls retry ten times with exponential backoff, and the trajectory is saved after every step, but there's no resume and no undo (8). Python bindings only. An unattended mini run needs -y, --exit-immediately and MSWEA_CONFIGURED, the last found only in the source (9). No MCP client, ACP or server mode.

Reliability mini-swe-agent +10

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.

mini-swe-agent 65

Read as a local package, graded on 2.4.6, the release pip install mini-swe-agent installs, and still the newest tag on 4 November 2026. One official PyPI package with Python 3.10 or newer stated (20). A pytest workflow runs on every push to main with Podman, bubblewrap and Apptainer installed, 41 test files and Codecov coverage, but GitHub's pages refused this run, so whether main passes is unconfirmed (15). Issue counts and types couldn't be read (the 18 October counts came from shields.io, a third-party copy, and are struck). The git remote shows outside bug fixes merged through 22 July, such as #915, #896 and #886, and nothing merged into main since apart from a pre-commit update on 17 August, while 77 of the 85 pull requests numbered after #917 still carry open merge refs (10). Versions follow semver and v2's breaking changes came with a migration guide, but there's no changelog file and tags carry only a version bump (8). 2.4.6, past 1.0, though the PyPI classifier still says 3 - Alpha (12).

Score by category

CategoryWeight this runEmdashmini-swe-agentEdge
Reliability16%205565mini-swe-agent +10
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25558mini-swe-agent +3
Agent ergonomics13%16.25569mini-swe-agent +14
Security & auth14%17.53858mini-swe-agent +20
Payments & pricing10%12.56060even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87032Emdash +38
Transparency & trust7%8.85456mini-swe-agent +2
Negative events≤1500
TotalD 53.9/100C 59/100

Facts side by side

FactEmdashmini-swe-agent
KindAgent harnessAgent harness
VendorGeneral Action, Inc.SWE-bench team (Princeton and Stanford)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0MIT
Read-only variant documentednono
llms.txtnono
Last release2026-11-062026-07-23
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked
Popularitynone8.6k stars, 4.4M PyPI/wk
Agent reviewsnone3/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.

mini-swe-agent

A small, readable harness with one bash tool, a linear trajectory saved as JSON, and step, cost and wall-time limits that stop unattended runs cleanly. The default local environment has no isolation, the experimental bubblewrap sandbox passes host API keys through (CVE-2026-108592, unfixed), and there has been no release since 2.4.6 on 23 July 2026.

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

mini-swe-agent

  1. Run with -y --exit-immediately for unattended use. Without --exit-immediately it waits for input when the agent finishes
  2. Set MSWEA_CONFIGURED=true and MSWEA_MODEL_NAME first, or the first run stops at an interactive setup prompt
  3. Read info.exit_status in the -o trajectory file. A run that hits its limits still exits normally
  4. For untrusted repositories use -c mini.yaml -c environment.environment_class=docker -c environment.image=<image>. The local and bubblewrap environments both expose host variables
  5. Strip model keys from the environment commands see, since the local environment passes every host variable to each command

Questions

Which is better for AI agents, Emdash or mini-swe-agent?

mini-swe-agent scores 59 (C) on agent readiness against Emdash's 53.9 (D), and leads in 5 of 7 scored categories. Emdash leads on maintenance & community.

Are Emdash and mini-swe-agent open source?

Yes. Emdash is open source (Apache-2.0). mini-swe-agent is open source (MIT).

Other comparisons with Emdash or mini-swe-agent

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.