Skip to content

Back to the catalog

Meer Tarbani - Growth & Engineering (@MeerTarbani) on X
x.comthread

Meer Tarbani - Growth & Engineering (@MeerTarbani) on X

Sidekick is an open-source macOS plugin for Claude Code that lets you define a one-sentence persona (e.g. "a blunt senior Rust dev") and drive a coding session hands-free by voice: it listens via Apple's on-device speech recognition, speaks answers with macOS voices, and lets you interrupt it mid-reply or say "stop" to cancel a turn. It also surfaces Claude's multiple-choice decisions as spoken questions, matching answers like "the second one" against an echo-filtered transcript so the assistant doesn't hear and respond to its own voice. Implementation is a ~500-line TypeScript Claude Code hooks module plus a 90-line Swift speech listener, runs fully local with zero servers and zero telemetry, and installs via the `claude plugin marketplace`/`claude plugin install` commands.

TL;DR An open-source voice-controlled persona plugin for Claude Code, built from a TypeScript hooks module and a tiny Swift on-device speech listener, fully local with no telemetry.
Document

How it works

The page adds detail to the summary's "echo-filtered transcript" and "matching" claims:

  • Turn loop: Sidekick listens until you pause, does the work, answers in one sentence, then plays a chime that means "your turn." The chime is synthesized; there are no audio assets.
  • Echo filter: The tool stores the last 3 things it said as an "echo vocabulary" and filters incoming mic transcripts against it. Without this, its spoken replies came back through the mic as prompts, and it answered itself in an endless loop. The thread's explanation is cut off at "Words not in there…", so the exact filtering rule isn't visible.
  • Voice decisions: When Claude needs a decision, Sidekick reads the options aloud. It accepts an option name ("production"), a position ("the second one"), "yes", or a free-form answer. It falls back to opening the normal dialog only after failing to match you twice.
flowchart TD
  A[Claude asks decision] --> B[Options read aloud]
  B --> C[Mic transcript]
  C --> D[Strip echo of last 3 utterances]
  D --> E{Matched answer?}
  E -- yes --> F[Answer sent to Claude]
  E -- no, first miss --> B
  E -- no, second miss --> G[Open normal dialog]

How to use it

Install from the Redskull-127/sidekick marketplace:

claude plugin marketplace add Redskull-127/sidekick
claude plugin install sidekick@meer-mods

The author recommends downloading the Ava (Premium) voice in macOS System Settings, because the default "sounds like a toaster." This command opens that settings pane:

/sidekick voices install

Create a persona and start a voice session:

/sidekick new Rudy, a blunt senior Rust dev
/sidekick talk

During a session, talk over it to cut off a reply, or say "stop" to cancel a running turn. Docs are at sidekick.meertarbani.in.

Limits

  • macOS only. It depends on Apple's on-device speech recognition and the macOS system voices.
  • Silent-mic failure: On the author's macOS version, AVAudioEngine delivered a 9-channel stream of pure silence. The mod looked finished but never heard a word. The author found it by playing Sidekick's own voice through the speakers and seeing nothing come back. If it seems unresponsive on your machine, run the same test. The thread doesn't name the macOS version or say exactly how the listener was fixed.
  • Echo filtering is word-vocabulary based and covers only the last 3 utterances. If you use speakers instead of headphones, test whether your own replies that reuse its words get dropped. The page doesn't address this, and its description of the rule is truncated.
  • No licence named. The page says "open source" but doesn't state a licence. Check the repo before building on it.
  • Single source: This is a 7-post launch thread by the author, written after "a few days" of use. There is no evaluation of recognition accuracy or of how often the voice-matching falls back to the dialog.

Organisations named here

  • Apple
  • Meer Tarbani

Technologies named here

  • Swift
  • macOS
  • Sidekick
  • Claude Code
  • Claude Code hooks module
  • AVAudioEngine
  • Apple's on-device speech recognition
  • macOS voices
  • TypeScript

Techniques named here

  • Echo vocabulary
  • Persona-driven session
  • Voice-based decision matching with fallback dialog
  • Barge-in interruption