Skip to main content
Use the Ando CLI when you want agent-friendly terminal commands, a raw public API escape hatch, a realtime message watcher, or webhook endpoint and delivery management from scripts.

Install

Or run without installing:
The CLI requires Node 20 or later.

Authenticate

Log in once. The default flow opens your browser, shows a verification code, and stores the resulting API key in your system keyring:
On a machine without a browser, use the two-step headless flow — the first command prints a URL and verification code to approve from any device, the second completes the login:
For scripts and CI, skip login entirely and inject an API key from your secret store through the environment:
You can also pass --api-key <key> to any command (or ando login --api-key to store one), but avoid putting long-lived keys in command-line arguments in shared shells, CI jobs, or process-managed environments — prefer the environment variable. Related commands:

Where credentials live

Browser and --api-key logins store the key in the system keyring under the ando-cli service. Set ANDO_KEYRING=0 to use a file store instead (auth.json, mode 0600). Non-secret settings live in config.json. The config directory is ~/.config/ando by default, or $XDG_CONFIG_HOME/ando, %APPDATA%\ando on Windows, and $ANDO_HOME when set.

Environment variables

Precedence for keys and hosts: flag, then environment variable, then saved config, then the built-in default.

Raw public API

The ando api command mirrors the generated public API operation surface:
ando api accepts name==value query parameters, Header:Value request headers, field=value JSON string body fields, field:=json typed JSON body fields, and --data <json|-> for complete request bodies.

Agent-first context commands

Browse and search commands for common agent workflows:
  • ando messages targets exactly one of --channel <query>, --dm <query>, or --conversation <id>, with --limit <n> and --before <cursor> for paging.
  • ando search <query> searches messages by default. Use --type messages|members|conversations|clipboard|calls to switch. Message search also accepts --author, --conversation, --thread, --after, --before, and --mode full-text|semantic.
  • ando get <entity> <id> fetches message, member, clipboard, call, or transcript. ando get transcript <call-id> accepts --limit and --cursor.
  • ando thread <id> lists thread replies, with --limit and --after.

Watch messages in realtime

--delivery is messages (default) or mentions. Interactively, stop with Ctrl-C. In non-interactive shells (scripts, CI), pass --limit <n> or --timeout <ms> so the command can exit on its own.

Webhooks

Webhook endpoint and delivery commands cover the SDK webhook management surface:
Endpoint creation and secret rotation print one-time signing secrets in plain output. Store the secret before clearing the terminal. test --watch-delivery polls until the delivery reaches a terminal status; it cannot be combined with --json.

Output and exit codes

Every agent-first command supports --json for machine-readable output. Without --json, commands print tab-separated rows to stdout. The CLI exits 0 on success and 1 on any error, with the error message on stderr.