Command line
The terminal.
The real way in.
`dials` is a typed, permission-checked, shell-friendly CLI. It runs the same actions the dashboard and the API run. Use it locally, in CI, in agents, in dotfiles.
At a glance
A CLI you can script around.
Install
`npm i -g @dials/cli`
Single binary install. Bun and Deno also supported.
Output
Human or JSON
Default human. Pass `--json` and pipe to `jq`.
Auth
Verified identity
Logs in via the same identity surface as the console.
Exit codes
Meaningful
Non-zero on policy deny, network error, or validation failure.
Health check
One command.
End-to-end.
`dials agent smoke` runs an identity check, talks to the backend, and lands a usage record. `dials agents create` and `dials numbers assign` then use the same session to put a seat on a DID.
- Checks identity
- Checks the backend
- Creates seats
- Assigns numbers
Agent
$ dials agents create \
--name Reception \
--role "Inbound triage" \
--voice-model chatterbox-turbo
{
"ok": true,
"agent": { "id": "agent_reception" },
"next": "agent_ready_for_number_or_workflow"
}Assign
$ dials numbers assign \
--number-id pn_123 \
--resource-kind agent_profile \
--resource-id agent_reception
{
"ok": true,
"next": "number_assignment_active"
}Versioned
Print the build.
Inspect the path.
`dials version` prints the CLI version, the API version it speaks, and the platform endpoint it's pointed at. `dials whoami` prints your identity, your tenant, and the audience.
- Per-command tracing
- `--profile` for multi-tenant work
- `--mode test` and `--mode live`
- Per-command `--permissions`
version
$ dials version
dials 1.6.0 · api v1 · platform.dials.comwhoami
$ dials whoami
subject: agent · reception
scope: dials.local.read dials.dial
tenant: acme-corp
audience: platform.dials.comTry `dials --help`.
Install the CLI and walk the same actions the console exposes. Safe local environment by default.