Install
pnpm add -g @voyant-travel/cli. Check it works:
Two modes
Open source, no login required. Scaffolding, code generation, config inspection, database tooling, workflow tooling, and a TypeScript script runner. These work standalone.Built for agents
Every cloud command takes--json for machine-readable output and returns a stable { "error": { "code", "message" } } envelope on failure. Destructive actions require --yes, and nothing prompts when there is no TTY — so an agent (or a CI job) can drive the entire control plane unattended.
Logging in
voyant login runs an OAuth 2.0 device-code flow (RFC 8628) against https://api.voyant.travel/cli/v1/device/*. It prints a verification URL, opens it in your browser, and polls until you approve. Suppress the browser with --no-browser.
For CI or headless use, mint an API token in the dashboard tokens UI and paste it:
Organizations
API tokens are organization-bound, so each organization you log in to is stored as its own token. When you belong to several, pick which one commands target:--org <slug|id> or the VOYANT_CLOUD_ORG environment variable. If several orgs are logged in and none is selected, commands fail with a clear message rather than guessing.
Where credentials live
The minted token is stored in~/.voyant/credentials.json (mode 0600), keyed by API URL and organization — so you can be logged into multiple environments (production, staging, a self-hosted instance) and multiple organizations at once.
On every cloud command, the token is resolved in this order:
- A
--token <value>flag. - The
VOYANT_CLOUD_API_KEYenvironment variable. - The stored credential for the resolved API URL and active organization.
--org → VOYANT_CLOUD_ORG → the org set with voyant org use → the sole logged-in org.
A typical flow
Next steps
Command reference
Every command, subcommand, and flag.