← 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, 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
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-09-05 after both projects shipped changes: Orca added a hosted "Orca Relay" tunnel option, and Superset's own pricing page now lists its mobile app as "Coming soon" rather than shipped. 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.