Skip to main content

Desktop notifications for Claude Code - get notified when tasks complete

Project description

claude-code-notify

Desktop notifications for Claude Code - get notified when tasks complete, when permission is needed, or when Claude is waiting for input.

Features

  • Task Completion Notifications: Get notified when Claude finishes a task, with a preview of the response
  • Permission Prompts: Know immediately when Claude needs your approval
  • Idle Prompts: Get alerted when Claude is waiting for your input
  • Cross-Platform: Works on macOS, Windows, and Linux

Installation

pip install claude-code-notify

Or with uv:

uv tool install claude-code-notify

Setup

After installation, configure Claude Code to use this notification hook.

Option 1: Add to your Claude settings

Add to ~/.claude/settings.json:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "claude-code-notify"
          }
        ]
      }
    ],
    "Notification": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "claude-code-notify"
          }
        ]
      }
    ]
  }
}

Option 2: Project-level configuration

Add to your project's .claude/settings.json:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "claude-code-notify"
          }
        ]
      }
    ]
  }
}

Platform Requirements

macOS

No additional setup needed. Uses native osascript.

Windows

No additional setup needed. Uses PowerShell with Windows Forms.

Linux

Requires libnotify:

# Debian/Ubuntu
sudo apt install libnotify-bin

# Fedora
sudo dnf install libnotify

# Arch
sudo pacman -S libnotify

Manual Testing

Test notifications directly from the command line:

claude-code-notify "Test Title" "Test message body"

Debug Logs

Debug logs are written to /tmp/claude_code_notify_debug.log for troubleshooting.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_code_notify-1.0.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_code_notify-1.0.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file claude_code_notify-1.0.0.tar.gz.

File metadata

  • Download URL: claude_code_notify-1.0.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for claude_code_notify-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bdea997e8986468e9fb16286ad1c37192f798ebb25af78e7209ce0d74aa62a46
MD5 2f28b80a0a6ba8448d48fb84b060096c
BLAKE2b-256 b1ee4e4187ee06ac5bbda115b1c783c07680386043cf47ee8f716f9243f4c57e

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_code_notify-1.0.0.tar.gz:

Publisher: publish.yml on starpipi/claude-code-notify

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file claude_code_notify-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for claude_code_notify-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ddb2fc6f9c75dc834209aae9e736d10cc3ca4ba6ecedf11365ca8f1b592dc6d7
MD5 c997ca9813402f726feaf06d174c85bb
BLAKE2b-256 8b2d90ec248dba4133a36f197e17629967ab91bd3ab4fc74e05b3bdea291831e

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_code_notify-1.0.0-py3-none-any.whl:

Publisher: publish.yml on starpipi/claude-code-notify

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page