12 comments

[ 3.3 ms ] story [ 37.6 ms ] thread
I built this after noticing a $65 charge for what felt like a $10 session. Turns out, context compaction was hiding 80% of my token usage. Real cost, no visibility.

claudetop is a status line for Claude Code that shows your burn rate, cache efficiency, model cost comparison, and smart alerts (like "TRY /fast" when Opus is overkill for the task). Plugin system for extensibility — Spotify, CI status, calendar, etc.

Single bash script, zero dependencies beyond jq. One-command install.

I asked Claude Opus yesterday if it could put my token cost (and tokens remaining) into the status bar and it insisted there was no way to get this information.

ETA: ah, this isn't getting real time cost from an Anthropic API or anything. It's estimating it based on token usage and a JSON config file that specifies token cost.

    curl -fsSL https://raw.githubusercontent.com/liorwn/claudetop/main/install.sh | bash
    Installing claudetop...
    cp: /Users/sgarland/claudetop.sh: No such file or directory
You need to have it handle being piped; right now it expects to find itself at $PWD. It also makes several other assumptions, like the location of Claude, and that the user wants stats being `/usr/local/bin`.
Have you tried a local model?
The Qwen series are very good local models.
(comment deleted)
Anthropic should work on their billing. It's crazy. I did my best to not get billed more than I consciously pay into my account, auto reload is off and never was on, but still now the meter shows an unpaid balance. This is nuts. One customer is angry and disappointed. This is totally unnecessary.

And why do I need to create a new API key whenever I run out of balance?

Nice idea. A sounds plugin would be great. Imagine if you could gauge the spend just by a geiger counter, or the tempo of a song. Any chance of opencode support?
Something kinda disturbing seeing a USD cost like that in a cute top-like TUI. It's like numbers I expect to see as rather variable and sometimes ballooning, except it's attached to my credit card. Like just reflexively terrifying I guess.
The calculation misses subagents tokens, that can be a significant differences. Better to parse session jsonl files ~/.claude/projects/<project>/<session id>.jsonl and ~/.claude/projects/<project>/<session id>/subagents/<agent id>.jsonl