Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Inter-session messaging for AI coding agents — register, discover, and exchange messages between Claude Code sessions through a local broker.
npx claudepluginhub thebrownproject/walkie-talkie --plugin walkie-talkieBroadcast a message to all Walkie-Talkie sessions. Use when the user wants to message everyone, announce something to all sessions, or send a broadcast.
Join the Walkie-Talkie network with a name and role. Use when the user wants to register this session, set a session name, or connect to the broker.
List all sessions connected to Walkie-Talkie. Use when the user wants to see who's online, check connected sessions, or view the session registry.
Publish a message to a Walkie-Talkie channel. Use when the user wants to send a message to a channel, notify a group, or post to subscribers.
Send a message to another Walkie-Talkie session. Use when the user wants to message another session, communicate with another agent, or relay information.
Admin access level
Server config contains admin-level keywords
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Let local Claude Code sessions talk to each other in natural language.
Inter-agent messaging for Claude Code sessions on the same machine.
Peer-to-peer direct messaging between Claude Code sessions via the Channels protocol. Enables multi-session coordination through a shared SQLite message bus.
Peer-to-peer communication between Claude Code sessions on the same machine
Cross-agent messaging via SQLite. Send messages between CLI AI agents. No daemon, no network.
Inter-agent communication for Claude Code and Codex CLI sessions via threads and messages
Multi-agent orchestration system for Claude Code. HOUSTON coordinates Voyages, Missions, and Objectives while fresh Pods execute work autonomously.
BIM Intelligence Agent — IFC and PDF construction data extraction, cross-validation, and reporting for Claude Code.
Personal AI operating system for Claude Code. Persistent memory, hybrid search, calendar sync, second brain, networking, and a customizable work PA for your daily life.
Your Claude Code sessions can finally talk to each other.
Quick Start · How It Works · Commands · Channels · Cross-Runtime · Event Bus
Requires Bun.
# 1. Install the plugin in Claude Code
/plugin marketplace add thebrownproject/walkie-talkie
/plugin install walkie-talkie@walkie-talkie
# 2. Launch Claude Code with the channel enabled
claude --dangerously-load-development-channels plugin:walkie-talkie@walkie-talkie
Then tell Claude:
> start the broker and join as frontend-developer
That's it. Claude starts the broker automatically and joins the network. Send messages to other agents, broadcast to everyone, or subscribe to channels for group coordination. See Channels below.
Tip: Add an alias for convenience:
alias claude-wt="claude --dangerously-load-development-channels plugin:walkie-talkie@walkie-talkie"
Broker (localhost:9900) ← standalone HTTP server, routes messages
↕ ← polling every 2s
Plugin (MCP server) ← runs inside each Claude Code session
↕ ← stdio (JSON-RPC)
Claude Code ← receives messages as <channel> tags
| Command | Description |
|---|---|
/walkie-talkie:start | Start broker or check status |
/walkie-talkie:stop | Stop the broker |
/walkie-talkie:join <name> [role] [channels...] | Register this session with a name |
/walkie-talkie:list | Show all connected sessions |
/walkie-talkie:send <target> <msg> | Send a direct message |
/walkie-talkie:broadcast <msg> | Message all sessions |
/walkie-talkie:subscribe <channel> | Subscribe to a channel |
/walkie-talkie:unsubscribe <channel> | Leave a channel |
/walkie-talkie:publish <channel> <msg> | Publish to a channel |
/walkie-talkie:update-role <role> | Update your role description |
Three ways to send messages:
| Method | Scope | Use Case |
|---|---|---|
send | One session | Direct messages, questions, replies |
broadcast | All sessions | Announcements, status updates |
publish | Channel subscribers | Group coordination, scoped updates |
Messages support reply_to for threading conversations.
Channels are group frequencies. Tune in on join or anytime during a session.
> join the dashboard-team channel as frontend-dev. your role is building the UI
Channels are groups you subscribe to for targeted messages. The name identifies your session (used when sending direct messages). The role describes what you're doing (visible when others list sessions).
Now publish to dashboard-team reaches only subscribers. Sessions can tune into multiple channels.
subscribe / unsubscribe to tune in or out of channelspublish sends to everyone on the channel (except sender)The broker is plain HTTP. Any runtime can participate:
# Register
curl -X POST localhost:9900/register \
-H "Content-Type: application/json" \
-d '{"name":"tests","role":"test runner","runtime":"codex"}'
# Poll for messages
curl localhost:9900/poll/tests
# Send a message
curl -X POST localhost:9900/send \
-H "Content-Type: application/json" \
-d '{"from":"tests","to":"backend","content":"All tests passing"}'
Works with Codex, scripts, cron jobs, Python, or anything that can make HTTP requests. No SDK needed.
Walkie-Talkie doubles as a lightweight event bus. Any script can publish events that your Claude agents receive in real-time. Each publisher must register its sender name before sending messages.
Git hook — notify agents when code is committed:
# .git/hooks/post-commit
MSG=$(git log -1 --pretty=format:"%h %s")
curl -s -X POST localhost:9900/register \
-H "Content-Type: application/json" \
-d '{"name":"git","role":"post-commit hook","runtime":"script","force":true}'
curl -s -X POST localhost:9900/publish \
-H "Content-Type: application/json" \
-d "{\"from\":\"git\",\"channel\":\"commits\",\"content\":\"New commit: $MSG\"}"