Ursor tray notification badge is stuck (shows 2 unread notifications that cannot be cleared)

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

The Cursor tray icon on macOS keeps showing 2 unread notifications.
Even after opening each unread item in Recent Agents and clicking Clear All Notifications, the badge does not reset to zero. The issue may reappear after restarting Cursor.

Steps to Reproduce

Open the Cursor tray menu.
Observe that the tray badge shows 2.
Open unread chats in Recent Agents (for example: JDK upgrade class package replacement and JDK 17 switch and build issues).
Return to the tray menu and click Clear All Notifications.
Close and reopen the tray menu.

Expected Behavior

After opening unread Agent chats and clicking “Clear All Notifications”, the tray badge should reset to 0 immediately.
The unread indicators in “Recent Agents” should be cleared consistently and should not reappear after reopening the tray menu.

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

Version: 3.1.15 (Universal)
VSCode Version: 1.105.1
Commit: 3a67af7b780e0bfc8d32aefa96b8ff1cb8817f80
Date: 2026-04-15T01:46:06.515Z
Layout: glass
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Darwin arm64 25.4.0

For AI issues: which model did you use?

Model name: Claude Sonnet 4 (Agent + Tab)
Issue type: Notification badge state in Cursor tray menu

For AI issues: add Request ID with privacy disabled

Request ID: f9a7046a-279b-47e5-ab48-6e8dc12daba1
Background Agent ID (if applicable): [bc-… if available]

Additional Information

Observed behavior:

  • Tray badge stays at “2” even after opening unread Recent Agents chats and clicking “Clear All Notifications”.
  • Unread indicators appear to be out of sync with actual read state.

Workarounds attempted:

  • Opened each unread chat from Recent Agents.
  • Clicked “Clear All Notifications” multiple times.
  • Closed and reopened tray menu.
  • Restarted Cursor.
    Issue still persists intermittently.

Impact:

  • Notification state is unreliable, which makes it hard to triage pending chats.
  • Core coding workflow is still usable, but this causes confusion and extra manual checks.

Attachments:

  • Screenshot of tray menu badge count and unread entries.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report. I can see that JDK upgrade class package replacement and JDK 17 switch and build issues are stuck as unread and don’t clear either by opening them or by Clear All Notifications.

This is a known desync bug between the tray badge and the actual read state of agents on macOS. It happens most often with the Glass layout. I don’t have an ETA for a fix yet. Once I have an update, I’ll reply in the thread.

As a temporary workaround, try this in order:

  1. Open both chats not from the tray, but from the Agents Window inside Cursor, and keep focus on each for a couple seconds.
  2. Archive them via Prior chat archiving or from View More. Archiving clears the stuck unread state more reliably than Clear All Notifications.
  3. If that doesn’t help, fully quit with Cmd+Q and restart Cursor.

Similar reports for context:

A couple quick questions to better understand your case:

  1. Does this only happen with those two older chats, or do new finished agents get stuck too?
  2. Does it happen more often when an agent finishes while the Cursor window is minimized or not active?
  1. It appears to be limited to those two older chats for now. Newer finished agents usually clear correctly.

  2. I haven’t confirmed a strong correlation with Cursor being minimized/inactive. I’ve seen it happen in normal use, so it doesn’t seem strictly tied to window focus state.