Windows desktop app crashes after update to 26.707.9981.0 due to serialport.node / napi_module_register

Resolved 💬 3 comments Opened Jul 15, 2026 by executionreverted Closed Jul 15, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Summary

The Codex Windows desktop app repeatedly crashes shortly after launch after updating from 26.707.3748.0 to 26.707.9981.0.

Crash dump analysis points to an incompatible native serialport.node dependency bundled under @worklouder/device-kit-oai.

Environment

  • OS: Windows 10 Education x64
  • Windows version: 10.0.19045
  • Codex package: OpenAI.Codex_26.707.9981.0_x64__2p2nqsd0c76g0
  • Bundled Codex app-server: 0.144.2
  • Installation source: Microsoft Store
  • Previous working version: 26.707.3748.0

The package manifest requires Windows 10.0.19041.0, so the installed OS satisfies the stated minimum version.

Observed behavior

The app opens, runs for several seconds, and then closes. Windows Event Viewer records repeated crashes with:

Exception code: 0xc06d007f
Faulting application: bad_module_info
Package: OpenAI.Codex_26.707.9981.0_x64__2p2nqsd0c76g0

The Codex desktop log also reports:

[desktop-notifications][unhandled-rejection] Error: error: 1114
...\node_modules\@worklouder\device-kit-oai\
node_modules\@worklouder\wl-device-kit\
node_modules\serialport\
node_modules\@serialport\bindings-cpp\
build\Release\serialport.node

WinDbg reports:
Failure.Bucket:
APPLICATION_FAULT_c06d007f_serialport.node!Unknown

IMAGE_NAME:
serialport.node

STACK_TEXT:
KernelBase!RaiseException
serialport+0x26430

The bundled native module delay-imports node.exe and tries to resolve:
napi_module_register
That procedure cannot be resolved in the current application runtime, resulting in 0xc06d007f (ERROR_PROC_NOT_FOUND).
Module path:
app\resources\app.asar.unpacked\
node_modules\@worklouder\device-kit-oai\
node_modules\@worklouder\wl-device-kit\
node_modules\serialport\
node_modules\@serialport\bindings-cpp\
build\Release\serialport.node
Regression information
The previous installed version, 26.707.3748.0, did not produce this native-module crash. The crashes began after restarting into 26.707.9981.0.
This appears to be a packaging/runtime compatibility regression involving the bundled Work Louder device-kit serialport native addon.
Expected behavior
The desktop app should launch and remain running. Failure to initialize optional device/serial-port functionality should not terminate the entire application.
Reproduction
Install or update the Microsoft Store Codex app to 26.707.9981.0.
Launch the app on Windows 10 x64.
Wait approximately 5–10 seconds.
The application exits and Windows records exception 0xc06d007f.

View original on GitHub ↗

3 Comments

github-actions[bot] contributor · 1 month ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #33375

Powered by Codex Action

executionreverted · 1 month ago

Duplicate

WeizhongWang9 · 1 month ago

Additional x64 confirmation from a separate machine, with a browser-panel trigger:

  • Package: OpenAI.Codex_26.707.9981.0_x64__2p2nqsd0c76g0
  • Symptom: clicking an assistant-provided web link so that Codex opens the right-hand browser panel triggers the failure/retry cycle.
  • Windows wrote 10 ChatGPT.exe*.dmp files in under one minute during reproduction.
  • CDB !analyze -v reports APPLICATION_FAULT_c06d007f_serialport.node!Unknown, with the stack KernelBase!RaiseException -> serialport+0x26430.
  • Decoding the delay-load state identifies node.exe!napi_module_register, hmodCur = ChatGPT.exe, and dwLastError = 0x7f (ERROR_PROC_NOT_FOUND).
  • The module path is the same @worklouder/device-kit-oai -> @worklouder/wl-device-kit -> serialport -> @serialport/bindings-cpp/build/Release/serialport.node chain reported above.
  • dumpbin /imports confirms this addon delay-loads node.exe; correctly packaged native addons in the same app, such as better_sqlite3.node and node-pty, import chrome.dll.
  • Setting both link preferences to external-browser does not stop the crashes, because the Codex Micro bridge is initialized independently of the link target.

A local crash dump is available for private transfer if a maintainer needs it; I have not attached it publicly because process dumps may contain user data.