# Solución de problemas de autenticación de la CLI de GitHub Copilot

Diagnosticar errores de autenticación al iniciar sesión en Copilot CLI.

## Errores de autenticación

Si encuentra errores de autenticación, use la tabla siguiente para identificar la causa y la resolución.

| Cuestión                                                                            | Causa                                                          | Corregir                                            | Información adicional      |
| ----------------------------------------------------------------------------------- | -------------------------------------------------------------- | --------------------------------------------------- | -------------------------- |
| No se encontró información de autenticación                                         | Sin credenciales almacenadas                                   | Ejecute `copilot login`:                            |                            |
| [No se encontró información de autenticación](#no-authentication-information-found) |                                                                |                                                     |                            |
| 401 No autorizado                                                                   | Token revocado o permisos insuficientes                        | Generar token con permisos                          |                            |
| [Token expirado o revocado](#token-expired-or-revoked)                              |                                                                |                                                     |                            |
| Token (classic) rechazado                                                           |                                                                |                                                     |                            |
| Token (classic) (`ghp_`)                                                            | Uso específico de personal access token                        |                                                     |                            |
| \[                                                                                  |                                                                |                                                     |                            |
| Token (classic) rechazado]\(#token-classic-rejected)                                |                                                                |                                                     |                            |
| 403 Prohibido o denegado por política                                               |                                                                |                                                     |                            |
| Copilot licencia o directiva de empresa/organización                                | Verificar la suscripción y la configuración de la organización |                                                     |                            |
| [Access denegado](#access-denied)                                                   |                                                                |                                                     |                            |
| Cadena de claves no disponible                                                      | Falta la cadena de claves del sistema                          | Instalar `libsecret` o aceptar texto no cifrado     | error de acceso al llavero |
| Cuenta incorrecta                                                                   | Cuentas múltiples o anulación de variables de entorno          | Comprobar variables de entorno, usar `/user switch` |                            |
| [Cuenta incorrecta](#wrong-account)                                                 |                                                                |                                                     |                            |

## No se encontró información de autenticación

Copilot CLI muestra el siguiente error:

<!-- 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 -->

### Causa

No existen credenciales en ninguna de las ubicaciones comprobadas.

### Corregir

Siga estos pasos para buscar dónde falta la autenticación y restaurar access.

#### Comprobación del estado de autenticación

```bash copy
gh auth status
```

Si ve un mensaje que indica que no ha iniciado sesión, inicie sesión con `gh auth login` o use el flujo de OAuth con `copilot login`.

#### Comprobación de si se ha establecido una variable de entorno de autenticación

Si usa una variable de entorno, compruebe si se establece la `COPILOT_GITHUB_TOKEN`variable de entorno , `GH_TOKEN`o `GITHUB_TOKEN` :

```bash copy
echo $COPILOT_GITHUB_TOKEN
```

Si el comando no imprime nada, la variable no se establece. Establezca la variable en un token válido. Para generar un token, consulte [Autenticación de la CLI de GitHub Copilot](/es/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
```

#### Cadena de claves de macOS

```bash copy
security find-generic-password -s copilot-cli
```

Si no se encuentra ningún elemento, vuelva a autenticarse con `/login` o `copilot login` para crear uno.
Si se encuentra un elemento, pero todavía se produce un error en la autenticación, quite la credencial guardada y vuelva a autenticarse con `/login` o `copilot login`:

```bash copy
  security delete-generic-password -s copilot-cli
```

## Token expirado o revocado

Copilot CLI muestra el siguiente error:

<!-- 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 -->

### Causa

El token se revoca, ha expirado o se ha creado sin los permisos necesarios.

### Corregir

Revise el estado y los permisos del token en GitHub. El token debe ser fine-grained personal access token propiedad de su **cuenta personal** (no de una organización) con el permiso de **Copilot Solicitudes**. Genere un nuevo token con los permisos necesarios si es necesario.

## Token (classic) rechazado

Un token que comienza con `ghp_` se ignora silenciosamente y el CLI se comporta como si no se hubiera establecido ningún token.

### Causa

El clásico personal access tokens no es compatible con Copilot CLI.

### Corregir

Genere un personal access token específico con los ámbitos necesarios.

## Acceso denegado

Copilot CLI muestra uno de los siguientes errores:

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

### Causa

Una directiva de organización bloquea GitHub Copilot CLIo la cuenta de usuario carece de una GitHub Copilot licencia.

### Corregir

* Compruebe que su cuenta tiene una licencia activa GitHub Copilot .
* Pida al administrador de la organización que habilite GitHub Copilot CLI en la directiva de la organización.

## Error de acceso al llavero

Durante el inicio de sesión, la CLI le pide que la cadena de claves del sistema no esté disponible y le pregunte si debe almacenar las credenciales en texto no cifrado.

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

### Causa

No se puede acceder a la cadena de claves del sistema. Esto puede ocurrir en sistemas Linux sin `libsecret`, servidores sin encabezado o sistemas con problemas de permisos.

### Corregir

Siga los pasos para que su sistema operativo restaure el almacenamiento seguro de credenciales.

#### macOS o Windows

En macOS, confirme que la aplicación keychain Access está disponible y puede desbloquear la cadena de claves de inicio de sesión.
En Windows, confirme que el Administrador de credenciales está disponible y puede acceder a la Bóveda de Windows.
Si no puede acceder al administrador de credenciales del sistema, use almacenamiento de texto sin cifrar (si se le solicita) o autentique mediante un token de variable de entorno, luego ejecute nuevamente `/login` o `copilot login`.

#### Linux

En Linux, use el conjunto de claves del sistema o almacene las credenciales en texto no cifrado.

1. Compruebe si `secret-tool` está instalado:

   ```bash copy
   command -v secret-tool
   ```

2. Si `secret-tool` no se encuentra o el comando de búsqueda no devuelve ningún resultado, instale `libsecret` y sus dependencias. Por ejemplo, en Debian y Ubuntu podría usar el siguiente comando".

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

3. Una vez `secret-tool` instalado, busque el keyring para obtener una credencial guardada:

   ```bash copy
   secret-tool search copilot-cli
   ```

   Si el comando devuelve uno o varios resultados, existen credenciales en el conjunto de claves. Ejecute `copilot login` en la terminal o `/login` en Copilot CLI de nuevo.

## Cuenta incorrecta

El usuario incorrecto está autenticado o el token pertenece a la organización incorrecta.

### Causa

Se almacenan varias cuentas o una variable de entorno reemplaza el token almacenado.

### Corregir

Para cambiar de cuenta, use `/user switch` en la interfaz de línea de comandos (CLI) o cierre sesión con `/logout` y ejecute `/login` con la cuenta correcta.