
How Claude Code channels changed the AI agent game forever
Claude Code channels let you message AI directly from Telegram and Discord. Here's how Anthropic outplayed open-source alternatives with this game-changing feature.
Anthropic just dropped a feature that changes everything about how you interact with AI. A channel is an MCP server that pushes events into your running Claude Code session, so Claude can react to things that happen while you're not at the terminal. Channels can be two-way: Claude reads the event and replies back through the same channel, like a chat bridge.
This isn't just another messaging integration. It's Anthropic's direct answer to the viral open-source phenomenon that has developers everywhere rethinking AI agents.
What exactly are Claude Code channels?
Channels are in research preview and require Claude Code v2.1.80 or later. They require claude.ai login. Console and API key authentication is not supported.
Think of channels as bridges between your messaging apps and your local Claude Code session. In the new "Channels" architecture, an MCP server acts as a two-way bridge. When a developer starts a Claude Code session with the --channels flag, they aren't just opening a chat; they are spinning up a polling service.
Here's what makes this powerful: Unlike a standard web-chat that times out, a Claude Code session can now run in a background terminal or a persistent server (like a VPS), waiting for a "ping" to spring into action.
The Claude Code channels documentation walks through the complete setup process. Telegram and Discord are included in the research preview.
Why did OpenClaw make Anthropic nervous?
OpenClaw (formerly Clawdbot, Moltbot, and Molty) is a free and open-source autonomous artificial intelligence agent developed by Peter Steinberger. It is an autonomous agent that can execute tasks via large language models (LLMs), using messaging platforms as its main user interface.
Its functionality is accessed via a chatbot within a messaging service, such as Signal, Telegram, Discord, or WhatsApp. Configuration data and interaction history are stored locally, enabling persistent and adaptive behavior across sessions.
The project exploded in popularity. The adoption of OpenClaw has been unlike anything seen before in the software industry. The agentic AI personal assistant started life in late 2025, first under the name "Clawdbot" and then "Moltbot." However, after taking the OpenClaw name in January and picking up some momentum, it struck like a thunderbolt, taking fewer than four months to surpass 250,000 stars in GitHub and moving past React as the most starred non-aggregator software project.
Meanwhile, open-source projects like OpenClaw thrived by offering "always-on" persistence, allowing developers to message their AI from Telegram or Discord to trigger complex workflows.
Anthropic couldn't ignore this. By giving Claude Code this same basic functionality — the ability for users to message it from popular third-party apps Discord and Telegram, and have it message them back when it finishes a task — Anthropic has effectively countered OpenClaw's appeal and offered something it does not: the Anthropic brand name with its commitment to AI security and safety, and ease of use right out of the box for less technically inclined users.
How do you set up Telegram integration?
Setting up Telegram requires Bun runtime specifically: the pre-built channel plugins are Bun scripts and will not run on Node.js or Deno; run bun --version to confirm it is installed; if not, install with curl -fsSL https://bun.sh/install | bash.
Start by creating your bot in Telegram. Open a chat with @BotFather on Telegram and send /newbot. BotFather asks for two things: Name — the display name shown in chat headers (anything, can contain spaces) Username — a unique handle ending in bot (e.g. my_assistant_bot). This becomes your bot's link: t.me/my_assistant_bot. BotFather replies with a token that looks like 123456789:AAHfiqksKZ8... — that's the whole token, copy it including the leading number and colon.
Next, configure Claude Code:
# Inside an active Claude Code session
/plugin install telegram@claude-plugins-official
/telegram:configure <your-bot-token>
# Exit and restart with channels enabled
claude --channels plugin:telegram@claude-plugins-official
With Claude Code running from the previous step, DM your bot on Telegram — it replies with a 6-character pairing code. If the bot doesn't respond, make sure your session is running with --channels. In your Claude Code session: ... Your next DM reaches the assistant.
Security matters here. Pairing is for capturing IDs. Once you're in, switch to allowlist so strangers don't get pairing-code replies. Ask Claude to do it, or /telegram:access policy allowlist directly.
The official Telegram plugin documentation covers advanced configuration options.
What about Discord setup?
Discord requires a few more steps. Discord requires a few more steps because you need to create an application in the Developer Portal and invite the bot to a server. Budget about 10 minutes. Go to the Discord Developer Portal and click New Application. Name it whatever you want. Navigate to Bot in the sidebar. Give your bot a username. Scroll up to Token and press Reset Token.
Go to the Discord Developer Portal, click New Application, and name it. In the Bot section, create a username, then click Reset Token and copy the token.
You need to enable message permissions. In your bot's settings, scroll to Privileged Gateway Intents and enable Message Content Intent.
Then generate an invite link. Navigate to OAuth2 → URL Generator. Select the bot scope. Under Bot Permissions, enable: ... Integration type: Guild Install. Copy the Generated URL, open it, and add the bot to any server you're in.
Configure in Claude Code:
/plugin install discord@claude-plugins-official
/discord:configure <your-bot-token>
# Restart with channels
claude --channels plugin:discord@claude-plugins-official
With Claude Code running from the previous step, DM your bot on Discord — it replies with a pairing code. Pairing is for capturing IDs. Once you're in, switch to allowlist so strangers don't get pairing-code replies. Ask Claude to do it, or /discord:access policy allowlist directly.
The Discord plugin source provides complete setup instructions.
Which real-world use cases actually work?
The practical applications go way beyond simple chatting. Problem: You're on the train, your laptop is at home running a 40-minute build, and you realize the test suite needs a config flag you forgot to set. Your options? Wait until you get home, or SSH into your machine from your phone and fumble through a terminal on a 6-inch screen.
With that permission skipping enabled, I set out to see what I could do from Telegram, and was impressed with the results: I built and ran an iOS project and deployed it wirelessly to the iPhone I was using to chat with Claude Code, using xcodebuild. I had Claude Code compile a list of 83 articles tagged "NPC" that I'd saved to Readwise Reader using its CLI tool. I kicked off a skill in Claude Code that transcribes podcast audio and cleans up the resulting text, after which I had the TXT, SRT, and a Markdown report of the results delivered to my iPhone. These are all tasks I do on my Mac, but being able to do them anywhere from an iPhone felt like a superpower because you're able to access tools that are simply not available on iOS.
For teams, the possibilities expand. With a Telegram channel wired to their Claude Code instance, a performance marketer on mobile can fire a prompt like "pull yesterday's Google Ads data, summarize by campaign, and flag anything with a CPA spike above 20% week-over-week" while waiting at an airport gate. Claude executes locally, with full access to the codebase, MCP tools, and any data connectors already configured in the session. The result comes back in Telegram. The analyst never needed to open a laptop.
What limitations should you expect?
Allowlisted plugins only: During the preview, only plugins from claude-plugins-official are accepted by --channels. Custom channels require the development flag · No persistent background mode: You need to keep a terminal session open. Combining with tmux, screen, or a background process is the current workaround · Platform-specific gaps: Telegram has no message history API. Discord requires more setup steps.
Permission handling is tricky. One limitation you'll probably hit right away is that if Claude Code needs your permission for something, there's no way to grant it in Telegram. You'll need to access the Terminal session on your Mac and give it the necessary permission before carrying on with your Telegram chat.
The workaround: The solution, of course, is to run Claude Code with --dangerously-skip-permissions enabled. That poses a certain level of risk, but if you're someone who already uses that flag with Claude Code on your Mac and are comfortable with it, using the flag via Telegram is no different.
How can you test safely before going live?
Start with the fakechat demo. Fakechat is an officially supported demo channel that runs a local chat UI at localhost:8787. No Telegram account, no bot token, no Discord server, nothing external to configure. It is the fastest way to confirm your Claude Code and Bun setup is working correctly before you invest time in external platform setup. If Fakechat does not work, Telegram and Discord will not work either. Find the problem here where it is cheap to fix.
/plugin install fakechat@claude-plugins-official
claude --channels plugin:fakechat@claude-plugins-official
# Open http://localhost:8787 in your browser
It runs a chat UI on localhost with no external dependencies, so you can test the full channel flow before wiring up a real platform: /plugin install fakechat@claude-plugins-official claude --channels plugin:fakechat@claude-plugins-official · Open http://localhost:8787 and start chatting. Messages flow into your Claude Code session, and replies appear in the browser.
Why does the MCP foundation matter?
Claude Code Channels is not separate from MCP, because MCP is the integration layer that makes the whole feature possible. A lot of confusion around the topic comes from the fact that people first encounter Channels through Telegram or Discord examples and only later realize that the feature is actually built on top of the broader Model Context Protocol system. Anthropic's MCP documentation makes that relationship clear. Claude Code connects to outside tools and data sources through MCP, and channels are one specific way that an MCP server can send live information into a Claude Code session.
This architectural choice means channels can expand beyond messaging apps. Once Channels is understood through MCP, it becomes clear that Telegram and Discord are only the most visible current examples, not the whole conceptual boundary of the system. The underlying feature is an event-ingestion and interaction mechanism. The visible integrations are simply what made that mechanism easy to notice.
The Model Context Protocol documentation explains how to build custom integrations.
What comes next for AI agent interfaces?
The consensus among early adopters is that Anthropic has successfully internalized the most desirable features of the open-source movement—multi-channel support and long-term memory—while maintaining the reliability of a tier-one AI provider.
However, if there's one takeaway from the OpenClaw phenomenon, I think it's clear that many people prefer a familiar chat interface when directing an agent. So, it's good to see Telegram and Discord chats added to Claude Code as optional chat interfaces.
The race isn't over. The open-source autonomous agent community is not standing still. OpenClaw and similar projects will respond to Channels with their own enhancements — likely focusing on areas where Anthropic's first-party offering currently has gaps: broader messaging platform support out of the box, more flexible session persistence that supports multiple deployment scenarios.
Anthropic has described this as a feature "we'll be expanding more on." The plugin architecture suggests future platforms (Slack, WhatsApp, iMessage have all been requested) and the channel reference documentation signals that community-built channels are part of the plan.
Channels represent more than just messaging integration—they signal that the future of AI interaction will happen where you already spend time, not in dedicated AI applications. The question isn't whether this approach will succeed, but how quickly other companies will follow Anthropic's lead.