vanishDOCS

Runs and recovery

A Run is one command executed by Vanish. Put vanish in front of the command, with any Vanish flags in between:

vanish --cpu 8 --mem 16 sh -c 'echo hello'
vanish --dry-run --cpu 8 --mem 16 sh -c 'echo hello'
vanish config

--dry-run prints the run plan without starting anything, and vanish config prints every effective setting and where it came from. There is no run subcommand and no -- separator. When your program has the same name as a Vanish subcommand, call it by path, as in vanish ./serve.

The default shape is 8 vCPU and 16 GiB, served from machines that are already running. A larger --cpu or --mem waits for a new machine to boot, about 26 seconds before the first output, so raise them when the work is worth that wait.

Workers run Linux. Your working tree travels with the command; the tools installed on your laptop do not, so install what the command needs with a toolchain.

The command's stdout, stderr and exit code come back to your shell, and Ctrl-C cancels the Run. Files the command writes stay staged until you apply them, including the partial output of a command that failed.

Limits and errors

Error or conditionWhat to do
Not signed in, or unauthorizedRun vanish login; see login.
Credits exhaustedCheck your balance on the account page, and ask in the Discord if you need more.
Concurrent Run limit reachedWait for an active Run to finish, then retry.
Invalid requestCheck vanish help, and put Vanish flags before the command.
Capacity or temporary service failureKeep the Run ID or operation ID and the error text. Check whether the command started before you rerun it.
Result download lostKeep the Run ID and snapshot reference it printed. Check vanish results before rerunning a command with external side effects.
Apply would overwrite filesRun vanish results apply TOKEN --dry-run, inspect, then decide whether to pass --force --yes.

Rerunning a command that already started can repeat its network requests and other external effects. Each Run starts with no processes from earlier Runs, so start a server and its client in the same command when they must run together.

On this page