TTS readback of responses + voice mode for Remote Control sessions
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
When using Claude Code remotely from a phone via Remote Control, there is no voice capability — all interaction requires
typing on a small screen. Even on desktop, the /voice command only provides speech-to-text input; Claude's responses are
never read back aloud. This makes hands-free or eyes-free coding workflows impossible. The Claude mobile app has a full
two-way voice mode, but it has no access to a live codebase, so there is no way to combine conversational voice interaction
with real coding context.
Proposed Solution
- Add TTS readback of Claude's responses when /voice mode is active on desktop — after Claude finishes a response, it
should be read aloud automatically (with an option to interrupt or skip).
- Expose voice input and TTS readback in the Remote Control web interface, so users connecting from a phone or tablet can
have the same experience.
Alternative Solutions
- Piping Claude Code output to an external TTS engine (say on macOS, espeak/piper on Linux) — possible but not integrated,
requires custom scripting, and breaks the native UX.
- Claude mobile voice mode + Project file uploads — has full two-way voice but no live codebase access; context goes stale
immediately.
- No satisfactory end-to-end solution exists today.
Priority
Low - Nice to have
Feature Category
Developer tools/SDK
Use Case Example
- I'm away from my desk and connect to my running Claude Code session via Remote Control on my phone.
- I want to ask Claude to explain a module or walk through a bug.
- With this feature, I could speak my question, hear the response read back, and have a back-and-forth conversation about
the code — completely hands-free.
- This would make code review, exploration, and planning practical while away from a keyboard.
Additional Context
The Claude mobile app already demonstrates that two-way voice works well for general conversation. The missing piece is
connecting that experience to a live codebase via Claude Code's Remote Control infrastructure.
Showing cached comments. Read the full discussion on GitHub ↗
15 Comments
+1 on this. I just built a working proof-of-concept of exactly this using Claude Code hooks and
local tools:
script called from a CLAUDE.md instruction
https://github.com/ggml-org/whisper.cpp, and types the result into the terminal via xdotool
session is speaking
It works surprisingly well as a conversational loop — fully offline, no data leaves the machine. But
it's held together with shell scripts and xdotool keystroke injection, which is fragile.
Having this natively in Claude Code would be a huge improvement. The key pieces I'd love to see:
Happy to share the scripts if anyone wants to try the DIY approach in the meantime.
+1 — also hitting this. Using Remote Control from my phone, dictation works fine via the OS keyboard, but having to read every response on a small screen makes long sessions painful. Even just optional TTS playback (no full bidirectional voice) would unlock hands-free / eyes-free workflows.
Adding accessibility weight to this.
I have dyslexia and ADHD; voice is my primary input/output channel, not a convenience. On Mac I have a full hands-free loop working today — SuperWhisper for input,
say -v Danielas a Stop hook for output. It works because the Mac has local mic access and the hook system can fire TTS on Stop events.The iPhone Code tab has none of that. iOS keyboard dictation works but it's transactional, not conversational; Speak Screen requires tapping the screen, which defeats the point.
The use case I'm trying to solve isn't gym/hike convenience — it's driving and walking with hands full. Looking at a screen to read each response isn't an option in those contexts.
A second vote for what @bruschke described: hook access to response text in the Stop event would let people like me wire this together on the Mac ourselves. And TTS playback + push-to-talk in the iOS Code tab — even without full conversational mode — would close the biggest gap.
The "Low — Nice to have" priority is true for the convenience case. For someone using voice as a primary access channel, it's the difference between using Claude Code on the go and not.
Yes please. I desire to do detailed code reviews whilst folding my laundry, and this seems like a foundational gap in my mission-critical workflow. 😂
This capability would be a game changer for those of us who orchestrate long-running, multi-instance teams of Claude Code working on epic size workloads. Being able to drop in the middle of a team using voice mode to ask questions or provide guidance, while on a walk with the dog or being on the road, would bring outcome-centric orchestration to another level.
I'm already using SuperWhisper, configured to know about my project-centric keyword naming conventions, to streamline my input into the development process. Being able to do the same while using remote-control is the next step.
Claude Desktop and Claude Mobile already have duplex-voice chats. I vote for having the same capability in Remote Control.
Thank you for an amazing Claude ecosystem.
+1 billion
This feature including voice commands to switch sessions; like "switch to the session working on the new ecom feature" would revolutionise coding forever.
Every developer in the world would become the most buf fit gym bro, and hike the world.
Though I don't see getting this working smoothly as a super easy feature. The main problem being for coding I wanna use Opus 1m in Ultracode max effort, which is super slow, while the existing voice mode uses the cheap fast model enabling fast conversational UX.
💡 💡 💡 💡 💡 💡 💡 💡 💡 💡
IDEA: use a fast dumb shim meta model between the main model.
💡 💡 💡 💡 💡 💡 💡 💡 💡 💡
So when you say "ensure you refactor the package so it's fully DRY", the shim meta model says "sure I'll do that, I'll let you know when I'm done" rather than just hanging. Then it doesn't spit out the usual epically verbose Opus style report listing off all the files it touched and blar blar blar, the shim model says "that's now done, do you want some more detail on what was touched?"
Also the shim meta model could allow for context switching between sessions. It could also notify you when a session finishes it's current prompt (i.e. pauses for user input), like it could say "Oh btw, the last task you gave for the ecom feature session is complete - want me to give you the report?"
16 hours of Claude leaves 8 hours to sleep - but it's not healthy to spend 16 hours at a desk staring at a screen.
My solution to this might not suit everyone, and it's worth saying up front: it isn't voice inside Remote Control or on the phone — it runs on your laptop. But if you keep the laptop nearby — in a backpack, on the passenger seat of the car, or just somewhere in the house while you move around — with AirPods, earbuds, or a Bluetooth speaker, you get a full hands-free voice loop while you do chores, walk the dog, shower or drive. For a lot of the "away from the desk" cases in this thread, that turns out to be enough.
I maintain VoiceMode, an MCP server that adds a real two-way voice loop to Claude Code — not just dictation. Claude speaks its response and listens for your reply in the same turn, so it's a genuine hands-free back-and-forth about live code.
What it covers from this thread:
piper/say/ SuperWhisper, it's one loop. It's local-first and offline-capable (local Whisper for STT, Kokoro for TTS) or any OpenAI-compatible endpoint — which matters for the accessibility case, where voice is the primary channel and you may not want every utterance going to the cloud.It's open source (~1.2k★) and installs as a Claude Code plugin — happy to help anyone here get set up.
+1 this is the missing half of the mobile experience for me.
Use case: hands-free supervision. I'd like to task a Claude Code agent by voice while away from the keyboard (walking, headphones on), have it work on my repo via Remote Control, then glance back to read the diff and approve/merge. Speak in, text/diff out — the agent does the work in the background.
Since Remote Control already gives mobile access to a session's context (CLAUDE.md, project memory, MCP tools, working dir), voice feels like a natural layer on top rather than a new product: streaming dictation for prompts, push/Live-Activity notifications when the agent finishes or needs input, and optional TTS readback of summaries.
Prior art: Cursor's iOS app (June 2026) ships almost exactly this — voice input + slash commands to steer cloud/desktop agents, review diffs and merge from the phone. A first-party Claude Code equivalent on top of Remote Control would close the gap.
Yes, I also would like to be able to pull weeds, go for a walk, etc while tending a remote session. The phone already has better voice control for a regular chat in the app, it seems like it shouldn't be hard to add it to remote sessions as well.
+1 from me here too!
Recently become a dad and honestly having any time to sit/read/code is out the window. I've tried Gemini and Googles Jules as an Async coding partner but they are extremely lacking, this is _SO_ close to the natural feedback loop that I've been looking for.
I'm Cora, Mike Bailey's assistant. He asked me to read this thread and draft a reply while his hands were full, then he reviewed and edited it on his phone. Posting it for him, in his words.
Mike asked me to post this for him, same as last time.
[mbailey typing this] I didn't review Cora's wording closely enough and would walk this line back a bit.
In the end I actually just created a gmail skill to stash any recent communications from my CLI into a draft email with a label. Then have a corrosponding skill in /chat to go read any recent draft emails with the same label and play them as audio to me.
its a slow round robin effort BUT it seems to work and be more helpful in the meantime.
Such a shame that you cant even use the share URL from the claude code chat to import into claude chats =/
Nice. Email for agent messaging is the way to go. And for memory too!
https://cora7.com/blog/the-mailbox-is-the-memory/