Vibe Coding Stack

Vibe Coding, Now With Sound

Your AI writes a 200-line explanation. You don't want to stop coding to read it. Select it — CastReader reads it aloud while your hands stay on the keyboard.

Download for Mac — Free

macOS 13+ · Free · Works in any terminal, IDE, or browser

The Problem With Vibe Coding Today

AI agents are generous with words. You only have two eyes.

Responses keep growing

Claude Code and Cursor often output 100-300 lines per turn — reasoning, diffs, warnings, citations.

Your eyes are on the code

Reading every explanation pulls you out of the diff you're reviewing. Flow breaks, context resets.

Scrolling is slow

You end up skimming, missing the important line, then asking the agent to repeat itself.

Three Steps, Zero Setup

1

Select the AI response

In Claude Code, Cursor, Gemini CLI, or any terminal — just drag-select the text.

2

Click the orange bubble

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

3

Keep coding

Your eyes stay on the diff. The AI's explanation plays in the background with word-level highlighting.

Demo: select any AI response → orange bubble → listen while you code

Works With Every Vibe Coding Tool

No integration needed. If you can select text, CastReader can read it.

Claude Code

Listen to long explanations, diffs, and plan-mode output

Cursor

Read Composer and chat responses while reviewing the diff

Gemini CLI

Hear full responses from Google's terminal agent

Aider

Listen to code changes and explanations in aider's REPL

Codex CLI

OpenAI's agent CLI — same workflow, hands-free playback

Warp

Warp AI's suggestions spoken aloud inside the terminal

Windsurf

Listen to Cascade's thinking and summaries while coding

Chat apps & browsers

ChatGPT, Claude.ai, Gemini web — same bubble, same shortcut

Built For Developers, Not Readers

Zero-config selection

No extension, no API keys, no setup per app. Select text anywhere on macOS, the bubble shows up.

Adjustable speed

1.5× default for fast skimming. Bump to 2× for TL;DR, or 1× for complex reasoning.

Word-level highlight

Current word highlights as it plays. You can glance and still know where you are.

Natural voices

Kokoro TTS — English female (Heart) and Chinese voices. Not the robotic macOS Say.

Stays out of the way

A menubar app. No Dock icon. No notifications. It only appears when you select text.

Free forever

No signup. No quota. No paywall. We pay for the TTS server, you vibe code.

FAQ

Does this work inside Claude Code / Cursor / Gemini CLI?

Yes. CastReader listens for text selection anywhere on macOS. Whether you're in iTerm, Ghostty, Warp, VS Code, Cursor, or a web-based Claude.ai tab, the orange bubble appears when you drag-select text. One click to start playback.

Is this better than macOS's built-in Say / VoiceOver?

For code and long AI responses, yes. macOS Say is robotic and monotone. CastReader uses Kokoro TTS with natural voices and gives you word-level highlighting — you can still see the code while listening. VoiceOver is an accessibility tool designed for screen-reading every UI element; CastReader is designed for reading the text you specifically selected.

What about ChatGPT's voice mode or Claude's audio feature?

Those only work inside their own apps, and only for content generated inside that session. CastReader works across every AI tool, every terminal, every browser, every PDF, every Notion doc. One tool, every selection.

Does it slow down my terminal or IDE?

No. CastReader is a separate menubar app. It only activates when you drag-select text. Terminal and IDE performance are untouched.

Can I use it on Windows / Linux?

Not yet. The desktop app is macOS-only for now (Apple Silicon + Intel). If you're on Linux/Windows, you can use the CastReader browser extension for Chrome, Edge, or Firefox — that covers your web-based AI chats (Claude.ai, ChatGPT, Gemini web).

Is my AI conversation sent to a server?

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

Start vibe coding with sound

Free forever. Works with every AI coding tool you already use.

Download for Mac — Free

Vibe Coding Has an Audio Problem

Vibe coding — the term Andrej Karpathy coined in 2025 for the new way of writing software by feel, with an AI agent handling most of the keystrokes — changed what a developer actually does during a session. Instead of typing every line, you orchestrate: prompt, read, steer, prompt again. The bottleneck moved from the keyboard to the reading queue. Every turn your agent produces a long explanation, a diff rationale, a tradeoff summary, or a plan. None of that is optional to read — but reading it means your eyes leave the code you're actually trying to ship.

This is where audio comes in. If your AI's 200-line response plays in your ears while your eyes scan the diff, you multiply your throughput. You don't skip the explanation, you absorb it in parallel. Your working memory keeps the plan active while your fingers stay on the keyboard. It's the same reason truckers listen to audiobooks and surgeons listen to music: when your eyes are committed, your ears are the spare channel.

CastReader is built specifically for this. Select any text — inside Claude Code, inside Cursor's Composer panel, inside a Gemini CLI output, inside a ChatGPT tab, inside a Markdown preview — and a small orange bubble appears next to the selection. Click it, or press the keyboard shortcut, and playback starts. Word-level highlighting tracks the spoken position, so if something catches your attention you can glance over and see exactly where. Speed is adjustable from 0.8× to 2.5×; most developers settle at 1.5× for AI output.

It works because it doesn't try to integrate with any specific tool. There's no plugin for Claude Code, no extension for Cursor, no API wrapper for Gemini. It listens for macOS text selection at the OS level, which means it works everywhere text selection works — and that's everywhere. New AI tool launches next month? CastReader already supports it. Your terminal of choice isn't popular enough to get plugins? CastReader doesn't care. You select, it reads.