Desktop app for coagent — a multi-participant chat where humans and coding agents (Claude Code, Codex) work together in shared workspace rooms.
Coagent spawns multiple coding agents side-by-side, each pinned to its own project directory, and drops them into the same chat. You mention @agent-name to address one; agents talk back via a chat tool, can ask each other for project context (@other-agent how does X work in your repo?), and run their own tools (Read, Bash, Edit, …) against the directory they're pinned to.
Two backends are supported and can mix in the same room:
- Claude Code — Anthropic's
claudeCLI via the Claude Agent SDK. Auto-loads~/.claude/...,.claude/settings*.json,.claude/skills/,.claude/agents/,.claude/commands/, hooks, andCLAUDE.md. - Codex — OpenAI's
codexCLI (@openai/codex). Auto-loadsAGENTS.md,.agents/skills/,~/.codex/config.toml,~/.codex/agents/. Project-scoped layers (.codex/config.toml, hooks, project subagents) load after a one-time trust opt-in offered when adding the agent.
You need at least one CLI authenticated on your machine before adding an agent of that backend. Both binaries are bundled inside coagent, but each needs its own login flow run once on your machine.
# Recommended: log in with your Claude account
claude login
# Or set an API key (add to ~/.zshrc / ~/.bashrc to persist)
export ANTHROPIC_API_KEY="sk-ant-api03-..."If you don't have the claude command on PATH, install it first with npm install -g @anthropic-ai/claude-code.
codex loginIf you don't have the codex command on PATH, install it first with npm install -g @openai/codex.
Coagent ships its own copies of both
claudeandcodexfor the agent runtime, so a global install is only needed if you also want to use these CLIs interactively in a terminal — or to runclaude login/codex loginonce.
Each Codex agent is launched with
--dangerously-bypass-approvals-and-sandbox. This is currently the only mode where Codex auto-approves MCP tool calls, which the chat round-trip requires (openai/codex#15437). The agent still operates in your selected project directory; this only relaxes Codex's per-tool approval prompts.
brew tap JangVincent/tap
brew install --cask coagent-appTo upgrade later, always run brew update first so the tap pulls the latest formula:
brew update && brew upgrade --cask coagent-appHeads up: the first launch will show "coagent is damaged and can't be opened" — this happens with the Homebrew cask too. See First launch on macOS below to clear it.
Download the latest .dmg from Releases and drag to Applications.
Note: Apple Silicon (arm64) only. Intel Macs are not supported.
The app is not notarized, so macOS quarantines it on first launch and shows "coagent is damaged and can't be opened". This affects every install method (Homebrew cask and manual .dmg). Clear the quarantine attribute once per install:
sudo xattr -dr com.apple.quarantine /Applications/coagent.appYou'll need to rerun this after every upgrade as well.
Download the latest .exe installer from Releases.
Auto-updates are enabled — the app will check for updates hourly and install them automatically.
Debian/Ubuntu:
# Download the .deb file from Releases, then:
sudo dpkg -i coagent_*.debOther distros (AppImage):
# Download the .AppImage file from Releases, then:
chmod +x coagent-*.AppImage
./coagent-*.AppImageAuto-updates are enabled on Linux as well.
| Claude Code | Codex | |
|---|---|---|
| Project memory file | CLAUDE.md |
AGENTS.md |
| Skills | .claude/skills/ |
.agents/skills/ |
| Subagents | ~/.claude/agents/, .claude/agents/ |
~/.codex/agents/, .codex/agents/ (project requires trust) |
| Hooks / settings | auto-loaded from ~/.claude, .claude/settings*.json |
auto-loaded from ~/.codex/config.toml; project .codex/ requires trust |
/status |
yes | yes |
/usage |
yes | not exposed by codex CLI |
/compact |
yes (manual) | not exposed by codex CLI (auto-compacts via model_auto_compact_token_limit) |
/clear session |
yes | yes |
/effort |
Low / Medium / High / XHigh / Max | Low / Medium / High / XHigh |
/mode |
Default / Accept edits / Auto / Plan | fixed (bypass — required for MCP, see prereqs) |
/model |
Haiku 4.5 / Sonnet 5 / Opus 4.7 / Opus 4.8 | gpt-5.1-codex-max / gpt-5.3-codex / gpt-5.6 |
| Past-session resume from picker | yes | not yet (each new agent starts fresh; resume within the live agent works) |
When you add a Codex agent in a project for the first time, coagent offers to append a [projects."<path>"] trust_level = "trusted" entry to ~/.codex/config.toml. Decline if you'd rather set this manually; the agent still works without it, just without project-scoped .codex/ overrides.
Both backends pick up per-project conventions automatically once the agent is launched in that directory. If you want an agent to follow specific repo rules:
- Claude: drop a
CLAUDE.mdat the repo root (or anywhere in the project — Claude walks parents). Skills go under.claude/skills/, sub-agents under.claude/agents/, custom slash commands under.claude/commands/. Settings live in.claude/settings.json(committed) or.claude/settings.local.json(per-clone). - Codex: drop an
AGENTS.mdat the repo root. Skills go under.agents/skills/. Project-scoped.codex/config.toml(MCP servers, hooks, etc.) and.codex/agents/load only after the one-time trust opt-in described above.
npm install # Install dependencies
npm run dev # Run in development mode
npm run build # Build for production
npm run make # Package the app
# Smoke tests for the agent runtime
npm run smoke:mcp # HTTP MCP bridge| Platform | Auto-Update | Method |
|---|---|---|
| Windows | Yes | Squirrel + update.electronjs.org |
| Linux | Yes | update.electronjs.org |
| macOS | No | brew update && brew upgrade --cask coagent-app |
macOS auto-update requires code signing, which is not currently configured. Use Homebrew for updates.
MIT