Article original : How to Set Up GitHub CLI on WSL2
Récemment, j'ai configuré WSL2 et Ubuntu sur mon Windows 11 pour travailler sur des projets open-source. Comme je maintiens également ces projets, j'ai installé GitHub CLI pour faciliter mon flux de travail. J'ai réussi à installer GitHub CLI, mais j'ai échoué lors de l'authentification.
Le message d'erreur failed to authenticate via web browser: Too many requests have been made in the same timeframe. (slow_down) est apparu dans mon terminal, alors que sur le navigateur web, il indiquait que l'authentification était réussie.

J'ai cherché sur Google et trouvé quelques solutions de contournement que j'ai essayées, mais une seule a fonctionné à merveille !
Après avoir enfin résolu ce problème d'authentification délicat pour GitHub CLI sur WSL2, j'ai conçu ce guide. C'est un tutoriel complet pour une solution qui fonctionne, couvrant tout, de l'installation fluide à la gestion continue.
Table des matières
Prérequis
Avant de commencer, assurez-vous d'avoir installé ces éléments sur votre machine Windows :
WSL2
Une distribution Linux
Windows PowerShell
Windows Terminal (optionnel)
Pour suivre les instructions de cet article, vous pouvez utiliser le terminal Windows PowerShell en tant qu'administrateur.
Alternativement, si Windows Terminal est installé, vous pouvez utiliser le terminal Linux en cliquant sur l'icône « flèche vers le bas » en haut et en sélectionnant la distribution.

Comment installer GitHub CLI sur WSL2
Vous pouvez utiliser le processus d'installation décrit ici si vous utilisez les distributions Ubuntu, Debian ou Raspberry Pi OS (apt). Pour les autres distributions que celles mentionnées ici, vous pouvez consulter le processus d'installation disponible sur la documentation officielle de GitHub CLI.
Pour installer GitHub CLI dans WSL2 :
Exécutez cette commande :
(type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) \ && sudo mkdir -p -m 755 /etc/apt/keyrings \ && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \ && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \ && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ && sudo mkdir -p -m 755 /etc/apt/sources.list.d \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ && sudo apt update \ && sudo apt install gh -ySaisissez votre mot de passe Linux lorsque vous y êtes invité.
Assurez-vous que GitHub CLI est installé en exécutant la commande
gh --version. Si l'installation a réussi, vous devriez voir quelque chose comme ceci dans votre terminal :gh version 2.76.2 (2025-07-30) https://github.com/cli/cli/releases/tag/v2.76.2
Comment authentifier GitHub CLI sur WSL2 avec votre compte GitHub
Avant de pouvoir utiliser GitHub CLI, vous devez d'abord l'authentifier. Vous recevrez un message d'erreur HTTP 401: Bad credentials (https://api.github.com/graphql) si vous exécutez une commande GitHub CLI sans authentification.
Pour authentifier GitHub CLI avec votre compte GitHub :
Exécutez la commande
gh auth logindans votre terminal.Vous recevrez plusieurs invites et vous devrez choisir les méthodes que vous préférez. Voici ce que j'ai sélectionné pour chaque invite :
? Where do you use GitHub? GitHub.com ? What is your preferred protocol for Git operations on this host? HTTPS ? How would you like to authenticate GitHub CLI? Login with a web browserAprès avoir répondu à toutes les invites, vous devriez recevoir le message pour copier un code à usage unique comme indiqué ci-dessous. Vous n'avez pas besoin de copier le code à ce stade.
! First copy your one-time code: XXXX—XXXXAppuyez sur « Entrée ». Cela ouvre automatiquement la page « Device Activation » sur votre navigateur.
Cliquez sur le bouton vert « Continue ».

GitHub devrait vous demander de saisir le code affiché sur votre terminal, comme indiqué dans la capture d'écran ci-dessous. Mais voici l'astuce ! Ne collez aucun code et ne fermez pas le navigateur. Revenons d'abord à votre terminal.

Maintenant, vous pourriez obtenir ce message d'erreur sur votre terminal :
grep: /proc/sys/fs/binfmt_misc/WSLInterop: No such file or directory WSL Interopability is disabled. Please enable it before using WSL. grep: /proc/sys/fs/binfmt_misc/WSLInterop: No such file or directory [error] WSL Interoperability is disabled. Please enable it before using WSL.Appuyez sur
Ctrl + Cpour arrêter le processus s'il est toujours en cours, ou laissez-le s'arrêter de lui-même. Une fois arrêté, vous devriez voir ce message :failed to authenticate via web browser: Too many requests have been made in the same timeframe. (slow_down)Exécutez à nouveau la commande
gh auth loginet répétez le processus pour sélectionner les méthodes de votre choix. Cette fois, lorsqu'on vous demande d'appuyer sur « Entrée », ne le faites pas.Copiez le dernier code et retournez à la page « Device Activation » que vous avez laissée ouverte dans votre navigateur.
Collez le code que vous avez copié et cliquez sur le bouton vert « Continue ».
Cliquez sur le bouton vert « Authorize github » après que GitHub vous a redirigé vers la page « Authorize GitHub CLI ». Vous devriez maintenant voir le message « Félicitations, vous êtes prêt ! »
Retournez à votre terminal et appuyez sur « Entrée ». Cela déclenche ces actions :
Cela ouvre automatiquement une nouvelle page « Device Activation » dans votre navigateur. Vous pouvez l'ignorer sans risque.
Dans le terminal, vous voyez d'abord le message d'erreur comme à l'étape 4. Ne faites rien et attendez un peu. Ensuite, vous obtenez :
✓ Authentication complete. - gh config set -h github.com git_protocol https ✓ Configured git protocol ! Authentication credentials saved in plain text ✓ Logged in as YOUR-GITHUB-USERNAME ! You were already logged in to this account
Et voilà, GitHub CLI est maintenant authentifié avec succès !
Merci à l'utilisateur « ikeyan » sur GitHub pour sa solution d'authentification GitHub CLI !
Comment mettre à jour GitHub CLI sur WSL2
C'est toujours une bonne pratique de vérifier régulièrement les mises à jour des paquets et des dépendances, et de passer à la version la plus récente lorsqu'elle est disponible — cela inclut GitHub CLI. Pour vérifier les mises à jour et mettre à jour la version de GitHub CLI :
Exécutez la commande
sudo apt updatedans votre terminal. Cette commande récupère la liste des mises à jour disponibles.Saisissez votre mot de passe Linux lorsque vous y êtes invité.
Si vous devez mettre à jour votre GitHub CLI, exécutez
sudo apt install gh. Cette commande installe la version la plus récente de GitHub CLI.Saisissez votre mot de passe Linux lorsque vous y êtes invité.
Maintenant, votre GitHub CLI dispose de la version la plus récente.
Comment désinstaller GitHub CLI sur WSL2
Si un jour vous sentez que vous n'avez plus besoin d'utiliser GitHub CLI, vous pouvez le désinstaller en suivant ces étapes :
Exécutez la commande
sudo apt remove ghdans votre terminal.Saisissez votre mot de passe Linux lorsque vous y êtes invité.
Appuyez sur « Y » pour continuer le processus de désinstallation.
GitHub CLI est maintenant désinstallé de votre environnement WSL.
Comment révoquer l'accès de GitHub CLI sur GitHub
Après avoir désinstallé GitHub CLI, vous pourriez penser que l'accès à votre compte a disparu, mais ce n'est pas le cas. L'authentification que vous avez accordée est toujours active. Si vous ne prévoyez pas d'utiliser à nouveau la CLI, il est de bonne pratique de révoquer cet accès.
Voici comment faire directement depuis votre compte GitHub :
Sur votre compte GitHub, cliquez sur votre photo de profil en haut à droite et cliquez sur « Settings ».

Dans la barre latérale gauche, trouvez « Integrations » et cliquez sur « Applications ».

Cliquez sur l'onglet « Authorized OAuth Apps » en haut.

Trouvez GitHub CLI et cliquez sur l'icône « trois points » à côté.
Cliquez sur « Revoke ».

Confirmez en cliquant sur le bouton « I understand, revoke access ».
Maintenant, GitHub CLI n'a plus accès à votre compte GitHub.
Le mot de la fin
🖼️ Crédit image de couverture : undraw.co
Merci de m'avoir lu ! Enfin, vous pouvez me retrouver sur X et LinkedIn. Connectons-nous ! 😊