# Solução de problemas na autenticação do GitHub Copilot CLI

Diagnosticar falhas de autenticação ao entrar em Copilot CLI.

## Erros de autenticação

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

| Questão                                                                               | Motivo                                                 | Corrigir                                             | Mais informações |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------------- | ---------------- |
| Nenhuma informação de autenticação encontrada                                         | Nenhuma credencial armazenada                          | Execute `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-expired-or-revoked)                               |                                                        |                                                      |                  |
| Token (classic) Rejeitado                                                             |                                                        |                                                      |                  |
| Token (classic) (`ghp_`)                                                              | Usar personal access token refinado                    |                                                      |                  |
| \[                                                                                    |                                                        |                                                      |                  |
| Token (classic) Rejeitado]\(#token-classic-rejected)                                  |                                                        |                                                      |                  |
| 403 Proibido ou política negada                                                       |                                                        |                                                      |                  |
| Copilot licença ou política de empresa ou de organização                              | Verificar as configurações de assinatura e organização |                                                      |                  |
| [Acesso negado](#access-denied)                                                       |                                                        |                                                      |                  |
| Conjunto de chaves indisponível                                                       | Keychain do sistema ausente                            | Instalar `libsecret` ou aceitar texto sem formatação |                  |
| [Falha de acesso ao keychain](#keychain-access-failure)                               |                                                        |                                                      |                  |
| Conta errada                                                                          | Várias contas ou substituição de variáveis de ambiente | Verificar variáveis de ambiente, usar `/user switch` |                  |
| [Conta errada](#wrong-account)                                                        |                                                        |                                                      |                  |

## Nenhuma informação de autenticação encontrada

Copilot CLI exibe o seguinte erro:

<!-- markdownlint-disable GHD005 -->

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

<!-- markdownlint-enable GHD005 -->

### Motivo

Não existem credenciais em nenhum dos locais verificados.

### Corrigir

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

#### Verificar o status da autenticação

```bash copy
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_TOKEN`variável de ambiente ou `GITHUB_TOKEN` de ambiente está definida:

```bash copy
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 GitHub Copilot CLI](/pt/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli#authenticating-with-environment-variables).

```bash copy
 export $COPILOT_GITHUB_TOKEN=PERSONAL_ACCESS_TOKEN
```

#### Conjunto de chaves do macOS

```bash copy
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 copy
  security delete-generic-password -s copilot-cli
```

## Token expirado ou revogado

Copilot CLI exibe o seguinte erro:

<!-- markdownlint-disable GHD005 -->

```text
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
```

<!-- markdownlint-enable GHD005 -->

### Motivo

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

### Corrigir

Examine o status e as permissões do token em GitHub. O token deve ser um fine-grained personal access token pertencente à sua **conta pessoal** (não de uma organização) com a permissão **Copilot de Solicitações**. 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

Clássicos personal access tokens não são suportados por Copilot CLI.

### Corrigir

Gere um personal access token refinado com os escopos necessários.

## Acesso negado

Copilot CLI exibe um dos seguintes erros:

```text
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 de organização bloqueia GitHub Copilot CLIou a conta de usuário não tem uma GitHub Copilot licença.

### Corrigir

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

## Falha de acesso ao keychain

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.

```text
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 o seu sistema operacional restaurar o armazenamento seguro de credenciais.

#### macOS ou Windows

No macOS, confirme se o aplicativo Keychain Access está disponível e certifique-se de que você pode desbloquear seu chaveiro de login.
No Windows, confirme se o Gerenciador de Credenciais está disponível e se você pode acessar o Cofre do Windows.
Se você não puder acessar o gerenciador de credenciais do sistema, use armazenamento de texto puro (se solicitado) ou autentique usando um token de variável de ambiente e rode novamente `/login` 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 copy
   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. Por exemplo, no Debian e no Ubuntu, você pode usar o comando a seguir."

   ```bash copy
   sudo apt install libsecret-1-0 gnome-keyring seahorse
   ```

3. Após a instalação de `secret-tool`, procure no chaveiro por uma credencial salva:

   ```bash copy
   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 Copilot CLI 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.