Feature request: Multimodal output — voice synthesis for explanations, text for code

Resolved 💬 3 comments Opened Mar 15, 2026 by iiifx Closed Apr 12, 2026

Summary

When working with Claude Code via voice input (/voice), the experience is one-directional: I speak, Claude responds with text. It would be transformative if Claude could speak back — but only the parts that make sense as audio.

The problem

Simply piping all output through TTS is impractical. Code blocks, file paths, diffs, and commands are useless as audio. But high-level explanations, design ideas, and summaries are perfect for voice.

Proposed solution

Claude should semantically separate its responses into two channels:

  • Voice channel: Natural language explanations, ideas, summaries, status updates — things you'd say to a colleague
  • Terminal channel: Code, diffs, file paths, commands, structured data — things you need to read and copy

The model already understands the difference — it just needs a way to express it. For example, a <speak> tag or a dedicated output stream that hooks/plugins can route to a TTS engine.

Why this matters

  • No other CLI coding agent does this. It would be a genuine differentiator.
  • Voice input is already shipped (/voice). Completing the loop with intelligent voice output makes the interaction truly conversational.
  • Developers working on architecture, planning, and code review would benefit enormously — these tasks are naturally conversational, not text-heavy.

Example

[VOICE] "I'll extract the speed manager into a separate service that listens 
for hotkeys and controls pause state. This removes the logic from the HUD footer 
and follows the single-responsibility pattern we use elsewhere."

[TERMINAL] 
// Code diff, file paths, implementation details shown as text

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗