Windows ARM64 UI freezes caused by synchronous Codex Micro HID discovery
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- electron
- Domain
- desktop, operating-systems
Research direction
Start by locating the unique discovery.findWLDevices([a.Project2077]) call in resources/app.asar and tracing its Electron main-thread execution. Confirm the HID discovery path on Windows ARM64 and define completion as eliminating synchronous UI freezes while preserving Codex Micro behavior or providing a safe disabled-by-default fallback.
Written by the indexing model from the issue text.
Description
Summary
Codex Desktop on Windows ARM64 repeatedly became extremely slow or unresponsive: multi-second UI freezes, delayed typing, slow thread switching, white/unresponsive views, and occasional system-wide input stutter.
A clean reinstall, full AppX profile reset, cache cleanup, plugin-runtime rebuild, a completely isolated profile/CODEX_HOME, and disabling GPU acceleration did not help.
Disabling only the Codex Micro HID discovery call fixed the problem immediately and completely.
Environment
- Codex/ChatGPT Windows app: 26.715.4045.0 (ARM64)
- Chromium/Electron runtime reported by Crashpad: 150.0.7871.124
- Windows 11 Home, build 26200
- Device: Microsoft Surface Laptop 13-inch, Snapdragon/ARM64
- RAM: 16 GB
- GPU: Qualcomm Adreno X1-45, driver 31.0.105.0
Reproduction
- Launch the official Microsoft Store build.
- Open or switch between Codex threads and type/send messages.
- The UI repeatedly stalls or becomes unresponsive. Input may appear only after a delay.
- The issue persists with a fresh AppX profile, fresh Store reinstall, empty Codex home, no plugins, and software rendering.
HID evidence
Windows Device Manager shows numerous Surface HID, touch, button, sensor, and VHF devices. The System event log repeatedly records Kernel-PnP event 219 / WudfRd load failures (status 0xC0000365) for HID/touch/sensor/display-related devices.
The installed resources/app.asar contains exactly one occurrence of:
this.discovery.findWLDevices([a.Project2077])
Original app.asar SHA-256:
ED0C1C045A322EF1ABB58BC56B910AF3A5CAAA19B36D76C2D122A8A890D778A7
Confirmed workaround
I created a writable side-by-side copy of the app, preserved a hash-verified backup of app.asar, and replaced only the unique expression above with [] padded with ASCII spaces to the exact original byte length.
- Original and patched file length: 201,157,631 bytes
- Patch offset: 2,441,341
- No Store package files were modified
- After launching the side-by-side copy, all freezing and lag stopped immediately
Expected behavior
Codex Micro discovery should not synchronously enumerate HID/serial devices on the Electron main thread. It should be opt-in, asynchronous/off-thread, bounded by a short timeout, and disabled when no Codex Micro is configured.
Please disable this feature gate by default on Windows or move device discovery off the UI/main thread. A supported setting to disable Codex Micro discovery would also provide a safe fallback.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- Avg merge
- 1m
- Merged PRs (30d)
- 1k
Contributor guide
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.
More from openai/codex
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug CLI windows-os
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
macOS sandbox blocks hw.optional.arm64 sysctl, causing Flutter to misdetect Apple Silicon as x64 Openbug CLI sandbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug CLI TUI
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
CLI config enhancement skills
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
A-linter
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
oxc-project/oxc#26863 ·