Documentation

Pushover CLI

pushover-pp-cli

Install

npx -y @mvanhorn/printing-press-library install pushover

Installs the CLI binary and the agent skill for Claude Code, Codex, Cursor, Gemini CLI, Copilot, and more. Add --cli-only or --skill-only for one half. Requires Node.

Documentation

Pushover from the terminal: send alerts, watch emergency receipts, inspect quota, and keep a redacted local notification ledger.

pushover-pp-cli covers the full official API instead of stopping at send-message. It adds agent-safe env defaults, receipt lifecycle tools, quota preflight, and local history so alerts are auditable.

Created by @twidtwid (Todd Dailey).

Authentication

Use a Pushover application token and user key. Set PUSHOVER_APP_TOKEN and PUSHOVER_USER_KEY, or pass --app-token and --user-key explicitly. Legacy PUSHOVER_TOKEN/PUSHOVER_USER names are accepted for local compatibility.

Quick Start

# Check send budget before test notifications
pushover-pp-cli quota --json

# Send a low-priority test notification
pushover-pp-cli notify "Printing Press test" --priority low --json

# Review sends recorded by the CLI
pushover-pp-cli history list --since 24h --json

Unique Features

These capabilities aren't available in any other tool for this API.

Agent-native plumbing

  • notify — Send a notification from an argument or stdin with env/config defaults, named priorities, and emergency validation.

    Lets agents send test or operational notifications without leaking token values or remembering the raw endpoint shape.

    pushover-pp-cli notify "Printing Press test" --priority low --json
    

Receipt operations

  • emergency watch — Send or monitor an emergency notification receipt, polling acknowledgement status and supporting cancellation.

    Turns emergency notifications from fire-and-forget sends into an auditable on-call workflow.

    pushover-pp-cli emergency watch --receipt <receipt> --poll-interval 30s --cancel-on-timeout --json
    

Operational safety

  • quota — Show monthly send limit, remaining sends, and reset time from the app limits endpoint.

    Agents can check send budget before fanout or repeated test sends.

    pushover-pp-cli quota --json
    

Local state that compounds

  • history — Search and export a local redacted ledger of notifications sent by this CLI and receipt outcomes.

    Shows what this CLI sent, when, with which priority, without storing raw user keys or tokens.

    pushover-pp-cli history list --since 24h --json
    
  • inbox sync — Download Open Client messages into local SQLite before optional server-side delete-through.

    Makes Pushover usable as both send channel and retrievable inbox for agents that own an Open Client device.

    pushover-pp-cli inbox sync --device-id <device-id> --json
    

Usage

Run pushover-pp-cli --help for the full command reference and flag list.

Commands

notify

Send an agent-safe notification from an argument, --message, or stdin. Uses PUSHOVER_APP_TOKEN and PUSHOVER_USER_KEY when flags are omitted, accepts named priorities, validates emergency retry fields, and records a redacted local history row.

  • pushover-pp-cli notify - Send a Pushover notification with env defaults and local history

emergency

Watch emergency-priority receipts until acknowledgement, expiry, callback, or timeout.

  • pushover-pp-cli emergency watch - Poll an emergency receipt at a safe cadence

quota

Check application send quota before test sends or batches.

  • pushover-pp-cli quota - Show monthly limit, remaining sends, and reset time

history

Inspect this CLI's local redacted notification ledger.

  • pushover-pp-cli history - List locally recorded notification sends
  • pushover-pp-cli history show - Show one local history row

inbox

Download Open Client messages into local SQLite before optional delete-through.

  • pushover-pp-cli inbox sync - Store downloaded Open Client messages locally
  • pushover-pp-cli inbox list - List locally synced Open Client messages

apps

Inspect application-level message quotas

  • pushover-pp-cli apps limits - Check monthly message limit, remaining sends, and reset time

devices

Manage Open Client devices

  • pushover-pp-cli devices create - Register a new Open Client desktop device
  • pushover-pp-cli devices delete-through - Delete downloaded Open Client messages up to a highest message id

glances

Update Pushover Glances widgets

  • pushover-pp-cli glances update - Update Glances widget fields

groups

Create, inspect, and manage Pushover delivery groups

  • pushover-pp-cli groups add-user - Add a user to a delivery group
  • pushover-pp-cli groups create - Create a delivery group
  • pushover-pp-cli groups disable-user - Temporarily disable a group user
  • pushover-pp-cli groups enable-user - Re-enable a disabled group user
  • pushover-pp-cli groups get - Get a delivery group's name and users
  • pushover-pp-cli groups list - List delivery groups owned by the account
  • pushover-pp-cli groups remove-user - Remove a user from a delivery group
  • pushover-pp-cli groups rename - Rename a delivery group

licenses

Assign and inspect Pushover license credits

  • pushover-pp-cli licenses assign - Assign a pre-paid license credit to a user or email
  • pushover-pp-cli licenses credits - Check remaining license credits

messages

Send application notifications and download Open Client messages

  • pushover-pp-cli messages download - Download pending messages for an Open Client device
  • pushover-pp-cli messages send - Send a Pushover notification

receipts

Inspect and cancel emergency-priority message receipts

  • pushover-pp-cli receipts cancel - Cancel retries for one emergency-priority receipt
  • pushover-pp-cli receipts cancel-by-tag - Cancel active emergency-priority retries matching a tag
  • pushover-pp-cli receipts get - Get emergency-priority receipt status

sounds

Discover notification sounds

  • pushover-pp-cli sounds list - List built-in and account custom notification sounds

subscriptions

Manage Pushover subscription migrations

  • pushover-pp-cli subscriptions migrate - Migrate an existing user key into a subscription user key

teams

Manage Pushover for Teams membership

  • pushover-pp-cli teams add-user - Add a user to a team
  • pushover-pp-cli teams get - Show team information and users
  • pushover-pp-cli teams remove-user - Remove a user from a team

users

Validate users and log in for Open Client sessions

  • pushover-pp-cli users login - Log in a user for Open Client and return a user key plus session secret
  • pushover-pp-cli users validate - Validate a user or group key and optional device

Output Formats

# Human-readable table (default in terminal, JSON when piped)
pushover-pp-cli groups list --app-token your-token-here

# JSON for scripting and agents
pushover-pp-cli groups list --app-token your-token-here --json

# Filter to specific fields
pushover-pp-cli groups list --app-token your-token-here --json --select id,name,status

# Dry run — show the request without sending
pushover-pp-cli groups list --app-token your-token-here --dry-run

# Agent mode — JSON + compact + no prompts in one flag
pushover-pp-cli groups list --app-token your-token-here --agent

Agent Usage

This CLI is designed for AI agent consumption:

  • Non-interactive - never prompts, every input is a flag
  • Pipeable - --json output to stdout, errors to stderr
  • Filterable - --select id,name returns only fields you need
  • Previewable - --dry-run shows the request without sending
  • Explicit retries - add --idempotent to create retries when a no-op success is acceptable
  • Confirmable - --yes for explicit confirmation of destructive actions
  • Piped input - write commands can accept structured input when their help lists --stdin
  • Offline-friendly - sync/search commands can use the local SQLite store when available
  • Agent-safe by default - no colors or formatting unless --human-friendly is set

Exit codes: 0 success, 2 usage error, 3 not found, 5 API error, 7 rate limited, 10 config error.

Health Check

pushover-pp-cli doctor

Verifies configuration and connectivity to the API.

Configuration

Config file: ~/.config/pushover-pp-cli/config.toml

Static request headers can be configured under headers; per-command header overrides take precedence.

Troubleshooting

Not found errors (exit code 3)

  • Check the resource ID is correct
  • Run the list command to see available items

API-specific

  • notification send returns invalid user — Run users validate with the same user key and optional device before saving the destination
  • priority 2 send fails — Provide retry >= 30 and expire <= 10800; use emergency watch for a safer flow
  • 429 quota response — Run quota and wait until reset or reduce send volume

Sources & Inspiration

This CLI was built by studying these projects and resources:

Generated by CLI Printing Press

For agents: pass /documentation/pushover/agents.md to install this CLI from a prompt.