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.
The multi-agent parallel workflow is where this gets interesting. Right now most people just use one coding agent at a time because managing context across multiple sessions is a mess. Having a single place to review what each agent did and catch conflicts before they hit a PR is the part that's actually hard to replicate with just terminal tabs. Do you find people naturally end up specializing different agents for different tasks, or do most users run the same agent in parallel on separate features?
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?
Report
The SSH remote execution feature is underappreciated in the description. Running Claude Code on a beefy remote machine rather than a developer's laptop changes the cost/latency profile significantly, especially for large monorepos where context loading is slow. How does Emdash handle the agent state across an SSH disconnect? If a developer closes their laptop mid-session, does the agent continue running remotely and the session resumes on reconnect, or does the disconnect kill the agent?
Report
One app for several coding agents gets really useful when the handoff is explicit instead of implied. The part I would watch closely is provenance: which agent proposed the change, what evidence it saw, what diff it produced, and why the next agent or human reviewer is allowed to continue from there. Cross-agent speed is great, but the review surface has to stay legible.
Congrats on the launch! How would you describe emdash to be different from other projects in this space? For which kind of users is emdash the best product?
@marc_klingen thank you Marc! Langfuse has been a big inspiration to us, especially on open-source and 'docs are product'. Though admittedly our docs need more love. 😀
I think the main difference is flexibility.
You can use the provider you want, with the issue tracker you use, on the OS you’re on. Agents can run locally or on your own machines over SSH.
Another critical differentiation (particularly with last weeks policy updates from Anthropic): We run the actual CLIs in our terminal emulator. So you get the real Claude Code, Codex, Gemini, OpenCode, etc. experience, with the latest models. ✨
Emdash is best for engineers and teams who already code nearly exclusively with coding agents nearly exclusively, and want a cleaner way to run them across providers and machines with a deep git integration and easy way to review changes.
AISA AI Skills Test
The multi-agent parallel workflow is where this gets interesting. Right now most people just use one coding agent at a time because managing context across multiple sessions is a mess. Having a single place to review what each agent did and catch conflicts before they hit a PR is the part that's actually hard to replicate with just terminal tabs. Do you find people naturally end up specializing different agents for different tasks, or do most users run the same agent in parallel on separate features?
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?
The SSH remote execution feature is underappreciated in the description. Running Claude Code on a beefy remote machine rather than a developer's laptop changes the cost/latency profile significantly, especially for large monorepos where context loading is slow. How does Emdash handle the agent state across an SSH disconnect? If a developer closes their laptop mid-session, does the agent continue running remotely and the session resumes on reconnect, or does the disconnect kill the agent?
One app for several coding agents gets really useful when the handoff is explicit instead of implied. The part I would watch closely is provenance: which agent proposed the change, what evidence it saw, what diff it produced, and why the next agent or human reviewer is allowed to continue from there. Cross-agent speed is great, but the review surface has to stay legible.
Langfuse
Emdash
@marc_klingen thank you Marc! Langfuse has been a big inspiration to us, especially on open-source and 'docs are product'. Though admittedly our docs need more love. 😀
I think the main difference is flexibility.
You can use the provider you want, with the issue tracker you use, on the OS you’re on. Agents can run locally or on your own machines over SSH.
Another critical differentiation (particularly with last weeks policy updates from Anthropic): We run the actual CLIs in our terminal emulator. So you get the real Claude Code, Codex, Gemini, OpenCode, etc. experience, with the latest models. ✨
Emdash is best for engineers and teams who already code nearly exclusively with coding agents nearly exclusively, and want a cleaner way to run them across providers and machines with a deep git integration and easy way to review changes.