Stop Reading Your AI Agent. Start Talking to It. A developer built a free, fully local voice interface for coding agents by wrapping the open-source VoiceMode MCP server around Whisper for speech-to-text and Kokoro for text-to-speech, keeping all audio on an Apple Silicon Mac with 16 GB of RAM. The setup exposes a single `converse` tool that any MCP-capable agent can call, letting the agent report results in a couple of spoken sentences instead of long text dumps. The developer argues voice forces agents to summarize and keeps humans in the loop without staring at logs. How I gave my coding agent a free, fully local voice for my personal projects, and why I think this is where agentic coding is headed. 🏑 Everything here was built and used on my own side projects, on my personal laptop. Here's a confession: I've stopped reading most of what my coding agents write. Not because it's bad. Because there's too much of it. An agent kicks off, reads twelve files, runs the tests, edits four modules, and then hands me a 900-word wall of text with tables, file paths and a bulleted summary of a bulleted summary. By paragraph three my eyes are skimming. By paragraph five I've wandered off to another tab. That's the quiet problem with agentic coding nobody talks about. The agents got faster. Our attention didn't. The bottleneck isn't the model anymore. It's me, scrolling. So I tried something different. I gave my agents a voice and ears. Now I ask a question out loud, the agent goes off and does the work, and comes back with two spoken sentences: "Tests pass, I changed the retry logic in two files. Want the details on screen?" πŸ’» It runs entirely on my laptop. πŸ’Έ It cost me nothing. I built it in Claude Code, but nothing about it is Claude-specific: any agent that can use MCP tools can get the same thing. Here's how, and why I think you should try it. Three things changed my mind. 1. Agents produce output faster than humans can read it. A single agentic task can generate more text than a short blog post. Reading all of it is exhausting; skimming it means you miss the one line that mattered. Speech forces the agent to summarise . You can't speak a table. You can't speak a 40-line diff. So the agent has to tell you what actually matters, and put the rest on screen if you want it. 2. Talking keeps you in the loop without keeping you glued to the screen. When I'm in voice mode I can lean back, look away, think. The agent works between turns and reports back by voice. It feels less like supervising a log file and more like pairing with a friend who's sitting next to you. 3. It's finally free and local. A year ago this meant cloud speech APIs, API keys, and paying per minute. Today, open models like Whisper speech-to-text and Kokoro text-to-speech run comfortably on a laptop. No account, no key, no audio leaving your machine. The trick is that the voice doesn't live inside the agent. It lives in an MCP server , the standard plug-in protocol that Claude Code and a growing list of other coding agents already speak. The MCP server I use is VoiceMode open source, MIT licensed . It exposes one main tool, converse : speak something, then listen and return what the user said. Any agent that can call MCP tools can now hold a conversation. That's the whole point: build the voice once, plug it into every agent you use. When the next coding assistant comes along, it gets a voice for free too. I'm on an Apple Silicon Mac with 16 GB of RAM. Nothing exotic. 1. Install VoiceMode and the local speech services uvx voice-mode-install voicemode service install whisper speech-to-text voicemode service install kokoro text-to-speech 2. Pin it to local only By default VoiceMode can fall back to a cloud API if it finds an API key. I don't want that: voicemode config set VOICEMODE STT BASE URLS http://127.0.0.1:2022/v1 voicemode config set VOICEMODE TTS BASE URLS http://127.0.0.1:8880/v1 Now nothing you say leaves the machine. 3. Plug it into Claude Code One line: claude mcp add --scope user voicemode -- ~/.local/bin/voicemode 4. Add a /talk command A tiny custom slash command: a markdown file in ~/.claude/commands/ whose prompt says start a voice loop with the converse tool, keep replies short, stop when I say β€œstop”. Type /talk , and you’re talking. That's it. The same recipe works in any coding agent that supports MCP. The pieces are always the same: voicemode binary. converse tool Check your agent's docs for where its MCP config lives. Some read one global file; others want the server listed per agent or per project. Getting audio in and out is the easy part. Making it pleasant took some prompt tuning. The rules that made the biggest difference: 🎀 You: … and πŸ”Š Friday: … , so the screen matches what you hear. Handy when the speech recognizer mishears you. Speech recognition mishears things, especially names, numbers and jargon. "Delete the test branch" and "delete the best branch" are one syllable apart. So my rule is simple: πŸ‘‰ Never let a voice command run an action unconfirmed. This one rule is what makes voice safe enough to actually rely on. I wondered the same, so I measured it from my own session logs. Across 16 voice exchanges: βœ… Verdict: a voice turn costs about the same as a typed one. Speech-to-text and text-to-speech run locally, so they're free. The only extra is the transcript line, maybe 50–100 tokens a turn. If anything, voice saves tokens, because short spoken answers replace long written ones. Caveat: that's one session, not a controlled typed-vs-spoken comparison. Take it as a strong hint, not a benchmark. Mostly, yes. The voice gap after the agent finishes thinking is about 2 seconds : ~0.3 s for Whisper to transcribe you, ~1.6 s for Kokoro to start speaking. The real variable is how long the model thinks, which you'd wait for anyway. One surprise: Kokoro was faster on CPU than on the Mac's GPU. Time to first audio was 0.4 s on CPU versus 2.2 s on GPU, and the GPU never caught up after warm-up. If your local text-to-speech feels slow, try forcing CPU. And a lesson: when benchmarking TTS, use new text every time . Repeated text gets cached, and my first measurement looked 5Γ— better than reality. voice-mode-install --model small broke the Whisper install voicemode service install whisper . I looked around before settling on this: /voice VoiceMode was the only option I found that was fully local, actively maintained, and worked across every project and every agent. You've probably seen the term cognitive debt going around, along with cognitive surrender and AI brain fry . The worry is real, and the research is starting to back it up: Here's my take: the wall of text is a big part of the problem. When an agent dumps 900 words on you, the easiest move is to skim, nod and accept. That's surrender by exhaustion. Voice won't fix this on its own. You can say "yes" to everything just as lazily as you can click "accept". But it changes the default in a few useful ways: A few habits I've picked up to stay on the offloading side of the line: Voice makes these habits feel natural, because they're just how you'd talk to a person. I don't think we'll read our agents' output forever. As agents take on longer, more autonomous tasks, the human job shifts from reading everything to staying oriented : knowing what happened, what's blocked, and what needs a decision, while still doing the thinking yourself. Voice is good at exactly that. It's short and in the moment, and you don't have to sit and stare at a screen to follow it. Detail stays on screen for when you want it; the gist comes to you. The setup is free, local, and about ten minutes of work. If you spend your evenings building side projects with a coding agent, try talking to it for a week. I don't think you'll go back to scrolling. πŸ”­ Next up for me: trying NVIDIA's Parakeet model for even faster speech recognition, and moving the speech services to a home server so the laptop stays cool.