joseph decker · apps · geiger · support writing[email protected]

Geiger · Support

Support

A ring that will not fill, the keychain prompt, or anything else — email Joseph.

Contact

Email [email protected]. Say which provider is wrong, what the card says, and your macOS version. There is no account, so that is the whole support channel.

I cannot find the widget

It sits on the right edge of the screen, not at the notch, and at rest it draws nothing but its own plate. Move the pointer onto that edge, in its lower half, and it opens.

macOS asks for keychain access

From version 0.2.1 it should not. Geiger reads Claude Code's token through /usr/bin/security, the same tool the Claude CLI reads it with, and macOS does not ask that tool. Version 0.2.0 read the token itself. Each time the CLI refreshed its token, macOS dropped that permission, so 0.2.0 asked again a few times a day. Download the current version and the dialog stops.

If a dialog still appears, your login keychain is locked, or the token sits in a keychain layout Geiger can only read directly. Choose Always Allow, not Allow. A plain Allow answers one read only, and Geiger reads about once a minute, so you would get the dialog again straight away.

Leave the dialog unanswered and the card says "answer the keychain prompt" until you do. Deny it and the card reads "keychain access denied" for an hour, because retrying sooner would only open another dialog.

A ring is empty or dimmed

Hover the provider and read its card. It names the reason rather than going blank. Common ones:

  • Not signed in. Sign in to that tool's own CLI and the next poll picks it up.
  • Rate limited. Geiger backs off rather than hammering the endpoint, and shows the last good numbers with their age until the window ends.
  • Dimmed with an age. The numbers are real but old. The provider could not be reached on the last poll.
  • Gemini, consumer account. Google cut consumer accounts off that quota API in June 2026. Workspace and Code Assist accounts still work.
  • Antigravity. It is read from a running local language server. While Antigravity is not running, the last good numbers are shown with their age rather than nothing.

Adding or removing a provider

Everything lives in one file, ~/.geiger/config.json. Open it from the menu bar item with Open Config…. Geiger watches the file and picks up a change without a restart.

To turn a provider off, set "enabled": false on its entry. Deleting the entry does not work. Any provider missing from the list is added back with its defaults on the next read, and the default is on, so a deleted entry returns as a ring on the next poll.

Each entry can name its own config_dir and its own label, so two profiles of the same tool get one ring each with the names you give them.

Where it keeps things

~/.geiger/config.json                      the config
~/Library/Application Support/geiger/      usage.json and per-provider state
~/Library/Logs/geiger.log                  the log

None of it leaves the Mac.

Uninstalling

Quit Geiger from the menu bar item, then drag it out of Applications. Check System Settings › General › Login Items and remove the entry if it is still listed. To take the rest with it, delete the three paths above.

Privacy

No account, no analytics, no server of mine. Every credential is read-only and none is ever refreshed. Full detail on the Geiger page.

Geiger · All apps