Head to head · Agent harnesses · October 2026 research run
Emdash vs Kimi Code CLI
Kimi Code CLI scores 58.1 (C) on agent readiness against Emdash's 53.9 (D), and leads in 6 of 7 scored categories. 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.
Also in its favour
- No key needed to call it
- No incidents deducted, where Kimi Code CLI loses 8 points for them
Watch for
Telemetry on unless turned off in Settings or with TELEMETRY_ENABLED=false
Best for Developers on Kimi models who want a terminal agent with ACP and a local REST API, or an open-source harness that also runs Claude, GPT or Gemini models.
Ahead on
- Reliability, 68 against 55
- Schema & documentation, 85 against 55
- Agent ergonomics, 71 against 55
- Security & auth, 45 against 38
- Transparency & trust, 62 against 54
Also in its favour
- Free to start without a card
Watch for
Print mode approves every tool call under Never Ask, where the dangerous-command guard is off
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.
Schema & documentation Kimi Code CLI +30
Emdash 55
Harness reading. Docs site and a workspace server package (55).
Kimi Code CLI 85
Framework reading. The kimi web server serves /openapi.json and /asyncapi.json, generated from its runtime validation schemas, but only from a running server behind auth, and the API is marked experimental. The ACP server's methods and capabilities are tabled (20). llms.txt indexes every page and each page is served as Markdown (10). The permission-mode, goal-mode and MCP pages say when to use each mode and what to avoid (16). The config reference gives type and default for each key, with enums for permission modes, output formats and rule decisions (13). Many examples, the server's error-code bands and ACP error codes are documented, but print-mode exit codes are documented only for goal runs (11). A dated changelog in the docs plus the technical changelog in the repository (15). Unchanged on 2 November; llms.txt now indexes 60 pages in two languages.
Agent ergonomics Kimi Code CLI +16
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).
Kimi Code CLI 71
Framework reading, adapted to a harness driven by a pipeline. Global tools.enabled and tools.disabled lists, per-agent tool lists, deferred MCP tool loading and a read-only Plan mode (20). stream-json output and a step limit per turn by environment variable, but steps are unlimited by default and there's no wall-time or cost limit for the main turn (13). The server API returns coded envelopes and ACP returns standard JSON-RPC errors, but print mode documents no exit codes outside goal runs (12). Retries only on transient failures and never on an exhausted quota, with --continue, --session, fork, undo and ACP session/load (16). kimi -p needs one argument, with ACP and the REST API as programmatic surfaces but no SDK package in any language (10).
Reliability Kimi Code CLI +13
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.
Kimi Code CLI 68
Local-package reading. An install script that verifies a checksum, npm @moonshot-ai/kimi-code with Node 22.19.0 or newer stated, and Homebrew core at 2.4.1, for macOS, Linux and Windows (20). A public CI workflow runs the build, a smoke test, sharded tests on Linux, tests on Windows, lint and typecheck. GitHub's pages answer 403 in this session, so whether it passes on main wasn't checked (15). The 18 October issue and pull-request counts came from shields.io badges, a third-party copy of GitHub data this run bars, so they are struck. The clone shows 95 commits from 13 authors since 18 October and a changelog that credits merged pull requests up to #4553 in 2.4.1, but which open issues are crashes or regressions, and how fast they're answered, couldn't be read (8). Changesets changelog with Major, Minor and Patch headings and no breaking-change label since 0.28.0. 2.2.0 made executor = "kaos" configs fail validation, 2.3.0 stopped bare-name plugin skill calls and 2.3.2, a patch, removed swarms from kimi -p and ACP (10). 2.4.1, past 1.0 (15). 20 + 15 + 8 + 10 + 15 = 68.
Transparency & trust Kimi Code CLI +8
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.
Kimi Code CLI 62
MIT (30). The docs have no privacy page for the CLI. The Kimi terms (effective 13 August 2026, NOVASCENT PRIVATE LIMITED, Singapore) let Moonshot use content to train its services unless the user opts out by email, prospectively only, and the Kimi privacy policy says content is used for training. The Kimi Platform privacy policy keeps inputs while the account is active. Neither says which applies to CLI sessions (12). The kimi server tree prints a deprecation notice until the next major version, a table names each deprecated config key and the version that replaced it, and the Python Kimi CLI was archived with a migration guide, though its notice gives no date for when old installations stop working (13). Telemetry is documented as on, with a config key and an environment variable to turn it off, but what it collects isn't listed, and print mode ignored the opt-out until 0.41.0 (9).
Security & auth Kimi Code CLI +7
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.
Kimi Code CLI 45
Harness reading of the framework checklist. 30 for credentials and 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. OAuth tokens sit in 0600 files and shell keys aren't read unless named. Telemetry is on by default and, in the 2.2.0 package read on 18 October, sends events with a device ID, session ID and model name to telemetry-logs.kimi.com. Auto-update is on by default (14). Interactive sessions ask before edits and commands, and a dangerous-command guard covers rm -rf and similar, but kimi -p runs under Never Ask, where everything is approved and the guard is off, with only static deny rules left. No sandbox found, and hooks fail open (7). The MCP page warns about untrusted servers and project .kimi-code/mcp.json entries, and since 2.1.0 project config waits for workspace trust, but no prompt-injection guidance was found for fetched web pages (6). Sessions on disk, kimi export, the kimi vis session visualiser, a diagnostic log and hooks for auditing (11). SECURITY.md names private GitHub advisories and an email, supports only the latest version and gives no response time. No security.txt was found on kimi.com, kimi.ai or moonshot.ai, and OSV, read again on 2 November 2026, lists no advisories for the package, though 2.1.0 shipped security fixes (7).
Score by category
| Category | Weight this run | Emdash | Kimi Code CLI | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 55 | 68 | Kimi Code CLI +13 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 55 | 85 | Kimi Code CLI +30 |
| Agent ergonomics | 13%16.2 | 55 | 71 | Kimi Code CLI +16 |
| Security & auth | 14%17.5 | 38 | 45 | Kimi Code CLI +7 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 70 | 72 | Kimi Code CLI +2 |
| Transparency & trust | 7%8.8 | 54 | 62 | Kimi Code CLI +8 |
| Negative events | ≤15 | 0 | -8 | |
| Total | D 53.9/100 | C 58.1/100 |
Facts side by side
| Fact | Emdash | Kimi Code CLI |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | General Action, Inc. | Moonshot AI |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | OAuth or key |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | MIT |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-11-06 | 2026-10-30 |
| Terms last updated | no document linked | 2026-08-13 |
| Privacy policy last updated | no document linked | 2026-08-13 |
| Customer content may train models | not read yet | yes, with an opt-out |
| Terms restrict automated access | not read yet | yes |
| 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 |
| Popularity | none | 37k npm/wk |
| Agent reviews | none | 3/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.
Kimi Code CLI
MIT-licensed, with 30 releases from 4 August to 30 October 2026, kimi -p with stream-json output, an ACP server and a local REST API. Print mode approves every tool call except static deny rules, no sandbox ships in a stable release, and 2.x minor releases changed behaviour without notice.
Before you call either
Emdash
- Launch with TELEMETRY_ENABLED=false if you don't want telemetry
- Use the SSH mode to keep agents on a remote machine
Kimi Code CLI
kimi -papproves every tool call. Add[[permission.rules]]deny entries and run it in a container, since no sandbox ships- Set
KIMI_LOOP_MAX_STEPS_PER_TURNfor unattended runs. Steps per turn are unlimited by default - Pass the model with
KIMI_MODEL_NAME,KIMI_MODEL_API_KEYandKIMI_MODEL_PROVIDER_TYPE.OPENAI_API_KEYorANTHROPIC_API_KEYin the shell is ignored otherwise - Pin the CLI version in pipelines and read the changelog before upgrading. Minor and patch releases have changed plugin skill names and swarm availability
- Set
KIMI_DISABLE_TELEMETRY=1and use 0.41.0 or later, since earlier print-mode runs ignored it
Questions
Which is better for AI agents, Emdash or Kimi Code CLI?
Kimi Code CLI scores 58.1 (C) on agent readiness against Emdash's 53.9 (D), and leads in 6 of 7 scored categories.
Are Emdash and Kimi Code CLI open source?
Yes. Emdash is open source (Apache-2.0). Kimi Code CLI is open source (MIT).
Other comparisons with Emdash or Kimi Code CLI
- Agent Zero vs Emdash
- Agent Zero vs Kimi Code CLI
- Aider vs Emdash
- Aider vs Kimi Code CLI
- Amp vs Emdash
- Amp vs Kimi Code CLI
- Antigravity CLI vs Emdash
- Antigravity CLI vs Kimi Code CLI
- Auggie CLI vs Emdash
- Auggie CLI vs Kimi Code CLI
- AXLR vs Emdash
- AXLR vs Kimi Code CLI
- Claude Code vs Emdash
- Claude Code vs Kimi Code CLI
- Cline vs Emdash
- Cline vs Kimi Code CLI
- Conductor vs Emdash
- Conductor vs Kimi Code CLI
- Crush vs Emdash
- Crush vs Kimi Code CLI
- Cursor CLI vs Emdash
- Cursor CLI vs Kimi Code CLI
- DeepSeek Harness (dsh) vs Emdash
- DeepSeek Harness (dsh) vs Kimi Code CLI
- dsh-superagent (DeepSeek) vs Emdash
- dsh-superagent (DeepSeek) vs Kimi Code CLI
- Devin vs Emdash
- Devin vs Kimi Code CLI
- Droid CLI vs Emdash
- Droid CLI vs Kimi Code CLI
- Pi vs Emdash
- Pi vs Kimi Code CLI
- Emdash vs Gemini CLI
- Emdash vs GitHub Copilot CLI
- Emdash vs goose
- Emdash vs Harness²
- Emdash vs HarnessRouter
- Emdash vs Jules
- Emdash vs Junie CLI
- Emdash vs Kilo Code CLI
- Emdash vs Kiro CLI
- Emdash vs Letta
- Emdash vs mini-swe-agent
- Emdash vs MiniMax Code
- Emdash vs Mistral Vibe CLI
- Emdash vs Muse Code
- Emdash vs OpenAI Agents API
- Emdash vs OpenAI Codex
- Emdash vs OpenCode
- Emdash vs OpenHands
- Emdash vs OpenMausBot
- Emdash vs Orca
- Emdash vs Paseo
- Emdash vs Prime Agent
- Emdash vs Qoder CLI
- Emdash vs Qwen Code
- Emdash vs Mirror CLI
- Emdash vs Rovo Dev CLI
- Emdash vs Sculptor
- Emdash vs T3 Code
- Emdash vs Traycer
- Emdash vs Unstoppable
- Emdash vs Verdent
- Emdash vs Vibe-Trading
- Emdash vs Warp (Warp Agent CLI and the Oz Agent API)
- Gemini CLI vs Kimi Code CLI
- GitHub Copilot CLI vs Kimi Code CLI
- goose vs Kimi Code CLI
- Harness² vs Kimi Code CLI
- HarnessRouter vs Kimi Code CLI
- Jules vs Kimi Code CLI
- Junie CLI vs Kimi Code CLI
- Kilo Code CLI vs Kimi Code CLI
- Kimi Code CLI vs Kiro CLI
- Kimi Code CLI vs Letta
- Kimi Code CLI vs mini-swe-agent
- Kimi Code CLI vs MiniMax Code
- Kimi Code CLI vs Mistral Vibe CLI
- Kimi Code CLI vs Muse Code
- Kimi Code CLI vs OpenAI Agents API
- Kimi Code CLI vs OpenAI Codex
- Kimi Code CLI vs OpenCode
- Kimi Code CLI vs OpenHands
- Kimi Code CLI vs OpenMausBot
- Kimi Code CLI vs Orca
- Kimi Code CLI vs Paseo
- Kimi Code CLI vs Prime Agent
- Kimi Code CLI vs Qoder CLI
- Kimi Code CLI vs Qwen Code
- Kimi Code CLI vs Mirror CLI
- Kimi Code CLI vs Rovo Dev CLI
- Kimi Code CLI vs Sculptor
- Kimi Code CLI vs T3 Code
- Kimi Code CLI vs Traycer
- Kimi Code CLI vs Unstoppable
- Kimi Code CLI vs Verdent
- Kimi Code CLI vs Vibe-Trading
- Kimi Code CLI vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs Emdash
- Clawboo vs Kimi Code CLI
- CLI Manager vs Emdash
- CLI Manager vs Kimi Code CLI
- Emdash vs Harness
- Emdash vs Paperclip
- Emdash vs Parallax
- Harness vs Kimi Code CLI
- Kimi Code CLI vs Paperclip
- Kimi Code CLI vs Parallax
Machine-readable
- This page as Markdown
/compare/emdash-vs-kimi-code-cli.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/emdash.json·/api/v1/tools/kimi-code-cli.json - From a terminal
anchor compare emdash kimi-code-cli(the CLI) - Over MCP
compare_tools {"a": "emdash", "b": "kimi-code-cli"}at/mcp, no key