Exit codes¶
fxv exits with 0 when a command succeeds and with a non-zero code when it does not. Most failures exit with 1. A few conditions that a script or integration is likely to handle differently have a code of their own, so the caller can act on them without parsing the error message.
| Code | Meaning | What to do |
|---|---|---|
0 |
The command succeeded. | Nothing. |
1 |
The command failed. This covers every failure without a code of its own, including a remote repository that could not be reached or read. | Read the error message, which states the problem and, where there is one, the fix. |
3 |
fxv upgrade --check completed, and a registered integration does not support the release it would install. |
Update the integration, or upgrade to a release within its range with fxv upgrade --to <VERSION>. |
96 |
The repository uses an older format, and must be upgraded before this version of fxv can use it. |
Run fxv repo upgrade. See Upgrade Your Repository. |
97 |
The remote endpoint answered, but there is no FlexVault repository at it. | Create one there with fxv repo new, or check the endpoint URL if the repository should already exist. |
98 |
A previous command was interrupted, so the workspace is in an inconsistent state. | Run fxv resume to finish the command, or fxv resume --rollback to undo it. See Recover an Interrupted Command. |
99 |
Another fxv process, such as a command run from another terminal or an editor plugin, is using the workspace. The message includes that process's ID and command when they are known. |
Try again once the other command has finished. If no fxv process is running, fxv doctor --fix clears the lock it left behind. |
Exit codes in JSON output¶
With --format json, a failed command prints an envelope whose message.kind is error. Its payload contains the error message and the same exit_code the process exits with, so a script reading the JSON does not need to check the process exit code separately. See Output Formats.