Add Fallout terminal sound effects to your terminal or AI assistant! This plugin brings the iconic keyboard sounds from Fallout 3/NV to your computing experience.
- 🎮 Authentic Fallout terminal keyboard sounds
- 🤖 NEW: Claude Code plugin support - hear keystrokes as Claude streams responses
- 🔊 NEW: Optional Elevenlabs TTS integration for voice announcements of task completions
- 🖥️ Original Hyper terminal extension support (currently broken due to xterm.js migration)
- 🔔 NEW: Intelligent status notification sounds with verbosity control
- 🎛️ Configurable sound volume and behavior
Terminal sounds play when typing, including different sounds for regular keys, arrow keys, and Enter.
Audio notifications play when certain status messages appear in the terminal output, such as:
- Code review completed
- Build succeeded/successful
- Tests passed
- Deployment successful/complete
- Ready for review
- Approval required/requested
- Merge completed
- Operation completed
- And more...
The notification sounds are pseudo-randomly selected from available sound effects and include a cooldown period to avoid spam (3 seconds between notifications).
Status notifications support multiple verbosity levels to control how often audio plays:
- Off: No audio notifications
- Minimal: Only critical events (errors, major completions like builds and tests)
- Normal: All status messages (default)
- Verbose: Extended pattern matching for comprehensive notifications
Play terminal sounds as Claude streams its responses:
-
Clone this repository into your Claude Code plugins directory:
git clone https://github.com/guruswami-ai/agent-callisto2 ~/.claude/plugins/agent-callisto2 -
The plugin will be automatically detected by Claude Code on restart
-
Sounds will play as Claude types responses in real-time!
You can customize the plugin behavior by editing .claude-plugin/config.json:
{
"enabled": true, // Enable/disable sound effects
"volume": 0.2, // Volume level (0.0 to 1.0)
"playOnStreamingOnly": true, // Only play during streaming (not on finished responses)
"throttleMs": 10, // Delay between character sounds in milliseconds
"tts": {
"enabled": false, // Enable Elevenlabs TTS for status announcements
"apiKey": "", // Your Elevenlabs API key (or use ELEVENLABS_API_KEY env var)
"voiceId": "21m00Tcm4TlvDq8ikWAM", // Voice ID (default: Rachel)
"volume": 0.3 // TTS volume level (0.0 to 1.0)
}
}NEW: Optional Elevenlabs TTS integration for announcing task completions!
- Non-blocking: Announcements happen in the background without delaying output
- Smart: Only speaks short, relevant summaries (following "agent vibes" philosophy)
- Optional: Disabled by default - enable in config when you want it
See .claude-plugin/TTS_README.md for detailed TTS setup and configuration.
The plugin uses Claude Code's hook system to intercept streaming responses. As each character is streamed from Claude, it plays one of the authentic Fallout terminal keyboard sounds, creating a retro computer experience.
Sound Effects:
- Character keystrokes: 6 different typing sounds that rotate randomly
- Enter/Newline: 3 different "enter key" sounds for line breaks
All sounds are from Fallout 3/New Vegas terminal interfaces.
No sounds playing?
- Make sure the plugin is installed in the correct directory (
~/.claude/plugins/agent-callisto2) - Check that
config.jsonhas"enabled": true - Restart Claude Code after installation
- Ensure your browser allows audio playback (some browsers require user interaction first)
Sounds too loud/quiet?
- Adjust the
volumesetting in.claude-plugin/config.json(range: 0.0 to 1.0)
Want to disable temporarily?
- Set
"enabled": falsein.claude-plugin/config.jsonor callsetEnabled(false)from the hook module
You can verify the plugin is correctly configured by running:
npm testThis will check that all required files are present and properly formatted.
Note: Currently broken since Hyper migrated from hterm to xterm.js. Keeping for future reference.
You need to git clone this repository into ~/.hyper_plugins/local/agent-callisto2 and add agent-callisto2 to localPlugins in .hyper.js.