anthropics / anthropics/claude-code
[FEATURE] Desktop: notify differently for "waiting on a permission prompt" and "task finished"
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
**What I do**
I run about 30 Claude Code sessions in parallel, every day, for work. Not a hobby setup.
**The problem**
The desktop app sends one OS notification, when a session finishes a task:
> "The desktop app sends an OS notification when a Code session finishes a task and you aren't currently viewing that session."
But a session stops for two different reasons, and they need different responses from me:
1. **It finished.** I should review the result. This can wait 10 minutes.
2. **It is waiting on a permission prompt or a question.** Nothing happens until I answer. Every minute here is lost time.
With one or two sessions the difference does not matter. With 30, case 2 is where almost all of my wasted time goes. A session that is blocked looks exactly like a session that is done, so I open the wrong one first.
**What I would like**
Two notification kinds, and let me turn them on separately:
- `waiting` - fired on `Notification` (permission prompt or question)
- `finished` - fired on `Stop` (turn ended, output unreviewed)
The CLI already emits both hook events, so the information exists. It is only the notification layer that merges them.
If a single setting is preferred, then "notify me only when a session is waiting on me" would already solve most of it.
**Why I think this is worth it**
The hooks are what make this distinguishable. Tools that read the terminal output cannot tell "blocked" from "still thinking" - both look like output stopped. The desktop app has the hooks, so it is one of the few places where the distinction is cheap.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the desktop app's notification layer and the CLI hook events named in the issue: Notification and Stop. Trace how both events currently produce notifications, then make waiting and finished notifications independently selectable, or implement the proposed waiting-only setting; done means blocked sessions and completed sessions are distinguishable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100