Walking to a meeting, cooking, holding a coffee — the agent is still reachable. And with Whisper and Kokoro installed locally, nothing you say has to leave the machine to get there.
A voice layer for Claude Code and other MCP-capable agents. Speech comes in, speech goes out, with silence detection deciding when you have finished talking.
- `converse` — the tool the agent calls to speak and listen, and `service` for managing the underlying voice services
- Local speech services that work offline: Whisper.cpp for speech-to-text and Kokoro for text-to-speech with several voices, both presenting the same API as OpenAI so the switch between them is seamless
- Smart silence detection that stops recording when you stop speaking, and latency low enough for the exchange to feel like a conversation
- A Claude Code plugin with `/voicemode:install` and `/voicemode:converse` slash commands
- Configuration through `voicemode config edit`, covering audio format, Whisper model size, whether to prefer local services, and skipping TTS for a text-only reply
A computer with a microphone and speakers, and Python between 3.10 and 3.14. Linux, macOS, Windows (native or WSL) and NixOS are supported. The quickest route for Claude Code users is the plugin: `claude plugin marketplace add mbailey/voicemode` then `claude plugin install voicemode@voicemode`, followed by `/voicemode:install` to pull in the CLI and the local voice services. Otherwise install `uv` and run `uvx voice-mode-install`, then `claude mcp add --scope user voicemode -- uvx --refresh --from voice-mode voicemode-mcp-launcher`. `OPENAI_API_KEY` is optional and acts as a fallback when the local services are not available. To avoid permission prompts, allow `mcp__voicemode__converse` and `mcp__voicemode__service` in `~/.claude/settings.json`.
One command — claude mcp add --scope user voicemode -- uvx --refresh --from voice-mode voicemode-mcp-launcher
