Claude Code hook

squawk

Smart macOS notifications for Claude Code sessions.

17 stars 3 forksHooks Source

Install

Install
brew install jq tmux claude
From source
git clone https://github.com/nov1n/squawk.git

From the README

https://github.com/user-attachments/assets/e99fe0b1-1423-4f97-bf2a-b0fd287f4eb5

squawk

squawk brings smart macOS notifications to Claude Code. It only alerts you
when Claude is out of sight, offering quick actions to reply, approve, or jump
to the pane.

Features

- Context-Aware Alerts: Silent when focused, in-pane banners when visible,
  and notifications when off-screen.
- Inline Replies: Reply from the notification to keep Claude going.
- One-Click Approvals: Allow permission prompts straight from the alert.
- Message Previews: See Claude's latest response at a glance.
- Smart Lifecycle: Alerts persist until addressed, but auto-clear when you
  focus the pane.
- Clean Grouping: Session notifications update in place instead of
  cluttering your screen.
- Zero-Config: Works out of the box, with optional env var overrides (see
  Configuration).

Events

squawk uses Claude Code hooks to notify on the following events:

Requirements

- Claude Code, tmux, jq, and alerter (Core dependencies)
- Claude for Desktop _(Optional)_ squawk borrows its app icon to make
  notifications look native. Without it, you get a default fallback icon (or you
  can manually set SQUAWK_ICON).

Install

Keep the clone where it is as squawk install symlinks to it and reads it at
runtime (so git pull upgrades in place). squawk install:

1. Checks if required dependencies are correctly installed.
2. Symlinks squawk into ~/.local/bin (override with PREFIX=).
3. Merges its hooks (Stop, StopFailure, Notification, PermissionRequest)
   into ~/.claude/settings.json.
4. Offers to add the tmux snippet the in-pane banner needs to ~/.tmux.conf (or
   prints it for you to add yourself).
Restart Claude Code after installing so it loads the new hooks.

Configuration

All via environment variables (or an…
Read the full README on GitHub

How hooks work

  • Hooks are shell commands Claude Code runs at fixed points: before or after a tool call, when you submit a prompt, when Claude stops, on notifications and at session start.
  • They are set in the hooks section of ~/.claude/settings.json (or .claude/settings.json for a project), or come bundled in a plugin.
  • A hook can block a tool call, add context, or run a formatter or test. Read the scripts before you install them: they run on your machine with your permissions.
Claude Code docs

Details

Repository
nov1n/squawk
Type
Hooks
Language
Shell
License
MIT
Last updated
6 July 2026
Topics
alertclaudeclaude-codehookhooksmacosmacosxnotificationnotificationstmux

FAQ

What is squawk?

Smart macOS notifications for Claude Code sessions. It is a hook for Claude Code, from nov1n/squawk on GitHub.

How do I install squawk?

Run brew install jq tmux claude, then follow the setup in the README.

Is squawk popular?

nov1n/squawk has 17 GitHub stars and 3 forks. It was last updated on 6 July 2026.

More hooks

Browse the most popular Claude Code mods, all hooks, or the skills and MCP server directories.