Claude-code-minoan claude-peers
Discover, message, and coordinate AI coding agents (Claude Code, Codex CLI) running on the same machine via a shared Unix socket broker backed by SQLite. Supports cross-session task delegation, peer summaries, and session lifecycle management. Triggers on 'peer agents', 'cross-session communication', 'message Codex', 'inter-agent messaging', 'coordinate agents'.
git clone https://github.com/tdimino/claude-code-minoan
T=$(mktemp -d) && git clone --depth=1 https://github.com/tdimino/claude-code-minoan "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/integration-automation/claude-peers" ~/.claude/skills/tdimino-claude-code-minoan-claude-peers && rm -rf "$T"
skills/integration-automation/claude-peers/SKILL.mdclaude-peers
Peer discovery and messaging network for AI coding agents on the same machine. A shared broker daemon listens on a Unix domain socket (
~/.claude/run/claude-peers.sock), backed by SQLite, routing messages between Claude Code and Codex CLI sessions.
Client Types
| Client | Push notifications | Message delivery | Config |
|---|---|---|---|
| claude-code | Yes () | Instant — messages pushed into session | MCP entry |
| codex | No | Poll — must call each turn | MCP entry |
| cli | No | Manual via | N/A |
Workflow Patterns
Task delegation: Send a focused task description to a Codex or Claude peer via
send_message. Include file paths, acceptance criteria, and which branch to work on. The receiving agent picks it up on its next turn.
Code review handoff: After completing work, message a peer with the diff summary and ask for review. The peer can respond with findings via
send_message.
Parallel exploration: Multiple agents working the same repo can use
set_summary to advertise what they're investigating, preventing duplicate work. Use list_peers with scope repo to see who else is in the same codebase.
Session lifecycle: Use
kill_peer to terminate a stuck, unresponsive, or completed peer's agent session. This kills the parent process (e.g., the Codex CLI), not just the MCP subprocess, and cleans up the peer record.
CLI Reference
bun ~/tools/claude-peers-mcp/cli.ts status # Broker health + all peers with [type] tags bun ~/tools/claude-peers-mcp/cli.ts peers # Quick peer listing bun ~/tools/claude-peers-mcp/cli.ts send <id> <msg> # Send from terminal (tagged as unverified) bun ~/tools/claude-peers-mcp/cli.ts kill <id> # Kill a peer's agent session (SIGTERM to parent) bun ~/tools/claude-peers-mcp/cli.ts kill-broker # Stop the broker daemon
Gotchas
- Codex sandbox: Codex's macOS seatbelt sandbox blocks socket
inconnect()
mode. Codex sessions currently requireworkspace-write
or--dangerously-bypass-approvals-and-sandbox
sandbox to reach the broker. This is a Codex sandbox limitation, not a peers issue — tracked at Codex issue #11095.danger-full-access - Codex has no push: Codex agents must call
proactively — messages are invisible until polled.check_messages - Permission allow-list:
may not be in the auto-allow list. The user may need to approve it on first use or add it tomcp__claude-peers__send_message
permissions.settings.json - Broker must be running: The broker is managed by launchd (
). If peers can't connect, check:com.minoan.claude-peers-broker
.launchctl list | grep claude-peers - Stale socket: If the broker crashes, the socket file persists. On restart, the broker detects and removes it automatically.
- TCP fallback: Set
in the broker's env to also listen on TCP port 7899. Clients use TCP whenCLAUDE_PEERS_TCP=1
is set (e.g.,CLAUDE_PEERS_URL
).CLAUDE_PEERS_URL=http://127.0.0.1:7899