[ Backed by Y-Combinator Combinator ]
Open-source agentic development environment
Your coding agent dashboard. Code purely by orchestrating agents. Run multiple in parallel, each isolated in their own Git worktree.
[Over 840K downloads]
showcase(shift+tab to cycle)bypass permissions onTry "how does dashboard-view.tsx work?"BashSummary Changes made: (gh pr create --title "Remove unused imports (fixes #16)" --body "## Summary..) https://github.com/linuswetzig/health-os/pull/49 Warning:1 uncommitted change Done!PR created:https://github.com/linuswetzig/health-os/pull/49 Removed unused and imports from ChevronUpChevronDownmetric-widget.tsx:6 BashKey findings from investigation:(git log --oneline -5) fc693da Merge pull request #48 from linuswetzig/agent/42-remove-legacy- dashboard-176720521281977582d2 Remove legacy dashboard components b571378 Merge pull request #47 from linuswetzig/agent/43-fix-habits-query-1767205252186 && git status && git diff) On branch agent/16-cleanup-v1-1767206747912 Your branch is up to date with 'origin/agent/16-cleanup-v1-1767206747912'. … +24 lines(ctrl+o to expand) … +2 lines(ctrl+o to expand) and imports mentioned in the issue were already cleaned up The field is actually (collected via color picker, stored, displayed as left border) The field is correctly used in all 6 habit API routes - keeping it for future archiving feature Activity type filtering is a feature request, not cleanup (API supports it but no UI exists)AvatarDropdownMenucolorfully implementedis active2 4 1 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29Open inClaude CodeCodexOpenCodeHomeSkillsMCPArchived 1fix-navigation3dgoogle-login+160-8912melectron-appProjectswebsitebeacon on main rocket>con...src/renderer/hooks/+68-10...src/renderer/component+12-8use...src/renderer/hooks/+10-5use...src/renderer/hooks/+38-9PROJECT Terminal 1>_+128-32ChangesStage AllCreate PR
Refactor App.tsxUpdate tailwind configAuth-FlowApi-RoutesImprove email sending logic
Each agent in a separate Git worktree.
Orchestrate multiple agents across isolated worktrees.
[ Parallel Agents ]
Advanced optionsWindows installer missingPlease fulfill various indicators according to the task objectives and connectwith relevant personnel.bug
Integrate Agent Client Protocol (ACP)Please fulfill various indicators according to the task objectives and connectwith relevant personnel.featAllow choosing terminal backendPlease fulfill various indicators according to the task objectives and connectwith relevant personnel.feat
filterLinearJiraGitHubGitLab
Pass issues directly to agents.
Pull from Linear, Jira, GitHub, Asana, and more. The agent gets full context.
[ Issues ]
provision.sh
$
./scripts/provision.sh
→ resolving workspace config from .emdashrc
found image emdash/dev:latest · sha256:8f3e2b1
→ pulling base layer · 142 MB ........... done
→ pulling toolchain · 87 MB ............. done
→ pulling runtime · 24 MB ............... done
→ allocating compute · 4 vCPU · 8 GB RAM
→ mounting /workspace (ext4, encrypted)
→ spawning git worktree for branch dev/jane
→ installing dependencies
+ node@22.11.0 · pnpm@10.0.0 · claude@1.0.4
→ generating ed25519 keypair · ~/.ssh/id_emdash
→ opening tunnel devuser@10.0.1.42:22
→ health check · 4/4 services healthy · 1.2s
→ workspace ready in 11.8s
{
"host": "10.0.1.42",
"port": 22,
"user": "devuser"
}
Connected to 10.0.1.42
Ephemeral infrastructure.
Provision and teardown scripts spin up isolated workspaces on demand.
[ Bring Your Own Infra ]
src/App.tsxEnter /Commit & Push * 'react'; './App.css'; './components/Hello'; logo = ('./logo.svg'); () { ( <div className="App"> <div className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <h2>Welcome to React</h2> </div> <p className="App-intro"> To get started, edit <code>src/App.tsx</code> and save to reload.importasfromReactimportimportHellofromconstrequirereturnfunctionApp3 7 2 8 1 4 5 6 9 10 11 12 13 14 16 17 18 19Portfoliofrontendserveradd-user...integrat...fix-down...fix-redi...
Write code. Review diffs. Ship.
Built-in diff view. Commit and push without switching tools.
[ Accelerate ]
[ Coding Agents ]
Use any agent.
Emdash works with 25+ coding agents. Mix and match per task or just use your favorite.
  • Codex
  • Cursor
  • Claude Code
  • Amp
  • Gemini
Show 23 more
Connect to MCP servers
Connect tools through MCP without extra glue code.
View docs
Detected agentsClaude CodeCodexCursor
CLI auto-detection
No setup checklist. Emdash finds your installed agent CLIs automatically.
View docs
extensioncommandsgrayscale.tsactivate.tsfolders.tsfileColor.tsISSUE TEMPLATEworkflowspr-closed.ymlbuild.ymllabel.ymlclose-... * 'react'; './App.css'; './components/Hello'; logo = ('./logo.svg'); () { ( <div className="App"> <div className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <h2>Welcome to React</h2> </div> <p className="App-intro"> To get started, edit <code>src/App.tsx</code> and save to reload. </p> < name="TypeScript" /> </div> ); } export default App;importasfromReactimportimportHellofromconstrequirereturnfunctionAppHello1 2 3 4 5 6 7 8 9 10 11config.tsApp.tsx
Built-in file editor
Edit files without leaving the app.
View docs
[ Praise ]
What developers are saying.
I've been using Emdash for a few weeks now to develop several projects for macOS and iOS. So far, for me it's the most designer-friendly. Of course, you need knowledge of Git and a few other things to really take advantage of it, but it's simply great.
Carlos
Carlos
@soycanopa
Emdash with Pi is chefs kiss
Matt
Matt
@nzmrldev
This is the first tool I've used besides Claude code that feels like it unleashes coding agents and isn't just bolting them on
James Evans
James Evans
@jamesevans
We need a tool to build the feature. This is it. @emdashsh
Milan
Milan
@wiegard_milan
Once you start using @emdashsh all other IDEs feel like trashsh
Het
Het
@hetdv
This is spot on. I think future of software is async because it gives engineering scale to an individual.
Nitesh
Nitesh
@ArmyOfRobots
I found the winner. The level of polish makes me happy. Support Droid, Hermes, Codex, Pi, and much much more. Clean design, uses terminals as it should.
0xSero
0xSero
@0xSero
Parallel brains, one cockpit. Ship faster 🚀
Libing
Libing
@libing890117
Parallel CLI agents in isolated worktrees is a killer idea! Feels like the foundation for serious agent-native dev environments.
Suhrab
Suhrab
@suhrabautomates
[ FAQ ]
Frequently asked questions.

A desktop app for running multiple coding agents in parallel, each in its own Git worktree.

Start shipping with

Get product updates

New releases, improvements, and notes from the team.

[ Open Source ]
Proudly open source.