Skip to main content
The Tallwatch CLI is a thin client over the public REST API. Use it in CI, on your laptop, or to import monitors from UptimeRobot. The control plane stays on Tallwatch — the CLI only calls https://api.tallwatch.com.

Install

Requires Node.js 20+.
Or with npm:
Verify:

Sign in

Run tallwatch login with no flags. The CLI starts a device session, opens your browser, and polls until you approve.
  1. The terminal prints a one-time code and opens your browser.
  2. Sign in if needed — approval is automatic when the URL includes your code.
  3. Tallwatch creates an API key and delivers it to the CLI over the short-lived device session.
  4. The browser tab can close. The terminal prints login success.
This works on SSH and remote machines: the browser can run on your laptop while the CLI runs on a server. Use --no-browser to print the URL yourself. The key is saved to ~/.config/tallwatch/config.json (mode 0600 on Unix). On Windows the path is %USERPROFILE%\.config\tallwatch\config.json.

Manual key

Paste a key directly:
Create keys in , or run tallwatch login to authorize from the terminal.

Environment overrides

Use tallwatch login --no-browser when the CLI runs on a remote machine and you open the login URL on your laptop.

Sign out

Removes ~/.config/tallwatch/config.json. It does not revoke the API key in the dashboard — revoke CLI login keys from if you want them dead server-side.

Update and uninstall

update checks npm and installs the newer package with the same Node/npm that runs tallwatch (important if you use fnm or nvm). uninstall clears local login and removes the global package. If a bare npm uninstall -g @tallwatch/cli does nothing, Homebrew npm and your fnm/nvm Node are different installs. Use tallwatch uninstall, or which -a tallwatch / which -a npm to align them.

Commands

Same surface as the , plus comfort commands for the shell. Add --json on list, show, and mutating commands for scripting. List --limit max is 15. Omit <id> to pick interactively, or pass a unique name. Examples:

UptimeRobot import

Move existing UptimeRobot monitors into Tallwatch without retyping URLs. Use Monitors → Import in the app (drag/drop JSON dialog), or the CLI below. Both use the same mapper. Readable fields preferred (type: "http", keyword_type: "contains", http_method: "GET"). Real UptimeRobot getMonitors exports with numeric codes still work. Export with custom_http_statuses and custom_http_headers set to 1 so those fields are included. Created monitors use regions fra1, iad1, and sgp1. Dry-run is the CLI default; nothing is written until --apply. Samples: docs/fixtures/uptimerobot-sample.json (readable) and docs/fixtures/uptimerobot-export-sample.json (numeric getMonitors shape).
1

Create an UptimeRobot API key

Open . Create a Main or Read-only API key and copy it. You need it only for the export curl below — Tallwatch never stores this key.
2

Export monitors

Pull the monitor list into a local JSON file. Replace UPTIME_ROBOT_API_KEY with the key you copied.
3

Dry-run the mapping

Preview creates and skips. No Tallwatch monitors are created. You do not need tallwatch login for this step.
Review the + create lines and - skip reasons before you apply.
4

Apply

Create the mapped monitors in your active org. Sign in first (tallwatch login or TALLWATCH_API_KEY) with a key that has write scope. Confirm the create count — --apply writes for real; --yes skips the interactive confirm. Watch your plan monitor cap.

Auth and limits

The CLI uses the same and as curl or MCP. Keys need read to list; write to create, pause, or resolve. CLI login creates a key named CLI login with read + write scopes. Revoke it anytime from Settings. . for AI agents. Install page: .