I Gave My Agents a Voice… And It’s Wildly Useful
TL;DR
The Rime CLI streams natural-sounding text-to-speech straight from your terminal, so Claude Code, Codex, Devin, and OpenCode can end each step with a brief spoken summary plus a next-step question. Install, commands, flags, and the agent prompt pattern behind the demo.
Coding agents end every task the same way: a wall of text that expects you to be watching the terminal. When the run is short you skim it; when the agent is iterating on its own for ten minutes, the scrolling becomes the bottleneck and most of what it printed goes unread. The fix is not faster reading, it is a different output channel.
The Rime CLI demo video shows the version of this that works inside the loop: coding agents that reply out loud. Claude Code, Devin, OpenCode, and Codex are instructed to finish each unit of work with a brief, human-sounding spoken summary and ask a one-line next-step question, played through the Rime text-to-speech CLI the moment the agent finishes. You keep working; the agent speaks up when it has something worth interrupting you for. Here is how the toolchain works, the exact commands, and the prompt pattern that makes agents talk.
| Resource | Description |
|---|---|
| Rime CLI on GitHub | Official CLI repo: install, commands, flags, models, configuration |
| Rime TTS quickstart | Five-minute API walkthrough, voice catalog, error reference |
| Rime | Product home: voice models, languages, pricing |
| The video | Developers Digest demo, chapters below |
The video runs a real agent session with voice on top. The demo edits an HTML landing page - adds a gradient, a dark-mode toggle that persists the user's preference, and a mobile menu - while the agent narrates each step. The setup is not a script or a wrapper around the agent. The agent (the video cycles through Claude Code, Devin, OpenCode, and Codex) is given a standing instruction: when a unit of work completes, reply with a short spoken summary of what changed, then ask a one-line question about what comes next.
That one decision changes the loop. Instead of the agent finishing quietly and you polling for output, the terminal becomes a co-worker that tells you when it needs you and why. The video argues this matters most during longer agent runs, where the difference between "checked five minutes in" and "checked when it spoke" is minutes of idle time either way.
The CLI is a single Go binary. From the README, three install paths:
# Homebrew (macOS and Linux)
brew tap rimelabs/rime-cli
brew install rime-cli
# Shell script, pinned to a version with the sh -s flag
curl -fsSL https://rime.ai/install-cli.sh | sh
# From source
go install github.com/rimelabs/rime-cli@latest
Then authenticate. rime login opens the Rime dashboard in your browser and saves the API key locally:
rime login
The key lands in ~/.rime/cli-api-token, and the RIME_CLI_API_KEY environment variable takes precedence over the stored key when you need to override it (different account, CI box, shared machine). You need a Rime account to get a key; the quickstart signup is free and the video walks through logging in for the free credits that come with it.
Everything else is one streaming command. rime tts synthesizes text, streams the audio, and plays it as it arrives - no file, no player, no waiting for the full render:
# Streams and plays immediately
rime tts "Build finished, tests pass. Want me to push?"
# Named voice and model, saved to a file instead
rime tts "Done" --speaker astra --model-id arcana -o done.wav
# Save then play, or pipe to stdout with --output -
rime tts "Ready" -p --output -
Flags from the README:
| Flag | Short | Meaning |
|---|---|---|
--speaker | -s | Voice to use, for example astra or celeste |
--model-id | -m | arcana (WAV), mistv2 (MP3), or legacy mist |
--output | -o | Save to a file; use - for stdout |
--play | -p | Play audio after saving |
--lang | -l | Language code, default eng |
--json | Emit structured output for scripts | |
--quiet | -q | Suppress non-essential output |
Three support commands round it out. rime hello plays a time-appropriate greeting in the default voice - the fastest way to prove the token, the network path, and the speakers all work. rime play FILE plays a WAV or MP3 with a waveform visualization. rime curl "text" prints the readiness API call for the request, which is handy when you want to move the same payload into a plain HTTP integration later. rime uninstall prints clean removal instructions for the binary and ~/.rime.
From the archive
Aug 31, 2026 • 9 min read
Aug 31, 2026 • 10 min read
Aug 28, 2026 • 5 min read
Aug 28, 2026 • 10 min read
The CLI ships three models, per the README:
| Model | Format | Use |
|---|---|---|
arcana | WAV | High-quality, low-latency, the default for instant feedback |
mistv2 | MP3 | Compressed output for longer audio |
mist | MP3 | Legacy |
arcana covers 11 languages - English, Arabic, French, German, Hebrew, Hindi, Japanese, Portuguese, Sinhala, Spanish, and Tamil. mistv2 and mist cover English, French, German, and Spanish. The speaker names (astra, celeste, orion, and friends) come from the Rime voice catalog; the video shows the dashboard as the place to browse voices before wiring one into a project, and Rime's catalog lists the full set.
The video's core move is a plain-language standing instruction, not an SDK. In the agent's system prompt or AGENTS file, tell it:
Then the agent expresses the summary as text through the terminal, and rime tts turns it into speech in the same step. Because the CLI streams, the delay between "agent finishes" and "you hear it" is the latency of a single short synthesis call, short enough to keep the back-and-forth feeling conversational. The video structures the demo around this iteration: change, speak, question, answer, next change - a loop you can walk away from and return to on audio.
The same pattern composes with the pieces we already covered: Claude Code hooks are a natural place to trigger speech at specific lifecycle events, and the video's later chapters cover exactly this - wiring hooks and preferences so spoken updates fire at sensible checkpoints rather than on every keystroke. If you want the agent to reach for more than the terminal, our make-claude-code-10x-at-design write-up shows the same wiring idea against image and video assets; voice is just another tool in that loop.
If this feels familiar, it should: we built the scripted version - audio briefs from agent runs with ElevenLabs - where OpenCode runs headless, writes a plain-language summary, and an ElevenLabs API call mints an MP3 you listen to later. That pattern is for deferred consumption: scheduled runs, multiple briefs by Friday, audio you take with you. The video's approach is the interactive version: streaming playback inside the session, zero token plumbing, voice per project. The two complement each other - briefs for what ran while you were away, spoken replies for what is running now. If you want to compare TTS providers on price and latency before committing, the TTS API comparison covers the current field. And if you want the other direction - your voice into the agent rather than its voice out - the Wispr Flow write-up is that loop.
Use the spoken-loop pattern when:
Skip it when:
rime curl output is the bridge between the two.Watch the full demo at https://www.youtube.com/watch?v=xOC9PQmpcyU. The post cannot carry the pacing - hearing the agent finish an edit, speak a summary, and take the next instruction in real time is the whole argument, and the video walks the landing-page edit live with chapters covering install, voices and flags, the workflow setup, voice-driven iteration, hooks, and the dashboard.
Install the Rime CLI, run rime login once, and add a standing instruction to the agent's prompt telling it to end each completed step with a one- or two-sentence spoken summary followed by a single next-step question. The agent writes the summary as terminal text and the same step streams it through rime tts.
The official command-line interface for Rime text-to-speech. It authenticates with your Rime API key, synthesizes speech from text, streams audio in real time, plays it through your speakers, and saves output to WAV or MP3 files. It is a Go binary installed via Homebrew, a shell script, or go install.
Creating a Rime account is free and comes with credits, which the video's install walkthrough uses to run rime hello and the first few commands. Beyond the trial, usage is metered on Rime's pricing - check the live page before committing a high-volume workflow.
Three models: arcana (WAV, high quality, low latency), mistv2 (MP3), and legacy mist. Speakers are catalog voices such as astra and celeste, browsable on the Rime dashboard and documented in the voice catalog. Voice covers 11 languages on arcana and 4 on the Mist models.
Yes. rime login opens the dashboard in your browser and saves the key to ~/.rime/cli-api-token. Set RIME_CLI_API_KEY to override the stored key per session.
Fetched 2026-08-31:
Note on method: YouTube auto-generated captions were not retrievable for this video from the machine that produced this post, so the demo flow (gradient, dark-mode toggle, mobile menu, hook wiring, voice-per-project) is taken from the video's official description and chapter list, and every command, flag, and model name is taken from the Rime CLI README and Rime docs. No quotes, prices, or flags beyond those sources appear here.
Read next
The agent finishes, the summary scrolls past, and you will read it later. Build the fix: a coding agent that ends every run with a plain-language summary, piped into ElevenLabs text-to-speech and out as an MP3 you can listen to on the way to work. The complete one-hour build.
9 min readThe agent is only as good as the prompt, and the best prompts are the ones you would speak. How to dictate context-rich prompts into an agent CLI like OpenCode hands-free: hotkeys, snippets, dictionary, and Command Mode.
9 min readA fair, sourced comparison of the TTS APIs developers reach for in 2026: OpenAI, ElevenLabs, xAI Grok, and Cartesia. Quality vs latency vs price, streaming, voice cloning policies, and whether to route through an AI gateway or go direct.
8 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
A hosted infinite canvas your headless AI agents drive over MCP. Any MCP-speaking agent - Claude Code, Codex, Cursor, or...
View ToolAnthropic's agentic coding CLI. Runs in your terminal, edits files autonomously, spawns sub-agents, and maintains memory...
View ToolGives AI agents access to 250+ external tools (GitHub, Slack, Gmail, databases) with managed OAuth. Handles the auth and...
View ToolLightweight Python framework for multi-agent systems. Agent handoffs, tool use, guardrails, tracing. Successor to the ex...
View ToolEvery coding agent in one window. Stop alt-tabbing between Claude, Codex, and Cursor.
View AppUnlock pro skills and share private collections with your team.
View AppScore every coding agent on your own tasks. Catch regressions in CI.
View AppDefine custom subagent types within your project's memory layer.
Claude CodeInstall Ollama and LM Studio, pull your first model, and run AI locally for coding, chat, and automation - with zero cloud dependency.
Getting StartedInstall Claude Code, configure your first project, and start shipping code with AI in under 5 minutes.
Getting Started
Build a Self‑Improving Next.js App: Supabase + Vercel Eve + GitHub Issues + Agent Loops Check out Supabase: https://supabase.plug.dev/1wWOTGS The video demonstrates how to build and deploy a self-im...

Build Anything with Vercel, the Agentic Infrastructure Stack Check out Vercel: https://vercel.plug.dev/cwBLgfW The video shows a behind-the-scenes walkthrough of how the creator rapidly builds and d...

Nimbalyst Demo: A Visual Workspace for Codex + Claude Code with Kanban, Plans, and AI Commits Try it: https://nimbalyst.com/ Star Repo Here: https://github.com/Nimbalyst/nimbalyst This video demos N...

The agent finishes, the summary scrolls past, and you will read it later. Build the fix: a coding agent that ends every...

The agent is only as good as the prompt, and the best prompts are the ones you would speak. How to dictate context-rich...

A fair, sourced comparison of the TTS APIs developers reach for in 2026: OpenAI, ElevenLabs, xAI Grok, and Cartesia. Qua...

Claude Code hooks are powerful, but discovery and install still feel like manual JSON surgery. The Hookyard prototype sh...

Claude Code and Codex can build a website in minutes, but the result often looks generic and obviously AI-generated. Hig...

Agent-Manager wraps tmux into a Go TUI that groups AI coding agents by project, shows live status for each, and lets you...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.