claude-code - 💡(How to fix) Fix [BUG] PushNotification reports success but no Windows desktop toast appears (mobile push works; Action Center stays empty)

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

Error Messages/Logs

Code Example

[Windows.UI.Notifications.ToastNotificationManager,Windows.UI.Notifications,ContentType=WindowsRuntime] | Out-Null
   $x = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)
   $texts = $x.GetElementsByTagName("text")
   $texts.Item(0).AppendChild($x.CreateTextNode("Direct Toast")) | Out-Null
   $texts.Item(1).AppendChild($x.CreateTextNode("Bypasses Claude Code")) | Out-Null
   [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("Microsoft.Windows.Explorer").Show([Windows.UI.Notifications.ToastNotification]::new($x))
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet (#42041 is about the standalone claude.ai desktop chat app, not the CLI's PushNotification tool; #49756 was about PushNotification returning "Remote Control inactive" — different code path)
  • This is a single bug report
  • I am using the latest version of Claude Code (2.1.143)

What's Wrong?

Invoking the Claude Code CLI's PushNotification tool returns the success string:

Terminal notification sent. Mobile push requested.

The mobile push leg delivers correctly to my phone via Remote Control. But the desktop leg silently no-ops:

  • No visible toast on desktop
  • No entry in Windows Action Center (Win+N) for the notification
  • No notification sound

The success string suggests the desktop notification was delivered; it never reaches the Windows notification subsystem.

What Should Happen?

When PushNotification returns the "Terminal notification sent" string, a real Windows toast should appear on the desktop (visible pop-up, Action Center entry, default notification sound), the same way Chrome / Outlook / Teams notifications do.

Steps to Reproduce

  1. From a Claude Code CLI session on Windows, invoke PushNotification (e.g. via a skill or by asking Claude to ping you).
  2. Observe tool result: Terminal notification sent. Mobile push requested.
  3. Phone receives the push via Remote Control — works.
  4. Check Windows desktop — no toast.
  5. Open Action Center (Win+N) — no entry from Claude Code.
  6. No notification sound plays.

Diagnostic Steps Already Run (isolation)

The entry point was a "no notification sound" observation while running /avi-ping. Investigation expanded:

  1. Audio system OK(New-Object Media.SoundPlayer "$env:windir\Media\Windows Notify System Generic.wav").PlaySync() plays the Windows default notification sound correctly. So the sound absence is not an audio config issue.

  2. Windows notification subsystem OK — other apps (e.g. Google Chrome) deliver toasts to Action Center normally on this machine, with sound, no DND interference.

  3. DND / Focus Assist OFF.

  4. Direct WinRT toast call works. Running this PS 5.1 snippet produces a fully functional Windows toast (visible + Action Center entry + sound):

    [Windows.UI.Notifications.ToastNotificationManager,Windows.UI.Notifications,ContentType=WindowsRuntime] | Out-Null
    $x = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)
    $texts = $x.GetElementsByTagName("text")
    $texts.Item(0).AppendChild($x.CreateTextNode("Direct Toast")) | Out-Null
    $texts.Item(1).AppendChild($x.CreateTextNode("Bypasses Claude Code")) | Out-Null
    [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("Microsoft.Windows.Explorer").Show([Windows.UI.Notifications.ToastNotification]::new($x))

    So Windows accepts toasts when called with a registered AppUserModelID.

  5. Relevant Claude Code settings:

    • agentPushNotifEnabled: true
    • inputNeededNotifEnabled: false
    • remoteControlAtStartup: true
  6. Flag-interaction matrix (empirical):

    • agentPushNotifEnabled: false → tool returns "Push not sent — mobile push is disabled in /config" (gates both desktop and mobile).
    • agentPushNotifEnabled: true and terminal focused (inline call) → "Not sent — terminal has focus. Terminal + mobile suppressed."
    • agentPushNotifEnabled: true and terminal defocused (via ScheduleWakeup) → "Terminal notification sent. Mobile push requested." — mobile push delivered; desktop toast still silently missing.
  7. Windows Settings → System → Notifications: "Allow notifications" + "Play sounds with notifications" both ON globally. No per-app entry exists for the toast emitter (suggesting the desktop toast is never actually registering an AppUserModelID with the OS).

Error Messages/Logs

No errors. The tool returns the success string. The failure is silent — the desktop toast simply does not appear despite the tool reporting delivery.

Claude Model

N/A (tool delivery is independent of model).

Is this a regression?

Unknown.

Claude Code Version

2.1.143

Platform

Claude Code CLI

Operating System

Windows 11 Pro 25H2 (10.0.26220)

Terminal/Shell

Windows Terminal with PowerShell 7

Additional Information

Distinct from related issues:

  • #42041 — about the standalone claude.ai desktop chat app, not the CLI PushNotification tool.
  • #49756 — about PushNotification returning "Remote Control inactive" in non-RC sessions. In our case RC is active and the tool returns a success string, but desktop delivery still fails.

Mobile push works (Remote Control plumbing is healthy). The narrow break is on the desktop-toast delivery leg specifically.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING