Join AI Ads w/ Roman
The exact AI automations, agents, and strategies my team and I use to scale Meta ads (Facebook ads), content, and sales for $1m+ businesses
A channel is an MCP server that pushes events into your running Claude Code session. Channels can be two-way: Claude reads the event and replies back through the same channel, like a chat bridge. Events only arrive while the session is open, so for an always-on setup, run Claude in a background process or persistent terminal.
Before you start
- Research preview. Channels are currently in research preview. Expect changes.
- Claude Code v2.1.80+ required. Check with
claude --version. Update if needed. - claude.ai login required. Console and API key authentication are not supported for channels.
- Bun is required. The pre-built channel plugins are Bun scripts. Check with
bun --version. If missing, install Bun first. - Team and Enterprise orgs must enable channels. Admins: claude.ai > Admin settings > Claude Code > Channels, or set
channelsEnabledto true in managed settings.
1. Quickstart: Local Testing with Fakechat
- 1
Install the plugin
In Claude Code, run:
/plugin install fakechat@claude-plugins-officialIf the plugin is not found, run
/plugin marketplace add anthropics/claude-plugins-officialfirst. - 2
Restart with channels enabled
Exit Claude Code, then restart with the channels flag:
claude --channels plugin:fakechat@claude-plugins-official - 3
Push a message
Open
http://localhost:8787in your browser and type a message. It arrives in your Claude session, and Claude's reply appears back in the browser UI.
2. Telegram Channel
- 1
Create a Telegram bot
Open BotFather in Telegram and send
/newbot. Follow the prompts to give it a display name and username. Copy the access token BotFather provides. - 2
Install the plugin
In Claude Code, run:
/plugin install telegram@claude-plugins-official - 3
Configure your token
/telegram:configure <your_token_here>Alternatively, set
TELEGRAM_BOT_TOKENin your shell environment. - 4
Restart with channels enabled
Exit and restart Claude Code:
claude --channels plugin:telegram@claude-plugins-official - 5
Pair your account
Send any message to your bot in Telegram. The bot replies with a pairing code. Back in Claude Code, run:
/telegram:access pair <code>Then lock it down so only your account can send messages:
/telegram:access policy allowlist
3. Discord Channel
- 1
Create a Discord bot
Go to the Discord Developer Portal, click New Application, and name it. Under the Bot section, create a username, click Reset Token, and copy the new token.
- 2
Enable Message Content Intent
In your bot's settings, scroll to Privileged Gateway Intents and enable Message Content Intent.
- 3
Invite the bot to your server
Go to OAuth2 > URL Generator. Select the bot scope and enable these permissions: View Channels, Send Messages, Send Messages in Threads, Read Message History, Attach Files, Add Reactions. Open the generated URL to add the bot to your server.
- 4
Install the plugin
In Claude Code, run:
/plugin install discord@claude-plugins-official - 5
Configure your token
/discord:configure <your_token_here> - 6
Restart with channels enabled
Exit and restart:
claude --channels plugin:discord@claude-plugins-official - 7
Pair your account
Send a DM to your bot on Discord. It replies with a pairing code. In Claude Code, run:
/discord:access pair <code>Lock down access:
/discord:access policy allowlist
4. Security and Access Control
- 1
Sender allowlists
Every approved channel plugin maintains a strict sender allowlist. Only IDs you have explicitly paired and added can push messages to your session. All other messages are silently dropped.
- 2
The --channels flag is required
Being listed in
.mcp.jsonis not enough. A server must also be explicitly named in the--channelsstartup flag for that specific session. - 3
Custom channels (development)
During the research preview, the
--channelsflag only accepts plugins from an Anthropic-maintained allowlist. If you're building your own channel, start Claude Code with the--dangerously-load-development-channelsflag.
Sources
FAQ
What are Claude Code channels?
A channel is an MCP server plugin that pushes events (messages, alerts, webhooks) into a running Claude Code session. Claude reads the event and can reply back through the same channel. Events only arrive while the session is open.
Do channels work with API keys?
No. Channels require claude.ai login. Console and API key authentication are not supported.
Can anyone message my Claude Code session?
No. Every channel plugin maintains a strict sender allowlist. Only IDs you have explicitly paired and added can push messages. All others are silently dropped.
Can I run multiple channels at once?
Yes. Pass multiple channel names to the
--channelsflag separated by commas, e.g.claude --channels plugin:telegram@claude-plugins-official,plugin:discord@claude-plugins-officialDo messages queue up when the session is closed?
No. Events only arrive while the session is open. For always-on access, run Claude in a background process or persistent terminal session.