> 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/reference-does-not-resolve.md).

# Una referencia de secreto no se resuelve

Corregir una referencia devo que Devolutions CLI no puede resolver, como una sintaxis no válida, un espacio de trabajo incorrecto, una entrada o un campo que no se encuentra, o un campo que el espacio

`devo secret run`, `devo secret read`, `devo secret inject` o un cliente de IA no puede convertir una referencia `devo://` en un valor. Con `devo secret run`, Devolutions CLI se detiene antes de que se inicie su programa, así que no se ejecuta nada con un secreto ausente.

## Por qué ocurre

* La referencia no está escrita correctamente (`invalidSecretReference`).
* La referencia apunta a otro espacio de trabajo que el contexto seleccionado.
* La bóveda, la entrada o el campo no existe, o su cuenta no puede leerlo.
* El tipo de espacio de trabajo no puede leer ese campo, ni esa forma de referencia.
* Una plantilla usa una variable que no está definida.

{% hint style="info" %}
Pruebe una referencia sin leer ningún secreto: `devo secret run --check --env-ref TEST=<reference> -- <your-command>` comprueba que el comando existe y que cada referencia está bien formada, sin leer ningún secreto ni iniciar el comando. Consulte [Ejecutar un comando con sus secretos](/cli/es/guias/secrets/run-with-secrets.md).
{% endhint %}

## Corríjalo

{% stepper %}
{% step %}

### Copie de nuevo la referencia

La mayoría de los problemas desaparecen cuando copia la referencia desde Devolutions CLI en lugar de escribirla:

```bash
devo entry references "<entry-name>" --vault-name "<vault-name>"
```

Enumera cada referencia de la entrada, nunca los valores. En Devolutions Server, la lista contiene referencias canónicas (`devo://ws/…/vault/…/entry/…/field/…`). Úselas tal como están. Consulte [Encontrar la referencia de un secreto](/cli/es/guias/secrets/find-a-reference.md).
{% endstep %}

{% step %}

### Corrija la sintaxis

`invalidSecretReference` viene con un mensaje que dice qué está mal:

<table><thead><tr><th width="330">MENSAJE</th><th>CORRECCIÓN</th></tr></thead><tbody><tr><td>"Secret reference must start with 'devo://'."</td><td>Añada el prefijo <code>devo://</code>.</td></tr><tr><td>"Use devo://&#x3C;workspace>/&#x3C;vault>/&#x3C;entry>/&#x3C;field> or devo://&#x3C;workspace>/&#x3C;vault>/&#x3C;entry>/&#x3C;section>/&#x3C;field>."</td><td>Una referencia con nombre tiene cuatro partes, o cinco con una sección. Compruebe si falta un <code>/</code> o si hay uno de más. Un nombre que contiene un <code>/</code> debe escribirse <code>%2F</code>.</td></tr><tr><td>"Secret reference path segments cannot be empty."</td><td>Quite el <code>//</code> doble dentro de la ruta.</td></tr><tr><td>"Canonical ID references must use devo://ws/&#x3C;id>/vault/&#x3C;id>/entry/&#x3C;id>/field/&#x3C;field>."</td><td>Conserve las palabras <code>ws</code>, <code>vault</code>, <code>entry</code> y <code>field</code> en ese orden, cada una seguida de su valor.</td></tr><tr><td>"Secret references do not support URI fragments."</td><td>Quite <code>#</code> y lo que le sigue.</td></tr></tbody></table>

`unsupportedSecretAttribute` significa que la parte `?attribute=` no es una de `value`, `type`, `id`, `title`, `purpose` u `otp`. También aparece cuando un comando necesita el valor del secreto, por ejemplo `devo secret run`, y la referencia pide otro atributo: en cada tipo de espacio de trabajo, un valor solo puede venir de `value`. Quite la parte `?attribute=`, o establézcala en `value`. Los atributos sin valor `type`, `id`, `title` y `purpose` funcionan con `devo secret read` y `devo secret get` en los tres tipos de espacio de trabajo. La sintaxis completa está en [Sintaxis de las referencias de secreto](/cli/es/referencia/secret-references.md).
{% endstep %}

{% step %}

### Use el contexto correcto

La primera parte de una referencia con nombre es el espacio de trabajo. En Devolutions Cloud y Devolutions Server, debe coincidir con el contexto seleccionado, o Devolutions CLI rechaza con `providerSelectionChanged`: "The secret reference workspace does not match the selected cloud source context."

1. Compruebe el contexto seleccionado:

   ```bash
   devo status
   ```
2. Ejecute el comando con el contexto al que pertenece la referencia:

   ```bash
   devo secret run --context <context-name> --env-ref DB_PASSWORD=<reference> -- <your-command>
   ```

Para hacer de ese contexto el predeterminado, use `devo context use <context-name>`. Consulte [Cambiar entre espacios de trabajo](/cli/es/guias/connect/switch-workspaces.md).
{% endstep %}

{% step %}

### Compruebe que la entrada y el campo existen

* `entryNotFound` o `vaultNotFound`: el nombre no coincide con nada que su cuenta pueda ver. Compruebe la ortografía con `devo entry list "<entry-name>" --vault-name "<vault-name>"`. Una entrada renombrada rompe una referencia con nombre: pase a la referencia canónica, que usa identificadores y sobrevive a los cambios de nombre.
* `entrySelectorAmbiguous`: varias entradas comparten ese nombre. Use la referencia canónica.
* `serverSecretNotFound`: Devolutions Server no encontró el campo, o esta cuenta no tiene permiso para leerlo.
* `cloudSecretFieldUnavailable`: Devolutions Cloud no puede devolver ese campo para esta entrada. Compruebe que el campo está rellenado.
  {% endstep %}

{% step %}

### Use un campo que el espacio de trabajo pueda leer

Cada tipo de espacio de trabajo lee campos distintos. `devo secret capabilities` los enumera sin leer ningún secreto.

* **Devolutions Cloud** lee los campos principales de una entrada, como `password`, `username`, `domain`, `host`, `port`, `url` y `privatekey`, sin sección. Una referencia con una sección se detiene con `unsupportedSecretField`.
* **Devolutions Server** lee una propiedad de datos de la entrada, como `password` o `username`, sin una sección.
* `--stdin-reference` de `devo secret run` toma una sola referencia `devo://` exacta, con nombre o canónica. Cualquier otra cosa se detiene con `invalidSecretStdinReference`.
  {% endstep %}

{% step %}

### Defina las variables que usa la referencia

En una plantilla rellenada por `devo secret inject`, una referencia puede contener variables de entorno, como `devo://${WORKSPACE}/…`, con un valor predeterminado opcional: `${WORKSPACE:-<default>}`. `missingSecretReferenceVariable` significa que una variable no está definida y no tiene un valor predeterminado: "Environment variable '\<name>' is required by the secret reference." Defínala en el terminal o en la canalización que ejecuta el comando. Un `${` sin su `}` de cierre también se rechaza. Consulte [Rellenar un archivo de configuración desde una plantilla](/cli/es/guias/secrets/fill-a-template.md).
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
`devo secret run` rechaza una referencia escrita como argumento de su comando (`secretLaunchArgumentReference`). Pásela con `--env-ref`, `--stdin-reference` o un manifiesto de inicio.
{% endhint %}

## ¿Sigue fallando?

Asegúrese de haber iniciado sesión: una sesión caducada también detiene la resolución. Consulte [El inicio de sesión falla o la sesión ha caducado](/cli/es/ayuda/troubleshooting/sign-in-fails.md). Después [recopile diagnósticos](/cli/es/ayuda/troubleshooting/collect-diagnostics.md) y contacte con el [soporte de Devolutions](https://devolutions.net/support/). Envíe la referencia si lo desea, no contiene ningún secreto, pero nunca el valor.


---

# 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/reference-does-not-resolve.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.
