Repository navigation
Windows ARM64 app crash-loops on launch — ChatGPT.exe exports no napi_* symbols, serialport addon dies with delay-load 0xC06D007F #33381
Description
Summary
The Codex desktop app on Windows ARM64 crash-loops: the window appears, runs for ~10–15 seconds, then the whole app exits. No error dialog, no Windows Application Error event — but Crashpad writes a minidump on every launch. Reinstalling (including wiping all LocalCache app data) does not help; a fresh install crashes on first launch.
Symptoms match #27574, but I was able to root-cause it from the minidump on my machine.
Environment
- Device: Surface, Windows 11 on ARM64 (Snapdragon / Qualcomm Adreno GPU), OS build 10.0.26200
- App:
OpenAI.CodexMSIX from Microsoft Store, version 26.707.9981.0, arm64 (OpenAI.Codex_26.707.9981.0_arm64__2p2nqsd0c76g0) - Crashing process: Electron main process (
ptype=browserin the Crashpad annotations)
Root cause (from minidump analysis)
Exception code is 0xC06D007F — the VC++ delay-load helper's "procedure not found" exception, raised from KERNELBASE!RaiseException.
Parsing the DelayLoadInfo structure pointed to by the exception parameter:
- Failing (importing) module:
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\prebuilds\win32-arm64\node.napi.node - Delay-loaded DLL name:
node.exe - Missing procedure:
napi_create_function hmodCur(module the delay-load resolved to):ChatGPT.exe— i.e. the node-gyp delay-load hook correctly redirectednode.exeto the host executable.
So the redirect works, but the host exe doesn't have the symbol. Reading the PE export table of the ARM64 ChatGPT.exe confirms it: the export directory contains only 2 named exports, and zero napi_* / node_api_* symbols. A healthy Electron executable exports the full Node-API surface. The ARM64 build appears to have been linked without the Node export list.
Any NAPI prebuilt that loads in the main process will therefore kill the app; on my machine the trigger is the serialport addon loaded by @worklouder/device-kit-oai roughly 10–15 seconds after startup.
Why it looks like a sudden regression
The app ran fine for ~9 hours overnight (July 14→15), then began crash-looping on every launch the morning of July 15 with no local changes, no app update (same version before/after), and it still crashes after a complete uninstall + data wipe + fresh Store install. That strongly suggests the device-kit/serialport load is gated by a server-side (Statsig) feature flag that was recently enabled — which would mean every Windows ARM64 user is affected as of that flag flip.
If that's right, there are two fixes:
- Short term: turn the flag off for
win32/arm64(or skip loading@worklouder/device-kit-oaiwhen the host exe lacks NAPI exports). - Proper fix: link the ARM64
ChatGPT.exewith the Node-API export list like the x64 build.
Repro
- Windows 11 ARM64 machine.
- Install Codex app from the Microsoft Store (26.707.9981.0).
- Launch. Window appears, app exits ~10–15 s later.
- A new
.dmpappears in%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Roaming\Codex\web\Codex\Crashpad\reports\with exception0xC06D007F.
Happy to share a minidump privately if useful.
Possibly related
- **Codex Windows App crashes after launch** #27574 (same disappear-after-launch symptom on x64 — may or may not be the same cause)
- Unrelated but observed in logs: the updater polls a "primary runtime manifest" that 404s every 30 s for this build (
primary_runtime_update_poll_failed ... 404 Not Found).
Activity
github-actions commentedon Jul 15, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
causer commentedon Jul 15, 2026
Independent confirmation from another Windows 11 ARM64 system (Surface Laptop 7) running Codex Desktop 26.707.9981.0 arm64.
I parsed a Crashpad minidump and got the same delay-load failure:
0xC06D007Fnode.exenapi_create_function@serialport/bindings-cpp/prebuilds/win32-arm64/node.napi.node@worklouder/device-kit-oai -> @worklouder/wl-device-kit -> serialportI also traced the packaged renderer/main-process code. The Codex Micro bridge is gated by the numeric Statsig gate
3207467860. When enabled, the bridge callscodexMicro.getState()on mount; the main-process service then lazily requires@worklouder/device-kit-oai, which loads the failing native addon. No Codex Micro / Work Louder device was connected or explicitly enabled.Timeline from the app logs:
Additional isolation:
This makes the server-side gate explanation substantially stronger and rules out local profile corruption or Defender interference on this machine.
Suggested immediate mitigation: disable gate
3207467860forwin32/arm64, or avoid initializing Codex Micro unless the integration is explicitly enabled and the native addon can load safely. I can provide the minidump privately if needed.TibbleForkDave commentedon Jul 15, 2026
Independent confirmation from a third Windows 11 ARM64 machine (Snapdragon, 12 cores, OS build 10.0.26200) — Codex Desktop 26.707.9981.0 arm64 from the Microsoft Store, same crash loop starting the morning of July 15.
Minidump analysis matches the OP exactly:
0xC06D007Fraised fromKERNELBASE.dll(delay-load helper)DelayLoadInfo:szDll=node.exe,szProcName=napi_create_function,dwLastError= 127 (ERROR_PROC_NOT_FOUND)hmodCur= base ofChatGPT.exe(so the node.exe→host-exe redirect worked; the export is simply missing)app.asar.unpacked\node_modules\@worklouder\device-kit-oai\...\@serialport\bindings-cpp\prebuilds\win32-arm64\node.napi.nodentdllloader frames +KERNELBASE+node.napi.node, i.e. death during N-API module registrationAdditional data points:
rendererWindowVisible=truein the main-process log), then the log stops cold ~9–17 s after process start and the Crashpad dump is written <1 s later. No graceful-shutdown lines.primary_runtime_update_poll_failed ... 404 Not Foundnoise in the logs as the OP.Happy to provide the 44 MB minidump privately if useful.
adamhep-ai commentedon Jul 15, 2026
Independent confirmation on another Windows 11 ARM64 machine.
Environment:
10.0.26200, ARM64, 12 logical processorsOpenAI.Codex_26.707.9981.0_arm64__2p2nqsd0c76g026.707.722210.144.2Reproduction:
ChatGPT.exeprocess tree disappears at ~7 seconds.44,594,842bytes).I independently decoded the minidump's exception stream and
DelayLoadInfoand got the same result:0xC06D007FKERNELBASE.dll+0x1233c4@serialport/bindings-cpp/prebuilds/win32-arm64/node.napi.node@worklouder/device-kit-oai -> @worklouder/wl-device-kit -> serialportnode.exenapi_create_functiondwLastError:127hmodCur: base address of packagedChatGPT.exeThe desktop log reaches a rendered/ready main window and initializes the in-app browser backend, then ends abruptly. Recoverable WSL-not-installed and SSH-authentication warnings are present but do not own the native exception.
The dump is available privately if an OpenAI maintainer provides a safe upload route; I am not attaching it publicly because it may contain process memory. This corroborates that the issue is deterministic in the shipped ARM64 package / enabled Codex Micro path, rather than corrupted user state.
davidz91800 commentedon Jul 15, 2026
I can reproduce this issue on a Snapdragon X Elite Windows ARM64 machine.
Environment:
Observed behavior:
ready-to-show.I also see the primary-runtime manifest 404 and the absence of a
windows-aarch64entry in the primary-runtime configuration, but these may only be correlated symptoms rather than the direct cause.Reinstalling, repairing, resetting, disabling WSL execution, switching sandbox modes, and clearing Codex state did not resolve the issue.
ewrogers commentedon Jul 15, 2026
Second on this, just started having this happen this morning. I thought it was related to Windows 11 updates or my Parallels VM so I started digging. Ironically enough, I use this VM for reverse engineering and dump analysis... how fitting.
I tried reset/re-install, GPU-cache removal, and disabling GPU acceleration. None of that resolved it. After finding the crash dumps I put them through WinDbg and traced it to this serial port plugin that seems to have a missing binding (
ERROR_PROC_NOT_FOUND).Setting
computer_use = falseandapps = falseinconfig.tomldoes not fix it either.The real fix is to update the arm64 package for the
serialport, or allowing it to be gracefully disabled instead of this hard crash.blockpilgrim commentedon Jul 15, 2026
Independent confirmation from a Surface Laptop 7 (Windows 11 Enterprise ARM64 build 26200) using Store package
OpenAI.Codex_26.707.9981.0_arm64__2p2nqsd0c76g0.The app had remained healthy in one long session from July 14 until a restart on July 15. Every launch after the restart exited within roughly 6-8 seconds. A Crashpad dump decodes to the same failure reported here:
0xC06D007Fnode.exenapi_create_function127@serialport/bindings-cpp/prebuilds/win32-arm64/node.napi.node@worklouder/device-kit-oai -> @worklouder/wl-device-kit -> serialportThe restart happened immediately after adding an Azure DevOps MCP server, which initially made MCP look suspicious. I verified the MCP configuration separately with Codex CLI (
codex mcp listandcodex mcp get azure-devops --json), confirmed that the server transport/config parses and launches, and observed that the desktop app-server completes its handshake before the native browser-process crash. This is useful isolation: MCP was only the reason for restarting the desktop app, not the failing subsystem.I also ran the current Microsoft-signed installer from OpenAI's official download link. It retained the same Store package version and reproduced the crash with a new 44 MB dump at 18:15:21 local time. I have not attached the dump publicly because it may contain process memory and local identifiers.
This independently confirms that repair/reinstall and MCP removal are not viable mitigations; disabling the Codex Micro gate for
win32/arm64remains the safest immediate rollback.Z2ZATL commentedon Jul 15, 2026
▎ Corroborating the Statsig theory with hard timeline evidence from my machine (Surface, Snapdragon X Plus, 26.707.9981.0): the app ran fine on this exact version for ~24h (installed Jul 14 15:38 UTC), including an 11-hour session on Jul 15. That session died mid-use at Jul 15 15:51:13 UTC — the same second a [statsig-refresh-diagnostics] interval refresh completed successfully (refresh started trigger=interval → values updated hasValues=true → refresh finished success=true at 15:51:12.645–15:51:13.039, then the log ends abruptly). Every launch since crashes seconds after ready provider mounted reads the cached values; survives OS reboot.
▎ Decoded the Crashpad DelayLoadInfo from my dump: szDll=node.exe, proc=napi_create_function, dwLastError=127, hmodCur = ChatGPT.exe base — whose export table contains only GetHandleVerifier and IsSandboxedProcess (zero napi_*). Faulting addon: ...@worklouder\device-kit-oai...@serialport\bindings-cpp\prebuilds\win32-arm64\node.napi.node, ptype=browser.
▎ This looks revertible server-side without shipping a new build — please consider rolling back the flag for win32-arm64 desktop clients.
FFFalexgo commentedon Jul 15, 2026
Independent confirmation from another Windows 11 ARM64 system.
Environment
10.0.26200, ARM64X1E80100(12 cores)31.0.133.1OpenAI.Codex_26.707.9981.0_arm64__2p2nqsd0c76g026.707.72221150.0.7871.1150.144.2Reproduction and dump evidence
ready-to-show, the renderer mounts, and the app-server initialization handshake succeeds.44,427,264bytes.DelayLoadInfoproduced:0xC06D007Fnode.exenapi_create_functiondwLastError:127(ERROR_PROC_NOT_FOUND)hmodCur: base address of the packagedChatGPT.exe@serialport/bindings-cpp/prebuilds/win32-arm64/node.napi.node@worklouder/device-kit-oai -> @worklouder/wl-device-kit -> serialportThis independently matches the OP's native ARM64/N-API failure. I can provide the Crashpad dump privately if an OpenAI maintainer supplies an appropriate upload channel; I am not attaching it publicly because it may contain process memory.
nxt-ryan commentedon Jul 15, 2026
Independent reproduction with the same root cause.
Environment
UX3407QA10.0.26200OpenAI.Codex_26.707.9981.0_arm64__2p2nqsd0c76g0ChatGPT.exeproduct/file version:150.0.7871.1150.144.4works normally on the same machineTimeline
Windows AppX deployment history shows the previous Codex build
26.707.9564.0was working earlier, then build26.707.9981.0was registered for this user at 2026-07-15 14:32:53 local time. The first new-build launch log began at 14:32:55 and ended at 14:32:59. Subsequent launches terminated the same way after roughly 4–7 seconds.This provides an update-correlated reproduction rather than a settings, account, or hardware change.
Minidump confirmation
A 44,351,488-byte Crashpad minidump was produced. Parsing its exception stream and
DelayLoadInfoconfirms:0xC06D007Fnode.exenapi_create_functionChatGPT.exe@serialport/bindings-cpp/prebuilds/win32-arm64/node.napi.nodeunder@worklouder/device-kit-oaiThe desktop log ends abruptly immediately after normal initialization; unrelated WSL-not-installed and stale remote-connection warnings occur earlier but do not explain the native exception.
Controls
I have retained the minidump but am not attaching it publicly because it may contain process memory. It can be provided through a private OpenAI upload channel if needed.
NoSilver78 commentedon Jul 15, 2026
Independent confirmation — and one data point the thread doesn't have yet: full local-state bisection proving the trigger is server-side.
Environment: Windows 11 Pro ARM64 build 26100, Parallels VM on Apple Silicon, Store package
OpenAI.Codex_26.707.9981.0_arm64__2p2nqsd0c76g0(installed Jul 14), desktop release26.707.72221. Codex CLI 0.144.2 works fine on the same machine.Same minidump signature as OP:
0xC06D007Ffrom the delay-load helper, missing procedurenapi_create_function, crashing stack walks through@serialport/bindings-cpp/prebuilds/win32-arm64/node.napi.node(via@worklouder/device-kit-oai). App boots the full UI, dies ~11–15 s after launch, every launch.Bisection — crash persists through ALL of these (each verified individually):
Reset-AppxPackage(AppContainer verifiably deleted + recreated — AppModel events 41/39)%USERPROFILE%\.codex(renamed away entirely; not even logged in)Since a completely fresh container + fresh user profile still crash on unchanged signed binaries, the trigger cannot be local state — consistent with the Statsig rollout theory. Our onset: app ran ~18 h on this version, first crash Jul 15 16:20:21Z (leftover atomic-write temp file pins the second), matching the timeline in the comment above.
Happy to share minidumps privately.
62 remaining items
nxt-ryan commentedon Jul 16, 2026
After restarting my pc, the app is working again.
jin-ai95 commentedon Jul 16, 2026
Confirming this issue with a completed structural minidump analysis from an affected machine (Windows 11 Home 25H2 build 26200.8875, app 26.707.12708.0 — also reproduced on 26.707.9981.0). Root cause fully measured; posting in case it saves the team triage time.
DelayLoadInfo extracted from two independent WER minidumps (custom parser, exception stream →
ExceptionInformation[0]):0xc06d007fatKernelBase.dll+0xc1ada(RaiseException)szDllnode.exeszProcNamenapi_module_registerhmodCurnode.exe→GetModuleHandle(NULL))dwLastErrorFaulting module:
app.asar.unpacked\node_modules\@worklouder\device-kit-oai\...\@serialport\bindings-cpp\build\Release\serialport.node(229,376 bytes). Its delay-import descriptor (RVA 0x346c4, read from the pristine on-disk PE) imports 57 symbols (56napi_*+ 4uv_*) fromnode.exe.Export-table diff on disk:
ChatGPT.exeexports 2 symbols total — 0 of the 57 required.chrome.dllin the same app directory exports 3,174 names including all 57. So the Node-API surface ships in the app but lives in the wrong module for node-gyp'swin_delay_load_hook.Crash-thread stack:
KernelBase!RaiseException ← serialport.node delay-load thunk ← setupapi.dll ← ntdll!LdrpCallInitRoutine ← chrome.dll— i.e., duringserialport.nodeDllMain inside LoadLibrary, triggered when the[desktop-notifications]service loads the Work Louder device kit ([desktop-notifications][unhandled-rejection] Error: A dynamic link library (DLL) initialization routine failed.logged at dump time, to the second).Notes that may help:
Possible fixes from the data: export napi forwarders from ChatGPT.exe; resolve the delay-load against chrome.dll for bundled native modules; guard the device-kit init on win32; or run device detection in the bundled real
node.exe(runtimes\cua_node\...\bin\node.exe, v24.14.0, which exports napi).Happy to share the two minidumps + full crash-timeline CSV (WER Report Id
2c083f55-34e9-4256-aabd-261892c1dd54).pincode-dev commentedon Jul 16, 2026
I've just launched the ChatGPT/Codex desktop app normally. The currently installed version is OpenAI.Codex 26.707.12708.0 ARM64 (OpenAI.Codex_26.707.12708.0_arm64__2p2nqsd0c76g0). It has remained running and responsive for at least five minutes without crashing, with no NODE_OPTIONS workaround applied. The crash was previously consistently reproducible on 26.707.9981.0 ARM64.
It looks like the issue has been resolved, although I cannot confirm whether this was due to the app update or a server-side change.
Can anyone else confirm?
jin-ai95 commentedon Jul 16, 2026
Confirming on x64 (26.707.12708.0, Windows 11 build 26200.8875) — and I can help disambiguate app-update vs server-side:
So on x64 this looks server-side (flag change), not the app update. Which would mean the underlying packaging issue (host exe exporting 0/57 required napi symbols — details in my comment above) is likely still present and could re-trigger if the flag flips back.
nathanestone-alt commentedon Jul 16, 2026
Confirming the same failure on another Windows 11 ARM64 machine:
10.0.26200OpenAI.Codex_26.707.9981.0_arm64__2p2nqsd0c76g026.707.72221c4fb2aba2d54e3428156b9a041794ef5ce25c2850c70cb575b40754ada062116The minidump has the same decoded signature:
0xC06D007F/ERROR_PROC_NOT_FOUNDnode.exenapi_create_function@worklouder,@serialport, andnode.napi.nodeare present in the dumpThe desktop log reaches a visible renderer and
browser_use_iab_backend_startup_ready, then stops abruptly. Uninstall/reinstall, app-state reset, deleting and cleanly re-provisioning thecua_noderuntime, and restoring a clean Codex config did not change the crash.I am not attaching the minidump publicly because it may contain process memory, but can provide it privately if a maintainer supplies a safe upload route.
pjperez commentedon Jul 16, 2026
Confirming this still reproduces on the latest build
26.707.12708.0(ARM64) — updating from9981did not fix it, and an app Reset doesn't help either (the fault is in the signed program binaries, not user cache).Decoded from my Crashpad minidump (Windows 11 ARM64, build 26200):
0xC06D007F(VC++ delay-load),dwLastError = 127 ERROR_PROC_NOT_FOUNDnapi_create_functiondelay-loaded fromnode.exenode.exe→ChatGPT.exe(module base matcheshmodCurin theDelayLoadInfo), whose export table contains only 2 exports and no N-API symbolsnode.exeprocess) then the main process dies ~5s inSo the regression is still shipping in
12708. 👍431827701yx commentedon Jul 16, 2026
Follow-up from the same Windows x64 machine: the fault storm now appears to have stopped
This is a follow-up to my earlier x64 dump report in this issue. The machine remained on the same stable package; no Beta package was installed, no reinstall was performed, and no local configuration or workaround was applied.
Additional local evidence
ChatGPT.exe / 0xC06D007Freached 368.OpenAI.Codex_26.707.9981.0_x64__2p2nqsd0c76g0(file version150.0.7871.115).OpenAI.CodexBetais not installed.Current state
The stable app was launched again at approximately 21:55. A fresh live sample from 22:04:44 to 22:05:44 showed:
This aligns closely with the separate x64 report above where faults stopped abruptly at 10:57:59Z (18:57:59 local) without a local change. The roughly nine-minute difference is consistent with a gradual server-side feature-gate rollout/rollback.
Inference: the immediate crash storm appears mitigated by a server-side change, but the packaged native-addon incompatibility remains present in
26.707.9981.0 x64and could recur if the Codex Micro gate is re-enabled. Please keep the affected gate disabled for Windows x64/ARM64 and ship a package-level fix or graceful optional-import failure handling.No dumps or full logs are attached publicly. The two retained dumps remain available through an OpenAI-approved private channel.
Disclosure: this follow-up was prepared and posted through Codex at my explicit request.
Alovchin91 commentedon Jul 16, 2026
I can confirm that it works now on an ARM64 machine too.
fleps commentedon Jul 16, 2026
Can confirm that without doing anything, the app launched normally this morning (Version 26.707.72221).
Immediately had an internal "update" button, which updated it to vesion Version 26.707.91948 and remains working.
f7x57yqmvf-sketch commentedon Jul 16, 2026
Follow-up to my earlier HP OmniBook 3 / Snapdragon X Elite ARM64 reproduction:
As of July 16, 2026, the app is working again on this same machine. It now launches normally and remains open instead of exiting within approximately two seconds. I did not need to apply the proposed preload workaround.
I have not independently confirmed a package-level fix or rechecked the installed package version, so this observation is consistent with the server-side mitigation / feature-gate rollback others are reporting rather than proof that the shipped ARM64 binary has been corrected.
Fastkore commentedon Jul 16, 2026
Additional confirmation from Surface Pro 11 (Snapdragon X Elite, Windows 11 ARM64): the issue is still reproducible with Microsoft Store build
26.707.9981.0.Current behavior:
ChatGPT.exeprocess exits with0xC06D007F.0x00000000.Current status on this machine:
%USERPROFILE%\.codexwaswadawada0211 commentedon Jul 16, 2026
Update:
My Surface Pro (Windows 11 ARM64) is now working again.
Current version:
OpenAI.Codex 26.707.12708.0 ARM64
I did not apply the preload workaround.
The app now launches normally and has remained stable during testing.
It is unclear whether this was resolved by the app update, a server-side change, or a combination of both.
canenoneko commentedon Jul 17, 2026
The same problem has reappeared in the newly updated version 26.715.2305.0. The environment is Windows 11 x64.
在刚刚更新的版本26.715.2305.0中又出现了相同的问题,环境Windows11 x64
shijie-oai commentedon Jul 17, 2026
Really appreciate all the feedback. #33375 (comment) we have addressed the issue.