Griftmeter mule 0.1.47

The mule is the helper that reads your AI usage and feeds it to the device.
It runs on your computer. Nothing else is required - no Node, no installer
framework, no account.

INSTALL
  Linux/macOS:  ./install.sh
  Windows:      run griftmeter-0.1.47-windows-x64-setup.exe (a normal installer:
                next, next, done). install.cmd in the zip does the same from a
                folder, for machines where installers are blocked.

RUN
  Look for Griftmeter in your applications:
    Windows   Start Menu
    macOS     Applications (or Spotlight)
    Linux     your app launcher

  The settings page opens by itself the first time it starts. After that,
  launching it again just opens that page - so the icon is also how you check
  it is running.

  From a terminal, if you prefer:
    griftmeter start        start the mule
    griftmeter probe        show where it looks for your credentials

  On Windows the program has no console, so running it from cmd or PowerShell
  prints nothing at all - not even an error. That is expected. The settings
  page is where Windows says what happened, and every provider row there gives
  its own reason when it has nothing to show.

  The griftmeter file in this folder is a command-line program, so opening it
  straight from the folder brings up a terminal window. Run install.sh once and
  use the app instead: it is a background service, with no Dock tile and no
  window of its own.

  The settings page is at http://localhost:7777, and has a start-at-login
  option on the Mule tab.

macOS: the first time you open it, macOS will say it cannot check the app
for malicious software. That is what every app that is not sold through the
App Store looks like. Let it through once and it never asks again:

    macOS 13 and 14   Right-click (or Control-click) Griftmeter in Applications,
                      choose Open, then click Open in the dialog.
    macOS 15          Click Done on the warning. Open System Settings, go to
                      Privacy & Security, scroll down to "Griftmeter was
                      blocked", and click Open Anyway.

If you would rather do it from Terminal, this clears the flag instead:
    xattr -dr com.apple.quarantine /Applications/Griftmeter.app
Installing through Homebrew avoids this entirely.

Windows: SmartScreen may warn on first run. Choose More info, then Run anyway.

CLAUDE
  START HERE: sign in to Claude first.

  The mule has no account of its own and never asks for a password. It reads
  what Claude already left on this computer. If nothing has ever signed in
  here, there is nothing on disk for it to read and the dial will say so.

    1. Install Claude Code and run:  claude
    2. Sign in when it asks.
    3. Start the mule. The CLAUDE row should fill in within a minute.

  If the CLAUDE row says "rate limited" for more than an hour, that is almost
  always a sign-in that has lapsed rather than a real limit: the usage service
  answers the same way for a login it will not serve. Run claude, sign in
  again, and the row clears.

  IF YOU ONLY USE THE CLAUDE DESKTOP APP
  You do not have to install Claude Code. The desktop app keeps its own record
  of your usage, and the mule reads that instead. Leave the app running and the
  CLAUDE row fills in on its own.

  Two things to know about that route. The app writes a new reading about every
  five minutes, so the dial trails your real usage by a few minutes. And it only
  writes while it is open: close the app and the mule says so rather than
  leaving a stale number on the dial. Anything you do on your phone or in a
  browser still counts against the same allowance, and shows up next time the
  desktop app takes a reading.

  Claude Code in WSL, with the mule on Windows: the mule looks inside your
  running WSL distributions for the login, so this usually just works. If it
  does not, the Grifters tab has a box for the path. It is normally
    \wsl$Ubuntuhome<you>.claude.credentials.json
  and the distribution has to be running for that path to exist.

  A SECOND READING, WHICH IS OPTIONAL
  There is also a statusLine hook. It is not needed for the numbers above, but
  it costs nothing and keeps working when the usage service does not:

    Windows       "%LOCALAPPDATA%\Griftmeter\griftmeter.exe" install
    macOS/Linux   griftmeter install

  Then use the claude command in a TERMINAL at least once. The statusLine only
  runs in the terminal app. The VS Code and JetBrains chat panels never fire
  it, so a hook that is installed correctly still reports nothing until you do.

WHEN A ROW HAS NO NUMBERS
  Open http://localhost:7777 and look at the Grifters tab. Every provider says
  its own reason, and the CLAUDE row names the file the login was read from -
  which is the fastest way to tell "not signed in" apart from "signed in
  somewhere I am not looking".

ONE COMPUTER PER DIAL
  A dial takes readings from any mule on the same network, and the last one to
  push wins. If you run the mule on two computers, put it on the one whose
  usage you want the dial to show and remove it from the other, or the two will
  take turns. A mule with no readings of its own stays quiet rather than
  blanking a dial that is being fed properly.

UNINSTALL
  Linux/macOS:  ./uninstall.sh          removes the mule, leaves your settings
                ./uninstall.sh --purge  removes the settings and logs as well
  Windows:      uninstall.cmd           removes the mule, leaves your settings
                uninstall.cmd --purge   removes the settings and logs as well

  It stops the mule, removes the login item, the app and the binary, and
  unhooks the Claude Code statusLine if that was ever set up.

Support: complaints@griftmeter.com
