> 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/reference/error-codes.md).

# Error codes

Every error code Devolutions CLI can report, grouped by area, with its exit code, what it means, and what to do.

When a command fails, Devolutions CLI reports an error code, a short identifier such as `invalidSecretReference`, with a message:

* In text output, the error is written as `<code>: <message>`.
* In JSON or YAML output, each error is in the `errors` list, with its code in `errors[].code` and its message in `errors[].message`.

The exit code tells a script whether the command failed and why. See [Exit codes and errors](/cli/reference/exit-codes-and-errors.md) for the meaning of each exit code and where errors are written.

The codes below are grouped by area, and listed alphabetically within each area. The same code can exit with a different exit code depending on the command: the table says so when it applies. Always read the message too: it usually names the option, value, or item at fault.

## Command line and confirmation

Errors in how the command was typed, or a change that needs confirmation. Nothing was changed.

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>confirmationRequired</code></td><td>2</td><td>The command changes or deletes something and wasn't confirmed. Produced by most commands that change something, for example <code>devo vault create</code>, <code>devo context delete</code> on a sign-in context, <code>devo config export</code>, <code>devo config unlock</code>, <code>devo daemon profile start</code>, and the <code>devo admin</code> commands that change settings. MCP tools that change something return it too when the confirmation argument isn't set.</td><td>Add <code>--yes</code> once you're sure. With an MCP tool, set its confirmation argument.</td></tr><tr><td><code>missingParameter</code></td><td>2</td><td>A value the command needs is missing, for example a name, a user name with credential sign-in, a vault for a new entry, or a file to attach. Many commands produce it.</td><td>Read the message: it names what's missing. Add it and run the command again. Check the options with <code>devo &#x3C;command> --help</code>.</td></tr><tr><td><code>invalidParameterValue</code></td><td>2</td><td>A value given to an option or argument isn't allowed, for example a date filter, a <code>true</code>/<code>false</code> option, a host port that isn't a number, or a field that the command can't change. Many commands produce it. Exception: with <code>devo secret read</code> and <code>devo secret get</code>, an <code>--out-file</code> that points to a folder exits with <code>1</code>.</td><td>Read the message: it names the option and the allowed values. Check them with <code>devo &#x3C;command> --help</code>. See <a href="/cli/reference/commands.md">Commands</a>.</td></tr><tr><td><code>usageError</code></td><td>2</td><td>The command line is invalid: unknown command or option, missing argument, or a value the option doesn't accept. Nothing was done. In text output, Devolutions CLI writes the problem and the help of the command instead of this code; the code appears in JSON and YAML output.</td><td>Check the spelling with <code>devo &#x3C;command> --help</code>. See <a href="/cli/reference/commands.md">Commands</a>.</td></tr><tr><td><code>conflictingOptions</code></td><td>2</td><td>Two options that can't be used together were given, or more than one option was given where only one is allowed. Examples: <code>--json</code> and <code>--yaml</code>, <code>--quiet</code> and <code>--verbose</code>, <code>--password-env</code> and <code>--password-file</code>, <code>--position</code> and <code>--label</code>, <code>--user</code>, <code>--group</code>, and <code>--application</code>, <code>--cloud</code> and <code>--server</code>, a context name and a URL, or several sign-in modes with <code>devo login</code>. Also returned when a context with the same name already exists. MCP tools return it for conflicting arguments.</td><td>Read the message: it names the options. Keep one of them. To overwrite an existing context, use the option the message suggests. See <a href="/cli/reference/global-options.md#options-that-cant-be-combined">Global options</a>.</td></tr><tr><td><code>mutationConfirmationRequired</code></td><td>2</td><td>A change to Devolutions Cloud, Devolutions Server, or a local profile wasn't confirmed, for example creating or deleting a group, deleting a user, changing vault access, updating a user, or deleting a vault. Nothing was changed.</td><td>Add <code>--yes</code> once you're sure. An AI agent connected through <code>devo mcp</code> must set the confirmation explicitly.</td></tr><tr><td><code>invalidSource</code></td><td>2 or 1</td><td>The workspace type to use isn't valid. With an invalid <code>--source</code> value, the command stops before it starts and exits with <code>2</code>. With an invalid <code>DEVO_RDM_SOURCE</code> environment variable, the commands that select a workspace exit with <code>1</code>. <code>devo secretspec</code> also reports it, with exit code <code>2</code>.</td><td>Use <code>sqlite</code>, <code>cloud</code>, <code>cloud:&#x3C;context></code>, <code>server</code>, or <code>server:&#x3C;context></code>. Check <code>DEVO_RDM_SOURCE</code> if you didn't pass <code>--source</code>. See <a href="/cli/reference/global-options.md#workspace-selection">Global options</a> and <a href="/cli/reference/environment-variables.md">Environment variables</a>.</td></tr><tr><td><code>usageSuggestion</code></td><td>2</td><td>Not an error on its own: it comes with <code>usageError</code> in JSON and YAML output, and its message is a correction Devolutions CLI suggests, such as the command or option you probably meant.</td><td>Run the suggested command if it's what you meant.</td></tr></tbody></table>

## Sign-in and contexts

Errors when you sign in to Devolutions Cloud or Devolutions Server, select a context, or when a session expires. When the background process can't connect to the selected workspace, for example because the context is missing or its sign-in expired, the vault, entry, user, and group commands report the same code with a generic message asking to initialize the runtime. Their exit code is then `4` for a code that ends in `NotFound` and `3` for the others. See [Sign-in fails or the session expired](/cli/help/troubleshooting/sign-in-fails.md).

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>cloudAuthenticationFailed</code></td><td>1 or 3</td><td>Devolutions Cloud refused the sign-in of the context: the application key or application secret is invalid, the application was denied, or your account's key couldn't open the protected data of the organization. Exit code <code>1</code> with <code>devo login</code>, <code>devo admin</code>, and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Check the application key and secret, then sign in again with <code>devo login &#x3C;name> --cloud &#x3C;url></code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>cloudAuthenticationRequired</code></td><td>1 or 3</td><td>The Devolutions Cloud context has no usable sign-in: you didn't sign in, or the context has no application key. Exit code <code>1</code> with <code>devo admin</code> and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Sign in again with <code>devo login &#x3C;name> --cloud &#x3C;url></code>. See <a href="/cli/guides/connect/devolutions-cloud.md">Sign in to Devolutions Cloud</a>.</td></tr><tr><td><code>cloudContextNotFound</code></td><td>1 or 4</td><td>No Devolutions Cloud context has that name, or no Devolutions Cloud context is the current one. Exit code <code>1</code> with <code>devo admin</code> and <code>devo secret</code> commands, <code>4</code> with vault, entry, user, and group commands.</td><td>Check the name with <code>devo context list</code>, or sign in with <code>devo login &#x3C;name> --cloud &#x3C;url></code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>cloudHealthFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't get the health information of the Devolutions Cloud instance. It checks it with <code>devo info</code> and at each sign-in. The message may give the HTTP status returned. Exit code <code>1</code> with <code>devo info</code>, <code>devo login</code>, <code>devo admin</code>, and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Check the Devolutions Cloud URL of the context and your network connection. See <a href="/cli/for-devops-and-administrators/automate/network-and-proxy.md">Use Devolutions CLI behind a firewall or proxy</a>.</td></tr><tr><td><code>cloudLoginFailed</code></td><td>1 or 3</td><td>Devolutions Cloud refused the sign-in request. The message may give the HTTP status returned. Exit code <code>1</code> with <code>devo login</code>, <code>devo admin</code>, and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Check your credentials and sign in again with <code>devo login</code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>cloudOAuthAccountKeyMissing</code></td><td>1 or 3</td><td>The Devolutions Cloud session has no account key, so it can't open vault data. A sign-in with <code>--use-device-code</code> never gets one. Exit code <code>1</code> with <code>devo secret</code> commands, <code>3</code> with vault and entry commands.</td><td>Sign in again with <code>devo login &#x3C;name> --cloud &#x3C;url> --oauth</code>, without <code>--use-device-code</code>. See <a href="/cli/guides/connect/devolutions-cloud.md">Sign in to Devolutions Cloud</a>.</td></tr><tr><td><code>cloudOAuthAuthorizationExpired</code></td><td>1</td><td><code>devo login --oauth</code>: the sign-in wasn't completed in the browser or with the device code before it expired.</td><td>Run <code>devo login</code> again and complete the sign-in sooner.</td></tr><tr><td><code>cloudOAuthAuthorizationFailed</code></td><td>1</td><td><code>devo login --oauth</code>: Devolutions Account didn't authorize the session, for example because the sign-in was declined, or it couldn't start the device-code sign-in.</td><td>Run <code>devo login</code> again and accept the request. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>cloudOAuthDiscoveryFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't find the sign-in endpoints of Devolutions Account, while signing in with <code>--oauth</code> or while renewing the session. Exit code <code>1</code> with <code>devo login</code>, <code>devo admin</code>, and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Check your network connection and try again. See <a href="/cli/for-devops-and-administrators/automate/network-and-proxy.md">Use Devolutions CLI behind a firewall or proxy</a>.</td></tr><tr><td><code>cloudOAuthInvalidResponse</code></td><td>1 or 3</td><td>Devolutions Account returned an answer that Devolutions CLI couldn't read, while signing in with <code>--oauth</code> or while renewing the session. Exit code <code>1</code> with <code>devo login</code>, <code>devo admin</code>, and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Try again. If it persists, check whether a proxy changes the traffic, and contact support. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>cloudOAuthLoopbackUnavailable</code></td><td>1</td><td><code>devo login --oauth</code>: Devolutions CLI couldn't start the local listener that receives the browser redirect, for example because no local port in its range is free.</td><td>Close what uses those local ports and try again. <code>--use-device-code</code> avoids the redirect, but its session has no account key and can't open vault data.</td></tr><tr><td><code>cloudOAuthLoopbackUnsupported</code></td><td>1</td><td><code>devo login --oauth</code>: Devolutions Account doesn't offer the browser sign-in.</td><td>Add <code>--use-device-code</code>, as the message says. Its session has no account key and can't open vault data: to read secrets, sign in with an application key instead.</td></tr><tr><td><code>cloudOAuthRefreshBusy</code></td><td>1 or 3</td><td>Another <code>devo</code> process was still renewing the Devolutions Cloud session after 60 seconds. Exit code <code>1</code> with <code>devo admin</code> and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Wait for the other process to finish, then run the command again.</td></tr><tr><td><code>cloudOAuthRefreshFailed</code></td><td>1 or 3</td><td>The Devolutions Cloud session expired and couldn't be renewed. Exit code <code>1</code> with <code>devo admin</code> and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Sign in again with <code>devo login &#x3C;name> --cloud &#x3C;url> --oauth</code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>cloudOAuthSecureStoreRequired</code></td><td>1 or 3</td><td>Signing in to Devolutions Cloud with <code>--oauth</code> needs a secure store of the operating system, and none is available. Exit code <code>1</code> with <code>devo login</code>, <code>devo admin</code>, and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Make the secure store of the operating system available, or sign in with an application key instead. See <a href="/cli/guides/connect/devolutions-cloud.md">Sign in to Devolutions Cloud</a>.</td></tr><tr><td><code>cloudOAuthSessionExpired</code></td><td>1 or 3</td><td>The Devolutions Cloud session expired and can't be renewed. Exit code <code>1</code> with <code>devo admin</code> and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Sign in again with <code>devo login &#x3C;name> --cloud &#x3C;url> --oauth</code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>cloudOAuthSessionInvalid</code></td><td>1 or 3</td><td>The Devolutions Cloud session stored in the secure store of the operating system is invalid. Exit code <code>1</code> with <code>devo admin</code> and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Sign in again with <code>devo login &#x3C;name> --cloud &#x3C;url> --oauth</code>.</td></tr><tr><td><code>cloudOAuthSessionMissing</code></td><td>1 or 3</td><td>The Devolutions Cloud session of the context isn't in the secure store of the operating system anymore. Exit code <code>1</code> with <code>devo admin</code> and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Sign in again with <code>devo login &#x3C;name> --cloud &#x3C;url> --oauth</code>.</td></tr><tr><td><code>cloudOAuthStorageFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't read, store, or remove the Devolutions Cloud session in the secure store of the operating system. Exit code <code>1</code> with <code>devo login</code>, <code>devo logout</code>, <code>devo admin</code>, and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Check that the secure store of the operating system is unlocked and reachable, then try again. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>cloudOAuthUserInfoFailed</code></td><td>1</td><td><code>devo login --oauth</code>: Devolutions CLI couldn't fetch your Devolutions Account profile after the sign-in.</td><td>Run <code>devo login</code> again.</td></tr><tr><td><code>cloudPreLoginFailed</code></td><td>1 or 3</td><td>The first step of the sign-in to Devolutions Cloud failed. The message may give the HTTP status returned. Exit code <code>1</code> with <code>devo login</code>, <code>devo admin</code>, and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Check the Devolutions Cloud URL and your network connection, then try again. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>cloudRequestTimeout</code></td><td>1 or 3</td><td>Devolutions Cloud or Devolutions Account didn't answer in time. Exit code <code>1</code> with <code>devo login</code>, <code>devo info</code>, <code>devo admin</code>, and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Check your network connection and try again. The timeout of a context is set with <code>devo login --timeout</code>, from 3 to 600 seconds. See <a href="/cli/for-devops-and-administrators/automate/network-and-proxy.md">Use Devolutions CLI behind a firewall or proxy</a>.</td></tr><tr><td><code>cloudUnavailable</code></td><td>1 or 3</td><td>Devolutions CLI couldn't reach Devolutions Cloud or the Devolutions Account service. Exit code <code>1</code> with <code>devo login</code>, <code>devo info</code>, <code>devo admin</code>, and <code>devo secret</code> commands, <code>3</code> with vault, entry, user, and group commands.</td><td>Check the URL of the context, your network connection, and your proxy settings. See <a href="/cli/for-devops-and-administrators/automate/network-and-proxy.md">Use Devolutions CLI behind a firewall or proxy</a>.</td></tr><tr><td><code>contextAmbiguous</code></td><td>1</td><td>The context name exists for more than one workspace type, for example as a Devolutions Cloud context and as a local profile context, so Devolutions CLI can't tell which one you mean. Produced by <code>devo context use</code>, <code>inspect</code>, <code>delete</code>, and <code>devo logout</code>.</td><td>Delete one of them with <code>devo context delete &#x3C;name> --kind &#x3C;kind></code>, as the message shows, or pass <code>--kind</code>. See <a href="/cli/guides/connect/switch-workspaces.md">Switch between workspaces</a>.</td></tr><tr><td><code>contextKindMismatch</code></td><td>1</td><td>The selected context is the wrong type for this command: for example a local profile context given to a command that works only with Devolutions Cloud or Devolutions Server, or <code>devo logout</code> on a local profile context, which has no sign-in.</td><td>Select a context of the type the message names with <code>--context</code>. Check the types with <code>devo context list</code>. See <a href="/cli/guides/connect/switch-workspaces.md">Switch between workspaces</a>.</td></tr><tr><td><code>contextNotFound</code></td><td>1</td><td>No context has that name, no context name was given, or no current context is set. Produced by <code>devo context use</code>, <code>inspect</code>, <code>delete</code>, and <code>devo logout</code>. A name given with the global <code>--context</code> option that doesn't exist is reported as <code>unexpectedError</code> with the message "Context '&#x3C;name>' was not found."</td><td>Check the names with <code>devo context list</code>. Sign in again with <code>devo login</code> if the context was deleted. See <a href="/cli/guides/connect/switch-workspaces.md">Switch between workspaces</a>.</td></tr><tr><td><code>contextSelectionConflict</code></td><td>1 or 2</td><td>The context given as an argument and the one given with <code>--context</code> are different. Exits with <code>2</code> with <code>devo secret set</code> on Devolutions Server, and <code>1</code> with the commands that work only with Devolutions Cloud or Devolutions Server.</td><td>Give the context only once, or make both values name the same context.</td></tr><tr><td><code>secretReferenceUnavailable</code></td><td>Depends on the command</td><td>A sign-in secret saved in the context points at an environment variable that isn't set for the background process, or at a file it can't read. Usually <code>3</code>; <code>1</code> with <code>devo secret</code> commands.</td><td>Set the variable before the background process starts, then run <code>devo daemon restart</code>, or fix the file. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverAuthenticationFailed</code></td><td>1 or 3</td><td>Devolutions Server rejected the sign-in, or refused a request with an authorization error. With <code>devo login</code>, the username and password, the API key, or the OAuth session weren't accepted. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Check the credentials or the API key, then sign in again with <code>devo login &#x3C;name> --server &#x3C;url></code>. Check that the account still exists and is enabled. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverAuthenticationRequired</code></td><td>1 or 3</td><td>The selected Devolutions Server context has no stored sign-in, for example after <code>devo logout</code>. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Sign in with <code>devo login &#x3C;name> --server &#x3C;url></code>. See <a href="/cli/guides/connect/devolutions-server.md">Sign in to Devolutions Server</a>.</td></tr><tr><td><code>serverContextNotFound</code></td><td>1 or 4</td><td>No Devolutions Server context has that name, or no current Devolutions Server context is set. The exit code is 4 with the vault, entry, and user commands that run in the background process, and 1 with <code>devo logout</code>, <code>devo info --private</code>, <code>devo secret set</code>, and the <code>devo admin</code> commands of Devolutions Server.</td><td>Check the name with <code>devo context list</code>, or create the context with <code>devo login &#x3C;name> --server &#x3C;url></code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverInvalidResponse</code></td><td>1 or 3</td><td>Devolutions Server returned an answer that Devolutions CLI couldn't read, such as invalid JSON. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Check that the URL points at Devolutions Server and not at a proxy or a sign-in page, then try again. If it persists, run <code>devo doctor</code> and contact support. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>serverLogoutFailed</code></td><td>1</td><td><code>devo login</code> with a username and password: Devolutions Server accepted the credentials, but the session Devolutions CLI opened to check them couldn't be closed. The context isn't saved.</td><td>Run <code>devo login</code> again. If it persists, check the state of Devolutions Server.</td></tr><tr><td><code>serverOAuthAuthorizationExpired</code></td><td>1</td><td><code>devo login --oauth</code>: the browser or device code sign-in wasn't completed in time.</td><td>Run <code>devo login</code> again and finish the sign-in sooner. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverOAuthAuthorizationFailed</code></td><td>1</td><td><code>devo login --oauth</code>: Devolutions Server didn't authorize the session, couldn't start the device code sign-in, or refused to issue the session.</td><td>Run <code>devo login</code> again and approve the sign-in. Check that the account may sign in with OAuth on this Devolutions Server. See <a href="/cli/guides/connect/devolutions-server.md">Sign in to Devolutions Server</a>.</td></tr><tr><td><code>serverOAuthDiscoveryFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't find the OAuth sign-in addresses of Devolutions Server, at sign-in or when it renews the session. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Check the Devolutions Server URL and that OAuth sign-in is available on it. Otherwise, sign in with another method. See <a href="/cli/guides/connect/devolutions-server.md">Sign in to Devolutions Server</a>.</td></tr><tr><td><code>serverOAuthInvalidResponse</code></td><td>1 or 3</td><td>Devolutions Server returned an OAuth answer that Devolutions CLI couldn't use, at sign-in or when it renews the session. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Try again. Check that the URL points at Devolutions Server and not at a proxy. If it persists, sign in with another method and contact support.</td></tr><tr><td><code>serverOAuthLoopbackUnavailable</code></td><td>1</td><td><code>devo login --oauth</code>: Devolutions CLI couldn't start the local listener that receives the browser's answer.</td><td>Try again, or add <code>--use-device-code</code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverOAuthLoopbackUnsupported</code></td><td>1</td><td><code>devo login --oauth</code>: Devolutions Server doesn't offer the browser sign-in.</td><td>Add <code>--use-device-code</code> to <code>devo login</code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverOAuthRefreshBusy</code></td><td>1 or 3</td><td>Another <code>devo</code> process has been renewing the same Devolutions Server OAuth session for more than 60 seconds. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Wait for the other command to finish, then try again.</td></tr><tr><td><code>serverOAuthRefreshFailed</code></td><td>1 or 3</td><td>The Devolutions Server OAuth session expired and couldn't be renewed. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Sign in again with <code>devo login &#x3C;name> --server &#x3C;url> --oauth</code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverOAuthSecureStoreRequired</code></td><td>1 or 3</td><td>Devolutions Server OAuth sign-in needs the secure store of the operating system, and none is available on this computer. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Make the operating system's secure store available to your user account, or sign in with another method, such as an API key. See <a href="/cli/guides/connect/devolutions-server.md">Sign in to Devolutions Server</a>.</td></tr><tr><td><code>serverOAuthSessionInvalid</code></td><td>1 or 3</td><td>The stored Devolutions Server OAuth session is invalid or unreadable. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Sign in again with <code>devo login &#x3C;name> --server &#x3C;url> --oauth</code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverOAuthSessionMissing</code></td><td>1 or 3</td><td>The context uses OAuth, but no Devolutions Server OAuth session is stored for it on this computer. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Sign in again with <code>devo login &#x3C;name> --server &#x3C;url> --oauth</code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverOAuthStorageFailed</code></td><td>1 or 3</td><td>The Devolutions Server OAuth session couldn't be saved, read, or removed in the operating system's secure store, for example with <code>devo login</code> or <code>devo logout</code>. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Check that the secure store of your user account is unlocked and working, then try again.</td></tr><tr><td><code>serverPrivateInformationFailed</code></td><td>1</td><td><code>devo info --private</code>: Devolutions Server didn't return its private information.</td><td>Check that the context is signed in and that the account may see this information, then try again.</td></tr><tr><td><code>serverPublicInformationFailed</code></td><td>1 or 3</td><td>Devolutions Server didn't return its public information, which Devolutions CLI reads with <code>devo info</code>, at sign-in and before some requests. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Check the Devolutions Server URL and that the server is running, then try again.</td></tr><tr><td><code>serverRequestFailed</code></td><td>1 or 3</td><td>A request to Devolutions Server failed. The message gives the HTTP status that Devolutions Server returned, or the cause. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Read the message. Check the URL and that the item exists, then try again.</td></tr><tr><td><code>serverRequestTimeout</code></td><td>1 or 3</td><td>Devolutions Server didn't answer in time. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Check that you can reach the server from this computer, for example through a VPN or a proxy. If the server is slow, raise <code>--timeout</code> of <code>devo login</code>. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverUnavailable</code></td><td>1 or 3</td><td>Devolutions CLI couldn't reach Devolutions Server. The exit code is 3 with the vault, entry, and user commands that run in the background process, and 1 with the other commands.</td><td>Check the URL, the network, the VPN, or the proxy, and that the server is running. See <a href="/cli/for-devops-and-administrators/automate/network-and-proxy.md">Network and proxy</a>.</td></tr><tr><td><code>windowsAuthenticationUnsupported</code></td><td>1 or 3</td><td>The Devolutions Server context uses Windows authentication (<code>--windows-auth</code>), which works only on Windows, and the command runs on another operating system. <code>devo admin</code> commands exit with <code>1</code>; vault and entry commands exit with <code>3</code>.</td><td>Run the command on Windows, or sign in again with <code>devo login</code> using a user name and password or an application key. See <a href="/cli/guides/connect/devolutions-server.md">Sign in to Devolutions Server</a>.</td></tr></tbody></table>

## Secret references and reading secrets

Errors from `devo secret read`, `devo secret get`, and other commands that resolve a `devo://` reference. See [Secret reference syntax](/cli/reference/secret-references.md) and [A secret reference doesn't resolve](/cli/help/troubleshooting/reference-does-not-resolve.md).

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>cloudEncryptedEntryGetFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't retrieve a Devolutions Cloud entry to read one of its fields. The message may give the HTTP status returned. Exit code <code>1</code> with <code>devo secret</code> commands, <code>3</code> with entry commands.</td><td>Check that your account can access the entry, then try again. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>cloudEncryptedEntryUnavailable</code></td><td>1 or 3</td><td>The Devolutions Cloud entry holds no protected connection data, so it has no secret field to read. Exit code <code>1</code> with <code>devo secret</code> commands, <code>3</code> with entry commands.</td><td>Check that the reference points at the right entry. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>cloudEntryDecryptionFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't decrypt the Devolutions Cloud entry. Exit code <code>1</code> with <code>devo secret</code> commands, <code>3</code> with entry commands.</td><td>Sign in again with <code>devo login</code>, then try again. If it persists, contact support. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>cloudEntryKeyFailed</code></td><td>1</td><td>Devolutions CLI couldn't get the key needed to decrypt the requested field of a Devolutions Cloud entry.</td><td>Check that your account is allowed to view the secrets of the entry, then try again.</td></tr><tr><td><code>cloudEntryPasswordKeyFailed</code></td><td>1</td><td>Devolutions Cloud didn't return the key that protects the password of the entry. The message may give the HTTP status returned.</td><td>Check that your account is allowed to view the password of the entry, then try again.</td></tr><tr><td><code>cloudEntrySensitiveKeyFailed</code></td><td>1</td><td>Devolutions Cloud didn't return the key that protects the sensitive fields of the entry. The message may give the HTTP status returned.</td><td>Check that your account is allowed to view the secrets of the entry, then try again.</td></tr><tr><td><code>cloudSecretFieldNotSupported</code></td><td>1</td><td>Devolutions CLI can't read that field from a Devolutions Cloud entry.</td><td>Use a field the entry exposes: <code>devo entry references &#x3C;entry></code> lists them. See <a href="/cli/reference/secret-references.md">Secret reference syntax</a>.</td></tr><tr><td><code>cloudSecretFieldUnavailable</code></td><td>1</td><td>The Devolutions Cloud entry has no value for the requested field, even after following the credentials it's linked to.</td><td>Check the field name, or set a value on the entry. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>cloudSecretNotFound</code></td><td>1 or 4</td><td>Devolutions Cloud says the entry doesn't exist in that vault, or your account can't see it. Exit code <code>1</code> with <code>devo secret</code> commands, <code>4</code> with entry commands.</td><td>Check the vault and entry of the reference with <code>devo entry list</code>. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>cloudSecretResolutionFailed</code></td><td>1</td><td>Devolutions CLI couldn't read the requested field of a Devolutions Cloud entry, without a more precise reason.</td><td>Try again. If it persists, run <code>devo doctor</code> and contact support. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>cloudVaultSelectionRequired</code></td><td>1 or 3</td><td>No vault was given and no vault is the current one, so entries can't be read. This code is also returned for a Devolutions Server workspace. Exit code <code>1</code> with <code>devo secret</code> commands, <code>3</code> with entry commands.</td><td>Name the vault in the reference or with <code>--vault-name</code> or <code>--vault-id</code>, or set the current vault with <code>devo vault use &#x3C;vault></code>.</td></tr><tr><td><code>customFieldSelectorAmbiguous</code></td><td>1</td><td>Local profile: the custom field named in the reference matches more than one custom field of the entry. Produced when reading a secret, for example with <code>devo secret read</code> or <code>devo secret inject</code>.</td><td>Rename the custom fields in Devolutions Remote Desktop Manager so each name is unique, then read the field again. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>inputReadFailed</code></td><td>1</td><td><code>devo secret inject</code> couldn't read the file given with <code>--in-file</code>, for example because of permissions.</td><td>Check that the file exists and that you can read it. See <a href="/cli/guides/secrets/fill-a-template.md">Fill a configuration file from a template</a>.</td></tr><tr><td><code>invalidConnectionData</code></td><td>1</td><td>Local profile: the entry's stored data couldn't be read, so its secret can't be returned. The message says the entry contains unsupported connection data. Produced when reading a secret, for example with <code>devo secret read</code> or <code>devo secret inject</code>.</td><td>Open the entry in Devolutions Remote Desktop Manager to check it, or use another entry. If it persists, run <code>devo doctor</code> and contact support. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>invalidSecretReference</code></td><td>2 or 1</td><td>The <code>devo://</code> reference isn't written correctly; the message says what's wrong. With Devolutions Server, a named reference that leads to an entry without a vault and entry ID also gives this error. It can also mean that a sign-in secret saved in a context doesn't start with <code>env:</code> or <code>file:</code>. Exit code <code>2</code> with <code>devo secret read</code>, <code>devo secret get</code>, and <code>devo secret shell</code>; <code>1</code> with <code>devo secret inject</code> and <code>devo secret run --check</code>.</td><td>Fix the reference using the messages in <a href="/cli/reference/secret-references.md#rules-and-errors">Secret reference syntax</a>. To get a correct reference, run <code>devo entry references &#x3C;entry></code>. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md#fix-the-syntax">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>missingSecretReferenceVariable</code></td><td>1 or 2</td><td>A reference in a template or an environment file uses an environment variable that isn't set or is empty, or a <code>${…}</code> expression is invalid or isn't closed with <code>}</code>. Exit code <code>1</code> with <code>devo secret inject</code>; <code>2</code> with <code>devo secret run --env-file</code>.</td><td>Set the variable, or give it a default with <code>${NAME:-default}</code>. See <a href="/cli/reference/secret-references.md#references-inside-a-text">References inside a text</a> and <a href="/cli/help/troubleshooting/reference-does-not-resolve.md#set-the-variables-the-reference-uses">Set the variables the reference uses</a>.</td></tr><tr><td><code>outputWriteFailed</code></td><td>1</td><td>The file given with <code>--out-file</code> couldn't be written, for example because of permissions or because it's in use. Commands: <code>devo secret read</code>, <code>devo secret get</code>, <code>devo secret inject</code>.</td><td>Check that you can write to the folder and that no other program holds the file, then run the command again.</td></tr><tr><td><code>secretFieldNotFound</code></td><td>4 or 1</td><td>The entry exists, but it doesn't have the field the reference names. Exit code <code>4</code> with <code>devo secret read</code>, <code>devo secret get</code>, and <code>devo secret shell enter</code>; <code>1</code> with <code>devo secret inject</code> and <code>devo secret run</code>.</td><td>List the entry's fields with <code>devo entry references &#x3C;entry></code> and use one of them. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md#check-that-the-entry-and-the-field-exist">Check that the entry and the field exist</a>.</td></tr><tr><td><code>secretFieldRequiresRuntimeDecryption</code></td><td>1</td><td>On a local profile, the field is encrypted and Devolutions CLI can't decrypt it.</td><td>Read the value in Devolutions Remote Desktop Manager, or use a field that isn't encrypted. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>secretFieldUnsupported</code></td><td>1</td><td>The local profile can't read the field the reference names. An entry protected by a shared passphrase returns the <code>password</code> field only.</td><td>Use a field the workspace can read. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md#use-a-field-the-workspace-can-read">Use a field the workspace can read</a> and <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>secretReadFailed</code></td><td>1</td><td>The secret couldn't be read, and no more precise error was returned. Commands: <code>devo secret read</code>, <code>devo secret get</code>, <code>devo secret inject</code>, <code>devo secret run</code>.</td><td>Run the command again. If it keeps failing, check the reference with <code>devo secret run --check</code> and see <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>secretSectionUnsupported</code></td><td>1</td><td>On a local profile, the reference names a section that Devolutions CLI can't read. The message is "The requested secret field is not supported."</td><td>Remove the section, or use <code>connection</code> or <code>credentials</code>. To get a correct reference, run <code>devo entry references &#x3C;entry></code>.</td></tr><tr><td><code>secretTextOutputRequired</code></td><td>2</td><td><code>devo secret get</code> with <code>--passphrase-env</code> or <code>--passphrase-file</code> was asked for JSON or YAML output without <code>--out-file</code>. This read writes the value as plain text only.</td><td>Remove <code>--json</code>, <code>--yaml</code>, or <code>--output</code>, or add <code>--out-file</code>.</td></tr><tr><td><code>sensitiveAuditMetadataRequired</code></td><td>3 or 1</td><td>Reading this secret value requires audit information, such as a comment and a ticket number, that wasn't provided.</td><td>Read the value in Devolutions Remote Desktop Manager, where you can give the comment and ticket number.</td></tr><tr><td><code>sensitiveInputPermissionsInvalid</code></td><td>1 or 2</td><td>The file that holds the secret value or passphrase can be read by other users. On Windows, only its owner and trusted system accounts may access it; on Linux and macOS, only its owner. Same commands and exit codes as <code>sensitiveInputUnavailable</code>.</td><td>Restrict the file's permissions, for example with <code>chmod 600 &#x3C;file></code> on Linux or macOS. See <a href="/cli/guides/secrets/update-a-secret.md#local-profiles-the-workspace-passphrase">Local profiles: the workspace passphrase</a>.</td></tr><tr><td><code>sensitiveInputTooLarge</code></td><td>1 or 2</td><td>The secret value or passphrase read from the variable or the file is larger than Devolutions CLI accepts. Same commands and exit codes as <code>sensitiveInputUnavailable</code>.</td><td>Check that the variable or the file holds only the value, not a whole document.</td></tr><tr><td><code>sensitiveInputUnavailable</code></td><td>1 or 2</td><td>A secret value or passphrase given with an <code>--…-env</code> or <code>--…-file</code> option couldn't be read: the environment variable isn't set, or the file doesn't exist, isn't a regular file, or can't be read. Exit code <code>1</code> on a local profile, for example with <code>devo secret set</code> or <code>devo secret get --passphrase-file</code>; <code>2</code> with <code>devo secret set</code> on Devolutions Server.</td><td>Check the variable name or the file path, and that the variable is set in the same shell. See <a href="/cli/guides/secrets/update-a-secret.md">Update a secret from a script</a>.</td></tr><tr><td><code>sensitiveResolutionRequestInvalid</code></td><td>1</td><td>The request to read a secret value was incomplete, so the background process refused it.</td><td>Run the command again. If the error persists, run <code>devo doctor</code> and contact support. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>sensitiveUnauthenticatedCaller</code></td><td>1</td><td>The background process refused to return a secret value because the request didn't come from an authenticated session.</td><td>Run the command again. If the error persists, restart the background process with <code>devo daemon restart</code>. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>sensitiveValueNotAllowed</code></td><td>1</td><td>The background process is set to block secret values, such as passwords, one-time passwords, and private keys, or the way the value would be delivered doesn't allow a plain-text value.</td><td>Read the value with a <code>devo secret</code> command. If the error persists, restart the background process with <code>devo daemon restart</code>.</td></tr><tr><td><code>sensitiveValueNotSupported</code></td><td>3 or 1</td><td>The workspace can show the entry's details but can't return this secret value. On a local profile, this applies to values such as one-time passwords and private keys, and local entry updates never write passwords or secret references. Exit code <code>3</code> with entry commands; <code>1</code> with <code>devo secret</code> commands.</td><td>To change a password, use <code>devo secret set</code>. To read the value, use a workspace type that supports it. See <a href="/cli/help/troubleshooting/not-supported.md">A command says the workspace doesn't support it</a>.</td></tr><tr><td><code>serverSecretNotFound</code></td><td>1 or 4</td><td>Devolutions Server didn't find the vault, the entry, or the field, or the field isn't available to this account. With <code>devo secret read</code>, <code>devo secret get</code>, <code>devo secret run</code>, <code>devo secret inject</code>, <code>devo secret shell</code>, and <code>devo secret set</code>, the exit code is 1; with the entry commands that run in the background process, it's 4.</td><td>Check the vault ID, the entry ID, and the field name, and that your account can see the entry. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>serverSecretPamUnsupported</code></td><td>1</td><td><code>devo secret set</code>: Devolutions Server can't write a secret of an entry in a privileged access (PAM) vault.</td><td>Change this secret in Devolutions Server. See <a href="/cli/guides/secrets/update-a-secret.md">Update a secret from a script</a>.</td></tr><tr><td><code>serverSecretReadFailed</code></td><td>1</td><td>Devolutions Server couldn't read the requested secret, with <code>devo secret read</code>, <code>devo secret get</code>, <code>devo secret run</code>, <code>devo secret inject</code>, <code>devo secret shell</code>.</td><td>Try again. Check the reference and that your account can read the entry. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>serverSecretUnauthorized</code></td><td>1</td><td>Devolutions Server refused access to the secret: the sign-in was rejected or has expired, or the account isn't allowed to read or change it.</td><td>Sign in again with <code>devo login</code>, and check the permissions of the account on the entry. See <a href="/cli/help/troubleshooting/sign-in-fails.md">Sign-in fails or the session expired</a>.</td></tr><tr><td><code>serverSecretWriteFailed</code></td><td>1</td><td>Devolutions Server couldn't update the secret, with <code>devo secret set</code>.</td><td>Check the vault ID, the entry ID, and the field, and that your account may change the entry, then try again. See <a href="/cli/guides/secrets/update-a-secret.md">Update a secret from a script</a>.</td></tr><tr><td><code>unsupportedSecretAttribute</code></td><td>2 or 1</td><td>The attribute in <code>?attribute=</code> or <code>--attribute</code> isn't known, or the workspace can't return that attribute as a value: the local profile returns only <code>value</code>, and Devolutions Cloud and Devolutions Server don't return a value for <code>otp</code>. Exit code <code>2</code> with <code>devo secret read</code> and <code>devo secret get</code>; <code>1</code> with <code>devo secret inject</code> and <code>devo secret run</code>.</td><td>Use <code>value</code>, <code>type</code>, <code>id</code>, <code>title</code>, or <code>purpose</code>. See <a href="/cli/reference/secret-references.md#attributes">Attributes</a>.</td></tr><tr><td><code>unsupportedSecretField</code></td><td>1</td><td>The reference names a section, or a field that isn't an entry data property. Devolutions Cloud reads main entry fields only, such as <code>password</code> or <code>username</code>; Devolutions Server reads one entry data property, without a section.</td><td>Remove the section from the reference and name a main field. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md#use-a-field-the-workspace-can-read">Use a field the workspace can read</a>.</td></tr><tr><td><code>vaultNotSelected</code></td><td>1</td><td><code>devo secret get</code> received an entry ID (<code>--id</code>), but no vault was given and no current vault is selected, so the entry can't be located.</td><td>Pass <code>--vault-id</code>, or select a vault with <code>devo vault use</code>. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md#select-the-vault-you-work-in">Select the vault you work in</a>.</td></tr><tr><td><code>workspaceSelectorAmbiguous</code></td><td>1</td><td>The workspace named in a secret reference matches more than one workspace of the local profile. Produced while reading a secret, for example with <code>devo secret read</code>, <code>devo secret get</code>, <code>devo secret inject</code>, or <code>devo secret run</code>.</td><td>Use the workspace ID in the reference instead of its name. See <a href="/cli/reference/secret-references.md">Secret reference syntax</a> and <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr></tbody></table>

## Running commands with secrets

Errors from `devo secret run`, `devo secret inject`, and `devo secret shell`. These errors are written as plain `<code>: <message>` text to the error output.

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>invalidCommand</code></td><td>2</td><td><code>devo secret run</code> has no command to start: nothing follows <code>--</code> and no <code>--manifest</code> was given.</td><td>Add the command after <code>--</code>, for example <code>devo secret run --env-ref ... -- ./deploy.sh</code>, or use <code>--manifest</code>. See <a href="/cli/guides/secrets/run-with-secrets.md">Run a command with its secrets</a>.</td></tr><tr><td><code>invalidEnvironmentFile</code></td><td>2</td><td>A line of the file given with <code>devo secret run --env-file</code> isn't in <code>KEY=value</code> form. Empty lines and lines that start with <code>#</code> are allowed.</td><td>Fix the line. See <a href="/cli/guides/secrets/replace-env-files.md#how-devolutions-cli-reads-the-file">How Devolutions CLI reads the file</a>.</td></tr><tr><td><code>invalidReceiptFile</code></td><td>1</td><td>The path given with <code>--receipt-file</code> is a folder. The command ran, but <code>devo secret run</code> exits with <code>1</code> instead of the command's exit code.</td><td>Give a file path. See <a href="/cli/guides/secrets/run-with-secrets.md#keep-a-record-of-the-launch">Keep a record of the launch</a>.</td></tr><tr><td><code>invalidSecretEnvironmentName</code></td><td>2</td><td>A variable name in the environment file or the launch manifest isn't valid. Names use letters, digits, and underscores, and can't start with a digit.</td><td>Rename the variable. See <a href="/cli/guides/secrets/run-with-secrets.md">Run a command with its secrets</a>.</td></tr><tr><td><code>invalidSecretEnvironmentReference</code></td><td>2</td><td>An <code>--env-ref</code> isn't in <code>NAME=devo://…</code> form, the name isn't valid, or the value isn't an exact <code>devo://</code> reference. In a launch manifest, each value of <code>environment</code> must be an exact reference.</td><td>Write it as <code>--env-ref NAME=devo://&#x3C;workspace>/&#x3C;vault>/&#x3C;entry>/&#x3C;field></code>. See <a href="/cli/guides/secrets/run-with-secrets.md#pass-several-secrets">Pass several secrets</a>.</td></tr><tr><td><code>invalidSecretLaunchManifest</code></td><td>2</td><td>The launch manifest isn't valid JSON, doesn't use <code>schemaVersion</code> 1, has no <code>command</code>, or repeats a property or a variable name.</td><td>Fix the manifest. See <a href="/cli/guides/secrets/run-with-secrets.md#use-a-launch-manifest">Use a launch manifest</a>.</td></tr><tr><td><code>invalidSecretLaunchTimeout</code></td><td>2</td><td>The timeout, from <code>--timeout-seconds</code> or <code>timeoutSeconds</code> in a launch manifest, is zero or negative.</td><td>Give a number of seconds greater than zero. See <a href="/cli/guides/secrets/run-with-secrets.md#limit-how-long-the-program-runs">Limit how long the program runs</a>.</td></tr><tr><td><code>invalidSecretLaunchWorkingDirectory</code></td><td>2</td><td>The <code>workingDirectory</code> of the launch manifest isn't an absolute path.</td><td>Use a full path. See <a href="/cli/guides/secrets/run-with-secrets.md#use-a-launch-manifest">Use a launch manifest</a>.</td></tr><tr><td><code>invalidSecretStdinReference</code></td><td>2</td><td>The value of <code>--stdin-reference</code>, or <code>stdinReference</code> in a launch manifest, isn't an exact <code>devo://</code> reference.</td><td>Pass one complete reference. See <a href="/cli/guides/secrets/run-with-secrets.md#send-a-secret-to-standard-input">Send a secret to standard input</a>.</td></tr><tr><td><code>receiptFileExists</code></td><td>1</td><td>The receipt file already exists, or couldn't be created. A receipt never replaces an existing file. The command ran, but <code>devo secret run</code> exits with <code>1</code>.</td><td>Use a new file name, or delete the old receipt first.</td></tr><tr><td><code>receiptWriteFailed</code></td><td>1</td><td>You don't have permission to write the receipt file. The command ran, but <code>devo secret run</code> exits with <code>1</code>.</td><td>Write the receipt to a folder you can write to.</td></tr><tr><td><code>secretEnvironmentConflict</code></td><td>2</td><td>The same variable is set more than once, for example by two <code>--env-ref</code>, or by an <code>--env-ref</code> and the environment file. Variable names aren't case-sensitive here.</td><td>Keep one definition of each variable.</td></tr><tr><td><code>secretEnvironmentFileReadFailed</code></td><td>2</td><td>The file given with <code>devo secret run --env-file</code> exists but couldn't be read, for example because of permissions.</td><td>Check that you can read the file.</td></tr><tr><td><code>secretLaunchArgumentReference</code></td><td>2</td><td>A <code>devo://</code> reference was written as an argument of the command to run. Devolutions CLI refuses it, so the value can't appear in the process list.</td><td>Pass it with <code>--env-ref</code>, <code>--stdin-reference</code>, or <code>--manifest</code>. See <a href="/cli/guides/secrets/run-with-secrets.md#keep-references-out-of-the-command-line">Keep references out of the command line</a>.</td></tr><tr><td><code>secretLaunchCancelled</code></td><td>130</td><td><code>devo secret run</code> was interrupted, for example with <kbd>Ctrl</kbd>+<kbd>C</kbd>, and the command it started was stopped. If the receipt file couldn't be written, the exit code is <code>1</code>.</td><td>Run it again.</td></tr><tr><td><code>secretLaunchCommandNotFound</code></td><td>1</td><td><code>devo secret run --check</code> didn't find the command in the working folder or in the <code>PATH</code>.</td><td>Check the command name, give its full path, or add its folder to <code>PATH</code>.</td></tr><tr><td><code>secretLaunchManifestReadFailed</code></td><td>2</td><td>The launch manifest given with <code>--manifest</code> exists but couldn't be read.</td><td>Check that you can read the file.</td></tr><tr><td><code>secretLaunchModeConflict</code></td><td>2</td><td><code>devo secret run</code> got both <code>--dry-run</code> and <code>--check</code>.</td><td>Keep one of them. See <a href="/cli/guides/secrets/run-with-secrets.md#check-before-you-run">Check before you run</a>.</td></tr><tr><td><code>secretLaunchSourceConflict</code></td><td>2</td><td><code>--manifest</code> was combined with <code>--env-file</code>, <code>--env-ref</code>, <code>--stdin-reference</code>, <code>--timeout-seconds</code>, or a command after <code>--</code>.</td><td>Put everything in the manifest, or don't use <code>--manifest</code>.</td></tr><tr><td><code>secretLaunchStandardInputFailed</code></td><td>1</td><td>The command started by <code>devo secret run</code> stopped accepting standard input before it got the value of <code>--stdin-reference</code>. The command was stopped.</td><td>Check that the command reads its standard input. See <a href="/cli/guides/secrets/run-with-secrets.md#send-a-secret-to-standard-input">Send a secret to standard input</a>.</td></tr><tr><td><code>secretLaunchStartFailed</code></td><td>1</td><td>The secrets were read, but the command couldn't be started, for example because it doesn't exist or isn't executable.</td><td>Check the command with <code>devo secret run --check</code>, then run it again.</td></tr><tr><td><code>secretLaunchTimedOut</code></td><td>124</td><td>The command started by <code>devo secret run</code> exceeded <code>--timeout-seconds</code> and was stopped. If the receipt file couldn't be written, the exit code is <code>1</code>.</td><td>Raise the timeout, or find out why the command takes so long. See <a href="/cli/guides/secrets/run-with-secrets.md#limit-how-long-the-program-runs">Limit how long the program runs</a>.</td></tr><tr><td><code>secretLaunchWorkingDirectoryNotFound</code></td><td>2</td><td>The <code>workingDirectory</code> of the launch manifest doesn't exist.</td><td>Create the folder or fix the path.</td></tr><tr><td><code>secretShellMappingInvalid</code></td><td>2</td><td><code>devo secret shell enter</code> got no <code>--env-ref</code>, or an <code>--env-ref</code> that isn't a unique <code>NAME=devo://…</code> pair. Names reserved by Devolutions CLI are refused too.</td><td>Pass at least one <code>--env-ref NAME=&#x3C;reference></code>, with a different name each time. See <a href="/cli/guides/secrets/current-shell.md#enter-the-scope">Enter the scope</a>.</td></tr><tr><td><code>secretShellOutputFailed</code></td><td>1</td><td><code>devo secret shell enter</code> or <code>leave</code> couldn't write the shell code to the standard output, for example because the pipe was closed.</td><td>Run it again as shown in <a href="/cli/guides/secrets/current-shell.md">Use secrets in your current shell</a>.</td></tr><tr><td><code>secretShellOutputModeConflict</code></td><td>2</td><td>The output format doesn't fit the <code>devo secret shell</code> command: <code>enter</code> and <code>leave</code> write shell code as text, while <code>status</code> and <code>enter --check</code> need <code>--output json</code>.</td><td>Remove the output option from <code>enter</code> and <code>leave</code>; add <code>--output json</code> to <code>status</code> and <code>enter --check</code>. See <a href="/cli/guides/secrets/current-shell.md">Use secrets in your current shell</a>.</td></tr><tr><td><code>secretShellStateInvalid</code></td><td>1</td><td>The <code>DEVO_SECRET_SHELL_STATE_V1</code> variable that tracks the loaded secrets is damaged, or was set by another shell, for example a Bash scope seen from PowerShell.</td><td>Use the same <code>--shell</code> as for <code>enter</code>. If the variable is damaged, open a new shell session.</td></tr><tr><td><code>secretShellUnsupported</code></td><td>2</td><td>The <code>--shell</code> value isn't supported.</td><td>Use <code>--shell bash</code> or <code>--shell pwsh</code>.</td></tr><tr><td><code>secretShellValueUnsupported</code></td><td>1</td><td>A secret contains a NUL character, which a shell variable can't hold. Nothing was loaded.</td><td>Use <code>devo secret run</code> with <code>--stdin-reference</code>, or change the secret.</td></tr><tr><td><code>secretEnvironmentResolutionFailed</code></td><td>1</td><td><code>devo secret run</code> couldn't resolve the secrets of the command, and no more specific error was reported.</td><td>Run the same command with <code>--check</code> to find the reference that fails. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr></tbody></table>

## SecretSpec

Errors from the commands that register Devolutions CLI as a SecretSpec provider. When SecretSpec reads or writes a secret through Devolutions CLI, it doesn't receive these error codes: the provider answers with a general SecretSpec error instead, such as permission denied, interaction required, provider unavailable, or conflict, and a value that isn't found is usually reported as missing. See [Use Devolutions CLI with SecretSpec](/cli/guides/secrets/secretspec.md).

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>secretSpecClaimConflict</code></td><td>1</td><td><code>devo secretspec register</code> found a claim for <code>devo://</code> that points at another program.</td><td>Check it with <code>devo secretspec status</code>. To replace it, add <code>--force</code>. See <a href="/cli/guides/secrets/secretspec.md#register-devolutions-cli-as-the-provider">Register Devolutions CLI as the provider</a>.</td></tr><tr><td><code>secretSpecClaimWriteFailed</code></td><td>1</td><td><code>devo secretspec register</code> couldn't write the claim file, or <code>devo secretspec unregister</code> couldn't remove it. The message gives the path and the reason. With <code>--system</code>, administrator rights are usually needed.</td><td>Run the command as an administrator for <code>--system</code>, or check the permissions of the folder. See <a href="/cli/guides/secrets/secretspec.md#where-the-claim-file-goes">Where the claim file goes</a>.</td></tr></tbody></table>

## Local profile

Errors from the local profile, the Devolutions Remote Desktop Manager data file on your computer. See [Use a local Devolutions Remote Desktop Manager profile](/cli/guides/connect/local-profile.md).

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>applicationUnlockMaterialRequired</code></td><td>Depends on the command</td><td>The local Devolutions Remote Desktop Manager profile is protected by an application password, and it hasn't been unlocked for the background process. Commands that need the profile fail with this code: usually <code>3</code>, and <code>1</code> with <code>devo secret</code> commands.</td><td>Unlock it with <code>devo config unlock --password-env &#x3C;VARIABLE> --yes</code>. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>headlessConfigUnavailable</code></td><td>Depends on the command</td><td>The local profile folder couldn't be read or created, for example because of permissions. Usually <code>3</code>; <code>1</code> with <code>devo secret</code> commands and <code>devo config unlock</code>.</td><td>Check the folder shown by <code>devo config path</code> and its permissions, or set <code>RDM_CONFIG_PATH</code> to another folder. See <a href="/cli/reference/environment-variables.md">Environment variables</a>.</td></tr><tr><td><code>headlessCoreExtractionRequired</code></td><td>3</td><td>The local profile doesn't support this operation in Devolutions CLI yet, for example some entry changes or some reads of entry details. When Devolutions CLI can't write entries to this local profile at all, every change command reports this code, even those that would otherwise report a more precise code such as <code>sqliteVaultLifecycleUnavailable</code>.</td><td>Use Devolutions Remote Desktop Manager for this operation. See <a href="/cli/help/troubleshooting/not-supported.md">A command says the workspace doesn't support it</a>.</td></tr><tr><td><code>headlessSqliteNotFound</code></td><td>Depends on the command</td><td>The local profile folder doesn't contain a SQLite workspace (<code>*.db</code> file) yet, or the folder isn't set. Commands that need the workspace fail with this code and a message on how to create one: <code>4</code> with workspace, vault, and entry commands, <code>1</code> with <code>devo secret</code> commands and <code>devo config unlock</code>.</td><td>Create a workspace with <code>devo workspace create &#x3C;name> --passphrase-env &#x3C;VARIABLE> --yes</code>, or point to an existing profile with <code>devo login &#x3C;name> --sqlite &#x3C;profile-folder></code>. See <a href="/cli/guides/connect/local-profile.md">Use a local Devolutions Remote Desktop Manager profile</a>.</td></tr><tr><td><code>headlessSqliteUnavailable</code></td><td>Depends on the command</td><td>The SQLite workspace of the local profile couldn't be read, for example because it's locked or damaged. Usually <code>3</code>; <code>1</code> with <code>devo secret</code> commands and <code>devo config unlock</code>.</td><td>Close programs that may lock the file, then restart the background process with <code>devo daemon restart</code>. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>invalidHeadlessSqlite</code></td><td>Depends on the command</td><td>The SQLite workspace of the local profile isn't in a format Devolutions CLI supports, for example because it's encrypted. Usually <code>3</code>; <code>1</code> with <code>devo secret</code> commands and <code>devo config unlock</code>.</td><td>Use a workspace that isn't encrypted. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>invalidRdmOptions</code></td><td>Depends on the command</td><td>The options file of the local Devolutions Remote Desktop Manager profile couldn't be read or parsed. Usually <code>3</code>; <code>1</code> with <code>devo secret</code> commands and <code>devo config unlock</code>.</td><td>Open the profile in Devolutions Remote Desktop Manager to check it, then run <code>devo daemon restart</code>.</td></tr><tr><td><code>malformedProtectedPayload</code></td><td>1</td><td>The protected data of the entry is damaged, so its value can't be read.</td><td>Open the entry in Devolutions Remote Desktop Manager and save its password again.</td></tr><tr><td><code>protectedMetadataInvalid</code></td><td>1</td><td>The entry is protected, but the shared passphrase settings of the workspace or the vault are missing or invalid.</td><td>Open the workspace in Devolutions Remote Desktop Manager and check its shared passphrase settings.</td></tr><tr><td><code>protectedProfileSecretResolutionFailed</code></td><td>1</td><td>The local profile protected by an application password is unlocked, but the field the reference names couldn't be read from it.</td><td>Check that the field exists with <code>devo entry references &#x3C;entry></code>. If the profile was unlocked before a restart of the background process, unlock it again.</td></tr><tr><td><code>protectedProfileUnlockFailed</code></td><td>1</td><td><code>devo config unlock</code> couldn't unlock the local profile, usually because the application password is wrong. Commands that need the profile then fail with this code too.</td><td>Check the password in the variable or the file, and run <code>devo config unlock</code> again. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>protectedSharedPassphraseV2Payload</code></td><td>1</td><td>The entry is protected by a shared passphrase, and the reference couldn't be read with a passphrase, for example because it's a named reference.</td><td>Use <code>devo secret get password &#x3C;entry></code>, or the canonical reference from <code>devo entry references</code>. Give the passphrase with <code>--passphrase-env</code> or <code>--passphrase-file</code> if there's no passphrase file next to the workspace. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>requiresUnlock</code></td><td>Depends on the command</td><td>The background process was told that the local profile must be unlocked, and no unlock value was given. Usually <code>3</code>; <code>1</code> with <code>devo secret</code> commands.</td><td>Unlock the profile with <code>devo config unlock</code>. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>sqliteActivityLogExportSchemaUnavailable</code></td><td>3</td><td><code>devo admin logs export</code> on a local profile: the workspace database doesn't have the activity log columns needed for the export. The message gives the reason.</td><td>Use a local profile whose workspace has an activity log, or export the logs from Devolutions Remote Desktop Manager. See <a href="/cli/for-devops-and-administrators/manage/logs.md">Review activity logs</a>.</td></tr><tr><td><code>sqliteDocumentationContentUpdateUnavailable</code></td><td>3</td><td><code>devo entry documentation update</code> with new content on a local profile. A local profile can rename a documentation page, but not change its content.</td><td>Pass only <code>--new-title</code>, or change the content in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteDocumentationDatabaseNotFound</code></td><td>4</td><td><code>devo entry documentation update</code> on a local profile: the workspace database file wasn't found.</td><td>Check the current workspace with <code>devo workspace current</code> and that its file still exists in the profile folder (<code>devo config path</code>).</td></tr><tr><td><code>sqliteDocumentationDatabaseUnavailable</code></td><td>3</td><td>The workspace database couldn't be opened to rename a documentation page, for example because it's locked or access is denied.</td><td>Close programs that may lock the file, check its permissions, and try again.</td></tr><tr><td><code>sqliteDocumentationDatabaseUnsupported</code></td><td>3</td><td>Renaming a documentation page needs an unencrypted workspace database that Devolutions CLI supports. This one is encrypted or not supported.</td><td>Rename the page in Devolutions Remote Desktop Manager. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>sqliteDocumentationSchemaUnsupported</code></td><td>3</td><td>The workspace database doesn't have the documentation tables or columns that a title rename needs, or has a database trigger that Devolutions CLI can't validate. Renames are blocked for this workspace.</td><td>Rename the page in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteDocumentationTitleUpdateAuditIdentityUnavailable</code></td><td>3</td><td>Renaming a documentation page in a local profile records who made the change. The background process has no user identity to record, so the rename is refused.</td><td>Restart the background process from your own user session with <code>devo daemon restart</code>, then try again.</td></tr><tr><td><code>sqliteDocumentationTitleUpdateConflict</code></td><td>3</td><td>The documentation page changed, was removed, or the database was locked by another program while the rename was applied. Nothing was changed.</td><td>Run the command again. If Devolutions Remote Desktop Manager has the workspace open, wait until it's done saving.</td></tr><tr><td><code>sqliteDocumentationTitleUpdateNoChanges</code></td><td>3</td><td>The new title is the same as the current title.</td><td>Pass a different <code>--new-title</code>.</td></tr><tr><td><code>sqliteDocumentationTitleUpdateSnapshotRequired</code></td><td>3</td><td>The documentation page couldn't be loaded with the details a rename needs.</td><td>Run the command again. If it keeps failing, restart the background process with <code>devo daemon restart</code>.</td></tr><tr><td><code>sqliteDocumentationTitleUpdateUnavailable</code></td><td>3</td><td>The documentation page couldn't be renamed in this local profile: either the workspace doesn't support renames (the message gives the reason), or the database refused the change. Nothing was changed.</td><td>Read the message. Check that the workspace file isn't read-only or locked, then try again, or rename the page in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteDocumentationVersionInvalid</code></td><td>3</td><td>The workspace database doesn't have a valid database version, so documentation pages can't be renamed.</td><td>Open the workspace in Devolutions Remote Desktop Manager to check it, or rename the page there.</td></tr><tr><td><code>sqliteDocumentationVersionUnsupported</code></td><td>3</td><td>The workspace database is too old for documentation renames. The message gives the minimum version.</td><td>Upgrade the workspace in Devolutions Remote Desktop Manager, or rename the page there.</td></tr><tr><td><code>sqliteEntryCreateFailed</code></td><td>1</td><td><code>devo entry create</code> on a local profile: the entry couldn't be created. Nothing was saved.</td><td>Check that the workspace file isn't read-only or locked, then try again.</td></tr><tr><td><code>sqliteEntryCreateNameInvalid</code></td><td>2</td><td><code>devo entry create</code> on a local profile: the entry name is empty.</td><td>Give a name for the entry.</td></tr><tr><td><code>sqliteEntryCreateVaultUnsupported</code></td><td>2</td><td><code>devo entry create</code> on a local profile can create entries in the default vault only.</td><td>Remove <code>--vault-id</code> or <code>--vault-name</code>, or create the entry in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteEntryMoveConflict</code></td><td>3</td><td><code>devo entry move</code> on a local profile: an entry changed or was removed while it was being moved, or couldn't be read back afterward. Nothing was changed.</td><td>Run the command again.</td></tr><tr><td><code>sqliteEntryMoveNoChanges</code></td><td>3</td><td><code>devo entry move</code>: the entries are already in the destination folder.</td><td>Check the destination folder.</td></tr><tr><td><code>sqliteEntryMoveSchemaUnsupported</code></td><td>3</td><td><code>devo entry move</code>: the workspace database doesn't store entries per vault in the way Devolutions CLI supports, so entries can't be moved.</td><td>Move the entries in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteEntryMutationUnavailable</code></td><td>3</td><td>The workspace database refused or couldn't save an entry change (<code>devo entry update</code>, <code>entry field set</code>, <code>entry status set</code>, <code>entry tag set</code>, <code>entry parameter set</code>, <code>entry move</code>, <code>entry folder rename</code>). Nothing was changed.</td><td>Check that the workspace file isn't read-only, locked, or full, then try again.</td></tr><tr><td><code>sqliteEntryParameterUpdateFieldUnsupported</code></td><td>3</td><td><code>devo entry parameter set</code> on a local profile can rename a parameter (its label) only. It can't change the parameter type.</td><td>Remove the type option, or change the type in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteEntryParameterUpdateOperationUnsupported</code></td><td>3</td><td>A local profile supports only setting a parameter label.</td><td>Use <code>devo entry parameter set</code> with a new label.</td></tr><tr><td><code>sqliteEntryParameterXmlProjectionUnavailable</code></td><td>3</td><td><code>devo entry parameter set</code>: the parameter labels of this entry are stored in a form Devolutions CLI can't safely update. Nothing was changed.</td><td>Change the parameter in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteEntryUpdateConflict</code></td><td>3</td><td>The entry changed or was removed after it was loaded, the database was locked by another program, or the entry couldn't be read back after the change. Nothing was changed.</td><td>Run the command again. If Devolutions Remote Desktop Manager has the workspace open, wait until it's done saving.</td></tr><tr><td><code>sqliteEntryUpdateFieldUnsupported</code></td><td>3</td><td>A local profile can't change this entry detail: the folder (use <code>devo entry move</code>), the host port, or, when the workspace doesn't store them, the status or tags. The message names the detail.</td><td>Change it in Devolutions Remote Desktop Manager, or use <code>devo entry move</code> to change the folder.</td></tr><tr><td><code>sqliteEntryUpdateNoChanges</code></td><td>3</td><td>The update asks for no change: no supported detail was given, or the new values are the same as the current ones. A local profile can update the name, host, domain, user name, status, and tags.</td><td>Pass at least one detail with a new value.</td></tr><tr><td><code>sqliteEntryWriteDatabaseNotFound</code></td><td>4</td><td>An entry change on a local profile: the workspace database file wasn't found.</td><td>Check the current workspace with <code>devo workspace current</code> and that its file still exists in the profile folder (<code>devo config path</code>).</td></tr><tr><td><code>sqliteEntryWriteDatabaseUnavailable</code></td><td>3</td><td>The workspace database couldn't be opened to change an entry, for example because it's locked or access is denied.</td><td>Close programs that may lock the file, check its permissions, and try again.</td></tr><tr><td><code>sqliteEntryWriteDatabaseUnsupported</code></td><td>3</td><td>Entry changes need an unencrypted workspace database that Devolutions CLI supports. This one is encrypted or not supported.</td><td>Change the entry in Devolutions Remote Desktop Manager. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>sqliteEntryWriteSchemaUnavailable</code></td><td>3</td><td>Entry changes (<code>devo entry update</code>, <code>entry field set</code>, <code>entry status set</code>, <code>entry tag set</code>, <code>entry parameter set</code>, <code>entry move</code>, <code>entry folder rename</code>) aren't available for this local profile. The message gives the reason, for example an encrypted or unsupported workspace database.</td><td>Read the message. Use a supported, unencrypted workspace and back it up before the first change, or make the change in Devolutions Remote Desktop Manager. See <a href="/cli/help/troubleshooting/not-supported.md">A command says the workspace doesn't support it</a>.</td></tr><tr><td><code>sqliteEntryWriteSchemaUnsupported</code></td><td>3</td><td>The workspace database doesn't have the entry and history tables that Devolutions CLI needs to change entries safely.</td><td>Change the entry in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteEntryWriteVersionInvalid</code></td><td>3</td><td>The workspace database doesn't have a valid database version, so entries can't be changed.</td><td>Open the workspace in Devolutions Remote Desktop Manager to check it, or make the change there.</td></tr><tr><td><code>sqliteEntryWriteVersionUnsupported</code></td><td>3</td><td>The workspace database is too old for entry changes. The message gives the minimum version.</td><td>Upgrade the workspace in Devolutions Remote Desktop Manager, or make the change there.</td></tr><tr><td><code>sqliteEntryXmlProjectionUnavailable</code></td><td>3</td><td>The entry stores the requested detail in a form Devolutions CLI can't update without touching protected data. Nothing was changed.</td><td>Change the entry in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteFolderRenameConflict</code></td><td>3</td><td><code>devo entry folder rename</code>: the folder changed or was removed while it was being renamed, or couldn't be read back afterward. Nothing was changed.</td><td>Run the command again.</td></tr><tr><td><code>sqliteFolderRenameNoChanges</code></td><td>3</td><td><code>devo entry folder rename</code>: the new name is the same as the current one.</td><td>Pass a different <code>--new-name</code>.</td></tr><tr><td><code>sqliteFolderRenameSchemaUnsupported</code></td><td>3</td><td><code>devo entry folder rename</code>: the workspace database doesn't store entries per vault in the way Devolutions CLI supports, so folders can't be renamed.</td><td>Rename the folder in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteMutationApplicationPasswordUnsupported</code></td><td>1</td><td>The local profile is protected by an application password, or its application password settings can't be validated. Devolutions CLI can't read or write protected passwords in such a profile.</td><td>Read or change the password in Devolutions Remote Desktop Manager. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>sqliteMutationCancelled</code></td><td>1</td><td>Reading or writing a protected password in a local profile was cancelled before it finished. If you pressed <kbd>Ctrl</kbd>+<kbd>C</kbd>, Devolutions CLI reports <code>interrupted</code> with exit code <code>130</code> instead.</td><td>Run the command again.</td></tr><tr><td><code>sqliteMutationConflict</code></td><td>1</td><td><code>devo secret set</code> on a local profile: the entry, the vault, or the workspace settings changed between the check and the write. Nothing was changed.</td><td>Run the command again.</td></tr><tr><td><code>sqliteMutationDatabaseBusy</code></td><td>1</td><td>The workspace database is busy or locked by another program, so the password couldn't be read or written.</td><td>Wait until Devolutions Remote Desktop Manager or the other program is done, then try again.</td></tr><tr><td><code>sqliteMutationEncryptedContainerUnsupported</code></td><td>1</td><td>The workspace database file is encrypted. Devolutions CLI reads and writes protected passwords, and creates entries, only in an unencrypted workspace file.</td><td>Use Devolutions Remote Desktop Manager for this workspace. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>sqliteMutationEntryNotFound</code></td><td>4, or 1 (see meaning)</td><td>The entry wasn't found in the vault, its ID isn't valid, several entries match, or it has no protected password. Exits with <code>4</code> for <code>devo secret set</code> and <code>devo secret get</code> with a passphrase option, and <code>1</code> when a reference is read (<code>devo secret read</code>, <code>inject</code>, <code>run</code>).</td><td>Check the entry ID with <code>devo entry get</code> or <code>devo entry list</code>.</td></tr><tr><td><code>sqliteMutationLifecycleUnsupported</code></td><td>1</td><td><code>devo secret set</code>: the entry or the workspace password history settings have a shape that Devolutions CLI can't update safely, for example an entry with more than one password field. Nothing was changed.</td><td>Change the password in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteMutationPasswordUnsupported</code></td><td>1</td><td>The entry has no password Devolutions CLI can read or change: it has none, more than one, or it takes its password from another credential. Only the <code>password</code> field of a protected entry is supported.</td><td>Read or change the credential where it's stored, or use Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteMutationPersistenceFailed</code></td><td>1</td><td>The protected password couldn't be saved, or couldn't be read (<code>devo secret set</code>, <code>devo secret get</code> with a passphrase option). When the change is refused, nothing was saved.</td><td>Check that the workspace file isn't read-only or locked, then try again.</td></tr><tr><td><code>sqliteMutationReadOnly</code></td><td>1</td><td>The workspace database couldn't be opened for writing, for example because it's read-only, locked, or open in another program.</td><td>Check the file's permissions, close programs that may lock it, and try again.</td></tr><tr><td><code>sqliteMutationSchemaUnsupported</code></td><td>1</td><td>The workspace database is missing tables or settings that Devolutions CLI needs to read or write a protected password, or its settings are ambiguous.</td><td>Open the workspace in Devolutions Remote Desktop Manager to check it, or make the change there.</td></tr><tr><td><code>sqliteMutationSecurityProviderUnsupported</code></td><td>1</td><td>The workspace isn't protected by a shared passphrase, or its protection settings are malformed. Devolutions CLI reads and writes protected passwords, and creates entries, only with a shared passphrase.</td><td>Use Devolutions Remote Desktop Manager for this workspace. See <a href="/cli/guides/connect/local-profile.md#protected-profiles-and-entries">Protected profiles and entries</a>.</td></tr><tr><td><code>sqliteMutationSourceInvalid</code></td><td>2, or 1 (see meaning)</td><td>The workspace ID isn't a valid <code>sqlite:&#x3C;file-name>.db</code> ID, or the passphrase file next to the workspace can't be located in the profile folder. Exits with <code>2</code> for <code>devo secret set</code> and <code>devo secret get</code> with a passphrase option, and <code>1</code> when a reference is read.</td><td>Use the exact workspace ID that <code>devo workspace list</code> shows. See <a href="/cli/guides/secrets/update-a-secret.md#local-profiles-the-workspace-passphrase">Local profiles: the workspace passphrase</a>.</td></tr><tr><td><code>sqliteMutationUnlockFailed</code></td><td>1</td><td>The shared passphrase is wrong, or the workspace's passphrase settings are invalid.</td><td>Check the passphrase in the <code>&#x3C;workspace file>.passphrase</code> file, or in the variable or file you pass with <code>--passphrase-env</code> or <code>--passphrase-file</code>. See <a href="/cli/guides/secrets/update-a-secret.md#local-profiles-the-workspace-passphrase">Local profiles: the workspace passphrase</a>.</td></tr><tr><td><code>sqliteMutationUnlockRequired</code></td><td>1</td><td>The shared passphrase must be checked before the password is read or written, and it wasn't.</td><td>Give the passphrase: the <code>&#x3C;workspace file>.passphrase</code> file, <code>--passphrase-env</code>, or <code>--passphrase-file</code>. See <a href="/cli/guides/secrets/update-a-secret.md#local-profiles-the-workspace-passphrase">Local profiles: the workspace passphrase</a>.</td></tr><tr><td><code>sqliteMutationUnsafeMirrorUnsupported</code></td><td>1</td><td>The workspace or the entry keeps a clear-text copy of passwords. Devolutions CLI doesn't write passwords in that case.</td><td>Change the password in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteMutationVaultNotFound</code></td><td>4, or 1 (see meaning)</td><td>The vault wasn't found, its ID isn't valid, or several vaults match. Exits with <code>4</code> for <code>devo secret set</code> and <code>devo secret get</code> with a passphrase option, and <code>1</code> when a reference is read.</td><td>Check the vault ID with <code>devo vault list</code>.</td></tr><tr><td><code>sqliteMutationWorkspaceBusy</code></td><td>1</td><td>Another Devolutions CLI operation is already changing this local workspace.</td><td>Wait until it's done, then try again.</td></tr><tr><td><code>sqliteMutationWorkspaceMismatch</code></td><td>1</td><td>The profile folder uses a symbolic link or junction that makes the workspace path ambiguous, or the entry's protected data doesn't match the selected entry. Nothing was changed.</td><td>Use a profile folder without symbolic links or junctions. If the entry is the problem, check it in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteMutationWorkspaceNotFound</code></td><td>4, or 1 (see meaning)</td><td>The workspace file wasn't found in the profile folder. Exits with <code>4</code> for <code>devo secret set</code> and <code>devo secret get</code> with a passphrase option, and <code>1</code> with <code>devo workspace delete</code> and when a reference is read.</td><td>Check the workspace ID with <code>devo workspace list</code> and the profile folder with <code>devo config path</code>.</td></tr><tr><td><code>sqliteOperationFailed</code></td><td>1</td><td>A local profile operation run by the background process failed without a more precise reason.</td><td>Try again. If it keeps failing, run <code>devo doctor</code>. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>sqliteSchemaProjectionUnavailable</code></td><td>3</td><td>The command reads data that this local profile's workspace doesn't contain in a form Devolutions CLI supports, for example users, groups, entry permissions, password lists, playlists, tasks, or vault settings. The message gives the reason.</td><td>Use a workspace that has this data, or read it in Devolutions Remote Desktop Manager. See <a href="/cli/help/troubleshooting/not-supported.md">A command says the workspace doesn't support it</a>.</td></tr><tr><td><code>sqliteSchemaUnavailable</code></td><td>1</td><td>Reading a secret from a local profile: the workspace database has no entries table, so secrets can't be read from it.</td><td>Check that the current workspace is a Devolutions Remote Desktop Manager workspace with <code>devo workspace current</code>.</td></tr><tr><td><code>sqliteSecretFieldUnsupported</code></td><td>2</td><td><code>devo secret set</code>, or <code>devo secret get</code> with <code>--passphrase-env</code> or <code>--passphrase-file</code>, on a local profile supports the <code>password</code> field only.</td><td>Use the <code>password</code> field. See <a href="/cli/guides/secrets/update-a-secret.md">Update a secret from a script</a>.</td></tr><tr><td><code>sqliteSecretNotFound</code></td><td>1</td><td><code>devo secret get</code> on a local profile: the workspace, vault, entry, or field wasn't found.</td><td>Check the IDs with <code>devo workspace list</code>, <code>devo vault list</code>, and <code>devo entry get</code>.</td></tr><tr><td><code>sqliteSecretReadFailed</code></td><td>1</td><td>A secret couldn't be read from the local profile, or the background process didn't return it.</td><td>Try again. If it keeps failing, restart the background process with <code>devo daemon restart</code>.</td></tr><tr><td><code>sqliteSecretResolutionUnavailable</code></td><td>1</td><td>The local profile's workspace database couldn't be read to get the secret.</td><td>Check that the workspace file isn't locked or damaged, then try again.</td></tr><tr><td><code>sqliteVariableDeleteNoChanges</code></td><td>3</td><td><code>devo workspace variable delete</code> or <code>devo vault variable delete</code>: the variable wasn't found, so nothing was deleted.</td><td>Check the name with <code>devo workspace variable list</code> or <code>devo vault variable list</code>. See <a href="/cli/for-devops-and-administrators/manage/custom-variables.md">Use custom variables</a>.</td></tr><tr><td><code>sqliteVariableMutationUnavailable</code></td><td>3</td><td>The workspace database refused or couldn't save a custom variable change. Nothing was changed.</td><td>Check that the workspace file isn't read-only or locked, then try again.</td></tr><tr><td><code>sqliteVariableScopeUnsupported</code></td><td>3</td><td>A local profile can change workspace and vault custom variables only, not user vault or option variables.</td><td>Use <code>devo workspace variable</code> or <code>devo vault variable</code>. See <a href="/cli/for-devops-and-administrators/manage/custom-variables.md">Use custom variables</a>.</td></tr><tr><td><code>sqliteVariableStoreMalformed</code></td><td>3</td><td>The custom variables of the workspace or vault are stored in a form Devolutions CLI can't update safely, for example a variable without a unique name. Nothing was changed.</td><td>Check the variables in Devolutions Remote Desktop Manager, or change them there.</td></tr><tr><td><code>sqliteVariableStoreUnavailable</code></td><td>3</td><td>The workspace or vault custom variables couldn't be found in the workspace database, for example because the workspace settings are missing.</td><td>Open the workspace in Devolutions Remote Desktop Manager to check it, or change the variables there.</td></tr><tr><td><code>sqliteVariableUpdateConflict</code></td><td>3</td><td>The custom variables changed after they were loaded, the database was locked by another program, or the change couldn't be read back. Nothing was changed.</td><td>Run the command again.</td></tr><tr><td><code>sqliteVariableUpdateNoChanges</code></td><td>3</td><td>The variable already has this value and description.</td><td>Nothing to do, or pass a different value.</td></tr><tr><td><code>sqliteVariableWriteDatabaseNotFound</code></td><td>4</td><td>A custom variable change on a local profile: the workspace database file wasn't found.</td><td>Check the current workspace with <code>devo workspace current</code> and that its file still exists in the profile folder (<code>devo config path</code>).</td></tr><tr><td><code>sqliteVariableWriteDatabaseUnavailable</code></td><td>3</td><td>The workspace database couldn't be opened to change a custom variable, for example because it's locked or access is denied.</td><td>Close programs that may lock the file, check its permissions, and try again.</td></tr><tr><td><code>sqliteVariableWriteDatabaseUnsupported</code></td><td>3</td><td>Custom variable changes need an unencrypted workspace database that Devolutions CLI supports. This one is encrypted or not supported.</td><td>Change the variables in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteVariableWriteSchemaUnavailable</code></td><td>3</td><td><code>devo workspace variable set</code>, <code>delete</code>, and <code>devo vault variable set</code>, <code>delete</code> aren't available for this local profile. The message gives the reason.</td><td>Read the message. Use a supported, unencrypted workspace and back it up before the first change, or make the change in Devolutions Remote Desktop Manager. See <a href="/cli/for-devops-and-administrators/manage/custom-variables.md">Use custom variables</a>.</td></tr><tr><td><code>sqliteVariableWriteSchemaUnsupported</code></td><td>3</td><td>The workspace database doesn't have the tables or settings Devolutions CLI needs to change custom variables safely.</td><td>Change the variables in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteVariableWriteVersionInvalid</code></td><td>3</td><td>The workspace database doesn't have a valid database version, so custom variables can't be changed.</td><td>Open the workspace in Devolutions Remote Desktop Manager to check it, or make the change there.</td></tr><tr><td><code>sqliteVariableWriteVersionUnsupported</code></td><td>3</td><td>The workspace database is too old for custom variable changes. The message gives the minimum version.</td><td>Upgrade the workspace in Devolutions Remote Desktop Manager, or make the change there.</td></tr><tr><td><code>sqliteVaultLifecycleUnavailable</code></td><td>3</td><td>A local profile can't create, update, or delete vaults, change their settings, or grant and revoke vault access. If Devolutions CLI can't write entries to this local profile at all, these commands report <code>headlessCoreExtractionRequired</code> instead.</td><td>Make the change in Devolutions Remote Desktop Manager. See <a href="/cli/help/troubleshooting/not-supported.md">A command says the workspace doesn't support it</a>.</td></tr><tr><td><code>sqliteWorkspaceAlreadyExists</code></td><td>1</td><td><code>devo workspace create</code>: a workspace file with this name already exists in the profile folder.</td><td>Choose another name or <code>--path</code>, or use the existing workspace with <code>devo workspace use</code>.</td></tr><tr><td><code>sqliteWorkspaceBootstrapCancelled</code></td><td>1</td><td>Creating or deleting a local workspace, or creating an entry in it, was cancelled before it finished. If you pressed <kbd>Ctrl</kbd>+<kbd>C</kbd>, Devolutions CLI reports <code>interrupted</code> with exit code <code>130</code> instead.</td><td>Check the workspace with <code>devo workspace list</code>, then run the command again.</td></tr><tr><td><code>sqliteWorkspaceBusy</code></td><td>1</td><td><code>devo workspace create</code>, <code>devo workspace delete</code>, or <code>devo entry create</code>: the workspace is open in another program, locked, or already being changed by another operation.</td><td>Close Devolutions Remote Desktop Manager or wait until the other operation is done, then try again.</td></tr><tr><td><code>sqliteWorkspaceCreationFailed</code></td><td>1</td><td><code>devo workspace create</code>: the workspace file couldn't be created.</td><td>Check that the profile folder exists and that you can write to it (<code>devo config path</code>), then try again.</td></tr><tr><td><code>sqliteWorkspaceDeleteUnsupported</code></td><td>3</td><td><code>devo workspace delete</code> on a local profile works on Windows only.</td><td>Delete the workspace in Devolutions Remote Desktop Manager, or from a Windows computer.</td></tr><tr><td><code>sqliteWorkspaceDeletionFailed</code></td><td>1</td><td><code>devo workspace delete</code>: the workspace file couldn't be deleted.</td><td>Close programs that may use the file, check its permissions, and try again.</td></tr><tr><td><code>sqliteWorkspaceDeletionIncomplete</code></td><td>1</td><td><code>devo workspace delete</code>: the workspace database was deleted, but a related file next to it couldn't be removed.</td><td>Remove the leftover files of the workspace from the profile folder (<code>devo config path</code>).</td></tr><tr><td><code>sqliteWorkspaceLifecycleUnavailable</code></td><td>3</td><td>This change to a local workspace isn't supported, for example <code>devo workspace delete</code> with a workspace name instead of its <code>sqlite:</code> ID.</td><td>For <code>devo workspace delete</code>, pass the exact ID that <code>devo workspace list</code> shows. Otherwise, make the change in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteWorkspacePassphraseInvalid</code></td><td>1</td><td><code>devo workspace create</code>: the shared passphrase is too short. The message gives the minimum length.</td><td>Use a longer passphrase in the variable or file you pass with <code>--passphrase-env</code> or <code>--passphrase-file</code>.</td></tr><tr><td><code>sqliteWorkspaceRootNotFound</code></td><td>1</td><td>The local profile folder doesn't exist.</td><td>Check the folder with <code>devo config path</code>. See <a href="/cli/guides/connect/local-profile.md#find-the-profile-folder-devolutions-cli-uses">Find the profile folder Devolutions CLI uses</a>.</td></tr><tr><td><code>sqliteWorkspaceSchemaUnsupported</code></td><td>1</td><td><code>devo entry create</code>: the workspace database isn't in a form Devolutions CLI supports.</td><td>Create the entry in Devolutions Remote Desktop Manager.</td></tr><tr><td><code>sqliteWorkspaceSourceInvalid</code></td><td>2</td><td>The workspace isn't a valid <code>sqlite:&#x3C;file-name>.db</code> file name directly in the profile folder, or the profile folder uses a symbolic link or junction that makes the path ambiguous.</td><td>Use a plain file name ending in <code>.db</code>, without folders, and a profile folder without symbolic links or junctions.</td></tr><tr><td><code>unsupportedWorkspaceType</code></td><td>3</td><td>The type of workspace in use doesn't support this read, for example personal account details, which a local profile doesn't have.</td><td>Select a workspace that supports it with <code>--context</code>. See <a href="/cli/help/troubleshooting/not-supported.md">A command says the workspace doesn't support it</a>.</td></tr><tr><td><code>workspaceNotSelected</code></td><td>1</td><td>No workspace is selected in the local profile, so the command doesn't know which workspace to use. Produced by commands that read or write a local SQLite workspace without naming it, for example <code>devo secret get</code> with an entry ID, <code>devo secret set</code>, or <code>devo entry create</code>.</td><td>Select a workspace with <code>devo workspace use &#x3C;workspace></code>, or name the workspace in the command. See <a href="/cli/guides/connect/local-profile.md">Use a local profile</a>.</td></tr></tbody></table>

## Workspaces, vaults, and entries

Errors from `devo vault`, `devo entry`, `devo workspace`, `devo variable`, and related commands. A code that ends in `NotFound` exits with `4` on these commands.

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>activityLogExportWriteFailed</code></td><td>3</td><td>Local profile: <code>devo logs export</code> couldn't write the activity log report to the output file, for example because the file is locked or you don't have write access.</td><td>Check that you can write to the output path, close any program that has the file open, and run the command again. See <a href="/cli/for-devops-and-administrators/manage/logs.md">Review activity logs</a>.</td></tr><tr><td><code>cloudEntryGetFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't retrieve the Devolutions Cloud entry. The message may give the HTTP status returned. Exit code <code>1</code> with <code>devo entry access grant</code> and <code>revoke</code>, <code>3</code> with the other entry commands.</td><td>Check the vault and entry IDs, and that your account can access the entry. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md">Manage vaults and entries</a>.</td></tr><tr><td><code>cloudEntryListFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't list the entries of the Devolutions Cloud vault, for example to find an entry by name. Exit code <code>1</code> with <code>devo secret</code> commands, <code>3</code> with entry commands.</td><td>Check that your account can access the vault, then try again.</td></tr><tr><td><code>cloudEntryPasswordUpdateFailed</code></td><td>3</td><td><code>devo secret set</code>: Devolutions CLI couldn't change the password of the Devolutions Cloud entry, without a more precise reason.</td><td>Try again. See <a href="/cli/guides/secrets/update-a-secret.md">Update a secret from a script</a>.</td></tr><tr><td><code>cloudEntryPermissionEntryAmbiguous</code></td><td>3</td><td><code>devo entry permission get</code>: more than one Devolutions Cloud entry has that name.</td><td>Select the entry by ID, with <code>id:&#x3C;value></code> or <code>--id</code>.</td></tr><tr><td><code>cloudEntryPermissionListFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't fetch the role assignments of the Devolutions Cloud entry. Exit code <code>1</code> with <code>devo entry access</code> commands, <code>3</code> with <code>devo entry permission get</code>.</td><td>Check that your account can manage the security of the entry, then try again. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>cloudEntryPermissionPathUnsupported</code></td><td>3</td><td><code>devo entry permission get</code>: with Devolutions Cloud, the entry can't be selected by path.</td><td>Select the entry by ID or by its exact name.</td></tr><tr><td><code>cloudEntryPermissionSubjectUnavailable</code></td><td>3</td><td><code>devo entry permission get</code>: a role assignment of the Devolutions Cloud entry doesn't say which user or group it's for.</td><td>Review the permissions of the entry in Devolutions Cloud. If it persists, contact support.</td></tr><tr><td><code>cloudEntrySoftDeleteCanonicalIdRequired</code></td><td>3</td><td>Deleting a Devolutions Cloud entry needs the IDs of the vault and of the entry, and a value given isn't a valid ID. Most often seen with the entry deletion tool of the MCP server, which returns it without an exit code.</td><td>Pass the vault ID and the entry ID, as shown by <code>devo entry get</code>.</td></tr><tr><td><code>cloudEntrySoftDeleteFailed</code></td><td>3</td><td><code>devo entry delete</code>: Devolutions Cloud couldn't delete the entry. The message may give the HTTP status returned.</td><td>Check that your account can delete the entry and what's under it, then try again. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md">Manage vaults and entries</a>.</td></tr><tr><td><code>cloudEntrySoftDeleteProviderRequired</code></td><td>3</td><td>The background process wasn't connected to Devolutions Cloud when it received the request to delete a Devolutions Cloud entry.</td><td>Make sure the Devolutions Cloud context is selected, then run the command again. If it persists, run <code>devo daemon restart</code>. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>cloudEntrySoftDeleteRequired</code></td><td>3</td><td>Devolutions Cloud deletes an entry together with what's under it, so the generic deletion was refused.</td><td>Use <code>devo entry delete --acknowledge-recursive-scope</code>.</td></tr><tr><td><code>cloudGroupCanonicalIdRequired</code></td><td>3</td><td><code>devo admin group delete</code>: the group ID given isn't a valid ID.</td><td>Pass the group by name, or by the ID shown by <code>devo admin group list</code>.</td></tr><tr><td><code>cloudGroupCreateFailed</code></td><td>3</td><td><code>devo admin group create</code>: Devolutions Cloud couldn't create the group. The message may give the HTTP status returned.</td><td>Check that your account can manage groups, then try again. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>cloudGroupDeleteFailed</code></td><td>3</td><td><code>devo admin group delete</code>: Devolutions Cloud couldn't delete the group. The message may give the HTTP status returned.</td><td>Check that your account can manage groups, then try again.</td></tr><tr><td><code>cloudGroupGetFailed</code></td><td>3</td><td>Devolutions CLI couldn't retrieve the Devolutions Cloud group, before changing or deleting it, or to list its members.</td><td>Check the group with <code>devo admin group list</code>, then try again.</td></tr><tr><td><code>cloudGroupListFailed</code></td><td>3</td><td>Devolutions CLI couldn't list the Devolutions Cloud groups.</td><td>Check that your account can view groups, then try again.</td></tr><tr><td><code>cloudGroupMembershipUpdateFailed</code></td><td>3</td><td><code>devo admin group members add</code> or <code>remove</code>: Devolutions Cloud couldn't change the members of the group.</td><td>Check that your account can manage groups, then try again. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>cloudGroupSynchronized</code></td><td>3</td><td>The Devolutions Cloud group is synchronized from your organization's directory, so Devolutions CLI can't change or delete it, or change its members.</td><td>Make the change in your organization's directory.</td></tr><tr><td><code>cloudGroupUpdateFailed</code></td><td>3</td><td><code>devo admin group update</code>: Devolutions Cloud couldn't change the group.</td><td>Check that your account can manage groups, then try again.</td></tr><tr><td><code>cloudPasswordMutationCanonicalIdRequired</code></td><td>3</td><td><code>devo secret set</code>: changing the password of a Devolutions Cloud entry needs valid vault and entry IDs, and one of them isn't valid.</td><td>Select the entry by its ID, as shown by <code>devo entry get</code>.</td></tr><tr><td><code>cloudPasswordMutationDecryptionFailed</code></td><td>3</td><td><code>devo secret set</code>: Devolutions CLI couldn't decrypt the Devolutions Cloud entry to change its password. Nothing was changed.</td><td>Sign in again with <code>devo login</code>, then try again. If it persists, contact support.</td></tr><tr><td><code>cloudPasswordMutationEncryptionFailed</code></td><td>3</td><td><code>devo secret set</code>: Devolutions CLI couldn't encrypt the entry with its new password. Nothing was changed.</td><td>Try again. If it persists, contact support.</td></tr><tr><td><code>cloudPasswordMutationEntryGetFailed</code></td><td>3</td><td><code>devo secret set</code>: Devolutions CLI couldn't retrieve the Devolutions Cloud entry to change its password. The message may give the HTTP status returned.</td><td>Check that your account can edit the entry, then try again.</td></tr><tr><td><code>cloudPasswordMutationEntryNotFound</code></td><td>4</td><td><code>devo secret set</code>: Devolutions Cloud says the entry doesn't exist in that vault.</td><td>Check the entry and its vault with <code>devo entry list</code>.</td></tr><tr><td><code>cloudPasswordMutationEntryUnsupported</code></td><td>3</td><td><code>devo secret set</code>: Devolutions CLI can't change the password of this Devolutions Cloud entry, for example because of its type or because its credentials come from elsewhere.</td><td>Change the password in Devolutions Cloud. See <a href="/cli/guides/secrets/update-a-secret.md">Update a secret from a script</a>.</td></tr><tr><td><code>cloudPasswordMutationEnvelopeUnsupported</code></td><td>3</td><td><code>devo secret set</code>: the password of the Devolutions Cloud entry is stored in a form that Devolutions CLI can't change. Nothing was changed.</td><td>Change the password in Devolutions Cloud.</td></tr><tr><td><code>cloudPasswordMutationInputInvalid</code></td><td>3</td><td><code>devo secret set</code>: Devolutions CLI didn't have everything it needs to change the password, such as the protected entry data or its key. Nothing was changed.</td><td>Try again. If it persists, contact support.</td></tr><tr><td><code>cloudPasswordMutationKeyInvalid</code></td><td>3</td><td><code>devo secret set</code>: the key that protects the password of the entry isn't valid. Nothing was changed.</td><td>Try again. If it persists, contact support.</td></tr><tr><td><code>cloudPasswordMutationLockFailed</code></td><td>3</td><td><code>devo secret set</code>: Devolutions CLI couldn't lock the Devolutions Cloud entry for editing, for example because someone else is editing it. Nothing was changed.</td><td>Wait until the entry is no longer being edited, then try again.</td></tr><tr><td><code>cloudPasswordMutationPasswordKeyFailed</code></td><td>3</td><td><code>devo secret set</code>: Devolutions Cloud didn't return the key needed to write the password. Nothing was changed.</td><td>Check that your account can edit the password of the entry, then try again.</td></tr><tr><td><code>cloudPasswordMutationPutFailed</code></td><td>3</td><td><code>devo secret set</code>: Devolutions Cloud refused to save the entry with its new password. The message may give the HTTP status returned.</td><td>Check that your account can edit the entry, then try again.</td></tr><tr><td><code>cloudPasswordMutationUnlockFailed</code></td><td>3</td><td><code>devo secret set</code>: the password was changed, but Devolutions CLI couldn't unlock the Devolutions Cloud entry afterward.</td><td>Check the entry in Devolutions Cloud and unlock it if it's still locked. Don't change the password again.</td></tr><tr><td><code>cloudUserDeleteFailed</code></td><td>3</td><td><code>devo admin user delete</code>: Devolutions Cloud couldn't delete the user.</td><td>Check that your account can manage users, then try again. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>cloudUserGetFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't retrieve the Devolutions Cloud user before changing or deleting it, or got an answer it couldn't read. Exit code <code>1</code> with <code>devo admin user update</code>, <code>3</code> with <code>devo admin user delete</code>.</td><td>Check the user with <code>devo admin user list</code>, then try again.</td></tr><tr><td><code>cloudUserListFailed</code></td><td>3</td><td>Devolutions CLI couldn't list the Devolutions Cloud users.</td><td>Check that your account can view users, then try again.</td></tr><tr><td><code>cloudUserSynchronized</code></td><td>3</td><td>The Devolutions Cloud user is synchronized from your organization's directory, so Devolutions CLI can't change or delete it.</td><td>Make the change in your organization's directory.</td></tr><tr><td><code>cloudUserUpdateFailed</code></td><td>1</td><td><code>devo admin user update</code>: Devolutions Cloud couldn't change the user. The message may give the HTTP status returned.</td><td>Check that your account can manage users, then try again. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>cloudVaultAccessApplicationUnsupported</code></td><td>3</td><td><code>devo vault access list --application</code>: Devolutions CLI can't list the vault access of applications in Devolutions Cloud.</td><td>Filter with <code>--user</code> or <code>--group</code> instead, or check application access in Devolutions Cloud.</td></tr><tr><td><code>cloudVaultAccessPrincipalUnsupported</code></td><td>3</td><td><code>devo vault access grant</code> or <code>revoke</code>: with Devolutions Cloud, a change applies to exactly one user or one group, not to an application or to everyone at once.</td><td>Pass one <code>--user</code> or one <code>--group</code>. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>cloudVaultCanonicalIdRequired</code></td><td>3</td><td><code>devo vault delete</code>: Devolutions Cloud deletes a vault only by its ID, not by its name.</td><td>Pass the vault ID with <code>id:&#x3C;value></code> or <code>--id</code>, as shown by <code>devo vault list</code>.</td></tr><tr><td><code>cloudVaultCreateFailed</code></td><td>3</td><td><code>devo vault create</code>: Devolutions Cloud couldn't create the vault.</td><td>Check that your account can create vaults and that the name isn't taken, then try again. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md">Manage vaults and entries</a>.</td></tr><tr><td><code>cloudVaultDeleteFailed</code></td><td>3</td><td><code>devo vault delete</code>: Devolutions Cloud couldn't delete the vault.</td><td>Check that your account can delete the vault, then try again.</td></tr><tr><td><code>cloudVaultGetFailed</code></td><td>3</td><td>Devolutions CLI couldn't retrieve the Devolutions Cloud vault before changing it or its access (<code>devo vault update</code>, <code>devo vault access grant</code> or <code>revoke</code>).</td><td>Check the vault with <code>devo vault list</code>, then try again.</td></tr><tr><td><code>cloudVaultListFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't list the Devolutions Cloud vaults, for example to find a vault by name. Exit code <code>1</code> with <code>devo secret</code> commands, <code>3</code> with vault and entry commands.</td><td>Check that your account can view vaults, then try again.</td></tr><tr><td><code>cloudVaultPermissionListFailed</code></td><td>3</td><td><code>devo vault access list</code>: Devolutions CLI couldn't list who has access to the vault.</td><td>Check that your account can manage the security of the vault, then try again.</td></tr><tr><td><code>cloudVaultPermissionUpdateFailed</code></td><td>3</td><td><code>devo vault access grant</code> or <code>revoke</code>: Devolutions Cloud couldn't change the access to the vault.</td><td>Check that your account can manage the security of the vault, then try again. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>cloudVaultRoleListFailed</code></td><td>1 or 3</td><td>Devolutions CLI couldn't fetch the vault roles of Devolutions Cloud. Exit code <code>1</code> with <code>devo admin role</code> commands, <code>3</code> with <code>devo vault access</code> commands.</td><td>Check that your account can view roles, then try again.</td></tr><tr><td><code>cloudVaultRoleNotFound</code></td><td>1 or 4</td><td>The vault role doesn't exist. With <code>devo admin role get</code> (exit code <code>1</code>), no vault role has that ID. With <code>devo vault access</code> commands (exit code <code>4</code>), the <code>--role</code> value matches no role, or an access assignment uses a role that's no longer available.</td><td>Check the roles with <code>devo admin role list</code>. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>cloudVaultUpdateFailed</code></td><td>3</td><td><code>devo vault update</code>: Devolutions Cloud couldn't change the vault.</td><td>Check that your account can edit the vault, then try again.</td></tr><tr><td><code>documentationEntryNotFound</code></td><td>4</td><td>Local profile: the entry given to <code>devo entry documentation update</code> wasn't found.</td><td>Check the entry ID with <code>devo entry list</code>.</td></tr><tr><td><code>documentationEntryRequired</code></td><td>3</td><td>Local profile: a documentation command was run without an entry ID.</td><td>Pass the entry ID, for example <code>devo entry documentation get &#x3C;entry-id> --title &#x3C;title></code>.</td></tr><tr><td><code>documentationPageNotFound</code></td><td>4</td><td>Local profile: no documentation page with that title or ID exists on the entry. Produced by <code>devo entry documentation get</code> and <code>update</code>.</td><td>List the pages with <code>devo entry documentation list &#x3C;entry-id></code> and use a title or page ID from the list.</td></tr><tr><td><code>documentationPageRequired</code></td><td>3</td><td>Local profile: no documentation page was given. A page ID or a unique title is required.</td><td>Pass <code>--title</code> or <code>--page-id</code>.</td></tr><tr><td><code>documentationPageSelectorAmbiguous</code></td><td>3</td><td>Local profile: more than one documentation page of the entry has that title.</td><td>Use the page ID shown by <code>devo entry documentation list &#x3C;entry-id></code>.</td></tr><tr><td><code>documentationTitleMustBeUnique</code></td><td>3</td><td>Local profile: <code>devo entry documentation update</code> can't rename the page, because the entry already has a page with the new title.</td><td>Choose another title with <code>--new-title</code>.</td></tr><tr><td><code>documentationTitleRequired</code></td><td>3</td><td>Local profile: <code>devo entry documentation update</code> needs a new, non-empty page title.</td><td>Pass <code>--new-title</code> with a non-empty value. A local profile can only rename pages; it can't change their content.</td></tr><tr><td><code>entryFieldNotFound</code></td><td>4</td><td><code>devo entry field get</code> couldn't find the field on the entry.</td><td>Check the field name. List the fields of the entry with <code>devo entry get &#x3C;entry></code>. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md">Manage vaults and entries</a>.</td></tr><tr><td><code>entryIdRequired</code></td><td>3</td><td>Local profile: an entry update or a command parameter update was sent without an entry ID.</td><td>Pass the entry name or ID. If you passed one, run <code>devo doctor</code> and contact support.</td></tr><tr><td><code>entryMoveCrossVaultUnsupported</code></td><td>3</td><td>Local profile: <code>devo entry move</code> can only move entries within the same vault.</td><td>Choose a destination folder in the entry's own vault.</td></tr><tr><td><code>entryMoveFolderCycle</code></td><td>3</td><td>Local profile: <code>devo entry move</code> was asked to move a folder into itself or into one of its subfolders.</td><td>Choose a destination outside the folder you're moving.</td></tr><tr><td><code>entryMoveSelectionOverlap</code></td><td>3</td><td>Local profile: <code>devo entry move</code> was given a folder and also entries inside that folder.</td><td>Select either the folder or the entries inside it, not both.</td></tr><tr><td><code>entryMoveSelectorDuplicate</code></td><td>3</td><td>Local profile: <code>devo entry move</code> was given the same entry more than once.</td><td>List each entry only once.</td></tr><tr><td><code>entryNotFound</code></td><td>4 or 1</td><td>The entry wasn't found in the selected workspace or vault, for example with <code>devo entry get</code>, <code>update</code>, <code>move</code>, <code>delete</code>, <code>devo secret read</code>, or <code>devo secret shell enter</code>. Exits with <code>1</code> with <code>devo secret run</code>. With <code>devo secret get</code> on a local profile, it is reported as <code>sqliteSecretNotFound</code>.</td><td>Check the entry name or ID with <code>devo entry list</code>, and the selected workspace and vault with <code>devo status</code>. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>entryParameterNotFound</code></td><td>4</td><td>Local profile: <code>devo entry parameter set</code> couldn't find a command parameter with that label on the entry.</td><td>List the parameters with <code>devo entry parameter list &#x3C;entry></code> and use one of their labels or positions.</td></tr><tr><td><code>entryParameterSelectorAmbiguous</code></td><td>3</td><td>Local profile: more than one command parameter of the entry has that label.</td><td>Select the parameter with <code>--position</code> instead of <code>--label</code>.</td></tr><tr><td><code>entryParameterSelectorRequired</code></td><td>3</td><td>Local profile: <code>devo entry parameter set</code> needs exactly one parameter, given by position or by label.</td><td>Pass either <code>--position</code> or <code>--label</code>.</td></tr><tr><td><code>entrySelectorAmbiguous</code></td><td>3 or 1</td><td>More than one entry has that name, so Devolutions CLI won't guess which one you mean. Produced by entry commands with Devolutions Cloud, Devolutions Server, and a local profile, and, on a local profile, when reading a secret (exits with <code>1</code> with <code>devo secret read</code> and <code>devo secret inject</code>).</td><td>Use the entry ID instead of its name. Find it with <code>devo entry list</code>.</td></tr><tr><td><code>entrySelectorRequired</code></td><td>3</td><td>No entry was given: an entry ID or exact name is required, or, with <code>devo entry move</code>, at least one entry to move.</td><td>Pass the entry ID or its exact name.</td></tr><tr><td><code>folderAlreadyExists</code></td><td>3</td><td>Local profile: a folder already exists at the destination path, or several selected folders would end up at the same path. Produced by <code>devo entry folder rename</code> and <code>devo entry move</code>.</td><td>Choose another name or destination, or rename or move the existing folder first.</td></tr><tr><td><code>folderNameRequired</code></td><td>3</td><td>Local profile: <code>devo entry folder rename</code> needs a non-empty new folder name.</td><td>Pass a new name.</td></tr><tr><td><code>folderNotFound</code></td><td>4</td><td>Local profile: <code>devo entry folder rename</code> couldn't find the folder in the selected vault.</td><td>Check the folder path with <code>devo entry list</code> and the selected vault with <code>devo vault current</code>.</td></tr><tr><td><code>folderPathRequired</code></td><td>3</td><td>Local profile: <code>devo entry folder rename</code> needs the path of the folder to rename.</td><td>Pass the folder path.</td></tr><tr><td><code>folderSelectorAmbiguous</code></td><td>3</td><td>Local profile: the folder path matches more than one entry.</td><td>Use a folder path that is unique in the vault.</td></tr><tr><td><code>groupNotFound</code></td><td>4</td><td>No user group with that name or ID exists in the selected workspace. Produced by <code>devo group</code> commands.</td><td>Check the name or ID with <code>devo group list</code>. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>groupSelectorAmbiguous</code></td><td>3</td><td>More than one user group has that name, so a command that changes a group won't guess which one you mean.</td><td>Pass the group ID with <code>--id</code>. Find it with <code>devo group list</code>.</td></tr><tr><td><code>invalidVariableScope</code></td><td>3</td><td>The custom variable scope isn't valid. Produced mainly by <code>devo variable export --scope</code>.</td><td>Use <code>workspace</code>, <code>vault</code>, <code>user-vault</code>, or <code>option</code>. See <a href="/cli/for-devops-and-administrators/manage/custom-variables.md">Use custom variables</a>.</td></tr><tr><td><code>operationNotSupported</code></td><td>3</td><td>The background process refused the operation because the selected workspace can't do it, for example a read that the local profile doesn't provide. The message names the operation or says what to do.</td><td>Select another workspace type with <code>--context</code> or <code>--source</code>. See <a href="/cli/help/troubleshooting/not-supported.md">A command says the workspace doesn't support it</a>.</td></tr><tr><td><code>operationNotSupportedBySource</code></td><td>1</td><td>The selected workspace type can't run this command, or doesn't accept one of its options. For example, a local profile creates RDP entries only, and accepts secret writes to the password field only; Devolutions Cloud groups have no administrator flag.</td><td>Select another workspace with <code>--context</code>, or drop the option the message names. See <a href="/cli/help/troubleshooting/not-supported.md">A command says the workspace doesn't support it</a>.</td></tr><tr><td><code>principalAmbiguous</code></td><td>3</td><td>The user or group given to <code>devo vault access grant</code> or <code>devo vault access revoke</code> matches more than one user or group.</td><td>Give the user or group by ID. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md#roles-and-vault-access">Roles and vault access</a>.</td></tr><tr><td><code>principalNotFound</code></td><td>4</td><td>The user or group given to <code>devo vault access grant</code> or <code>devo vault access revoke</code> wasn't found.</td><td>Check the name, email, or ID with <code>devo admin user list</code> or <code>devo admin group list</code>. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md#roles-and-vault-access">Roles and vault access</a>.</td></tr><tr><td><code>rawSensitiveValueRejected</code></td><td>2</td><td>A password was passed in a way that could expose it: as a plain value with <code>devo entry field set</code>, or as a password value when creating an entry.</td><td>Use <code>devo secret set</code> with <code>--value-env</code> or <code>--value-file</code>, or give the password of a new entry as a secret reference. See <a href="/cli/guides/secrets/update-a-secret.md">Update a secret from a script</a>.</td></tr><tr><td><code>recursiveScopeAcknowledgementRequired</code></td><td>3</td><td><code>devo entry delete</code> on Devolutions Cloud: deleting an entry also deletes everything under it, and that wasn't acknowledged. Nothing was deleted. The <code>devo mcp</code> delete tool reports the same code when the acknowledgement isn't set.</td><td>Add <code>--acknowledge-recursive-scope</code> once you're sure. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md#delete-entries-and-vaults">Delete entries and vaults</a>.</td></tr><tr><td><code>serverEntryDeleteFailed</code></td><td>3</td><td><code>devo entry delete</code>: Devolutions Server couldn't delete the entry. The message gives the reason when the server returns one.</td><td>Read the message, check that your account may delete the entry, then try again. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md">Manage vaults and entries</a>.</td></tr><tr><td><code>serverEntryGetFailed</code></td><td>3</td><td>Devolutions Server couldn't return the entry, for example with <code>devo entry get</code>. The message gives the reason when the server returns one.</td><td>Check the entry and vault IDs and that your account can see the entry, then try again.</td></tr><tr><td><code>serverEntryListFailed</code></td><td>3</td><td>Devolutions Server couldn't list the entries of the vault, for example with <code>devo entry list</code>.</td><td>Check the vault and that your account can see it, then try again.</td></tr><tr><td><code>serverEntryUpdateFailed</code></td><td>3</td><td>Devolutions Server couldn't update the entry, for example with <code>devo entry update</code> or <code>devo entry field set</code>.</td><td>Check that your account may change the entry, then try again. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md">Manage vaults and entries</a>.</td></tr><tr><td><code>serverVaultCreateFailed</code></td><td>3</td><td><code>devo vault create</code> or <code>devo vault create-many</code>: Devolutions Server couldn't create the vault. The message gives the reason when the server returns one.</td><td>Read the message. Check that the name isn't already used and that your account may create vaults.</td></tr><tr><td><code>serverVaultDeleteFailed</code></td><td>3</td><td><code>devo vault delete</code>: Devolutions Server couldn't delete the vault.</td><td>Read the message and check that your account may delete the vault, then try again.</td></tr><tr><td><code>serverVaultListFailed</code></td><td>3</td><td>Devolutions Server couldn't list the vaults, for example with <code>devo vault list</code>, or while finding a vault by name.</td><td>Check the sign-in with <code>devo status --online</code>, then try again.</td></tr><tr><td><code>serverVaultUpdateFailed</code></td><td>3</td><td><code>devo vault update</code>: Devolutions Server couldn't rename the vault or change its description.</td><td>Read the message and check that your account may change the vault, then try again.</td></tr><tr><td><code>smartFolderUnavailable</code></td><td>3</td><td><code>devo entry list --smart-folder</code>: the selected workspace can't evaluate smart folders. Devolutions Cloud and the local profile don't.</td><td>Filter with <code>--group</code> or <code>--type</code> instead. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md#find-entries">Find entries</a>.</td></tr><tr><td><code>unsupportedEntryType</code></td><td>1</td><td><code>devo entry create</code>: the entry type isn't one this workspace can create. Only <code>Group</code> and <code>RDPConfigured</code> entries are accepted.</td><td>Use <code>--type RDPConfigured</code> (the default) or <code>--type Group</code>, or create the entry in Devolutions Remote Desktop Manager. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md#create-and-update-entries">Create and update entries</a>.</td></tr><tr><td><code>vaultNotFound</code></td><td>4 or 1</td><td>The vault wasn't found, or there's no current vault. Vault, entry, and variable commands and <code>devo secret shell</code> exit with <code>4</code>. While reading a secret from a local profile (<code>devo secret read</code>, <code>devo secret get</code>, <code>devo secret inject</code>, <code>devo secret run</code>), the code is the same and the exit code is <code>1</code>.</td><td>Check the vault name or ID with <code>devo vault list</code>, or select one with <code>devo vault use</code>. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md#select-the-vault-you-work-in">Select the vault you work in</a> and <a href="/cli/help/troubleshooting/reference-does-not-resolve.md">A secret reference doesn't resolve</a>.</td></tr><tr><td><code>vaultSelectorAmbiguous</code></td><td>3 or 1</td><td>More than one vault matches the name you gave. <code>devo vault get</code> exits with <code>3</code>; while reading a secret from a local profile, the exit code is <code>1</code>.</td><td>Give the vault by ID. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md#select-the-vault-you-work-in">Select the vault you work in</a>.</td></tr><tr><td><code>workspaceNotFound</code></td><td>4 or 1</td><td>The workspace wasn't found, or no current workspace is set in the local profile, for example with <code>devo workspace current</code> or a workspace custom variable. While reading a secret (<code>devo secret read</code>, <code>devo secret get</code>, <code>devo secret inject</code>, <code>devo secret run</code>), the exit code is <code>1</code>.</td><td>List the workspaces with <code>devo workspace list</code> and select one with <code>devo workspace use</code>. Check the workspace name in the secret reference. See <a href="/cli/for-devops-and-administrators/manage/vaults-and-entries.md#see-and-select-workspaces">See and select workspaces</a>.</td></tr><tr><td><code>partialFailure</code></td><td>0</td><td><code>devo vault create-many</code> created some of the vaults, but not all. The result has the status <code>partial</code>, and each vault has its own result.</td><td>Check which vaults failed and why, then create them again.</td></tr><tr><td><code>vaultCreateFailed</code></td><td>3</td><td><code>devo vault create-many</code> couldn't create any of the vaults.</td><td>Check the result of each vault for the reason, for example a name that already exists or a missing permission.</td></tr></tbody></table>

## Administration

Errors from `devo admin` commands and other commands that manage users, groups, permissions, and settings in Devolutions Cloud or Devolutions Server.

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>cloudArchivedLogsFailed</code></td><td>1</td><td><code>devo admin logs archived</code>: Devolutions CLI couldn't fetch the archived logs. The message may give the HTTP status returned.</td><td>Check the date (<code>yyyy-MM-dd</code>) and that your account can view logs. See <a href="/cli/for-devops-and-administrators/manage/logs.md">Review activity logs</a>.</td></tr><tr><td><code>cloudEntryPermissionGetFailed</code></td><td>1</td><td><code>devo entry access get</code>: Devolutions CLI couldn't fetch the role of the user or group on the entry.</td><td>Check the vault and entry IDs and your access, then try again.</td></tr><tr><td><code>cloudEntryPermissionNotFound</code></td><td>1</td><td><code>devo entry access get</code>: the user or group has no role assigned on the entry.</td><td>List the assignments with <code>devo entry access list</code>.</td></tr><tr><td><code>cloudEntryPermissionUpdateFailed</code></td><td>1</td><td><code>devo entry access grant</code> or <code>revoke</code>: Devolutions Cloud couldn't change the role on the entry.</td><td>Check the IDs and that your account can manage the security of the entry, then try again. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>cloudEntryRoleGetFailed</code></td><td>1</td><td><code>devo admin role get --scope entry</code>: Devolutions CLI couldn't fetch the entry role.</td><td>Check the role ID with <code>devo admin role list --scope entry</code>, then try again.</td></tr><tr><td><code>cloudEntryRoleListFailed</code></td><td>1</td><td>Devolutions CLI couldn't fetch the entry roles of Devolutions Cloud, for example with <code>devo admin role list --scope entry</code>. The MCP tool that lists security roles can also return it, without an exit code.</td><td>Check that your account can view roles, then try again.</td></tr><tr><td><code>cloudEntryRoleNotFound</code></td><td>1</td><td><code>devo admin role get --scope entry</code>: no entry role has that ID.</td><td>Check the role ID with <code>devo admin role list --scope entry</code>.</td></tr><tr><td><code>cloudGatewayDeleteFailed</code></td><td>1</td><td><code>devo admin gateway delete</code>: Devolutions Cloud couldn't delete the gateway. The message may give the HTTP status returned.</td><td>Check the gateway ID with <code>devo admin gateway list</code> and your permissions, then try again.</td></tr><tr><td><code>cloudGatewayGetFailed</code></td><td>1</td><td><code>devo admin gateway get</code>: Devolutions CLI couldn't fetch the gateway.</td><td>Check the gateway ID with <code>devo admin gateway list</code>, then try again.</td></tr><tr><td><code>cloudGatewayListFailed</code></td><td>1</td><td><code>devo admin gateway list</code>: Devolutions CLI couldn't fetch the gateways.</td><td>Check that your account can view gateways, then try again.</td></tr><tr><td><code>cloudGatewaySettingsGetFailed</code></td><td>1</td><td><code>devo admin gateway settings get</code>: Devolutions CLI couldn't fetch the gateway settings.</td><td>Check that your account can view gateways, then try again.</td></tr><tr><td><code>cloudInvitationDeleteFailed</code></td><td>1</td><td><code>devo admin invitation delete</code>: Devolutions Cloud couldn't delete the invitation.</td><td>Check the invitation with <code>devo admin invitation list</code>, then try again.</td></tr><tr><td><code>cloudInvitationGetFailed</code></td><td>1</td><td><code>devo admin invitation get</code>: Devolutions CLI couldn't fetch the invitation.</td><td>Check the invitation with <code>devo admin invitation list</code>, then try again.</td></tr><tr><td><code>cloudInvitationListFailed</code></td><td>1</td><td><code>devo admin invitation list</code>: Devolutions CLI couldn't fetch the invitations.</td><td>Check that your account can manage invitations, then try again.</td></tr><tr><td><code>cloudInvitationRemoveEmailFailed</code></td><td>1</td><td><code>devo admin invitation remove-email</code>: Devolutions Cloud couldn't remove the email address from the invitation.</td><td>Check the invitation and the email address, then try again.</td></tr><tr><td><code>cloudOwnerGetFailed</code></td><td>1</td><td><code>devo admin owner get</code>: Devolutions CLI couldn't fetch the owner of the organization.</td><td>Check that your account can view this information, then try again.</td></tr><tr><td><code>cloudOwnerSetFailed</code></td><td>1</td><td><code>devo admin owner set</code>: Devolutions Cloud couldn't change the owner of the organization.</td><td>Check the new owner and that your account is allowed to change the owner, then try again.</td></tr><tr><td><code>cloudSettingsGetFailed</code></td><td>1</td><td>Devolutions CLI couldn't fetch the system settings of Devolutions Cloud, or couldn't read them. Returned by <code>devo admin settings get</code> and <code>update</code>, and by <code>devo admin access system</code> and <code>system-vault</code> <code>grant</code> and <code>revoke</code>, which read the settings before changing them.</td><td>Check that your account can manage system settings, then try again.</td></tr><tr><td><code>cloudSettingsUpdateFailed</code></td><td>1</td><td><code>devo admin settings update</code>: Devolutions Cloud couldn't save the system settings.</td><td>Check the values and that your account can manage system settings, then try again.</td></tr><tr><td><code>cloudSiemLogsFailed</code></td><td>1</td><td><code>devo admin logs siem</code>: Devolutions CLI couldn't fetch the SIEM report logs.</td><td>Check that your account can view logs, then try again. See <a href="/cli/for-devops-and-administrators/manage/logs.md">Review activity logs</a>.</td></tr><tr><td><code>cloudSsoUpdateFailed</code></td><td>1</td><td><code>devo admin settings update</code>: Devolutions Cloud couldn't change the SSO sign-in setting. The message gives the HTTP status returned.</td><td>Check the value and that your account can manage system settings, then try again.</td></tr><tr><td><code>cloudSystemPermissionGetFailed</code></td><td>1</td><td><code>devo admin access system get</code>: Devolutions CLI couldn't fetch the system permissions of the user or group.</td><td>Check the user or group ID, then try again.</td></tr><tr><td><code>cloudSystemPermissionListFailed</code></td><td>1</td><td><code>devo admin access system list</code> or <code>get</code>: Devolutions CLI couldn't fetch the system permissions.</td><td>Check that your account can manage system permissions, then try again.</td></tr><tr><td><code>cloudSystemPermissionUpdateFailed</code></td><td>1</td><td><code>devo admin access system grant</code> or <code>revoke</code>: Devolutions Cloud couldn't change the system permissions.</td><td>Check the permission names and that your account can manage system permissions, then try again. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>cloudSystemVaultPermissionGetFailed</code></td><td>1</td><td><code>devo admin access system-vault get</code>: Devolutions CLI couldn't fetch the system vault role of the user or group.</td><td>Check the user or group ID, then try again.</td></tr><tr><td><code>cloudSystemVaultPermissionListFailed</code></td><td>1</td><td><code>devo admin access system-vault list</code> or <code>get</code>: Devolutions CLI couldn't fetch the system vault roles.</td><td>Check that your account can manage system permissions, then try again.</td></tr><tr><td><code>cloudSystemVaultPermissionUpdateFailed</code></td><td>1</td><td><code>devo admin access system-vault grant</code> or <code>revoke</code>: Devolutions Cloud couldn't change the system vault role.</td><td>Check the role and that your account can manage system permissions, then try again.</td></tr><tr><td><code>cloudVaultRoleGetFailed</code></td><td>1</td><td><code>devo admin role get</code>: Devolutions CLI couldn't fetch the vault role.</td><td>Check the role ID with <code>devo admin role list</code>, then try again.</td></tr><tr><td><code>invalidOperation</code></td><td>Depends on the command</td><td>The change isn't allowed. <code>devo admin settings auth-modes set</code> (exit code <code>2</code>): at least one primary authentication mode must stay enabled on Devolutions Server. <code>devo admin user update</code> (exit code <code>1</code>): a Devolutions Cloud user synchronized from your organization directory can't be changed. <code>devo admin group delete</code> (exit code <code>3</code>): a synchronized Devolutions Cloud group can't be deleted.</td><td>Keep at least one authentication mode enabled. Change synchronized users and groups in your organization directory instead. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>serverAuthModesFailed</code></td><td>1</td><td><code>devo admin settings auth-modes get</code> or <code>set</code>: Devolutions Server didn't return its authentication modes.</td><td>Check that your account is a Devolutions Server administrator, then try again. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>serverAuthModesUpdateFailed</code></td><td>1</td><td><code>devo admin settings auth-modes set</code>: Devolutions Server didn't save the authentication modes.</td><td>Read the message, check your administrator rights, then try again.</td></tr><tr><td><code>serverCacheResetFailed</code></td><td>1</td><td><code>devo admin cache reset</code>: Devolutions Server didn't reset the caches.</td><td>Read the message, check your administrator rights, then try again.</td></tr><tr><td><code>serverDomainListFailed</code></td><td>1</td><td><code>devo admin domain list</code>: Devolutions Server didn't return its Active Directory domains.</td><td>Check your administrator rights, then try again.</td></tr><tr><td><code>serverDomainUserListFailed</code></td><td>1</td><td><code>devo admin domain users</code>: Devolutions Server didn't return the users of the Active Directory domain.</td><td>Check the <code>--domain</code> name with <code>devo admin domain list</code>, then try again.</td></tr><tr><td><code>serverGatewayRevocationPublishFailed</code></td><td>1</td><td><code>devo admin gateway revocation-list publish</code>: Devolutions Server didn't publish the revocation lists.</td><td>Check the <code>--gateway-id</code> value and your administrator rights, then try again.</td></tr><tr><td><code>serverLicenseListFailed</code></td><td>1</td><td><code>devo admin license list</code>: Devolutions Server didn't return its licenses.</td><td>Check your administrator rights, then try again.</td></tr><tr><td><code>serverLicenseSaveFailed</code></td><td>1</td><td><code>devo admin license register</code>: Devolutions Server didn't register the license.</td><td>Read the message and check the license serial or JWT, then try again.</td></tr><tr><td><code>serverLicenseUserAssignmentsFailed</code></td><td>1</td><td><code>devo admin license users list</code>: Devolutions Server didn't return the users assigned to the license.</td><td>Check the license serial, then try again.</td></tr><tr><td><code>serverLogsFailed</code></td><td>1</td><td><code>devo admin logs activity</code>, <code>administration</code>, <code>login-attempts</code>, <code>pam</code>, or <code>rotation</code>: Devolutions Server didn't return the logs.</td><td>Check the filters and your rights, then try again. See <a href="/cli/for-devops-and-administrators/manage/logs.md">Review activity logs</a>.</td></tr><tr><td><code>serverPamAccountListFailed</code></td><td>1</td><td><code>devo admin pam account list</code>: Devolutions Server didn't return the privileged accounts.</td><td>Check the vault ID and your rights, then try again.</td></tr><tr><td><code>serverPamProviderGetFailed</code></td><td>1</td><td><code>devo admin pam provider get</code>: Devolutions Server didn't return the privileged access provider.</td><td>Check the provider ID with <code>devo admin pam provider list</code>, then try again.</td></tr><tr><td><code>serverPamProviderListFailed</code></td><td>1</td><td><code>devo admin pam provider list</code>: Devolutions Server didn't return the privileged access providers.</td><td>Check your rights, then try again.</td></tr><tr><td><code>serverPermissionSetListFailed</code></td><td>3</td><td><code>devo admin access permission-sets</code>: Devolutions Server didn't return the permission sets.</td><td>Check your rights, then try again.</td></tr><tr><td><code>serverTrialStartFailed</code></td><td>1</td><td><code>devo admin license trial start</code>: Devolutions Server didn't start the trial license.</td><td>Read the message, then try again.</td></tr><tr><td><code>serverTwoFactorConfigurationFailed</code></td><td>1</td><td><code>devo admin settings two-factor get</code> or <code>devo admin user 2fa set</code>: Devolutions Server didn't return its two-factor authentication configuration.</td><td>Check your administrator rights, then try again.</td></tr><tr><td><code>serverTwoFactorSaveFailed</code></td><td>1</td><td><code>devo admin user 2fa set</code> or <code>clear</code>: Devolutions Server didn't save the user's two-factor authentication.</td><td>Read the message, check the user and the <code>--type</code>, then try again. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md">Manage users, groups, and access</a>.</td></tr><tr><td><code>serverUserCanonicalIdRequired</code></td><td>3</td><td><code>devo admin user delete</code> on Devolutions Server: the user must be given by its ID, and the value isn't a valid user ID.</td><td>Pass the user's name, or its exact ID with <code>id:&#x3C;value></code> or <code>--id</code>. Find the ID with <code>devo admin user list</code>.</td></tr><tr><td><code>serverUserCreateFailed</code></td><td>1</td><td><code>devo admin user create</code>: Devolutions Server didn't create the user.</td><td>Read the message. Check that the username isn't already used and that the password meets the server's rules.</td></tr><tr><td><code>serverUserDeleteFailed</code></td><td>3</td><td><code>devo admin user delete</code>: Devolutions Server didn't delete the user.</td><td>Read the message and check your administrator rights, then try again.</td></tr><tr><td><code>serverUserGetFailed</code></td><td>1 or 3</td><td>Devolutions Server didn't return the user that the command works on. The exit code is 1 with <code>devo admin user update</code> and 3 with <code>devo admin user delete</code>.</td><td>Check the user with <code>devo admin user list</code>, then try again.</td></tr><tr><td><code>serverUserListFailed</code></td><td>3</td><td>Devolutions Server didn't return its users, for example with <code>devo admin user list</code>, or while finding a user by name.</td><td>Check your rights, then try again.</td></tr><tr><td><code>serverUserPurgeFailed</code></td><td>1</td><td><code>devo admin user trash purge</code>: Devolutions Server didn't permanently delete the user.</td><td>Check the ID with <code>devo admin user trash list</code>, then try again.</td></tr><tr><td><code>serverUserRestoreFailed</code></td><td>1</td><td><code>devo admin user trash restore</code>: Devolutions Server didn't restore the user.</td><td>Check the ID with <code>devo admin user trash list</code>, then try again.</td></tr><tr><td><code>serverUserTrashListFailed</code></td><td>1</td><td><code>devo admin user trash list</code>: Devolutions Server didn't return the deleted users.</td><td>Check your administrator rights, then try again.</td></tr><tr><td><code>serverUserUpdateFailed</code></td><td>1</td><td><code>devo admin user update</code>: Devolutions Server didn't save the changes to the user.</td><td>Read the message, check the values you passed, then try again.</td></tr><tr><td><code>userNotFound</code></td><td>4</td><td>The user wasn't found, for example with <code>devo admin user get</code>, <code>update</code>, <code>delete</code>, or <code>groups</code>.</td><td>Check the name, email, or ID with <code>devo admin user list</code>. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md#users">Users</a>.</td></tr><tr><td><code>userSelectorAmbiguous</code></td><td>3</td><td>More than one user has the name you gave, so Devolutions CLI won't guess which one to change.</td><td>Give the user by ID with <code>--id</code>. See <a href="/cli/for-devops-and-administrators/manage/users-and-access.md#users">Users</a>.</td></tr></tbody></table>

## MCP

Errors returned by the MCP tools of Devolutions CLI. They are returned in the tool result, so they have no exit code. See [Connect an AI client with MCP](/cli/guides/ai-agents/connect-mcp.md).

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>runtimeUnavailable</code></td><td>—</td><td>Returned by an MCP tool: no background process is available to run the tool. The MCP server keeps running.</td><td>Run <code>devo daemon status</code>, start or restart the background process with <code>devo daemon restart</code>, then call the tool again. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>daemonOperationFailed</code></td><td></td><td>An MCP tool that controls the background process failed. It's returned to the AI client as the tool result, not as an exit code.</td><td>Run <code>devo daemon status</code>, then <code>devo daemon restart</code>. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr></tbody></table>

## Background process

Errors from the background process that keeps your workspaces loaded. See [The background process won't start](/cli/help/troubleshooting/daemon-wont-start.md).

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>automationSessionNotInitialized</code></td><td>3</td><td>The background process received the command before it finished loading the local profile.</td><td>Run the command again. If it keeps failing, run <code>devo daemon restart</code>. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>invalidRequest</code></td><td>3</td><td>The background process received a request it couldn't read.</td><td>Restart the background process with <code>devo daemon restart</code> and run the command again. If it persists, see <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>daemonTimeout</code></td><td>3</td><td>The background process didn't answer in time, or the request was cancelled without an interruption from you.</td><td>Run <code>devo daemon status</code>, then <code>devo daemon restart</code>, and run the command again. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>invalidSubmittedSecret</code></td><td>3</td><td>A password or passphrase that Devolutions CLI passed to the background process arrived in an unreadable form.</td><td>Run the command again. If it keeps failing, run <code>devo daemon restart</code>, then collect diagnostics for support. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>daemonRequestFailed</code></td><td>—</td><td>A request to the background process failed because the connection broke. Reported by MCP tools, and for one session in the output of <code>devo daemon sessions</code>, which still succeeds.</td><td>Run <code>devo daemon status</code>, then <code>devo daemon restart</code>. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>providerSelectionChanged</code></td><td>3 or 1</td><td>The workspace selected for this command isn't the one the background process was started with, for example after <code>devo context use</code> or with <code>--source</code>. With Devolutions Cloud, it can also mean that the reference names another workspace than the selected context. Exit code <code>3</code> with workspace, vault, and entry commands; <code>1</code> with <code>devo secret</code> commands.</td><td>Run the command again, or run <code>devo daemon restart</code>. For a reference, check that its workspace matches the selected context. See <a href="/cli/help/troubleshooting/reference-does-not-resolve.md#use-the-right-context">Use the right context</a>.</td></tr><tr><td><code>headlessBootstrapFailed</code></td><td>Depends on the command</td><td>The background process couldn't load the local Devolutions Remote Desktop Manager profile, and no more precise reason was returned. Usually <code>3</code>; <code>1</code> with <code>devo secret</code> commands and <code>devo config unlock</code>.</td><td>Run <code>devo daemon restart</code>. If it keeps failing, run <code>devo doctor</code> and see <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>missingSubmittedSecret</code></td><td>3</td><td>A password or passphrase that the command needed, such as a user password, a workspace passphrase, or an entry password, didn't reach the background process.</td><td>Run the command again. If it keeps failing, run <code>devo daemon restart</code>, then collect diagnostics for support. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>daemonIoError</code></td><td>3</td><td>The connection to the background process broke while the command was running.</td><td>Run <code>devo daemon status</code>, then <code>devo daemon restart</code>, and run the command again. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>ipcHandlerError</code></td><td>3</td><td>The background process hit an unexpected error while processing the command.</td><td>Run <code>devo daemon restart</code> and try again. If it persists, run <code>devo doctor</code> and contact support. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>daemonUnavailable</code></td><td>3</td><td>The background process couldn't be reached or isn't running, or it was turned off with <code>--daemon never</code> for a command that needs it. <code>devo daemon sessions</code> also shows it for a session that can't be reached, and the MCP tool that reloads the runtime returns it when no background process is registered.</td><td>Run <code>devo daemon status</code>, then <code>devo daemon start</code> or <code>devo daemon restart</code>. Don't use <code>--daemon never</code> with this command. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>methodNotFound</code></td><td>3</td><td>The background process doesn't know the request it received, for example because it was started by another version of Devolutions CLI.</td><td>Run <code>devo daemon restart</code>, so the background process matches the <code>devo</code> you run.</td></tr><tr><td><code>daemonRequestTimedOut</code></td><td>—</td><td>The background process didn't answer in time. Reported by MCP tools, and for one session in the output of <code>devo daemon sessions</code>, which still succeeds.</td><td>Run <code>devo daemon status</code>, then <code>devo daemon restart</code>. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>unauthorized</code></td><td>3</td><td>The background process refused the request: the access token Devolutions CLI uses to talk to it is missing or invalid, for example after the background process was restarted from another session. When Devolutions CLI is allowed to start the background process, it retries on its own and you don't see this code.</td><td>Run <code>devo daemon restart</code>, then the command again. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>headlessBootstrapNotImplemented</code></td><td>Depends on the command</td><td>The background process is running, but no local profile is loaded. It shows in <code>devo daemon status</code>, and as the code of commands that need the profile: usually <code>3</code>, <code>1</code> with <code>devo secret</code> commands.</td><td>Check the profile folder with <code>devo config path</code>, select a workspace, then run <code>devo daemon restart</code>. See <a href="/cli/guides/connect/local-profile.md">Use a local Devolutions Remote Desktop Manager profile</a>.</td></tr><tr><td><code>daemonConfigRootMismatch</code></td><td>3</td><td>The running background process serves a different Devolutions Remote Desktop Manager profile folder than the one this command selects, for example after you changed <code>RDM_CONFIG_PATH</code>.</td><td>Run <code>devo daemon restart</code> so the background process uses the selected folder. See <a href="/cli/help/troubleshooting/daemon-wont-start.md">The background process won't start</a>.</td></tr><tr><td><code>daemonRequestCanceled</code></td><td>—</td><td>A request to the background process was cancelled. Reported by MCP tools.</td><td>Run the tool again.</td></tr></tbody></table>

## Configuration and diagnostics

Errors from `devo config`, `devo doctor`, and related commands.

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>configRootUnavailable</code></td><td>1</td><td><code>devo config path</code> couldn't work out which Devolutions Remote Desktop Manager configuration folder to use.</td><td>Check the <code>RDM_CONFIG_PATH</code> environment variable, see <a href="/cli/reference/environment-variables.md">Environment variables</a>. If it persists, run <code>devo doctor</code>.</td></tr></tbody></table>

## Other

Errors that any command can return.

<table><thead><tr><th width="270">ERROR CODE</th><th width="80">EXIT CODE</th><th>WHAT IT MEANS</th><th>WHAT TO DO</th></tr></thead><tbody><tr><td><code>directoryNotFound</code></td><td>2, 1, or 4</td><td>The folder of the output file given with <code>--out-file</code> doesn't exist. The exit code depends on the command: <code>2</code> with <code>devo config export</code>, <code>devo daemon profile start</code>, and <code>devo generate ssh-key</code>; <code>1</code> with <code>devo secret read</code>, <code>devo secret inject</code>, and <code>devo secret get</code>; <code>4</code> with <code>devo variable export</code> and <code>devo logs export</code>.</td><td>Create the folder first, or give a path in an existing folder.</td></tr><tr><td><code>fileNotFound</code></td><td>2</td><td><code>devo generate ssh-key</code>: the file given with <code>--passphrase-file</code> doesn't exist.</td><td>Check the path. See <a href="/cli/guides/generate.md">Generate passwords and SSH keys</a>.</td></tr><tr><td><code>environmentVariableMissing</code></td><td>2</td><td><code>devo generate ssh-key --passphrase-env</code> names an environment variable that isn't set or is empty.</td><td>Set the variable in the same shell, or use <code>--passphrase-file</code>. See <a href="/cli/guides/generate.md">Generate passwords and SSH keys</a>.</td></tr><tr><td><code>unexpectedError</code></td><td>1</td><td>An error Devolutions CLI didn't expect. The message gives the details.</td><td>Run <code>devo doctor</code> and contact support. See <a href="/cli/help/troubleshooting/collect-diagnostics.md">Collect diagnostics for support</a>.</td></tr><tr><td><code>emptySecret</code></td><td>2</td><td>The file given with <code>devo generate ssh-key --passphrase-file</code> is empty.</td><td>Write the passphrase in the file, or leave out the option to create a key without a passphrase.</td></tr><tr><td><code>fileExists</code></td><td>2 or 1</td><td>The output file already exists, and Devolutions CLI doesn't overwrite files unless asked. Exits with <code>2</code> with <code>devo config export</code>, <code>devo daemon profile start</code>, and <code>devo generate ssh-key</code>, and with <code>1</code> with <code>devo secret read</code>, <code>devo secret inject</code>, <code>devo secret get</code>, <code>devo variable export</code>, and <code>devo logs export</code>.</td><td>Pass <code>--force</code> to overwrite the file, or choose another path. With the MCP tool that exports activity logs, set its force argument.</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/reference/error-codes.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.
