packages/plugins/src/agents/registry.tspackages/plugins/src/agents/impl/src/main/core/dependencies/dependency-managers.tssrc/main/core/pty/
codex, claude, grok, devin, qwen, qoder, droid, antigravity, cursor, copilot, amp, commandcode, opencode, hermes, charm, auggie, goose, kimi, kilocode, kiro, rovo, cline, codebuddy, continue, codebuff, freebuff, mistral, jules, junie, oh-my-pi, pi, autohand, letta, mimocode, zero
codex, claude, opencode, grok, devin, qwen, qoder, droid, cursor, copilot, hermes, auggie, goose, kimi, kilocode, kiro, cline, mistral, junie, mimocode, oh-my-pi, codebuddy
- provider metadata and icon assets
- host dependency detection, install, update, and uninstall descriptors
- prompt delivery behavior
- auto-approve, ACP, hooks, MCP, model, session, trust, and plugin capabilities
Agent activity, completion, and attention notifications come from explicit hooks or plugins
installed by src/main/core/agent-hooks/. Emdash does not infer agent status from terminal
output. If a provider has no hook/plugin integration for an event, the renderer should not show
or notify an inferred status for that event.
- Claude uses deterministic
--session-idvalues for conversation isolation. - Agents that cannot receive an interactive initial prompt via argv or stdin use keystroke injection — Emdash types the prompt into the TUI after startup.
src/main/core/agent-hooks/agent-hook-service.tsforwards hook events to renderer windows and can show OS notifications. It also writes hook config files for hook-capable providers, including.claude/settings.local.json,.qwen/settings.json, and provider-specific global hook files.- Qwen Code hooks use the documented Qwen settings schema in
.qwen/settings.json. Emdash installs command hooks for permission requests and session end/stop events while preserving unrelated user hooks.
- add or update the plugin in
packages/plugins/src/agents/impl/and register it inpackages/plugins/src/agents/registry.ts - update allowlisted agent env vars in
src/main/core/pty/pty-env.tsif needed - add or update hook/plugin installation in
src/main/core/agent-hooks/if the provider supports explicit events - validate detection behavior in
src/main/core/dependencies/ - add or update tests for any non-standard behavior