Caveman 4.0 splits token saving into six switchable rocks, and only some of them are measured
Caveman rewrites verbose command output into a compact format so Claude Code can spend fewer tokens on routine tool results.
At a glance
- What is it?
- JuliusBrussee/caveman installs with one npx command and then shortens what Claude Code and other agents say, read, browse and rerun. The output voice is the famous part, but the 4.0 numbers say the bigger savings sit in what the agent reads, and two of the six parts still carry interim or missing measurements.
- Who is it for?
- Caveman fits developers who run Claude Code, Codex, Gemini CLI or OpenCode on their own machine and pay for tokens or hit plan limits, because Read less and Blocks attack input tokens that a style instruction cannot touch. If you only want shorter replies, the README's own table shows a plain Answer concisely instruction gets close to /caveman, so the full installer is more than you need.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.
Star history
- JuliusBrussee/caveman119,689 ★ · +25,850
| Repository | 2026-07-28 | 2026-11-13 |
|---|---|---|
| JuliusBrussee/caveman | 93.8k | 119.7k |
25,850 Stars in the last 108 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
One npx command finds every agent and login on the machine
The install path for 4.0 is a single command that works on Mac, Linux and Windows:
npx @caveman-ai/cli@latestThe installer scans for agents and logins already present, shows what it is about to change, and waits for Enter. After that, running plain claude keeps the caveman behaviour, and so do Codex, Gemini CLI, OpenCode and, per INSTALL.md, more than 30 other agents. Everything runs locally with your own API keys and your Claude Pro or Max login, so there is no relay service sitting between you and the model for the core features. The repository layout reflects that breadth: there are separate .claude-plugin/, .codex/ and .cursor-plugin/ directories, a gemini-extension.json, plus install.sh and install.ps1 scripts at the top level next to installer/, skills/, plugins/ and hooks/. The consequence is that one command touches the configuration of several tools at once. If you share a machine or keep agent configs under version control, read the change list on that confirmation screen before pressing Enter, because it is the one point where you see everything caveman intends to edit.
A pre-4.0 copy wins unless you ask for @latest
Version 4.0 changed how caveman ships, and the upgrade path has a trap. Anyone who had caveman before 4.0 must include @latest in the npx call, or the old copy already on the machine takes precedence and the new installer never runs. Users who have already finished setup can reopen the same screen later with:
caveman setupThere is a second source of confusion in the repository itself. The root package.json is named caveman-installer, sits at version 4.0.1, exposes a bin called caveman-install pointing at ./installer/install.js, and declares engines node >=18. It depends on @caveman-ai/cli ^4.0.0. The README, meanwhile, states that the tool needs Node.js 22.13+. So a machine on Node 18 or 20 will satisfy the installer package's declared engine range while falling short of what the README asks for. The safe reading is the stricter one: check node --version against 22.13 before you start, rather than trusting that npm will refuse an unsupported runtime for you.
Six rocks, each with its own off switch
In 4.0 caveman became six parts, all enabled after install. Say less changes the agent's reply style while keeping code exact. Read less shrinks logs, JSON, CSV and test output before the model reads them. Auto picks the model and effort for each request. Blocks is a code mode where the agent keeps scripts it writes and reruns them. Waste fixes looks for where tokens go and, new in this release, keeps the prompt cache warm while you pause. Browse returns web pages compressed. You inspect and toggle them from the command line:
caveman status
caveman off browseThe per-rock switch matters because the parts do very different jobs, and the Go side of the repository shows how much machinery sits behind them: go.mod lists github.com/chromedp/chromedp v0.16.0, github.com/tiktoken-go/tokenizer v0.8.1 and github.com/smacker/go-tree-sitter, and there are separate browse/, shrink/, mem/ and mcp/ directories at the top level. If one rock misbehaves in your workflow, you can turn off that rock alone instead of uninstalling the whole thing.
The caveman voice saves little over a plain Answer concisely
Say less is the part that made the project famous: a React re-render explanation drops from 63 tokens to 20, /ultracave gets it to 14, and /megacave answers in Chinese characters at 13 tokens, all counted with tiktoken o200k. The voice has rules modelled on ASD-STE100, the controlled English of aircraft maintenance manuals: answer first, one idea per sentence with a 20 word cap, negations such as not, never, no and only never dropped, and code, commands, paths and error messages kept character for character. Security warnings, irreversible actions and confused users get full sentences. The project's own ten-question test on claude-opus-5-5 shows the limit of this rock. No instruction produced 6,983 output tokens, Answer concisely produced 4,334, /caveman produced 4,119 and /ultracave produced 2,693. The default /caveman level beats a two-word instruction by about 215 tokens across ten questions. JetBrains' paired A/B over 86 coding tasks found 8.5% fewer output tokens with no measurable quality loss. If shorter replies are all you want, the standalone skill or a plain instruction delivers most of the benefit without installing the rest.
Read less and Blocks target what the agent reads, never your prompt
The design choice behind 4.0 comes from two outside findings. Adobe Research's CAVEWOMAN paper reported that compressing the user's own prompt makes answers worse, so caveman never rewrites your prompt. JetBrains observed that agent sessions are mostly code and tool calls, which the voice leaves alone. The response was to compress the other direction. Read less shrinks tool output before the model sees it and is credited with 33.2% fewer input tokens per session across 54 Claude Code runs, with 18 of 18 answers correct. Blocks lets the agent keep a script it wrote and run it again instead of regenerating it; one test run dropped from 397 tokens to 76 compared with piping through tail -20. Browse reports a 129.8 times smaller page. The consequence for readers is a trade: compressed tool output means the model is working from a reduced view of your logs and test results. When a failure hides in a line the compressor dropped, you will need to rerun the command yourself or switch Read less off for that session.
Auto needs an account, and its headline number is interim
Five of the six rocks work with nothing beyond your existing agent logins. Auto is the exception: it is the only part that requires a caveman account, which the README says is free. Auto chooses a model and effort level per request and is reported as 54% cheaper than Opus 5.5 at xhigh with the same score over 85 coding tasks. That result is explicitly labelled interim on the project page. Waste fixes, the rock that hunts token waste and keeps the prompt cache warm, is listed as not measured yet. Readers should weigh these two parts differently from Read less and Blocks, which come with completed run counts. If your organisation does not allow tools that call an outside account service, turn Auto off with its switch and keep the rocks that run on your own keys. Treat the 54% figure as a direction, not a budget you can plan around.
The Docker image ships a proxy whose code compressor parses Go only
Beyond the npm installer, the repository builds a Go binary, caveman-proxy, from proxy/cmd/caveman-proxy. The module declares go 1.26.10 and pulls in modernc.org/sqlite, jackc/pgx/v5 and klauspost/compress alongside the parsing and browser libraries. The Dockerfile cross-compiles on the builder's architecture so multi-arch images need no QEMU, pins base images by digest, and copies only engine/, mem/, proxy/ and shared/. It builds with CGO_ENABLED=0 and stamps the version through -X main.version. A comment in that file states the cost: unlike the release caveman-proxy, which uses cgo via zig, the image's code compressor parses Go only. If you run the container to compress code in TypeScript, Python or any other language, you are not getting the same behaviour as the release binary. Use the release build when your codebase is not Go. On maintenance, the repository is not archived, the last push landed on 2 November 2026, and releases v4.0.0 and v4.0.1 shipped on 13 October 2026 with bin-v4.0.2 following on 23 October.
Editorial conclusion
Caveman fits developers who run Claude Code, Codex, Gemini CLI or OpenCode on their own machine and pay for tokens or hit plan limits, because Read less and Blocks attack input tokens that a style instruction cannot touch. If you only want shorter replies, the README's own table shows a plain Answer concisely instruction gets close to /caveman, so the full installer is more than you need. Before adopting it, check that your Node.js is 22.13 or newer, run the installer with @latest if an older copy exists, and treat the Auto and Waste fixes figures as unfinished.
Frequently asked questions
How do I install caveman in Claude Code?
Run npx @caveman-ai/cli@latest on Mac, Linux or Windows with Node.js 22.13 or newer. The installer finds Claude Code and your login, shows its changes, and applies them when you press Enter; afterwards plain claude stays caveman'd.
How do I use caveman in Claude Code after installing it?
All six rocks are on after install. Use /caveman, /ultracave or /megacave to pick the reply style, caveman status to see what is enabled, and caveman off browse style commands to turn a single rock off.
How do I use caveman in Codex?
The same npx @caveman-ai/cli@latest installer detects Codex alongside Claude Code, Gemini CLI and OpenCode and sets caveman up for each one it finds. The repository carries a .codex/ directory for that integration.
How do I use the caveman skill on its own?
If you only want shorter answers, the caveman README links a way to get just the skill instead of the full installer. The skill provides the /caveman voice, which keeps code, commands, paths and error messages unchanged.
Official sources
Where developers are discussing it
Posts on Hacker News, dev.to and Lobsters that link to this repository, found by our scan of those communities. 1 in the last 30 days; newest first.
- 2 Agent Skills Every Frontend Developer Should Trydev.to · Oct 20, 2026 · 21 points · 3 comments
- Respond terse like smart caveman. All technical substance stay. Only fluff dieHacker News · Sep 10, 2026 · 2 points · 0 comments
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/juliusbrussee-caveman)Star history chart for your README
[](https://hysenlabs.com/projects/juliusbrussee-caveman)Was this useful?