Windows ARM64 UI freezes caused by synchronous Codex Micro HID discovery

Open
#34,292 1 comment 0 reactions 0 assignees View on GitHub

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

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

app bug performance windows-os
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
  1. Launch the official Microsoft Store build.
  2. Open or switch between Codex threads and type/send messages.
  3. The UI repeatedly stalls or becomes unresponsive. Input may appear only after a delay.
  4. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.