Blog · Claude Code

Claude Code channels: message Claude Code from Telegram, Discord or iMessage

Channels push messages into a Claude Code session that's already running on your computer, so you can text it from your phone and get the answer back in the same chat while the work happens against your real files. Telegram, Discord and iMessage have official plugins. This guide covers how channels work, how to set up each one, how to keep strangers out, why they sometimes don't show up, and how they compare with Remote Control and Claude in Slack.

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 --channels flag isn't listed in claude --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

  1. 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 allowlist
  2. Install and configure the plugin

    In Claude Code, run /plugin install telegram@claude-plugins-official and 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 set TELEGRAM_BOT_TOKEN before starting Claude Code.

  3. 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.

  4. 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 allowlist so only your account can reach the session.

Source: Anthropic's Claude Code docs on channels

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 bot scope. 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, --channels accepts 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 --channels can push messages; being in .mcp.json isn'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 doesRuns whereGood for
ChannelsPushes chat messages, alerts and webhooks into your open sessionYour computerTexting the session from your phone; reacting to CI and alerts
Remote ControlYou drive your local session from claude.ai or the Claude appYour computerSteering work in progress while away from the desk
Claude in SlackAn @Claude mention starts a cloud sessionAnthropic's cloudStarting tasks from a team conversation
Notification hookRuns your command, such as a desktop alert, when Claude needs youYour computerKnowing when a turn ends or needs input
With Crewmark

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.

  1. 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.

  2. 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.

  3. 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.

From answering texts to working its own queue.

Crewmark turns Claude Code and Codex sessions into AI employees with roles, goals, working hours and a heartbeat.