npx claudepluginhub adikuma/chonkerreal-time context window meter showing token usage, rate limits, and remaining capacity
No description available.
Production-ready workflow orchestration with 79 focused plugins, 184 specialized agents, and 150 skills - optimized for granular installation and minimal token usage
Claude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.
Claude Code says 200K tokens but the real usable limit is somewhere around 70-120K. There's no built-in way to see how full your context is. You just keep working until Claude starts forgetting things.
0.0%/min when idle, lights up when you are actively burning)
npm install -g @adikuma/chonker
chonker
Restart Claude Code to see the meter.
claude --plugin-dir /path/to/chonker
On first session start, it auto-configures ~/.claude/settings.json to run a meter script. Claude Code pipes token usage and model info as JSON to the script every 5 seconds and it outputs a formatted status line. Rate limit data is fetched from the Anthropic API and cached locally so it stays fast.
flowchart LR
CC[Claude Code] -->|pipes JSON every 5s| M[meter.js]
CR[credentials.json] -->|oauth token| M
GIT[.git/HEAD] -->|branch name| M
M -->|HTTP GET every 2.5 min| API[Anthropic Usage API]
API -->|rate limit data| M
M -->|4 lines of text| SL[status line footer]
subgraph cache
UC["usage.json<br/>(short lived)"]
UG["usage_good.json<br/>(last known good)"]
end
M -->|read/write| UC
M -->|read/write| UG
M -->|read/write| SS["session.json<br/>(token accumulator)"]
CF["config.json<br/>(user settings)"] -->|colors, toggles| M
Line 1 (progress bar, token count) and Line 2 (input/output tokens, model, branch) update every 5 seconds. This data comes straight from Claude Code through the pipe so it is always real time.
Line 3 (rate limits) comes from the Anthropic usage API. This is a network call so it is cached to keep things fast and avoid getting rate limited by the endpoint itself.
Line 4 (burn rate) tracks how fast your 5h rate limit is being consumed. It compares successive API snapshots every 2.5 minutes and computes %/min. Shows 0.0%/min dimmed when usage is flat, and lights up in teal when you are actively burning. Appears after the first two API cycles (~5 min after start).
The rate limit numbers on line 3 go through a cache before hitting the API. Here is the order of operations every time meter.js runs:
~/.chonker/usage.json (short lived cache). If it was written recently, use it and skip the API call entirely~/.chonker/usage_good.json which stores the last successful API response and never expiresThe API is only called when the short cache expires. All other runs just read from disk. This means out of every 30 runs (5s intervals over 2.5 minutes), only 1 makes a network call.
usage_good.json exists because the usage API is known to return persistent 429 errors. Without a long term fallback the rate limit line would just disappear whenever the API is having a bad day.
Create ~/.chonker/config.json to override defaults:
{
"bar_width": 20,
"show_usage": true,
"show_resets": true,
"cache_ttl": 150
}
Colors are ANSI 256 color codes. Run chonker after installing to see all available options.