GitHub - teito-dev/claudecode-pushover-integration: Integrate Claude Code with Pushover service to get notifications on your iPhone, Android, iPad on the go

2 min read Original article ↗

Claude Code Pushover Notifications

image

Send push notifications to your mobile device when Claude Code events occur (idle prompts, permission requests, stops, etc).

Read the PUSHOVER_NOTIFICATIONS_README.md for more details

Features

  • Event Hook Integration: Integrates with Claude Code hooks system
  • Rate Limited: Maximum 1 notification per 30 seconds to avoid spam
  • Priority Queue: Stop and PermissionRequest events are queued and sent when rate limit allows
  • Daemon Process: Runs as a background daemon to handle notifications
  • Configurable: Uses environment variables for API credentials

Setup

1. Install Dependencies

pip install -r requirements.txt

2. Configure Pushover

  1. Sign up for a free account at pushover.net
  2. Install the Pushover app on your mobile device
  3. Create a new application at pushover.net/apps
  4. Note your User Key (from your dashboard) and App Token (from your new app)

3. Configure Environment Variables

Edit .env and add your Pushover credentials:

PUSHOVER_USER_KEY=your_user_key_here
PUSHOVER_APP_TOKEN=your_app_token_here

4. Start the Daemon

python3 claude_pushover_daemon.py

Or run it as a background service using the provided script:

./claude_pushover_service.sh start

5. Configure Claude Code Hook

Add the following to your Claude Code hooks configuration:

{
  "hooks": {
    "notification": "./claude_hook.py",
    "stop": "./claude_hook.py",
    "permission_request": "./claude_hook.py"
  }
}

Files

  • claude_hook.py: Hook script that receives Claude Code events and forwards to daemon
  • claude_pushover_daemon.py: Background daemon that sends rate-limited notifications
  • pushover_notifications.py: Standalone script for testing Pushover notifications
  • claude_pushover_service.sh: Service management script for the daemon

Usage

Once configured, the daemon will automatically send notifications when:

  • Claude Code becomes idle (idle_prompt)
  • Claude Code requests permission (permission_prompt)
  • Claude Code stops

Rate Limiting

To prevent notification spam, the daemon enforces a 30-second rate limit between notifications:

  • Stop and PermissionRequest events are queued and sent after the rate limit expires
  • Notification events are dropped if received during the rate limit window

Testing

Test your Pushover configuration with:

python3 pushover_notifications.py

This will send test notifications to verify your setup.

License

MIT License - feel free to modify and distribute