← All comparisons
vs
Emdash logo

Pragma vs Emdash

Open-source agentic development environment (YC W26)

Apache-2.0 · Pragma is AGPL-3.0

Download Pragma

Emdash is an Electron desktop app for running CLI coding agents — Claude Code, Codex, Cursor, OpenCode, and others — in parallel, each in its own git worktree and branch. It works with local projects and remote machines over SSH/SFTP, and can import tasks from a handful of project-management tools. It's Apache-2.0 licensed and keeps its state in a local SQLite database, with optional telemetry.

Reviewing several agents at once means switching between their separate terminal sessions. Pragma adds a public plugin API, interactive scratchpads, an agent board, and a fan-out compare view on top of the same worktree model.

Pragma is currently ahead on a few fronts: a public plugin API opens up third-party sidebar tabs and web views, agents write to interactive MDX scratchpads instead of just terminal output, a kanban-style board tracks work from prompt to pull request, a fan-out view lets you compare several attempts side by side, built-in AI handles inline edits and PR drafting, a System 1 model picks the agent and model for each launch and resolves merge conflicts, and there's a shipped mobile and web client.

Pragma vs Emdash, capability by capability

CapabilityPragmaEmdash
Native shellRust host + the OS webview, not a bundled browserTauri + RustElectron
Agents as pluginsEach integration is its own versioned package with official brandingYesPartial
Public plugin APIThird-party sidebar tabs, cards, web views, and commands in the app itselfYesNo
Programmable automationsYour own TypeScript running on host events, not just a scheduleYesPartial
Interactive agent scratchpadsAgents write MDX with live React components you can edit and comment onYesNo
Agent boardPrompt to review to pull request as tracked cardsYesNo
Fan out + comparison viewOne prompt into N attempts, compared as terminals, diffs, and scratchpadsYesNo
Editing suiteCode editor, markdown WYSIWYG, PDF, image, video, and audio viewersYesPartial
Built-in AI, your keyInline ⌘K edits, one-click PR drafting, ask-anything from the paletteYesNo
Auto agent & model picksA System 1 model picks the agent, model, and reasoning effort for each launchYesNo
Live agent progressWhat each agent is doing right now, with an estimate of how far it has gotYesstatus only
AI merge-conflict resolutionResolves each conflict in the PR view, double-checks uncertain files, then commitsYesNo
Agent accounts & usage limitsEvery agent's accounts and plan usage, switchable globally or per projectYesNo
Mobile & web clientPlatforms it ships, and how you reach it off your LANiOS, Android, Web — own tunnelNo
Persistent host serverSessions, tunnels, and headless launches survive quitting the appYesPartial
Remote projectsSSH hosts as first-class remote projectsSSHSSH
User themesEditable colour tokens per project, not a fixed preset listYesPartial
LicenseWhat you are allowed to do with the sourceAGPL-3.0Apache-2.0

Checked against the generalaction/emdash, stablyai/orca, superset-sh/superset repositories (README, LICENSE, and linked docs) as of 2026-08-29, with the mobile row re-verified on 2026-10-06: Orca added a hosted "Orca Relay" tunnel option, and Superset shipped an iPhone app on 2026-09-21 for Pro subscribers. The phone clients are compared in detail on the Pragma Go page. The Auto, agent progress, merge-conflict, and accounts rows were checked on 2026-10-03: Orca and Superset both track usage and switch accounts globally (Superset for Claude Code and Codex), with no per-project choice, and Orca resolves conflicts by launching an agent on them. This space moves fast — if something here is out of date, open an issue on https://github.com/pragma-sh/pragma and we will correct it.

Migrating from Emdash to Pragma

No export step: Emdash and Pragma both run agents in plain git worktrees, so you can add each existing branch as a Pragma worktree in a couple clicks — nothing to convert.

Point Pragma at the same folder

Emdash's worktrees are plain git worktrees under your project's `.git`. Open the parent repo as a Pragma project, then add each branch Emdash already created as a Pragma worktree — same checkout on disk, nothing to export.

Your agent CLIs already work

Pragma launches Claude Code, Codex, Cursor, and OpenCode using the CLI you already have installed and logged in — the same one Emdash was driving. No new API keys.

Rebuild ticket-import wiring in the board

Emdash's Linear/Jira/GitHub-issue import is Emdash-specific and doesn't export. Pragma's agent board and GitHub panel cover the same job — turn a task into a card, open a PR, review it — without leaving the app.

Remove Emdash's agent hooks if you're not running both

Emdash installs marker-tagged lifecycle hooks in each agent's user-level config to track status. They no-op outside an Emdash session, so it's safe to leave them, but Emdash's own docs cover removing them if you'd rather not.

Bring your Emdash worktrees over — see what changes.