For Claude Code Users

Listen to Claude Code While You Read the Diff

Claude just spent 30 seconds writing a 200-line explanation. You don't want to spend another 30 seconds reading it. Select it — CastReader reads it aloud in a natural voice while you stay in the terminal.

Download for Mac — Free

macOS 13+ · Free · Works in iTerm, Ghostty, Warp, VS Code, Cursor

When Claude Code Floods Your Terminal

Every vibe coder has hit these moments. Audio makes them painless.

Plan mode with 10 bullet points

Claude lays out a plan before writing any code. You need to review it, but reading 40 lines interrupts your flow. Select, listen, approve.

Long diff explanations

After editing 8 files, Claude explains each change. You want to scan the diffs yourself — let the explanation play in your ears while your eyes verify the code.

Error recovery walkthroughs

Tests failed, Claude diagnoses the root cause across 3 files. Listen to the reasoning while you look at the failing test output.

Reasoning-heavy answers

You asked a design question. Claude wrote 6 paragraphs. Audio at 1.5× gets you through it in 90 seconds without losing your place in the codebase.

Three Steps, Zero Setup

1

Select Claude's response

In your terminal, drag-select the text you want to hear — plan, explanation, summary, anything.

2

Click the orange bubble

A small square button appears next to your selection. One click starts playback.

3

Keep reading the diff

Your eyes stay on the code. Claude's explanation plays in the background with word-level highlighting.

Demo: select Claude's output → orange bubble → listen while you verify the diff

Designed For Terminal-First Developers

Works in every terminal

iTerm2, Ghostty, Warp, Alacritty, Apple Terminal, Kitty — if you can select text, CastReader can read it. No per-terminal config.

Works inside Cursor & VS Code

Claude Code in the integrated terminal or Composer panel — select Claude's output anywhere, playback starts immediately.

1.5× by default

Claude's responses are dense but rarely fast-paced. 1.5× matches your reading speed. Adjustable 0.8× to 2.5×.

Word-level highlighting

The currently spoken word is highlighted in the terminal selection. Glance anytime to know exactly where playback is.

Menubar-only, no noise

No Dock icon, no notifications, no popups. CastReader sits quietly in your menubar and only appears when you select text.

Free forever

No signup. No API key. No quota. We cover the TTS server costs. You focus on shipping code.

FAQ

Does this work in every terminal?

Yes. CastReader hooks into macOS at the OS level. iTerm2, Ghostty, Warp, Alacritty, Apple Terminal, Kitty, WezTerm, tmux inside any of them — if you can drag-select text, the orange bubble appears. No plugin needed per terminal.

Will it work with Claude Code inside Cursor or VS Code?

Yes. Whether Claude Code runs in an integrated terminal or you paste its output into Composer, any text you select triggers the bubble. CastReader doesn't care which app you're in.

What about ANSI color codes and terminal formatting?

CastReader extracts plain text from your selection, stripping ANSI escape codes. Code blocks and bullet points read cleanly. Block-level markdown syntax (###, **) is filtered out.

Is it better than using Claude's built-in voice mode on claude.ai?

Claude.ai voice mode only works inside the web app, and only for content generated in that session. CastReader works for Claude Code in your terminal, Claude's CLI output, Claude.ai web, plus every other AI tool — all with the same workflow.

Will this slow down my terminal?

No. CastReader is a separate menubar app. It activates only when you drag-select text. Your terminal's rendering, input lag, and agent streaming are completely unaffected.

Is my Claude Code session sent to a server?

Only the text you select is sent to our TTS server (api.castreader.ai) to synthesize audio. We don't log it, store it, or train on it. If you need fully offline TTS, point CastReader at a self-hosted Kokoro instance in settings.

Pair your Claude Code setup with audio

Free forever. Ready in under 30 seconds.

Download for Mac — Free

Claude Code Changed What Reading Means

Before Claude Code, "reading" during development meant reading code — your own or someone else's. Now it also means reading what the model wrote about the code. A typical Claude Code session produces far more English than it does TypeScript. Each turn the agent explains its plan, walks through the diff, surfaces caveats, and suggests follow-ups. It's like pairing with a colleague who narrates every decision. Useful — but heavy on your reading queue.

The honest answer is that most developers skim. You scroll past the plan section. You skip the explanation of why a function was renamed. You tell yourself the diff speaks for itself, even when it doesn't. Then three turns later Claude references a decision from an earlier explanation and you have to scroll back up. The context you were supposed to absorb is gone, and now you're context-switching backwards.

Audio solves this neatly. Your eyes are already committed to the diff — watching what Claude changed, verifying the imports, checking for accidental deletions. Your ears are unoccupied. Route Claude's explanation to the ear channel and you absorb both streams in parallel. Select the plan, press play, read the diff while the plan plays. When playback ends you've understood the rationale without ever leaving the code view.

CastReader was built for exactly this pattern. It doesn't integrate with Claude Code — there's no plugin, no config, no auth handshake. It runs at the macOS selection layer, which means it works with Claude Code in iTerm, Claude Code in Ghostty, Claude Code in Cursor's integrated terminal, and Claude Code output you pasted into Notes for some reason. Future versions of Claude Code, new CLI agents you haven't tried yet, a terminal you switch to next month — CastReader already works there, because it only cares about one thing: you selected some text.