Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monere

A free, local usage meter for Claude Code. It shows how much of your 5-hour and 7-day limit you have used, when each resets, what the current session has cost, and (as an estimate) how fast you are burning through the limit.

Status: v0.2. Command line, desktop alerts, a pace forecast and a local dashboard. A tray / menu-bar app is next. Free and open source (MIT). Zero dependencies; needs Node 18 or newer.

  • Alerts before you hit the wall. A desktop notification at 80% and 95%, when you are on pace to run out before the reset, and when a limit you were close to resets.
  • A pace forecast. "On pace to hit your 5-hour limit around 6:13 PM, 31 minutes before it resets." Always labelled as an estimate.
  • A dashboard (monere ui) with rings, a usage chart with the forecast drawn on it, and your sessions. Light and dark.
5h 42% (resets 2h 50m)  ·  7d 38% (resets 4d 0h)  ·  $2.50
  5-hour  [########------------]  42.0% used, resets in 2h 50m
         pace about 24%/h (recent pace, an estimate): limit around 7:06 PM, 25m before the reset
  7-day  [########------------]  38.0% used, resets in 4d 0h
  sessions:
    * storefront             Opus       $  2.50  ctx 55%  seen 0m ago

How it works

Claude Code can run a status-line command and hands it a JSON snapshot of the session on every update. The documented snapshot includes rate_limits.five_hour and rate_limits.seven_day (percent used and reset time), the session cost, and the context fill. This tool is that command: it saves each snapshot to a folder on your machine and prints one line.

  • No credentials. It never reads Claude Code's login files.
  • No network. Monere never makes a request. Nothing leaves your machine. (The optional model-limits switch asks your own claude command, which makes its usual request; it is off until you turn it on.)
  • Official data only. Every number comes from the documented status-line payload, except the optional model-specific weekly bars, which come from your own claude -p "/usage" output (see below).

Checked against /usage

On the author's machine on 2026-10-02, Monere and Claude Code's own /usage agreed: 5-hour 4% and 4%, 7-day 18% and 18%, the Fable weekly bar 17% and 17%, and reset times within a minute. That is one machine at low usage, so treat it as a first check, not proof. If your numbers differ by more than a couple of points, please open an issue with both readings.

Install

Needs Node 18 or newer.

git clone https://github.com/codegobrrrr9/monere.git
cd monere
node src/cli.mjs ui --demo         # look first: the dashboard with sample data, nothing installed

Then, when you want it on your real Claude Code (in this README monere <command> means node src/cli.mjs <command>, or run npm link once to get a real monere command):

node src/cli.mjs install --yes     # edits Claude Code's settings.json statusLine, after making a backup
node src/cli.mjs status            # after your next message in Claude Code
node src/cli.mjs watch             # live view in the terminal
node src/cli.mjs ui                # the visual dashboard (add --demo to preview it with sample data)
node src/cli.mjs models on         # optional: also show per-model weekly bars like Fable (see below)
node src/cli.mjs alerts [on|off]   # desktop alerts: show or switch
node src/cli.mjs test-alert        # send a test notification to check alerts work here
node src/cli.mjs uninstall         # removes it and restores your previous status line
node src/cli.mjs doctor            # checks what is installed and whether data is arriving

If you already use a custom status line, it is kept: the tracker runs it with the same input and shows its output above the tracker line. Uninstall puts your original entry back. Nothing changes your settings unless you run install --yes.

Data lives in ~/.monere (override with MONERE_HOME).

What it cannot do (read this)

  • Model-specific weekly limits are opt-in, and rest on /usage's text. /usage shows a separate weekly bar for one model (for example Fable). Claude Code does not put that bar in the status-line data (checked against a live payload on 2026-10-02), so monere models on gets it another way: it runs your own claude -p "/usage" (about 4 seconds, zero tokens, at most every 5 minutes) and reads the printed bars. Monere still reads no login file and sends no request itself, but your claude command makes its normal request. It depends on that command being on your PATH and on the text format of /usage, which Anthropic can change; if it stops parsing, the dashboard says so instead of showing a wrong number. Off by default.
  • It works from the terminal, not the desktop app. Claude Code run in a terminal sends the status updates Monere reads. The Claude desktop app's Code tab did not send any.
  • Alerts only fire while Claude Code is updating. Monere has no background service: it checks when Claude Code sends a status update. If Claude Code is closed, nothing can fire. A limit that resets while you are away is announced at the next update.
  • Forecast alerts need a recent pace. They need at least 3 readings over 5 minutes in the same window, and at least 20% used. The dashboard also shows a softer forecast from the average pace since the window opened, but that one never sends a notification: it overstates the burn after a burst of early work.
  • On Windows the notification is labelled "Windows PowerShell" because that is how an unpackaged tool can show a toast without installing anything. Turn alerts off with monere alerts off.
  • Limits show only for Claude Pro and Max subscribers. Claude Code only includes rate_limits for those plans, and only after the first response in a session. With an API key you get cost and context fill, and the tool says so instead of showing zeros.
  • Readings are only as fresh as Claude Code's last update. If no session has updated for 15 minutes, the line is marked with a ?. When a window passes its reset time it shows reset until the next update.
  • The burn rate is an estimate. It is a straight-line fit over recent readings in the same window, needs at least 3 readings spanning 5 minutes, and is not a promise.
  • Session cost is Claude Code's own estimate at list price and "may differ from your actual bill".
  • If Claude Code changes the payload, missing fields show as unavailable, never as a wrong number.

Coming soon

Claude Code only for now. Planned, not built:

Tool Status
Claude Code Supported (v0.2)
Codex Coming soon
Gemini CLI Coming soon
Others Coming soon

Want one of these first? Open an issue with the tool's name in the title: that is how the order gets decided.

Develop

npm test      # 49 tests: parsing, window logic, forecast, alert rules, /usage parsing, install and uninstall, the local server, bad input

The collector never throws and always exits 0, so a fault in this tool cannot break Claude Code. It tolerates a UTF-8 byte-order mark in its input (Windows PowerShell adds one).

Licence

MIT, copyright (c) 2026 neilxbt. See LICENSE.

About

Free, local usage meter for Claude Code: 5-hour and 7-day limits, alerts, pace forecast

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages