Emdash is the Open-Source Agentic Development Environment (๐งก YC W26). Run multiple coding agents in parallel. Use any provider.
Repo: generalaction/emdash
What's inside
Download ยท Docs ยท Releases ยท Discord ยท Contributing
Emdash is a desktop app for running AI coding agents in parallel. Each task runs in its own Git worktree, so you can explore multiple fixes or features at once, review the diffs, and merge what works.
It works with local projects and remote machines over SSH. Bring the CLI agents you already use: Claude Code, Codex, OpenCode, Amp, and more.
| Platform | Install |
|---|---|
| macOS | brew install --cask emdash ยท Apple Silicon ยท Intel |
| Windows | Installer ยท Portable |
| Linux | AppImage ยท Debian package |
See the latest release for all desktop builds.
Emdash detects installed provider CLIs automatically. It supports agents like Claude Code, Codex, Cursor, OpenCode, Amp, Devin, Qwen Code, Droid, and GitHub Copilot.
See Providers for the full list, setup commands, and provider-specific behavior.
Connect to remote machines with SSH/SFTP and run the same parallel workflow on remote codebases. Emdash supports SSH agent, key, and password authentication, with credentials stored in your OS keychain.
See Remote Projects and Bring Your Own Infrastructure for setup details.
Emdash is local-first. App state is stored in a local SQLite database, and Emdash does not send your code or chats to Emdash servers.
Agent CLIs may send code, prompts, and context to their own providers. Their data handling depends on the provider you choose.
Telemetry is optional and can be disabled in Settings or by launching with:
TELEMETRY_ENABLED=false
See Telemetry for details.
Contributions are welcome. Read the Contributing Guide, open an issue, or join the Discord.
Licensed under the Apache-2.0 license.
.claude/
settings.json
.emdash.json
.github/
actions/
setup-build/
action.yml
upload-r2/
action.yml
ISSUE_TEMPLATE/
bug_report.yml
config.yml
feature_request.yml
question.yml
PULL_REQUEST_TEMPLATE.md
workflows/
code-consistency-check.yml
nix-build.yml
release-canary.yml
release-prod.yml
windows-beta-build.yml
.gitignore
.node-version
.npmrc
.nvmrc
.oxfmtrc.json
.oxlintrc.json
.prettierignore
agents/
AGENTS.md
architecture/
acp-runtime.md
main-process.md
overview.md
renderer.md
shared.md
workspace-server.md
conventions/
config-files.md
ipc.md
main-patterns.md
renderer-patterns.md
typescript.md
ui-styling.md
versioned-schemas.md
integrations/
mcp.md
providers.md
quickstart.md
README.md
risky-areas/
database.md
pty.md
ssh.md
updater.md
workflows/
nx.md
remote-development.md
testing.md
worktrees.md
apps/
emdash-desktop/
.oxfmtrc.json
.oxlintrc.json
build/
dmg-background.tiff
entitlements.mac.plist
components.json
dev-app-update.canary.yml
dev-app-update.yml
docker-compose.yaml
drizzle/
drizzle.config.ts
0000_cuddly_scarecrow.sql
0001_skinny_robin_chapel.sql
0002_noisy_maestro.sql
0003_even_vampiro.sql
0004_material_flatman.sql
0005_add_pull_requests.sql
0006_bumpy_gamma_corps.sql
0007_bent_spitfire.sql
0008_past_shinko_yamashiro.sql
0009_lean_goblin_queen.sql
0010_unique_luckman.sql
0011_chunky_scarecrow.sql
0012_great_layla_miller.sql
0013_chief_toad_men.sql
0014_third_shooting_star.sql
0015_dapper_quasimodo.sql
0016_concerned_carnage.sql
0017_promote_session_id.sql
0018_repair_workspaces_ssh_fk.sql
0019_eager_meteorite.sql
meta/
_journal.json
0000_snapshot.json
0001_snapshot.json
0002_snapshot.json
0003_snapshot.json
0004_snapshot.json
0005_snapshot.json
0006_snapshot.json
0007_snapshot.json
0008_snapshot.json
0009_snapshot.json
0010_snapshot.json
0011_snapshot.json
0012_snapshot.json
0013_snapshot.json
0014_snapshot.json
0015_snapshot.json
0016_snapshot.json
0017_snapshot.json
0018_snapshot.json
0019_snapshot.json
electron-builder.canary.config.ts
electron-builder.config.ts
electron.vite.config.ts
flake.lock
flake.nix
package.json
scripts/
postinstall.ts
release/
build.ts
finalize-release.ts
lib/
artifacts.test.ts
artifacts.ts
config.ts
exec.ts
log.ts
version.ts
notarize-mac.ts
prepare-release.ts
rebuild-native.ts
tsconfig.json
upload-r2.ts
verify-linux.ts
verify-mac.ts
verify-win.ts
src/
assets/
images/
alacritty.svg
ampcode.svg
android-studio-canary.svg
android-studio.svg
antigravity.png
antigravity.svg
athas.svg
atlassian.png
Auggie.svg
autohand.svg
charm.png
claude.svg
cline.png
codebuff.png
commandcode.svg
continue.png
cursor.svg
devin.png
droid.svg
emdash/
emdash-canary.icns
emdash-canary.png
emdash-dev.png
emdash.icns
emdash.png
icon-light.png
explorer.svg
files.svg
finder.png
gh-copilot.svg
ghostty.png
goose.png
hermesagent.jpg
hyper.svg
intellij-idea.svg
iterm2.png
jules.svg
junie-color.png
kaku.png
kilocode.png
kimi.svg
kiro.png
kitty.png
letta.svg
mcp/
amplitude.svg
asana.svg
atlassian.svg
aws_marketplace.svg
axiom.svg
azure.svg
bigquery.svg
canva.svg
chrome_devtools.svg
clerk.svg
clickup.svg
cloudflare.svg
cloudinary.svg
context7.svg
dev_manager.svg
devrev.svg
exa.svg
executor.svg
figma.svg
graphite.svg
graphos.svg
honeycomb.svg
hugging_face.svg
intercom.svg
jam.svg
linear.svg
magic_patterns.svg
make.svg
mcp_default.svg
microsoft_learn.svg
miro.svg
monday.svg
mongodb.svg
motherduck.svg
neon.svg
netlify.svg
notion.svg
notra.svg
openrouter.svg
parallel.svg
planetscale.svg
playwright.svg
posthog.svg
prisma.svg
railway.svg
resend.svg
sanity.svg
sentry.svg
shopify.svg
slack.svg
stripe.svg
supabase.svg
vercel.svg
webflow.svg
wix.svg
wordpress.svg
mimocode.svg
mistral.svg
openai.svg
opencode-dark.svg
opencode.svg
phpstorm.svg
pi.png
plane.png
pycharm.svg
qoder.svg
qwen.svg
rider.svg
rubymine.svg
rustrover.svg
shells/
fish.svg
skills/
anthropic.svg
apple.svg
bun.svg
github.svg
jupyter.svg
mysql.svg
openai.svg
postgresql.svg
react.svg
render.svg
resend.svg
shadcn.svg
swift.svg
xcode.svg
terminal.png
termy.svg
trae.png
visual-studio.svg
vscode.png
vscodium.png
warp.png
webstorm.svg
windsurf.png
xai.svg
xcode.png
ytbanner.webp
zed.png
main/
app/
app-scope.ts
configure-app-identity.ts
linux-secret-storage.test.ts
linux-secret-storage.ts
menu.ts
protocol.ts
shutdown.ts
window.ts
core/
account/
account-errors.ts
account-types.ts
config.ts
controller.ts
provider-token-registry.test.ts
provider-token-registry.ts
services/
account-auth-response-parser.ts
account-auth-server-client.ts
account-oauth-client.ts
account-session-store.ts
credential-store.ts
emdash-account-service.test.ts
emdash-account-service.ts
provider-token-dispatcher.ts
acp/
agent-status-bridge.ts
agent-status-transition.test.ts
agent-status-transition.ts
controller.ts
runtime-process/
entry.ts
host.ts
transport/
acp-process-host-manager.ts
legacy-ssh-acp-process-host.ts
local-acp-process-host.ts
transport.test.ts
types.ts
agent-config/
controller.ts
runtime-process/
entry.ts
host.ts
agent-hooks/
agent-hook-service.test.ts
agent-hook-service.ts
event-enricher.ts
hook-config-service.ts
hook-server.ts
notification.ts
agents/
agent-payload-builder.test.ts
agent-payload-builder.ts
controller.test.ts
controller.ts
plugin-fs.test.ts
plugin-fs.ts
plugin-registry.ts
remote-plugin-fs.ts
workspace-trust-target.ts
workspace-trust.test.ts
workspace-trust.ts
app/
controller.ts
service.test.ts
service.ts
utils.ts
automations/
actions/
taskCreate.test.ts
taskCreate.ts
automation-scheduler.db.test.ts
automation-scheduler.test.ts
automation-scheduler.ts
automations-service.ts
controller.ts
repo.ts
run-transitions.ts
runtime.test.ts
runtime.ts
utils.ts
browser/
browser-cors-relaxation.test.ts
browser-cors-relaxation.ts
browser-partition-cleanup.ts
browser-profile-session.ts
browser-user-agent.test.ts
browser-user-agent.ts
browser-webcontents-registry.test.ts
browser-webcontents-registry.ts
controller.ts
webview-security.test.ts
webview-security.ts
conversations/
controller.ts
conversation-events.ts
conversation-session-supervisor.test.ts
conversation-session-supervisor.ts
createConversation.ts
dehydrateConversation.ts
deleteConversation.ts
getConversations.ts
getConversationsForProject.ts
getConversationsForTask.ts
hydrateConversation.ts
impl/
conversation-provider-respawn.test.ts
keystroke-injection.test.ts
... 1600 moreShowing a partial view of a very large repo.
FAQ
emdash is a Claude Code plugin with hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.