Ask Claude the same question twice. The first one answers like a normal assistant, a few polite paragraphs. The second one answers like this: "Props look same. Object not same. New each render. useMemo. Stop it."
That second one is caveman mode. It's a Claude Code plugin that makes Claude talk like a caveman to save output tokens, and more than 86,000 people have starred it on GitHub. The README claims it cuts about 65% of your output tokens for the same answers. So I installed it on my workspace and left it on for a week. Real sessions, real work, real logs. The honest number came out a lot lower than 65. And here's the part almost nobody reads: the people who made it already admitted it. I'll show you where.
What caveman mode actually is
The whole plugin is one text file, 77 lines. Line 11 says it plainly: respond like a smart caveman, all technical substance stays, only fluff dies. That's it. A text file can't compress anything by magic. It just asks Claude to talk less.
Installing takes one command:
claude plugin install caveman@caveman
Then inside a session you turn it on with /caveman full. There are three main levels, lite, full, and ultra. There's also a fourth level, which is genuinely ridiculous, and I'll get to it at the end.
Turn it on and the change is obvious. Ask "what is a JavaScript closure?" and the intro shrinks, the closing paragraph almost disappears, and even the code example gets terser, variable names like count become n. Every one of those cuts is an output token you don't pay for.
Where the 65% comes from
The repo's benchmarks are real. Their best case is 87% saved on "explain a React re-render bug", and the 65% headline is the average across all their tests.
But open benchmarks/run.py and look at how they measured it. The "normal" system prompt is just "you are a helpful assistant", and the whole thing runs as a bare API call. No thinking, no tools, no files, no Claude Code. They're not faking the numbers. They're just numbers from a test that looks nothing like how you and I actually use Claude.
So I ran their own question in real Claude Code instead.
Test 1: their question, my setup
Two folders, one with caveman on (a one-line .caveman.json config), one without. Same prompt in both, run through the Claude Code SDK so nothing else differs. The question was their benchmark one: my React component re-renders every time the parent updates even though its props look the same, explain why and how to fix it.
| Without caveman | With caveman | Difference | |
|---|---|---|---|
| Output tokens | 1,323 | 702 | 47% saved |
| Total cost | $0.0938 | $0.0811 | 14% cheaper |
| Duration | 21s | 13s | 38% faster |
Their 87% best case became 47% in real Claude Code. Still a real saving, but already a long way from the headline. And look at the cost row: tokens dropped 47% but the bill only dropped 14%, because output tokens are one slice of what you pay for.
Test 2: an actual coding task
Explaining a concept is not real work. Real work is fixing a bug. So I set up a small repo with a failing test suite, same two-folder structure, and asked both to find the bug, fix it, run the tests, and explain what was wrong.
Output tokens: 40% saved. Total cost: 10% cheaper. Duration: 27% faster.
The pattern holds. When Claude has to do things instead of just talk, the savings shrink, because the work itself doesn't compress. Caveman only trims the words between the work.
The week of real usage
One-off experiments are still experiments, so here's the part I actually cared about. I left caveman on across a week of my normal work and then harvested every Claude Code session log on my machine: 288 sessions with more than five assistant messages, 174 without caveman, 114 with it.
The result: my median message came out 28% shorter, and output tokens per message were 27% lower.
One caveat, to be fair to the tool: my config turns caveman off for some use cases, so my true number sits a bit above 27%. Still nowhere near the 65% on the label.
So is it garbage?
That's the interesting part. No. I kept using it.
At around 27%, the token savings are real, just mislabeled. And the thing that actually sold me wasn't the tokens at all, it was the speed: shorter answers come back 27 to 38% faster in my tests. Less scrolling through filler is a quality-of-life upgrade on its own.
And about that 65%: it was never a lie. The fine print on the repo says the benchmarks are their own tests. Marketing being marketing. The headline number is from their lab, and your number will come from your work.
The ridiculous fourth level
I promised. Alongside lite, full, and ultra there's a level called wenyan-full. Turn it on and Claude answers in classical Chinese. Yes, really. I asked it the closure question and got back something that would look at home on a 2,000-year-old scroll. Fun for about ninety seconds, not usable for anything.
Test it yourself in an afternoon
This keeps happening. Graphify shipped a lab number. Headroom shipped a lab number. Caveman shipped a lab number. Every tool ships numbers from its own lab, and the only number that matters is the one you get on your own setup.
The method is small enough to steal: two folders, one config file, the same question in both, then count the tokens. That's the whole test, and it takes an afternoon. If you want my exact test files and the scoped caveman config I ended up keeping, I packaged them as the Token Diet Kit, and it's included inside the Build With AI Club along with every other pack I make.
Links
If you want help figuring out which AI tools are actually worth adding to your workflow and which are just hype, get in touch. See our AI consulting service for how we work.