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.com
whoami
$ dials whoami

subject:  agent · reception
scope:    dials.local.read dials.dial
tenant:   acme-corp
audience: platform.dials.com

Try `dials --help`.

Install the CLI and walk the same actions the console exposes. Safe local environment by default.