Environment
- ChatGPT/Codex desktop app: 26.825.5331.0 x64
- Also reproduced on: 26.825.4187.0
- Platform: Windows x64
- Pets tested:
- Official built-in pet: Codey
- Custom pet: Remiel (configured width: 224 px)
Description
The floating pet becomes click-through and cannot be clicked or dragged. Pointer input is delivered to the desktop or application underneath the pet.
The issue affects both the official built-in Codey pet and the custom Remiel pet. Switching pets does not resolve it, so it does not appear to be caused by custom pet artwork or packaging.
The overlay can also display layout artifacts. In the attached screenshots, the controls are clipped and a visible purple rectangular boundary appears beside/below the built-in pet.
Steps to reproduce
- Wake the floating pet.
- Select the official built-in Codey pet.
- Move the pointer over the mascot and press-drag.
- Observe that the click is handled by the desktop or application underneath instead of starting a drag.
- Switch to the custom Remiel pet and repeat.
- Observe the same click-through behavior.
Expected behavior
The mascot hit region should receive pointer input, and both built-in and custom pets should remain draggable.
Actual behavior
Pointer input passes through the pet overlay to the underlying desktop or application. The pet cannot be dragged.
Diagnostics
The pet overlay retained the Windows WS_EX_TRANSPARENT extended style:
- Broken state:
ExStyle 0x2800A8
- Temporarily working state:
ExStyle 0x280088
- In a 15-second diagnostic run, 150/150 samples remained transparent while the cursor was inside the overlay.
Clearing only WS_EX_TRANSPARENT temporarily restored dragging. The application later enabled the flag again, and dragging stopped again.
Suspected cause
This appears to be a mismatch between the avatar overlay's internal pointer-interactivity state and the actual Windows extended window style.
The input-shape path appears to mark mousePassthroughMode as disabled after setInputShape() succeeds. If WS_EX_TRANSPARENT remains enabled at the Windows level, later calls can skip setIgnoreMouseEvents(false) because the internal state already says mouse passthrough is disabled.
It may be necessary for applyInputShape() to call setIgnoreMouseEvents(false) unconditionally before applying the input shape, or to verify the actual Windows style before returning.
Troubleshooting already attempted
- Fully restarted the desktop app.
- Reproduced across app versions 26.825.4187.0 and 26.825.5331.0.
- Switched between the official built-in Codey pet and the custom Remiel pet.
- Verified that clearing only
WS_EX_TRANSPARENT temporarily restores dragging.
Attachments
CodexPetBug_01_Custom_Remiel_ClickThrough.png
CodexPetBug_02_BuiltIn_Codey_ClickThrough.png

Environment
Description
The floating pet becomes click-through and cannot be clicked or dragged. Pointer input is delivered to the desktop or application underneath the pet.
The issue affects both the official built-in Codey pet and the custom Remiel pet. Switching pets does not resolve it, so it does not appear to be caused by custom pet artwork or packaging.
The overlay can also display layout artifacts. In the attached screenshots, the controls are clipped and a visible purple rectangular boundary appears beside/below the built-in pet.
Steps to reproduce
Expected behavior
The mascot hit region should receive pointer input, and both built-in and custom pets should remain draggable.
Actual behavior
Pointer input passes through the pet overlay to the underlying desktop or application. The pet cannot be dragged.
Diagnostics
The pet overlay retained the Windows
WS_EX_TRANSPARENTextended style:ExStyle 0x2800A8ExStyle 0x280088Clearing only
WS_EX_TRANSPARENTtemporarily restored dragging. The application later enabled the flag again, and dragging stopped again.Suspected cause
This appears to be a mismatch between the avatar overlay's internal pointer-interactivity state and the actual Windows extended window style.
The input-shape path appears to mark
mousePassthroughModeasdisabledaftersetInputShape()succeeds. IfWS_EX_TRANSPARENTremains enabled at the Windows level, later calls can skipsetIgnoreMouseEvents(false)because the internal state already says mouse passthrough is disabled.It may be necessary for
applyInputShape()to callsetIgnoreMouseEvents(false)unconditionally before applying the input shape, or to verify the actual Windows style before returning.Troubleshooting already attempted
WS_EX_TRANSPARENTtemporarily restores dragging.Attachments
CodexPetBug_01_Custom_Remiel_ClickThrough.pngCodexPetBug_02_BuiltIn_Codey_ClickThrough.png