Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>ReadbackNew to Visual Studio Code? Get it now.
Readback

Readback

Speechify

|
1 install
| (0) | Free
Hear your AI coding agent's replies in a Speechify voice, with the words highlighted as they are spoken.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Readback

Hear your AI coding agent's replies in a Speechify voice, with the words highlighted as they are spoken.

Claude Code works through a task. Readback reads the notes Claude writes between tool calls as they land, then condenses the finished reply to a few spoken sentences, all in the VS Code sidebar with each word lit as it is said. The full reply is one click away. Click a word to jump to it. Step by sentence. Cycle the speed. Pick any voice your Speechify key can render, including your own clone, and hear a sample of each before you choose.

Install

Paste this into Claude Code:

Install the Readback VS Code extension, then run its "Install the Claude Code hook" command and tell me when it is done.

Or by hand: install the extension, then either answer the prompt that appears on first start, click Readback in the status bar, or run Readback: Set Speechify API key from the Command Palette. Then press Install the hook in the Readback view.

You need a Speechify API key. Create one at https://platform.speechify.ai/api-keys. Readback keeps it in VS Code's secret storage and every reply you listen to bills your own workspace.

After a reload, click once anywhere in the VS Code window before you expect to hear anything. The browser inside VS Code keeps audio silent until then, and the player shows a card until it has played once. Replies that arrive before that queue up.

How it works

  • Three hooks in ~/.claude/settings.json, MessageDisplay, PreToolUse and Stop, post each assistant message, each tool call and each finished turn to Readback. The hook is ten lines of POSIX shell and curl. It needs no runtime on your PATH and never decides anything itself.
  • A message followed by a tool call was a note written before it, and Readback reads it as it stands while the tool runs. A message followed by Stop is the finished reply and gets condensed. Turn the notes off with readback.progress.
  • Readback condenses the reply with claude -p on the smallest model, on your own Claude subscription, so it holds no model key. The run loads no settings and is marked so the hook ignores it, which is what stops a reply about a reply. If claude is missing or the run fails, you hear the full reply instead. Turn it off with readback.summarize.
  • Readback flattens the text to plain prose (code blocks become "code omitted", tables a short note, links their text), splits it into paragraphs, and synthesizes each one through /v1/audio/speech as the player reaches it.
  • Speech marks come back with character offsets into the exact text sent, and that is what drives the highlight. No guessing, no token alignment.
  • Renders are cached on disk by text, voice and model. Replaying is free. Changing voice re-renders.

Commands

Command What it does
Readback: Set Speechify API key Checks the key against the live API before storing it
Readback: Choose voice Opens the picker in the panel: featured voices first, then every voice grouped by language, with search, filters by gender, clone or tag, and a sample of each. Saved for the open project; set readback.voice in user settings for the default
Readback: Install the Claude Code hook Adds Stop, MessageDisplay and PreToolUse hooks, leaving the rest of the file alone
Readback: Remove the Claude Code hook Removes exactly that hook
Readback: Read selection Reads the editor selection. Also in the editor context menu
Readback: Stop Stops playback and clears the queue
Readback: Clear the list Forgets every listed reply. The trash button in the bar does the same

Settings

Setting Default Meaning
readback.autoplay true Play each new reply as it arrives; off lists them and waits for play
readback.summarize claude Condense replies with claude -p, or off to read them in full
readback.progress true Read the notes Claude writes between tool calls as they arrive
readback.voice harper_32 Speechify voice id. Per project when set from the picker
readback.model simba-3.2 Speechify model
readback.speed 1 Playback rate. Per project when cycled from the player
readback.minChars 80 Replies shorter than this are skipped
readback.maxChars 4000 Longer replies are cut at a sentence and end with "and more"

Several windows

Each window shows and speaks only its own project's turns. A turn belongs to a window when the folder Claude Code ran in is inside one of its workspace folders, or contains one (running Claude at a monorepo's root while the window has a sub-project open is the same project). A turn that matches no open window is not read.

The player

Play, pause, back and forward a sentence, stop. Space, left and right do the same when the player has focus. The progress line tracks the current paragraph. The autoplay toggle decides whether a new reply plays at once or waits, marked with a dot, for you to press play. The speed pill cycles from 0.75× to 2×; the voice pill opens the voice picker. Each turn has its own play button, and a condensed turn has a "Full reply" section with one of its own.

Limits

  • Claude Code is the only source in this version. The hook fires for sessions in a terminal; whether it fires from the Claude Code panel in VS Code depends on the extension version you run.
  • The hook is a shell script, so macOS and Linux. Windows needs a PowerShell hook, which does not exist yet.
  • Read-along needs speech marks, which the streaming endpoint does not return, so replies are read paragraph by paragraph at up to 2,000 characters per request.

Develop

npm install
npm run typecheck && npm test
npm run build          # dist/extension.js
npm run package        # readback-<version>.vsix

Press F5 in VS Code to run the extension in a development host.

MIT. Built by Speechify. The player's icons are VS Code's codicons (CC BY 4.0).

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft