Piloter Claude Code depuis Telegram : mon installation accessible, pas à pas
Ce que je vous avais promis
Dans l’épisode 65 du podcast, je vous ai montré comment j’utilise Claude Code, l’outil d’Anthropic qui se lance dans le terminal, et comment je lui parle depuis Telegram. Je vous avais promis le pas-à-pas pour faire pareil. Le voici.
Deux rappels avant de commencer. Le terminal, c’est l’interface texte de votre système : l’application Terminal sur Mac et sous Linux, l’invite de commandes ou PowerShell sous Windows. Et malgré son nom, Claude Code ne fait pas que du code : on peut tout lui demander, comme dans le chat web.
Tout ce qui suit a été fait sur Mac, avec VoiceOver, et fonctionne de la même manière sous Linux. Claude Code tourne aussi sous Windows, mais les commandes qui touchent aux variables d’environnement et l’installation de Bun s’y écrivent autrement. Je ne l’ai pas testé, et je préfère ne pas vous donner de commande approximative.
Dans les commandes, les symboles < et > indiquent un emplacement à remplacer par votre propre valeur. Ne les tapez jamais : tapez seulement ce qu’ils désignent.
Activer le mode lecteur d’écran
Par défaut, Claude Code dessine une interface visuelle dans le terminal : des cadres, des animations, un écran redessiné en permanence. Au lecteur d’écran, on entend les éléments de décoration au milieu du texte, et c’est tout simplement inutilisable. Il existe un mode dédié qui remplace tout ça par du texte simple, lu dans l’ordre par VoiceOver, NVDA ou n’importe quel autre lecteur d’écran. Les questions s’y répondent par Y, pour yes, ou N, pour no, au lieu de menus à parcourir aux flèches.
Pour l’activer le temps d’une session :
claude --ax-screen-reader
Pour l’activer en permanence, cela se passe dans le fichier de réglages ~/.claude/settings.json. S’il n’existe pas encore, créez-le avec ce contenu :
{
"axScreenReader": true
}
S’il existe déjà, ajoutez simplement la ligne "axScreenReader": true entre les accolades, en la séparant des autres réglages par une virgule.
Au lancement, une ligne du type [Screen Reader Mode: on via settings] confirme que le mode est actif, et par quel moyen. C’est un bon repère pour vérifier que ça marche.
Et pour le désactiver ponctuellement, même quand le réglage permanent est actif :
CLAUDE_AX_SCREEN_READER=0 claude
Choisir un client Telegram accessible
Telegram, c’est une messagerie instantanée, un peu comme WhatsApp. Mais ses applications officielles, sur téléphone, sur ordinateur comme sur le web, sont un contre-exemple d’accessibilité. Heureusement, Telegram met à disposition une API qui permet à d’autres développeurs de construire leurs propres applications.
J’utilise aGram, un client Telegram pensé dès le départ pour VoiceOver, développé par Yannick Plassiard. Il coûte 5,99 € sur iPhone, et la version Mac est gratuite. Tout est sur son site, app-suite.eu. Et si vous l’adoptez, soutenez-le, par l’achat ou par un don : rendre une application accessible, c’est tout vérifier de bout en bout, et ça prend du temps.
Cela dit, n’importe quel client Telegram fait l’affaire pour les étapes qui suivent.
Le prérequis : Bun
Le plugin Telegram de Claude Code tourne sur Bun, un moteur JavaScript, et pas sur Node. Pour l’installer, dans le terminal :
curl -fsSL https://bun.sh/install | bash
Fermez puis rouvrez le terminal une fois l’installation terminée.
Étape 1 : créer le bot avec BotFather
Dans votre client Telegram, ouvrez une conversation avec @BotFather, le « père des bots », et envoyez-lui /newbot. La conversation est en anglais, et il vous pose deux questions :
- le nom du bot, celui qui s’affiche en haut de la conversation, espaces autorisés ;
- son nom d’utilisateur, unique, qui doit se terminer par
bot, par exemplemon_assistant_bot.
BotFather vous répond avec un jeton, qui ressemble à 123456789:AAHfiqksKZ8.... Copiez-le en entier, chiffres du début et deux-points compris.
Ce jeton, c’est la clé de votre bot. Quiconque le possède peut lire les messages que vous lui envoyez et répondre à sa place. Ne le partagez avec personne. Et s’il vous échappe, envoyez /token à BotFather pour en générer un nouveau.
Étape 2 : installer le plugin
Lancez Claude Code avec la commande claude, puis tapez :
/plugin install telegram@claude-plugins-official
Si Claude Code vous répond qu’il ne trouve pas le catalogue de plugins, ajoutez-le d’abord, puis relancez l’installation :
/plugin marketplace add anthropics/claude-plugins-official
Étape 3 : donner le jeton à Claude Code
/telegram:configure <votre jeton>
Le jeton est enregistré dans le fichier ~/.claude/channels/telegram/.env.
Étape 4 : relancer Claude Code avec le canal Telegram
Le bot ne se connecte pas tant que ce n’est pas fait. Quittez Claude Code, puis relancez-le ainsi :
claude --channels plugin:telegram@claude-plugins-official
Étape 5 : s’appairer
Claude Code toujours lancé, envoyez un message à votre bot depuis Telegram. Il vous répond avec un code de six caractères. Dans Claude Code, tapez :
/telegram:access pair <le code>
Votre prochain message sur Telegram arrive directement à Claude Code. Si le bot ne répond pas, vérifiez que Claude Code a bien été lancé avec l’option --channels.
Étape 6 : verrouiller l’accès
Ne sautez pas cette étape. Un bot Telegram est public : n’importe qui peut trouver son nom d’utilisateur et lui écrire. Tant que l’appairage reste ouvert, chaque inconnu qui lui écrit reçoit un code. Ce code ne lui ouvre rien tout seul, puisqu’il faut le valider dans Claude Code. Mais il suffit d’une validation distraite pour que quelqu’un d’autre parle à votre ordinateur.
Une fois appairé, fermez la porte :
/telegram:access policy allowlist
Les messages des inconnus sont alors ignorés, sans réponse. Pour vérifier qui a le droit de parler à votre bot, tapez simplement /telegram:access.
Se créer un raccourci
Taper claude --channels plugin:telegram@claude-plugins-official à chaque fois, c’est long. Je me suis donc créé une commande claude-telegram. Pour faire pareil sur Mac, ajoutez cette ligne à la fin du fichier ~/.zshrc :
alias claude-telegram="claude --channels plugin:telegram@claude-plugins-official"
Rouvrez le terminal, et il suffit désormais de taper claude-telegram.
Au quotidien
Une fois le canal actif, le terminal indique seulement que Claude Code a envoyé un message, sans le texte de sa réponse : celle-ci arrive uniquement sur Telegram. C’est voulu, et c’est tout l’intérêt.
Vous pouvez également lui envoyer des messages vocaux. Pour les comprendre, il lui faut un outil de transcription installé sur votre machine : chez moi, c’est Whisper, et c’est Claude lui-même qui m’a proposé de l’installer quand je lui ai envoyé mon premier vocal. En revanche, ne lui demandez pas de vous répondre en vocal : vous ne pourrez pas accélérer la voix. Autant lire sa réponse avec votre lecteur d’écran, à votre vitesse.
Et puisque vous pouvez faire autre chose pendant qu’il travaille, demandez-lui de vous prévenir quand il a fini, ou quand il a une question : la notification tombe sur votre téléphone.
Les demandes d’autorisation, et l’option que j’utilise
Par défaut, Claude Code vous demande votre accord avant de modifier un fichier ou de lancer une commande. Chez moi, avec aGram, ces demandes se valident dans le terminal, pas sur Telegram. Résultat : si je suis dans le tram quand Claude a besoin de mon feu vert, il attend, et la tâche reste bloquée jusqu’à ce que je retrouve mon ordinateur. Ça casse tout l’intérêt.
C’est pour ça que, moi, je lance Claude Code avec l’option --dangerously-skip-permissions, qui supprime toutes les demandes d’autorisation :
claude --channels plugin:telegram@claude-plugins-official --dangerously-skip-permissions
Je vous la montre parce que je l’utilise, pas parce que je vous la conseille. Le mot « dangerously », dangereusement, n’est pas là pour décorer : l’aide de Claude Code elle-même ne la recommande que pour des environnements isolés, sans accès à Internet. Avec cette option, Claude Code agit sur votre ordinateur sans jamais vous demander votre avis, avec tous vos droits d’utilisateur. Voici ce que ça implique.
- Une erreur de l’IA passe sans filet. Claude peut mal comprendre une consigne, surtout un vocal dicté dans le bruit du tram et mal transcrit, puis supprimer ou écraser des fichiers. Rien ne l’arrête avant qu’il agisse.
- Il n’est pas limité au dossier où vous l’avez lancé. Une commande peut toucher n’importe quel fichier auquel vous avez accès, documents personnels compris.
- Ce qu’il lit peut lui donner des ordres. Une page web ou un document qu’il consulte peut contenir des instructions cachées, écrites pour détourner une IA. Sans demande d’autorisation, il n’y a plus personne pour dire non.
- Votre compte Telegram devient la clé de votre ordinateur. Quelqu’un qui accède à votre compte, par un téléphone laissé déverrouillé ou une session restée ouverte ailleurs, peut faire exécuter n’importe quoi à votre machine.
Si vous faites le même choix que moi, faites-le en connaissance de cause, et avec quelques précautions :
- verrouillez l’accès au bot, comme à l’étape 6 : ici, ce n’est plus une option ;
- lancez Claude Code dans le dossier du projet sur lequel vous travaillez, jamais dans votre dossier personnel ;
- ayez des sauvegardes à jour, avec Time Machine sur Mac par exemple ;
- protégez votre compte Telegram avec un code de verrouillage et la validation en deux étapes, dans les réglages de confidentialité ;
- et n’utilisez pas cette option sur un ordinateur qui contient des données sensibles, les vôtres ou celles des autres.
Il existe aussi un entre-deux : l’option --allowedTools permet d’autoriser à l’avance certaines actions précises, et de garder les demandes pour tout le reste. C’est plus sûr, mais les actions non prévues resteront bloquées jusqu’à votre retour devant le terminal.
Trois règles de sécurité
Le jeton est un mot de passe. On ne le partage pas, et on le régénère au moindre doute, comme expliqué à l’étape 1.
Une conversation avec un bot n’est pas chiffrée de bout en bout. Chez Telegram, seules les « conversations secrètes » le sont, et elles ne fonctionnent pas avec un bot. N’envoyez donc jamais à votre bot un mot de passe, un code bancaire, ni rien que vous n’écririez pas dans un mail.
Écrire au bot, c’est donner des ordres à votre ordinateur. Claude Code agit sur votre machine, avec vos droits. Si vous gardez les demandes d’autorisation, lisez-les avant d’accepter. Si vous les supprimez, relisez la section précédente.
Pour aller plus loin : plusieurs bots
Si vous voulez faire tourner plusieurs bots sur la même machine, un pour un projet et un autre pour tester par exemple, ne repassez pas par /telegram:configure pour le second : cela écraserait le jeton du premier. Donnez plutôt au second son jeton et son propre dossier de réglages au moment du lancement :
TELEGRAM_BOT_TOKEN=<jeton du 2e bot> TELEGRAM_STATE_DIR=~/.claude/channels/telegram-bot2 claude --channels plugin:telegram@claude-plugins-official
Chaque bot a alors sa propre liste de personnes autorisées. Pensez à appairer puis verrouiller le second, lui aussi.
Dernière chose : le plugin est jeune, il en est à sa version 0.0.7 au moment où j’écris. Et un même bot ne peut être écouté que par une seule session de Claude Code à la fois : si vous en lancez deux sur le même bot, elles entrent en conflit.
Si vous bloquez à une étape, écrivez-moi : ce genre de tutoriel s’améliore avec vos retours.
📩 Vos questions et retours : [email protected] ou via le formulaire sur unmirodanslaville.fr
Commentaires