https://github.com/mikedotcook/claude-sounds
A tiny macOS menu bar app to control the volume of your Claude Code hook sounds.
https://github.com/mikedotcook/claude-sounds
macos menu-bar-app
Last synced: 4 months ago
JSON representation
A tiny macOS menu bar app to control the volume of your Claude Code hook sounds.
- Host: GitHub
- URL: https://github.com/mikedotcook/claude-sounds
- Owner: mikedotcook
- License: mit
- Created: 2026-02-13T11:22:28.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-02-16T11:42:45.000Z (4 months ago)
- Last Synced: 2026-02-18T17:29:08.946Z (4 months ago)
- Topics: macos, menu-bar-app
- Language: Swift
- Size: 3.47 MB
- Stars: 10
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Claude Sounds
A macOS menu bar app for managing sound packs in [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Plays custom audio cues for Claude Code events like session start, prompt submit, notifications, and more.
> **Want to contribute a community sound pack?** See [`community/README.md`](community/README.md) for how to create and submit your own pack. Community packs automatically appear in the app's Sound Pack Browser for all users to download.
## Features
- **Menu bar controls** - Mute/unmute, volume slider, quick pack switching
- **Sound Pack Browser** - Browse, download, install, and manage sound packs
- **Event Editor** - Drag-and-drop audio files onto individual events; preview sounds inline
- **Create Custom Packs** - Built-in wizard to scaffold a new sound pack with all event directories
- **Publish Packs** - Export any local pack as a ZIP or submit it to the community registry via GitHub PR
- **Setup Wizard** - Guided first-run setup that installs Claude Code hooks automatically
- **Hook integration** - Installs shell hooks that trigger sounds on Claude Code events
- **Audio validation** - Magic-byte verification, ZIP preflight, and post-extract sanitization at every entry point
## Supported Events
| Event | Description |
|---|---|
| Session Start | Claude Code session begins |
| Prompt Submit | User submits a prompt |
| Notification | Claude sends a notification |
| Stop | Claude stops generating |
| Session End | Claude Code session ends |
| Subagent Stop | A subagent finishes |
| Tool Failure | A tool use fails |
## Audio Formats
Supports `.wav`, `.mp3`, `.aiff`, `.m4a`, `.ogg`, and `.aac` files.
## Installation
### Build from source
```bash
# Quick build (uses build.sh)
./build.sh
open ClaudeSounds.app
# Or manually
swiftc -O -o ClaudeSounds -framework Cocoa Sources/*.swift
```
Requires macOS and Xcode Command Line Tools (`xcode-select --install`).
## Sound Pack Structure
Sound packs live in `~/.claude/sounds//` with one subdirectory per event:
```
~/.claude/sounds/my-pack/
session-start/
prompt-submit/
notification/
stop/
session-end/
subagent-stop/
tool-failure/
```
Drop audio files into any event directory. When multiple files exist for an event, one is played at random.
## License
MIT