This page describes
vio 1.0.6. Check yours with vio --version, and run
vio update if you are behind.Commands
Running
vio with no arguments opens the interactive shell. A dash in the
shell column means the command is subcommand-only: vio run, vio run-key and vio update.
The shell also has a few commands with no subcommand: /clear, /exit, /quit,
/session, /tier and /create.
vio <command> --help shows every option.
Options
--json is also accepted by vio whoami, vio status, vio show, vio upgrade, vio providers
and vio help.
Exit codes
Error codes
With--json, every failure is reported the same way:
-
stdout is empty, and the last line on stderr is one JSON object:
codeis one of the codes below. Some commands add fields insideerror— a failedvio deployorvio connectadds thestageit stopped at, andvio connectadds what happened to the runningagent— butcodeandmessageare always there. -
vio validateandvio digestare the exceptions: they print the error object on stdout, because a validation result is their output. -
The exit code always matches: a sign-in failure exits
3from every command, includingvio deployandvio connect; an invalid argument exits2; out of credits exits4.
vio cannot parse at all — a missing required argument, an unknown option —
is rejected before any command runs, as one plain-text line (error: …) with exit 2.
Machine-readable manifest
humanStep: null when it never stops on you, or the step only you can take, either
browser_consent or tty_prompt, with a when that says in which case. Scripts and AI agents should
read this instead of parsing --help.