hush
π€« Claude shuts up until it's done. A Claude Code plugin: one short answer at the end, the file to open, and no log dumps in your chat.
Install / Use
npx skills add V-Songbird/hushInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AI & Machine LearningSupported Platforms
Tags
Skill content
View source on GitHubTL;DR β Claude Code talks while it works, and pastes whole log files into the conversation. hush stops both. You get one short message at the end that leads with the answer and names the file to open. In 36 test sessions it spoke at most once before that answer, every single time.
<p align="center"><img src="assets/mascot.svg" alt="A cartoon. Ember, a round orange blob with a little flame on its head, sits at a keyboard typing like mad and narrating in speech bubbles: let me look at the codebase, now I'll check the config, running the tests, while log lines pile up beside it and the flame flickers wildly. A blue hush badge drops in. Ember lifts a paw to its mouth: shh. The bubbles and the pile vanish, the flame settles to a small steady glow. Ember types slowly now, eyes half closed in focus, and at the end one short note appears in hush's shape: Done. One line to fix, in bold; the fix is in pricing.js:39, as a link; Next: nothing." width="700"></p> <p align="center"><img src="assets/demo.svg" alt="The same job played twice, side by side. The prompt: The pricing suite is red and the output is a wall of text I can't read through. Can you run it, work out what's actually broken, and get it green? Without hush, Claude sends 5 messages: 4 progress notes while it works, then a 254-word write-up. With hush, nothing until the work is done, then one 42-word answer. Both sessions left the suite green. One real session each on Claude Opus 5, replayed on the recorded wall clock." width="700"></p>
What is this?
You ask Claude Code to do something. Then you watch it talk.
"Let me look at the codebase." "Now I'll check the config." Four hundred lines of build output. A log file, pasted whole. None of it is the answer. The answer is one sentence, and it arrives at the very end, after you have scrolled past everything else.
hush does two things about that.
It keeps Claude quiet while it works, so there is one message to read instead of nine. And it shortens the machine output before Claude ever reads it back, so a giant log does not sit in the conversation getting re-sent on every turn after it.
That's the whole plugin.
Why you'd want it
Here is a real one. The job was a red test suite. Same job, same starting files.
Without hush, it opened with I'll start by looking at the project structure and finding the pricing suite., spoke three more times while it worked, and closed with a 254-word write-up.
With hush, nothing at all until the work was done, and then this β the whole message, exactly as it was written:
Green: 625 passing, 0 failing.
Only 3 cases failed, all in
order totals. One bug in pricing.js:39.orderTotaltaxed the fullcents, not the discounted amount.Rows with a zero discount or zero tax hid it. Only 3 rows had both.
Fix: tax the discounted subtotal via
applyTax.Next: nothing.
Answer first. Short sentences. Everyday words. The file to open is named and clickable. And when the job is finished it says so, instead of inventing a next step.
It is built for reading on an empty tank β at the end of a long day, or with an ADHD brain that has already spent its patience on the actual work.
How it works
Two moments, and that is the list.
While Claude works, the play-by-play is off. You get one message at the end instead of a running commentary.
When a command finishes, hush looks at what came back. Short output goes through untouched. A long run is shortened, and every error and warning line is pulled through. Something really large β a full log, a lockfile β is saved to a file on your machine and replaced with a short summary that names it, so Claude can go and read it if it needs to.
Your files are never touched, and nothing leaves your machine.
Install
Inside Claude Code, run:
/plugin marketplace add V-Songbird/foundry
/plugin install hush@foundry
It kicks in at your next session. Nothing to configure.
Running razor too? Good pairing β razor keeps the code lean while hush keeps the noise down, and neither notices the other.
What you can do
hush runs itself. Two commands sit off to the side, for writing that last message in your own voice.
| You want to⦠| Command |
| --- | --- |
| Build a voice of your own on hush's quiet frame | /hush:craft-style |
| Switch between your voices, or go back to the one hush installs | /hush:pick-style |
Describe the voice you want β robotic, dry, loud β and /hush:craft-style writes it. The words
change; the quiet does not. Everything else has a sensible default; if you want to change one, see
Settings.
Just the voice, no plugin
You don't have to install anything. The writing voice on its own is a single Markdown file, with a paste-in installer, at flint.
The honest split: the file gives you the silence and the one short message. It does not give you the trimming of command output and log files β that part needs the plugin. The voice is what makes the answer readable; the trimming is what keeps a long session cheap.
The numbers
Nine jobs, each in its own throwaway folder. Real sessions from start to finish β reading files, editing code, running commands. Every job ends with a check, so a short answer that breaks the job counts as a failure, not a win. All of it on Claude Opus 5, 36 sessions per setup, in one run.
Beside hush: caveman, which makes Claude talk like a caveman, and the only other setup here that ever stops narrating. If you already run caveman: hush is quieter still, and the answer comes back in plain sentences you can read at the end of the day.
Does it still work?
| setup | jobs right | | --- | --- | | no plugin | 36 / 36 | | caveman | 36 / 36 | | hush | 36 / 36 |
How quiet? Every model opens with a line about what it is about to do. The number that matters is whether it keeps talking after that.
| setup | spoke at most once before the answer | said nothing at all | | --- | --- | --- | | no plugin | 14 of 36 | 0 of 36 | | caveman | 31 of 36 | 16 of 36 | | hush | 36 of 36 | 30 of 36 |
How readable? The final message, scored on measures that have been around for decades:
| setup | words | reading ease | school grade | | --- | --- | --- | --- | | no plugin | 367 | 70.7 | 6.6 | | caveman | 151 | 73.1 | 5.1 | | hush | 69 | 87.7 | 2.7 |
<p align="center"><img src="assets/bench-cuts.svg" alt="What hush cuts, averaged per session over the same 9 jobs on Opus 5 at medium effort, 4 runs each way. command output: no plugin 23.4k chars, hush 15.4k chars, minus 34%. chatter while working: no plugin 34 words, hush 1 word, minus 97%. Claude's whole-session output: no plugin 5,058 tok, hush 2,981 tok, minus 41%." width="700"></p>[!IMPORTANT] Where hush doesn't win. The short answer sometimes drops the thing you were meant to run next: hush ends with something runnable in 94% of sessions, every other setup here in 100%. A quiet job that prints little can also cost more, because hush's writing rules ride along on every step with nothing to trim against them β three of the nine jobs came out 1-10% pricier. And caveman is real competition on silence, not a straw man. The full picture, wins and losses and every job's bill, is in the numbers.
Numbers move between runs, sometimes by a lot. Run it yourself β see benchmarks/.
Going deeper
Everything technical lives here, so this page can stay short:
| | | | --- | --- | | How hush works | What gets trimmed and when, where parked output goes | | Settings | Every switch, and what each one does | | The numbers | Full results, including where hush loses | | Run the benchmarks | The harness, so you can check any of it yourself |
Good to know
- Getting the full output back. The summary names the file hush parked. Read it and you have every byte. If the file is gone, run the command again β hush never claims it can regenerate what was lost.
- Turning it off is two switches.
HUSH_DISABLE=1stops everything hush does while a session runs. The voice is chosen when a session starts, so put the original back with/hush:pick-style, or uninstall. - Parked output lives in your temp folder, one folder per session. hush deletes that folder when the session ends, and clears anything a crashed session left behind once it is a day old. On macOS and Linux it is readable only by you; Windows can't lock it that way, so treat it as readable by anything running as you. Keep out of the terminal anything you'd hate to see in a temp file.
- A command that fails is not trimmed by default. Claude Code guards failing output. Set
HUSH_WRAP=1to let hush shorten it too.
License
MIT β see LICENSE.
Related Skills
claude-mem
93.3kPersistent Context Across Sessions for Every Agent β Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Understand-Anything
81.6kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
69.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
46.8kOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-model, multi-channel. Lightweight, extensible, one-line install. (formerly chatgpt-on-wechat)
