Uh filter Claude Code plugin A developer released uh-filter, a Claude Code plugin that strips spoken filler words such as "uh," "um," "uhm," "erm," "hmm" and "mm" plus stutter repeats like "check check" from voice-dictated prompts before they reach the model. The mod ships as a single hooks module, hooks/register.ts, using a prompt.submit hook that rewrites every submitted prompt (including prompts other plugins submit via $.prompt.submit) and a prompt.edit hook that cleans dictated or pasted text in the terminal prompt box; it leaves words like "album" and "uh-huh," common real doubles such as "that that" and "had had," and anything inside backticks or code blocks untouched. It is installed via /plugin install uh-filter --marketplace amirzak/claude-code-voice-uh-filter, reads no files, runs no commands and sends nothing anywhere, and is released under the MIT license. A Claude Code mod that removes spoken filler words from your prompts, made for voice dictation. - On send: strips uh , um , uhm , erm , hmm , mm and their trailing commas plus stutter repeats like "check check" or "where you where you" before the prompt reaches the model. - In the terminal prompt box: dictated or pasted text is cleaned as it lands, and a filler you type disappears as soon as you type the space after it. - Leaves alone: words like "album" or "uh-huh", common real doubles "that that", "had had" , anything inside backticks or code blocks, pasted code, and slash commands. To keep a literal "um" in a prompt, put it in backticks. The desktop app draws its own prompt box, so there the cleanup happens only when you send. The mod is one hooks module, hooks/register.ts , with two hooks: - prompt.submit : rewrites the text of every prompt you send, removing fillers and stutter repeats. It skips slash commands and prompts Claude Code sends on its own. Since prompt.submit is also a call other plugins can make $.prompt.submit , prompts that other plugins submit pass through this cleanup too. - prompt.edit : in the terminal prompt box, cleans text that lands in one go dictation, a paste of plain prose and drops a filler word when you type the space after it. Pasted code and anything inside backticks is left as is. It reads no files, runs no commands, and sends nothing anywhere. At the prompt of a terminal Claude Code session: /plugin install uh-filter --marketplace amirzak/claude-code-voice-uh-filter Answer y to add the marketplace, then pick a scope. From a shell: claude plugin install uh-filter --marketplace amirzak/claude-code-voice-uh-filter In the desktop app: click + next to the prompt box, then Plugins , Add marketplace with amirzak/claude-code-voice-uh-filter , then Add plugin . claude plugin validate . claude plugin test . claude --plugin-dir . MIT