Claudiostat
Claudiostat app icon

Your Claude limits, live in the menu bar.

Session, week, Fable and a daily budget: four numbers next to your clock. Claudiostat asks Claude Code directly, so a refresh costs zero tokens and never touches your login.

Version 0.1.2 · macOS 15 or later · Apple silicon · 1.8 MB

Try the menu bar

Sample numbers. Click the status item and try the menu.

S
Session
Your current 5-hour window.
W
Week
All models, this week.
F
Fable
Fable only, this week.
L
Daily budget
What's left of the week, per day until the reset.

L is your daily budget.

Drag the sliders to see how it is worked out. This is the same formula the app uses. Stay under L each day and the week lasts until the reset.

82% left over 6.8 days = 12% a day, rounded up.

Small on purpose.

  • Four numbers at a glance

    Session, week, Fable and a daily budget, side by side next to your clock. Hide F or L from the menu when you want a shorter bar.

  • Every reset, counted down

    Open the menu to see when each limit resets and how much of the week is left per day.

  • Zero tokens

    Claudiostat sends Claude Code a get_usage control request and nothing else, so a refresh costs nothing from your limits.

  • Never sees your login

    Claude Code uses its own login. Claudiostat never sees or stores a credential, and it runs Claude Code with hooks, plugins and MCP servers off.

  • Sleeps when Claude does

    While the Claude app is closed there are no requests at all, and the last numbers dim so you can tell they are old.

  • Native and tiny

    A small Swift app, a 1.8 MB download, with no Dock icon. It refreshes every 150 seconds, 5 or 10 minutes, and can launch at login.

How it gets the numbers

Claude Code already knows your limits. Claudiostat just asks it, the same way each time.

  1. Runs your installed claude once, headless, with hooks, plugins and MCP servers off and no session saved.

  2. Sends one get_usage control request. No prompt goes with it, so it costs zero tokens.

  3. Reads five_hour, seven_day and the Fable window, works out L and updates the bar.

What Claudiostat sends and reads
Commandclaude -p --input-format stream-json --output-format stream-json \
  --verbose --no-session-persistence --strict-mcp-config --setting-sources ""
Request{"type":"control_request","request_id":"1",
 "request":{"subtype":"get_usage","skip_behaviors":true}}
Reply (simplified){"type":"control_response","response":{
  "subtype":"success","response":{"rate_limits":{
    "five_hour":{"utilization":42,"resets_at":"2026-09-28T16:13:00Z"},
    "seven_day":{"utilization":18,"resets_at":"2026-10-05T12:00:00Z"},
    "model_scoped":[{"display_name":"Fable","utilization":7}]}}}}

Install

  1. Open the DMG and drag Claudiostat to Applications.

  2. Allow it once. The app isn't notarized, so on the first launch open System Settings › Privacy & Security, scroll down and click Open Anyway next to Claudiostat.

  3. Look up. The numbers appear in the menu bar a few seconds later.

Requirements

  • macOS 15 or later
  • Apple silicon, not Intel
  • Claude Code installed and signed in with a Claude plan
Download for macOS

Reading the menu

Every message Claudiostat can show, and what it means.

Four numbers. Zero tokens.