Mobile push notifications (Remote Control) never arrive despite all settings correctly enabled

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

Summary

Mobile push notifications (Remote Control) never arrive, despite every documented setting being correctly enabled on both the CLI/VS Code extension side and the Claude mobile app side, and despite ruling out every documented caveat.

Environment

  • Claude Code VS Code extension version: 2.1.273
  • Platform: Windows, running Claude Code inside WSL2, accessed via the VS Code extension (no standalone claude CLI installed/on PATH)
  • Mobile: Claude app on Android 14 (security patch 2025-02-01, build V82RD47A), signed in with the same account as Claude Code

Steps to reproduce

  1. Start a Claude Code session in the VS Code extension, with Remote Control connected (confirmed working: the session is actively viewable/controllable from the Claude mobile app).
  2. Confirm all relevant settings are on:
  • ~/.claude/settings.json contains "agentPushNotifEnabled": true, "inputNeededNotifEnabled": true, "remoteControlAtStartup": true.
  • Claude mobile app → Settings → 通知 (Notifications): "返信" (Reply) ON, "Codeの権限リクエスト" (Code permission requests) ON, "スケジュール済みタスク" ON, "コード更新" ON.
  • iOS/Android OS-level notification permission granted for the Claude app; no Focus mode active; app excluded from battery optimization (Android).
  1. Minimize/unfocus the VS Code window (focus another application).
  2. Background the Claude mobile app (return to home screen / lock the phone).
  3. Let Claude finish a turn (e.g., a response after a sleep 10).

Expected behavior

Per the docs (https://code.claude.com/docs/en/remote-control.md#mobile-push-notifications), a push notification should arrive on the phone when Claude finishes a turn ("Push when Claude decides") — this was tested and re-confirmed repeatedly.

Actual behavior

No push notification ever arrives on the phone. Not even in the phone's OS notification history/log — i.e., it appears nothing was ever attempted/delivered, rather than the notification being suppressed or delayed.

Local/PC-side notifications (via a custom Stop/Notification hook that triggers a Windows toast through PowerShell/BurntToast) fire reliably every time, confirming the Stop/Notification hook events themselves are firing correctly — the issue is isolated to the mobile push delivery path specifically.

Troubleshooting already done (all ruled out)

  • [x] Re-verified the actual persisted ~/.claude/settings.json file directly (not just the /config command's echoed confirmation) — all three keys (agentPushNotifEnabled, inputNeededNotifEnabled, remoteControlAtStartup) are true.
  • [x] /config never shows a "No mobile registered" warning.
  • [x] Confirmed in-app (not just OS-level) notification toggles are on, per the attached screenshot's settings.
  • [x] Confirmed OS-level notification permissions (iOS/Android) are granted, no Focus mode, no battery optimization restriction.
  • [x] Confirmed Claude Code skips push while the terminal is focused, per docs — tested specifically with VS Code minimized/unfocused. Still no push.
  • [x] Confirmed the mobile app itself was backgrounded (not foregrounded) during the test — foregrounding it would just update the UI directly rather than test push delivery.
  • [x] Restarted the mobile app after changing settings.
  • [x] Confirmed Remote Control connectivity itself works (the session was actively driven from the phone during this session), so this is not a general Remote Control connection failure — just push notifications specifically.
  • [x] Confirmed the custom Stop/Notification hooks (Windows toast) are unrelated/not interfering — they fire on a separate local path and continue to work every time.

Additional notes

Happy to provide claude doctor output or debug logs if pointed to a way to run them from this environment (no standalone claude CLI is installed/on PATH here; only the VS Code extension is used).

View original on GitHub ↗

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