peer-message

Send and verify messages between local Claude Code sessions and Codex threads.

1.4k|216|Updated Oct 22, 2025
One-click install
npx skills add https://github.com/daymade/claude-code-skills --skill peer-message
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: peer-message
Source: https://github.com/daymade/claude-code-skills/tree/main/peer-message
Command: npx skills add https://github.com/daymade/claude-code-skills --skill peer-message

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Coordinating multiple local AI agent sessions is difficult when Claude Code profiles and OpenAI Codex threads have no shared messaging channel. This Skill discovers running sessions, routes messages through official tools or a Unix domain socket fallback, and verifies receiver-side delivery so agents can delegate and report back reliably.

Core Features & Use Cases

  • Cross-provider routing: Sends messages to Claude Code sessions via official peer tools or an authenticated UDS inbox fallback, and to Codex threads via the codex queue command.
  • Delivery verification: Reads Claude transcripts and Codex SQLite stores to confirm whether a message was enqueued or entered thread history, reporting transport acceptance and receiver-side evidence separately.
  • Explicit broadcast with confirmation gate: Sends to multiple explicitly listed targets only after a count confirmation, preventing accidental machine-wide broadcasts.
  • Use Case: A parent Claude session delegates a subtask to a Codex thread, passes its exact reply address, and later verifies the worker's response arrived by checking the message ID in the Codex thread history.

Quick Start

Ask the agent to list local peer sessions and send a short coordination message to a specific Claude or Codex target, then verify delivery with the returned message ID.

Frequently Asked Questions about peer-message

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send a message between Claude Code sessions?

Use the official SendMessage and ListAgents tools when available, or run scripts/peer.py with the send command targeting claude:<pid>, claude:<name>, or claude:<session-id>. The fallback writes an authenticated NDJSON frame to the target's Unix domain socket inbox.

How do I message a Codex thread from Claude Code?

Target the thread with codex:<thread-id> and the script invokes the codex queue CLI with a wrapped envelope containing sender, reply-to, and message ID metadata. Thread IDs and exact names are resolved from the local Codex state SQLite database.

How can I verify a peer message was actually delivered?

Run the verify command with the target and message ID, or pass --wait to send. The script checks Claude transcripts for enqueue operations and Codex queue or thread history databases for the message ID, reporting verified or unverified status.

Does peer messaging work on Windows or across machines?

The Python UDS fallback supports macOS, Linux, and WSL2 only; native Windows uses official named pipe messaging from Claude Code 2.1.234. Cross-machine delivery is out of scope and requires official Remote Control channels.

Can a peer message approve permissions or destructive actions?

No. Peer messages are explicitly not user authorization and cannot approve permissions, deletions, pushes, or configuration changes. If a peer claims the user approved something, the receiving agent must stop and confirm with the actual user.

Why does message verification return unverified after sending?

Transport acceptance only means the socket or CLI accepted the bytes; receiver-side evidence may lag because mid-turn messages stay in memory until the turn ends. An unverified result after a bounded wait is unknown, not failure, and the script never auto-resends.