Claude Code Channels : Contrôlez votre Agent IA via Telegram et Discord
By Learnia AI Research Team
Claude Code Channels : Contrôlez votre Agent IA depuis Telegram et Discord
Anthropic vient de lancer Claude Code Channels — une fonctionnalité en research preview qui permet de pousser des messages, des alertes et des webhooks directement dans votre session Claude Code en cours d'exécution depuis des plateformes externes comme Telegram et Discord.
Au lieu d'être enchaîné à votre terminal, vous pouvez désormais envoyer des messages à Claude Code depuis votre téléphone, transmettre automatiquement les échecs de CI, ou relayer des alertes de monitoring — le tout via le Model Context Protocol (MCP).
1. Que sont les Claude Code Channels ?
Un channel est un serveur MCP qui pousse des événements dans votre session Claude Code en cours d'exécution. Contrairement aux outils MCP classiques que Claude appelle activement, les channels sont réactifs : des événements externes arrivent et Claude y répond en temps réel.
Les channels peuvent être unidirectionnels (alertes et webhooks que Claude lit et sur lesquels il agit) ou bidirectionnels (ponts de chat où Claude peut répondre via la même plateforme).
Ce qui est inclus dans la Research Preview
| Channel | Type | Cas d'usage |
|---|---|---|
| Telegram | Bidirectionnel | Envoyez des messages à Claude Code depuis votre téléphone |
| Discord | Bidirectionnel | Collaboration d'équipe avec Claude Code |
| Fakechat | Bidirectionnel | UI de démo locale sur localhost |
| Webhook personnalisé | Uni ou bidirectionnel | CI, monitoring, tout HTTP POST |
Prérequis : Claude Code v2.1.80+, connexion claude.ai (Pro/Max/Team/Enterprise). L'authentification par clé API n'est pas supportée. Les organisations Team/Enterprise doivent avoir les channels activés par un administrateur.
2. Comment fonctionnent les Channels : Architecture
Lorsque vous démarrez Claude Code avec --channels, il lance votre plugin channel comme un sous-processus et communique avec lui via stdio. Le serveur channel fait le pont entre les plateformes externes et votre session locale.
Le point essentiel est que tout s'exécute localement. Votre plugin channel tourne sur votre machine, interroge l'API de la plateforme externe et transmet les messages à Claude via des notifications MCP. Pas d'URL à exposer, pas de serveur à déployer.
3. Démarrage rapide : Démo Fakechat
Avant de connecter Telegram ou Discord, essayez la démo intégrée fakechat. Elle lance une interface de chat sur localhost — rien à authentifier, aucun service externe nécessaire.
Prérequis
- →Claude Code installé et authentifié avec un compte claude.ai
- →Bun installé (les plugins channel sont des scripts Bun)
Configuration pas à pas
1. Installez le plugin fakechat :
# Dans une session Claude Code
/plugin install fakechat@claude-plugins-official
2. Redémarrez avec le channel activé :
claude --channels plugin:fakechat@claude-plugins-official
3. Ouvrez l'interface de chat à http://localhost:8787 et envoyez un message :
qu'est-ce qu'il y a dans mon répertoire de travail ?
Le message arrive dans votre session Claude Code enveloppé dans une balise <channel>. Claude le lit, effectue le travail et répond via l'interface de chat.
4. Configurer le Channel Telegram
C'est ici que les Channels deviennent vraiment puissants — codez de n'importe où en envoyant un message à votre bot Telegram.
Étape 1 : Créer un Bot Telegram
- →Ouvrez BotFather dans Telegram
- →Envoyez
/newbot - →Donnez-lui un nom d'affichage et un nom d'utilisateur unique se terminant par
bot - →Copiez le token que BotFather vous renvoie
Étape 2 : Installer et configurer
# Dans Claude Code
/plugin install telegram@claude-plugins-official
# Configurez avec votre token de bot
/telegram:configure <VOTRE_TOKEN_BOT>
Le token est sauvegardé dans .claude/channels/telegram/.env. Vous pouvez aussi définir la variable d'environnement TELEGRAM_BOT_TOKEN.
Étape 3 : Lancer avec les Channels
claude --channels plugin:telegram@claude-plugins-official
Étape 4 : Associer votre compte
- →Ouvrez Telegram et envoyez n'importe quel message à votre bot
- →Le bot répond avec un code d'association
- →Dans Claude Code, exécutez :
/telegram:access pair <code>
- →Verrouillez l'accès :
/telegram:access policy allowlist
Désormais, seul votre compte Telegram peut envoyer des messages à Claude. Tous les autres sont silencieusement ignorés.
5. Configurer le Channel Discord
La configuration de Discord suit le même schéma que Telegram.
Étape 1 : Créer un Bot Discord
- →Allez sur le Portail Développeur Discord
- →Créez une nouvelle application
- →Allez dans Bot → Add Bot
- →Copiez le token du bot
- →Activez Message Content Intent sous Privileged Intents
- →Invitez le bot sur votre serveur avec les permissions appropriées
Étape 2 : Installer, configurer et lancer
# Dans Claude Code
/plugin install discord@claude-plugins-official
# Configurez avec votre token de bot
/discord:configure <VOTRE_TOKEN_BOT>
# Lancez avec le channel
claude --channels plugin:discord@claude-plugins-official
Étape 3 : Association
Envoyez un DM à votre bot sur Discord, obtenez le code d'association, puis :
/discord:access pair <code>
/discord:access policy allowlist
Plusieurs channels : Vous pouvez passer plusieurs plugins à
--channels, séparés par des espaces :claude --channels plugin:telegram@claude-plugins-official plugin:discord@claude-plugins-official
6. Construire un Channel Webhook personnalisé
La vraie puissance des Channels est que tout système capable d'envoyer un HTTP POST peut pousser des événements vers Claude. Voici comment construire un récepteur de webhook en un seul fichier.
Channel unidirectionnel minimal
Créez un fichier webhook.ts :
#!/usr/bin/env bun
import { Server } from '@modelcontextprotocol/sdk/server/index.js'
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
const mcp = new Server(
{ name: 'webhook', version: '0.0.1' },
{
capabilities: { experimental: { 'claude/channel': {} } },
instructions: 'Les événements du webhook arrivent comme <channel source="webhook">. Lis-les et agis en conséquence.',
},
)
await mcp.connect(new StdioServerTransport())
Bun.serve({
port: 8788,
hostname: '127.0.0.1',
async fetch(req) {
const body = await req.text()
await mcp.notification({
method: 'notifications/claude/channel',
params: {
content: body,
meta: { path: new URL(req.url).pathname, method: req.method },
},
})
return new Response('ok')
},
})
Enregistrement dans .mcp.json
{
"mcpServers": {
"webhook": { "command": "bun", "args": ["./webhook.ts"] }
}
}
Tester
# Démarrez Claude Code (les channels personnalisés nécessitent le flag dev pendant la preview)
claude --dangerously-load-development-channels server:webhook
# Dans un autre terminal, simulez un échec CI
curl -X POST localhost:8788 -d "build failed on main: https://ci.example.com/run/1234"
Le payload arrive dans le contexte de Claude sous forme de :
<channel source="webhook" path="/" method="POST">
build failed on main: https://ci.example.com/run/1234
</channel>
Claude le voit et commence à investiguer — lecture de fichiers, exécution de commandes, selon ce que l'alerte nécessite.
7. Cas d'usage concrets
Alertes de pipeline CI/CD
Poussez les échecs de build directement vers Claude pour une investigation automatique :
# Dans votre pipeline CI (GitHub Actions, GitLab CI, etc.)
curl -X POST localhost:8788 \
-d "Build #${BUILD_NUMBER} échoué : ${BUILD_URL}"
Claude reçoit l'alerte et peut immédiatement commencer à débuguer — lecture des logs, vérification des commits récents, et suggestion de correctifs.
Monitoring et alertes
Transmettez les alertes de production pour que Claude puisse les analyser pendant votre absence :
# Depuis votre système de monitoring
curl -X POST localhost:8788 \
-H "Content-Type: text/plain" \
-d "ALERTE : Utilisation mémoire > 90% sur prod-server-3. Tendance 5 min : 85%, 87%, 89%, 91%, 92%"
Collaboration d'équipe via Discord
Configurez un canal Discord dédié où les membres de l'équipe peuvent assigner des tâches à Claude :
- →"Claude, review la PR #1234 et vérifie les problèmes de sécurité"
- →"Lance la suite de tests et reporte les échecs"
- →"Qu'est-ce qui a changé dans le module d'authentification depuis le dernier déploiement ?"
Workflow de développement mobile
Envoyez des messages à Claude depuis votre téléphone via Telegram pendant vos déplacements :
- →"Crée une nouvelle branche pour la page de préférences utilisateur"
- →"Quels tests échouent actuellement ?"
- →"Commite et push les changements actuels avec un message descriptif"
8. Contrôles Enterprise
Pour les plans Team et Enterprise, les administrateurs contrôlent la disponibilité des channels via le paramètre channelsEnabled dans les managed settings. Une fois activé, chaque utilisateur opte individuellement par session avec --channels.
Être dans .mcp.json ne suffit pas pour pousser des messages — un serveur doit également être nommé dans --channels.
9. Channels vs OpenClaw : La concurrence
Claude Code Channels arrive comme concurrent direct d'OpenClaw (anciennement Clawd), le projet open-source populaire qui permet de contrôler Claude Code depuis des plateformes de messagerie. Différences clés :
| Claude Code Channels | OpenClaw | |
|---|---|---|
| Source | Fonctionnalité officielle Anthropic | Projet open-source communautaire |
| Plateformes | Telegram, Discord (research preview) | Telegram, Discord, Slack, plus |
| Intégration | Intégré dans Claude Code via --channels | Wrapper externe autour de Claude Code |
| Sécurité | Liste d'autorisation avec flux d'association | Maintenu par la communauté |
| Channels custom | Tout serveur MCP | Architecture de plugins |
| Statut | Research preview (peut évoluer) | Prêt pour la production |
10. Limitations et perspectives
Comme il s'agit d'une research preview, gardez ces limitations à l'esprit :
- →La session doit être en cours : Les événements n'arrivent que lorsque Claude Code est actif. Pour une configuration permanente, utilisez un terminal persistant (tmux, screen) ou un processus en arrière-plan
- →Liste d'autorisation uniquement : Pendant la preview,
--channelsn'accepte que les plugins de la liste maintenue par Anthropic. Les channels personnalisés nécessitent--dangerously-load-development-channels - →Authentification : Nécessite une connexion claude.ai. L'auth par clé API ou Console n'est pas supportée
- →Demandes de permission : Si Claude rencontre une demande de permission pendant votre absence, la session se met en pause jusqu'à votre approbation locale
- →La syntaxe peut évoluer : Le flag
--channelset le contrat du protocole peuvent évoluer en fonction des retours
Articles connexes
- →Guide Débutant Claude Code — Commencez ici si vous êtes nouveau sur Claude Code
- →Claude Code MCP Deep Dive — Comprenez MCP, le protocole derrière les Channels
- →Techniques Avancées Claude Code — Montez en compétence sur vos workflows Claude Code
- →Bonnes Pratiques Sécurité Claude Code — Sécurisez vos sessions
Module 0 — Prompting Fundamentals
Build your first effective prompts from scratch with hands-on exercises.
Weekly AI Insights
Tools, techniques & news — curated for AI practitioners. Free, no spam.
Free, no spam. Unsubscribe anytime.
→Related Articles
FAQ
Que sont les Claude Code Channels ?+
Claude Code Channels est une fonctionnalité en research preview (v2.1.80+) qui permet aux serveurs MCP de pousser des messages, alertes et webhooks dans votre session Claude Code en cours d'exécution. Elle supporte actuellement Telegram, Discord et des channels webhook personnalisés.
Comment configurer Claude Code Channels avec Telegram ?+
Créez un bot via BotFather, installez le plugin Telegram avec '/plugin install telegram@claude-plugins-official', configurez votre token avec '/telegram:configure <token>', puis redémarrez Claude Code avec '--channels plugin:telegram@claude-plugins-official'.
Claude Code Channels est-il gratuit ?+
Les Channels nécessitent une connexion claude.ai (Pro, Max, Team ou Enterprise). L'authentification par clé API ou Console n'est pas supportée. Les organisations Team et Enterprise doivent avoir les channels activés par un administrateur.
Puis-je créer mon propre Channel Claude Code personnalisé ?+
Oui. Un channel est n'importe quel serveur MCP qui déclare la capability 'claude/channel'. Vous pouvez créer des channels unidirectionnels pour les webhooks/alertes ou bidirectionnels avec des outils de réponse. Utilisez '--dangerously-load-development-channels' pour tester les channels personnalisés pendant la research preview.
Quelle est la différence entre Claude Code Channels et Remote Control ?+
Remote Control connecte votre session terminal à claude.ai pour un accès navigateur ou mobile. Les Channels transmettent des événements externes (messages chat, alertes CI, webhooks) vers votre session via des serveurs MCP, permettant à Claude de réagir à ce qui se passe en dehors du terminal.
Les Claude Code Channels fonctionnent-ils en arrière-plan ?+
Les événements n'arrivent que lorsque la session est ouverte. Pour une configuration permanente, exécutez Claude Code dans un processus en arrière-plan ou un terminal persistant (par exemple, tmux ou screen).