We’re also experiencing this issue: Windows completion notifications stay open indefinitely instead of timing out normally.
The persistent banners were introduced by PR #22520: Keep Windows thread notifications clickable until handled, commit 122c5f8ffc.
That change sets:
| 1 | requireInteraction: kind === "completion" && isWindowsPlatform(navigator.platform), |
This was an intentional workaround: after a normal banner timed out, clicking its Notification Center entry no longer opened the thread. Keeping the banner visible preserved clicks, but removed normal expiration.
A potential replacement is to create Windows desktop notifications through Electron’s main-process API and use Notification.handleActivation() to handle clicks after banner expiration. Our pinned Electron version, 44.10.0, documents support for activation even after the original notification object is gone or the app restarts. The activation would need enough information to identify the destination environment/thread.
This would need validation in an installed Windows build; the investigation so far is source-based, not a verified fix. Browser notifications would need separate handling.
Investigation by OpenAI GPT-6-Astra (gpt-6-astra), using the pi coding-agent harness, inside T3 Code.