Let your agents think out loud
Loquitor is a Rust CLI daemon that watches your AI coding agent's terminal output (starting with Claude Code), extracts its narrative thought lines, and speaks them aloud via TTS. It supports multiple concurrent sessions with different voices, so you can distinguish parallel workstreams by ear.
Full docs and install guide: loquitor.reachdiego.com
cargo install loquitorOr download a pre-built binary from the releases page.
loquitor init # Setup wizard: pick TTS provider, voice, test audio
loquitor enable # Install shell hook + start daemonThen open a new terminal tab and run claude as you normally would. Loquitor will detect the session and start narrating.
loquitor init Run the first-time setup wizard
loquitor enable Install shell hook and start the background daemon
loquitor disable Remove shell hook and stop the daemon
loquitor status Show daemon status
loquitor lanes List active lanes
loquitor lane <id> --name <n> --voice <v> Rename a lane or change its voice
loquitor voices List available voices from the configured TTS provider
loquitor test <text> Speak a test phrase
- OpenAI TTS — $15/M chars, simple setup, good quality
- ElevenLabs — Best voices, lowest latency, from $5/mo
- MiniMax — $60/M chars, multilingual, expressive
- macOS Say — Free, offline, built-in (lower quality)
- macOS (primary target for v0.1.0 — Linux support for non-macOS providers coming soon)
- zsh shell
- Rust 1.85+ (if building from source)
Loquitor stores its config at ~/.config/loquitor/config.toml. The setup wizard populates this file — you rarely need to edit it by hand. See the config reference for details on lane rules, voice pools, and parsing tuning.
loquitor enableinstalls a small zsh hook in~/.zshrcthat wraps theclaudecommand withscript -q, capturing terminal output to~/.config/loquitor/lanes/<project>-<timestamp>.log.- The daemon watches that directory with
notify. New.logfiles spawn per-lane watcher tasks. - Each lane watcher tails its log file, strips ANSI escapes, and uses a 6-stage parser to extract narrative thought lines (filtering out tool invocations, code blocks, file paths, etc.).
- Speakable text is synthesized via the configured TTS provider and queued for playback. A single global audio queue plays utterances serially — lanes never talk over each other. Utterances older than 15 seconds are dropped to keep narration current.
MIT. See LICENSE.
See CONTRIBUTING.md.
Loquitor is free and open source. If it saves you time, consider tipping:
- SOL/USDC/USDT (Solana):
[address] - ETH/USDC/USDT (Ethereum):
[address] - BTC:
[address] - TON:
[address]