> 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/referencia/exit-codes-and-errors.md).

# Códigos de salida y errores

Códigos de salida de Devolutions CLI, cómo se informan los errores en la salida de texto y JSON, y los códigos de error más habituales con qué hacer.

Cada comando `devo` devuelve un código de salida, para que un script distinga el éxito del fallo. Cuando un comando falla, también informa de un código de error, un identificador corto como `invalidSecretReference`, y un mensaje.

## Códigos de salida

<table><thead><tr><th width="120">CÓDIGO</th><th>SIGNIFICADO</th></tr></thead><tbody><tr><td><code>0</code></td><td>El comando se realizó correctamente.</td></tr><tr><td><code>1</code></td><td>El comando falló, por ejemplo porque el espacio de trabajo rechazó la operación o no la admite.</td></tr><tr><td><code>2</code></td><td>La línea de comandos no es válida, y no se hizo nada: comando u opción desconocidos, valor ausente o no válido, opciones que no se pueden combinar, o un cambio sin <code>--yes</code>.</td></tr><tr><td><code>3</code></td><td>No se pudo alcanzar el proceso en segundo plano, o no respondió a tiempo, o informó un error. Un perfil local que no puede ejecutar un comando de bóveda o de entrada, por ejemplo un cambio de bóveda (<code>sqliteVaultLifecycleUnavailable</code>), también termina con <code>3</code>. Consulte <a href="/cli/es/ayuda/troubleshooting/daemon-wont-start.md">El proceso en segundo plano no se inicia</a>.</td></tr><tr><td><code>4</code></td><td>No se encontró un elemento que pidió, como un espacio de trabajo, una bóveda, una entrada, un usuario o un grupo, o un campo con <code>devo secret read</code> y <code>devo secret get</code>. Algunos comandos informan un elemento ausente con <code>1</code> en su lugar: por ejemplo, <code>devo secret get</code> en un perfil local devuelve <code>sqliteSecretNotFound</code> con <code>1</code>. La página <a href="/cli/es/referencia/error-codes.md">Códigos de error</a> da el código de salida de cada error.</td></tr><tr><td><code>124</code></td><td>Solo <code>devo secret run</code>: el comando superó <code>--timeout-seconds</code> y se detuvo.</td></tr><tr><td><code>130</code></td><td>El comando se interrumpió, por ejemplo con <kbd>Ctrl</kbd>+<kbd>C</kbd>. Con <code>devo secret run</code>, el comando que había iniciado se canceló.</td></tr></tbody></table>

### `devo secret run`

Cuando el comando que inicia llega hasta el final, `devo secret run` termina con **el código de salida de ese comando**, así que sus scripts y canalizaciones ven el mismo resultado que si hubieran ejecutado el comando directamente. Los códigos de salida `124` y `130` solo se aplican cuando el comando se detiene. Si `devo secret run` no puede escribir el archivo indicado con `--receipt-file`, termina con `1`.

Antes de que el comando empiece, un `--env-file` no válido o una referencia que necesita una variable de entorno ausente termina con `2`; otro fallo al leer un secreto termina con `1`.

## Cómo se notifican los errores

* **Salida de texto** (el valor predeterminado): el error se escribe como `<code>: <message>`, normalmente en la salida de error. Los errores de los comandos que solo funcionan con Devolutions Cloud o Devolutions Server, como la mayoría de los comandos `devo admin`, van a la salida estándar. Si la línea de comandos no es válida, sigue la ayuda del comando.
* **Salida JSON o YAML**: el error va a la salida estándar, en el mismo sobre que un resultado, con `status` establecido en `error` y una lista `errors`. Cada error tiene un `code` y un `message`. Una línea de comandos no válida devuelve el código `usageError`, y `usageSuggestion` cuando Devolutions CLI tiene una corrección que sugerir. Consulte [Leer los resultados como JSON](/cli/es/para-devops-y-administradores/automate/json-output.md).
* **`devo secret run`**: sea cual sea el formato de salida, los errores que ocurren mientras lee los secretos o ejecuta el comando (tiempo límite, cancelación, entrada estándar) se escriben como texto `<code>: <message>` sin formato en la salida de error.

## Códigos de error habituales

La tabla siguiente enumera los códigos de error que encontrará con más frecuencia. Para cada código de error, consulte [Códigos de error](/cli/es/referencia/error-codes.md).

<table><thead><tr><th width="270">CÓDIGO DE ERROR</th><th>QUÉ SIGNIFICA</th><th>QUÉ HACER</th></tr></thead><tbody><tr><td><code>usageError</code></td><td>Comando u opción desconocidos, o argumento ausente.</td><td>Compruebe la ortografía con <code>devo &#x3C;command> --help</code>. Consulte <a href="/cli/es/referencia/commands.md">Comandos</a>.</td></tr><tr><td><code>conflictingOptions</code></td><td>Dos opciones que no se pueden usar juntas, como <code>--json</code> y <code>--yaml</code>, o <code>--quiet</code> y <code>--verbose</code>.</td><td>Conserve uno. Consulte <a href="/cli/es/referencia/global-options.md#options-that-cant-be-combined">Opciones globales</a>.</td></tr><tr><td><code>missingParameter</code>, <code>invalidParameterValue</code></td><td>Falta un valor obligatorio, o un valor no está permitido.</td><td>Lea el mensaje: nombra la opción. Compruebe los valores permitidos con <code>--help</code>.</td></tr><tr><td><code>invalidSource</code></td><td>El valor <code>--source</code> no es válido.</td><td>Use <code>sqlite</code>, <code>cloud[:&#x3C;context>]</code> o <code>server[:&#x3C;context>]</code>.</td></tr><tr><td><code>confirmationRequired</code>, <code>mutationConfirmationRequired</code></td><td>El comando cambia o elimina algo y no se confirmó.</td><td>Añada <code>--yes</code> cuando esté seguro.</td></tr><tr><td><code>rawSensitiveValueRejected</code></td><td>Se pasó un secreto de una forma que podría exponerlo, como una contraseña como valor de campo en texto sin formato.</td><td>Use <code>devo secret set</code> con <code>--value-env</code> o <code>--value-file</code>. Consulte <a href="/cli/es/guias/secrets/update-a-secret.md">Actualizar un secreto desde un script</a>.</td></tr><tr><td><code>invalidSecretReference</code></td><td>La referencia no está escrita correctamente.</td><td>Consulte los mensajes en <a href="/cli/es/referencia/secret-references.md#rules-and-errors">Sintaxis de las referencias de secreto</a>.</td></tr><tr><td><code>unsupportedSecretAttribute</code></td><td>El valor <code>?attribute=</code> no se conoce.</td><td>Use <code>value</code>, <code>type</code>, <code>id</code>, <code>title</code> o <code>purpose</code>. <code>otp</code> se acepta en una referencia, pero ningún tipo de espacio de trabajo devuelve un valor para él. Consulte <a href="/cli/es/referencia/secret-references.md#attributes">Atributos</a>.</td></tr><tr><td><code>missingSecretReferenceVariable</code></td><td>Una referencia en una plantilla usa una variable de entorno que no está definida.</td><td>Defina la variable, o dele un valor predeterminado con <code>${NAME:-default}</code>. Consulte <a href="/cli/es/referencia/secret-references.md#references-inside-a-text">Referencias dentro de un texto</a>.</td></tr><tr><td><code>secretLaunchArgumentReference</code></td><td>Se escribió una referencia <code>devo://</code> como argumento del comando que se va a ejecutar.</td><td>Pásela con <code>--env-ref</code>, <code>--stdin-reference</code> o <code>--manifest</code>. Consulte <a href="/cli/es/guias/secrets/run-with-secrets.md">Ejecutar un comando con sus secretos</a>.</td></tr><tr><td><code>secretLaunchTimedOut</code></td><td>El comando iniciado por <code>devo secret run</code> superó <code>--timeout-seconds</code>.</td><td>Aumente el tiempo de espera, o averigüe por qué el comando tarda tanto.</td></tr><tr><td><code>secretLaunchCancelled</code>, <code>interrupted</code></td><td>El comando se interrumpió.</td><td>Ejecútelo de nuevo.</td></tr><tr><td><code>operationNotSupportedBySource</code></td><td>El tipo de espacio de trabajo seleccionado no puede ejecutar este comando.</td><td>Seleccione otro espacio de trabajo con <code>--context</code>. Consulte <a href="/cli/es/ayuda/troubleshooting/not-supported.md">Un comando dice que el espacio de trabajo no lo admite</a>.</td></tr><tr><td><code>cloudContextNotFound</code></td><td>No hay ningún contexto de Devolutions Cloud con ese nombre, o no hay ninguno actual.</td><td>Compruebe <code>devo context list</code>, o inicie sesión con <code>devo login</code>. Consulte <a href="/cli/es/ayuda/troubleshooting/sign-in-fails.md">El inicio de sesión falla o la sesión ha caducado</a>.</td></tr><tr><td><code>daemonUnavailable</code>, <code>daemonTimeout</code>, <code>daemonIoError</code></td><td>No se pudo alcanzar el proceso en segundo plano, no respondió a tiempo o la conexión se interrumpió.</td><td>Ejecute <code>devo daemon status</code>, luego <code>devo daemon restart</code>. Consulte <a href="/cli/es/ayuda/troubleshooting/daemon-wont-start.md">El proceso en segundo plano no se inicia</a>.</td></tr><tr><td><code>unexpectedError</code></td><td>Un error que Devolutions CLI no esperaba.</td><td>Ejecute <code>devo doctor</code> y contacte con el soporte. Consulte <a href="/cli/es/ayuda/troubleshooting/collect-diagnostics.md">Recopilar diagnósticos para el soporte</a>.</td></tr></tbody></table>


---

# 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/referencia/exit-codes-and-errors.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.
