When fetching data from dashboard CSV or API, I see some mistake on Cursor Analytics data, the “Chat Accepted Lines Added” is larger than “Chat Suggested Lines Added”. This is not logical because what developer accepts just comes from what Cursor suggests.
Steps to Reproduce
Go to Dashboard
Select 30-days data
Download CSV
Check the sum of “Chat Suggested Lines Added” and “Chat Accepted Lines Added”
sum of “Chat Suggested Lines Added” < sum of “Chat Accepted Lines Added” (NG)
Expected Behavior
Sum of “Chat Suggested Lines Added” should be less than sum of “Chat Accepted Lines Added”
I’ve been working on a project and generating a lot of new code. I use the “Keep All” button quite a lot because I often agree with what has been generated. In my mind, that means I “accepted” those lines of code. However, the metrics tell a different story. In fact, we have many users where the “Accepted Lines” metric is low or zero. At first, I thought it was my code (I’m reading the Admin API for stats), but then I went to Cursor’s own dashboard (above) and see the same result.
Can someone help me understand why “Keep all” is not equal to “Accepted Lines”?
I asked Cursor to summarize:
Issue: The /teams/daily-usage-data API endpoint is returning acceptedLinesAdded: 0 for days with significant code generation.
Example from your data:
Date: October 11, 2025
totalLinesAdded: 52,738 (correctly tracked)
acceptedLinesAdded: 0 (should be much higher)
Action taken: Used “Keep All” to accept the changes on October 13
Expected: When a user clicks “Keep All” on AI-generated code, those lines should count toward acceptedLinesAdded.
Actual: Only shows 258 accepted lines from October 8, when the total suggested was 102,208 lines across the week.
Question for Cursor: Does “Keep All” count as accepting lines in your tracking, or do you only track granular line-by-line accepts?
How embarrassing that nobody from Cursor can provide an answer. So all we can do as paying customers is speculate. That seems like a poor marketing strategy.
That’s good to know, thanks. But what is “Accepted?”
I use the “Keep All” button quite a lot because I often agree with what has been generated. In my mind, that means I “accepted” those lines of code. However, the metrics tell a different story. In fact, we have many users where the “Accepted Lines” metric is low or zero. At first, I thought it was my code (I’m reading the Admin API for stats), but then I went to Cursor’s own dashboard (above) and see the same result.
Can someone help me understand why “Keep all” is not equal to “Accepted Lines”?