Skip to content

Claude Meseeks

Claude Code plugin that plays a Mr. Meeseeks voice line whenever Claude is waiting for you.

Install

$/plugin marketplace add thephw/claude-meseeks

Install command taken from the project's README or registry entry. Always review code before running it.

claude-meseeks 🔵

"I'm Mr. Meeseeks! Look at me!"

A Claude Code plugin that plays a Mr. Meeseeks voice line whenever Claude is genuinely waiting on you.

  • When Claude finishes and is waiting for your next prompt → a satisfied/finished clip from audio/done/ ("All done!", "Ooh yeah!", "Yes siree!" …).
  • When Claude needs your approval → an asking/coaching clip from audio/asking/ ("Can you help me?", "You mind if we get back to the task?" …).

Both are driven by the Notification event, filtered by notification_type so it fires only when you're actually needed. Autonomous work — auto-accept/bypass-permissions runs, background-agent and subagent activity, auth refreshes — stays silent. Clips are random within the category, and playback is detached and non-blocking, so a long line never freezes your prompt.

Install

This repository is both the plugin and its own marketplace.

/plugin marketplace add thephw/claude-meseeks
/plugin install mr-meeseeks@claude-meseeks

Or, from a local clone:

/plugin marketplace add /path/to/claude-meseeks
/plugin install mr-meeseeks@claude-meseeks

Restart or reload Claude Code and finish a turn — you should hear Meeseeks.

Requirements

An audio player on your PATH. The tool auto-detects, in order: afplay (macOS, built in) → ffplay → mpg123 → paplay → aplay → Windows PowerShell Media.SoundPlayer. On macOS nothing extra is needed. On Linux, install ffmpeg (for ffplay) or mpg123.

No Go toolchain is required to use the plugin — prebuilt binaries ship in bin/. Go is only needed to rebuild them (see below).

The meeseeks CLI

Playback is handled by a small Go program, meeseeks, with the clips embedded directly in the binary. You can drive it by hand too:

meeseeks play                      # random "done" clip, detached
meeseeks play asking               # random "asking" clip
meeseeks play feedback --wait      # a prompt-submit clip, blocking until it finishes
meeseeks play --clip "ALL DONE"    # a specific clip by name
meeseeks list all                  # list every embedded clip

meeseeks status                    # show which categories are on/off
meeseeks disable feedback          # mute a category
meeseeks enable all                # unmute (categories: done, asking, feedback, all)
meeseeks toggle done               # flip a category

How it works

hooks/hooks.json registers Notification and UserPromptSubmit hooks that both run scripts/play.sh notify. That launcher execs the prebuilt bin/meeseeks-<os>- for your platform (falling back to go build from source if there's no matching binary, or staying silent if neither is available), passing the event's JSON through on stdin.

meeseeks notify reads that JSON and looks at hook_event_name and notification_type:

Event Result
UserPromptSubmit (you just sent Claude a prompt) random feedback
Notification + idle_prompt (Claude done, your turn) random done
Notification + permission_prompt (needs approval) random asking
anything else (agent_completed, auth_success, …) silence

Similar plugs

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies

Documented system prompts from Anthropic - Claude Fable 5.1, Opus 5.5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-6-Astra, Codex. Google - Gemini 3.8 Flash, 3.1 Pro,…

Wrap Antigravity, ChatGPT Codex, Claude Code, Grok Build, Muse Code, Devin as an OpenAI/Gemini/Claude/Codex compatible API service, allowing you to enjoy the free Gemini…