What Claude Code channels are
A channel is an MCP server that pushes events into your running Claude Code session. It can be two-way: Claude reads the message and replies through the same channel, like a chat bridge. Events only arrive while the session is open.
- Official channel plugins: Telegram, Discord and iMessage, plus fakechat, a demo chat on localhost.
- Each one is a plugin from claude-plugins-official and needs Bun installed.
- You can also build your own channel, for example a webhook receiver for CI failures or error alerts.
- Channels are a research preview: the
--channelsflag isn't listed inclaude --help, and its syntax may change. - In the terminal you see the incoming message and a confirmation such as “sent”; the reply text itself appears in the chat app.
How to set up the Telegram channel
Create a bot
In Telegram, open BotFather, send
/newbot, give the bot a name and a username ending in “bot”, and copy the token.# In Claude Code: install the official plugin (choose user scope) /plugin install telegram@claude-plugins-official # Save the token BotFather gave you /telegram:configure <token> # Restart Claude Code with the channel turned on claude --channels plugin:telegram@claude-plugins-official # Message your bot, then pair with the code it replies with /telegram:access pair <code> /telegram:access policy allowlistInstall and configure the plugin
In Claude Code, run
/plugin install telegram@claude-plugins-officialand choose user scope. If the marketplace isn't found, add it with/plugin marketplace add anthropics/claude-plugins-official. Then save the token with/telegram:configure <token>, or setTELEGRAM_BOT_TOKENbefore starting Claude Code.Restart with the channel on
Exit and start Claude Code again with
--channels plugin:telegram@claude-plugins-official. You can pass several channel plugins, separated by spaces.Pair and lock it down
Send your bot any message; it replies with a pairing code. Approve it with
/telegram:access pair <code>, then run/telegram:access policy allowlistso only your account can reach the session.
Discord and iMessage
- Discord: create an application in the Discord Developer Portal, copy the bot token, turn on Message Content Intent, and invite the bot with the
botscope. Then/plugin install discord@claude-plugins-official,/discord:configure <token>, restart with--channels plugin:discord@claude-plugins-official, DM the bot and pair with/discord:access pair <code>. - iMessage: macOS only, with no bot or token. It reads your Messages database, so give your terminal Full Disk Access. Install
imessage@claude-plugins-official, restart with--channels plugin:imessage@claude-plugins-official, and text yourself. Add other people with/imessage:access allow <phone or Apple ID email>. - Slack: not a channel. Claude in Slack starts a cloud session from an @Claude mention instead of messaging your local session.
- WhatsApp and other apps: no official channel plugin; you'd build your own with the channels reference.
Channels not available or not working?
- Your account type: channels need sign-in through claude.ai or a Console API key. They don't work through Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry.
- Your organization: on Claude Team and Enterprise, channels stay blocked until an Owner turns them on under Organization settings > Claude Code > Channels. A startup warning says so. Pro, Max and Ultra accounts without an organization skip this check.
- The plugin isn't approved: during the preview,
--channelsaccepts only plugins on Anthropic's allowlist (or your organization's). Anything else starts without the channel, and the startup notice tells you why. - The bot doesn't answer: Claude Code has to be running with
--channels; the bot can only reply while the channel is active. - It stops mid-task: a permission prompt pauses the session until someone answers. Some channels can relay the prompt to your phone.
Keep strangers out
- Every official channel keeps a sender allowlist; messages from anyone else are silently dropped. Telegram and Discord add you by pairing; iMessage lets your own messages through.
- Only servers named in
--channelscan push messages; being in.mcp.jsonisn't enough. - If a channel relays permission prompts, anyone on its allowlist can approve or deny tool use in your session. Only add people you'd trust with that.
Channels vs Remote Control vs Claude in Slack
| What it does | Runs where | Good for | |
|---|---|---|---|
| Channels | Pushes chat messages, alerts and webhooks into your open session | Your computer | Texting the session from your phone; reacting to CI and alerts |
| Remote Control | You drive your local session from claude.ai or the Claude app | Your computer | Steering work in progress while away from the desk |
| Claude in Slack | An @Claude mention starts a cloud session | Anthropic's cloud | Starting tasks from a team conversation |
| Notification hook | Runs your command, such as a desktop alert, when Claude needs you | Your computer | Knowing when a turn ends or needs input |
Let Claude Code message you, not just answer you
A channel is a way to talk to a session you've left running. Crewmark turns that session into an AI employee: it wakes on a heartbeat during working hours, takes the next issue from a board, and messages you in Crewmark when it's blocked, without you texting it first.
Hire an employee on your Claude Code
Run the setup command in a Claude Code conversation; that conversation becomes the employee. See what an AI employee is.
Give it hours and a heartbeat
Pick its working hours and how often it wakes, every 15 to 240 minutes. See how to make Claude Code proactive.
Answer when it needs you
Decisions arrive as direct messages; one reply and it carries on. For overnight work, see how to run Claude Code 24/7.
FAQ
What are Claude Code channels?
MCP servers that push events into a Claude Code session that's already running: chat messages from Telegram, Discord or iMessage, or webhooks from CI and monitoring. Claude can reply through the same channel. They're a research preview.
Is there an official Claude Code Telegram plugin?
Yes: telegram@claude-plugins-official. Install it with /plugin install, save your BotFather token with /telegram:configure, start Claude Code with --channels plugin:telegram@claude-plugins-official, and pair your account with the code the bot sends.
Can I use Claude Code channels with Slack or WhatsApp?
There's no official channel for either. For Slack, Claude in Slack starts cloud sessions from an @Claude mention instead. For other apps you can build your own channel with the channels reference.
Why are Claude Code channels not available?
Usually because you sign in through Bedrock, Google Cloud or Foundry, your Team or Enterprise organization hasn't enabled them, or the plugin isn't on the approved list. The startup notice names the reason.
Do channels work when my computer is off?
No. Events only arrive while the session is open on your computer, so for an always-on setup run Claude Code in a background process or a persistent terminal on a machine that stays awake.
How do I get a notification when Claude Code is done?
Add a Notification or Stop hook that runs a desktop alert, such as osascript on macOS. See Claude Code hooks. To hear about it on your phone, ask Claude to reply through a channel when it finishes.
Checked against the Claude Code docs on channels on November 8, 2026.