Claude Code Voice Integration
July 27, 2025 ยท View on GitHub
Add TTS functionality to your Claude Code development sessions with automatic voice feedback and EN/KO support.
Features
- Automatic Voice Feedback: Hear Claude Code's responses spoken aloud when tasks complete
- EN/KO Support: Automatically detects Korean text and uses appropriate voices
- Non-intrusive Logging: All hook activity is logged for debugging
Demo
https://github.com/user-attachments/assets/992d794d-ef4b-40c5-9a75-7a955ebd8aee
https://github.com/user-attachments/assets/492744b0-5ace-43f3-ab7c-be56bb725b21
Prerequisites
- macOS (uses built-in
saycommand) jqfor JSON parsing:brew install jq- Claude Code CLI
Installation
-
Clone this repository:
git clone <repository-url> cd claude-code-voice -
Copy the
.claudedirectory to your project:cp -r .claude /path/to/your/project/ -
Make scripts executable:
chmod +x .claude/scripts/*.sh
Usage
Once installed, the voice integration will automatically activate when using Claude Code in the directory containing the .claude/settings.json file.
Voice Behavior
- Assistant responses: When Claude Code completes a task, the response is spoken using:
- "Daniel" voice for English
- "Yuna" voice for Korean (automatically detected)
Customization
Edit .claude/settings.json to:
- Disable specific hooks by removing them
- Change voice settings by modifying the scripts
- Adjust logging behavior
Troubleshooting
- Check logs at
~/.claude/hooks.logfor hook execution status - Ensure
jqis installed if scripts fail - Verify script permissions if hooks don't execute
How It Works
The integration uses Claude Code's hook system to:
- Monitor transcript files for new messages
- Extract relevant text content using
jq - Detect language and select appropriate voice
- Use macOS
saycommand for text-to-speech output
Contributing
This is a simple shell script-based project. To contribute:
- Test changes with your Claude Code setup
- Ensure scripts remain compatible with the hook system
- Add appropriate error handling for edge cases