but the input tokens are implausibly low. checking against https://cursor.com/dashboard/usage all numbers are different except cacheWriteTokens which is always exact.
it would be good to get the literal exact usage.
It would additionally be great to get back the cost in the response.
Steps to Reproduce
do a CLI call with --stream-json
Operating System
Windows 10/11
Version Information
About Cursor CLI
CLI Version 2026.06.26-7079533
Model Sonnet 4.6 200K Medium No Thinking
Subscription Tier Enterprise
OS win32 (x64)
Terminal unknown
Shell cmd
User Email [email protected]
Hi @Mark_Lemay Thanks for the post! This is actually mostly expected behavior, allow me to explain. The numbers are accurate, but inputTokens in the CLI output means something more specific than it looks.
inputTokens here is Anthropic’s uncached count: it’s only the tokens that were neither read from cache nor written to cache. Your new message and context this turn get cache-written (that’s why cacheWriteTokens is large at 39,331), and the prior conversation is served from cache (cacheReadTokens 147,695). What’s left over as truly uncached is tiny, just 7. So a low inputTokens means caching covered almost everything, not that the input was small. For the real total input, sum the three input-side fields:
That 187,033 is what billing is based on. cacheWriteTokens matches the dashboard exactly because it’s passed through unchanged.
The dashboard’s main “Tokens” value is the sum of all four categories, so it won’t match any single CLI field. Hover over it to see the per-type breakdown - your CLI inputTokens lines up with the “Input” line there, not the headline. Also note the CLI usage block covers the whole turn (every model call), while the dashboard lists individual requests, so one run can show as several rows.