claude-code - 💡(How to fix) Fix PushNotification tool returns "Remote Control inactive" but message is actually delivered (return value diverges from real state)

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…

Root Cause

The PushNotification tool's return value disagrees with the actual delivery state. The tool reports Mobile push not sent (Remote Control inactive), but the notification is in fact delivered to the iPhone Claude app. This is the opposite of #49756 (where the return value is also Remote Control inactive but no delivery occurs because Remote Control truly is off).

RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues — the closest match (#49756) is the inverse symptom (inactive return + no delivery), not this one (inactive return + delivery succeeds). Filing as distinct.
  • This is a single bug report
  • I am using the latest version of Claude Code (v2.1.150)

What's Wrong?

The PushNotification tool's return value disagrees with the actual delivery state. The tool reports Mobile push not sent (Remote Control inactive), but the notification is in fact delivered to the iPhone Claude app. This is the opposite of #49756 (where the return value is also Remote Control inactive but no delivery occurs because Remote Control truly is off).

This matters because an Operator-style agent that branches on the tool's return value (e.g. "if push failed, fall back to another channel") will draw the wrong conclusion and either suppress duplicate notifications it actually sent or fire a fallback path unnecessarily.

Environment:

  • Claude Code CLI: v2.1.150
  • Claude Code Desktop (Mac): v1.8555.0
  • OS: macOS Darwin 24.6.0
  • Mobile: official Claude iOS app, iOS 26.5, signed in with the same claude.ai Pro account
  • Remote Control: enabled (/config → "Enable Remote Control for all sessions" on)

Steps to Reproduce

Tested 2026-05-22 in a single live session, 3 back-to-back invocations:

#TimingTool return valueiPhone actual delivery
1Immediately after claude startMobile push not sent (Remote Control inactive)Delivered (banner observed on iPhone)
2~40 s later, user-active window still recentNot sent — user active (21s ago, threshold 60s). Terminal + mobile suppressed.Not delivered (expected, suppression working as documented)
3After sleep 70 (past the 60 s user-active threshold)Mobile push not sent (Remote Control inactive)Delivered (banner observed on iPhone)

The Desktop app's Remote Control panel showed active during cases 1 and 3 — the divergence is between the tool's return string and both (a) the Desktop UI's reported state and (b) the actual delivery outcome.

Expected Behavior

The tool's return value should be a reliable signal of delivery outcome. If the push was actually delivered, the return string should say so (not Remote Control inactive).

Additional Context

  • Same setup also exhibits the silent-payload symptom tracked in #61751 (banner-only on iPhone, no sound/vibration on iOS 26.5) — this is a separate concern, not part of this report.
  • Reproduced across 3 iPhones (12 mini / 13 / 17, all iOS 26.5, same Apple ID) for the silent-payload symptom; the return-value divergence reported here was observed on one device but with Remote Control panel state directly contradicting the tool's return on every call.

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