Skip to content

CLI

anypager is a single-binary CLI for sending alerts from your terminal, scripts, and cron jobs.

Install

bash
curl -fsSL https://anypager.app/install.sh | sh

macOS only for now. The binary lands in /usr/local/bin/anypager.

Authenticate

bash
$ anypager login
Email: you@example.com
Check your email for the magic link...
Logged in and paired! Try: anypager 'hello world'
bash
# Generate a code in the dashboard first.
$ anypager pair ABC123
Paired successfully! Try: anypager 'hello world'

login sends you a magic link and pairs the CLI automatically once you click it. Credentials are stored in ~/.anypager/config.toml.

Send alerts

The message is the whole point, so it works with no subcommand at all:

bash
anypager "deploy finished"
anypager --critical "prod DB is down"

Or explicitly via send:

bash
anypager send "deploy finished"
anypager send --critical "prod DB is down"
anypager send --target member:usr_abc123 "your build broke"
anypager send --target group:grp_backend "API error rate over 5%"
anypager send --target schedule:sch_oncall --critical "paging whoever is on call"

Output:

text
Alert alrt_9k2f queued for 1 responder(s)

Send flags

FlagMeaning
-c, --criticalCritical alert: breaks through silence, Do Not Disturb, and Focus
--workspace <ID>Send in a specific workspace (defaults to the selected one)
--target <kind:id>Destination: member:<id>, group:<id>, or schedule:<id>
-q, --quietSuppress output

Without --target, the alert goes to you — the paired account's member.

Bare form uses split target flags

The subcommand-less form (anypager "msg") takes the target as two flags instead: --target-type member --target <id>. Prefer anypager send with the combined --target member:<id> form.

Workspaces and targets

bash
anypager workspace list          # list accessible workspaces
anypager workspace use ws_123    # select the default workspace
anypager targets                 # list groups and schedules in it
anypager status                  # show account, device, and workspace status

All commands

CommandDescription
anypager <MESSAGE>Send an alert (no subcommand needed)
anypager loginAuthenticate via magic link and pair automatically
anypager pair <CODE>Pair using a 6-character dashboard code
anypager unpairRemove this device
anypager statusShow account status
anypager send <MESSAGE>Send an alert with target/workspace flags
anypager workspace listList accessible workspaces
anypager workspace use <ID>Select the default workspace
anypager targetsList groups and on-call schedules

Every command exits non-zero on failure, so && / || chains behave as expected in scripts:

bash
./deploy.sh || anypager --critical "deploy failed on $(hostname)"

Configuration

~/.anypager/config.toml stores the device key (dk_…), device id, and the selected workspace. Delete the file or run anypager unpair to reset.

AnyPager — push-first on-call paging.