Most of your Claude usage is Claude reading junk: giant build logs, whole files, tool lists, and the entire chat, re-sent with every message. Chroni zaps the waste in five places and keeps every error. Same smart Claude, way fewer tokens.
This runs the exact same code as the plugin, right in your browser. Pick a log (or paste your own) and hit the button.
Claude doesn't read a log once. It's part of the conversation, so it's sent again with every message after it. Drag to see what the log above costs over a session.
Each one targets a different place your tokens leak. All on by default, each one switchable with /chroni <name> off.
Build logs, installs and test runs trimmed to the start, the end and every error. Full log saved.
A 900-line file? Claude gets the top plus a map of every function, then reads just the part it needs.
Servers you haven't touched in 2 weeks stop sending their long instructions each time. They still work.
No preambles, no recaps, no re-printed code. The reasoning and checks stay exactly the same.
When a chat gets huge, Chroni taps you on the shoulder. /handoff + /clear and every next message is tiny.
When a command spits out a wall of text, Chroni keeps the parts that matter and swaps the rest for a short note.
Where commands say what they're doing and how it went. Always kept.
Errors, failures and warnings from the middle, each with a line of context.
The full output is saved to a file. If Claude needs more, it opens it.
When Claude reads something on purpose, it gets every byte. Small outputs are left alone too.
Counted against what Claude Code would already show on its own (it cuts truly huge outputs itself), so these are honest.
| Command | Before | After | Saved |
|---|
Paste this into Claude Code and send it:
Run this: for i in $(seq 900); do echo "Compiling module $i of 900"; done; echo "error: it worked"Claude will get a short [chroni: trimmed…] note instead of the wall of text and still spot the error. Without Chroni, it reads all 900 lines.
Type /chroni any time to see how many tokens each feature has saved, this session and all time.
Want the raw output for one command? Put CHRONI=off in front. Want it off entirely? /chroni off.
No. It only removes repeated lines, progress bars and the boring middle of long logs. Every error and warning stays, and the full output is one file read away. When Claude reads files, diffs or search results on purpose, Chroni doesn't touch them.
It depends on your work. Noisy builds save 50–98% of that output, big file reads about 60–80%, and a /handoff makes each later message around 90% cheaper. Short Q&A saves the least. Type /chroni to see your real numbers, per feature.
It only changes wording: no preambles, no recaps of what it just did, no re-printing code that didn't change. Claude is told never to skip reasoning, tests, caveats or anything you need. Don't like it? /chroni lean off.
Just ask for it. The tools still work; Claude finds them with its tool search, and Chroni hands back their instructions the moment it does. Servers you use stay visible for two weeks, and /chroni keep <name> keeps one forever.
No. Everything runs on your machine, inside Claude Code. Full logs are saved in ~/.claude/chroni/logs and rotate, so they don't pile up.
Past about 30KB, Claude Code steps in before any plugin can: it saves the output to a file and shows Claude a short preview. For failing commands it cuts out the middle. When that happens, Chroni's note tells Claude what was cut and how to get it back, so it never thinks it saw everything when it didn't.
When a session gets long, every message re-sends the whole history. /handoff has Claude write a short summary file; then you /clear and continue from it with a fraction of the context.
Yes. MIT licensed, code on GitHub. Stars are appreciated 🌟