Computer Use unavailable on Windows: Application Protected files fail to copy from WindowsApps
What version of the Codex App are you using (From “About Codex” dialog)?
26.715.9868.0
What subscription do you have?
plus
What platform is your computer?
Windows 11 x64
What issue are you seeing?
Codex Computer Use fails on Windows when relocating Application Protected runtime files
Summary
Codex Desktop for Windows cannot initialize the bundled Computer Use plugin because the app fails while relocating the bundled cua_node runtime from the MSIX/WindowsApps installation directory into the per-user runtime cache.
The source files are marked by Windows as Encrypted with compatibility level Application Protected. Both Codex's Node-based copy operation and standard Windows copy operations fail when copying these files to an ordinary user-writable destination.
As a result, the Node REPL MCP backend is not exposed, the Computer Use helper/transport paths remain unavailable, and list_apps cannot be called.
Environment
- OS: Windows 11 x64
- Codex Desktop before reinstall:
26.715.8383.0 - Codex Desktop after reinstall:
26.715.9868.0 - Computer Use plugin:
26.715.61943 - Install type: Microsoft Store / MSIX
- Install path shape:
C:\Program Files\WindowsApps\OpenAI.Codex_<version>_x64__<publisher>\app- Runtime cache:
%LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node
No VS Code Codex extension was present, so this report concerns the Codex Desktop app only.
Reproduction
- Install and start Codex Desktop from Microsoft Store.
- Enable or invoke the bundled Computer Use plugin.
- Ask Computer Use to list controllable applications.
- Observe that
list_appsis unavailable because the Node REPL backend is not loaded.
Expected behavior
Codex should relocate or otherwise expose the bundled cua_node runtime, initialize the Computer Use runtime, and make list_apps available.
Actual behavior
The runtime relocation fails while copying an encrypted source file such as bin\CHANGELOG.md into a generated staging directory:
bundled_executable_relocation_failed
errorCode=UNKNOWN
errorMessage="Bundled executable relocation failed during copy_directory"
executableName=node.exe
operation=copy_directory
originalError={
"errno": -4094,
"code": "UNKNOWN",
"syscall": "copyfile",
"path": "C:\\Program Files\\WindowsApps\\OpenAI.Codex_<version>_x64__<publisher>\\app\\resources\\cua_node\\bin\\CHANGELOG.md",
"dest": "%LOCALAPPDATA%\\OpenAI\\Codex\\runtimes\\cua_node\\.staging-<hash>\\bin\\CHANGELOG.md"
}
sourceKind=windowsapps
This is immediately followed by:
[computer-use-native-pipe] computer-use native pipe helper paths unavailable
missingHelperPath=true
missingTransportModulePath=true
platform=win32
The bundled plugin marketplace shows the same failure pattern when copying .app.json from WindowsApps into %USERPROFILE%\.codex\.tmp:
plugin_marketplace_folder_write_failed
errorMessage="UNKNOWN: unknown error, copyfile '<WindowsApps>\\plugins\\sites\\.app.json' -> '%USERPROFILE%\\.codex\\.tmp\\bundled-marketplaces\\...\\plugins\\sites\\.app.json'"
Encryption evidence
cipher /c reports the failing source files as encrypted and Application Protected:
Attributes : Archive, Encrypted
E CHANGELOG.md
Compatibility Level:
Application Protected
E .app.json
Compatibility Level:
Application Protected
The destination runtime and plugin cache directories are ordinary unencrypted directories.
Reading and hashing the source files succeeds, showing that the files exist and are readable. Copying them fails:
Copy-Item : The specified file could not be encrypted.
An EFS raw copy also fails before copying any files:
robocopy ... /EFSRAW
ERROR 6000 (0x00001770) Accessing Destination Directory
The specified file could not be encrypted.
Files : 0 copied
Using xcopy /G successfully creates decrypted copies. A full cua_node copy produced 3,558 destination files, and SHA-256 hashes for manifest.json, node.exe, node_repl.exe, codex-computer-use.exe, and helper_transport.js matched their packaged sources.
However, after restarting Codex, the app still performs its own copy into a new .staging-<hash> directory. That internal copy fails again, and Codex reports missing Computer Use helper paths despite the complete runtime already being present in the cache root.
Troubleshooting already performed
- Confirmed the Computer Use plugin and
computer-use-client.mjsentry point exist. - Confirmed Chrome/Computer Use failure is not caused by a missing installation package.
- Confirmed current sandbox setup runs complete with
errors=[]. - No current
os error 740failure. - No current native pipe
os error 2failure. - No current
SetNamedSecurityInfoW failed: 5failure. - Used Windows Settings Repair and restarted Codex: no change.
- Uninstalled and reinstalled Codex from Microsoft Store to the system drive.
- Reinstall updated Codex from
26.715.8383.0to26.715.9868.0: no change. - Confirmed the post-reinstall failure has the same protected-source
copyfilesignature. - Copied the complete runtime with
xcopy /Gand verified file counts and hashes: Codex still retries and fails its own relocation step.
Likely root cause
Codex's Windows bundled-runtime relocation path uses a copy implementation that does not allow an encrypted/Application Protected source to be copied to an unencrypted destination. It returns Node/Win32 error UNKNOWN (-4094) rather than falling back to a decrypted-destination copy equivalent to Windows xcopy /G or COPY_FILE_ALLOW_DECRYPTED_DESTINATION.
The runtime resolver treats relocation failure as fatal and returns no helper paths, even when a complete verified runtime already exists at the cache destination.
Suggested product fixes
- When the Windows source has Application Protected encryption, copy using a method that explicitly allows a decrypted destination.
- Surface the underlying Windows error (
ERROR_ENCRYPTION_FAILED/ error 6000, if applicable) instead of onlyUNKNOWN (-4094). - Validate and reuse an already complete runtime cache before attempting relocation again.
- Apply the same protected-file handling to bundled plugin marketplace synchronization.
- Add a Windows regression test using an encrypted/Application Protected source tree and an unencrypted destination.
Safety note
No registry, WindowsApps source file, ACL, application manifest, or Windows encryption policy was modified during troubleshooting. The manually copied runtime cache remains in place for inspection.
What steps can reproduce the bug?
Codex Computer Use fails on Windows when relocating Application Protected runtime files
Summary
Codex Desktop for Windows cannot initialize the bundled Computer Use plugin because the app fails while relocating the bundled cua_node runtime from the MSIX/WindowsApps installation directory into the per-user runtime cache.
The source files are marked by Windows as Encrypted with compatibility level Application Protected. Both Codex's Node-based copy operation and standard Windows copy operations fail when copying these files to an ordinary user-writable destination.
As a result, the Node REPL MCP backend is not exposed, the Computer Use helper/transport paths remain unavailable, and list_apps cannot be called.
Environment
- OS: Windows 11 x64
- Codex Desktop before reinstall:
26.715.8383.0 - Codex Desktop after reinstall:
26.715.9868.0 - Computer Use plugin:
26.715.61943 - Install type: Microsoft Store / MSIX
- Install path shape:
C:\Program Files\WindowsApps\OpenAI.Codex_<version>_x64__<publisher>\app- Runtime cache:
%LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node
No VS Code Codex extension was present, so this report concerns the Codex Desktop app only.
Reproduction
- Install and start Codex Desktop from Microsoft Store.
- Enable or invoke the bundled Computer Use plugin.
- Ask Computer Use to list controllable applications.
- Observe that
list_appsis unavailable because the Node REPL backend is not loaded.
Expected behavior
Codex should relocate or otherwise expose the bundled cua_node runtime, initialize the Computer Use runtime, and make list_apps available.
Actual behavior
The runtime relocation fails while copying an encrypted source file such as bin\CHANGELOG.md into a generated staging directory:
bundled_executable_relocation_failed
errorCode=UNKNOWN
errorMessage="Bundled executable relocation failed during copy_directory"
executableName=node.exe
operation=copy_directory
originalError={
"errno": -4094,
"code": "UNKNOWN",
"syscall": "copyfile",
"path": "C:\\Program Files\\WindowsApps\\OpenAI.Codex_<version>_x64__<publisher>\\app\\resources\\cua_node\\bin\\CHANGELOG.md",
"dest": "%LOCALAPPDATA%\\OpenAI\\Codex\\runtimes\\cua_node\\.staging-<hash>\\bin\\CHANGELOG.md"
}
sourceKind=windowsapps
This is immediately followed by:
[computer-use-native-pipe] computer-use native pipe helper paths unavailable
missingHelperPath=true
missingTransportModulePath=true
platform=win32
The bundled plugin marketplace shows the same failure pattern when copying .app.json from WindowsApps into %USERPROFILE%\.codex\.tmp:
plugin_marketplace_folder_write_failed
errorMessage="UNKNOWN: unknown error, copyfile '<WindowsApps>\\plugins\\sites\\.app.json' -> '%USERPROFILE%\\.codex\\.tmp\\bundled-marketplaces\\...\\plugins\\sites\\.app.json'"
Encryption evidence
cipher /c reports the failing source files as encrypted and Application Protected:
Attributes : Archive, Encrypted
E CHANGELOG.md
Compatibility Level:
Application Protected
E .app.json
Compatibility Level:
Application Protected
The destination runtime and plugin cache directories are ordinary unencrypted directories.
Reading and hashing the source files succeeds, showing that the files exist and are readable. Copying them fails:
Copy-Item : The specified file could not be encrypted.
An EFS raw copy also fails before copying any files:
robocopy ... /EFSRAW
ERROR 6000 (0x00001770) Accessing Destination Directory
The specified file could not be encrypted.
Files : 0 copied
Using xcopy /G successfully creates decrypted copies. A full cua_node copy produced 3,558 destination files, and SHA-256 hashes for manifest.json, node.exe, node_repl.exe, codex-computer-use.exe, and helper_transport.js matched their packaged sources.
However, after restarting Codex, the app still performs its own copy into a new .staging-<hash> directory. That internal copy fails again, and Codex reports missing Computer Use helper paths despite the complete runtime already being present in the cache root.
Troubleshooting already performed
- Confirmed the Computer Use plugin and
computer-use-client.mjsentry point exist. - Confirmed Chrome/Computer Use failure is not caused by a missing installation package.
- Confirmed current sandbox setup runs complete with
errors=[]. - No current
os error 740failure. - No current native pipe
os error 2failure. - No current
SetNamedSecurityInfoW failed: 5failure. - Used Windows Settings Repair and restarted Codex: no change.
- Uninstalled and reinstalled Codex from Microsoft Store to the system drive.
- Reinstall updated Codex from
26.715.8383.0to26.715.9868.0: no change. - Confirmed the post-reinstall failure has the same protected-source
copyfilesignature. - Copied the complete runtime with
xcopy /Gand verified file counts and hashes: Codex still retries and fails its own relocation step.
Likely root cause
Codex's Windows bundled-runtime relocation path uses a copy implementation that does not allow an encrypted/Application Protected source to be copied to an unencrypted destination. It returns Node/Win32 error UNKNOWN (-4094) rather than falling back to a decrypted-destination copy equivalent to Windows xcopy /G or COPY_FILE_ALLOW_DECRYPTED_DESTINATION.
The runtime resolver treats relocation failure as fatal and returns no helper paths, even when a complete verified runtime already exists at the cache destination.
Suggested product fixes
- When the Windows source has Application Protected encryption, copy using a method that explicitly allows a decrypted destination.
- Surface the underlying Windows error (
ERROR_ENCRYPTION_FAILED/ error 6000, if applicable) instead of onlyUNKNOWN (-4094). - Validate and reuse an already complete runtime cache before attempting relocation again.
- Apply the same protected-file handling to bundled plugin marketplace synchronization.
- Add a Windows regression test using an encrypted/Application Protected source tree and an unencrypted destination.
Safety note
No registry, WindowsApps source file, ACL, application manifest, or Windows encryption policy was modified during troubleshooting. The manually copied runtime cache remains in place for inspection.
What is the expected behavior?
_No response_
Additional information
_No response_
8 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Reproduced on another Windows 11 Microsoft Store installation and this also causes noticeably slow app startup.
Environment:
Observed startup timing from the desktop log:
The relocation failures repeatedly include rg.exe, codex.exe, and the cua_node runtime:
Independent reproduction (redacted paths): the package source exists, but copying
...\\WindowsApps\\OpenAI.Codex_...\\app\\resources\\rg.exeto an ordinary user-writable directory fails with:The destination cache directories are writable, so this does not appear to be ordinary user-cache permissions. No active reconnect/network failure was present in this startup. This extends the impact beyond Computer Use: the repeated relocation attempts materially delay first usable UI.
I reproduced this issue and found a working workaround on my machine that may help narrow the root cause.
Environment
10.0.26200.8875CoreCountrySpecificOpenAI.Codex_26.803.10989.0_x64__2p2nqsd0c76g022606.1401.13.01.29.280.0Before the workaround:
The bundled marketplace copy did contain
computer-use, but the CUA runtime relocation did not complete and no Computer Use backend process was present.Important AppxVolume finding
The surprising part was that
Get-AppxPackage OpenAI.Codexreported anInstallLocationshaped like:but the package was actually registered on my non-system D: AppxVolume.
The AppX deployment log also explicitly showed
target volume D:.My volumes were:
A control machine with the same Windows build, same Store/App Installer versions, and a working Computer Use installation had Codex on the system AppxVolume and its packaged
node_repl.exewas reported asU(unencrypted).Workaround that restored Computer Use
I fully exited Codex and moved the already-installed package to the system AppxVolume using the built-in Appx cmdlet:
Then I verified:
After reopening Codex, Computer Use immediately appeared in the Plugins UI and could be installed. I then confirmed that it actually worked by using Computer Use to open Notepad and type text.
So on this machine, moving Codex from a non-system AppxVolume to the system AppxVolume was sufficient to restore Computer Use, even though the ordinary
InstallLocationstring had previously looked like a C:\WindowsApps path.This may be useful as both a workaround and a diagnostic clue:
InstallLocationalone did not reveal the actual AppxVolume association.Get-AppxPackage -Volume ...and the AppX deployment log did.I did not modify WindowsApps ACLs, ownership, EFS state, package files, registry values, or
app.asar.I published the AppxVolume diagnostic/workaround from my reproduced case as a small public repository:
https://github.com/Yajuju207/codex-windows-appxvolume-fix
It includes:
diagnose.ps1: read-only checks for the actual AppxVolume association, packagedcua_nodestate, runtime file count, helper files, and recent AppX deployment evidence.fix-appxvolume.ps1: guardedMove-AppxPackageworkaround; dry-run by default and only performs the move with-Apply.docs/case-study.md: sanitized before/after evidence from the failing non-system AppxVolume state and the working system AppxVolume state.The repository deliberately does not modify WindowsApps ACLs/ownership, decrypt package files, patch
app.asar, or redistribute OpenAI binaries.For my machine, moving Codex from the non-system AppxVolume to the system AppxVolume was sufficient for Computer Use to reappear in Plugins and work successfully.
I maintain WinBridge Recovery, an independent Windows recovery tool for Codex Desktop: https://github.com/zemeng5208/winbridge-recovery
This issue is very close to one of the local failure classes the project is designed to diagnose. In v3.1.1, WinBridge already resolves the currently installed Store package, builds a user-writable verified resource mirror, uses byte-stream
FileStreamcopying with SHA-256 verification, and checks the bundled marketplace / plugin cache /latest/ CUA runtime / Native Host layers before deciding whether to repair anything.The Application Protected / EFS path is still explicitly Experimental in the project; I do not consider it a guaranteed fix yet. The newer AppxVolume finding in this thread is particularly useful:
InstallLocationalone is not sufficient, so I am treating the actual AppxVolume association and protection state as an important diagnostic signal rather than assuming everyC:\Program Files\WindowsApps\...path is equivalent.For machines where the failure is local relocation/cache/marketplace drift, WinBridge may be useful for diagnosis and safe staged recovery/rollback from the official package already installed on that machine. It does not modify WindowsApps ACLs/ownership, decrypt or patch the Store package, and it will not fix an upstream Computer Use runtime bug once the local runtime has been provisioned correctly.
Additional physical-volume A/B evidence from an affected Windows 11 machine:
Get-AppxPackagereported the usualC:\Program Files\WindowsApps\OpenAI.Codex_<version>...install path, but that package directory was a junction whose physical target wasD:\WindowsApps\OpenAI.Codex_<version>....C:under%LOCALAPPDATA%\OpenAI\Codexand%USERPROFILE%\.codex.errno=-4094,code=UNKNOWN,syscall=copyfile,sourceKind=windowsappssignature described here. At the time, the Desktop package was on a26.803build while local bundled plugin/runtime material still contained26.623artifacts.C:directory rather than a junction toD:. The next Store update (26.810.6296.0 -> 26.810.7004.0) stayed physically onC:and the original cross-volume-4094signature was no longer the active failure.This does not prove that all D-drive installations fail, or that cross-volume placement is required for the protected-file bug. It does confirm that a non-system AppX volume was a trigger in at least one reproducible environment and that returning the package to the system volume removed that trigger.
I documented the complete two-layer postmortem (protected-file relocation plus a separate persisted-marketplace conflict exposed by the next Store update) here:
https://gist.github.com/MickeyWzt/416bd69fa28b59c65aaec37aed9b34d1
Reproduced on a newer Windows build, with the same protected-file/runtime relocation pattern and a much larger impact on startup responsiveness.
Environment
26.818.3698.026.818.31338(released Aug 21, 2026)26200.9168AppxVolume / cross-volume correlation
My packaged Codex resources are physically being accessed from
D:\WindowsApps\OpenAI.Codex_..., while the per-user runtime destination is onC:under:That appears consistent with the non-system AppxVolume / cross-volume pattern reported above in this thread.
User-visible impact
On this build, the problem is not limited to Computer Use being unavailable. The entire ChatGPT desktop app repeatedly becomes Not Responding during startup and can take roughly 40 minutes to become usable. Restarting often re-enters the same behavior.
Windows Error Reporting logged:
WinDbg evidence
I captured a full user-mode dump while
ChatGPT.exewas actively hung.!analyze -hangreported:Relevant stack:
Inspecting the
NtCreateFileparameters identified the blocked target as:Procmon reproduction
Sysinternals Process Monitor independently captured the same operation:
The target was the same
.staging-...\bin\corepackpath. Multiple attempts showed the same ~20 second delay beforeACCESS DENIED.I then renamed the existing local
cua_nodedirectory and let the app rebuild it from scratch. The behavior reproduced cleanly:.staging-dd584937042db7da-<random>directory was created;bin\corepackappeared at0 KB;.staging-*attempt was created later with the same runtime ID and a different random suffix.Encryption / independent copy test
cipher /creports the bundled WindowsApps sourcecorepackas encrypted:I also tested an elevated manual copy using:
Unlike the workaround reported in the original issue,
/Gdoes not succeed on this machine. It stalls for roughly two minutes, exits without the normal1 File(s) copiedconfirmation, and no destinationcorepackis created.So on
26.818.3698.0, this still looks closely related to the protected/Application Protected runtime relocation issue, with a strong additional correlation to a non-systemD:AppxVolume and with the impact now extending to repeated full-app startup hangs.I have preserved the full WinDbg dump, Procmon
.PML, WER details, and sanitized screenshots if maintainers need additional diagnostics.---
Update: Confirmed mitigation and before/after results are documented here: https://github.com/openai/codex/issues/34764#issuecomment-5379844462
Confirmed mitigation / before-after result
Following the earlier findings in this thread, I moved only the
OpenAI.Codexpackage from the non-systemD:AppxVolume to the systemC:AppxVolume using Windows' built-inMove-AppxPackage.Before the move
OpenAI.Codexwas registered onD:\WindowsApps(IsSystemVolume=False).Not Responding, or showed the crash screen.CopyFileW/uv_fs_copyfile.ACCESS DENIEDfailures while copyingcua_node\...\bin\corepack..staging-dd584937042db7da-*runtime directories.Mitigation
The operation ultimately completed successfully.
OpenAI.Codex_26.818.4152.0is now registered on the system C: AppxVolume withStatus: Ok, and no Codex package remains registered on the D: AppxVolume.After the move
cua_noderuntime directory was successfully created instead of another failed.staging-*directory.bin\corepackwas successfully deployed with a non-zero size (334 bytes).This is strong before/after evidence that, on this machine, installation on the non-system AppxVolume was triggering the protected-file/runtime-copy failure, and moving the package to the system AppxVolume resolved it.
OpenAI feedback/session ID for telemetry correlation:
no-active-thread-01a02688-33dd-75d0-b392-ee91c8b003c6Current installed Codex package tested:
26.818.4152.0Windows 11 build:
26200.9168