A macOS menu bar app that sends a notification whenever a new usage event appears in your Cursor usage overview — showing price, model, and token count, like a receipt for every AI prompt. Next to the menu bar icon it keeps a running total of what you have spent this calendar month.
To authenticate, it reads the session of the locally installed Cursor IDE. No setup, no password, no API key.
- macOS 15 or newer
- A locally installed, logged-in Cursor IDE
Download the app from the latest release, unzip it, and move PromptQuittung.app to Applications.
The app is only ad-hoc signed (not notarized), so Gatekeeper blocks the first launch. To open it anyway, either:
-
Right-click the app in Finder, choose Open, then confirm — or, if macOS only offers Move to Trash, go to System Settings → Privacy & Security, scroll down, and click Open Anyway; or
-
remove the quarantine flag in Terminal:
xattr -d com.apple.quarantine /Applications/PromptQuittung.app
If you prefer not to run an unsigned binary, you can build it from source in a few seconds.
After launch, an owl icon appears in the menu bar — there is no Dock icon and no window. On first launch, macOS asks for permission to show notifications; without it the app cannot do its job (the menu bar menu will point this out and link to System Settings).
The app then polls your Cursor usage events and posts a notification for every new one, e.g. “$0.42 · claude-4.5-sonnet” with the total token count as the message body. On the very first run, existing events are only recorded, not notified — you only hear about new activity.
Next to the owl stands the month-to-date total in whole dollars — everything charged since the 1st of the current calendar month; the menu repeats it to the cent as This month. It appears as soon as the first total has been fetched, updates whenever a new event shows up, and resets on its own when the month rolls over.
- The app reads the Cursor session token read-only from Cursor's local
state.vscdb(SQLite) — the same session your IDE is already logged in with. It never modifies Cursor's data. - The token is sent exclusively to
cursor.comto fetch your own usage events. No other server is contacted, ever. - The token is never logged and never written anywhere else.
- There is no analytics, no tracking, no third-party code — the app has zero external dependencies, and the whole source is about 400 lines of Swift you can read in minutes.
Requires a recent Xcode:
xcodebuild -project PromptQuittung.xcodeproj -target PromptQuittung -configuration Release buildThe app lands in build/Release/PromptQuittung.app. Run tests with:
xcodebuild test -project PromptQuittung.xcodeproj -scheme PromptQuittungSee CONTRIBUTING.md. Security issues: see SECURITY.md.
Quittung is German for receipt — half English, half German, and entirely literal: every prompt gets its receipt, quietly handed over by the owl in your menu bar. Consider it filed.