Skip to content

[BUG] PushNotification reports success but no Windows desktop toast appears (mobile push works; Action Center stays empty) #60220

Description

@Avimarzan

Preflight Checklist

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:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghas reproHas detailed reproduction stepsplatform:windowsIssue specifically occurs on WindowsstaleIssue is inactive

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions