claude-peers

SkillDatabases & data

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'.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the claude-peers skill

What this skill tells your AI

The instructions your AI receives, as published by tdimino/claude-code-minoan in skills/integration-automation/claude-peers/SKILL.md and read by ahel’s review.

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

ClientPush notificationsMessage deliveryConfig
claude-codeYes (claude/channel)Instant — messages pushed into sessionsettings.json MCP entry
codexNoPoll — must call check_messages each turn~/.codex/config.toml MCP entry
cliNoManual via bun ~/tools/claude-peers-mcp/cli.ts send <id> <msg>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 orphan warnings)
bun ~/tools/claude-peers-mcp/cli.ts peers            # Quick peer listing
bun ~/tools/claude-peers-mcp/cli.ts orphans          # List orphaned server.ts processes (PPID=1)
bun ~/tools/claude-peers-mcp/cli.ts cleanup          # Kill orphaned processes and remove from broker
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

Message History

check_messages returns all recent messages (sent and received) with enrichment:

  • [claude-code] or [codex] client-type tags
  • ISO timestamps
  • [NEW] marker for previously unseen messages
  • Direction indicator (From/To) with peer summary or CWD

Messages persist across reads — calling check_messages multiple times still shows history. The /message-history broker endpoint is non-destructive.

Orphan Management

MCP server processes detect parent death via stdin close (immediate) and PPID monitoring (30s fallback). The broker's stale-peer sweep (every 30s) also detects orphaned processes (PPID=1) and terminates them.

For manual cleanup: bun cli.ts orphans lists and bun cli.ts cleanup kills orphaned processes.

Gotchas

  • Codex sandbox: Codex's macOS seatbelt sandbox blocks socket connect() in workspace-write mode. Codex sessions currently require --dangerously-bypass-approvals-and-sandbox or danger-full-access sandbox to reach the broker. This is a Codex sandbox limitation, not a peers issue — tracked at Codex issue #11095.
  • Codex has no push: Codex agents must call check_messages proactively — messages are invisible until polled.
  • Permission allow-list: mcp__claude-peers__send_message may not be in the auto-allow list. The user may need to approve it on first use or add it to settings.json permissions.
  • Broker must be running: The broker is managed by launchd (com.minoan.claude-peers-broker). If peers can't connect, check: 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 CLAUDE_PEERS_TCP=1 in the broker's env to also listen on TCP port 7899. Clients use TCP when CLAUDE_PEERS_URL is set (e.g., CLAUDE_PEERS_URL=http://127.0.0.1:7899).

Signals

GitHub stars
41
Forks
4
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
claude-peers
Source
github.com/tdimino/claude-code-minoan