GitHub CLI propose depuis le 21 octobre 2026 une préversion publique des jetons OAuth expirants et renouvelables. Cette option, disponible à partir de la version 2.103.0, ne modifie pas automatiquement les connexions existantes, selon l’annonce de GitHub.
Une activation volontaire
Le mode s’active avec gh auth login --expiring. Pour le demander à chaque connexion, la commande documentée est gh config set expiring_credentials enabled. Le client conserve un jeton d’accès et un jeton de renouvellement tournant, puis renouvelle l’accès au besoin. Sans activation, les sessions existantes et les jetons fournis manuellement continuent de fonctionner comme auparavant.
Vérifier le serveur et les scripts
La préversion concerne GitHub.com et ghe.com. GitHub Enterprise Server nécessite la version 3.23 ou ultérieure. Si le serveur ne prend pas en charge cette authentification, le client revient à un jeton non expirant et affiche un message. Demander l’option ne garantit donc pas à lui seul son activation effective.
Les scripts qui conservent durablement la sortie de gh auth token doivent tenir compte de l’expiration. Cette commande renouvelle le jeton si nécessaire avant de l’afficher : sa valeur n’est plus à traiter comme un identifiant permanent. Elle doit rester confidentielle.
Deux précautions pour Git et les changements de portées
La documentation d’authentification précise que GitHub CLI doit servir de gestionnaire d’identifiants pour Git sur HTTPS. La commande gh auth setup-git permet cette configuration. Git 2.46 ou plus est recommandé pour que les caches respectent la durée de validité ; ce n’est pas une condition absolue.
Lors d’un changement de portées avec gh auth refresh, il faut aussi demander --expiring ou conserver la préférence activée. Sinon, l’opération peut remplacer l’identifiant renouvelable par un jeton classique. La nouveauté est donc un choix d’authentification pour GitHub CLI, pas une migration obligatoire de tous les jetons OAuth.