Provider list
All 22 providers are defined insrc/shared/providers/registry.ts as ProviderDefinition objects that configure how Emdash spawns and interacts with each CLI.
If you’re missing a provider, open an issue or submit a PR following the Contributing Guide.
| Provider | Status | Installation |
|---|---|---|
| Amp | ✅ Supported | npm install -g @sourcegraph/amp@latest |
| Auggie | ✅ Supported | npm install -g @augmentcode/auggie |
| Autohand Code | ✅ Supported | npm install -g autohand-cli |
| Charm | ✅ Supported | npm install -g @charmland/crush |
| Claude Code | ✅ Supported | curl -fsSL https://claude.ai/install.sh | bash |
| Cline | ✅ Supported | npm install -g cline |
| Codebuff | ✅ Supported | npm install -g codebuff |
| Codex | ✅ Supported | npm install -g @openai/codex |
| Continue | ✅ Supported | npm i -g @continuedev/cli |
| Cursor | ✅ Supported | curl https://cursor.com/install -fsS | bash |
| Droid | ✅ Supported | curl -fsSL https://app.factory.ai/cli | sh |
| Gemini | ✅ Supported | npm install -g @google/gemini-cli |
| GitHub Copilot | ✅ Supported | npm install -g @github/copilot |
| Goose | ✅ Supported | curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash |
| Kilocode | ✅ Supported | npm install -g @kilocode/cli |
| Kimi | ✅ Supported | uv tool install --python 3.13 kimi-cli |
| Kiro | ✅ Supported | curl -fsSL https://cli.kiro.dev/install | bash |
| Mistral Vibe | ✅ Supported | curl -LsSf https://mistral.ai/vibe/install.sh | bash |
| OpenCode | ✅ Supported | npm install -g opencode-ai |
| Pi | ✅ Supported | npm install -g @mariozechner/pi-coding-agent |
| Qwen Code | ✅ Supported | npm install -g @qwen-code/qwen-code |
| Rovo Dev | ✅ Supported | acli rovodev auth login |
Verifying installation
Emdash automatically detects installed CLI providers when you create a new task. To verify an agent is properly installed:Verify in Emdash
Open Emdash and create a new task. The provider dropdown will only show detected agents.
Provider configuration
Each provider definition inregistry.ts includes:
Key fields
autoApproveFlag
autoApproveFlag
Flag to run the agent in full-auto mode without user confirmation prompts. Examples:
- Claude:
--dangerously-skip-permissions - Codex:
--full-auto - Qwen:
--yolo
initialPromptFlag
initialPromptFlag
How the agent accepts the initial prompt:
- Empty string (
''): Positional argument - Flag like
-ior-p: Separate flag + argument undefined: No CLI prompt support (not usable for PR generation)
useKeystrokeInjection
useKeystrokeInjection
When
true, Emdash types the prompt into the TUI after startup (used for Amp and OpenCode which lack CLI prompt flags).sessionIdFlag
sessionIdFlag
Claude-only feature. Emdash generates a deterministic UUID from the task/conversation ID and passes it via
--session-id for multi-chat isolation.Adding a new provider
To add support for a new CLI agent:Add API key passthrough
If your agent requires API keys, add them to
AGENT_ENV_VARS in src/main/services/ptyManager.ts:Provider differences
Spawn modes
Emdash uses three PTY spawn strategies:- Shell-based (
startPty):{cli} {args}; exec {shell} -il— user gets a shell after agent exits - Direct spawn (
startDirectPty): Spawns the CLI directly using cached path (faster, preferred) - SSH (
startSshPty): Wrapsssh -tt {target}for remote development
Session isolation
Only Claude Code supports multi-session isolation via--session-id. For other providers, each conversation in a task shares the same CLI process.
Resume support
Providers withresumeFlag can continue previous sessions:
- Claude:
-c -r - Qwen:
--continue - Kilocode:
--continue - Gemini:
--resume