[macOS][Pet] Notification controls trigger the parent bubble and open the main app

Open 💬 0 comments Opened Aug 17, 2026 by chang180

What version of the Codex App are you using?

ChatGPT/Codex Desktop 26.810.52044, build 6662.

The same behavior was also observed on 26.810.50856.

What subscription do you have?

ChatGPT Plus

What platform is your computer?

macOS 26.5.2 (25F84)
Apple Silicon / arm64
Darwin 25.5.0 arm64 arm

What issue are you seeing?

Controls inside the floating Codex Pet notification bubble do not behave independently from the notification body.

Clicking the notification's close (X) control opens or activates the main ChatGPT/Codex window instead of only dismissing the notification. The notification may therefore appear not to close.

The same click-routing problem can affect the completed-task checkmark and other nested controls: clicking the displayed control can trigger the outer notification action instead of, or in addition to, the intended control action.

Clicking the notification body itself should continue to open the associated task. The problem is that clicks on nested controls propagate to that parent action.

The issue was reproduced with a custom pet, but it does not appear to be caused by the pet manifest or spritesheet. The notification tray is implemented by the shared avatar overlay UI.

What steps can reproduce the bug?

  1. Launch ChatGPT/Codex Desktop on macOS.
  2. Enable and wake the floating Codex Pet.
  3. Complete a task so the Pet displays a completion notification.
  4. Click the notification's close (X) control.
  5. Observe that the main ChatGPT/Codex window opens or activates instead of the click only dismissing the notification.
  6. Trigger another completion notification.
  7. Click the green completed-task/checkmark control.
  8. Observe that the outer notification action may also run.

What is the expected behavior?

  • Clicking the notification body should open the associated task in the main window.
  • Clicking X should dismiss the notification without opening or activating the main window.
  • Clicking the completed-task checkmark should dismiss the completed notification without triggering its parent action.
  • Reply, stop, expand/collapse, approval, and other nested controls should perform only their own actions.

Additional information

Local inspection indicates an event-propagation problem in the shared avatar-overlay notification frame.

The waiting-request action buttons already stop click and pointer propagation. However, the close, completed-task dismiss, reply, stop, and expand/collapse handlers in the affected builds do not consistently stop propagation before invoking their own callbacks.

This allows the notification row's parent click handler to receive the same click and execute the open-main-window action.

No private task IDs, task titles, local paths, or custom-pet assets are included in this report.

View original on GitHub ↗