Run multiple coding agents in parallel—provider-agnostic, worktree-isolated, and local-first.
Emdash lets you develop and test multiple features with multiple agents in parallel. It’s provider-agnostic (we support 10+ CLIs, such as Claude Code and Codex) and runs each agent in its own Git worktree to keep changes clean; when the environment matters, you can run a PR in its own Docker container. Hand off Linear, GitHub, or Jira tickets to an agent, review diffs side-by-side, and keep everything local.
Latest Release (macOS • Windows • Linux)
Direct links- Apple Silicon: https://github.com/generalaction/emdash/releases/latest/download/emdash-arm64.dmg
- Intel x64: https://github.com/generalaction/emdash/releases/latest/download/emdash-x64.dmg
macOS users can also: brew install --cask emdash
- Installer (x64): https://github.com/generalaction/emdash/releases/latest/download/emdash-x64-installer.exe
- Portable (x64): https://github.com/generalaction/emdash/releases/latest/download/emdash-x64.exe
- AppImage (x64): https://github.com/generalaction/emdash/releases/latest/download/emdash-x64.AppImage
- Debian package (x64): https://github.com/generalaction/emdash/releases/latest/download/emdash-x64.deb
Emdash currently integrates with twelve CLI providers and are adding new providers regularly. If you miss one, let us know or create a PR.
Emdash allows you to pass engineering tickets straight from your issue tracker to your coding agent at workspace creation.
| Linear | ✅ Supported | Connect with a Linear API key. |
| Jira | ✅ Supported | Provide your site URL, email, and Atlassian API token. |
| GitHub Issues | ✅ Supported | Authenticate via GitHub CLI (gh auth login). |
Contributions welcome! See the Contributing Guide to get started, and join our Discord to discuss.
What telemetry do you collect and can I disable it?We send anonymous, allow‑listed events (app start/close, feature usage names, app/platform versions) to PostHog.
We do not send code, file paths, repo names, prompts, or PII.
Disable telemetry:
- In the app: Settings → General → Privacy & Telemetry (toggle off)
- Or via env var before launch:
Full details: see docs/telemetry.md.
Where is my data stored?Everything is local‑first. We store app state in a local SQLite database:
You can reset by deleting the DB (quit the app first). The file is recreated on next launch.
Do I need GitHub CLI?Only if you want GitHub features (open PRs from Emdash, fetch repo info, GitHub Issues integration).
Install & sign in:
If you don’t use GitHub features, you can skip installing gh.
How do I add a new provider?Emdash is provider‑agnostic and built to add CLIs quickly.
- Open a PR following the Contributing Guide (CONTRIBUTING.md).
- Include: provider name, how it’s invoked (CLI command), auth notes, and minimal setup steps.
- We’ll add it to the Integrations matrix and wire up provider selection in the UI.
If you’re unsure where to start, open an issue with the CLI’s link and typical commands.
I hit a native‑module crash (sqlite3 / node‑pty / keytar). What’s the fast fix?This usually happens after switching Node/Electron versions.
- Rebuild native modules:
- If that fails, clean and reinstall:
(Resets node_modules, reinstalls, and re‑builds Electron native deps.)
What permissions does Emdash need?- Filesystem/Git: to read/write your repo and create Git worktrees for isolation.
- Network: only for provider CLIs you choose to use (e.g., Codex, Claude) and optional GitHub actions.
- Local DB: to store your app state in SQLite on your machine.
Emdash itself does not send your code or chats to our servers. Third‑party CLIs may transmit data per their policies.
.png)




