Apple - Calendar notifcation not disappearing
The badge is notifying you of a Calendar notification. There are two cases which causes a badge:
- You've been invited to an event.
- An event on one of your shared calendars has been modified.
To clear the badge, open Calendar and click Notifications on the toolbar, then take action on the notification by selecting Accept/Decline/Maybe on an invitation or OK for a change notification.
Also see What's this button on Calendar.app? regarding the Notifications button on the toolbar.
Use this button in the calendar app:
To fix the problem, open Terminal and run (case sensitive):
killall Dock
This will shut down the Dock, and macOS will reopen the Dock immediately. When the Dock fetches the current state of notifications from Calendar, it will see zero pending notifications, and the badge will not show up.
I've had this issue a few times. MacOS has some sort of bug that causes a badge to show a number of active Calendar notifications, even though there are none in Calendar itself. I've most often seen this issue when someone is sending out multiple calendar invites and updates in a short period (e.g. someone creates a meeting, then sends several updates to change the time, location, notes, etc.). I'll respond to each update one by one, and afterwards the badge will still show a "1", even though the notifications list in Calendar is empty.
This is actually a problem with the Dock. In macOS, the Dock is responsible for showing and updating application icons, including badges, check marks, progress bars and other state information that applications want to display. Occasionally, it seems, the state of the Calendar Dock icons gets corrupted or out of sync with the state of the Calendar itself. (This happens with other applications, too, e.g. Messages.)