claude-voice
The missing half of Claude Code's voice mode. You already talk to Claude with /voice.
Now Claude talks back, with word-by-word highlighting in your terminal. Fully local, zero API keys,
one file.
Why I built it
Claude Code has /voice. You speak, it transcribes, Claude responds in text. But Claude
never talks back. I kept catching myself staring at the terminal reading a three paragraph explanation
when I could be hearing it while I keep working. The missing half was obvious.
I tried ElevenLabs first. $0.30 per million characters, API keys, cloud round trip, latency. OpenAI TTS, same story. The official VoiceMode MCP is a tool Claude has to choose to call, so half the time it just does not. None of them did the simple thing: after every response, speak it, automatically, locally, for free.
The whole trick is a Stop hook
Kokoro is what makes it work. Small enough to run on CPU with no GPU in the loop, good enough to sound natural, and free. Twelve voices, American and British, pick your vibe.
One file on purpose
The whole thing is 21KB of Python in a single file. TTS, playback, terminal rendering, markdown
stripping, pronunciation fixes, config, CLI. Is it a monolith? Yes. Would modules be cleaner? Also yes.
But "one file you drop in" is the feature. It is why people install it instead of bouncing off a setup
guide. claude-voice setup adds the hook and you are done.
Open source on github. Backstory: I gave Claude Code a voice →