npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

claude-alert

v1.1.1

Published

Never miss a Claude Code approval prompt. Native sound + banner notifications, smart risk classification, and zero macOS permissions beyond Notifications.

Readme

Claude Alert

Never miss a Claude Code approval prompt.

Claude Alert in action


Install

Tier 1 — Quick Install (Recommended)

No Xcode required. Works on any Mac.

npx claude-alert install

What you get:

  • Native macOS banner notifications
  • Sound alerts (Low / Medium / High risk)
  • Full audit log at ~/.claude-notifier/audit.json
  • Auto-approved low-risk operations (no interruption)

Uninstall:

npx claude-alert uninstall

Tier 2 — Full Install (Robot + Rich Notifications)

Requires Xcode. Gives you the animated robot menu bar app and richer notifications.

Step 1 — Install Xcode Command Line Tools (if needed):

xcode-select --install

Step 2 — Clone and install hooks:

git clone https://github.com/wilbert-t/claude-buddy.git
cd claude-buddy
node setup/install.js

Step 3 — Build and launch the companion app:

xcodebuild -project swift-app/ClaudeNotifier.xcodeproj \
  -scheme ClaudeNotifier \
  -configuration Release \
  -derivedDataPath /tmp/claude-notifier-build && \
open /tmp/claude-notifier-build/Build/Products/Release/ClaudeNotifier.app

The robot appears in your menu bar. Locally signed by Xcode — no Apple Developer account needed.

Uninstall:

node setup/uninstall.js

Via Plugin (Claude Code only)

/plugin install claude-alert@claude-plugins-official

Hooks register automatically. Tier 1 notifications only.


The Problem

Claude Code works autonomously — until it needs your approval. Then it pauses. Silently. And waits.

If you're in another window, on your phone, or just not watching — Claude sits idle. You lose time. The flow breaks.

Claude Alert fixes this. The moment Claude needs you, you know about it. Native banner. Your terminal focused and ready.


How It Works

Claude Alert icon

| Risk | Examples | What Happens | |------|----------|--------------| | 🟢 Low | Glob, Grep, Read, LS | Auto-approved silently — no interruption | | 🟡 Medium | Write, Edit, npm install, mv | Banner notification | | 🔴 High | rm -rf, git push --force, sudo, DROP TABLE, curl|bash | Banner notification |

Low-risk operations are approved silently so Claude never pauses for safe work. Medium and high-risk operations fire a native banner and wait for your input.


Configuration

Quick settings commands:

# View current settings
npx claude-alert config

# Update a setting
npx claude-alert config --set notificationsEnabled=false
npx claude-alert config --set autoApproveLevel=medium

# Open settings in your editor/app
npx claude-alert config --open

Advanced fallback: edit ~/.claude-notifier/settings.json directly. All fields are optional — defaults work out of the box.

{
  "quietHoursStart": "22:00",
  "quietHoursEnd": "08:00",
  "quietDays": ["Saturday", "Sunday"],
  "autoApproveLevel": "low"
}

| Setting | Default | Description | |---------|---------|-------------| | quietHoursStart | null | Start of mute window (24h format) | | quietHoursEnd | null | End of mute window | | quietDays | [] | Days to mute all notifications | | autoApproveLevel | "low" | Auto-approve threshold: "none", "low", or "medium" |

Notification Style

For approval prompts, switch ClaudeNotifier to Alert style so the banner stays on screen until you act:

System Settings → Notifications → ClaudeNotifier → Alerts


Audit Log

Every approval event is logged to ~/.claude-notifier/audit.json.

# Last 10 approvals
jq '.[-10:]' ~/.claude-notifier/audit.json

# High-risk only
jq '[.[] | select(.riskLevel == "high")]' ~/.claude-notifier/audit.json

# Count by risk level
jq 'group_by(.riskLevel) | map({risk: .[0].riskLevel, count: length})' ~/.claude-notifier/audit.json

Troubleshooting

No notification appears

  • Check logs: tail -20 ~/.claude-notifier/error.log
  • Verify notification permission: System Settings → Notifications → ClaudeNotifier

Hooks not firing

  • Check: cat ~/.claude/settings.json | grep claude-alert

Menu bar app not showing

  • Check: pgrep -fl ClaudeNotifier
  • Notification daemon broken? Log out and log back in. Never run killall usernoted.

Uninstall

Tier 1 (npx install):

npx claude-alert uninstall

Tier 2 (cloned repo):

node setup/uninstall.js

Use --clean-all to also remove audit logs and settings.


Privacy

All data stays local in ~/.claude-notifier/. Claude Alert stores audit entries, pending approval metadata (including source app, source bundle ID, and source working directory), user settings, and local error logs. No network requests. No telemetry. You own your audit log.


License

MIT