One command wraps Claude Code, Codex, Hermes, and more with a local proxy that compresses logs, tool output, and files before every provider call. In a pinned 54-run benchmark: 33.2% fewer input tokens with 18/18 correctness checks. Caveman can also run any existing agent skill with ~70% fewer tokens by loading text as images. Built on an open-source ecosystem with 97K+ GitHub stars.
A few months ago, I was a uni student spending more on AI than on groceries.
Naturally to solve that, I made a skill that makes Claude Code answer like a caveman. "New object ref each render. Wrap in useMemo." 19 tokens instead of 69. People kept it installed because nothing broke and bills got smaller. 97,000 Github stars later plus a #1 post on Hacker News.
Then I read what was actually crossing the wire, and the answers were a rounding error. Every turn re-sends tool schemas, file contents, old history, and 300 lines of npm install noise. My agent talked like a caveman and read like a lawyer.
v2 is a local proxy between your agent and the provider. caveman claude wraps Claude Code; same for Codex, Gemini CLI, Aider, opencode, Hermes, OpenClaw. It never touches your config, and subscription OAuth passes through byte-exact. The engine sniffs each payload type and routes it to a different compressor: logs keep errors and stack traces and lose the progress spam, code keeps imports and signatures via tree-sitter, JSON keeps structure plus error subtrees.
Lossy transforms are landmines, so originals get written to a content-addressed store on your disk before anything goes upstream, and the agent can pull the real bytes back with one tool call. Parse failure or a larger result means the bytes pass through untouched.
Numbers, since that's the obvious question: pinned 54-run Claude Code benchmark, 33.2% fewer provider-reported input tokens, 18/18 exact-answer checks, method and per-case results committed to the repo. Local measurements are labeled "inferred" because a local tokenizer is an estimate. There are no "up to 90%!" claims anywhere and no verified production numbers yet.
The dumbest thing in here that works: pixel mode. Dense text rendered to PNG costs image tokens instead of text tokens. A 63.7k-char minified tool catalog plus a 93k-char log went from ~55k estimated text tokens to ~11k image tokens. On sparse code the PNG costs more than the text, so the gate refuses and prints why.
Skill is MIT and stays MIT. Engine is BSL-1.1, flips to Apache-2.0 within four years, self-hosting free including production. Runs local, no account.
If a gate declines something you think should compress, the reason is printed. Argue with it in an issue. It's not perfect yet, and there are many many more optimizations to be built. This is the first release in a long line of products to reduce the cost of AI per task (not just the tokens).
@jbrussee LOVE this! When I was in high school, a teacher who was a veteran taught us Bottom Line Up Front (BLUF) and now I'm obsessed with it. Glad my agents can now be concise too.
Report
Wow, that sounds interesting! But in theory, AI providers will close loopholes like uploading text as an image...
Caveman
Tadata
@jbrussee LOVE this! When I was in high school, a teacher who was a veteran taught us Bottom Line Up Front (BLUF) and now I'm obsessed with it. Glad my agents can now be concise too.
Wow, that sounds interesting! But in theory, AI providers will close loopholes like uploading text as an image...
LangWatch
Awesome journey @jbrussee let's gooo!! 🚀
Caveman
@manouk_dr Thanks Manouk!! Really appreciate it, so exciting to see where all of this goes from here 🚀
Kilo Code
Great journey so far @jbrussee, congrats on launching and can't wait to see what else you're going to ship!
Caveman
@jobrietbergen Thanks man! Unfortunately, this has only reinforced the behavior. Expect increasingly irresponsible amounts of shipping.
n8n
That looks amazing. Will check it out. Congratulations to the launch!
Caveman
@janoberhauser Thanks Jan! Exciting things on the horizon :)
upvoting because your tagline is top tier 😂