Emdash is an open-source desktop app for running multiple coding agents in parallel; one place to monitor sessions, review diffs, and turn issues into PRs.
Emdash is a provider-agnostic desktop app to run agents in parallel and turn issues into PRs.
Some features:
Run multiple agents in parallel with isolated worktrees
Use any of 28+ coding agent providers
Pass issues from Linear, Asana, Featurebase, GitHub, …
Run agents on remote machines via SSH
Review diffs and ship PRs in-app
BYOI: provision per-task workspaces on your own infrastructure
Available on macOS, Windows, and Linux
We're excited to see what you're going to build with Emdash!
Report
@arnestrickmann been running into the electron weight tradeoff myself — solo dev, three or four dev tools open at once, and claude code in plain iterm is by far the lightest thing in the lineup. running four parallel agents on long jobs, what matters is whether emdash sits closer to a stack of terminal tabs or to a heavy editor like WebStorm — that's the gap that decides whether you can keep it open all day.
Been using Emdash for the past week and its great. I used to hate working with git worktrees because it made my workflow more complex than it had to be but with Emdash this actually wasn't a problem at all. Im curious though is a ui similar to t3code planned? Would love that a lot!
@dominikkoch that's amazing! And exactly what we initially built Emdash for, to make the wrangling with worktrees and terminal windows a little bit less annoying.
And yes, we'll ship a chatUI similar to T3code soon! We started out with CLIs first because this allows us to ship fastest and offer the full functionality of the CLIs without having to play continuous catchup as they expand their feature set with features such as /btw in claude code.
@fberrez1 thanks you!! We’re building on Electron.
We chose it because Emdash needs a pretty deep desktop runtime: terminals, file watching, Git/worktrees, local DB, provider CLIs, SSH, diffs, etc. Electron gives us the most mature path for that across macOS, Windows, and Linux.
On heaviness: totally fair concern. We’ve spent a lot of time keeping the app responsive and avoiding unnecessary background work. The agents themselves usually dominate CPU/RAM, not the shell UI. That said, we’re actively optimizing startup, task switching etcc!
Let me know how you find it performs, if you end up giving it a shot 🚀🚀🚀
Report
@raban alright, thanks for the explanation. seems a fair choice you made
good luck!
Report
Oh I forgot, would Claude consider this as non native and charge differently?
@lakshminath_dondeti great question! And no, we natively embed the CLI so in the eyes of Claude Code / Anthropic it is as though you're opening Claude Code in any other Terminal emulator like Ghossty, iTerm, etc..
Report
The git worktree isolation per agent is the right call.. running multiple agents on the same working directory is a disaster waiting to happen. I've thought about this exact problem building multi-agent systems with LangGraph, and file-level conflicts between parallel agents are subtle and annoying to debug. Curious how you handle MCP server config sync across agents though.. if each agent gets the same MCP tools but they're writing to shared state like a database or vector store, does Emdash enforce any coordination or is that left entirely to the developer?
Report
The parallel diff review UI is genuinely clever. Monitoring multiple agent sessions without window switching solves a real pain. We've been running separate coding agents for different services and the context switching overhead adds up fast. How do you handle merge conflicts when two agents modify the same file simultaneously? Does Emdash queue operations, lock files, or surface conflicts for manual resolution?
Report
Running multiple agents with a unified diff view is a genuinely clever approach. The hardest part of parallel agent workflows isn't spawning them, it's knowing what changed and why. Building RetainSure, we've hit this exact problem managing concurrent coding sessions. How do you handle session isolation? Do agents share a filesystem or get containerized workspaces to prevent cross-contamination?
Emdash
Hey Product Hunt! 👋
We’re super happy to show you Emdash today.
One app, every coding agent.
Emdash is a provider-agnostic desktop app to run agents in parallel and turn issues into PRs.
Some features:
Run multiple agents in parallel with isolated worktrees
Use any of 28+ coding agent providers
Pass issues from Linear, Asana, Featurebase, GitHub, …
Run agents on remote machines via SSH
Review diffs and ship PRs in-app
BYOI: provision per-task workspaces on your own infrastructure
Available on macOS, Windows, and Linux
We're excited to see what you're going to build with Emdash!
@arnestrickmann been running into the electron weight tradeoff myself — solo dev, three or four dev tools open at once, and claude code in plain iterm is by far the lightest thing in the lineup. running four parallel agents on long jobs, what matters is whether emdash sits closer to a stack of terminal tabs or to a heavy editor like WebStorm — that's the gap that decides whether you can keep it open all day.
Notra
Been using Emdash for the past week and its great. I used to hate working with git worktrees because it made my workflow more complex than it had to be but with Emdash this actually wasn't a problem at all. Im curious though is a ui similar to t3code planned? Would love that a lot!
Emdash
@dominikkoch that's amazing! And exactly what we initially built Emdash for, to make the wrangling with worktrees and terminal windows a little bit less annoying.
And yes, we'll ship a chatUI similar to T3code soon! We started out with CLIs first because this allows us to ship fastest and offer the full functionality of the CLIs without having to play continuous catchup as they expand their feature set with features such as /btw in claude code.
Notra
@raban awesome, can't wait!
Very cool project
i’m curious what you’re building on: Tauri, Electron, or something else?
I'm looking for a software that is not too heavy to run. Do you have any insights?
Emdash
@fberrez1 thanks you!! We’re building on Electron.
We chose it because Emdash needs a pretty deep desktop runtime: terminals, file watching, Git/worktrees, local DB, provider CLIs, SSH, diffs, etc. Electron gives us the most mature path for that across macOS, Windows, and Linux.
On heaviness: totally fair concern. We’ve spent a lot of time keeping the app responsive and avoiding unnecessary background work. The agents themselves usually dominate CPU/RAM, not the shell UI. That said, we’re actively optimizing startup, task switching etcc!
Let me know how you find it performs, if you end up giving it a shot 🚀🚀🚀
@raban alright, thanks for the explanation. seems a fair choice you made
good luck!
Emdash
@lakshminath_dondeti great question! And no, we natively embed the CLI so in the eyes of Claude Code / Anthropic it is as though you're opening Claude Code in any other Terminal emulator like Ghossty, iTerm, etc..
The git worktree isolation per agent is the right call.. running multiple agents on the same working directory is a disaster waiting to happen. I've thought about this exact problem building multi-agent systems with LangGraph, and file-level conflicts between parallel agents are subtle and annoying to debug. Curious how you handle MCP server config sync across agents though.. if each agent gets the same MCP tools but they're writing to shared state like a database or vector store, does Emdash enforce any coordination or is that left entirely to the developer?
The parallel diff review UI is genuinely clever. Monitoring multiple agent sessions without window switching solves a real pain. We've been running separate coding agents for different services and the context switching overhead adds up fast. How do you handle merge conflicts when two agents modify the same file simultaneously? Does Emdash queue operations, lock files, or surface conflicts for manual resolution?
Running multiple agents with a unified diff view is a genuinely clever approach. The hardest part of parallel agent workflows isn't spawning them, it's knowing what changed and why. Building RetainSure, we've hit this exact problem managing concurrent coding sessions. How do you handle session isolation? Do agents share a filesystem or get containerized workspaces to prevent cross-contamination?