OpenHands / OpenHands/OpenHands
Desktop notifications when the agent finishes or needs input
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 88.5k
- Forks
- 11.6k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 189
Description
Problem
When a conversation reaches a state that needs the user -- finished, or awaiting
input -- while the browser tab is in the background, the only signal is a sound.
useAgentNotification plays that sound but never uses the Notification API, so
nothing surfaces above other windows. A user working in another app misses the
handoff and the agent sits idle.
Proposal
An opt-in desktop notification alongside the existing sound, on the same
attention-worthy agent states:
- Off by default. Permission is requested only when the user enables the
setting, never on page load. - The toggle stays off and disabled when the browser has denied permission,
with a message explaining it is unavailable. - The existing sound behaviour is unchanged; this is additive, not a
replacement.
Context
This was originally proposed and implemented in
OpenHands/agent-canvas#1661, which @neubig closed asking for it to be
reopened in this repository.
Opening here so the work has an issue in this repo to link against.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating and reading the useAgentNotification hook, then trace the existing sound-triggering states and the settings UI. Implement the opt-in Notification API behavior described in the issue while preserving sound behavior, and verify that permission denial disables the toggle and that notifications appear for finished or input-needed states when the tab is in the background.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100