Ce que c'est et pourquoi ça compte
Vous recevez l'alerte que quelque chose a cassé : un déploiement raté, une erreur sur votre page de chiffres, un test en rouge. Le chemin habituel est long : ouvrir le terminal, aller dans le bon dossier, lancer Claude Code, se rappeler quoi lui demander et tout retaper. À chaque fois.
Un deep link réduit tout ça à un clic. C'est un lien qui commence par claude-cli:// et qui marche comme les liens mailto: qui ouvrent votre messagerie. Dedans, vous mettez le dossier du projet et la demande. Vous cliquez, et une nouvelle fenêtre de terminal s'ouvre avec Claude Code dans ce dossier et la demande déjà tapée dans la zone de saisie. Rien n'est envoyé tant que vous n'appuyez pas sur Entrée.
C'est pour vous si vous travaillez seul et que vous retombez toujours sur les trois ou quatre mêmes urgences : le paiement qui ne passe pas, le build qui casse, la page qui rame. Vous préparez le lien une fois, vous le placez là où le problème apparaît, et quand ça arrive vous êtes déjà au bon endroit avec la bonne question.
1. Activez-le une seule fois
Il n'y a rien à installer à part Claude Code. Le lien fonctionne avec Claude Code dans le terminal, sur macOS, Linux et Windows. Claude Code enregistre tout seul le gestionnaire des liens claude-cli:// dans le système, la première fois que vous envoyez une demande dans une session interactive. Si vous l'ouvrez et le fermez sans rien écrire, rien n'est enregistré.
- Ouvrez le terminal que vous utilisez d'habitude et tapez claude.
- Envoyez-lui n'importe quelle demande, même juste « salut », et appuyez sur Entrée. À partir de là, le lien marche sur cet ordinateur.
- Pour tester, collez claude-cli://open dans la barre d'adresse du navigateur. Claude Code s'ouvre dans votre dossier personnel, avec la zone de saisie vide.
2. De quoi est fait un lien
Chaque lien commence par claude-cli://open. Après le point d'interrogation, vous ajoutez les paramètres, séparés par &. Il y en a trois :
- q : la demande à écrire dans la zone de saisie. Elle doit être encodée pour l'URL (les espaces deviennent %20, les retours à la ligne %0A). 5 000 caractères au maximum.
- cwd : le chemin absolu du dossier, par exemple /Users/votrenom/projets/shop. Les chemins réseau et ceux qui contiennent « .. » sont refusés.
- repo : le nom du dépôt GitHub sous la forme propriétaire/nom. Claude Code ouvre la copie locale où vous avez lancé claude le plus récemment. S'il n'en connaît aucune, il ouvre votre dossier personnel.
Si vous travaillez seul sur un ordinateur, cwd est le plus simple. repo est pratique si vous clonez le même projet à plusieurs endroits, mais il ne marche qu'après avoir lancé claude au moins une fois dans cette copie. Si vous mettez les deux, cwd l'emporte. Le lien ne change pas de branche : vous trouvez le dossier tel qu'il est.
Voici un lien complet, pour un dépôt d'exemple acme/shop, avec une demande sur deux lignes :
claude-cli://open?repo=acme/shop&q=Le%20d%C3%A9ploiement%20de%20cette%20nuit%20a%20%C3%A9chou%C3%A9.%0ARegarde%20les%20derniers%20commits%20sur%20main%20et%20dis-moi%20la%20cause%2C%20sans%20rien%20modifier.
Quand vous cliquez, la zone de saisie affiche le texte normal : « Le déploiement de cette nuit a échoué. » puis, à la ligne, la demande. Le chemin choisi s'affiche dans l'en-tête de bienvenue, pour vérifier que c'est la bonne copie.
3. Faites construire le lien par Claude
Encoder à la main les accents, les espaces et les retours à la ligne, c'est le moyen le plus rapide de se tromper. Moi, je le demande à Claude Code. Copiez ce message, remplacez les parties entre < > et enlevez les symboles < > :
Construis-moi un deep link Claude Code qui commence par claude-cli://open. Dossier : cwd=<chemin absolu du projet> Demande à pré-remplir : <la demande, sur plusieurs lignes si besoin> Encode la demande pour une URL comme le fait encodeURIComponent, avec %0A pour les retours à la ligne, et vérifie qu'elle reste sous 5 000 caractères. Donne-moi le lien prêt à copier et, en dessous, le texte décodé, pour que je vérifie qu'il dit exactement ce que je veux.
Si vous préférez le faire vous-même : ouvrez la console du navigateur, tapez encodeURIComponent("votre demande") et collez le résultat après q=.
Si la demande est longue, comme une procédure entière, ne la fourrez pas dans le lien. Écrivez-la comme skill dans le projet, dans le fichier .claude/skills/<nom>/SKILL.md, et mettez seulement /<nom> dans le lien. Le lien reste court et vous modifiez la procédure à un seul endroit.
4. Où le mettre
Le lien va là où le problème apparaît. Je l'utilise à trois endroits.
Dans votre page d'alertes ou de chiffres
Si vous avez une page interne avec les erreurs ou les métriques, chaque ligne peut avoir un lien « Corriger avec Claude ». Vous l'ajoutez comme ça :
Sur la page <fichier de la page d'alertes>, à côté de chaque erreur, ajoute un lien « Corriger avec Claude ». Le lien est claude-cli://open avec cwd=<chemin absolu du projet> et q égal à cette demande, encodée avec encodeURIComponent : « L'erreur <nom de l'erreur> s'est produite à <heure>. Trouve la cause dans le code et dans les logs et propose-moi une correction. Ne modifie rien avant de me l'avoir expliquée. » Le nom et l'heure viennent des données de chaque ligne. Ne change rien d'autre sur la page.
La page qui affiche le lien doit autoriser les liens qui ne commencent pas par http. Le lien peut être n'importe où, en ligne aussi, mais la session s'ouvre toujours sur l'ordinateur où vous cliquez.
Dans un document du projet
Dans un fichier Markdown, vous écrivez [Corriger le checkout](claude-cli://open?...). Attention : GitHub supprime ces liens dans les README, les issues, les pull requests et les wikis, et il ne reste que le nom. Là, mettez le lien dans un bloc de code : la personne qui lit le copie et le colle dans la barre d'adresse du navigateur.
Dans une commande du terminal
Le lien s'ouvre aussi en ligne de commande, vous pouvez donc le mettre dans un alias ou un script. Chaque système a sa commande :
macOS: open "claude-cli://open?repo=acme/shop&q=review%20open%20PRs" Linux: xdg-open "claude-cli://open?repo=acme/shop&q=review%20open%20PRs" Windows (PowerShell): Start-Process "claude-cli://open?repo=acme/shop&q=review%20open%20PRs" Windows (cmd.exe): start "" "claude-cli://open?repo=acme/shop&q=review%20open%20PRs"
Pour un alias à vous, demandez à Claude Code :
Ajoute au fichier de configuration de mon shell un alias appelé <nom de l'alias>. Il doit ouvrir, avec la bonne commande pour mon système, un lien claude-cli://open avec cwd=<chemin absolu du projet> et cette demande, encodée pour l'URL : <la demande> Avant d'enregistrer, montre-moi la ligne que tu ajoutes et le texte décodé.
5. Avant d'appuyer sur Entrée
Un lien n'exécute rien tout seul : il choisit le dossier et remplit la zone de saisie. En dessous s'affiche l'avertissement « Prompt from an external link » (demande venant d'un lien externe), jusqu'à ce que vous envoyiez ou effaciez le texte. Au-delà de 1 000 caractères, il indique aussi leur nombre et vous demande de faire défiler et de tout lire : un long texte peut cacher des instructions hors de l'écran.
Les règles restent les mêmes : la demande de confiance pour le dossier, les permissions et votre CLAUDE.md s'appliquent comme dans n'importe quelle autre session. Si un lien vient d'une page que vous ne connaissez pas, lisez la demande ligne par ligne avant d'appuyer sur Entrée. Si quelque chose cloche, effacez-la.
Si au contraire vous ne voulez pas que votre ordinateur ouvre ces liens, mettez "disableDeepLinkRegistration": "disable" dans votre settings.json : Claude Code n'enregistre plus le gestionnaire des liens claude-cli://.
6. Si ça ne marche pas
- Vous cliquez et rien ne se passe : le gestionnaire n'est pas encore enregistré. Lancez claude, envoyez une demande quelconque, quittez et réessayez. Sur Linux sans environnement de bureau, xdg-open n'a peut-être rien à qui passer le lien. Si xdg-open manque carrément, installez le paquet xdg-utils.
- Ça s'ouvre dans votre dossier personnel au lieu du projet : repo ne trouve que les copies où vous avez déjà lancé claude. Lancez-le une fois dedans, ou passez à cwd avec le chemin absolu.
- Le mauvais terminal s'ouvre : sur macOS, lancez claude une fois dans le terminal que vous préférez ; sur Linux, définissez $TERMINAL ; sur Windows, installez Windows Terminal si vous voulez que les liens s'y ouvrent.
Les erreurs les plus courantes
- Tester le lien avant d'avoir envoyé au moins une demande à Claude Code sur cet ordinateur : le gestionnaire n'existe pas encore.
- Écrire la demande sans l'encoder : les espaces, les accents et les retours à la ligne cassent le lien. Faites-le construire par Claude.
- Mettre un chemin relatif dans cwd : il faut le chemin absolu, et les chemins avec « .. » sont refusés.
- Appuyer sur Entrée sans lire, surtout si ce n'est pas vous qui avez écrit le lien.
Check-list
- J'ai envoyé au moins une demande à Claude Code sur cet ordinateur.
- claude-cli://open collé dans le navigateur ouvre Claude Code.
- Mon lien a cwd avec le chemin absolu, ou repo avec une copie où j'ai déjà lancé claude.
- La demande dans q est encodée et le texte décodé dit exactement ce que je veux.
- Avant Entrée, je lis la demande, même quand c'est moi qui l'ai écrite.
Questions fréquentes
Si je mets le lien en ligne, est-ce que la personne qui clique entre dans mon ordinateur ?
Non. La session s'ouvre toujours sur l'ordinateur de la personne qui clique, dans sa copie du projet, et seulement si elle a Claude Code avec le gestionnaire enregistré. Le lien ne transporte que le dossier et le texte.
Est-ce que je peux le faire partir tout seul, sans appuyer sur Entrée ?
Pas avec le lien : il remplit la zone de saisie et vous attend. Si vous avez besoin de quelque chose qui tourne tout seul dans un script, c'est le mode non interactif de Claude Code, et c'est autre chose.
J'utilise Claude Code dans VS Code ou dans l'app de bureau : le même lien marche-t-il ?
claude-cli:// ouvre toujours une fenêtre de terminal. L'extension VS Code a son propre lien, vscode://anthropic.claude-code/open, qui ouvre un onglet dans l'éditeur. Claude Desktop gère ses propres liens claude://. Ce sont des liens différents, avec leurs propres règles.