Skip to content

Latest commit

Β 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

mad-eye

mad-eye

Your Claude usage limits, watching you back.

A macOS menubar app that shows your Claude subscription usage as an animated eye β€” Mad-Eye Moody style. The Eye gets more agitated as you approach a limit, and its ring shatters when you hit 100%. No numbers in your menubar β€” just an Eye that tells you how close you are at a glance.

CI Β macOS Β License: MIT Β Built with Tauri


the mad-eye Eye and its popover going from calm to frantic to shattered, with Fable as the driving gauge

Why

If you live in Claude Code, you want an ambient sense of "how close am I to my limit?" without opening a dashboard. mad-eye puts that in your menubar as a single Eye:

  • a calm, slow glance when you've got headroom,
  • a frantic dart when you're about to run out,
  • a cracked, frozen stare when you've hit the wall.

Click it for the detailed gauges.

The moods

The Eye tracks one gauge β€” your Session limit by default. Click any gauge in the popover to make it the one that drives the Eye (it remembers your choice).

Usage Mood The Eye…
< 50% 😌 Calm slow, wide glances
< 80% 😐 Nervous quicker, tighter darts
< 95% 😰 Paranoid fast, wide, restless
< 100% 😱 Frantic can't sit still
100% πŸ’₯ Shattered the ring cracks, the eye freezes
the mad-eye popover showing Claude usage gauges

Install

Releases from v0.2.0 on are signed with a Developer ID certificate and notarized by Apple, so Gatekeeper opens them cleanly β€” no workarounds. (Older releases were unsigned; for those, approve under System Settings β†’ Privacy & Security β†’ Open Anyway.)

Homebrew (recommended)

brew install --cask kvnwolf/tap/mad-eye

Manual

Download mad-eye_<version>_universal.dmg from Releases, open it, and drag mad-eye into Applications.

Requirements

  • macOS Monterey or later.
  • Claude Code installed and logged in. mad-eye reads your usage from the same credentials Claude Code stores β€” no Claude Code, no data (the Eye goes dark).

Privacy & trust

mad-eye reads your Claude OAuth token from the macOS Keychain (read-only) and calls Anthropic's usage endpoint β€” the same data behind Claude Code's /usage panel. That's the whole story:

  • πŸ”’ Your token never leaves your Mac except to api.anthropic.com.
  • 🚫 No telemetry, no analytics, no servers. There's no backend β€” just your Mac and Anthropic.
  • πŸ“ Diagnostic logs stay local at ~/Library/Logs/mad-eye/mad-eye.log; they contain status and error metadata, never tokens or response bodies. Right-click the Eye β†’ Reveal Logs in Finder.
  • πŸ‘ It never writes or refreshes your credentials β€” strictly read-only. If the token expires, the Eye just goes blind until Claude Code refreshes it.
  • On first launch macOS asks to read the "Claude Code-credentials" Keychain item β€” click Always Allow.

Don't take my word for it β€” read the Keychain read and the usage fetch yourself. That's the whole point of open-sourcing it.

How it works

  • A Rust core renders the Eye directly to a monochrome template tray icon (tiny-skia, no image assets) and animates the pupil ~30fps by mood.
  • It polls Anthropic's OAuth usage endpoint (undocumented β€” a future change on their side could break it) and maps the limits to gauges + a mood.
  • The popover is a native frosted panel β€” vanilla TypeScript, macOS vibrancy, theme-aware.
  • It's a ghost app: no Dock icon, no ⌘-Tab. Launch-at-login, Reveal Logs, and Quit live in the Eye's right-click menu.

Development

git clone https://github.com/kvnwolf/mad-eye
cd mad-eye
bun install
bun tauri dev        # the native app: menubar Eye + popover

Drive the Eye through every mood without burning real usage β€” the same value also seeds a coherent popover (Fable as the driving gauge), so screenshots match the Eye:

MAD_EYE_FAKE_PCT=97 bun tauri dev    # 40 calm Β· 70 nervous Β· 90 paranoid Β· 97 frantic Β· 100 shattered

Releases are cut with /dobby:release (universal DMG β†’ Developer ID signing + notarization β†’ GitHub Release β†’ Homebrew cask).

License

MIT Β© Kevin Wolf


Built with πŸ¦€ Rust + Tauri Β· not affiliated with Anthropic

About

πŸ‘οΈ macOS menubar app showing Claude subscription usage as a Mad-Eye Moody eye

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages