🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman
Parallel agent desktop app for Git worktrees
Emdash is a local-first desktop environment for agent-led development. It launches multiple agent tasks in parallel, isolates each one in its own Git worktree, and lets you inspect diffs, CI, pull requests, and merges in one interface. It also supports remote projects over SSH/SFTP and installs lifecycle hooks for supported agent CLIs.
Builders who want to run several coding agents at once and compare their results before merging.
You can explore multiple fixes or features in parallel without managing each agent by hand.
What it does
Parallel agent runs
Starts multiple coding agents at the same time instead of one terminal session at a time.
Git worktree isolation
Keeps each task in its own worktree and branch so changes stay separated.
Provider CLI support
Works with installed agent CLIs such as Claude Code, Codex, Cursor, OpenCode, Amp, Devin, Qwen Code, Droid, and GitHub Copilot.
Issue and ticket intake
Sends work from Linear, GitHub, Jira, GitLab, Asana, Featurebase, Monday.com, Forgejo, or Plain into an agent.
Review and merge flow
Lets you inspect diffs, check CI, create pull requests, and merge from the app.
Remote project support
Connects to remote machines with SSH/SFTP and stores credentials in the OS keychain.
Lifecycle hooks
Installs marker-tagged entries in provider configs so status, notifications, and resumable sessions work inside Emdash sessions.
Local-first storage
Stores app state in a local SQLite database and keeps code and chats off Emdash servers.
How to get it
- 1Telemetry is optional and can be disabled in Settings or by launching with
TELEMETRY_ENABLED=false
README
Emdash is a desktop app for running AI coding agents in parallel. Each task runs in its own Git worktree, so you can explore multiple fixes or features at once, review the diffs, and merge what works.
It works with local projects and remote machines over SSH. Bring the CLI agents you already use: Claude Code, Codex, OpenCode, Amp, and more.
What You Can Do
- Run multiple coding agents at once without juggling terminals.
- Keep every agent isolated in its own Git worktree and branch.
- Send issues and tickets from Linear, GitHub, Jira, GitLab, Asana, Featurebase, Monday.com, Forgejo, or Plain into an agent.
- Review diffs, create pull requests, inspect CI checks, and merge from one place.
- Work locally or on your own remote machines over SSH/SFTP.
A Poem for Parallel Exploration
Multiple paths wind through the forest deep,
Each trail diverging where the wild things creep,
Isolated journeys through the woods they roam,
Discoveries blooming far away from home.
What thrives persists, what withers falls away,
Parallel futures guide us day by day,
Merge the best pathways where the sunlight flows,
A symphony of nature where the river goes.
Installation
| Platform | Install |
|---|---|
| macOS | brew install --cask emdash · Apple Silicon · Intel |
| Windows | Installer · Portable |
| Linux x64 | AppImage · DEB · RPM |
| Linux ARM64 | AppImage · DEB · RPM |
See the latest release for all desktop builds.
Agents
Emdash detects installed provider CLIs automatically. It supports agents like Claude Code, Codex, Cursor, OpenCode, Amp, Devin, Qwen Code, Droid, and GitHub Copilot.
For agents with lifecycle-hook support, Emdash installs marker-tagged entries in the agent's user-level config. These hooks let Emdash track status, notifications, and resumable sessions, and silently do nothing when the agent runs outside an Emdash session.
See Providers for the full list, setup commands, and provider-specific behavior.
Remote Projects
Connect to remote machines with SSH/SFTP and run the same parallel workflow on remote codebases. Emdash supports SSH agent, key, and password authentication, with credentials stored in your OS keychain.
See Remote Projects for setup details.
Privacy
Emdash is local-first. App state is stored in a local SQLite database, and Emdash does not send your code or chats to Emdash servers.
Agent CLIs may send code, prompts, and context to their own providers. Their data handling depends on the provider you choose.
Telemetry is optional and can be disabled in Settings or by launching with:
TELEMETRY_ENABLED=false
See Telemetry for details.
Contributing
Contributions are welcome. Read the Contributing Guide, open an issue, or join the Discord.
License
Licensed under the Apache-2.0 license.
Files in the repo
- .claude
- .github
- .scratch
- agents
- apps
- docs
- packages
- tooling
- .emdash.json
- .gitignore
- .node-version
- .npmrc
- .nvmrc
- .oxfmtrc.json
- .oxlintrc.json
- .prettierignore
- AGENTS.md
- CLAUDE.md
- CONTEXT.md
- CONTRIBUTING.md
- LICENSE.md
- mise.toml
- nx.json
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- README.md
- tsconfig.base.json
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More tools
The best-benchmarked open-source AI memory system. And it's free.
Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.