Activity Overview: active day shown as empty, breaking the streak
Summary
The usage/activity Overview (the page with Sessions, Messages, Total tokens, Active days, Current/Longest streak and the activity heatmap) renders a day as inactive even though that day had substantial real usage. This breaks the streak: a confirmed-active day shows up as a gap, splitting the streak in two.
What I expected
Every day that has recorded activity should appear as active in the heatmap and count toward "Active days" and the current/longest streak.
What actually happens
One specific day is shown as empty (no activity) in the Overview heatmap and is excluded from the streak, despite that day being one of the most active in the period.
Evidence that the day was genuinely active
The local CLI transcripts under ~/.claude/projects/ contain unambiguous activity for the day in question:
- 6 separate transcript files carry in-content timestamps for that date
- 728 messages with that date's timestamp
- spread across 09:00–16:00 UTC (a full working day), in two different projects
So the underlying usage records exist; the Overview/streak computation is dropping the day at display/aggregation time.
Notes on data source (from local investigation)
~/.claude/stats-cache.jsonis stale (does not match the Overview numbers), so it is not what feeds this view.- The desktop app's local IndexedDB (
https_claude.ai_0.indexeddb.leveldb) does not contain any activity/streak/date keys — so the Overview is fetched live and the streak is computed server-side. - This points to a server-side aggregation or timezone-bucketing bug, not a local cache issue.
Suspected cause
Likely a date-bucketing / timezone boundary issue, or a source that isn't fully included when aggregating active days (e.g. activity from a particular project type or surface not being counted).
Environment
- Claude desktop app (renders the claude.ai analytics Overview)
- macOS
- Claude Code CLI present locally with transcripts confirming the activity
Impact
User-facing streak is incorrect, which is demotivating for users who track their streak. The fix is purely in the activity-aggregation/streak computation; no user action should be required.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗