[BUG] Claude Desktop (Code tab, macOS 27.0): turn-complete notifications fire only intermittently

Status Open
Reported on v2.1.281
Maintainer reply None cached
Activity 2 comments · opened Sep 26, 2026

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)
  • [ ] I am using the latest version of Claude Code (Claude Desktop 2.9939.2 is auto-updated and bundles Claude Code 2.1.281; the latest on npm is 2.1.283)

What's Wrong?

In the Claude Desktop app (Code tab), the macOS notification for a finished turn appears only some of the time.

When a Code-tab turn finishes while another app is frontmost, sometimes a notification appears and sometimes nothing happens at all (no banner, no sound). In one session I checked 8 turns: 5 produced a notification, 3 produced nothing. This has been happening for a while; I'm not sure exactly when it started (macOS 27.0 was installed on 2026-09-15).

Environment

  • Claude Desktop 2.9939.2 (bundled Claude Code 2.1.281)
  • macOS 27.0 (26A428), Mac Studio (Mac14,14, M2 Ultra)
  • 3 displays. Every app, including Claude, is used in macOS full-screen mode, so the Claude window is completely hidden while another app is in front.
  • Code tab local session, connected to Remote Control (default)

Notification settings

  • Code tab: Task complete notifications = Banners, Permission request / Question = Banners, Draw attention = On, Notification sound = System
  • macOS System Settings > Notifications > Claude: allowed, alert style Persistent
  • No Focus / Do Not Disturb active

What does not seem to matter

  • Time between switching away from Claude and the turn finishing (misses at ~10 s and ~70 s, hits at ~23 s and ~100 s)
  • Interrupting with Esc and rewinding/editing the message before resending (one such turn notified, another did not)
  • Sending an extra message mid-turn (both outcomes observed)
  • Turn length / whether tools were used (both outcomes observed)
  • Restarting (still intermittent afterwards)

What Should Happen?

Every turn that finishes while Claude is in the background should post a notification.

Error Messages/Logs

# ~/Library/Logs/Claude/main.log - logged for every turn, both the ones that notified and the ones that did not:
[info] [Stop hook] Query completed for session local_...
[info] [CCD CycleHealth] healthy cycle for local_... (93s, hadFirstResponse=true)

# ~/Library/Logs/Claude/swift.log - the only notification-related line, once per launch:
[Notifications] ... [info] Authorization granted: true

So the app does detect that the turn finished. Neither main.log nor swift.log records individual notification emissions, so I can't tell whether the missing notifications were never emitted or were dropped by macOS.

Steps to Reproduce

  1. Use every app, including Claude Desktop, in macOS full-screen mode.
  2. In the Code tab, send a message to a local session and switch to another full-screen app.
  3. Wait for the turn to finish.
  4. Repeat several times: a notification appears for some turns but not for others.

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.281 (bundled with Claude Desktop 2.9939.2)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Other

Additional Information

  • This is the Claude Desktop app (Code tab), not a terminal.
  • Tried: restarting (no change); turning Claude's notification permission off and on again in System Settings (too early to tell; the first turn afterwards did notify).
  • Possibly related: #50480, #87100, #73370 (those describe notifications never firing; here they fire only intermittently).

View original on GitHub ↗

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