- Il est possible de pousser des messages externes, des notifications et des webhooks vers une session en cours via un serveur MCP
- Le point clé est de pouvoir envoyer directement des messages à Claude Code depuis Telegram ou Discord sur smartphone pour lui donner des tâches et recevoir les résultats
- La communication bidirectionnelle est prise en charge, ce qui permet à Claude de lire les événements et d’envoyer des réponses sur le même canal, sous la forme d’un pont de chat
- Les événements n’arrivent que tant que la session est ouverte ; pour un fonctionnement permanent, il faut donc exécuter Claude dans un processus en arrière-plan ou un terminal persistant
- Les offres Team/Enterprise sont désactivées par défaut, et un administrateur doit les activer explicitement dans les managed settings
Vue d’ensemble des channels
- Les channels sont des serveurs MCP qui poussent des événements externes vers une session Claude Code, ce qui permet à Claude de réagir à des résultats de CI, des messages de chat ou des événements de monitoring même lorsqu’on n’est pas devant le terminal
- Cas d’usage concret : même loin de son ordinateur, on peut envoyer directement des commandes à Claude Code depuis l’application Telegram ou Discord sur son téléphone, puis recevoir les résultats dans cette même conversation après exécution
- La fonctionnalité est en research preview et nécessite une connexion à
claude.ai ; l’authentification via Console ou clé API n’est pas prise en charge
- Les événements n’arrivent que tant que la session est ouverte ; pour un usage continu, une exécution en arrière-plan ou dans un terminal persistant est nécessaire
Channels pris en charge
- À l’heure actuelle, deux plugins sont officiellement pris en charge : Telegram et Discord ; tous les plugins de channel nécessitent le runtime Bun
- Le flux d’installation est commun :
/plugin install <name>@claude-plugins-official → configuration des identifiants avec la commande / <name>:configure → redémarrage avec claude --channels plugin:<name>@claude-plugins-official
- Pour Telegram, il faut un token de bot généré via BotFather, puis procéder à l’appairage après
/telegram:configure <token>
- Guide de configuration Telegram : README
- Pour Discord, il faut créer un bot avec Message Content Intent activé dans le Developer Portal, puis procéder à l’appairage après
/discord:configure <token>
- Guide de configuration Discord : README
- Il est également possible de construire directement un channel personnalisé pour les systèmes sans plugin
Quickstart - démo fakechat
- fakechat est un channel de démonstration officiellement pris en charge ; il exécute une interface de chat en localhost et ne nécessite ni authentification ni configuration de service externe
- Prérequis : Claude Code doit être installé et authentifié avec un compte
claude.ai, Bun doit être installé, et pour les utilisateurs Team/Enterprise, l’administrateur doit activer les channels
- Étapes d’installation :
- installer le plugin avec
/plugin install fakechat@claude-plugins-official
- quitter Claude Code puis redémarrer avec
claude --channels plugin:fakechat@claude-plugins-official
- ouvrir l’interface fakechat sur
http://localhost:8787 et saisir un message
- Les messages arrivent dans la session Claude Code sous forme d’événements
<channel source="fakechat">, puis Claude exécute la tâche et appelle l’outil reply pour afficher la réponse dans l’interface de chat
- En l’absence du terminal, si une invite d’autorisation apparaît, la session est mise en pause ; pour un fonctionnement sans surveillance, on peut la contourner avec le flag
--dangerously-skip-permissions, mais il est recommandé de ne l’utiliser que dans un environnement de confiance
- Il est possible de passer plusieurs plugins à
--channels séparés par des espaces
Sécurité
- Tous les plugins de channel approuvés maintiennent une liste d’autorisation des expéditeurs (sender allowlist), et les messages provenant d’expéditeurs non enregistrés sont automatiquement ignorés
- Telegram et Discord construisent cette liste via un mécanisme d’appairage : on envoie un DM au bot, qui répond avec un code ; lorsque ce code est approuvé dans la session Claude Code, l’ID est ajouté
- Le simple fait d’être enregistré dans
.mcp.json ne permet pas de pousser des messages ; il faut impérativement aussi être explicitement indiqué dans le flag --channels
- Les serveurs activés sont contrôlés directement par session via
--channels, et dans les offres Team/Enterprise, la disponibilité est gérée à l’échelle de l’organisation via le paramètre channelsEnabled
Contrôle Enterprise
- La fonctionnalité channels est contrôlée par le paramètre
channelsEnabled des managed settings
- Les offres Pro/Max (hors organisation) ont les channels activés par défaut, et l’utilisateur choisit d’y participer session par session via
--channels
- Pour les offres Team/Enterprise, les channels restent désactivés tant qu’un administrateur ne les a pas explicitement activés
- Un administrateur peut les activer via claude.ai → Admin settings → Claude Code → Channels, ou en définissant
channelsEnabled sur true dans les managed settings
- Même lorsqu’ils sont désactivés, la connexion au serveur MCP et l’utilisation des outils restent possibles, mais les messages de channel n’arrivent pas et un avertissement s’affiche au démarrage
Research preview
- La fonctionnalité est actuellement en research preview avec un déploiement progressif, et la syntaxe du flag
--channels ainsi que le contrat de protocole peuvent évoluer selon les retours
- Pendant la période de preview,
--channels n’accepte que les plugins figurant sur une allowlist gérée par Anthropic
- Si un plugin hors allowlist est passé, Claude Code démarre normalement mais le channel n’est pas enregistré, et la raison est affichée dans la notification de démarrage
- Pour tester un channel développé soi-même, utiliser le flag
--dangerously-load-development-channels
- Les problèmes ou retours peuvent être signalés via le dépôt GitHub de Claude Code
Étapes suivantes
- Mise à disposition d’un guide pour construire des channels personnalisés pour les systèmes sans plugin
- Une fonctionnalité Remote Control permettant de piloter une session locale depuis un mobile plutôt que via le transfert d’événements
- Une fonctionnalité Scheduled Tasks effectuant un polling basé sur un minuteur au lieu d’événements push
Aucun commentaire pour le moment.