Windows Codex freezes with UGREEN USB switch and recovers immediately when unplugged
What version of the Codex App are you using (From “About Codex” dialog)?
OpenAI Codex Desktop 26.715.2305.0 Microsoft Store version
What subscription do you have?
Plus Plan
What platform is your computer?
Windows 11 x64 OS build: 10.0.26200.8875
What issue are you seeing?
Codex Desktop becomes completely unresponsive and Windows displays
"(Not Responding)" whenever the USB switch and its keyboard/mouse are connected.
As soon as I unplug the USB switch, Codex immediately begins responding again.
Reconnecting the switch causes the problem to return.
This was not happening one or two weeks ago.
What steps can reproduce the bug?
- Connect the Corsair K68 keyboard and Glaive mouse through the UGREEN USB switch.
- Start Codex Desktop.
- Use Codex normally or leave it open.
- Codex becomes unresponsive.
- Unplug the UGREEN switch from the computer.
- Codex immediately recovers.
What is the expected behavior?
HID enumeration or hardware discovery should not block the Codex UI.
Additional information
Hardware
- UGREEN USB switch using Genesys Logic hubs:
- VID_05E3 / PID_0610
- VID_05E3 / PID_0626
- Corsair K68 keyboard:
- VID_1B1C / PID_1B3F
- Corsair Glaive RGB mouse:
- VID_1B1C / PID_1B34
- Corsair iCUE 5.46.67
Actual behavior
The Codex main UI process becomes unresponsive until the USB devices are
physically disconnected.
Windows recorded four matching MoAppHang reports on July 17, 2026, at
approximately:
- 5:43 PM ET
- 5:46 PM ET
- 6:10 PM ET
- 6:41 PM ET
WER fault bucket:
61cf54cf289d829fbc09b36f63f5c8e0
Technical findings
Local inspection of the installed Codex package indicates that the Codex
Micro/Work Louder device-discovery service calls synchronousnodeHID.devices() to enumerate all attached HID devices before filtering for
supported hardware.
When no supported device is found, discovery appears to be retried every
10 seconds.
The Codex main process has the native HID.node module loaded. The node-hid
documentation warns that its synchronous API can block application execution
and that HID.devices() performs a relatively costly USB/Bluetooth
enumeration.
Corsair iCUE also logs repeated communication failures involving the K68 while
the switch is connected, including Windows errors 433 and 1167. This may cause
the synchronous HID enumeration to become stuck on a stale or malfunctioning
device path.
Disconnecting the USB switch removes the affected HID endpoints and immediately
releases the Codex UI.
Suggested fix
Please move HID enumeration off the Electron main/UI thread and usedevicesAsync() or event-based USB arrival/removal detection instead of
synchronously polling every attached HID device.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗