agents-comm-bus
Bidirectional messaging for Claude Code, Codex, and Pi through a shared
per-user agents-comm-bus daemon. Agent host plugins stay thin: they expose
tools and lifecycle hooks, while comm polling, account ownership, conversations,
queries, transcripts, and audit logs live under ~/.agents-comm-bus/.
Supports Telegram, Discord, Matrix, and local curl ingress.
What It Provides
- Send messages and attachments from Claude Code, Codex, or Pi.
- Receive messages into the active agent session from Telegram, Discord, Matrix,
or local curl ingress.
- Route permission and question prompts through comm inline buttons (Claude/Codex).
- Share one per-user daemon across multiple agents and bot accounts.
- Keep routing keyed by concrete bot IDs, not human labels.
- Persist state in SQLite plus JSONL transcript/audit files under
~/.agents-comm-bus/.
Requirements
- Node.js 22 or newer. The daemon uses
node:sqlite.
- A bot token for your chosen comm (e.g. Telegram from
@BotFather, Discord application token, Matrix
access token).
- Your platform user ID, if you want allowlist restrictions.
- One bot per registered agent/project account. Platforms reject multiple
consumers for the same token.
Installation
The intended end-user path is marketplace installation, then explicit account
registration. The plugin should not require users to clone this repository or run
source install scripts.
Jump to your agent: Claude Code · Codex · Pi
Claude Code
-
Add the marketplace.
/plugin marketplace add https://github.com/remingtonspaz/agents-comm-bus-claude
-
Install the comm plugin(s) you want. Each comm is its own plugin under the
agents-comm-bus-claude marketplace; installing any one ships the shared
per-user daemon runtime.
/plugin install agents-comm-bus-telegram@agents-comm-bus-claude
/plugin install agents-comm-bus-discord@agents-comm-bus-claude
/plugin install agents-comm-bus-matrix@agents-comm-bus-claude
/plugin install agents-comm-bus-curl@agents-comm-bus-claude
-
Restart Claude Code so the MCP server and hooks are loaded.
-
Register the bot account from a terminal. The agents-comm command is
installed by the daemon's central install at ~/.agents-comm-bus/bin (it
appears after the first session/hook runs). Add that directory to PATH once
so the command resolves from any shell — no npm install/npm link needed:
[Environment]::SetEnvironmentVariable("Path", "$env:Path;$env:USERPROFILE\.agents-comm-bus\bin", "User")
Then register the account (open a new shell so PATH is refreshed). Set --comm
to the channel you installed:
agents-comm account-add `
--project "<absolute project path>" `
--agent claude `
--account-label main `
--comm telegram `
--bot-token "<bot token>"
See Account Management for token rotation, relabel, and
removal.
-
Hand the bot a first message so the channel allows it to reply (message the bot
on Telegram / Discord / Matrix). The curl comm is local inbound-only — POST to
its loopback endpoint instead.
-
In Claude Code, check /mcp and confirm the comm's MCP server is connected.
Codex
-
Add the marketplace.
/plugin marketplace add https://github.com/remingtonspaz/agents-comm-bus-codex
-
Install the comm plugin(s) you want. Each comm is its own plugin under the
agents-comm-bus-codex marketplace; installing any one ships the shared
per-user daemon runtime.
/plugin install agents-comm-bus-telegram@agents-comm-bus-codex
/plugin install agents-comm-bus-discord@agents-comm-bus-codex
/plugin install agents-comm-bus-matrix@agents-comm-bus-codex
/plugin install agents-comm-bus-curl@agents-comm-bus-codex
-
Restart Codex so the MCP server and hooks are loaded.
-
Register the bot account from a terminal. The agents-comm command is
installed by the daemon's central install at ~/.agents-comm-bus/bin (it
appears after the first session/hook runs). Add that directory to PATH once
so the command resolves from any shell:
[Environment]::SetEnvironmentVariable("Path", "$env:Path;$env:USERPROFILE\.agents-comm-bus\bin", "User")
Then register the account (open a new shell so PATH is refreshed). Set --comm
to the channel you installed:
agents-comm account-add `
--project "<absolute project path>" `
--agent codex `
--account-label main `
--comm telegram `
--bot-token "<bot token>"
See Account Management for token rotation, relabel, and
removal.