tokenstat
tokenstat
Tools and sources

Cover Cursor and Antigravity, the sources that need a token

György
Reviewed by
György
Updated Aug 3, 2026 3 min

Almost every source tokenstat supports is a file. It gets read offline, with no credential and no network, which is why tokenstat scan can promise both.

Two sources are not files. They need a token and a request, and because that is a genuinely larger ask than opening a log, it is a separate command you run deliberately.

Why these two are different

Cursor writes no token counts to disk. Every usage counter in its local state reads zero. That was checked rather than assumed. There is no file to parse, so the only way to cover Cursor at all is to ask its API for aggregate usage.

Antigravity's IDE sessions are not on disk until the app puts them there. Its CLI conversations are ordinary files and get scanned offline like anything else. The IDE half lives behind the app's local language server, so it needs the app running and a fetch to pull it across.

Connecting one

tokenstat auth cursor
tokenstat auth antigravity

With no --token, this looks for a credential the vendor's app already left on your machine, the macOS keychain today. Nothing is invented and nothing is asked of the vendor beyond aggregate usage.

If you would rather hand it over yourself, paste one:

tokenstat auth cursor --token <token>

Then pull:

tokenstat fetch

fetch collects Cursor usage and Antigravity IDE sessions and quota into the archive, cached for 30 minutes so a scheduled run does not hammer anyone's API. tokenstat fetch --force ignores the cache.

Checking and undoing

tokenstat auth --status

Reports whether tokens are available, per vendor. It prints no secrets, so it is safe in a terminal you are sharing or recording.

tokenstat auth cursor --logout

Forgets the stored token. The archive keeps whatever was already fetched, since that is your usage history rather than the credential.

What this does not change

If you never run it, tokenstat never touches a credential. This is the whole reason it is not part of first run or tokenstat setup. A tool that reads local files and a tool that holds vendor tokens are different propositions, and you should get to pick which one you are running.

The privacy boundary is unchanged. Fetching aggregate usage adds counters to your archive. It does not add prompts, code, or conversation text, because those are dropped at the parser and never reach the local database in the first place. What leaves your machine when you sync covers the separate question of what an optional sync uploads.

Antigravity quota stays separate. How much of your plan remains is status, not usage. It is reported on its own and never turned into token events to make a chart look complete.