Skip to content

andyjmorgan/hey-listen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hey! Listen! — Navi Notifications for Claude Code in Ghostty

hey-listen

Navi-style notifications for Claude Code — tab flashing and "Hey! Listen!" audio alerts when Claude needs your attention.

Works with Ghostty (and any terminal that supports BEL + OSC 9).

What it does

  • Tab flash — sends a BEL character every time Claude finishes responding, triggering Ghostty's bell indicator (emoji in tab title + dock bounce)
  • Navi sound — plays the classic "Hey! Listen!" audio when Claude is actively waiting for your input (questions, plan approval, task complete)
  • Desktop notification — sends an OSC 9 notification so you get a system alert even if the terminal is buried

Prerequisites

  • macOS (uses afplay for audio)
  • jqbrew install jq
  • Claude Code
  • A "Hey! Listen!" sound file (see below)

Getting the sound file

You need to supply your own Navi sound clip (Nintendo IP — not included).

The clip is available on Wikipedia under fair use. Download and save it:

curl -L -o sounds/hey-listen.ogg "https://upload.wikimedia.org/wikipedia/en/3/3d/Navi_%22Hey%2C_Listen%22_from_Ocarina_of_Time.ogg"

Or use any WAV/MP3/OGG file — just save it as sounds/hey-listen.ogg (or set HEY_LISTEN_SOUND to point elsewhere).

Install

git clone https://github.com/andyjmorgan/hey-listen.git
cd hey-listen
./install.sh

The installer automatically downloads the sound from Wikipedia and converts it to WAV.

The installer merges hook config into ~/.claude/settings.json. It won't clobber your existing settings.

Ghostty config

Add to ~/.config/ghostty/config:

bell-features = title,attention
desktop-notifications = true

title adds a bell emoji to the tab when BEL fires. attention bounces the dock icon.

Note: True per-tab color flashing isn't available in Ghostty yet (feature request). The bell emoji + dock bounce is the current best.

Customization

Custom sound path — set the HEY_LISTEN_SOUND environment variable:

export HEY_LISTEN_SOUND="/path/to/your/sound.wav"

Disable the Stop hook — if the BEL on every Claude response is too noisy, remove the Stop hook from ~/.claude/settings.json and keep only Notification.

Uninstall

./uninstall.sh

Removes the hooks from ~/.claude/settings.json. Delete the repo to fully clean up.

How it works

Claude Code hooks fire shell commands on lifecycle events:

Event What happens
Notification Navi sound + BEL flash + desktop notification
Stop BEL flash (tab indicator)

The hook script reads the event from stdin JSON and acts accordingly.

License

MIT

About

Navi-style notifications for Claude Code — tab flashing and "Hey! Listen!" audio alerts when Claude needs your attention.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages