anthropics / anthropics/claude-code

[BUG] Delivered mobile push notifications are never revoked once the session has moved on (re: #76900)

Ouverte
#92,528 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug has repro platform:ios
Langage dominant
Python
Étoiles
145k
Forks
23.1k
Métriques de merge des PR
Métriques de PR en attente

Description

## 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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
ios, python
Domaine
backend, mobile-dev
Type d'issue
Bug
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.