Sandbox
@mbailey/voicemode

Voice bridge for Claude Code and MCP agents

VoiceMode adds natural voice conversations to Claude Code and other MCP-capable agents. It combines a Claude Code plugin with an MCP server and local voice services so you can speak, listen, and keep working without typing.

1,357 stars192 forksPythonUpdated 8d ago
VoiceMode for Claude Code: Conversational Coding
VoiceMode22k views • 1 year ago
Who it's for

Builders who want to use Claude Code or another MCP agent hands-free while working, walking, or cooking.

What it delivers

You can talk to your agent by voice and keep the same workflow whether you use local speech services or cloud fallback.

What it does

Claude Code plugin install

Ships a marketplace plugin and Claude commands for installing and starting VoiceMode from inside Claude Code.

MCP voice launcher

Provides an MCP launcher so agents can reach the VoiceMode service through standard MCP connection flows.

Local speech services

Supports Whisper.cpp for speech-to-text and Kokoro for text-to-speech when you want an offline path.

Voice conversation flow

Handles listening, silence detection, transcription, and spoken responses for natural back-and-forth chat.

Configuration and permissions

Includes Claude settings examples and guides for API keys, permissions, and service options.

How to get it

  1. 1Run
    sudo apt update
    sudo apt install -y ffmpeg gcc libasound2-dev libasound2-plugins libportaudio2 portaudio19-dev pulseaudio pulseaudio-utils python3-dev
  2. 2Run
    sudo dnf install alsa-lib-devel ffmpeg gcc portaudio portaudio-devel python3-devel
  3. 3Run
    brew install ffmpeg node portaudio
  4. 4Run
    # Use development shell
    nix develop github:mbailey/voicemode
    
    # Or install system-wide
    nix profile install github:mbailey/voicemode
  5. 5Run
    git clone https://github.com/mbailey/voicemode.git
    cd voicemode
    uv tool install -e .

README

VoiceMode

Natural voice conversations with Claude Code (and other MCP capable agents)

PyPI Downloads PyPI Downloads PyPI Downloads

VoiceMode enables natural voice conversations with Claude Code. Voice isn't about replacing typing - it's about being available when typing isn't.

Perfect for:

  • Walking to your next meeting
  • Cooking while debugging
  • Giving your eyes a break after hours of screen time
  • Holding a coffee (or a dog)
  • Any moment when your hands or eyes are busy

See It In Action

VoiceMode Demo

Quick Start

Requirements: Computer with microphone and speakers

Option 1: Claude Code Plugin (Recommended)

The fastest way for Claude Code users to get started:

# Add the VoiceMode marketplace
claude plugin marketplace add mbailey/voicemode

# Install VoiceMode plugin
claude plugin install voicemode@voicemode

## Install dependencies (CLI, Local Voice Services)

/voicemode:install

# Start talking!
/voicemode:converse

Option 2: Python installer package

Installs dependencies and the VoiceMode Python package.

# Install UV package manager (if needed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Run the installer (sets up dependencies and local voice services)
uvx voice-mode-install

# Add to Claude Code
claude mcp add --scope user voicemode -- uvx --refresh --from voice-mode voicemode-mcp-launcher

# Optional: Add OpenAI API key as fallback for local services
export OPENAI_API_KEY=your-openai-key

# Start a conversation
claude converse

For manual setup, see the Getting Started Guide.

Features

  • Natural conversations - speak naturally, hear responses immediately
  • Works offline - optional local voice services (Whisper STT, Kokoro TTS)
  • Low latency - fast enough to feel like a real conversation
  • Smart silence detection - stops recording when you stop speaking
  • Privacy options - run entirely locally or use cloud services

Compatibility

Platforms: Linux, macOS, Windows (native or WSL), NixOS Python: 3.10-3.14

Configuration

VoiceMode works out of the box. For customization:

# Set OpenAI API key (if using cloud services)
export OPENAI_API_KEY="your-key"

# Or configure via file
voicemode config edit

See the Configuration Guide for all options.

Permissions Setup (Optional)

To use VoiceMode without permission prompts, add to ~/.claude/settings.json:

{
  "permissions": {
    "allow": [
      "mcp__voicemode__converse",
      "mcp__voicemode__service"
    ]
  }
}

See the Permissions Guide for more options.

Local Voice Services

For privacy or offline use, install local speech services:

  • Whisper.cpp - Local speech-to-text
  • Kokoro - Local text-to-speech with multiple voices

These provide the same API as OpenAI, so VoiceMode switches seamlessly between them.

Installation Details

System Dependencies by Platform

Ubuntu/Debian

sudo apt update
sudo apt install -y ffmpeg gcc libasound2-dev libasound2-plugins libportaudio2 portaudio19-dev pulseaudio pulseaudio-utils python3-dev

WSL2 users: The pulseaudio packages above are required for microphone access.

Fedora/RHEL

sudo dnf install alsa-lib-devel ffmpeg gcc portaudio portaudio-devel python3-devel

macOS

brew install ffmpeg node portaudio

NixOS

# Use development shell
nix develop github:mbailey/voicemode

# Or install system-wide
nix profile install github:mbailey/voicemode
Alternative Installation Methods

From source

git clone https://github.com/mbailey/voicemode.git
cd voicemode
uv tool install -e .

NixOS system-wide

# In /etc/nixos/configuration.nix
environment.systemPackages = [
  (builtins.getFlake "github:mbailey/voicemode").packages.${pkgs.system}.default
];

Troubleshooting

ProblemSolution
No microphone accessCheck terminal/app permissions. WSL2 needs pulseaudio packages.
UV not foundRun curl -LsSf https://astral.sh/uv/install.sh | sh
OpenAI API errorVerify OPENAI_API_KEY is set correctly
No audio outputCheck system audio settings and available devices

Save Audio for Debugging

export VOICEMODE_SAVE_AUDIO=true
# Files saved to ~/.voicemode/audio/YYYY/MM/

Documentation

Full documentation: voicemode.dev

Links

License

MIT - A Failmode Project


mcp-name: dev.voicemode/voicemode

Files in the repo

Repository payload26 top-level entries
  • .claude
  • .claude-plugin
  • .github
  • agents
  • docs
  • installer
  • scripts
  • tests
  • voice_mode
  • .gitignore
  • .mcp.json
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • flake.lock
  • flake.nix
  • install.sh
  • LICENSE
  • llms.txt
  • Makefile
  • mkdocs.yml
  • pyproject.toml
  • README.md
  • server.json
  • uv.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k