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.
@sk_uxpin I see! I think the desktop app gives our users currently the most intuitve and extensible interface to work on their issues / tasks and push / review code changes. We might add an Emdash CLI! What's your current setup? Have you tried Emdash?
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.
Just wondering about why desktop and not CLI?
Emdash
@sk_uxpin it is ! You use the CLI agent inside our (desktop) app ✨
@raban makes sense - I was rather referring to CLI agents being used inside a CLI app :)
Emdash
@sk_uxpin I see! I think the desktop app gives our users currently the most intuitve and extensible interface to work on their issues / tasks and push / review code changes. We might add an Emdash CLI! What's your current setup? Have you tried Emdash?
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.