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

# Un riferimento al segreto non si risolve

Correggere un riferimento devo che Devolutions CLI non può risolvere, come una sintassi non valida, lo spazio di lavoro sbagliato, una voce o un campo non trovato, oppure un campo che lo spazio di lav

`devo secret run`, `devo secret read`, `devo secret inject` o un client IA non può trasformare un riferimento `devo://` in un valore. Con `devo secret run`, Devolutions CLI si ferma prima che il programma si avvii, quindi non viene eseguito nulla con un segreto mancante.

## Perché accade

* Il riferimento non è scritto correttamente (`invalidSecretReference`).
* Il riferimento punta a uno spazio di lavoro diverso dal contesto selezionato.
* La cassaforte, la voce o il campo non esiste, oppure il proprio account non può leggerlo.
* Il tipo di spazio di lavoro non può leggere quel campo, né quella forma di riferimento.
* Un modello usa una variabile che non è impostata.

{% hint style="info" %}
Provi un riferimento senza leggere alcun segreto: `devo secret run --check --env-ref TEST=<reference> -- <your-command>` verifica che il comando esista e che ogni riferimento sia ben formato, senza leggere alcun segreto né avviare il comando. Consulti [Eseguire un comando con i suoi segreti](/cli/it/guide/secrets/run-with-secrets.md).
{% endhint %}

## Lo corregga

{% stepper %}
{% step %}

### Copi di nuovo il riferimento

La maggior parte dei problemi scompare quando copia il riferimento da Devolutions CLI invece di digitarlo:

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

Elenca ogni riferimento della voce, mai i valori. Su Devolutions Server l’elenco contiene riferimenti canonici (`devo://ws/…/vault/…/entry/…/field/…`). Li usi così come sono. Consulti [Trovare il riferimento a un segreto](/cli/it/guide/secrets/find-a-reference.md).
{% endstep %}

{% step %}

### Corregga la sintassi

`invalidSecretReference` arriva con un messaggio che dice che cosa non va:

<table><thead><tr><th width="330">MESSAGGIO</th><th>CORREZIONE</th></tr></thead><tbody><tr><td>"Secret reference must start with 'devo://'."</td><td>Aggiunga il prefisso <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>Un riferimento con nome ha quattro parti, o cinque con una sezione. Controlli se manca un <code>/</code> o se ce n’è uno di troppo. Un nome che contiene un <code>/</code> deve essere scritto <code>%2F</code>.</td></tr><tr><td>"Secret reference path segments cannot be empty."</td><td>Rimuova il doppio <code>//</code> all’interno del percorso.</td></tr><tr><td>"Canonical ID references must use devo://ws/&#x3C;id>/vault/&#x3C;id>/entry/&#x3C;id>/field/&#x3C;field>."</td><td>Mantenga le parole <code>ws</code>, <code>vault</code>, <code>entry</code> e <code>field</code> in quest’ordine, ciascuna seguita dal suo valore.</td></tr><tr><td>"Secret references do not support URI fragments."</td><td>Rimuova <code>#</code> e ciò che lo segue.</td></tr></tbody></table>

`unsupportedSecretAttribute` significa che la parte `?attribute=` non è una tra `value`, `type`, `id`, `title`, `purpose` o `otp`. Compare anche quando un comando ha bisogno del valore del segreto, per esempio `devo secret run`, e il riferimento chiede un altro attributo: su ogni tipo di spazio di lavoro, un valore può provenire solo da `value`. Rimuova la parte `?attribute=`, oppure la imposti su `value`. Gli attributi senza valore `type`, `id`, `title` e `purpose` funzionano con `devo secret read` e `devo secret get` su tutti e tre i tipi di spazio di lavoro. La sintassi completa è in [Sintassi dei riferimenti al segreto](/cli/it/riferimento/secret-references.md).
{% endstep %}

{% step %}

### Usi il contesto giusto

La prima parte di un riferimento con nome è lo spazio di lavoro. Su Devolutions Cloud e Devolutions Server deve corrispondere al contesto selezionato, altrimenti Devolutions CLI rifiuta con `providerSelectionChanged`: "The secret reference workspace does not match the selected cloud source context."

1. Verifichi il contesto selezionato:

   ```bash
   devo status
   ```
2. Esegua il comando con il contesto a cui appartiene il riferimento:

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

Per rendere quel contesto quello predefinito, usi `devo context use <context-name>`. Consulti [Passare da uno spazio di lavoro all’altro](/cli/it/guide/connect/switch-workspaces.md).
{% endstep %}

{% step %}

### Verifichi che la voce e il campo esistano

* `entryNotFound` o `vaultNotFound`: il nome non corrisponde a nulla che l’account possa vedere. Controlli l’ortografia con `devo entry list "<entry-name>" --vault-name "<vault-name>"`. Una voce rinominata rompe un riferimento con nome: passi al riferimento canonico, che usa gli ID e sopravvive alle rinomine.
* `entrySelectorAmbiguous`: più voci condividono quel nome. Usi il riferimento canonico.
* `serverSecretNotFound`: Devolutions Server non ha trovato il campo, oppure questo account non è autorizzato a leggerlo.
* `cloudSecretFieldUnavailable`: Devolutions Cloud non può restituire quel campo per questa voce. Controlli che il campo sia compilato.
  {% endstep %}

{% step %}

### Usi un campo che lo spazio di lavoro può leggere

Ogni tipo di spazio di lavoro legge campi diversi. `devo secret capabilities` li elenca senza leggere alcun segreto.

* **Devolutions Cloud** legge i campi principali di una voce, come `password`, `username`, `domain`, `host`, `port`, `url` e `privatekey`, senza sezione. Un riferimento con una sezione si ferma con `unsupportedSecretField`.
* **Devolutions Server** legge una proprietà dati della voce, come `password` o `username`, senza una sezione.
* `--stdin-reference` di `devo secret run` prende un solo riferimento `devo://` esatto, con nome o canonico. Qualsiasi altra cosa si ferma con `invalidSecretStdinReference`.
  {% endstep %}

{% step %}

### Imposti le variabili che il riferimento usa

In un modello compilato da `devo secret inject`, un riferimento può contenere variabili d’ambiente, come `devo://${WORKSPACE}/…`, con un valore predefinito facoltativo: `${WORKSPACE:-<default>}`. `missingSecretReferenceVariable` significa che una variabile non è impostata e non ha un valore predefinito: "Environment variable '\<name>' is required by the secret reference." La imposti nel terminale o nella pipeline che esegue il comando. Un `${` senza la `}` di chiusura viene rifiutato anch’esso. Consulti [Compilare un file di configurazione da un modello](/cli/it/guide/secrets/fill-a-template.md).
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
`devo secret run` rifiuta un riferimento scritto come argomento del comando (`secretLaunchArgumentReference`). Lo passi invece con `--env-ref`, `--stdin-reference` o un manifesto di avvio.
{% endhint %}

## Non riesce ancora?

Si assicuri di aver effettuato l’accesso: anche una sessione scaduta interrompe la risoluzione. Consulti [L’accesso non riesce o la sessione è scaduta](/cli/it/aiuto/troubleshooting/sign-in-fails.md). Poi [raccolga la diagnostica](/cli/it/aiuto/troubleshooting/collect-diagnostics.md) e contatti il [supporto Devolutions](https://devolutions.net/support/). Invii il riferimento se vuole, non contiene alcun segreto, ma mai il valore.


---

# 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/it/aiuto/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.
