What the source did
- He has worked with Claude Code by voice for a few months: local speech to text (Whisper) and local text to speech, so nothing leaves his machine. The post says Piper; his later comment says Kokoro by default.
- It's a Claude Code skill: a SKILL.md that tells Claude how to run the loop, plus shell and Python scripts that do the audio.
- rec (from sox) records until about 3 seconds of silence, whisper.cpp transcribes it, and the audio file is overwritten and deleted right after.
- One voice-turn script speaks Claude's reply and then listens; Claude calls it through Bash, and what he says comes back as the tool output, which is basically his next message.
- A turn policy: Conversation (speak, then listen), Announce (speak only, for background updates like tests passing) and Auto (Claude picks per turn). If it asks and he stays quiet, it assumes he's busy, not gone, and keeps working.
- Speech rules: a few sentences per reply, no markdown or code read aloud, say "on it" before long tasks, and put anything long in a markdown doc with a short spoken summary.
- The fix that made it reliable: a Stop hook. The record and speak scripts write small receipts; if he spoke last and Claude hasn't spoken back, the hook blocks the turn and tells Claude the exact command to run.
- He talks to one "chief" agent that delegates to other Claude sessions running in Orca. The chief doesn't write code; it hands each task to a worker with a written spec and tracks who's doing what.
- When a worker finishes, the chief announces it. When a worker needs a decision, the chief asks out loud and waits; if he doesn't answer, it parks the question on a "waiting on parkskier426" list.
- Standing rules he says once ("don't push to an MR that's already approved," "don't post review requests for me") go into the chief's rules and every worker's spec.
- Workers each use their own worktree. Each writes a full markdown summary of its session and hands the chief a short version.
- An audio lock stops two sessions talking over each other; Stream Deck keys mute the mic or speaker for meetings, and muted speech turns into notifications. Small markdown "context" files give each project standing background, and a Siri launcher opens a terminal already in voice mode.
- Why it works for him: he has ADHD, and with 5 or more tasks running he was constantly switching tabs to answer agents.
“Now the context switching mostly happens on the chief's side, not in my head.”— u/parkskier426 (r/ClaudeCode), Reddit
Summary written by Agent Cookbook from the original post. See the original for the full context. How we source recipes
Our notes
- What it takes
- Claude Code, sox and whisper.cpp for local speech to text, Kokoro (or Piper) for speech, a Stop hook, and worker sessions in their own worktrees (he uses Orca). He hasn't published his skill files; ours follows his description.
- Where it breaks
- Claude drifting back to plain text deep in a session so the mic never reopens (fixed with the Stop hook), sessions talking over each other without an audio lock, and no way to interrupt it mid-reply yet.
- Human checkpoint
- The chief asks decisions out loud and parks unanswered ones on a waiting list instead of guessing. Pushing, merging, posting review requests and deleting wait for your yes.
- Tools involved
- Claude Code, Local speech to text: sox (rec) plus whisper.cpp, Local text to speech: Kokoro (he also mentions Piper), Orca, or another way to run worker Claude Code sessions in their own worktrees, A Claude Code Stop hook, Optional: Stream Deck keys for push-to-talk and mute
✓ Verified Source link checked and still live. Notes by Thomas, editor. How we verify
Copy the prompt
Ours Our version, based on what u/parkskier426 described in his post and comments. He hasn't published his SKILL.md or scripts. Fill in the [BRACKETS].
Approval rule
Set it up
- Install sox, whisper.cpp and Kokoro, and check each runs locally.
- Have Claude Code build the listen, speak and voice-turn scripts with receipts and an audio lock.
- Write the SKILL.md with the turn policy and speech rules.
- Add a Stop hook that blocks a turn when you spoke last and Claude hasn't spoken back.
- Set up worker sessions in their own worktrees (he uses Orca) and a chief context that delegates with written specs.
- Give the chief your standing rules once; check they show up in each worker's spec.
- Add push-to-talk and mute keys (he uses a Stream Deck) so meetings fall back to notifications.
Common failures
- Claude answers in plain text deep in a long session and the mic never reopens. Prose instructions didn't fix it for him; the Stop hook did.
- Two sessions talking over each other, or one session's mic picking up another's reply. He added an audio lock around the whole exchange.
- Long replies read aloud. Keep speech to a few sentences and put detail in a markdown file.
- The chief bloating its context with worker detail. His workers send a short summary and keep the full write-up in a file.
- Expecting to interrupt it mid-sentence. He says he can't yet with local open-source tools.
Variations
- Voice only, no chief: use the voice loop in a single Claude Code session first.
- Text chief: keep the delegation and "waiting on me" list but type instead of talk.
- Hands-free start: a launcher script that opens a terminal with Claude already in voice mode (he uses Siri).
Common questions
Where does this setup come from?
u/parkskier426 (r/ClaudeCode) shared it on Reddit (2026-11-06). Read the original post.
What do I need to set it up?
Claude Code, Local speech to text: sox (rec) plus whisper.cpp, Local text to speech: Kokoro (he also mentions Piper), Orca, or another way to run worker Claude Code sessions in their own worktrees, A Claude Code Stop hook, Optional: Stream Deck keys for push-to-talk and mute. Setup time: He says he has worked by voice for a few months and iterated most on keeping the loop alive. Cost: Free local tools (whisper.cpp, sox, Kokoro or Piper) plus your Claude plan; a Stream Deck is optional.
What does the agent need my approval for?
The chief asks decisions out loud and waits; unanswered questions are parked, not guessed. Standing rules he gives once (like not pushing to an MR that's already approved, or not posting review requests for him) go into every worker's spec. In our version pushing, merging, posting and deleting always need your yes.
What is this setup for?
Running several Claude Code tasks at once without juggling tabs: you talk to one chief agent, it hands each task to a worker session, speaks when work lands and asks you decisions out loud. He built it partly because he has ADHD and the context switching was taxing.
Which tools does it use?
Claude Code with a custom skill, sox (rec) and whisper.cpp for speech to text, Kokoro for speech (his post also mentions Piper), a Claude Code Stop hook, and Orca to run the worker sessions in their own worktrees. Stream Deck keys for push-to-talk and mute are optional.
Does it save money or time?
He gives no money or time figure. The voice tools are free and local; you still pay for your Claude plan. What he describes is less context switching with 5 or more tasks running.
How do I give it access?
Everything runs on your machine: the microphone, Bash permission for Claude to run the voice-turn script, and a worktree per worker. Keep pushing, merging and posting review requests behind your yes; he gives standing rules like "don't push to an MR that's already approved" once, and the chief adds them to every worker spec.
Related setups: Voice notes cleaned by Claude, run by Codex → · Kanban board for parallel coding agents → · Get pinged when an agent needs input → · Subagent task graphs in parallel worktrees → · A Grok Bot front door to Claude Code sessions →
Get the 10 best agent setups. Free.
Plus new recipes every week. One email, no spam.
Unsubscribe anytime. Privacy