{"slug": "claude-is-just-mr-meeseeks", "title": "Claude is just Mr. Meeseeks", "summary": "A developer released a Claude Code plugin that plays Mr. Meeseeks voice lines from the show Rick and Morty when the AI assistant is waiting for user input or approval, with the sounds triggered only during idle prompts and permission prompts to avoid interrupting autonomous work.", "body_md": "*\"I'm Mr. Meeseeks! Look at me!\"*\n\nA [Claude Code](https://code.claude.com) plugin that plays a Mr. Meeseeks voice line\nwhenever Claude is genuinely waiting on *you*.\n\n**When Claude finishes and is waiting for your next prompt**→ a satisfied/finished clip from`audio/done/`\n\n(*\"All done!\"*,*\"Ooh yeah!\"*,*\"Yes siree!\"*…).**When Claude needs your approval**→ an asking/coaching clip from`audio/asking/`\n\n(*\"Can you help me?\"*,*\"You mind if we get back to the task?\"*…).\n\nBoth are driven by the `Notification`\n\nevent, filtered by `notification_type`\n\nso it fires\n**only** when you're actually needed. Autonomous work — auto-accept/bypass-permissions runs,\nbackground-agent and subagent activity, auth refreshes — stays **silent**. Clips are random\nwithin the category, and playback is detached and non-blocking, so a long line never freezes\nyour prompt.\n\nThis repository is both the plugin and its own marketplace.\n\n```\n/plugin marketplace add thephw/claude-meseeks\n/plugin install mr-meeseeks@claude-meseeks\n```\n\nOr, from a local clone:\n\n```\n/plugin marketplace add /path/to/claude-meseeks\n/plugin install mr-meeseeks@claude-meseeks\n```\n\nRestart or reload Claude Code and finish a turn — you should hear Meeseeks.\n\nAn audio player on your `PATH`\n\n. The tool auto-detects, in order:\n`afplay`\n\n(macOS, built in) → `ffplay`\n\n→ `mpg123`\n\n→ `paplay`\n\n→ `aplay`\n\n→ Windows PowerShell\n`Media.SoundPlayer`\n\n. On macOS nothing extra is needed. On Linux, install `ffmpeg`\n\n(for `ffplay`\n\n) or `mpg123`\n\n.\n\nNo Go toolchain is required to *use* the plugin — prebuilt binaries ship in `bin/`\n\n. Go is\nonly needed to rebuild them (see below).\n\nPlayback is handled by a small Go program, `meeseeks`\n\n, with the clips embedded directly in\nthe binary. You can drive it by hand too:\n\n```\nmeeseeks play                      # random \"done\" clip, detached\nmeeseeks play asking               # random \"asking\" clip\nmeeseeks play feedback --wait      # a prompt-submit clip, blocking until it finishes\nmeeseeks play --clip \"ALL DONE\"    # a specific clip by name\nmeeseeks list all                  # list every embedded clip\n```\n\n`hooks/hooks.json`\n\nregisters `Notification`\n\nand `UserPromptSubmit`\n\nhooks that both run\n`scripts/play.sh notify`\n\n. That launcher execs the prebuilt `bin/meeseeks-<os>-<arch>`\n\nfor\nyour platform (falling back to `go build`\n\nfrom source if there's no matching binary, or\nstaying silent if neither is available), passing the event's JSON through on stdin.\n\n`meeseeks notify`\n\nreads that JSON and looks at `hook_event_name`\n\nand `notification_type`\n\n:\n\n| Event | Result |\n|---|---|\n`UserPromptSubmit` (you just sent Claude a prompt) |\nrandom `feedback` |\n`Notification` + `idle_prompt` (Claude done, your turn) |\nrandom `done` |\n`Notification` + `permission_prompt` (needs approval) |\nrandom `asking` |\nanything else (`agent_completed` , `auth_success` , …) |\nsilence |\n\nThe chosen clip is extracted from the embedded audio to a cache dir and handed to a system player in a detached process. Every path exits 0, so the hook never blocks or errors your session.\n\nEach category can be silenced independently via the plugin's config options\n(`enableDone`\n\n/ `enableAsking`\n\n/ `enableFeedback`\n\n) — Claude Code prompts for these when you\nenable the plugin, and passes them to the hook as `CLAUDE_PLUGIN_OPTION_*`\n\nenv vars. They\ndefault to on; only automatic hook playback is gated (manual `meeseeks play`\n\nalways plays).\n\nWhy not the`Stop`\n\nhook?`Stop`\n\nfires at the end ofeveryturn — including auto-continuations — so it plays sounds when you aren't actually being waited on. The event-type filter is the reliable signal for \"it's your turn.\"\n\nClips live under `audio/`\n\n, sorted into three folders that map to behavior:\n\n`audio/done/`\n\n— played when Claude finishes and it's your turn (idle prompt).`audio/asking/`\n\n— played on permission/input prompts.`audio/feedback/`\n\n— played every time you submit a prompt to Claude.\n\nTo change what plays, move `.mp3`\n\nfiles between the folders or drop your own in, then\n**rebuild the binaries** so the new clips are re-embedded:\n\n```\n./scripts/build.sh    # regenerates bin/ for all platforms\n```\n\nTwo constraints: filenames must end in `.mp3`\n\n, and — because of a `go:embed`\n\nrestriction —\nmust not contain apostrophes (`'`\n\n).\n\nThe theme isn't just a joke — it's a working philosophy.\n\nA Mr. Meeseeks is summoned to accomplish **one task**. It exists only until that task is\ndone, and then it poofs out of existence, satisfied. Give a Meeseeks a single, concrete goal\n(\"help me finish this putt\") and it's cheerful and effective. Give it a vague or unbounded\none, or keep it alive long past its purpose, and things degrade fast — *\"existence is\npain, Jerry!\"* — until you get a room full of increasingly unhinged Meeseeks.\n\nA Claude Code session works best the same way:\n\n**Summon it for one goal.** A session scoped to a single, well-defined objective — \"add this endpoint\", \"fix this failing test\", \"write this plugin\" — is focused and sharp, the same way a fresh Meeseeks is.**Let it finish, then let it go.** When the goal is met, end the session. Start a new one for the next task. A fresh session with a clean context beats a stale one every time.**Beware the long-lived session.** Dragging one conversation across many unrelated goals is how you get the Meeseeks box problem: context piles up, focus drifts, earlier tangents pollute later work, and quality slides. Long ≠ productive.\n\nSo: treat each session like a Meeseeks. One purpose. Accomplish it. Poof. 🔵\n\nInspired by and audio sourced from the\n[Mr. Meeseeks Soundboard](https://jayuzumi.com/mr-meeseeks-soundboard) at jayuzumi.com.\nThanks for the clips! 🔵\n\nThe voice clips are from *Rick and Morty* (via the\n[jayuzumi.com Mr. Meeseeks Soundboard](https://jayuzumi.com/mr-meeseeks-soundboard)) and are\nincluded here for personal, non-commercial fun. They are the property of their respective\nrights holders. Please consider those rights before redistributing this plugin publicly or\nswap in your own audio.", "url": "https://wpnews.pro/news/claude-is-just-mr-meeseeks", "canonical_source": "https://github.com/thephw/claude-meseeks", "published_at": "2026-07-13 22:03:54+00:00", "updated_at": "2026-07-13 22:36:17.913266+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools"], "entities": ["Claude Code", "Mr. Meeseeks", "Rick and Morty", "thephw"], "alternates": {"html": "https://wpnews.pro/news/claude-is-just-mr-meeseeks", "markdown": "https://wpnews.pro/news/claude-is-just-mr-meeseeks.md", "text": "https://wpnews.pro/news/claude-is-just-mr-meeseeks.txt", "jsonld": "https://wpnews.pro/news/claude-is-just-mr-meeseeks.jsonld"}}