[BUG] Desktop activity dashboard streak/heatmap credits the session-start date, not each active calendar day - multi-day sessions wrongly break the streak

Open 💬 8 comments Opened Jun 10, 2026 by gainzagent

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The activity dashboard in the Claude Code Desktop app (the "What's up next" welcome screen with Sessions / Messages / Active days / Current streak / Longest streak / heatmap) appears to attribute a session's activity to a single date rather than to every calendar day on which messages were actually sent.

Hypothesis: the streak and heatmap credit the day a session STARTS, not each day the session is active. A single long-lived session that spans multiple calendar days therefore lands entirely on its start date, leaving the intervening days blank and breaking the streak - even though messages were genuinely sent on those days.

This disproportionately affects users who run long continuous sessions, which the worktree-isolated desktop workflow actively encourages.

Evidence

  • I inadvertently ran one continuous session from Jun 9 into the early hours of Jun 11.
  • That session contains a message timestamped Jun 10, 2026, 9:57 PM (local) - clear activity on the 10th.
  • Despite that, the 10th is not credited as an active day, and my Current streak shows 0d. My Longest streak (30d) was effectively ended by a day I was demonstrably active.

Expected Behavior

Each calendar day on which at least one message is sent should count as an active day for the heatmap and streak, regardless of which day the containing session was started.

Actual Behavior

Days on which activity occurred within an already-running session are not counted. The streak breaks despite genuine daily activity.

Possible Secondary Factor

Worth checking whether day-bucketing uses UTC vs the user's local timezone. I'm in New Zealand (UTC+12), so late-evening local activity falls near or across a UTC date boundary, which could compound the mis-bucketing.

Environment

  • Product: Claude Code Desktop app (macOS)
  • Hardware: Apple Silicon (M2 Max)
  • App version: Claude Desktop 1.11847.5
  • Timezone: Pacific/Auckland (UTC+12)

What Should Happen?

Each calendar day on which at least one message is sent should count as an active day for the heatmap and streak, regardless of which day the containing session was started.

Error Messages/Logs

N/A - no error output. This is a silent miscount in the activity dashboard display, not a crash.

Steps to Reproduce

  1. Start a session shortly before midnight (local time).
  1. Keep working in that same session past midnight, into the next calendar day (and ideally a third day).
  1. Open the activity dashboard.
  1. Observe that only the session's start date is credited in the heatmap; the later day(s) show as inactive and the current streak resets.

Claude Model

Not sure / Multiple models

Is this a regression?

No, this never worked

Last Working Version

N/A

Claude Code Version

Claude Code 2.1.114

Platform

Other

Operating System

macOS

Terminal/Shell

Other

Additional Information

Auth/platform: Claude Pro subscription via the Claude Code Desktop app (not an Anthropic API key, Bedrock, or Vertex).

Reproduced in the Claude Code Desktop app (Code tab) GUI, not a terminal session.

Worth noting the user-impact angle: a streak counter punishing you for a technicality would likely do the opposite of what gamification is for.

<img width="627" height="463" alt="Image" src="https://github.com/user-attachments/assets/56e9d4a7-594e-4bff-bc91-3a0bbed2387e" />

<img width="879" height="346" alt="Image" src="https://github.com/user-attachments/assets/9d76b1f9-9ad6-4b3d-85af-fe50ee88f5b1" />

<img width="575" height="252" alt="Image" src="https://github.com/user-attachments/assets/727e833e-90e6-40ca-a262-e29d7a0234e9" />

<img width="538" height="272" alt="Image" src="https://github.com/user-attachments/assets/d7af32c5-241c-4a7e-a45f-bdf77f2ecac3" />

<img width="570" height="250" alt="Image" src="https://github.com/user-attachments/assets/62ce0816-337f-445c-a96c-46c7661635a2" />

<img width="467" height="222" alt="Image" src="https://github.com/user-attachments/assets/e32dbc45-6db5-4bfa-8946-26b81e62fc9c" />

View original on GitHub ↗

This issue has 8 comments on GitHub. Read the full discussion on GitHub ↗