AI Development10 min read

Claude Code Channels: Telegram and Discord Messaging

Integrate Claude Code with Telegram and Discord to receive AI coding updates, trigger tasks, and review diffs. Setup guide with webhook and bot config.

Digital Applied Team
March 25, 2026
10 min read
Mar 24

Release Date

2

Chat Platforms Supported

3

Discord Slash Commands

100%

Async Notification Model

Key Takeaways

Claude Code now pushes notifications directly into Telegram and Discord: Released on March 24, 2026, the channels feature lets Claude Code send structured task completion messages, error reports, and code diff summaries to any Telegram chat or Discord channel without requiring developers to stay in a terminal. The integration works through a bot token plus webhook model that routes Claude Code events into your team's existing chat infrastructure.
Discord slash commands make Claude Code accessible to non-terminal team members: The Discord integration supports /claude-run, /claude-status, and /claude-diff slash commands that any team member with the right role can invoke from a channel. Product managers, designers, and QA engineers can trigger Claude Code tasks and review output diffs without touching a command line, making AI-assisted development a team-wide capability rather than a solo developer tool.
Webhook architecture decouples Claude Code from chat latency: Claude Code posts events to a webhook endpoint you control, which then routes messages to Telegram or Discord. This asynchronous pattern means long-running tasks do not block the chat thread, and you receive a clean completion notification rather than a streaming output flood. The webhook endpoint also enables custom filtering, formatting, and routing logic before messages reach the channel.
Environment variable configuration keeps secrets out of code: Both integrations use CLAUDE_TELEGRAM_BOT_TOKEN, CLAUDE_DISCORD_WEBHOOK_URL, and related variables that Claude Code reads at runtime. Tokens never appear in project files or commit history. For teams using CI/CD pipelines, the same variables can be injected as deployment secrets, enabling automated code review notifications in the same channels where human reviewers already work.

Development teams do not live inside terminals. Product managers review progress in Discord. Designers check status updates in Telegram. QA engineers monitor builds in chat. Yet AI coding tools have historically been terminal-only, creating a hard boundary between where Claude Code works and where teams actually communicate. The channels feature released on March 24, 2026 removes that boundary.

By configuring Claude Code with a Telegram bot token or a Discord webhook, you get bidirectional communication between your AI coder and your team's chat infrastructure. Claude Code pushes structured notifications when tasks complete, errors occur, or code reviews need attention. Discord slash commands let anyone on the team trigger tasks or inspect diffs without leaving the channel. For teams integrating AI deeply into their workflows, this is a meaningful shift — see our guide on AI and digital transformation for the broader context of how tools like Claude Code fit into modern development pipelines.

What Are Claude Code Channels

Claude Code channels is the collective name for the platform's third-party chat integrations. As of the March 24 release, two channels are supported: Telegram and Discord. Each channel acts as a notification and interaction endpoint — Claude Code can post to them, and (in Discord's case) receive commands from them. The feature is designed around an asynchronous model: Claude Code continues working in the background while your team communicates in their usual chat tools, with messages arriving at natural task boundaries rather than as a continuous stream.

The motivation is straightforward. Long-running Claude Code tasks — refactoring a module, writing a test suite, generating a feature branch — can take minutes or more. Watching a terminal for the result is inefficient. Channels let you dispatch the task, return to other work, and receive a clean notification when Claude Code needs your attention or has finished.

Telegram

Bot-based push notifications to any Telegram chat or group. Supports Markdown formatting, code blocks, and configurable event filtering for completions, errors, and review requests.

Discord

Webhook-based notifications plus three slash commands for triggering tasks, checking status, and viewing diffs. Role permissions control who can invoke each command.

Event Types

Task completion, error alerts, human review requests, code diff summaries, and test result reports. Each event type can be enabled or disabled independently per channel.

The channels feature builds on the same philosophy behind the Claude Dispatch co-work pattern — that AI coding assistance should fit into how teams actually communicate, not force teams to reshape their communication around the tool. Channels extend this principle from phone-to-desktop to chat-to-codebase.

Telegram Bot Setup and Configuration

Setting up the Telegram integration takes under five minutes. You need a Telegram bot token from BotFather and the chat ID of the conversation or group where Claude Code should post. Both are free and require no server infrastructure for basic notification use.

Telegram Setup Commands

Create a bot via BotFather in Telegram

/newbot — follow prompts, copy the token

Set environment variables

export CLAUDE_TELEGRAM_BOT_TOKEN="your_token_here" export CLAUDE_TELEGRAM_CHAT_ID="your_chat_id"

Enable Telegram channel in Claude Code

claude channels enable telegram

Test the connection

claude channels test telegram

To find your Telegram chat ID, start a conversation with your new bot and send it a message. Then fetch https://api.telegram.org/bot<TOKEN>/getUpdates in a browser. The response includes a chat.id field. For group chats, add the bot to the group first, then send a message in the group before fetching updates.

Claude Code supports event filtering so you can control exactly which events trigger Telegram messages. The default configuration sends notifications for task completion and error events. You can add review requests or disable completions if you only want to be notified when Claude Code cannot proceed autonomously.

Event Filter Configuration

Enable only error and review request events

claude channels config telegram --events error,review

Enable all event types

claude channels config telegram --events all

Discord Bot and Slash Commands

The Discord integration goes beyond one-way notifications. By registering Claude Code as a Discord application with slash command support, team members can interact with Claude Code directly from any channel where the bot is present. This turns Discord into a lightweight interface for AI-assisted development without anyone needing terminal access.

/claude-run

Triggers a new Claude Code task from a text prompt entered directly in Discord. The task runs on the configured repository and posts a completion message when done.

/claude-status

Shows the current status of any running or recently completed Claude Code task, including elapsed time, current step, and file paths being modified.

/claude-diff

Displays a formatted code diff from the most recent Claude Code edit, rendered in a Discord embed with added lines in green and removed lines in red.

Setting up the Discord integration requires creating an application in the Discord Developer Portal, adding a bot to your server, and configuring a webhook URL. The webhook handles outgoing notifications while the slash commands require a registered Discord application with the bot scope and applications.commands permission.

Discord Setup Commands

Set Discord environment variables

export CLAUDE_DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..." export CLAUDE_DISCORD_APP_ID="your_app_id" export CLAUDE_DISCORD_BOT_TOKEN="your_bot_token"

Enable Discord channel

claude channels enable discord

Register slash commands with Discord

claude channels discord register-commands

Discord role permissions gate access to the slash commands. By default, all server members can use /claude-status and /claude-diff, while /claude-run is restricted to members with a role you designate during setup. This separation lets you give the whole team visibility into what Claude Code is doing while limiting task-triggering to developers who understand the codebase context.

Webhook Configuration and Environment Variables

For advanced setups where you need custom message routing, filtering, or transformation before messages reach Discord or Telegram, Claude Code supports a webhook intermediary. Instead of posting directly to the chat platform APIs, Claude Code posts a structured JSON payload to your webhook endpoint, which then applies business logic before forwarding the message.

Claude Code Event Payload Structure

Example task completion payload

{ "event": "task.completed", "task_id": "task_abc123", "prompt": "Add unit tests for auth module", "files_changed": ["auth.test.ts"], "duration_ms": 42310, "diff_url": "https://..." }

A minimal webhook handler can be deployed as a serverless function in under 20 lines of code. The function receives the Claude Code payload, formats it for the target platform, and forwards it. This pattern also enables routing: critical errors go to a dedicated alerts channel, completed tasks go to a general development channel, and review requests ping specific team members via Discord mentions.

All sensitive values — bot tokens, webhook URLs, application IDs — should live in environment variables that Claude Code reads at runtime. The full list of supported variables is:

CLAUDE_TELEGRAM_BOT_TOKENTelegram bot token from BotFather
CLAUDE_TELEGRAM_CHAT_IDTarget chat or group ID for Telegram messages
CLAUDE_DISCORD_WEBHOOK_URLDiscord channel webhook URL for notifications
CLAUDE_DISCORD_APP_IDDiscord application ID for slash command registration
CLAUDE_DISCORD_BOT_TOKENDiscord bot token for slash command handling
CLAUDE_CHANNELS_WEBHOOK_URLCustom intermediary webhook for advanced routing

Formatting Claude Code Outputs as Chat Messages

Raw Claude Code output — terminal streams, JSON responses, raw diffs — does not translate well to chat. The channels feature applies automatic formatting that converts Claude Code's structured output into readable chat messages appropriate for each platform. Understanding how this formatting works helps you design prompts that produce clean, actionable notifications.

Telegram Format

Messages use Telegram's MarkdownV2 format. Task names are bold, file paths are monospace, and diffs are inside code blocks with a character limit to prevent overflow. Long diffs are truncated with a “view full diff” link.

Discord Format

Messages use Discord embeds with color-coded status bars: green for completed tasks, yellow for review requests, and red for errors. Fields show task name, duration, and files changed.

You can override the default templates using a .claude/channels.json file in your project root. This file specifies custom message templates for each event type and platform using a simple handlebars-style syntax. Template variables include {{task_name}}, {{files_changed}}, {{duration}}, and {{error_message}} among others.

Triggering Tasks and Reviewing Diffs from Chat

The most powerful aspect of the Discord integration is the ability to trigger Claude Code tasks from a chat message. Instead of opening a terminal, navigating to the project directory, and typing a prompt, a team member can type /claude-run Fix the login redirect bug directly in Discord and Claude Code begins work immediately.

This capability extends to non-developer team members in a meaningful way. A product manager can trigger a documentation update task. A QA engineer can ask Claude Code to regenerate a test fixture. A designer can request a CSS variable audit. The task then executes against the current state of the repository, and the result appears in the same channel where the request was made.

The /claude-diff command is particularly useful during code review. After Claude Code completes a task, any team member can invoke /claude-diff to see the changes rendered in a Discord embed. The diff shows added lines in green and removed lines in red within the Discord embed color scheme, and includes file paths and line numbers for context. For larger diffs, the embed includes a link to the full diff hosted at a configurable URL.

For teams also using Claude Code Auto Mode, the Discord channel integration creates a natural review checkpoint. You can configure Auto Mode to pause and post a review request to Discord whenever Claude Code makes a change above a certain complexity threshold, letting the team weigh in before the task continues autonomously.

Team Workflow Patterns and Access Control

The channels feature enables several team workflow patterns that were previously difficult to implement without custom tooling. Here are the most common configurations teams have adopted in the weeks since the March 24 release.

Async Code Review Notifications

Configure Claude Code to post a Discord message with a diff summary whenever it completes a task on a feature branch. Reviewers see the changes in their existing workflow channel without needing to open a pull request or check the terminal. The notification includes a direct link to open the diff in VS Code or GitHub.

On-Call Error Alerting

Route Claude Code error events to a Telegram group with the on-call team. When Claude Code encounters a permission error, a failing test suite it cannot fix, or a merge conflict requiring human judgment, the on-call engineer receives an immediate Telegram message with context and a suggested next step.

Cross-Functional Task Delegation

Give product managers the Discord role required to use /claude-run in a dedicated channel. Product can request documentation updates, copy changes, and minor UI text edits directly without filing tickets or waiting for developer availability. Engineers review and approve changes via /claude-diff before merging.

CI/CD Pipeline Integration

Inject Claude Code channel environment variables into GitHub Actions secrets. Configure Claude Code to run automated analysis on pull requests and post structured summaries to a Discord review channel. The CI job completes, Claude Code analyzes the diff, and a message appears in Discord before the first human reviewer opens the PR.

Security Considerations and Rate Limiting

Exposing Claude Code task triggering through Discord introduces security considerations that do not exist in a terminal-only workflow. A poorly configured Discord server could allow unauthorized users to trigger tasks against your codebase. Anthropic has implemented several safeguards, but you need to configure them deliberately.

Role Gating

Restrict /claude-run to a specific Discord role. Never allow the everyone role to trigger tasks. Review your Discord server member list periodically to ensure only intended users have the role.

Rate Limiting

Set a maximum task-per-hour limit using CLAUDE_DISCORD_RATE_LIMIT to prevent accidental or malicious flooding of Claude Code tasks from Discord. The default is 10 tasks per hour per user.

Allowlist Mode

Enable allowlist mode to restrict which file paths and directories Claude Code can modify when triggered from Discord. Tasks cannot write outside the allowlisted scope, even if the prompt requests it.

For teams concerned about prompt injection through Discord messages — where an attacker could craft a message that tricks Claude Code into executing unintended operations — Anthropic recommends enabling allowlist mode for all Discord-triggered tasks. This limits the blast radius even if a malicious prompt bypasses Claude Code's built-in safeguards. Webhook signature verification is also supported to ensure that only genuine Claude Code payloads reach your webhook endpoint.

Limitations and Best Practices

The channels feature is powerful but has constraints worth understanding before building workflows around it. The March 24 release is the first public version, and several aspects are still being refined based on team feedback.

No real-time streaming to chat

Claude Code outputs arrive as complete messages when a task finishes or reaches a defined checkpoint. You cannot see a live stream of Claude Code's work in Telegram or Discord the way you can in a terminal. For long-running tasks, configure intermediate checkpoint notifications using the --checkpoint-interval flag.

Discord slash commands require a running Claude Code process

The /claude-run command needs Claude Code to be running and listening on the configured machine. If the machine is sleeping, turned off, or the Claude Code process has exited, slash commands will time out in Discord. Pair with an always-on environment or a deployment that keeps Claude Code running.

Message size limits apply

Telegram messages are limited to 4,096 characters and Discord embeds to 6,000 characters across all fields. Large diffs are automatically truncated. For complete diff access, configure a hosted diff URL or use /claude-diff with a --full flag that posts the complete diff as a file attachment rather than an embed.

Only one active channel per platform

The current release supports one Telegram chat ID and one Discord webhook URL per Claude Code instance. Multi-channel routing — sending errors to one channel and completions to another — requires the custom webhook intermediary approach described in the webhook configuration section.

Despite these limitations, the channels feature represents a meaningful step toward making AI coding tools genuinely collaborative. The combination of asynchronous notifications and Discord slash commands opens Claude Code to team members who previously had no interface to it. For agencies integrating AI- assisted development into client projects, see our guide on how Claude Dispatch enables mobile-to-desktop co-work for a complementary perspective on asynchronous AI task management.

For organizations exploring how AI coding tools fit into their broader digital strategy, the channels feature connects Claude Code to the communication layer where decisions are made. Combined with the right access control and workflow design, it removes the terminal-only barrier that has historically limited AI coding adoption beyond individual developers. Learn more about how Digital Applied's AI and digital transformation services can help your team design and deploy AI-assisted development workflows at scale.

Frequently Asked Questions

Related Articles

Continue exploring with these related guides

Integrate AI into Your Development Workflow

Claude Code channels are one piece of a broader AI-assisted development strategy. Digital Applied helps teams design and implement workflows that bring AI coding tools, chat integrations, and automation into cohesive pipelines that fit how your team actually works.