# Emdash vs Mirror CLI (slim)

> Mirror CLI scores 57.2 (C) to Emdash's 53.9 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/emdash-vs-reflection-mirror.md (~5,950 tokens) · this version ~2,280 tokens · JSON https://www.anchorterminal.com/compare/emdash-vs-reflection-mirror.json · canonical https://www.anchorterminal.com/compare/emdash-vs-reflection-mirror
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Mirror CLI scores 57.2 (C) on agent readiness against Emdash's 53.9 (D), and leads in 4 of 7 scored categories. Emdash leads on reliability and maintenance & community. Both do agent harnesses.

- Emdash: D 53.9, rank #927 of 1486 · https://www.anchorterminal.com/tools/emdash.min.md
- Mirror CLI: C 57.2, rank #801 of 1486 · https://www.anchorterminal.com/tools/reflection-mirror.min.md
- Emdash, good for Developers who want parallel agents in worktrees, fed from their issue tracker, locally or over SSH. Ahead on Reliability, 55 against 40; Maintenance & community, 70 against 47. Also No key needed to call it.
- Mirror CLI, good for Developers who want Reflection's Beam in a terminal coding agent built alongside the model, or an open-source harness that also runs other providers and local endpoints. Ahead on Schema & documentation, 75 against 55; Security & auth, 58 against 38; Transparency & trust, 66 against 54. Also Free to start without a card.

| Category | Emdash | Mirror CLI |
| --- | --- | --- |
| Reliability (16%) | 55 | 40 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 55 | 75 |
| Agent ergonomics (13%) | 55 | 58 |
| Security & auth (14%) | 38 | 58 |
| Payments & pricing (10%) | 60 | 60 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 70 | 47 |
| Transparency & trust (7%) | 54 | 66 |

| Fact (where they differ) | Emdash | Mirror CLI |
| --- | --- | --- |
| Vendor | General Action, Inc. | Reflection |
| Auth | None | API key |
| llms.txt | no | yes |
| Last release | 2026-11-06 | 2026-10-16 |
| Terms last updated | no document linked | 2026-10-05 |
| Privacy policy last updated | no document linked | 2026-08-28 |
| Customer content may train models | not read yet | yes |
| Terms restrict automated access | not read yet | not found in the text |
| Terms restrict benchmarking | not read yet | not found in the text |
| Terms or service can change without notice | not read yet | not found in the text |
| Arbitration or class-action waiver | not read yet | yes |
| Agent reviews | none | 3/5 (4) |

Why the edge:
- Maintenance & community, Emdash +23: 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.); Mirror CLI 47 (0.1.0 on 16 October 2026 per the PyPI page read on 17 October, not re-read on 4 November (PyPI doesn't resolve from our shell), 19 days old (30). The 90-day line needs three dated releases. 0.1.0 (16 October) and the `mirror-agent-v0.1.8` tag on the same commit, f938033, are one release day, and 0.1.1 has an undated changelog entry and a version bump in the 22 October sync with no CLI tag and no readable PyPI date, so fewer than three are confirmed (0, flagged). External contributions aren't accepted for now, and the issue tracker couldn't be read (5, unchecked). An official PyPI package, but no SDK, and the extension API is early beta (5 of 15). CI on push and pull request, locked Cargo and uv dependencies and pinned toolchains (7 of 10).)
- Schema & documentation, Mirror CLI +20: Emdash 55 (Harness reading. Docs site and a workspace server package (55).); Mirror CLI 75 (Framework reading. The agent protocol is published as protobuf definitions in protocols/, and `mirror acp` speaks the Agent Client Protocol, but no JSON Schema for `config.json` or the MCP definition files was found (15 of 25). llms.txt with a Markdown copy of every page (10). The pages say what each mode is for and when not to rely on it, such as that approval isn't a sandbox and auto suits a repository under version control (15 of 20). Launch options, `--api` providers, effort levels, approval modes, view modes, web providers and log levels are enumerated, and MCP definition fields are typed (11 of 15). Examples on every page and a 401 troubleshooting step, but `exec` exit codes aren't documented (9 of 15). Versions with a stated tag scheme (`reflection-mirror-vX.Y.Z` for the CLI, `mirror-agent-vX.Y.Z` for the agent) and a public CHANGELOG.md in the repository since 22 October 2026 (15).)
- Security & auth, Mirror CLI +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.); Mirror CLI 58 (Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Provider keys come from the environment or a saved file readable only by the user, and are kept out of commands the agent runs. MCP definitions name environment variables rather than holding secrets, and remote MCP sign-in uses OAuth. Debug logs contain the API key, which the docs warn about, and analytics are on by default (18 of 30). Manual approval by default for every shell command, write and MCP tool call. Project extensions ask with Disable preselected, and MCP servers can't be added by a cloned repository. Auto mode, once chosen, applies in every directory (15 of 20). SECURITY.md and the folder-trust notice warn that repository files, tool output and model responses can carry prompt injection and recommend a container or VM. The microVM sandbox is opt-in and covers file and shell tools only (9 of 15). Conversations with their tool calls are kept in `~/.mirror/state.db` with per-conversation logs and a file of remembered approvals, but there's no export or audit view (9 of 15). SECURITY.md gives a private email and a report scope, but there's no security.txt, bug bounty or published advisory (7 of 20). Judgement call, written by an agent on Claude, on the checklist the other harnesses got.)
- Reliability, Emdash +15: 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.); Mirror CLI 40 (Local-package reading. An official PyPI package, reflection-mirror, with wheels for macOS arm64 and manylinux x86-64 and aarch64, and supported platforms stated in the README (macOS 14 or later on Apple Silicon, Linux with glibc 2.28 or later, Python 3.12 or later) (20). A public CI workflow runs the Python package tests (ci.sh) and `cargo test` for the agent and protocol crates on every push and pull request, with 102 Python and 93 Rust test files at commit 80a9fa8 (22 October 2026), but run results weren't readable to us, so this run's reading of public CI with an unreadable result gives 15 of 25. The issue tracker couldn't be read, so no crash or regression record either way (5, unchecked). A CHANGELOG.md now lists 0.1.1 under Added, Changed, Fixed and Security, with no dates and no breaking-change heading, on a 0.x version (0, flagged). 0.1.x, labelled early beta in the docs (0).)
- Transparency & trust, Mirror CLI +12: Emdash 54 (Apache 2.0 (30). A telemetry page on the docs site (not read) (18 of 30). No deprecation policy (5). Disclosed with an opt-out (15 of 20). 30 + 18 + 5 + 15 = 68.); Mirror CLI 66 (Apache-2.0, with NOTICE and third-party licences in the repository (30). The README and SECURITY.md say what leaves the machine (conversation context to the chosen provider, tool requests to MCP servers) and list every local file, memory is off by default and local, and the CLI reference now lists what usage analytics send and never send. Reflection's privacy policy is on reflection.ai, whose robots.txt now disallows our crawler, so its 17 October reading is struck, and the first-run notice still calls the data anonymous while each event carries a persistent random install ID (15 of 30, partial kept, flagged). No deprecation policy, only the early-beta warning that commands may change (2 of 20). Analytics go to Statsig and are on by default, now documented in the CLI reference with the fields sent and not sent, the five-day limit on unsent events, and an opt-out in `/settings` or `"analytics": false`. Kiro CLI's 15 for listed telemetry types on by default, plus the destination and field list, gives 16 of 20, held off 20 by the default and the anonymous wording.)
