Releases: mylee04/code-notify
v1.5.0 - Sound Notifications
What's New
Sound Notifications - Play custom sounds when tasks complete (separate from voice TTS)
New Commands
cn sound on # Enable with default system sound
cn sound off # Disable sounds
cn sound set ~/ding.wav # Use custom sound file
cn sound default # Reset to system default
cn sound test # Play current sound
cn sound list # Show available system sounds
cn sound status # Show configurationPlatform Support
- macOS:
afplay - Linux:
paplay→aplay→ffplay(fallback chain) - Windows:
System.Media.SoundPlayer
Supported Formats
.wav, .aiff, .mp3, .ogg, .m4a, .flac
Full Changelog: v1.4.4...v1.5.0
v1.4.4 - BurntToast Compatibility Fix
What's New
Bug Fixes
- Fix BurntToast notification error (#20): Removed invalid
ArgumentListparameter fromNew-BurntToastNotificationthat was causing "A parameter cannot be found that matches parameter name 'ArgumentList'" error on Windows - Code cleanup: Removed duplicate
Activate-Windowfunction, reusing existingSet-WindowForeground
Thanks @iFwu for the fix!
Installation
macOS/Linux:
curl -fsSL https://raw.githubusercontent.com/mylee04/code-notify/main/scripts/install.sh | bashWindows:
irm https://raw.githubusercontent.com/mylee04/code-notify/main/scripts/install-windows.ps1 | iexv1.4.3 - Terminal Focus & Windows Fix
What's New
Bug Fixes
- Windows installer version mismatch: Fixed
install-windows.ps1showing version 1.4.1 instead of the correct version
New Features
- Click notification to focus terminal (#19): Clicking on a notification now brings the terminal window to the foreground
- macOS: Automatically detects your terminal (iTerm2, Terminal.app, VSCode, WezTerm, etc.)
- Windows: Uses
SetForegroundWindowAPI to activate the terminal window
Installation
macOS/Linux:
curl -fsSL https://raw.githubusercontent.com/mylee04/code-notify/main/scripts/install.sh | bashWindows:
irm https://raw.githubusercontent.com/mylee04/code-notify/main/scripts/install-windows.ps1 | iexv1.4.2 - Fix alerts command
Bug Fixes
Fixed: cn alerts command not found (#17)
The alerts command was implemented but not properly routed in the main script. Now cn alerts works as expected.
cn alerts # Show current config
cn alerts add permission_prompt # Also notify on permission requests
cn alerts remove permission_prompt # Remove permission notifications
cn alerts reset # Back to default (idle_prompt only)Upgrade
brew upgrade code-notifyv1.4.1 - Fix notification spam
Bug Fixes
Fixed: "Status Update" notification spam
Removed the PreToolUse hook that was causing excessive notifications. This hook was triggering a "Status Update" notification every time Claude ran a Bash command.
Before: Notifications every 10-20 seconds during active work
After: Only notifications for idle_prompt (waiting for input) and Stop (task complete)
Upgrade
macOS (Homebrew)
brew upgrade code-notify
cn on # Re-enable to apply new hook configurationLinux / WSL
curl -sSL https://raw.githubusercontent.com/mylee04/code-notify/main/scripts/install.sh | bashWindows
irm https://raw.githubusercontent.com/mylee04/code-notify/main/scripts/install-windows.ps1 | iexNote
After upgrading, run cn on to regenerate your hooks configuration without the PreToolUse hook.
If you still want permission prompts, you can add them:
cn alerts add permission_promptv1.4.0 - Smart Alert Types
What's New
🔔 Smart Alert Types
No more notification spam! Now you control exactly when you get notified.
Default behavior changed: Notifications now only fire when the AI is actually waiting for your input (after 60+ seconds idle), not on every permission prompt.
New Command: cn alerts
cn alerts # Show current config
cn alerts add permission_prompt # Also notify on tool permission requests
cn alerts remove permission_prompt # Remove permission notifications
cn alerts reset # Back to default (idle_prompt only)Available Alert Types
| Type | Description |
|---|---|
idle_prompt |
AI is waiting for your input (default) |
permission_prompt |
AI needs tool permission (Y/n) |
auth_success |
Authentication success |
elicitation_dialog |
MCP tool input needed |
Bug Fixes
- Fixed: Notifications firing on every permission/allow prompt (#14)
- Fixed: "Permission denied" error on Linux curl installation (#15)
- Fixed: curl installation now downloads files from GitHub correctly
Upgrade
macOS (Homebrew)
brew upgrade code-notifyLinux / WSL
curl -sSL https://raw.githubusercontent.com/mylee04/code-notify/main/scripts/install.sh | bashWindows
irm https://raw.githubusercontent.com/mylee04/code-notify/main/scripts/install-windows.ps1 | iexAfter upgrading, run cn on to apply the new default settings.
v1.3.0 - Multi-Tool Support & Rename to Code-Notify
Release notes (paste in description box):
What's New
🔧 Multi-Tool Support
- Claude Code - Full hook support via
~/.claude/settings.json - OpenAI Codex - Support via
~/.codex/config.toml - Google Gemini CLI - Support via
~/.gemini/settings.json
🎯 Tool-Specific Features
- Enable/disable notifications per tool:
cn on claude,cn on codex,cn on gemini - Tool-specific voice:
cn voice on claude,cn voice on codex - Voice announces which tool completed: "Claude completed the task", "Codex completed the
task"
📛 Project Renamed
- Renamed from
claude-notifytocode-notifyto reflect multi-tool support - All commands (
cn,cnp) remain the same
Installation
brew tap mylee04/tools
brew install code-notify
Upgrading
brew update
brew upgrade code-notify
Usage
cn on # Enable for all detected tools
cn on claude # Enable for Claude only
cn on codex # Enable for Codex only
cn status # Show status for all tools
cn voice on # Enable voice globally
cn voice on claude # Enable voice for Claude only
Full Changelog
https://github.com/mylee04/code-notify/compare/v1.2.0...v1.3.0 v1.2.0 - Bug Fixes & WSL Support
What's New
WSL Support
- Added WSL (Windows Subsystem for Linux) support with
wsl-notify-sendintegration - Setup wizard now detects WSL and offers to install notification tools automatically
Bug Fixes
| Issue | Fix |
|---|---|
| #3 | Added Makefile with test target (now make test works as documented) |
| #4 | Fixed Windows cn test failing in non-git directories |
| #7 | Auto-accepted prompts no longer trigger notifications |
| #9 | Fixed multiple "completed" notifications - now correctly detects when tasks are truly finished |
Technical Improvements
- Check
stop_hook_activefield to detect if Claude is still working - Proper error handling for git commands on Windows PowerShell
- Fixed
test_notificationcommand not found in project setup
Installation
brew tap mylee04/tools
brew install claude-notifyUpgrading
brew update
brew upgrade claude-notifyFull Changelog
v1.1.0 - Voice Notifications & settings.json Support
🎉 New Features
🔊 Voice Notifications
- Get audio alerts when tasks complete using macOS text-to-speech
- Choose from various voices (Samantha, Daniel, Whisper, etc.)
- Set different voices per project for easy multitasking
📋 settings.json Support
- Now uses Claude Code's proper settings.json format
- Maintains backwards compatibility with legacy hooks.json
- Both global and project-level configurations supported
🎯 Project-Specific Voices
- Set unique voices for different projects
- Perfect for multitasking - instantly know which project needs attention
cnp voice onto set project voice
📦 Installation
brew tap mylee04/tools
brew install claude-notify🔄 Upgrading
brew update
brew upgrade claude-notify💡 New Commands
# Voice notifications
cn voice on/off # Global voice control
cnp voice on/off # Project-specific voice
# Check status
cn voice status # See current voice settings📖 Full Changelog
- Added voice notification support with customizable voices
- Implemented settings.json support (Claude Code's actual format)
- Added project-specific voice settings
- Improved documentation with clear examples
- Fixed hook configuration to use proper format
- Maintained backwards compatibility
v1.0.0 - Initial Release
🎉 Initial Release
Features
- 🚀 Cross-platform desktop notifications (macOS, Linux, Windows)
- 📦 Easy installation via Homebrew
- 🌐 Global and project-specific notification settings
- ⚡ Quick command aliases (cn, cnp)
- 🔄 Easy on/off toggle
- 🛡️ Non-invasive Claude Code integration
Installation
# macOS (Homebrew)
brew tap mylee04/tools
brew install claude-notify
# Linux/Windows
curl -sSL https://raw.githubusercontent.com/mylee04/claude-notify/main/install.sh | bashQuick Start
# Enable notifications
cn on
# Check status
cn statusSee README for full documentation.
