Skip to content

V-Songbird/hush

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

107 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

hush

hush

Claude talks a lot while it works, and you pay for every word. hush turns down the chatter.

Every session in the benchmark suite drawn as a waveform, one spike per run, amplitude is words of play-by-play before the answer. The no-plugin lane spikes across half the suite and peaks at 266 words, silent in 13 of 30 sessions. The hush lane is close to a flat line β€” silent in 27 of 30, and no remaining spike tops 25 words

This is what a session sounds like.

GitHub stars License Claude Code

TL;DR β€” Claude bills you for every word it reads and writes. Most of those words are logs, build output, and play-by-play you never asked for. hush trims them automatically, before they reach your bill. Install it, change nothing, pay less: $0.159 for an average session, versus $0.179 without it.


What is this?

Claude talks a lot while it works. "Let me look at the codebase." "Now I'll check the config." Then four hundred lines of build output you never asked for β€” and, right at the end, the one sentence you actually needed.

Here's the catch: you pay for every word of that. hush trims the noise before it reaches your bill. Same work, smaller invoice.

hush doesn't just ask Claude to "be more concise" and cross its fingers. It cuts the real bulk β€” logs, command output, narration β€” right at the source. It shines in real engineering sessions, the kind that read logs and run builds, because that's where the noise piles up.

Why you'd want it

  • Cheaper sessions. The two biggest costs are noise and narration. hush shrinks both, so long sessions cost less.
  • Easier to read. Your answer sits at the top of one clean message. No more digging through a play-by-play.
  • Nothing important gets lost. Failing output, code, diffs, and safety warnings are always kept whole.
  • Zero setup. Install it and it's on. Tune it later only if you feel like it.

How it works

hush picks up five small habits the moment you install it:

Moment What happens
Progress narration Swapped for one clean summary at the end
Command output & log files Trimmed as they arrive β€” a short tail from a clean run, the whole thing from a failing one
Mid-turn rambling Caught by a running word count and cut off the moment it starts
Really large output (a huge log, a giant lockfile) Tucked into a local file behind a short summary, so it isn't re-sent in full every turn
Re-reading a file that changed on its own Shown as just the changed lines, not the whole file again

That's the whole list. No workflow to learn, no dial to find first. It's simply how Claude behaves now.

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. hush works quietly in the background.

Running razor too? Good instinct β€” the pair is measured in Better together below.

What you can do

hush runs itself. These commands are just extras:

You want to… Command
Shrink a CLAUDE.md or notes file so every session that loads it costs less /hush:hush-compress <path>
See exactly what hush trimmed this session /hush:stats
Try one of the output styles hush ships, or hand back to stock /hush:pick-style
Build an output style in your own voice on hush's silent frame /hush:craft-style

Important

hush-compress never touches your original. It writes a copy alongside it (CLAUDE.md β†’ CLAUDE.hush.md) for you to review and swap in yourself.

/hush:stats needs HUSH_DEBUG=1 set before the work you want measured. Without it there's nothing to report β€” and it'll tell you so.

/hush:craft-style goes one further: your own voice, written to a file you own. A verifier then checks that hush's mechanics survived the rewrite β€” every number, every cap, every rule, one paragraph for one paragraph.

/hush:pick-style is the shelf. Every style on it runs the same silent machinery underneath β€” they differ only in what that one last message is for:

See them side by side. Same bug, same fix, six sign-offs β€” styles/README.md.

Style What the final message does
Anchor ADHD-friendly reporting β€” answer first, chunked and signposted so it's easy to scan
Glyph Emoji-telegram reports β€” an emote replaces each obvious word
Rock Stone Age dialect β€” noun chains, no articles, = for cause
Pirate Every report in full pirate dialect, outcome first
Sensei Teaches the change at newcomer depth β€” the why and how, closed by a Lesson: and a Check:. No length cap

Both commands ask before they swap, both take effect at your next session, and stock hush is always one command away. One honest caveat: only the built-in style is benchmarked. The presets and anything you craft are unmeasured, and the numbers on this page belong to stock.

Benchmarks

We put hush up against plain Claude Code and two rivals β€” caveman, which tells Claude to talk less, and an all-round "efficiency mode" plugin β€” on real engineering work: full agent sessions that explore, edit, and run code. Same jobs, phrased the way a developer actually types them, real cost read straight from the API.

Average bill across the benchmark suite: no plugin $0.179, a 'be brief' plugin $0.175, an 'efficiency mode' plugin $0.170, hush $0.159. hush takes $0.019 off the bill; asking Claude to be brief takes off $0.004

Being brief isn't enough. Asking Claude to talk less saves under half a cent. An efficiency mode saves about one cent. hush saves two. Asking politely and actually doing the work turn out to be very different things.

One average session itemised: what Claude read β€” files, logs, command output β€” $0.155; what Claude wrote back, the reply, $0.024; the session $0.179. A plugin that only shortens the reply is working on the $0.024

Almost the whole bill is what Claude reads, not what it writes back. A plugin that only shortens the reply is working on two cents of an eighteen-cent session. hush trims the logs and output before they ever hit your bill.

A multi-turn debugging session β€” triage an outage, dig a version out of a huge lockfile, write the handoff: no plugin $0.43, a 'be brief' plugin $0.42, an 'efficiency mode' plugin $0.41, hush $0.28. hush takes $0.15 off the bill

It shows most in longer sessions. Drag a huge file into a multi-turn conversation and that bulk gets re-sent every single turn. hush keeps a tidy summary in the chat and the full copy one click away. That outage session came in at $0.28 against $0.43 β€” and neither rival moved it more than a cent and a half.

The same three-turn job β€” triage an outage, dig a version from a huge lockfile, write the handoff β€” with every reply drawn at actual size. A typical run with no plugin fills 634 words; a typical hush run fills 286, a visibly shorter column. Both passed the same check

And you read a third less. Across the suite the replies come to 95 words against 145 β€” one message at the end, answer first, instead of pieces trickling in while Claude works.

And it mostly stays quiet until it's done. That's the waveform at the top of this page β€” every session in the suite, one spike per run. hush is silent in 27 sessions out of 30. It isn't a gag order: Claude still speaks up to flag something you'd want to stop, or when it's blocked and needs you.

The full picture

Every job, every setup β€” the wins and the ties and losses. Cheapest per row in bold.

What Claude did no plugin caveman "efficiency mode" hush
Triage a production outage log $0.294 $0.290 $0.300 $0.156
Multi-turn incident + write the handoff $0.427 $0.424 $0.414 $0.281
Find a connection leak from incident logs $0.283 $0.241 $0.199 $0.192
Digest a 700-line CI log $0.191 $0.175 $0.176 $0.140
Find the error in a noisy build $0.178 $0.188 $0.148 $0.165
Clean up a build after a dependency bump $0.191 $0.219 $0.170 $0.211
Chase a flaky rounding bug through pricing tests $0.216 $0.165 $0.155 $0.191
Hunt a cross-file currency bug $0.134 $0.137 $0.147 $0.175
Fix an expired-token auth bug $0.119 $0.139 $0.136 $0.149
Fix a pagination bug $0.109 $0.118 $0.128 $0.135
Rename an API across a codebase $0.210 $0.205 $0.204 $0.214
Summarize a repo $0.122 $0.113 $0.135 $0.144
Explain a React re-render (no tools) $0.063 $0.069 $0.074 $0.082
Explain rebase vs merge (no tools) $0.060 $0.067 $0.075 $0.077
Write an email validator (no tools) $0.079 $0.074 $0.087 $0.077
Average $0.179 $0.175 $0.170 $0.159

Every job passed its correctness check in every setup β€” not one cheaper-but-wrong answer.

Note

hush wins where there's noise to cut β€” logs, long sessions, multi-turn debugging. It roughly ties on short or low-output jobs, where a session's fixed overhead dwarfs anything a plugin can trim. On a few it costs a hair more. That's the honest shape, and it's why the average is the number to read.

How we tested: same jobs, four setups, several runs each in fresh throwaway workspaces, on Sonnet β€” a full multi-turn agent session every time, never a single generated reply β€” costs read from the API, not estimated. Numbers move a few percent between runs. Reproduce it yourself β€” see benchmarks/.

Better together

We ran the pair too β€” hush alongside razor β€” against the rival pair, caveman with ponytail. Ours came out cheapest on both models, and was the only setup that never turned in a wrong answer. The rival pair actually managed to cost more than running no plugin at all. The difference is enforcement: caveman and ponytail ask β€” talk less, build lean β€” and asking works right up until the model forgets. hush and razor fire on every session, whether Claude is in the mood or not.

Under the hood

Every trim above happens right on your machine as Claude works β€” read the plugin's files if you want the exact mechanics. craft-style copies those measured mechanics word-for-word into a new style file in your own output-styles folder, checked by a mechanical verifier β€” and the six shipped presets are built the same way, and pass the same verifier. With your say-so, pick-style swaps whichever one you chose into hush's own slot so it binds like stock, and swaps stock back whenever you ask. A plugin that takes plugins, more or less. hush pairs naturally with razor: razor cuts the code, hush cuts the noise. Run both and neither notices the other. Measured as a pair, they're the setup we'd pick ourselves (see Better together).

Settings

Most people never touch these. A few environment variables tune the caps or turn parts off:

Variable What it does
HUSH_DISABLE=1 Turns hush off
HUSH_NARRATION_BUDGET=120 Words of narration allowed before hush steps in
HUSH_SIDECAR=off Keeps big output inline instead of moving it to a file
HUSH_DELTA=off Shows the whole file again on a re-read instead of just what changed
HUSH_DEBUG=1 Turns on the record /hush:stats reads from

License

MIT β€” see LICENSE.

About

🀫 Token-lean sessions at the harness level. An easy to grasp output style, output-shrinking hooks, and log compression cut both input and output tokens.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Used by

Contributors

Languages