Skip to main content

Solução de problemas da autenticação da CLI do GitHub Copilot

Diagnosticar falhas de autenticação ao fazer login em CLI do Copilot.

Erros de autenticação

Se você encontrar erros de autenticação, use a tabela abaixo para identificar a causa e a resolução.

QuestãoMotivoCorrigirMais informações
Nenhuma informação de autenticação encontradaNenhuma credencial armazenadaExecute copilot login
          [Nenhuma informação de autenticação encontrada](#no-authentication-information-found)       |

| 401 Não autorizado | Token revogado ou permissões insuficientes | Gerar token com permissões | Token expirado ou revogado | | Token (classic) rejeitado | Token (classic) (ghp_) | Use o controle granular personal access token | Token (classic) rejeitado | | 403 Proibido ou política negada | Copilot licença ou política empresarial/organizacional | Verificar as configurações de assinatura e organização | Acesso negado | | Conjunto de chaves indisponível | Keychain do sistema ausente | Instalar libsecret ou aceitar texto sem formatação | Falha de acesso ao conjunto de chaves | | Conta errada | Várias contas ou substituição de variáveis de ambiente | Verificar variáveis de ambiente, usar /user switch | Conta errada |

Nenhuma informação de autenticação encontrada

CLI do Copilot exibe o seguinte erro:

Error: No authentication information found
Copilot can be authenticated with GitHub using an OAuth Token or a Fine-Grained Personal Access Token

Motivo

Não existem credenciais em nenhum dos locais verificados.

Corrigir

Use as etapas a seguir para descobrir onde a autenticação está ausente e restaurar o acesso.

Verificar o status da autenticação

Bash
gh auth status

Se você vir uma mensagem indicando que não está conectado, faça logon com gh auth login ou use o fluxo OAuth com copilot login.

Verificar se uma variável de ambiente de autenticação está definida

Se você estiver usando uma variável de ambiente, verifique se a COPILOT_GITHUB_TOKEN``GH_TOKENvariável de ambiente ou GITHUB_TOKEN de ambiente está definida:

Bash
echo $COPILOT_GITHUB_TOKEN

Se o comando não imprimir nada, a variável não será definida. Defina a variável como um token válido. Para gerar um token, consulte Autenticando a CLI do GitHub Copilot.

Bash
 export $COPILOT_GITHUB_TOKEN=PERSONAL_ACCESS_TOKEN

Conjunto de chaves do macOS

Bash
security find-generic-password -s copilot-cli

Se nenhum item for encontrado, autentique-se novamente com /login ou copilot login para criar um. Se um item for encontrado, mas a autenticação ainda falhar, remova a credencial salva e autentique novamente com /login ou copilot login:

Bash
  security delete-generic-password -s copilot-cli

Token expirado ou revogado

CLI do Copilot exibe a seguinte mensagem de erro:

Error: Authentication failed

Your GitHub token may be invalid, expired, or lacking the required permissions.

To resolve this, try the following:
  • Start 'copilot' and run the '${LOGIN_COMMAND}' command to re-authenticate
  • If using a Fine-Grained PAT, ensure it has the 'Copilot Requests' permission enabled
  • If using COPILOT_GITHUB_TOKEN, GH_TOKEN or GITHUB_TOKEN environment variable, verify the token is valid and not expired
  • Run 'gh auth status' to check your current authentication status

Motivo

O token foi revogado, expirou ou foi criado sem as permissões necessárias.

Corrigir

Reveja o status e as permissões do token em GitHub. O token deve ter a permissão Solicitações Copilot. Gere um novo token com as permissões necessárias, se necessário.

Token (classic) rejeitado

Um token que começa com ghp_ é silenciosamente ignorado e a CLI se comporta como se nenhum token estivesse definido.

Motivo

Os formatos clássicos personal access tokens não são suportados por CLI do Copilot.

Corrigir

Gere um personal access token de granularidade fina com os escopos necessários.

Acesso negado

CLI do Copilot exibe um dos seguintes erros:

Error: Access denied by policy settings

Your Copilot CLI policy setting may be preventing access. This can happen when:
  • Your organization has restricted Copilot access
  • Your Copilot subscription does not include this feature
  • Required policies have not been enabled by your administrator

To resolve this, visit your Copilot settings: 

Motivo

Uma política organizacional bloqueia CLI do GitHub Copilot, ou a conta de usuário não possui uma licença GitHub Copilot.

Corrigir

  • Verifique se sua conta tem uma licença GitHub Copilot ativa.
  • Peça ao administrador da sua organização para ativar CLI do GitHub Copilot na política da organização.

Falha de acesso ao conjunto de chaves

Durante o logon, o CLI informa que o conjunto de chaves do sistema está indisponível e pergunta se deseja armazenar as credenciais em texto simples.

System keychain unavailable. Store token in plaintext config file? (y/N)

Motivo

O conjunto de chaves do sistema não está acessível. Isso pode ocorrer em sistemas Linux sem libsecret, servidores sem interface gráfica ou sistemas com problemas de permissão.

Corrigir

Siga as etapas para que seu sistema operacional restaure o armazenamento seguro de credenciais.

macOS ou Windows

No macOS, confirme se o aplicativo Keychain Access está disponível e você pode desbloquear seu conjunto de chaves de logon. No Windows, confirme se o Gerenciador de Credenciais está disponível e você pode acessar o Windows Vault. Se você não puder acessar o gerenciador de credenciais do sistema, use o armazenamento de texto sem formatação (se solicitado) ou autentique-se usando um token de variável de ambiente e execute /login novamente ou copilot login.

Linux

No Linux, use o chaveiro do sistema ou armazene credenciais em texto sem formatação.

  1. Verifique se secret-tool está instalado:

    Bash
    command -v secret-tool
    
  2. Se secret-tool não for encontrado ou o comando de pesquisa não retornar resultados, instale libsecret e suas dependências.

    Bash
    sudo apt sudo apt list libsecret-1-0 libsecret-1-dev libsecret-common gnome-keyring gnome-keyring-pkcs11 seahorse
    
  3. Após a instalação de secret-tool, procure no chaveiro por uma credencial salva:

    Bash
    secret-tool search copilot-cli
    

    Se o comando retornar um ou mais resultados, as credenciais existirão no keyring. Execute copilot login no terminal ou /login em CLI do Copilot novamente.

Conta errada

O usuário errado é autenticado ou o token pertence à organização errada.

Motivo

Várias contas são armazenadas ou uma variável de ambiente está substituindo o token armazenado.

Corrigir

Para alternar contas, use /user switch no prompt da CLI ou saia com /logout e execute /login com a conta correta.