Claude Code Channels
Connecte Claude Code à Telegram, Discord ou iMessage avec des serveurs MCP plugin. Walkthroughs de setup et workflows mobiles async qui valent la peine d'être configurés.
Arrêtez de configurer. Commencez à construire.
Templates SaaS avec orchestration IA.
Le problème : tu es dans le train. Ton laptop est chez toi en train de mouliner un build de 40 minutes. Tu réalises que la suite de tests avait besoin d'un flag que tu n'as jamais défini. Choisis ton poison : attendre d'être de retour au bureau, ou faire du SSH depuis le téléphone en galèrant avec un terminal sur un écran de 15 cm.
Tu n'es pas développeur ? Même piège, autre forme. Tu gères une activité avec Claude Code configuré comme ton assistant généraliste : calendrier, ébauches marketing, triage de tâches, mises à jour de tableurs, rapports rapides. Chaque requête commence encore par s'asseoir devant le terminal. Il n'y a aucun moyen d'envoyer un message à ton assistant depuis le téléphone entre deux réunions comme tu texterais un vrai assistant.
Gain rapide : connecte ta session Claude Code à Telegram (ou iMessage si tu es sur macOS) et envoie-lui des messages depuis le téléphone comme tu texterais un collègue :
claude --channels plugin:telegram@claude-plugins-official
Envoie "add the --coverage flag to the test script in package.json" depuis Telegram. Le message arrive dans Claude, la modification se fait, et la réponse revient dans le même chat. Ta session continue de tourner localement avec un accès complet aux fichiers, serveurs MCP, et config du projet.
Ce que Channels est vraiment
Channels est une feature de Claude Code basée sur des plugins qui fait passer des messages de Telegram, Discord ou iMessage directement dans une session Claude Code live tournant sur ta propre machine. La session traite chaque requête contre ton filesystem local, tes outils MCP, et git, puis répond via la même app de messagerie. Anthropic l'a annoncé le 20 mars 2026 comme research preview. Telegram et Discord ont été livrés en premier. Le support iMessage est arrivé une semaine plus tard. La forme plugin signifie que d'autres plateformes peuvent rejoindre sans nouvelle plomberie.
Sous le capot, l'idée est simple. Un serveur MCP fait le pont entre ta session Claude Code et la plateforme de messagerie. Un message à ton bot sur Telegram ou Discord est transmis à Claude. Claude exécute la requête contre ton environnement local (fichiers, outils, git, tout), puis répond via le même canal.
Rien ne tourne dans le cloud. La session vit sur ta machine. L'app de messagerie est la fenêtre dessus, tout comme Remote Control utilise claude.ai et l'app mobile comme fenêtre sur ta session locale. Même principe, surface différente.
L'annonce originale sur X a généré un vrai traction, et la lecture de la communauté était claire : ça pousse les workflows dev vers l'async et le mobile-first. La demande la plus forte au lancement était iMessage, et Anthropic l'a livré en moins d'une semaine.
Channels vs Remote Control vs Web Sessions
Trois façons d'accéder à une session depuis autre chose que ton terminal existent maintenant. Chacune résout un problème différent.
| Aspect | Channels | Remote Control | Web Sessions |
|---|---|---|---|
| Interface | Telegram, Discord, iMessage (apps de messagerie) | claude.ai/code, app iOS, app Android | Navigateur claude.ai/code |
| Emplacement de la session | Ta machine (locale) | Ta machine (locale) | Cloud Anthropic |
| Setup | Installer le plugin, créer un bot, pairer | claude remote-control (une commande) | Ouvrir claude.ai/code |
| Idéal pour | Messages async, mobile-first, canaux d'équipe | Continuer des sessions terminal depuis le téléphone | Tâches rapides sans setup local |
| Outils locaux | Accès complet (filesystem, MCP, git) | Accès complet (filesystem, MCP, git) | Sandbox cloud uniquement |
| Hackabilité | Élevée (architecture plugin, construis le tien) | Faible (interface fixe) | Aucune |
| Style de notification | Notifications natives (Telegram/Discord/iMessage) | Doit ouvrir claude.ai ou l'app | Doit ouvrir claude.ai |
| Collaboration d'équipe | Canaux de guild Discord pour accès partagé | Utilisateur unique uniquement | Utilisateur unique uniquement |
Utilise Channels quand : les notifications mobiles natives comptent, le travail est async (envoie une requête, reviens plus tard), ou l'accès d'équipe via les canaux de guild Discord est ce dont tu as besoin. Aussi quand tu veux un système hackable et extensible que tu peux plier à ton workflow.
Utilise Remote Control quand : tu veux l'interface complète claude.ai, le rich formatting, les aperçus de fichiers, et une UI de chat qui se sent déjà familière. Le setup est une commande au lieu de la création d'un bot, et ça marche avec l'app mobile Claude dès la première minute.
Thariq de l'équipe Claude Code l'a dit clairement dans le thread d'annonce : "On veut vous donner beaucoup d'options différentes pour parler à Claude à distance. Channels est plus orienté vers les devs qui veulent quelque chose de hackable."
L'architecture de Channels
Le flux suit le pattern MCP que Claude Code utilise déjà pour les extensions d'outils :
- Installe un plugin de canal (Telegram, Discord ou iMessage). Chacun tourne comme serveur MCP.
- Lance Claude Code avec le flag
--channels. Ça active le plugin. - Le serveur MCP se connecte à la plateforme de messagerie (polling pour Telegram, WebSocket pour Discord).
- Un message arrive, le serveur l'emballe comme événement
<channel>, et le pousse dans ta session Claude Code. - Claude exécute la requête contre ton environnement local complet.
- Claude répond via les outils que le serveur MCP expose (
reply,react,edit_message).
La sécurité a deux couches. Chaque plugin de canal maintient une liste blanche d'expéditeurs. Seuls les IDs d'utilisateurs que tu as pairés et approuvés peuvent pousser un message. Tout le reste est silencieusement ignoré. Et --channels décide quels serveurs sont actifs pour une session donnée. Une entrée de config dans .mcp.json ne suffit pas pour qu'un serveur pousse des messages. Il doit aussi être nommé dans --channels.
Les plans Team et Enterprise ajoutent une autre barrière. Les admins org contrôlent la disponibilité des canaux via un paramètre géré channelsEnabled. Désactivé par défaut. Il faut l'activer intentionnellement.
Un détail qui piège les gens : tomber sur un prompt de permission pendant que tu es loin du terminal met la session en pause jusqu'à ce que tu approuves localement. Si le fonctionnement entièrement sans surveillance est le but, --dangerously-skip-permissions contourne les prompts. N'utilise ça que dans des environnements que tu fais déjà confiance.
Un point à garder en tête : les réponses de Claude transitent par les serveurs de la plateforme de messagerie. Quand tu travailles avec du code propriétaire ou des credentials sensibles, sois intentionnel sur ce que tu demandes à Claude de sortir via un canal. L'option fakechat localhost (ci-dessous) garde chaque octet sur ta machine pour le travail sensible.
Configurer le canal Telegram
Le setup Telegram prend environ 5 minutes. Tu as besoin de Bun installé (le serveur MCP tourne sur Bun) et d'une session Claude Code connectée avec un compte claude.ai plutôt qu'une clé API.
Étape 1 : Créer un bot Telegram
Ouvre @BotFather sur Telegram et envoie /newbot. BotFather pose deux questions :
- Display name : Tout ce que tu veux, les espaces sont ok (ex: "My Dev Assistant")
- Username : Un handle unique se terminant par
bot(ex:my_dev_assistant_bot)
BotFather répond avec un token comme 123456789:AAHfiqksKZ8.... Copie le tout, nombre de tête et deux-points inclus.
Étape 2 : Installer le plugin
Lance une session Claude Code et exécute :
/plugin install telegram@claude-plugins-official
Étape 3 : Configurer le token
/telegram:configure 123456789:AAHfiqksKZ8...
Ça écrit TELEGRAM_BOT_TOKEN=... dans .claude/channels/telegram/.env dans ton projet. Tu peux aussi définir la variable dans ton shell avant de lancer Claude Code (le shell l'emporte).
Étape 4 : Relancer avec Channels activé
Quitte ta session et redémarre avec le flag de canal :
claude --channels plugin:telegram@claude-plugins-official
Étape 5 : Pairer ton compte
Envoie un DM à ton bot sur Telegram. Le bot répond avec un code de pairing à 6 caractères. Dans Claude Code :
/telegram:access pair <code>
Étape 6 : Verrouiller
Passe en mode liste blanche pour que seul ton compte puisse parler au bot :
/telegram:access policy allowlist
C'est prêt. Ton prochain message au bot passe directement par Claude.
Fonctionnalités spécifiques à Telegram
- Photos : Les photos entrantes sont tirées vers
~/.claude/channels/telegram/inbox/automatiquement. L'assistant peut les lire directement depuis là. Envoie comme "Fichier" (appui long dans Telegram) si tu as besoin de l'original non compressé. - Pièces jointes : L'outil
replypeut renvoyer des fichiers. Les images s'affichent inline, les autres types sont envoyés comme documents. Maximum 50MB par fichier. - Indicateur de frappe : Telegram affiche "botname est en train d'écrire..." pendant que Claude travaille. Étonnamment pratique pour savoir si Claude réfléchit encore ou est bloqué sur un prompt de permission.
- Pas d'historique de messages : L'API Bot Telegram n'expose pas l'historique ni la recherche. Les messages n'arrivent qu'en temps réel. Tout envoyé pendant que la session était hors ligne est perdu.
Configurer le canal Discord
Discord demande quelques étapes de plus parce qu'une application doit d'abord exister dans le Developer Portal, et le bot doit être invité sur un serveur. Prévois environ 10 minutes.
Étape 1 : Créer une application Discord
Va sur le Discord Developer Portal et clique sur New Application. Choisis n'importe quel nom.
Étape 2 : Créer le bot et récupérer un token
Clique sur Bot dans la barre latérale. Donne un nom d'utilisateur au bot. Remonte jusqu'à Token et appuie sur Reset Token. Copie le token maintenant (il s'affiche une seule fois).
Étape 3 : Activer le Message Content Intent
Toujours dans les paramètres Bot, descends jusqu'à Privileged Gateway Intents et active Message Content Intent. Si tu sautes ça, le bot reçoit des messages avec un contenu vide.
Étape 4 : Inviter le bot sur ton serveur
Ouvre OAuth2, puis URL Generator. Choisis le scope bot et active ces permissions :
- View Channels
- Send Messages
- Send Messages in Threads
- Read Message History
- Attach Files
- Add Reactions
Copie l'URL générée, ouvre-la, et ajoute le bot à ton serveur.
Étape 5 : Installer et configurer
Dans Claude Code :
/plugin install discord@claude-plugins-official
/discord:configure <your-bot-token>Étape 6 : Relancer et pairer
claude --channels plugin:discord@claude-plugins-official
Envoie un DM à ton bot sur Discord. Il répond avec un code de pairing. Dans Claude Code :
/discord:access pair <code>
/discord:access policy allowlistFonctionnalités spécifiques à Discord
- Historique des messages : L'outil
fetch_messagesde Discord peut récupérer l'historique récent du canal (jusqu'à 100 messages par appel, du plus ancien au plus récent). C'est le vrai différenciateur par rapport à Telegram. Si la session redémarre, Claude peut se mettre à jour sur ce qu'il a manqué. - Gestion des pièces jointes : Les pièces jointes ne sont pas pré-téléchargées. L'assistant voit les métadonnées (nom, type, taille) et appelle
download_attachmentquand il a vraiment besoin du fichier. - Canaux de guild : Discord supporte les canaux de serveur/guild en plus des DMs. Ça ouvre la collaboration d'équipe où plusieurs personnes parlent à Claude via un canal partagé.
- Réactions d'emoji personnalisés : L'outil
reactsupporte les emoji Unicode et les emoji personnalisés de serveur au format<:name:id>. - Threading : L'outil
replyacceptereply_topour le threading natif Discord. Ça garde les conversations organisées quand plusieurs personnes pingent le même canal.
Configurer le canal iMessage
iMessage est le plus récent des trois, ajouté après des vagues de demandes communautaires suite à la première sortie Telegram et Discord. La forme est très différente : pas de token de bot, pas de service externe, pas de code de pairing. Le plugin lit la base de données Messages sur ton Mac directement et envoie des réponses via AppleScript.
Important : iMessage nécessite macOS. Le plugin lit ~/Library/Messages/chat.db et pilote Messages.app via AppleScript. Pas de chemin Windows ou Linux.
Étape 1 : Accorder le Full Disk Access
Le plugin doit lire la base de données Messages. Ouvre Réglages Système > Confidentialité et Sécurité > Accès complet au disque et active-le pour ton app de terminal (Terminal.app, iTerm2, Warp, celle que tu utilises pour lancer Claude Code).
Étape 2 : Installer le plugin
Lance une session Claude Code et exécute :
/plugin install imessage@claude-plugins-official
Étape 3 : Relancer avec Channels activé
Quitte ta session et redémarre avec le flag de canal :
claude --channels plugin:imessage@claude-plugins-official
Étape 4 : Tester avec le self-chat
La vérification la plus rapide : envoie-toi un message depuis n'importe quel appareil Apple. Le self-chat (envoyer un message à ton propre numéro) saute entièrement le contrôle d'accès et fonctionne sans aucun setup supplémentaire.
Étape 5 : Approuver le prompt Automation
La première fois que Claude envoie une réponse, macOS affiche un prompt Automation demandant si ton app de terminal peut contrôler Messages.app. Clique sur OK. Approbation unique.
Étape 6 : Autoriser d'autres expéditeurs
Par défaut, seul le self-chat fonctionne. Pour ouvrir la porte à d'autres personnes, ajoute-les par numéro de téléphone ou Apple ID :
/imessage:access allow +15551234567
/imessage:access allow AppleIDFonctionnalités spécifiques à iMessage
- Natif macOS : Pas de service externe, pas de token de bot, pas de developer portal. Le plugin s'appuie sur ton setup Messages existant.
- Le self-chat fonctionne instantanément : Se texter soi-même est le chemin zéro-config. Pas de code de pairing, pas d'entrée dans la liste blanche.
- Détection d'identité depuis la base de données Messages : Au lieu du flux de pairing qu'utilisent Telegram et Discord, le plugin iMessage identifie les expéditeurs en lisant la base de données Messages. Le handle stocké dans
chat.dbest comment il sait qui a écrit quoi. - Ajouter des expéditeurs par handle : Les numéros de téléphone (
+15551234567) et les Apple IDs fonctionnent tous les deux avec/imessage:access allow. - Réponses basées sur AppleScript : Les messages sortants passent par Messages.app via AppleScript, donc les réponses apparaissent comme des iMessages normaux depuis ton compte.
Cas d'usage pratiques
Surveiller les tâches longues depuis le téléphone
Lance un gros build, une longue suite de tests, ou un workflow multi-agent sur ton bureau. Lève-toi. Quand Claude termine (ou se bloque), la notification pop sur ton téléphone via Telegram, Discord ou iMessage. Envoie l'instruction suivante sans toucher un laptop.
Corrections rapides en déplacement
Reviewer une PR sur ton téléphone et repérer une typo dans un fichier de config, c'est l'exemple classique. Pas besoin de garder pour plus tard. Envoie un message à ton bot : "Change the Redis port in docker-compose.yml from 6380 to 6379 and commit it." Claude fait la modification, commit, et confirme.
Collaboration d'équipe via Discord
Lance un canal de guild Discord où toute ton équipe peut parler à une session Claude Code partagée. Super pour le pair-debugging : une personne décrit le problème et Claude creuse avec un accès complet au codebase. Tout le monde dans le canal regarde ça se passer.
Workflows de développement async
Channels plus les tâches planifiées forment un pattern async solide. Planifie Claude pour lancer la suite de tests toutes les heures, pipe les résultats via Telegram, et mets en pause pour ton call si quelque chose casse. Tu vérifies quand ça s'intègre dans ta journée.
Ton assistant exécutif natif Telegram
Tous les setups Claude Code ne concernent pas le code. Si tu as configuré Claude comme assistant de productivité avec des connexions MCP à ton calendrier, email, CRM ou outils de gestion de projet, Channels en fait quelque chose de beaucoup plus proche d'un vrai assistant. Demande "what's my priority list for today?" depuis Telegram en prenant ton café. Fais-lui rédiger un email de suivi à un client entre deux réunions. Dis-lui de réorganiser ton après-midi en fonction d'un thread Slack urgent. Le modèle mental passe de "assieds-toi au terminal, tape une commande" à "texte l'assistant quand quelque chose se présente."
Notifications et réactions CI/CD
Pipe les résultats CI dans ta session via un canal. Quand un build échoue, Claude peut lire les logs, identifier la cause, et soit le patcher immédiatement, soit t'envoyer un diagnostic. Ça va au-delà des notifications passives parce que Claude a déjà tout le contexte de ton projet.
Construire ton propre canal
La surface de plugin n'est pas limitée aux trois canaux officiels. Anthropic publie une référence Channels pour en construire des personnalisés. N'importe quel serveur MCP qui parle le protocole de canal peut pousser des événements dans Claude Code.
Pendant le research preview, --channels n'accepte que les plugins d'une liste blanche maintenue par Anthropic. Pour lancer un canal que tu construis toi-même, utilise le flag --dangerously-load-development-channels. Ça te permet d'itérer sur des intégrations personnalisées sans attendre une validation officielle.
Le plugin fakechat est livré comme démo de développement. Il lance une UI de chat sur localhost sans dépendances externes, pour que tu puisses tester le flux de canal complet avant de connecter une vraie plateforme :
/plugin install fakechat@claude-plugins-official
claude --channels plugin:fakechat@claude-plugins-officialOuvre http://localhost:8787 et commence à taper. Les messages arrivent dans ta session Claude Code et les réponses s'affichent dans le navigateur.
Prérequis et limitations
Prérequis
- Claude Code v2.1.80 ou plus récent
- Runtime Bun installé (bun.sh)
- Authentification claude.ai (plan Pro ou Max). Les auth Console et clé API ne sont pas supportées.
- Plans Team/Enterprise : l'admin doit activer les canaux explicitement dans les paramètres gérés
- Canal iMessage : macOS uniquement, avec Full Disk Access accordé à ton app de terminal
Limitations actuelles
C'est un research preview. Les bords rugueux font partie du territoire :
- La session doit rester active : Ferme le terminal ou arrête le processus
claudeet le canal s'éteint. Les messages envoyés pendant que la session était hors ligne sont perdus (Telegram) ou mis en queue jusqu'au retour du bot (Discord, viafetch_messages). - Les prompts de permission bloquent à distance : Quand Claude a besoin d'approbation de permission, il attend que tu approuves au terminal. Le flag
--dangerously-skip-permissionsfonctionne mais comporte les risques évidents. - Plugins en liste blanche uniquement : Pour le preview, seuls les plugins de
claude-plugins-officialpassent--channels. Les canaux personnalisés nécessitent le flag de développement. - Pas de mode background persistant : Une session terminal doit toujours être ouverte. Pairer ça avec
tmux,screen, ou un processus en arrière-plan est la solution actuelle. - Lacunes spécifiques aux plateformes : Telegram n'a pas d'API d'historique de messages. Discord demande plus d'étapes de setup. iMessage ne tourne que sur macOS et nécessite le Full Disk Access. Chaque plateforme apporte ses propres contraintes.
Anthropic a décrit ça comme une feature "qu'on va continuer à développer." La forme plugin pointe vers de futures plateformes (Slack et WhatsApp ont tous les deux été mentionnés) et la doc de référence des canaux confirme que les canaux construits par la communauté font partie du plan.
Questions fréquentes
Qu'est-ce que Claude Code Channels ?
Channels est une feature basée sur des plugins qui connecte des sessions Claude Code à des apps de messagerie comme Telegram, Discord et iMessage. Tu envoies un message à l'app, Claude exécute la requête contre ton environnement de dev local, et les réponses reviennent dans le même chat. Le code et les outils ne quittent jamais ta machine.
Claude Code Channels est-il gratuit ?
Tu as besoin d'un abonnement claude.ai Pro ou Max. L'auth par clé API n'est pas supportée. Les plugins Telegram, Discord et iMessage eux-mêmes sont gratuits et open source.
Quelle est la différence entre Channels et Remote Control ?
Remote Control met l'interface web complète claude.ai par-dessus ta session locale. Channels fait la même chose mais avec des apps de messagerie (Telegram, Discord, iMessage) comme surface. Les deux sessions restent locales. Remote Control se lance en une commande. Channels demande plus de setup plugin en échange de notifications natives et beaucoup plus de place pour hacker.
Puis-je utiliser Claude Code depuis mon téléphone ?
Oui, via trois chemins différents. Remote Control se branche sur l'app mobile Claude. Channels se branche sur Telegram, Discord ou iMessage. Les web sessions sur claude.ai/code tournent entièrement dans le cloud. Les trois permettent d'accéder à Claude Code depuis n'importe quel appareil avec un navigateur ou la bonne app.
Quelles apps de messagerie fonctionnent avec Claude Code Channels ?
Telegram, Discord et iMessage sont les trois plateformes officielles à partir de mars 2026. La forme plugin a été construite pour l'expansion, et la communauté a déjà mentionné Slack et WhatsApp. Tu peux aussi construire ton propre canal en utilisant la référence Channels.
Pour commencer
Si tu es déjà à l'aise avec les serveurs MCP et les plugins Claude Code, ce setup te semblera familier. Choisis la plateforme dans laquelle tu vis le plus :
- Telegram pour le setup le plus rapide (5 minutes, pas d'invitation sur un serveur requise)
- Discord pour l'historique des messages, les canaux de guild, ou la collaboration d'équipe
- iMessage si tu es sur macOS et veux une messagerie native zéro-config sans service externe
- Fakechat pour tester le flux localement avant de s'engager sur une vraie plateforme
Commence avec l'accès DM uniquement et la politique de liste blanche. Une fois que ça se stabilise, branche-toi sur les canaux de guild sur Discord ou les chats de groupe sur Telegram pour les cas d'usage plus larges.
Channels marquent un changement dans la façon dont les développeurs travaillent avec leur environnement de code. Au lieu de t'asseoir au terminal, tu lui envoies un message. Au lieu d'attendre un build, tu reçois un ping. Au lieu de jongler entre téléphone et poste de travail, tu travailles depuis où tu te trouves.
La promesse de "coder depuis son téléphone" flotte depuis des années. Entre Channels, Remote Control et les tâches planifiées, Claude Code en fait silencieusement une réalité, une interface à la fois.
Arrêtez de configurer. Commencez à construire.
Templates SaaS avec orchestration IA.
Claude Code à distance
Pilote une session Claude Code locale depuis ton téléphone, ta tablette ou un navigateur. Configuration, modèle de sécurité, et comparaison avec OpenClaw.
Tâches planifiées avec Claude Code
Tâches planifiées Desktop pour une automatisation durable, /loop CLI pour le polling en session, règles de rattrapage, isolation par worktree, et de vrais prompts que des équipes lancent chaque matin.