roastline
v0.1.0
Published
Live cost + roasts in your Claude Code spinner and statusline. Zero tokens, zero ads, zero mercy.
Maintainers
Readme
roastline 🔥
Live cost + roasts in your Claude Code spinner and statusline. Zero tokens. Zero ads. Zero mercy.
Some people put ads in your Claude Code spinner. We put your spending problem there instead.
npx roastlineThat's it. Start a new Claude Code session and the bottom line of your terminal becomes:
💸 $2.40 · 47m · $3.1/hr · your editor is now a subscription to feelings
💸 $6.10 · 1h 35m · $3.9/hr · somewhere a GPU is sweating because of you 🔥
💸 $14.20 · 2h 40m · $5.3/hr · this prompt cost more than your lunch 🍔And your spinner stops saying "Discombobulating…" and starts saying:
✻ Burning your money 💸
✻ Judging your variable names
✻ Converting chai into code ☕
✻ Gaslighting the compilerWhat it shows
- Live session cost — pulled from the data Claude Code already feeds the statusline
- Session duration + burn rate ($/hr, appears after 5 minutes)
- A roast that escalates with your spending — gentle under 5¢, brutal past $8
- Situational specials — spend $3 on 5 lines of code and it will let you know:
$3.37 for 5 lines. artisanal, hand-crafted tokens 🧑🎨
Roast packs
roastline pack classic # default, globally relatable
roastline pack desi # "ye prompt tumhari chai se mehenga tha ☕💸"
roastline pack savage # "the bug is free. your denial costs $3."Want a pack in your language/culture? PRs welcome — packs are just arrays in runtime/roasts.js.
Commands
npx roastline # turn it on
roastline off # full restore — your old statusline & spinner come back exactly
roastline pack <name> # switch flavor
roastline preview # see sample lines without installing
roastline status # what's wired upPrivacy & tokens
- Uses zero tokens. No LLM calls, ever. Roasts are local, fueled by real numbers.
- Nothing leaves your machine. No server, no telemetry, no accounts, no tracking.
- It only reads the JSON Claude Code already passes to statusline commands, and writes two settings (
statusLine,spinnerVerbs) in~/.claude/settings.json— with a backup, and a one-command restore.
How it works
Claude Code officially supports custom statuslines and custom spinnerVerbs. roastline copies a tiny standalone script to ~/.claude/roastline/ and points your settings at it. No patching, no injection, nothing fragile.
Roadmap
- Weekly limit % (the real anxiety meter)
- More packs (send yours!)
- Opt-in AI roast mode with your own API key (haiku-cheap)
Uninstall
roastline offYour previous statusline and spinner verbs are restored exactly as they were.
MIT · built for fun · the wholesome answer to ads in your spinner
