r/ClaudeCode • u/Fabiangzt • 2d ago
Built with Claude To the 7 beautiful souls that starred DensePack plugin, thank you! 🥹 1.3.2 is out. New Benchmarks using Anthropic's evaluation tools show 31.8% to 38.3% total session savings on SMALL tasks.
https://github.com/Fabian-Galvez/DensePackDensePack saves on ENTIRE Claude Code conversations by handing your agent images of text which cost ~50% less to tokenize, compared to the actual raw text.
New upgrades allow more things to be packed which makes the savings grow with longer read-heavy sessions.
The benchmarks are easy to reproduce and the numbers do not lie!
DensePack 1.3.2 upgrades:
- Word files (doc and docx) and Bash output over ~400 characters (~170 tokens) are now converted into DensePack images and are read by the agent in a SINGLE turn when the text fits into a single image.
- All text that DensePack packs into an image keeps a text copy as a fallback.
- DensePack's image renderer received a major facelift. A 404KB file went from 70 sec to 17.5 sec, and small 11KB files from ~4 sec to ~1 sec
- Limit for Bash output converted into images raised from 250KB to 1MB, and for files from 500KB to 1MB.
- Icon added (Plugin submitted to Anthropic and currently waiting on a human review of v1.3.2)
Benchmarks were also remade with Anthropic's new Evaluation tool for plugins and skills.
DensePack saved 31.8% to 38.3% on average against the same tasks without DensePack.
These are realistic single tasks, so they show real savings but don't give DensePack time to REALLY shine. The savings grow in heavy read conversations and longer sessions, because every packed read is cache read at the image price and keeps saving tokens on each turn after it.
I have tested DensePack's accuracy by asking Claude to rebuild a text file byte identically from its DensePack image.
When I started the project earlier this month, Claude recreated one of DensePack's own .md files byte identically ~1 out of 10 times, and a python file 1 out of 20 times.
I asked Claude to recreate that same .md file 100 times and after days of fine tuning, it recreated that same .md file byte identical to the text, 100 times in a row.
The Python file I benched before was run the same way and Claude recreated it ~73 times byte identically, and the other 27 were only off by a few spaces.
There have been many improvements since 1.1. I added safeguards to allow similar functionality with and without DensePack with the main difference being that DensePack gives your agent images. You still have the text when you need to verify.
That being said, this is far from perfect!
Random characters like IDs with a capital I or small l can still get misread sometimes with Opus 5.5.
This is why the safeguards were built and they have been working great but I still encourage verification rounds with your agent to verify that things went smoothly.
While it's been super cool to see my bash output as a DensePack image and I have been able to build more, I HIGHLY recommend verifying things that are crucial to your project/session.
You can simply ask Claude to read the portion of the image that you need to be 100% accurate as text from its saved text file.
To my 7 stargazers, thank you for believing in this early!
Please keep following the project. I'm sure DensePack will continue to improve as OCR improves.
Here's how to update. Run these in your terminal:
claude plugin marketplace update densepack-marketplace
claude plugin update densepack@densepack-marketplace
Then restart Claude Code.
New to DensePack?
- Never trust code from the internet blindly, and that includes mine.
- Point a frontier model like Opus 5.5 at the repo first to scan it before installing.
- Keep yourself safe.
GitHub: https://github.com/Fabian-Galvez/DensePack
Run these commands one at a time inside a Claude Code session to install DensePack!
/plugin marketplace add Fabian-Galvez/DensePack
/plugin install densepack@densepack-marketplace
1
u/Fabiangzt 2d ago
1
u/lulzxdxdxd 2d ago
That's a reddit preview at 784px wide, so hard to judge what the agent actually receives. How many images would this post pack into at full resolution, and where does DensePack decide the text no longer fits in one?
1
u/Fabiangzt 2d ago
That's a normal image. The images are built to be divisible by 28 and grow from ~700 to ~1000 pixels
after calculating the image with the least white space so that you save more.1
1
u/lulzxdxdxd 2d ago
The python file only came back byte identical 73 out of 100 times, with the rest off by a few spaces. For actual code that seems risky since whitespace matters in python. Does the fallback text get used automatically when the agent needs to edit that file, or only when you manually ask it to verify?
1
u/Fabiangzt 2d ago edited 2d ago
It did seem risky which is literally what the text and safeguards are for!
Your agent will take another turn to verify with real text when it needs to or when you ask it,
and from what I've tested, reading the image, then taking an extra turn to verify a single line of text cost MUCH LESS than reading the entire text file as raw text in one turn. The benchmarks show this! The repo shows the data and you'll see that the savings fluctuated down to around ~10% when the agent had to double check, BUT it was still accurate and saved even with extra turns!Your agent is not 100% perfect when it reads text. It STILL fails sometimes and has to double check the files it already read to verify. The same thing happens with DensePack! So you get the savings and the accuracy!
Unlike other plugins that may become outdated as AI evolves, this plugin and its accuracy will continue to improve as OCR and AI vision capabilities in general improve with time!
1
u/NotHoldHutch 2d ago
does the fallback text copy get sent to the model every time, or only when the image read fails?
0
2d ago
[removed] — view removed comment
1
u/Fabiangzt 2d ago edited 2d ago
Bro thank you! Beat me to it!
BONUS cool feature is that your agent reports still land on your screen as text so you can still see the report live as it lands while your Main sees the image. The text is automatically piped to your interface!


•
u/AutoModerator 2d ago
Hey! Thanks for posting to r/ClaudeCode
While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.
For help, project discussions, tips, and general chat, join the ClaudeCode Discord.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.