Whisper Claude Code Interactive
Voice interface for Claude Code. Talk to Claude using push-to-talk, type text, or combine both.
Loading actions...
Skill content
Main instructions and any bundled files for this skill.
Whisper Claude Code Interactive
Voice interface for Claude Code. Talk to Claude using push-to-talk, type text, or combine both.
Requirements
- Python 3.10+
- Linux (requires sudo for global keyboard capture)
- Microphone
- Claude Code CLI installed and configured
Installation
./install.sh
During installation, you'll be asked to select a language for speech recognition:
| # | Language | Code |
|---|---|---|
| 1 | English | en |
| 2 | Español | es |
| 3 | 中文 (Chinese) | zh |
| 4 | हिन्दी (Hindi) | hi |
| 5 | Français | fr |
| 6 | العربية (Arabic) | ar |
| 7 | Português | pt |
| 8 | Русский (Russian) | ru |
| 9 | 日本語 (Japanese) | ja |
| 10 | Auto-detect | None |
This creates a virtual environment and installs dependencies (Whisper, keyboard, colorama, etc.)
Usage
./run.sh
Controls
| Action | Description |
|---|---|
| Ctrl+Shift (hold) | Record audio, release to send |
| Type + Enter | Send text only (no audio) |
| Type + Ctrl+Shift | Combine typed text with voice |
| Ctrl+C | Exit |
Voice confirmations
When Claude asks for confirmation, respond with:
- "sí" / "yes" - Confirm once
- "siempre" / "always" - Confirm and remember for this session
- "no" - Cancel
Permission escalation
When a command requires additional permissions, Claude will ask. Say "sí" to allow once, or "siempre" to allow that command type permanently.
Configuration
Edit config.py to customize:
# Push-to-talk keys
PTT_KEYS = {'ctrl', 'shift'}
# Whisper model (tiny, base, small, medium, large-v3)
WHISPER_MODEL = "medium"
# Language for speech recognition
WHISPER_LANGUAGE = "es" # "es" for Spanish, "en" for English
# Device (auto, cuda, cpu)
WHISPER_DEVICE = "auto"
Changing language after installation
To change the speech recognition language, edit config.py:
WHISPER_LANGUAGE = "en" # English
WHISPER_LANGUAGE = "es" # Español
WHISPER_LANGUAGE = "zh" # Chinese
WHISPER_LANGUAGE = "hi" # Hindi
WHISPER_LANGUAGE = "fr" # Français
WHISPER_LANGUAGE = "ar" # Arabic
WHISPER_LANGUAGE = "pt" # Português
WHISPER_LANGUAGE = "ru" # Russian
WHISPER_LANGUAGE = "ja" # Japanese
WHISPER_LANGUAGE = None # Auto-detect
Allowed tools
Default allowed tools (no confirmation needed):
- Read, Glob, Grep
- git status, log, diff, add, commit
- ls, cat, head, tail, find, pwd, whoami, etc.
Additional tools can be permanently allowed by saying "siempre" when prompted.
Files
main.py- Main applicationconfig.py- Configurationaudio_capture.py- Push-to-talk recordingtranscriber.py- Whisper transcriptionclaude_interface.py- Claude Code integrationrun.sh- Launch scriptinstall.sh- Installation scriptuninstall.sh- Uninstall script
Uninstall
./uninstall.sh
Notes
- Runs with sudo for keyboard access, but Claude commands execute as original user
- Session persists in
~/.whisper-claude-workspace/ - Workspace directory stores session data and user-approved tools
Related Skills
Frontend Typescript Linting.mdc
TypeScript and ESLint rules that MUST be followed when creating, modifying, or reviewing any file under apps/frontend/, including .ts, .tsx, .js, and .jsx files. Also apply when discussing frontend li...
2. Apply Deepthink Protocol (reason about dependencies
risks