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

@vibe-zzz/claude-code-notifier

v1.1.2

Published

Notification tool for Claude Code - get notified when Claude needs attention or finishes a task

Readme

claude-code-notifier

macOS notification tool for Claude Code. Get notified when Claude needs your attention or finishes a task — click the notification to instantly focus back to your terminal or IDE.

Features

  • System Notification — macOS notification center banner + sound via terminal-notifier
  • Click to Focus — clicking the notification automatically brings your terminal/IDE window to the foreground
  • Smart Focus Detection — optionally skip notifications when the terminal is already in the foreground

Supports any terminal or IDE: iTerm2, Terminal.app, VS Code, Cursor, Windsurf, Ghostty, Warp, WezTerm, Alacritty, Kitty, and more.

Requirements

  • macOS
  • Node.js >= 18
  • Claude Code CLI
  • terminal-notifier (required — setup will offer to install it)

Install

npm install -g @vibe-zzz/claude-code-notifier
claude-code-notifier setup

The setup wizard will verify that terminal-notifier is installed (and offer to install it via Homebrew if not), then configure hooks and save your preferences.

Test

claude-code-notifier test

Prints the detected terminal name, bundle ID, and PID, then sends a test notification.

Hook Events

| Event | When | |---|---| | Notification | Claude needs permission confirmation | | Stop | Claude finished responding |

How It Works

The tool registers itself as a Claude Code hook. When Claude triggers a hook event, claude-code-notifier notify reads the event from stdin and sends a notification via terminal-notifier.

Click-to-focus works by passing a -execute command to terminal-notifier that runs when you click the notification:

  • If the terminal PID is known (detected via process chain + osascript): focuses the exact window instance
  • If only the bundle ID is known: activates the app via open -b <bundleId> (fallback)

Terminal detection walks the process chain using osascript to dynamically query each ancestor's bundle identifier — no hardcoded app list, any terminal or IDE works automatically.

Zero npm dependencies.

Configuration

Config file: ~/.claude/claude-notifier.json

{
  "channels": ["system-notification"],
  "events": ["Notification", "Stop"],
  "sound": "Ping",
  "notifyWhenFocused": true,
  "terminalBundleId": "com.googlecode.iterm2"
}

| Field | Description | |---|---| | events | Hook events to listen for: Notification, Stop | | sound | Notification sound: Ping, Glass, Hero, Pop, None | | notifyWhenFocused | true = always notify (default); false = only notify when terminal is in background | | terminalBundleId | Saved by setup as a fallback bundle ID for click-to-focus when runtime detection fails |

Uninstall

claude-code-notifier uninstall
npm uninstall -g @vibe-zzz/claude-code-notifier

License

MIT