Claude Notifications

PassAudited by ClawScan on May 10, 2026.

Overview

This skill coherently sets up macOS Claude Code notifications, but users should notice that it installs a notifier, changes Claude/SSH/tmux configuration, and starts a persistent local listener.

This appears to be a purpose-built notification setup skill. Before installing, be comfortable with it modifying ~/.claude/settings.json, ~/.ssh/config, remote devpod ~/.claude and ~/.tmux.conf files, installing terminal-notifier via Homebrew if needed, and running a persistent localhost launchd listener on port 19876.

Findings (6)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Running the setup will change Claude Code behavior and SSH/devpod configuration, not just send a one-time notification.

Why it was flagged

The skill runs setup commands and changes local/remote configuration, which is expected for notification setup but gives the script meaningful control over the user's environment.

Skill content
The script handles: - Installs `terminal-notifier` via brew if missing ... - Adds `RemoteForward 19876` to `~/.ssh/config` ... - Configures Claude Code notification hooks in `~/.claude/settings.json`
Recommendation

Review the devpod hosts and configuration changes before running the setup, and keep a backup of existing Claude, SSH, and tmux configuration if those files are important.

What this means

If another local process is using port 19876, setup could stop it.

Why it was flagged

The setup script frees the notification port by killing processes listening on port 19876. This is limited to a fixed port and supports the stated purpose, but it does not verify that the process belongs to this skill.

Skill content
stale_pids = result.stdout.strip().split()
for pid in stale_pids:
    subprocess.run(["kill", pid], capture_output=True)
Recommendation

Before running setup, check whether anything important is using port 19876, especially on systems with custom local services.

What this means

The setup will use whatever SSH identity or configuration the user has for the named devpods.

Why it was flagged

The skill uses the user's SSH access to modify remote devpod configuration and local SSH configuration. This is disclosed and matches the remote-notification purpose.

Skill content
The script SSHs into devpods to configure them remotely ... Adds `RemoteForward 19876` to `~/.ssh/config` for each devpod
Recommendation

Only provide trusted devpod SSH hostnames and verify the added SSH config entries if you use custom SSH settings.

What this means

Installing the skill may cause Homebrew to fetch and install terminal-notifier if it is missing.

Why it was flagged

The setup can install an external Homebrew package. This is expected for native macOS notifications but is not represented in the registry requirements.

Skill content
subprocess.run(
    ["brew", "install", "terminal-notifier"],
Recommendation

If you are cautious about dependencies, install or inspect terminal-notifier yourself before running the setup script.

What this means

Local processes, and configured remote devpod sessions through the SSH tunnel, can trigger desktop notifications.

Why it was flagged

The listener accepts local HTTP POSTs on localhost port 19876, and devpod notifications reach it through SSH RemoteForward. It handles notification text rather than credentials, and it is bound to localhost.

Skill content
server = HTTPServer(("127.0.0.1", PORT), NotifyHandler)
Recommendation

Configure forwarding only for trusted devpods and avoid putting secrets in notification message text.

What this means

After setup, a background listener can continue running until the launchd agent is unloaded or removed.

Why it was flagged

The skill creates a launchd service that starts automatically and is kept alive. This persistence is clearly tied to receiving devpod notifications.

Skill content
<key>KeepAlive</key>
    <true/>
    <key>RunAtLoad</key>
    <true/>
Recommendation

Install only if you want persistent notifications, and disable the launchd plist if you no longer need the listener.