[BUG] Mobile push notifications are never revoked after the session is answered on another device
Summary
Mobile push notifications sent by Claude Code (Remote Control) are never revoked. When a session asks for input and I answer it from the desktop, the notification that was pushed to my phone stays in the iOS notification center indefinitely. It has to be dismissed by hand.
There appears to be no dismissal/sync path back to the mobile client once a push has been delivered — the notification reflects a state ("this session needs your input") that is already stale, and nothing clears it.
Steps to reproduce
- Start a background session with Remote Control:
```
claude --remote-control my-session
remoteControlAtStartup: true`)
(in my case: detached in tmux,
- Have the session reach a point where it needs user input (permission prompt / question / idle prompt).
- A push notification arrives on the iOS Claude app.
- Answer the session on the desktop (terminal or desktop app) — the session continues and no longer needs input.
- Look at the phone.
Expected
Once the session no longer needs input (answered on any device), the corresponding push notification is withdrawn / collapsed on the other devices — the way most multi-device apps revoke a notification after it is acted upon elsewhere.
Actual
The notification remains in the iOS notification center. Tapping it opens a session that is already past that point. Over a working day with several background sessions this accumulates into a pile of stale notifications that all have to be swiped away manually.
Environment
- Claude Code: 2.1.207
- macOS: 26.5.2 (25F84), arm64
- iOS Claude app: current App Store build
- Relevant settings (
~/.claude/settings.json):
``json``
{
"remoteControlAtStartup": true,
"inputNeededNotifEnabled": true,
"agentPushNotifEnabled": true
}
Notes
- This is distinct from the existing reports about push notifications not being delivered (#60208, #60383, #50949) — in my case delivery works fine; the problem is that delivered notifications are never revoked.
- Side observation:
inputNeededNotifEnabledis accepted insettings.jsonand clearly has an effect, but it is not listed in the settings reference at https://code.claude.com/docs/en/settings.md — onlyagentPushNotifEnabledis documented. If it is a supported key it would be good to document it; if it is deprecated,/configshould be the only surface.