anthropics / anthropics/claude-code
[BUG] Delivered mobile push notifications are never revoked once the session has moved on (re: #76900)
- Ngôn ngữ chính
- Python
- Star
- 145k
- Fork
- 23.1k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
## Summary
Push notifications delivered to the iOS Claude app are never withdrawn. When a session pushes "Claude has a question" and the question is then answered on another device — or the session simply moves past that point — the notification stays in the iOS notification center indefinitely and has to be swiped away by hand.
This is a re-file of **#76900**, which had a confirmed repro and carried `bug` / `has repro` / `platform:ios`, but was closed `not planned` by the stale bot on 2026-09-03 with no human response. The bot's closing message invites a new issue if the problem is still relevant. It is: I hit it daily on 2.1.231.
## Steps to reproduce
1. Run one or more sessions with mobile push enabled (`inputNeededNotifEnabled: true`, `agentPushNotifEnabled: true`).
2. Let a session reach a point where it needs input. A push arrives on the iPhone.
3. Answer it on the desktop — the session continues and no longer needs anything.
4. Look at the phone's lock screen.
## Expected
The notification is withdrawn on the other devices once the session no longer needs input, the way multi-device messaging apps revoke a notification after it is acted on elsewhere. APNs supports both mechanisms: `apns-collapse-id` to coalesce per session, and a Notification Service Extension to remove already-delivered notifications.
## Actual
Every notification ever pushed is still on the lock screen. Tapping one opens a session that is long past that question. Running several sessions a day, the lock screen becomes a wall of questions that were all resolved hours ago — and because none of them are actionable, the ones that *are* stop being noticed. That is the real cost: the notification channel loses its signal.
Two consequences worth separating:
- **No revocation** — an answered question's notification is never removed.
- **No coalescing** — a single session that asks several times leaves one notification per question, rather than one live notification per session.
## Environment
- Claude Code 2.1.231
- macOS 26.6.2 (25G83), arm64
- iOS Claude app, current App Store build
- `~/.claude/settings.json`: `inputNeededNotifEnabled: true`, `agentPushNotifEnabled: true`
## Note
Distinct from the "push not delivered" reports (#60208, #50949, #30592) — delivery works fine here; revocation is what is missing.
Minor, and a change since #76900 was filed: **neither** `inputNeededNotifEnabled` nor `agentPushNotifEnabled` appears in the settings reference at https://code.claude.com/docs/en/settings.md any more. #76900 noted only the first as undocumented; both are now absent, while both still have an effect.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
The issue names no repository files or tests; start by reproducing the flow with inputNeededNotifEnabled and agentPushNotifEnabled in ~/.claude/settings.json, then locate the push-notification path for input-needed events. Done means resolved notifications are withdrawn or coalesced across devices, and the two settings are checked against docs/en/settings.md.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- ios, python
- Lĩnh vực
- backend, mobile-dev
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100