Duet Agents — Communication skill for Claude Code
Pair Claude Code and Codex CLI as peer agents collaborating in real time in adjacent tmux panes — inline messaging, turn-taking, interruption.
How to install Duet Agents
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open JonathanRosado/duet-agents and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Duet Agents does
Pair Claude Code and Codex CLI as peer agents collaborating in real time in adjacent tmux panes — inline messaging, turn-taking, interruption.
Alternatives in Communication
- Lark Coding Agent Bridge — Bot that bridges Feishu/Lark messenger with a local Claude Code or Codex CLI 2.4k ★
- Dsh Chat Import — Import 14+ external agent chat histories (Claude Code, Codex, ChatGPT, Cursor, Gemini, Reasonix, opencode, ZCo 114 ★
- Whats New — Draft a "What's New" Discord community update across backend, frontend & infra for a time window 107 ★
README
duet-agents
Run **Claude Code**, **Codex CLI**, **Kimi CLI**, and **OpenCode** as a visible **mesh** of agents in tmux (macOS/Linux) or psmux (Windows). Every agent can message every other agent directly — to divide work, debate an approach, or cross-check one another. There is **no leader and no election**; the agent the task was given to coordinates by convention.
This repository ships an npx installer (`npx github:JonathanRosado/duet-agents`) that sets the mesh up for **Claude Code, Codex CLI, Kimi CLI, and OpenCode** alike — any of the four can install it, update it, and initiate a session. Installing adds a `duet` command to each selected CLI, which creates the panes, a durable brief, per-recipient message queues, and one delivery daemon.
**Platform status:** the v4 leaderless mesh ships on **macOS/Linux (Bash + tmux)** and **Windows (PowerShell + psmux)**. Native harness-session pairing/rejoin for Claude, Codex, and Kimi currently ships on the Bash/tmux path. OpenCode is a full fresh-session initiator and peer on both platforms, but its native pairing/rejoin is not supported. Steering a message into a busy Kimi peer's running turn — instead of only ever landing in its composer — ships on Windows; the `ref=` envelope field it depends on is emitted on both platforms, but the steer logic itself is not yet ported to Bash/tmux.
┌──────── one delivery daemon (per session) ────────┐
│ per-recipient FIFO inboxes · at-least-once │
└──▲──────────▲──────────▲──────────▲────────────────┘
│ │ │ │
claude ◀───▶ codex-1 ◀─▶ kimi-1 ◀─▶ opencode-1
any agent messages any agent by name, or broadcasts to `all`
Duet is deliberately small. v4 removed the leadership, election, failover, crash recovery, admission control, and cross-session fencing that had accreted over earlier versions. What remains is one job done well: reliably moving a message from one agent's queue int
Related Skills
Agent Peers MCP
Peer discovery + messaging MCP letting multiple Claude Code and Codex CLI sessions coordinate on one machine.
Codex Peer Bridge
Local Unix-socket messaging bridge between Codex sessions and Claude Code peers
Tincan
Peer messaging between live Claude Code, Codex and opencode sessions on one machine. One binary, run as an MCP
Cc Uplink
Claude Code's unified outbound channel layer: one MCP server, six fixed tools, pluggable drivers (tmux cross-p
Agents Connector
Connect Claude Code, Codex, and Gemini CLI agents through a local message bus to share tasks, chat, and review
Bodhi Realtime Agent
Real-time voice agents with parallel async background sub-agents — conversations continue naturally while task
Related Agents
Agent Of Empires
Claude Code, OpenCode, Mistral Vibe, Codex CLI, Gemini CLI Coding Agent Terminal Session manager via tmux and
Codex Orchestrator
CLI tool for delegating tasks to GPT Codex agents via tmux sessions. Designed for Claude Code orchestration wi
Independent Reviewer
Product-technical alignment reviewer. Spawned in a tmux pane via OpenAI Codex CLI with zero inherited context.