A local CLI that acknowledges PagerDuty incidents only when the configured user is on call.
View the Project on GitHub nithishduda-ai/pagerduty-oncall-ack
On macOS or Linux with Homebrew installed:
brew install nithishduda-ai/tap/pagerduty-oncall-ack
pd-auto-ack --version
This installation includes the optional terminal dashboard. See the Homebrew guide for upgrade, uninstall, and troubleshooting steps.
Use pipx when Homebrew is unavailable or when you prefer a Python-managed installation.
macOS with Homebrew:
brew install pipx
pipx ensurepath
exec zsh -l
Linux:
python3 -m pip install --user pipx
python3 -m pipx ensurepath
exec "$SHELL" -l
Install from PyPI:
pipx install pagerduty-oncall-ack
pd-auto-ack --version
Install with the optional terminal dashboard:
pipx install "pagerduty-oncall-ack[tui]"
pd-auto-ack tui --env-file ~/.pd-auto-ack.env
For an existing pipx install:
pipx inject pagerduty-oncall-ack textual
Upgrade a pipx installation:
pipx upgrade pagerduty-oncall-ack
The installed CLI command is pd-auto-ack.
Create a starter config file:
pd-auto-ack init --env-file ~/.pd-auto-ack.env
Edit it:
nano ~/.pd-auto-ack.env
Fill in:
PD_API_TOKEN=...
PD_USER_ID=...
PD_FROM_EMAIL=...
PD_APPLY=false
PD_POLL_SECONDS=30
Keep PD_APPLY=false until dry-run output looks right.
Check local config parsing:
pd-auto-ack doctor --env-file ~/.pd-auto-ack.env
Check PagerDuty access and current state:
pd-auto-ack check --env-file ~/.pd-auto-ack.env
Example healthy output:
PagerDuty API token is valid for user@example.com.
On call now: EU Support Escalation Policy / EU Support Escalation / level 1
Open incidents assigned to user: 0
Triggered incidents eligible for acknowledgement: 0
That means the token works, the CLI identified the PagerDuty user, the user is currently on call, and there are no open incidents assigned to them right now.
One dry-run cycle:
pd-auto-ack run --env-file ~/.pd-auto-ack.env --once
Continuous dry-run:
pd-auto-ack run --env-file ~/.pd-auto-ack.env --watch --interval 30
Continuous live mode:
pd-auto-ack run --env-file ~/.pd-auto-ack.env --watch --interval 30 --apply
Optional terminal dashboard:
pd-auto-ack tui --env-file ~/.pd-auto-ack.env