Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 2034Tools index
Pricing
Open Source
Type
TOOL
GitHub
11 stars
Date

About

Gemini CLI hooks that add voice notifications on each hook event.

What it does

It turns Gemini CLI lifecycle signals into audible status cues. A Python handler reads each event as JSON, selects its matching sound, and gives Git commits a specialized cue.

Why it's ranked here

The appeal is focused and practical: broad event coverage, cross-platform playback, per-event controls, and quiet failure behavior. Manual project setup and default event logging keep it from being a frictionless choice.

What's good

It covers session, agent, model, tool, compression, and notification stages with separate sound mappings. Local settings can override defaults or silence individual events. Playback adapts to built-in macOS and Windows facilities or several common Linux players. Sound errors do not interrupt Gemini CLI.

Tradeoffs

Installation requires copying repository content into each project and merging settings by hand. Python 3 is mandatory, while Linux also needs a supported audio player. Logging is enabled unless disabled; it removes the working directory and transcript path but otherwise copies received event data. Unsupported systems receive no playback.

How to use it well

Use it when long or parallel Gemini CLI sessions make visual monitoring inconvenient. Keep only the lifecycle cues that help you switch attention, and disable logging if event records are unnecessary. It does not provide workflow automation, analytics, or general desktop notifications.

Technical notes+

.gemini/settings.json registers command hooks with five-second timeouts for all eleven Gemini events and invokes .gemini/hooks/scripts/hooks.py. The handler reads JSON from stdin, logs through log_hook_data, checks per-event configuration through is_hook_disabled, and resolves audio through get_sound_name and HOOK_SOUND_MAP. BASH_PATTERNS detects git commit during shell-tool events. play_sound rejects traversal-like sound names, prefers WAV before MP3 on Unix-like systems, uses detached subprocesses there, and uses winsound synchronously on Windows. Platform-specific setup is documented in install/README-mac.md, install/README-linux.md, and install/README-windows.md.

Observed

License
MIT License
Primary language
Python
Interface
Gemini CLI command-hook integration receiving JSON on standard input
Install surface
Manual project-local folder copy plus settings merge
Platform support
macOS, Linux, and Windows
Runtime requirements
Python 3; Linux additionally requires paplay, aplay, ffplay, or mpg123

Read from README.md, .codex/hooks/scripts/hooks.py, .claude/hooks/scripts/hooks.py, .gemini/hooks/scripts/hooks.py, LICENSE, .codex/hooks.json, .github/FUNDING.yml, .claude/settings.json, .gemini/settings.json, install/README-mac.md, install/README-linux.md, install/README-windows.md, install/settings-mac.json, install/settings-linux.json, install/settings-windows.json.

What it can do

  • Play voice notification on pre-commit hook

    Git pre-commit eventAudio notification

  • Play voice notification on post-commit hook

    Git post-commit eventAudio notification

  • Play voice notification on pre-push hook

    Git pre-push eventAudio notification

  • Play voice notification on post-push hook

    Git post-push eventAudio notification

  • Play voice notification on hook failure

    Failed Git hook eventAudio notification

  • Install Git hooks with voice notifications

    Git repositoryConfigured Git hooks with audio alerts

Tags

geminiclihooksvoiceplugin

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.