PushNotification tool reports success but no banner is delivered (macOS desktop nor iOS push)
Summary
PushNotification tool calls return Terminal notification sent. Mobile push requested. but no notification is actually delivered — neither as a macOS banner on the laptop nor as an iOS push on the paired phone. The desktop banner path has never worked in this session; the mobile path was tested ~10 times after running /remote-control and pairing succeeded.
Remote Control message-routing does work (typing in the Claude mobile app lands in the CLI session). Only the push-notification leg is broken.
Environment
- Claude Code: 2.1.143
- macOS: 26.5 (build 25F71)
- Terminal: Apple Terminal.app 470.2
- Install: standalone .app dragged to /Applications; running via
claudeCLI in Terminal - Mobile: iOS Claude app, signed in with same account, push permission ON, no Focus mode active
Reproduction
claudein Terminal.app/remote-control— pairing reportsConnecting…then succeeds (phone shows the session)- Trigger any
PushNotificationtool call from the model, withstatus: "proactive"and a short message - Tool returns one of:
Terminal notification sent. Mobile push requested.(when terminal is unfocused)Not sent — terminal has focus. Terminal + mobile suppressed.(when terminal is focused — expected)
Expected
When the tool returns Terminal notification sent. Mobile push requested., a macOS banner appears on the laptop and an APNS push appears on the paired phone (banner / lockscreen / Notification Center).
Actual
- macOS laptop: no banner appears, ever. "Claude Code" does NOT appear in System Settings → Notifications app list (so the OS-level permission prompt was never triggered, suggesting the notification request never actually reaches NSUserNotificationCenter / UNUserNotificationCenter).
- iOS phone: no banner, no lock-screen, no Notification Center entry. Confirmed by locking the phone before the test (so foreground-suppression isn't the cause), confirming notification permissions are ON for the Claude app, confirming no Focus mode is active, and confirming Show Previews is set to Always.
Sequence run (8 successful tool returns, 0 user-visible notifications)
Test pings #3 through #10 were fired. Pings that reported Mobile push requested (i.e. after /remote-control pairing): #7, #8, #9, #10. None delivered to either device. Test #9 was fired with phone locked to rule out foreground-suppression.
Likely impact
This blocks any workflow that uses cron jobs (CronCreate) or /loop to surface findings while the user is away from the terminal — the whole point of PushNotification is to alert the user when they're not looking, and that path is silently failing.
Suggested triage
- Confirm whether
PushNotificationon macOS 26.x is going through the legacyNSUserNotificationCenterAPI (deprecated on 26.0+) vsUNUserNotificationCenter. The deprecation may be silently no-op'ing the call without surfacing an error. - For mobile, log whether the APNS push request actually reaches Anthropic's push relay after Remote Control pairs — there may be a session→device-token binding gap.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗