Appearance
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 | shmacOS 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
| Flag | Meaning |
|---|---|
-c, --critical | Critical 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, --quiet | Suppress 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 statusAll commands
| Command | Description |
|---|---|
anypager <MESSAGE> | Send an alert (no subcommand needed) |
anypager login | Authenticate via magic link and pair automatically |
anypager pair <CODE> | Pair using a 6-character dashboard code |
anypager unpair | Remove this device |
anypager status | Show account status |
anypager send <MESSAGE> | Send an alert with target/workspace flags |
anypager workspace list | List accessible workspaces |
anypager workspace use <ID> | Select the default workspace |
anypager targets | List 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.
