Skip to main content

Authentification de GitHub Copilot CLI

Authentifiez-vous Copilot CLI pour pouvoir utiliser Copilot directement à partir de la ligne de commande.

Qui peut utiliser cette fonctionnalité ?

GitHub Copilot CLI est disponible dans tous les forfaits Copilot. Si vous recevez Copilot d’une organisation, la Copilot CLI stratégie doit être activée dans les paramètres de l’organisation.

À propos de l’authentification

Si vous utilisez vos propres clés API de fournisseur LLM (BYOK), GitHub l’authentification n’est pas requise.

L’authentification est requise pour toute autre GitHub Copilot CLI utilisation.

Lorsque l’authentification est requise, Copilot CLI prend en charge plusieurs méthodes. La méthode que vous utilisez varie selon que vous travaillez de manière interactive ou dans un environnement automatisé.

  • OAuth : méthode par défaut et recommandée pour une utilisation interactive. Il existe deux flux OAuth. Le flux de navigateur (web) ouvre votre navigateur pour autoriser la connexion et le termine sur un rappel de bouclage local. Le flux de code de l’appareil affiche un code à usage unique que vous entrez dans votre navigateur. Le flux via le navigateur est utilisé par défaut sur un poste de travail local, tandis que les environnements distants connus ou sans interface graphique (y compris SSH, GitHub Codespaces, les conteneurs de développement et CI) utilisent par défaut le flux de code d’appareil. Consultez l’authentification avec OAuth.
  • Variables d'environnement : recommandé pour les pipelines CI/CD, les conteneurs et les environnements non interactifs. Vous définissez un jeton pris en charge en tant que variable d’environnement (COPILOT_GITHUB_TOKENou GH_TOKEN``GITHUB_TOKEN), et l’interface CLI l’utilise automatiquement sans invite. Consultez l’authentification avec les variables d’environnement.
  • GitHub CLI fallback : Si vous avez GitHub CLI (gh) (remarque : l'gh CLI, pas copilot) installé et authentifié, Copilot CLI peut automatiquement utiliser son jeton. Il s’agit de la méthode de priorité la plus basse et s’active uniquement quand aucune autre information d’identification n’est trouvée. Voir Authentification avec GitHub CLI.

Une fois authentifié, Copilot CLI mémorise votre connexion et utilise automatiquement le jeton pour toutes les Copilot demandes d’API. Vous pouvez vous connecter avec plusieurs comptes, et l’interface CLI mémorisera le dernier compte utilisé. La durée de vie et l’expiration des jetons dépendent de la façon dont le jeton a été créé sur vos paramètres de compte ou d’organisation.

Utilisation non authentifiée

Si vous configurez Copilot CLI pour utiliser vos propres clés API de fournisseur LLM (BYOK), GitHub l’authentification n’est pas nécessaire. Copilot CLI Peut se connecter directement à votre fournisseur configuré sans GitHub compte ni jeton.

Toutefois, sans GitHub authentification, les fonctionnalités suivantes ne sont pas disponibles :

  • /delegate: Nécessite Copilot cloud agent, qui s'exécute sur GitHubles serveurs de
  • GitHub Serveur MCP : nécessite l’authentification pour accéder aux GitHub API
  • GitHubRecherche de code : nécessite l’authentification pour interroger l’index de recherche de l’objet GitHub

Vous pouvez combiner BYOK avec l’authentification GitHub pour obtenir le meilleur des deux mondes : votre modèle préféré pour les réponses IA, ainsi que l'accès aux fonctionnalités hébergées par GitHub telles que /delegate et la recherche de code.

Mode hors connexion

Si vous définissez la variable d’environnement COPILOT_OFFLINE sur true, Copilot CLI s’exécute sans contacter GitHub les serveurs. En mode hors connexion :

  • Aucune authentification n’est GitHub tentée.
  • L’interface CLI effectue uniquement des requêtes réseau à votre fournisseur BYOK configuré.
  • La télémétrie est entièrement désactivée.

Le mode hors connexion n’est entièrement aéré que si votre fournisseur BYOK est local ou dans le même environnement isolé (par exemple, un modèle s’exécutant localement sans accès réseau externe). Si COPILOT_PROVIDER_BASE_URL pointe vers un point de terminaison distant ou accessible à Internet, les messages d'invite et le contexte de code sont toujours envoyés sur le réseau vers ce fournisseur. Sans mode hors connexion, même lorsque vous utilisez BYOK sans GitHub authentification, la télémétrie est toujours envoyée normalement.

Types de jetons pris en charge

Type de jetonPréfixeSoutenuRemarques
Jeton OAuth (navigateur ou flux d’authentification d’appareil)gho_OuiMéthode par défaut via copilot login
PAT à granularité finegithub_pat_OuiDoit être détenu par votre compte personnel (et non par une organisation) avec l’autorisation Copilot Requêtes du compte
Application GitHub utilisateur à serveurghu_OuiVia une variable d’environnement
PAT classiqueghp_NonNon pris en charge par Copilot CLI

Comment Copilot CLI stocke les informations d’identification

Par défaut, l’interface CLI stocke votre jeton OAuth dans le trousseau de votre système d’exploitation sous le nom copilot-clidu service :

PlatformTrousseau
macOSTrousseau d’accès
WindowsGestionnaire des identifiants
Linuxlibsecret (GNOME Keyring, KWallet)

Si le trousseau système n’est pas disponible — par exemple sur un serveur Linux sans interface graphique sans libsecret installé, l’interface en ligne de commande vous invite à stocker le jeton dans un fichier de configuration en clair situé à ~/.copilot/config.json.

Lorsque vous exécutez une commande, Copilot CLI recherche les informations d’identification dans l’ordre suivant :

  1. COPILOT_GITHUB_TOKEN variable d’environnement
  2. GH_TOKEN variable d’environnement
  3. GITHUB_TOKEN variable d’environnement
  4. Jeton OAuth provenant du trousseau système
  5. Solution de secours via GitHub CLI (gh auth token)

Remarque

  • Une variable d’environnement remplace silencieusement un jeton OAuth stocké. Si vous définissez GH_TOKEN pour un autre outil, l’interface CLI utilise ce jeton au lieu du jeton OAuth à partir de copilot login. Pour éviter un comportement inattendu, désactivez les variables d'environnement que vous ne voulez pas que la CLI utilise. Il existe une exception : dans GitHub Codespaces, l’élément GITHUB_TOKEN injecté automatiquement ne prévaut pas sur un compte auquel vous vous êtes connecté à l’aide de /login. Un GITHUB_TOKEN, COPILOT_GITHUB_TOKEN ou GH_TOKEN que vous exportez explicitement l’est toujours.
  • Lorsque vous configurez des variables d’environnement de fournisseur BYOK (par exemple, COPILOT_PROVIDER_BASE_URL, COPILOT_PROVIDER_API_KEY), Copilot CLI les utilise pour les demandes de modèle IA, quel que soit votre GitHub état d’authentification. GitHub Les jetons sont uniquement nécessaires pour GitHubles fonctionnalités hébergées.

Authentification avec OAuth

OAuth est la méthode d’authentification par défaut pour une utilisation interactive. Vous pouvez vous authentifier en exécutant /login depuis Copilot CLI ou copilot login depuis votre terminal. Les deux offrent un flux de navigateur (web) et un flux de code d’appareil.

S’authentifier avec /login

  1. À partir de Copilot CLI, exécutez /login.

    Bash
    /login
    
  2. Sélectionnez le compte avec lequel vous souhaitez vous authentifier. Pour GitHub Enterprise Cloud la résidence de données, saisissez le nom d’hôte de votre instance

    What account do you want to log into?
     1. GitHub.com
     2. GitHub Enterprise Cloud with data residency (*.ghe.com)
    
  3. Choisissez la façon dont vous souhaitez vous connecter. L’option recommandée est répertoriée en premier et dépend de votre environnement : le flux de navigateur sur un terminal local ou le flux de code de l’appareil dans un environnement distant ou sans tête. L’exemple suivant montre l’invite de commande dans un terminal local :

    How do you want to sign in?
     1. Sign in with your browser (recommended)
     2. Sign in with a device code
    
  4. Terminez le flux que vous avez sélectionné.

    • Navigateur : Copilot CLI ouvre votre navigateur afin que vous puissiez autoriser la connexion. Si votre navigateur ne s’ouvre pas automatiquement, le terminal affiche une URL que vous pouvez visiter à la place.

    • Code de l’appareil : l’interface CLI affiche un code utilisateur unique et peut le copier dans votre Presse-papiers et ouvrir votre navigateur pour vous.

      Waiting for authorization...
      Enter one-time code: 1234-5678 at https://github.com/login/device
      Press any key to copy to clipboard and open browser...
      

      Accédez à l’URL de vérification à l’adresse https://github.com/login/device si votre navigateur ne s’est pas ouvert automatiquement, puis collez le code à usage unique dans le champ prévu à cet effet sur la page.

  5. Si votre organisation utilise l’authentification unique SAML, cliquez sur Authorize en regard de chaque organisation à laquelle vous souhaitez accorder access.

  6. Passez en revue les autorisations demandées, puis cliquez sur Authorize GitHub Copilot CLI.

  7. Revenez à votre terminal. L’interface CLI affiche un message de réussite lorsque l’authentification est terminée.

    Signed in successfully as Octocat. You can now use Copilot.
    

S’authentifier avec copilot login

  1. À partir du terminal, exécutez copilot login. Si vous utilisez GitHub Enterprise Cloud avec résidence des données, passez le nom d’hôte de votre instance.

    Bash
    copilot login
    

    Pour GitHub Enterprise Cloud:

    Bash
    copilot login --host HOSTNAME
    
  2. Autorisez la connexion.

    Sur un bureau local, copilot login utilise le flux de navigateur par défaut. Il ouvre votre navigateur pour autoriser la connexion et capture le résultat sur un rappel de bouclage local.

    Opening your browser to authenticate...
    If it doesn't open automatically, visit:
    URL
    Waiting for authorization...
    

    Les environnements distants ou sans tête connus (y compris SSH, , GitHub Codespacesconteneurs de développement et CI) utilisent plutôt le flux de code de l’appareil. L’interface en ligne de commande affiche un code à usage unique et, lorsque l’environnement le permet, peut le copier dans le presse-papiers et ouvrir un navigateur.

    To authenticate, visit https://github.com/login/device and enter code 1234-5678
    Waiting for authorization...
    

    Pour forcer un flux particulier, ajoutez l’option --device-code ou --web-flow.

  3. Accédez à l’URL affichée dans votre terminal si votre navigateur n’a pas ouvert automatiquement. Pour le flux de code de l’appareil, collez le code unique dans le champ de la page.

  4. Si votre organisation utilise l’authentification unique SAML, cliquez sur Authorize en regard de chaque organisation à laquelle vous souhaitez accorder access.

  5. Passez en revue les autorisations demandées, puis cliquez sur Authorize GitHub Copilot CLI.

  6. Revenez à votre terminal. L’interface CLI affiche un message de réussite lorsque l’authentification est terminée.

    Signed in successfully as Octocat.
    

Authentification avec des variables d’environnement

Pour les environnements non interactifs, vous pouvez vous authentifier en définissant une variable d’environnement avec un jeton pris en charge. Cela est idéal pour les pipelines CI/CD, les conteneurs ou les serveurs sans tête.

  1. Visitez Fine-grained personal access tokens.
  2. Sous Propriétaire de la ressource, sélectionnez votre compte personnel. Ne sélectionnez pas d’organisation. L’autorisation Copilot Requêtes est disponible uniquement pour les éléments appartenant à l'utilisateur.fine-grained personal access tokens
  3. Sous Accès au référentiel, sélectionnez le niveau d’accès approprié pour votre cas d’usage :
    • Référentiels publics si vous n’avez besoin d’utiliser que les dépôts publics.
    • Tous les référentiels si vous avez besoin d’accéder à tous vos dépôts actuels et futurs.
    • Sélectionnez uniquement certains dépôts si vous souhaitez restreindre l’accès à des dépôts spécifiques.
  4. Sous Autorisations, sélectionnez l’onglet Compte .
  5. Cliquez sur Ajouter des autorisations et sélectionnez Copilot Demandes.
  6. Cliquez sur Générer un jeton.
  7. Exportez le jeton dans votre configuration de terminal ou d’environnement. Utilisez la variable d'environnement COPILOT_GITHUB_TOKEN, GH_TOKEN ou GITHUB_TOKEN (par ordre de priorité).

Authentification avec GitHub CLI

Si vous avez GitHub CLI installé et authentifié, Copilot CLI peut utiliser son jeton comme secours. Cette méthode a la priorité la plus basse et s’active uniquement quand aucune variable d’environnement n’est définie et qu’aucun jeton stocké n’est trouvé.

  1. Vérifiez que GitHub CLI est authentifié.

    Bash
    gh auth status
    

    Si vous utilisez GitHub Enterprise Cloud avec la résidence des données, vérifiez que le nom d’hôte correct est authentifié.

    Bash
    gh auth status --hostname HOSTNAME
    
  2. Exécutez copilot. L’interface CLI Copilot utilise automatiquement le jeton GitHub CLI.

  3. Exécutez /user pour vérifier votre compte authentifié dans l’interface CLI.

Basculement entre comptes

Copilot CLI prend en charge plusieurs comptes. Vous pouvez répertorier les comptes disponibles et basculer entre eux à partir de l’interface CLI. Pour lister les comptes disponibles, lancez /user list depuis l’invite Copilot CLI . Pour passer à un autre compte, saisissez /user switch dans la requête.

Pour ajouter un autre compte, exécutez une copilot login nouvelle session de terminal ou exécutez la commande de connexion à partir de l’interface CLI et autorisez-la avec l’autre compte.

Déconnexion et suppression des informations d’identification

Pour vous déconnecter, tapez /logout à l’invite Copilot CLI . Cela supprime le jeton stocké localement, mais ne le révoque pas sur GitHub.

Pour révoquer l’autorisation de l’application OAuth sur GitHub et pour empêcher son utilisation ailleurs, procédez comme suit.

  1. Accédez à Paramètres > Applications > Applications OAuth autorisées.
  2. Accédez à la page de vos paramètres :
    1. Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil.
    2. Cliquez sur Paramètres.
  3. Dans la barre latérale gauche, cliquez sur Applications.
  4. Sous ** Applications OAuth autorisées**, cliquez sur en regard de GitHub CLI pour développer le menu et sélectionnez Revoke.

Étapes suivantes

Si vous rencontrez des problèmes d’authentification, consultez Résolution des problèmes liés à l’authentification CLI GitHub Copilot.