Skip to content

Cursor provider returns zero usage despite populated state.vscdb on macOS #114

@mbrammer

Description

@mbrammer

Summary

CodeBurn detects the Cursor provider and runs successfully, but returns zero usage data even though the Cursor SQLite DB clearly exists and contains a large number of Cursor-related records.

Environment

  • OS: macOS 26.3.1
  • Cursor version: 3.0.13
  • Cursor usage: Cursor IDE only (not cursor-agent, not headless CLI)
  • Node: v20.19.0
  • CodeBurn version: 0.8.1

Expected behavior

codeburn report --provider cursor -p all should return historical Cursor usage from the local Cursor DB.

Actual behavior

All Cursor reports return zero usage.

Commands run

codeburn --version
npm list -g codeburn --depth=0

ls -l ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb

codeburn
codeburn report --provider cursor
codeburn report --provider cursor -p all --format json

Output

$ codeburn --version
0.8.1

$ npm list -g codeburn --depth=0
/Users/.../.nvm/versions/node/v20.19.0/lib
└── codeburn@0.8.1

$ ls -l ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb
-rw-r--r--@ 1 ...  staff  2279956480 Apr 20 14:20 /Users/.../Library/Application Support/Cursor/User/globalStorage/state.vscdb
$ codeburn report --provider cursor -p all --format json
{
  "generated": "2026-04-20T12:57:07.303Z",
  "currency": "USD",
  "period": "Last 6 months",
  "periodKey": "all",
  "overview": {
    "cost": 0,
    "calls": 0,
    "sessions": 0,
    "cacheHitPercent": 0,
    "tokens": {
      "input": 0,
      "output": 0,
      "cacheRead": 0,
      "cacheWrite": 0
    }
  },
  "daily": [],
  "projects": [],
  "models": [],
  "activities": [],
  "tools": [],
  "mcpServers": [],
  "shellCommands": [],
  "topSessions": []
}

DB inspection

I inspected the Cursor SQLite DB directly:

sqlite3 ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb "
SELECT
  CASE
    WHEN key LIKE 'bubbleId:%' THEN 'bubbleId'
    WHEN key LIKE 'composerData:%' THEN 'composerData'
    WHEN key LIKE 'messageRequestContext:%' THEN 'messageRequestContext'
    WHEN key LIKE 'checkpointId:%' THEN 'checkpointId'
    WHEN key LIKE 'agentKv:%' THEN 'agentKv'
    ELSE 'other'
  END AS kind,
  COUNT(*)
FROM cursorDiskKV
GROUP BY kind
ORDER BY COUNT(*) DESC;
"

Result:

agentKv|87389
bubbleId|69255
checkpointId|15275
other|15203
messageRequestContext|2554
composerData|1656

Sample bubbleId keys:

sqlite3 ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb "
SELECT key
FROM cursorDiskKV
WHERE key LIKE 'bubbleId:%'
LIMIT 5;
"
bubbleId:004a9ccd-b823-4600-918d-5cffa02c1adc:044f08f6-403f-4758-bdbd-dac2a844e4d2
bubbleId:004a9ccd-b823-4600-918d-5cffa02c1adc:081dc98e-ca3a-4524-ab29-0bcb5b4ac58e
bubbleId:004a9ccd-b823-4600-918d-5cffa02c1adc:1b57386e-cf13-4f4f-9013-c21de2cf3e6f
bubbleId:004a9ccd-b823-4600-918d-5cffa02c1adc:39e961db-6f49-4c6d-a2cf-205f52664a85
bubbleId:004a9ccd-b823-4600-918d-5cffa02c1adc:54778de7-b65a-4f1f-be17-bff3621f9ff3

Sample composerData keys:

sqlite3 ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb "
SELECT key
FROM cursorDiskKV
WHERE key LIKE 'composerData:%'
LIMIT 5;
"
composerData:004a9ccd-b823-4600-918d-5cffa02c1adc
composerData:0056ab06-00b3-499a-80f3-eecae5d50ed3
composerData:0085ba25-5b68-473e-b202-35f712d6e8ff
composerData:00a229c6-90ed-49fa-bd9b-3f6fff9bf52e
composerData:00e7c457-5ee3-4462-8ed9-7f63c6aad30a

Additional notes

  • This is not a missing DB file problem.
  • This is not a cache issue; clearing the cache did not help.
  • The provider appears to load successfully, but parses zero usable sessions/calls from a DB that clearly contains large amounts of Cursor-related data.
  • Since I only use Cursor IDE, this does not appear to be explained by missing cursor-agent support.

What I suspect

Possibly a parser/schema compatibility issue with current Cursor DB contents on macOS:

  • DB is found correctly
  • relevant keys exist in large numbers
  • provider returns an empty report instead of an error

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions