Install & onboarding
Install & onboarding
The dial CLI is the fastest way to use Dial and the surface most agents drive. Install it once, sign up, and you’re authenticated for every command.
Install
Requires Node 22 or newer. Confirm the install:
Create an account
Dial uses an email one-time code — no password.
onboard creates your account, issues an API key, saves it locally, and provisions your first phone number. --inbound-instruction is optional — it becomes that number’s inbound voice-agent prompt, and a default greeting is used if you omit it (change it later with dial number set). If you need to pass the verification explicitly, use --verification-id <id>; otherwise the CLI uses the pending sign-up from the previous step.
Check your setup
doctor reports your account, saved key, and number — and tells you the next step if anything is missing. Add --json for machine-readable output.
Where your key is stored
After onboard, your key lives in ~/.local/share/dial/auth.v1.json (honoring XDG_DATA_HOME). Every dial command reads it automatically — you never paste your key again. The v1 in the name is the file’s schema version: when an update changes a state file’s shape, the CLI migrates the old file forward on first read, so updates never lose your sign-in.
Pointing at another environment
Set DIAL_API_URL to send CLI requests to a different deployment:
Updating
The CLI keeps itself current. At most once an hour, any command spawns a detached background npm install -g @getdial/cli@latest (global npm installs only — npx runs already resolve the latest version on each invocation). The background check never touches a command’s output; its progress lands in ~/.local/state/dial/cli.log. Set DIAL_NO_AUTO_UPDATE=1 to turn it off.
To update on demand:
If the background listen service is running, it notices the new version within a couple of minutes and restarts itself onto it.
Uninstall
One command removes everything Dial put on the machine — the listen daemon, the installed agent skills, and all local state including the saved API key — then prints the final step:
Uninstall is local-only: your account and numbers are untouched. Coming back is the same email flow — dial signup + dial onboard.