> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/cli/es/ayuda/troubleshooting/sign-in-fails.md).

# El inicio de sesión falla o la sesión ha caducado

Corregir los errores de inicio de sesión de Devolutions CLI y las sesiones caducadas para Devolutions Cloud y Devolutions Server, a partir del código de error que muestra el comando.

`devo login` se detiene con un error, o un comando que antes funcionaba dice ahora que debe iniciar sesión. El código de error al inicio del mensaje indica en qué caso está.

## Por qué ocurre

* No hay ningún contexto seleccionado, o el contexto seleccionado no tiene información de inicio de sesión.
* La sesión del navegador ha caducado y no se puede renovar.
* La variable de entorno o el archivo que contiene su secreto de aplicación, su clave de API o su contraseña no está disponible.
* La clave, el secreto o la contraseña es incorrecto.
* El método de inicio de sesión no se adapta al ordenador, por ejemplo un inicio de sesión en el navegador en un ordenador sin navegador.
* Devolutions Cloud o Devolutions Server no respondió a tiempo.

## Compruebe en qué punto está

Antes de cambiar nada, vea lo que Devolutions CLI sabe del contexto actual:

```bash
devo status
```

Muestra el contexto, su tipo y, para Devolutions Cloud o Devolutions Server, si hay información de inicio de sesión almacenada. No contacta con el espacio de trabajo. Para probar de verdad el inicio de sesión, añada `--online`:

```bash
devo status --online
```

Para comprobar otro contexto, añada su nombre: `devo status <context-name>`.

## Corríjalo

{% stepper %}
{% step %}

### Seleccione el contexto correcto

<table><thead><tr><th width="300">CÓDIGO DE ERROR</th><th>QUÉ HACER</th></tr></thead><tbody><tr><td><code>contextNotFound</code></td><td>No hay ningún contexto actual, o ningún contexto con ese nombre. Ejecute <code>devo context list</code>, luego <code>devo context use &#x3C;context-name></code>, o inicie sesión con <code>devo login</code>.</td></tr><tr><td><code>cloudAuthenticationRequired</code><br><code>serverAuthenticationRequired</code></td><td>El contexto no tiene información de inicio de sesión, por ejemplo después de <code>devo logout</code>. Vuelva a iniciar sesión con <code>devo login</code>.</td></tr><tr><td><code>contextAmbiguous</code></td><td>Dos contextos de tipos distintos comparten el nombre. Elimine uno con <code>devo context delete &#x3C;context-name> --kind &#x3C;kind></code>.</td></tr></tbody></table>

Consulte [Cambiar entre espacios de trabajo](/cli/es/guias/connect/switch-workspaces.md).
{% endstep %}

{% step %}

### Volver a iniciar sesión cuando la sesión ha caducado

Un inicio de sesión en el navegador (`--oauth`) da a Devolutions CLI una sesión que renueva por sí mismo. Cuando eso ya no es posible, ve uno de estos códigos:

* `cloudOAuthSessionExpired`, `cloudOAuthRefreshFailed`
* `serverOAuthSessionInvalid`, `serverOAuthRefreshFailed`

Cierre la sesión y vuelva a iniciarla con el mismo nombre de contexto. El contexto se actualiza, y sus scripts y referencias siguen funcionando:

```bash
devo logout <context-name>
devo login <context-name> --cloud https://<your-organization>.devolutions.app --oauth
```

Para Devolutions Server, use `--server https://<your-server-address>` en lugar de `--cloud`.

`cloudOAuthRefreshBusy` o `serverOAuthRefreshBusy` significa que otro comando `devo` estaba renovando la misma sesión durante más de 60 segundos. Espere a que termine y vuelva a ejecutar su comando.
{% endstep %}

{% step %}

### Volver a hacer disponible el secreto

Cuando inicia sesión con una clave de aplicación (Devolutions Cloud), una clave de API o una contraseña (Devolutions Server), el contexto recuerda **dónde** está el secreto, la variable de entorno o el archivo que nombró, no el secreto mismo. Devolutions CLI lo vuelve a leer cada vez que lo necesita.

`secretReferenceUnavailable` significa que esa variable no está definida, o que ese archivo no se puede leer, en el momento del comando. Defina la variable en el terminal, el script o la canalización que ejecuta el comando, o restaure el archivo.

El proceso en segundo plano lee la variable de su propio entorno, así que después de definirla, reinicie el proceso desde ese mismo terminal:

```bash
devo daemon restart --wait
```

Consulte [Iniciar sesión desde una canalización de CI](/cli/es/para-devops-y-administradores/automate/ci-sign-in.md).
{% endstep %}

{% step %}

### Compruebe las credenciales

<table><thead><tr><th width="300">CÓDIGO DE ERROR</th><th>QUÉ HACER</th></tr></thead><tbody><tr><td><code>cloudAuthenticationFailed</code></td><td>La clave de aplicación o el secreto de aplicación es incorrecto, o la aplicación fue denegada. Compruebe ambos en Devolutions Cloud y vuelva a iniciar sesión.</td></tr><tr><td><code>serverAuthenticationFailed</code></td><td>Devolutions Server rechazó la clave de API, el nombre de usuario o la contraseña. Compruébelos, y el dominio si usa <code>--domain-id</code>, y vuelva a iniciar sesión.</td></tr><tr><td><code>invalidParameterValue</code> durante <code>devo login</code></td><td>Las opciones no encajan, por ejemplo opciones de Devolutions Server con <code>--cloud</code>, o un nombre de contexto que ya usa otro tipo de contexto. El mensaje nombra el problema.</td></tr></tbody></table>
{% endstep %}

{% step %}

### Elija un método de inicio de sesión adecuado para el ordenador

<table><thead><tr><th width="300">CÓDIGO DE ERROR</th><th>QUÉ HACER</th></tr></thead><tbody><tr><td><code>cloudOAuthLoopbackUnsupported</code><br><code>serverOAuthLoopbackUnsupported</code></td><td>El inicio de sesión del navegador no se ofrece. En Devolutions Server, añada <code>--use-device-code</code> a <code>devo login</code> y siga las instrucciones del terminal. En Devolutions Cloud, inicie sesión con una clave de aplicación.</td></tr><tr><td><code>cloudOAuthLoopbackUnavailable</code><br><code>serverOAuthLoopbackUnavailable</code></td><td>Devolutions CLI no pudo iniciar el agente de escucha local que recibe la respuesta del navegador. Vuelva a intentarlo. En Devolutions Server también puede usar <code>--use-device-code</code>; en Devolutions Cloud, una clave de aplicación.</td></tr><tr><td><code>cloudOAuthAuthorizationExpired</code><br><code>serverOAuthAuthorizationExpired</code></td><td>No terminó el inicio de sesión en el navegador a tiempo. Ejecute <code>devo login</code> de nuevo.</td></tr><tr><td><code>cloudOAuthAccountKeyMissing</code></td><td>Esta sesión de Devolutions Cloud no puede abrir los datos de la bóveda. Ocurre con una sesión de <code>--use-device-code</code>. Vuelva a iniciar sesión con el flujo del navegador, <code>--oauth</code> sin <code>--use-device-code</code>, o con una clave de aplicación.</td></tr><tr><td><code>windowsAuthenticationUnsupported</code></td><td><code>--windows-auth</code> funciona solo en Windows. Use otro método de inicio de sesión en macOS y Linux.</td></tr></tbody></table>

Consulte [Iniciar sesión en Devolutions Cloud](/cli/es/guias/connect/devolutions-cloud.md) y [Iniciar sesión en Devolutions Server](/cli/es/guias/connect/devolutions-server.md).
{% endstep %}

{% step %}

### Dé más tiempo al espacio de trabajo

`cloudRequestTimeout` o `serverRequestTimeout` significa que Devolutions Cloud o Devolutions Server no respondió a tiempo. Compruebe que puede alcanzar la dirección desde este ordenador, por ejemplo a través de una VPN o un proxy. Si el espacio de trabajo simplemente es lento, aumente el límite de tiempo de `devo login` con `--timeout`, en segundos, de 3 a 600. El valor predeterminado es 15.

```bash
devo login <context-name> --server https://<your-server-address> --oauth --timeout 60
```

{% endstep %}
{% endstepper %}

{% hint style="info" %}
`devo logout` borra el inicio de sesión guardado de un contexto, pero conserva el contexto. Para quitar también el contexto, use `devo context delete <context-name> --yes`.
{% endhint %}

## ¿Sigue fallando?

Vuelva a ejecutar el comando con `--verbose`, después [recopile los diagnósticos](/cli/es/ayuda/troubleshooting/collect-diagnostics.md) y contacte con el [soporte de Devolutions](https://devolutions.net/support/). No envíe nunca su clave, su secreto o su contraseña.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/cli/es/ayuda/troubleshooting/sign-in-fails.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
