npx claudepluginhub jason-hchsieh/claude-ntfyUse this skill when the user wants to set up ntfy notifications for claude-ntfy. Triggers on requests like "set up ntfy", "configure notifications", "initialize ntfy", or "setup notification server". Supports both new server setup and configuration of existing servers.
Use this skill when the user wants to test, verify, or debug their ntfy notification setup. Triggers on requests like "test notification", "send test message", "verify ntfy works", or "check notification setup".
A pure bash Claude Code plugin that sends push notifications via ntfy.
Provides automatic notifications through hooks:
claude plugin add /path/to/claude-ntfy
This registers the notification hooks automatically.
cd docker
docker compose up -d
This starts ntfy on http://localhost:8080.
Choose one method:
Option A: Environment Variables
export NTFY_TOPIC="claude-alerts"
export NTFY_SERVER_URL="http://localhost:8080" # optional, this is the default
# export NTFY_TOKEN="tk_your_token" # optional, for authenticated servers
Option B: Config File
Create ~/.config/claude-ntfy/config.json (XDG-compliant):
mkdir -p ~/.config/claude-ntfy
{
"server_url": "http://localhost:8080",
"topic": "claude-alerts"
}
Use the /setup skill to create this file interactively.
For more configuration options, see docs/CONFIG.md.
claude plugin add /path/to/claude-ntfy
The plugin will register the notification hooks automatically.
The plugin automatically sends notifications for these Claude Code events:
Stop — When your Claude Code session ends
PermissionRequest — When Claude requests tool approval
Notification — For other Claude Code notifications
Configuration can be provided via:
NTFY_SERVER_URL, NTFY_TOPIC, NTFY_TOKEN)~/.config/claude-ntfy/config.json)http://localhost:8080)The unified hooks/notify.sh script handles all events with contextual messages:
| Event | Title | Message |
|---|---|---|
Stop | Claude Code finished | Session completed in <project>. |
PermissionRequest | Claude Code needs permission | <tool>: <command> |
Notification | (from event) | (from event) (<project>) |
| Skill | Description |
|---|---|
setup | Guide through ntfy server setup with Docker, env vars, and subscription |
test-ntfy | Send a test notification and verify the setup works |
| Variable | Required | Default | Description |
|---|---|---|---|
NTFY_TOPIC | Yes | — | ntfy topic to publish to |
NTFY_SERVER_URL | No | http://localhost:8080 | ntfy server URL |
NTFY_TOKEN | No | — | Bearer token for authentication |
Create ~/.config/claude-ntfy/config.json for persistent settings:
{
"server_url": "http://localhost:8080",
"topic": "claude-alerts",
"token": "tk_optional_token"
}
Precedence (highest to lowest):
~/.config/claude-ntfy/config.json)http://localhost:8080)For detailed configuration guide, see docs/CONFIG.md.
bash -n scripts/config.sh # Check config loader
bash -n scripts/notify.sh # Check notification hook
shellcheck scripts/*.sh
# BATS test framework (if installed)
bats tests/config.sh.bats
# Or run manual tests
bash tests/config.sh.bats
See tests/config.sh.bats for comprehensive test coverage.
MIT
Smart notifications for Claude Code task statuses (Go implementation)
Matches all tools
Hooks run on every tool call, not just specific ones
Share bugs, ideas, or general feedback.
Send notifications via Apprise when Claude Code needs input
CCNotify provides desktop notifications for Claude Code, alerting you when Claude needs your input or completes tasks.
Persistent memory system for Claude Code - seamlessly preserve context across sessions
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Intelligent prompt optimization using skill-based architecture. Enriches vague prompts with research-based clarifying questions before Claude Code executes them