Repository navigation
Windows Codex Desktop: Chrome integration installed but chrome-native-hosts-v2.json is never created; stale latest junction after update #42520
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.901.1978.0
What subscription do you have?
ChatGPT Plus
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 x64
What issue are you seeing?
The Codex Desktop Google Chrome integration reports "Installed", but the ChatGPT Chrome side panel cannot connect to the desktop app because the Codex app-server registration is missing.
Errors observed:
"Unable to start ChatGPT
Codex app-server manifest entry is missing required path resourcesPath"
After clean removal/reinstallation:
"Open or update the ChatGPT desktop app"
"The Chrome side panel could not connect to the ChatGPT desktop app"
Technical details:
"No compatible Codex app-server entry was found"
Investigation / reproducible findings:
- After a Codex update, the Chrome plugin cache contained the current version:
C:\Users\user.codex\plugins\cache\openai-bundled\chrome\26.901.20858
However, the "latest" NTFS junction was still pointing to a removed old version:
latest -> C:\Users\user.codex\plugins\cache\openai-bundled\chrome\26.818.41705
As a result, all paths through "latest" were broken, including:
- .codex-plugin\plugin.json
- scripts\browser-client.mjs
- scripts\browser-service.mjs
- extension-host\windows\x64\extension-host.exe
I manually repaired the junction:
latest -> 26.901.20858
All of those files then resolved correctly.
- Even after repairing the junction and fully restarting Codex Desktop, BOTH expected v2 app-server manifests remain missing:
C:\Users\user\AppData\Local\OpenAI\Codex\chrome-native-hosts-v2.json
C:\Users\user.codex\chrome-native-hosts-v2.json
Both return Exists=False.
- The normal Chrome Native Messaging registration IS installed.
The manifest exists at:
C:\Users\user\AppData\Local\OpenAI\extension\com.openai.codexextension.json
Its extension-host resolves to the current plugin cache:
C:\Users\user.codex\plugins\cache\openai-bundled\chrome\26.901.20858\extension-host\windows\x64\extension-host.exe
The executable exists.
Therefore the remaining failure appears specific to Codex app-server/v2 registration rather than basic Chrome Native Messaging.
- I inspected the shipped Codex Desktop app.asar.
The current production package contains explicit Windows implementation for "chrome-native-hosts-v2.json", schemaVersion 2 / appServerProtocolVersion 2.
The code explicitly targets BOTH Windows locations:
%LOCALAPPDATA%\OpenAI\Codex\chrome-native-hosts-v2.json
%USERPROFILE%.codex\chrome-native-hosts-v2.json
It constructs entries containing:
- appVersion
- cliVersion
- nativeHostVersion
- entryId
- installId
- extensionIds
- nativeHostNames
- browserClientPath
- browserServicePath
- codexCliPath
- codexHome
- extensionHostPath
- nodePath
- nodeModuleDirs
- nodeReplPath
- resourcesPath
- presence
- proxyHost / proxyPort
So the implementation exists in the shipped Windows app, but this synchronization/provisioning path appears not to execute successfully.
- Before the clean reinstall, stale chrome-native-hosts-v2.json files existed from version 26.818.41705 and referenced an AppX resourcesPath that had already been removed.
After removing the stale registration and reinstalling the integration, Codex successfully recreated the Native Messaging registration and reports Chrome integration as Installed, but it NEVER recreated either chrome-native-hosts-v2.json file.
- There may also be a separate Windows detection issue.
The Desktop app is running and has spawned:
C:\Users\user\AppData\Local\OpenAI\Codex\bin\994e8469124a0d31\codex.exe ... app-server ...
However, codex doctor --json reports the desktop application as "running: false" / "desktop application is not running" while those processes are visibly running.
Current versions / paths:
Codex Desktop AppX: 26.901.1978.0
Desktop bundled codex CLI:
codex-cli 0.153.0-alpha.5
Chrome plugin cache:
26.901.20858
Resources:
C:\Program Files\WindowsApps\OpenAI.Codex_26.901.1978.0_x64__2p2nqsd0c76g0\app\resources
Suspected regression:
There appear to be two related Windows update/reconciliation failures:
-
The Chrome plugin "latest" junction can remain pointed at a deleted plugin version after an update.
-
After reinstall/reconciliation, the Chrome Native Messaging host can be successfully installed while the required chrome-native-hosts-v2.json app-server registrations are never generated.
The Codex UI nevertheless reports the Chrome integration as Installed.
Expected:
An update/reinstall should reconcile the "latest" junction and generate valid current chrome-native-hosts-v2.json entries before reporting the Chrome integration as Installed.
A normal Windows user should not need to inspect production app.asar, repair NTFS junctions, registry/native messaging state, or app-server manifests after an automatic Codex update.
What steps can reproduce the bug?
-
Install/update Codex Desktop on Windows.
-
Install the Google Chrome integration from Codex Desktop.
Codex reports the Chrome integration as "Installed". -
Open the ChatGPT Chrome side panel.
-
The side panel fails to connect to Codex Desktop with:
"No compatible Codex app-server entry was found." -
Check the Chrome plugin cache:
%USERPROFILE%.codex\plugins\cache\openai-bundled\chromeThe current plugin version exists:
26.901.20858However, the "latest" junction may still point to the removed previous version:
26.818.41705 -
Repair "latest" so it points to the existing 26.901.20858 directory.
-
Fully restart Codex Desktop.
-
Check:
%LOCALAPPDATA%\OpenAI\Codex\chrome-native-hosts-v2.json
%USERPROFILE%.codex\chrome-native-hosts-v2.json -
Both files are still missing.
-
Meanwhile, the Chrome Native Messaging manifest and current extension-host.exe exist and Codex Desktop continues to report the Chrome integration as "Installed".
Result:
The Chrome integration is left in a partially installed state: Native Messaging is registered, but the required Codex app-server v2 registration is not provisioned.
What is the expected behavior?
After installing or updating the Chrome integration, Codex Desktop should:
- Point the Chrome plugin "latest" junction to the currently installed plugin version.
- Register the current Native Messaging host.
- Generate valid chrome-native-hosts-v2.json app-server registrations in both expected Windows locations.
- Verify that the app-server registration is usable before showing the Chrome integration as "Installed".
- Allow the ChatGPT Chrome side panel to connect to the running Codex Desktop app without manual filesystem or registry repair.
Additional information
This started after Codex updates and appears to be an update/reconciliation regression rather than a fresh-install configuration problem.
The most concrete abnormal state found was:
latest -> 26.818.41705 (directory no longer exists)
while the actually installed Chrome plugin was:
26.901.20858
Repairing that junction fixed the broken plugin paths, but did not trigger regeneration of chrome-native-hosts-v2.json.
I spent over an hour tracing this as an end user, including clean reinstall, Native Messaging validation, process inspection, and inspection of the shipped app.asar. I stopped further manual repair because this state may recur after future automatic updates.
Please let me know if specific logs or diagnostics are needed; I can provide them.
Activity
github-actions commentedon Sep 3, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
PracticalSwan commentedon Sep 4, 2026
Additional Windows detection evidence on a newer build, separate from the Chrome-registration portion of this issue:
OpenAI.Codex 26.901.4073.0codex-cli 0.153.1ChatGPT.exeprocesses under the current AppX package, all created by the new launch.codex doctorexited 0 but reportedDesktop App -> the desktop application is not running.So the Windows
running: false/desktop application is not runningdetection issue mentioned in the report still reproduces on 26.901.4073.0 / CLI 0.153.1.svshi-gang commentedon Sep 6, 2026
Title: Possible Windows EFS interaction causing ChatGPT/Codex Chrome native-host failures
I’ve been fighting the current Windows ChatGPT/Codex Chrome integration issue for days.
My symptoms included:
Chrome integration unavailable / greyed out
extension saying the desktop app needed to be installed even though it already was
“in-app browser plugin unavailable”
missing/stale native messaging registration
stale or incomplete chrome-native-hosts-v2.json
browser runtime/plugin components failing to provision cleanly
repeated repairs/reinstalls not fixing the underlying issue
While debugging it, I noticed something completely separate: Windows had recently started showing EFS UI Application notifications asking me to back up a file-encryption certificate.
I had never intentionally enabled EFS and had never seen those notifications before.
I checked:
fsutil behavior query disableencryption
and got:
DisableEncryption = 0 (Encryption is ENABLED)
Then I ran:
cipher /u /n /h
and found EFS-encrypted files not just in WindowsApps, but also in writable Codex browser/runtime data under paths like:
C:\Users<user>\AppData\Roaming\Codex\web\Codex\Default...
including Chromium/LevelDB state, local storage, extension state, partition data, etc.
I also checked my EFS certificate with:
cipher /y
Windows had generated a new self-signed EFS certificate only a few days earlier, despite me never intentionally turning EFS on.
I then:
moved Codex back onto the system drive
decrypted the affected user/runtime files
rescanned with:
cipher /u /n /h
confirmed that normal user/Codex paths were no longer showing as EFS-encrypted
left WindowsApps, WpSystem, and package-managed files alone
disabled future EFS encryption with:
fsutil behavior set disableencryption 1
then rebooted
After that, the ChatGPT Chrome side panel started working.
I want to be very clear: I am not claiming EFS is definitely the root cause of every current Chrome/native-host failure.
But on my machine, the broken Chrome integration and unexpected EFS activation overlapped, writable Codex browser state was being encrypted, and the integration began working after I removed that condition and normalized the install/runtime location.
If you’re seeing the current Windows native-host / Chrome integration failures, I think it’s worth checking this before reinstalling Codex for the twentieth time.
Read-only checks:
fsutil behavior query disableencryption
cipher /u /n /h
cipher /y
Things that would get my attention:
C:\Users<user>\AppData\Roaming\Codex
C:\Users<user>.codex
C:\Users<user>.cache\codex-runtimes
normal Desktop/Documents/project folders
Things I would not manually decrypt or take ownership of just because they appear in the scan:
C:\Program Files\WindowsApps
:\WindowsApps
WpSystem
$RECYCLE.BIN
AppData\Local\Packages
Also, if you do find unexpected EFS encryption, back up the EFS certificate/private key before decrypting anything and do not delete that certificate until you are sure no files still depend on it.
This may be unrelated on some machines, but given how many current Windows reports involve broken native-host provisioning, stale runtime state, and missing bridge files, I think the EFS angle is worth ruling out.
pinuocao-c commentedon Sep 9, 2026
I can independently reproduce this on Windows with Codex Desktop AppX
26.901.6511.0, Chrome152.0.7977.77, and the ChatGPT Chrome extension1.26.901.11451.Observed behavior:
No compatible Codex app-server entry was found.codex-cli 0.153.4, but the Chrome extension-host configuration still points to a stale plugin app-server executable reportingcodex-cli 0.142.0-alpha.6(timestamped from June).The user declined an application reset because this should self-heal without deleting local app state. Please add startup/update reconciliation that validates the app-server CLI version/path before reporting the Chrome integration as installed, and provide a supported repair button for this state.
PracticalSwan commentedon Sep 9, 2026
I can now narrow the Windows
codex doctorfalse-negative mentioned above to a concrete path mismatch on current builds.Reproduced on:
26.903.8094.0codex-cli 0.153.4Observed at the same time:
codex.exe app-serverchild;codex doctor --summaryreportsthe desktop application is not running;codex doctor --jsonreportsdesktop.app.version.details.running = falseand skips the Desktop app-server handshake.The v0.153.4 doctor source explains the false negative. On Windows,
desktop_log_root()builds the log root as%LOCALAPPDATA%\Codex\Logs, theninspect_desktop_session()only considers a Desktop process running if it finds a current session log there and validates that log filename's PID against the AppX package family:codex-rs/cli/src/doctor/desktop.rs(rust-v0.153.4):On the packaged Windows install,
%LOCALAPPDATA%\Codex\Logsdoes not exist. The actualcodex-desktop-...logfiles are under the AppX-localized path:The current live Desktop PID is present in the current-day log filenames at that virtualized location. So
application_running()is never reached for that PID becausediscover_desktop_logs()is reading the non-virtualized host path and returns no session candidate.This appears to be a Doctor-only Windows AppX path-resolution bug, separate from the Chrome registration failure itself. A fix could resolve the package-localized log root on Windows (or safely check both packaged and unpackaged log roots) before doing the existing package-family PID validation.
PracticalSwan commentedon Sep 10, 2026
Still reproducible with stable Codex CLI 0.154.0 on Windows
After upgrading the global npm installation from 0.153.4 to stable 0.154.0,
codex doctor --summary --no-color --asciistill reports the installed Codex Desktop as not running while the packaged Desktop process and its bundled app-server are both running.The rest of Doctor is healthy (
22 ok | 1 idle | 3 notes | 1 warn | 0 fail degraded). This confirms the Windows Desktop-process detection false negative remains present in 0.154.0; it is not resolved by the stable CLI update.No model/agent request was issued for this check, and no credentials or private thread content are included.
bherreraicon commentedon Sep 10, 2026
Confirmed additional root cause / workaround on Windows — separate from missing runtime registration
Following the report of a stale CLI configuration, there is another executable-path source worth checking: an inherited user-level
CODEX_CLI_PATH.On our machine, it pointed to a nonexistent
%LOCALAPPDATA%\OpenAI\CodexCLI\codex.exe, overriding a valid CLI path inchrome-native-hosts-v2.json.The distinguishing symptoms were: registration and runtime manifests existed,
extension-host.exelistened on TCP, but app-server startup failed withos error 3. The connection closed before HTTP101, producing Chrome WebSocket1006.Read-only check:
After confirming the override was obsolete and the app-managed CLI was valid, we backed up and removed only that user environment value. Fully restarting Codex and Chrome restored HTTP
101,initialize, and the working side panel. Detailed checks and workaround.This does not explain or repair a missing
chrome-native-hosts-v2.json, a brokenlatestjunction, or thecodex doctordetection issue. It is an additional check when registration is already valid but the subsequent WebSocket connection still fails.PracticalSwan commentedon Sep 11, 2026
Fresh structural check on Windows Codex Desktop
26.908.4834.0after a normal Store-app launch, with no manual repair:%LOCALAPPDATA%\OpenAI\Codex\chrome-native-hosts-v2.jsonand%USERPROFILE%\.codex\chrome-native-hosts-v2.json). This is an improvement over the original missing-manifest reproduction.26.908.40834, while thelatestNTFS junction still targets removed directory26.903.71938(Test-Pathon the junction target is false).appVersionis also26.903.71938; it contains no entry for the current26.908.4834.0app generation /26.908.40834Chrome plugin generation.bundled_plugin_status_unknownfor the Chrome plugin and then an install failure while trying to back up the existing plugin cache (Access is denied, categorized asplugin_cache_windows_file_lock).I did not modify the junction, manifests, plugin cache, registry, or extension state, and I did not run a functional Chrome side-panel test in this pass. So this only establishes that manifest creation has improved, while the stale-
latest/update-reconciliation part of the issue still reproduces on the newer build.chriswcy commentedon Sep 12, 2026
Feedback ID: no-active-thread-01a09658-0630-7ae2-98e1-b0a75dae54d3
Same end state as the check in #issuecomment above (Desktop 26.908.4834.0,
lateststranded on the removed 26.903.71938), but the junction turned out to be only half of it.
Repairing it is not sufficient, and the reason the app-server entry never appears is
upstream of Chrome entirely.
Repointing
latestat the current plugin build restores the two layers the plugininstaller writes —
%LOCALAPPDATA%\OpenAI\extension\com.openai.codexextension.jsonandHKCU\...\NativeMessagingHosts\com.openai.codexextension.check-native-host-manifest.js --browser chromethen reports"correct": true, "problem": null. The side panel stillfailed with "No compatible Codex app-server entry was found".
The remaining blocker is the EFS copy failure tracked in Windows Store 26.707.3748.0: EFS copyfile UNKNOWN breaks bundled marketplace and Computer Use native pipe #32589. Every reconcile logged
plugin_marketplace_folder_write_failed/bundled_plugins_marketplace_resolve_failed(254 times on 2026-09-12). The Chrome registration then silently no-ops, because it
early-returns when the marketplace did not resolve:
Nothing on the Chrome side points at the marketplace. My chrome-native-hosts-v2.json had
not been rewritten since 2026-06-03 while the manifest and registry key looked healthy —
which is what makes this look like an extension problem.
Pointing CODEX_ELECTRON_BUNDLED_PLUGINS_RESOURCES_PATH at a stream-copied (unencrypted)
mirror of app\resources made the reconcile succeed. The entry was written on the next
launch with a live pid, and all layers went green.
Two details that cost time:
resources. Mirroring onlyplugins\openai-bundledfailslater with "Missing bundled Electron Codex runtime required to sync Chrome plugin app
server" — the app-server sync also needs
codex.exeandcua_nodefrom the resourcesroot.
until Explorer is restarted.
Net: the stale junction and the missing app-server entry are two separate faults sharing a
trigger (an app update). Fixing only the junction leaves the side panel broken.
PracticalSwan commentedon Sep 15, 2026
Current-state update from Microsoft Store build
26.908.9136.0on Windows x64:The update/reconciliation state that was previously broken is now structurally healthy on this machine after a normal Store update/relaunch:
chrome-native-hosts-v2.jsonfiles exist;schemaVersion: 2and currently contain 54 entries;26.908.70816;latestjunction points to that existing26.908.70816directory;26.908.70816;plugin_cache_windows_file_lock/ relevantAccess is deniedreconciliation error.I did not manually repair the junction, manifests, registry, or plugin cache in this pass.
This is strong evidence that the original stale-junction/missing-v2-registration update path has improved in current builds. I have not run a fresh functional ChatGPT Chrome side-panel connection test in this pass, so I am not claiming the entire user-visible issue is resolved yet.
Littledogewww commentedon Sep 16, 2026
Additional reproduction on Codex Desktop 26.908.9136.0 (Windows x64), with a confirmed recovery of the Chrome side panel and a reproducible bundled-resource copy failure.
Environment
OpenAI.Codex_26.908.9136.0_x64__2p2nqsd0c76g0.0.154.0-alpha.6.2.152.0.7977.83.1.26.901.11451.26.908.70816, while the existing Browser/Chrome/Computer Use cache was initially26.901.51231.User-visible failure and diagnostic gap
With the desktop app running, the Chrome side panel displayed:
Both expected files were absent:
During troubleshooting, we manually restored matching plugin files and repaired the basic Native Messaging registration. At that point, the bundled
check-native-host-manifest.js --browser chrome --jsonreportedcorrect: true, and Codex could open a Chrome page, read it, and click a link. The side panel still failed with the missing-v2 error above. The diagnostic result therefore did not establish side-panel readiness; it checked the basic Native Messaging manifest rather than the required v2 runtime registration.Related provisioning failure, independently reproduced
The desktop log repeatedly recorded these events while materializing its bundled marketplace:
A narrow reproduction using the desktop's bundled Node executable against that same 105-byte source file produced:
The shipped Windows encrypted-copy fallback appears to recognize
errno === 6000, whereas the observed Node error here is-4094. This may explain why the readable encrypted resource never reaches that fallback. This copy signature is also reported in #32589 and #41164.The copy failure and missing v2 registration coexisted on this machine. A causal link through incomplete reconciliation is plausible, but we have not reproduced that complete chain on a clean installation.
Recovery actually verified
26.908.70816host executable. Its OpenAI Authenticode signature was valid. Allowed extension origins were unchanged; no optional process-presence heartbeat was fabricated.These were manual troubleshooting changes, not an official workaround recommendation. No signed application files or Windows security settings were modified. The automatic marketplace copy error persisted after the manual file restoration, so this does not establish that future updates will work.
Expected behavior / suggested regression coverage
UNKNOWN/-4094from native copying should be handled safely, with the last working plugin/runtime state preserved if provisioning cannot complete.Personal paths and instance identifiers have been redacted; no raw logs, account data, or screenshots are attached.
PracticalSwan commentedon Sep 19, 2026
September 25, 2026 — Store Desktop 26.917.9434.0 structural follow-up: After a normal launch, schema-v2 registry now contains 58 historical entries and exactly one current-AppX match; the current plugin generation is
26.917.71314, all eight native-host paths exist, one native module directory exists, and all 182 generated plugin manifests parse with no oversized default prompts. The latest main-process log contains zero plugin-cache-lock, access-denied, fatal, panic or uncaught categories. No manual registry/cache repair was needed. The functional Chrome side-panel connection remains untested, so this does not resolve the reported functional issue.September 24, 2026 — current-build structural update: After updating to Windows Store Codex AppX
26.917.8451.0, a read-only audit found a schema-v1 legacy file and a separate schema-v2 native-host registry with 57 historical entries and exactly one current entry whoseresourcesPathresolves to the new installed AppX. The current plugin generation is26.917.62051;chrome/latestresolves to that existing cache generation. The eight required native-host paths and the current Node module directory exist, and all 182 generated plugin manifests parse without oversized default prompts. One startupplugin_cache_windows_file_lockmarker was logged, but the current cache and registry are reconciled. The v1 and v2 files intentionally have different schemas and should not be expected to match byte-for-byte. I did not complete an end-to-end Chrome side-panel test, so this structural result does not close the functional issue.Structural follow-up on the newer Microsoft Store build
26.915.4065.0:schemaVersion: 2.26.915.31945.latestjunction resolves to the existing26.915.31945directory.26.915.31945generation.extension-host.exeresolves.No manual junction/manifest/registry/cache repair was performed in this pass. This is additional evidence that the stale-junction / missing-v2-registration state is structurally healthy on the current build. I did not run a fresh end-to-end Chrome side-panel connection test, so I am not claiming the full user-visible issue is resolved.
GoZippy commentedon Sep 22, 2026
On my Windows PC, ChatGPT Desktop 26.915.4065.0 and ChatGPT Chrome extension 1.26.901.11451 were installed when I captured the original failure. The side panel reports
Native host request codeRuntime/hello timed out after 5000ms.I found that Desktop bundles Chrome plugin generation 26.915.31945, while my local
openai-bundledmarketplace and enabled Codex Browser/Chrome plugin installs are 26.519.41501. Thechrome/latesthost path resolves to the older generation, which lacksbrowser-service.mjs; both expectedchrome-native-hosts-v2.jsonregistrations are absent. The ordinary Native Messaging manifest and extension origin are correct, and the registered host process did start.The Codex browser-client setup separately fails before tab access with
e.nodeRepl?.setResponseMeta is not a function. I checked the latest 13 packaged Desktop logs and found noplugin_marketplace_folder_write_failed,bundled_plugins_marketplace_resolve_failed, or-4094entry. EFS is enabled and the packaged WindowsApps plugin files are encrypted, while the cached files are not; I have not changed encryption or package files, and this does not show that EFS caused the mismatch.Defender and AppLocker logs show no direct block in the queried window. Malwarebytes is active, but I found no evidence tying it to this failure. A read-only firewall check initially found both active network profiles were Public. ChatGPT's inbound allow rules for ports 1455/1457 pointed to a
K:\WindowsApps\...path, while the running Desktop processes usedC:\Program Files\WindowsApps\...; the current C: path had inbound rules allowing Private and blocking Public. I found no listener in the ports/ranges named by these rules, so this path mismatch was a lead to test if the app server starts, not a proven cause of the timeout. The enabled outbound offline rule is scoped to the separateCodexSandboxOfflineaccount, not my signed-in user. I made no firewall changes.Another report found the same Desktop build with current plugin and v2 registrations after a clean launch, so my machine-specific reconciliation state remains unexplained.
I verified a prior Desktop MSIX (26.901.5280.0) from OpenAI's CDN: its Microsoft Marketplace signature is valid and its package identity is
OpenAI.Codex. I also downloaded and verified the 26.915.4065.0 package for restoration. Windows initially staged the older package but deferred registration because 26.915.4065.0 was still running. AppX event XML then showed the staged 26.901 package being removed while a separate Windows Update deployment staged 26.917.6896.0. The caller wassvchost.exe,wuauservunder SYSTEM and the source wasx-windowsupdate://....Correction to my earlier retry description: the first detached retry script referenced an unset
$rollbackvariable, so it never reachedAdd-AppxPackage. A corrected PowerShell 7 attempt also stopped before deployment because the WindowsAppxmodule failed to load with0x80131539. I then ran the corrected command under Windows PowerShell 5.1 with-ForceUpdateFromAnyVersion -ForceApplicationShutdown; that rollback succeeded. Windows reportedOpenAI.Codex 26.901.5280.0with statusOk, and all runningChatGPT.exepaths resolved to the old package.With 26.901.5280.0 active, the bundled plugin was 26.901.41600, but the read-only diagnostic still showed the cached plugin at 26.519.41501, no cached
browser-service.mjs, both v2 registration files absent, andOverall: repair-needed. The supported browser-client bootstrap failed twice, including the required two-second retry, with the samesetResponseMetaerror before tab access. The downgrade therefore did not reconcile the local plugin/v2 state or change the browser-client failure. The Web Store extension remained unchanged. The app data backup contains 106 files / 395,866,821 bytes with EFS preserved and a restricted ACL.A non-elevated restore of the signed 26.915.4065.0 package failed with
0x80073D28because its packaged service requires administrator privileges. The first elevated restore was launched as a Desktop child, so-ForceApplicationShutdownterminated that installer with the app. I then ran the same signed-package restore through a temporary, highest-run-level scheduled task under my interactive account. The restore log recordsADD_OK; Windows reportsOpenAI.Codex 26.915.4065.0with statusOk, every runningChatGPT.exepath resolves to that package, and the temporary task was removed. The post-restore diagnostic returned to bundled plugin 26.915.31945 but still reports cached plugin 26.519.41501, missing cachedbrowser-service.mjs, absent v2 registrations, andOverall: repair-needed. A fresh supported browser-client bootstrap after restoration again failed on both required attempts with the samesetResponseMetaerror before tab access.Could Desktop provide a supported way to refresh its bundled plugin and generate both app-server registrations, with diagnostics that distinguish native-host startup from app-server and browser-runtime readiness?
Correction from a later read-only check the same day: Ethernet and Tailscale reported Private, not Public. I did not retest the Chrome panel after that profile change. A fresh ActiveStore firewall-rule query returned Access Denied, so I could not refresh the path-specific rule inventory; no listener appeared in the previously checked app-server port range. This narrows the earlier firewall observation to a point-in-time lead and does not establish a current firewall cause.
GoZippy commentedon Sep 22, 2026
OpenAI's Chrome extension troubleshooting guide recommends checking the browser in Settings > Computer Use and reinstalling the extension there if restarting does not fix the connection.
I have not completed that UI reinstall on this PC. The Chrome extension is enabled, the Native Messaging manifest and registry entry agree, and the native-host process starts, but the side panel still times out. My local Codex Browser/Chrome plugin snapshot is 26.519.41501 while the installed 26.915 Desktop bundle contains 26.915.31945; reinstalling from the configured local marketplace could put the older files back. Both app-server registration files are also absent.
I verified a signed Desktop MSIX 26.901.5280.0 and a signed 26.915.4065.0 restore package. The first
Add-AppxPackageattempt deferred the older registration while 26.915.4065.0 was running. AppX event XML then showed the staged 26.901 package being removed while a separate Windows Update deployment staged 26.917.6896.0; the caller wassvchost.exe,wuauservunder SYSTEM with anx-windowsupdate://...source.Correction to my earlier retry description: the first detached retry script had an unset
$rollbackvariable and never calledAdd-AppxPackage. A corrected PowerShell 7 attempt stopped before deployment because its WindowsAppxmodule failed to load with0x80131539. A corrected Windows PowerShell 5.1 command with-ForceUpdateFromAnyVersion -ForceApplicationShutdownthen succeeded. Windows reportedOpenAI.Codex 26.901.5280.0with statusOk, and all runningChatGPT.exepaths resolved to that package.With the older Desktop active, its bundled plugin was 26.901.41600, while the Web Store extension remained 1.26.901.11451. The read-only diagnostic still reported the cached plugin at 26.519.41501, no cached
browser-service.mjs, both v2 registrations absent, andOverall: repair-needed. The supported browser-client bootstrap failed twice with the samee.nodeRepl?.setResponseMeta is not a functionerror before tab access. The downgrade did not reconcile the cached plugin or registrations and did not change that failure.A non-elevated restore of the signed 26.915.4065.0 package failed with
0x80073D28because its packaged service requires administrator privileges. The first elevated restore was launched as a Desktop child, so-ForceApplicationShutdownterminated that installer with the app. I then ran the same signed-package restore through a temporary, highest-run-level scheduled task under my interactive account. The restore log recordsADD_OK; Windows reportsOpenAI.Codex 26.915.4065.0with statusOk, every runningChatGPT.exepath resolves to that package, and the temporary task was removed. The post-restore diagnostic returned to bundled plugin 26.915.31945 but still reports cached plugin 26.519.41501, missing cachedbrowser-service.mjs, absent v2 registrations, andOverall: repair-needed. A fresh supported browser-client bootstrap after restoration again failed on both required attempts with the samesetResponseMetaerror before tab access.I also checked the Chrome extension rollback path: Google documents rollback as a publisher action in the Web Store dashboard, not a user version selector, so I left the installed ChatGPT extension unchanged. Chrome Web Store rollback.
Does the documented Settings > Computer Use reinstall refresh the Desktop-bundled plugin and create the app-server registrations on Windows, or is there a separate supported reconciliation step?
sdbp-admin commentedon Sep 24, 2026
I reproduced a very similar failure on Windows with Brave (same Chromium/native-host backend) and found a working workaround.
Environment
26.917.8451.0chrome/browserplugin:26.917.62051hehggadaopoacecdllhhajmbjkdcmajgInitial state / symptoms
%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome%USERPROFILE%\.codex\plugins\cache\openai-bundled\browser%LOCALAPPDATA%\OpenAI\extension\com.openai.codexextension.json%LOCALAPPDATA%\OpenAI\Codex\chrome-native-hosts-v2.json%USERPROFILE%\.codex\chrome-native-hosts-v2.jsonThe bundled plugin sources did exist inside the current AppX install:
...\app\resources\plugins\openai-bundled\plugins\chrome...\app\resources\plugins\openai-bundled\plugins\browserBoth were version
26.917.62051.Important Windows runtime finding
Directly executing the bundled Node runtime under
C:\Program Files\WindowsApps\...failed with:Access is deniedHowever Codex had already staged working per-user runtimes under:
%LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node\<id>\bin\node.exeand
%LOCALAPPDATA%\OpenAI\Codex\bin\<id>\codex.exeThose executed normally.
Workaround that restored the Brave side panel
1. Re-materialize the bundled plugin cache
With Brave closed, copy the untouched bundled
chromeandbrowserplugin folders into:%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\<plugin-version>%USERPROFILE%\.codex\plugins\cache\openai-bundled\browser\<plugin-version>I used
xcopy /E /H /K /Y /G; the/Gmattered because these resources are coming from WindowsApps/Application Protected storage.Create
latestjunctions for both caches pointing at the current plugin version.2. Run OpenAI’s own native-host installer using the working per-user runtimes
Use:
chrome\latest\scripts\installManifest.mjsbut execute it with the working per-user Node runtime and pass the working per-user
codex.exe,node.exe, andnode_repl.exeasappServerRuntimePaths.That successfully generated:
%LOCALAPPDATA%\OpenAI\extension\com.openai.codexextension.jsonchrome\latest\extension-host\windows\x64\extension-host-config.jsonHKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextensionAt that point the Brave side panel advanced from “Install the app” to:
“Codex Chrome native host v2 manifest is missing”
So Native Messaging was now working, but the v2 app-server registration was still absent.
3. Create the missing v2 manifests
Create valid schema-v2 entries at:
%LOCALAPPDATA%\OpenAI\Codex\chrome-native-hosts-v2.jsonand
%USERPROFILE%\.codex\chrome-native-hosts-v2.jsonusing the current plugin/runtime paths, current plugin version, current
browser-client.mjsSHA-256, and the working per-user Codex/Node runtime paths.After reopening Brave, the ChatGPT side panel connected successfully.
What this suggests
On this machine there were at least three provisioning failures in sequence:
Access is denied), while the staged per-user runtime worked;chrome-native-hosts-v2.jsonregistrations were never generated.Reinstalling the browser extension did not help because it only affected the browser-side extension; the broken state was in the desktop/native-host provisioning path.
This workaround is manual/unsupported, but it did restore the integration. It would be useful if Desktop reconciliation could:
latestjunctions;I can provide the exact PowerShell repair logic if useful, but the key point is that the missing v2 manifests were only the final visible symptom; the earlier cache/runtime provisioning failures had to be fixed first.
l970421y-dotcom commentedon Sep 27, 2026
Assistant-submitted current-build reproduction at the GitHub account owner's explicit request.
I can independently reproduce this on Windows with a newer build:
26200.945726.924.2738.0codex-cli 0.158.0-alpha.2.126.924.22138154.0.8037.571.26.901.11451_0Profile 2Observed state:
%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\latest\extension-host\windows\x64\extension-host.exechrome\latestdoes not exist. Only the current version directorychrome\26.924.22138exists, so the manifest target is missing.26.825.32147entries:%LOCALAPPDATA%\OpenAI\Codex\chrome-native-hosts-v2.json%USERPROFILE%\.codex\chrome-native-hosts-v2.jsonOpenAI.Codex_26.825.4187.0AppX resources path and, in other entries, deleted temporary recovery paths.Browser is not available: chrome.Troubleshooting performed:
chrome\latestand the v2 entries were not rebuilt.installManifest.mjs.This confirms that the update/reinstall reconciliation failure still reproduces on Desktop
26.924.2738.0. The UI reports the integration as installed even though the Native Messaging manifest target is missing and the app-server registrations are stale.Please make the Desktop reconciliation path atomic: rebuild
chrome\latest, regenerate both current v2 entries, validate that all referenced paths exist, and only then report the Chrome integration as installed. A supported Repair action for this state would also avoid requiring users to edit junctions, manifests, or registry data manually.Littledogewww commentedon Sep 30, 2026
Recurrence after another user-performed upgrade: Desktop 26.928.2636.0 now fails on
nodePathFollow-up to my earlier report in this thread, submitted at the affected user's explicit request. The user confirms that they performed another version upgrade immediately before this recurrence.
The Chrome side panel currently displays:
Observed on October 1, 2026 (Asia/Singapore):
26.928.2636.0.codex-cli 0.159.2.v24.21.0, executable and working.26.928.21956.154.0.8037.92.26.924.22138.Both schema-v2 registries exist:
Each still contains the single
26.924.22138entry last refreshed on September 30 local time. The fields are present, but several referenced targets no longer exist:paths.nodePathunder the previous hashed per-user runtime directorypaths.nodeReplPathin that same previous runtimenodeModuleDirsdirectorypaths.resourcesPathunderOpenAI.Codex_26.924.2738.0paths.codexCliPath26.924.22138The new staged Node and Node REPL paths exist, and the desktop's current
node_replconfiguration points to an existing executable. Thus the visible “missing required path nodePath” error corresponds to an existing manifest property whose old filesystem target was removed, rather than an absent Node installation.Current Desktop logs also still contain:
This matches the earlier provisioning failure category. I have not established a complete causal chain from copying to registry migration on a clean installation.
Troubleshooting history matters: this installation has received the manual, backed-up plugin-cache and v2-registration repairs described earlier. On September 30, the paths were refreshed for Desktop
26.924.2738.0and Chrome plugin26.924.22138, and their existence was verified. I did not receive an end-to-end side-panel confirmation for that specific repair. The user then performed another desktop upgrade, and the current stale paths/newnodePatherror were observed. This is evidence that the manual repair does not survive this update; it is not a clean-install reproducer. No further configuration repair was performed during this feedback collection.Please investigate upgrade reconciliation and runtime cleanup together: a current compatible v2 entry should be generated and validated as part of upgrading, and registrations should not be left pointing at removed runtimes. A supported repair action should refresh all required paths and detect existing-but-invalid fields. This recurrence is also closely related to #40357.
Personal directory names, process/entry identifiers, and runtime hashes are omitted. No raw screenshot, full logs, credentials, or account data are attached.
Littledogewww commentedon Oct 1, 2026
Verified related provisioning failure: local executor startup blocked by copying bundled codex-app-tools on Windows
Follow-up to the upgrade recurrence described in my previous comment. This affects the local executor used for Dot/local-computer access, in addition to the earlier Chrome registration symptoms. This is the same affected installation, which has received the previously disclosed manual repairs; it is not a clean-install reproducer.
Environment on October 1, 2026:
26.928.2636.0.26.928.21956, build12404, channelprod, statusup_to_date.codex-app-toolsplugin:0.1.5.v24.21.0.The desktop Dot profile showed Your computer — Connection status unavailable. The Windows Computer Use helper was able to list desktop windows, so a working local UI helper did not imply that the local executor had registered successfully.
Desktop logs showed a persistent restart loop:
The old process eventually reached attempt
5818with the same copy failure before the user exited it. This occurred during capability-root preparation, before executor registration could complete.I reproduced the file operation separately using the app's staged Node:
fs.copyFilefrom the packaged plugin manifest to a writable scratch directory failed with the sameUNKNOWNerror.fs.copyFileon that copy succeeded.fs.cpof the completecodex-app-toolsplugin from the byte-written copy succeeded.A temporary, per-launch workaround was tested. A copy of the current bundled plugin tree was created using normal byte reads/writes, with all 832 files verified by SHA-256 against the package contents. The current client's existing
CODEX_ELECTRON_BUNDLED_PLUGINS_RESOURCES_PATHsetting was pointed to that resource tree for the new process only. No persistent environment setting, patched app binary, security-setting change, or access-grant change was made.After the user exited and restarted the app with this setting:
The new process log contained zero
Local Work executor startup failedevents at verification, and the executor plugin manifest was present. Attempt 2 encountered anunexpected EOF during handshakeduring an environment registry request; automatic retry on attempt 3 connected successfully. That transient transport failure should not be conflated with the original repeatable local copy failure.This verifies recovery of plugin provisioning and local-executor connectivity. It does not establish that every Dot local task works, that future upgrades are repaired, or that this workaround is generally supported. The official local-access deployment guide also specifies desktop
26.929or later; this affected installation is older, and its configured updater reported no eligible update. Account/workspace rollout was not independently established.Please investigate the Windows bundled-file copy/materialization failure for both the plugin marketplace and the local executor. Avoiding an indefinite restart loop, retaining a clear actionable error, and providing a supported repair or update reconciliation path would help.
Paths are generalized. No original screenshots, full logs, credentials, local source/executables, or personal/account identifiers are included.
Littledogewww commentedon Oct 2, 2026
Post-restart verification: local Computer Use works, but a fresh Dot-started task still lacks node_repl
Follow-up to the executor recovery report. After another Windows desktop upgrade and repair, the local executor now connects, but this does not restore Computer Use in a new Dot-started local task. The same installation has the previously disclosed manual resource-copy workaround; this is not a clean-install reproducer.
Environment verified on October 2, 2026:
26.928.40906, build12694, channelprod.26.928.4866.0; bundled CLI0.159.2.26.928.40906.After the user fully exited and restarted the app with the current-version resource mirror:
node_replpaths. The local executor connected twice. At the audit snapshot, the new process had zero executor startup failures, zeroUNKNOWN copyfileevents, and zeronode-repl-missingevents. Local MCP logs showednode_replready.node_replimported@oai/sky;sky.list_windows()returned 6 windows. Only enumeration was tested.node_repl. It could not initialize@oai/skyor enumerate Windows windows. No durable-hostnode_replstartup event appeared in the desktop log snapshot.The fresh task also had startup failures for
cua_repl,codex_app, andnotion; later durable tasks did showcua_replready. These are separate observations, not proof that those failures cause the missingnode_repltool.Read-only inspection of the installed desktop code shows a relevant distinction:
buildMcpCodexConfigonly when the host islocal; other hosts receivenullthrough that path.mcp_servers.node_repldefinition..mcp.json. The unified Computer Use plugin providescua_repl, whose generated Windows surface list isbrowser; the desktop code adds itscomputersurface only on macOS. Windows desktop Computer Use still requires the standalonenode_replentry.This suggests a tool provisioning/forwarding or version-support gap. It does not establish which Rust executor or backend component omits the tool; those implementations were not verified. The earlier path repair was necessary to recover local configuration and executor connectivity, but was insufficient to recover Dot Computer Use.
Related reports: #49458 and #49488. The enterprise local-access guide specifies desktop
26.929or later, while this installation remains26.928.40906; that compatibility requirement may matter, but is not a confirmed explanation for this installation's tool discrepancy.Could maintainers confirm the supported Windows version and the intended mechanism for making standalone
node_replavailable to Dot-started local tasks? A supported remediation would be preferable to further local manifest or application patches.No screenshots, credentials, device/account identifiers, private paths, raw logs, or application binaries are attached. No app binary or security-setting patch was made for this verification.
Littledogewww commentedon Oct 2, 2026
New-version retest: executor recovered, but a brand-new Windows Dot task still lacks node_repl
Follow-up to the previous tool-gap verification. This installation has the previously disclosed manual resource-copy workaround and standalone local
node_replMCP configuration; this is not a clean-install reproduction.Verified environment on October 2, 2026 (UTC+08:00):
26.930.2377.0.26.930.21537, build12776, prod.0.159.0-alpha.12.1.After this upgrade,
UNKNOWN copyfilefrom the packaged app-tools resources again prevented the local executor from starting. A version-specific copy of the current signed resources, with hashes verified against the installed package, was prepared. This version independently resolves bundled plugin resources and runtime resources, so the registered Windows application launch supplied both resource-path settings temporarily. The original user environment was restored afterward; package identity was preserved. No application binary or security setting was patched.After the user restarted at approximately 06:47 UTC:
UNKNOWN copyfileevents andnode-repl-missingevents were all zero. These counts do not certify Dot tool availability.node_repl, imported@oai/sky, andsky.list_windows()returned 6 windows. No clicking, typing or screenshots were tested.node_repl jsis absent and notool_searchentry point is available. Its delegated tool-inventory check reports 324 tools with nonode_replmatch. This is task-reported inspection, not an independently captured backend tool manifest. The task could not initialize@oai/skyor attempt window enumeration; its window count is unknown, not zero.Thus the current reproduction is not limited to resuming a pre-upgrade task. Executor connectivity and ordinary local Computer Use have recovered, while Dot Computer Use has not.
Read-only checks found
computer_use,browser_useandpluginsalready enabled in the local CLI, and an existing standalonemcp_servers.node_replentry. No documented dedicatedexec-serverforwarding option was found. The desktop source still shows different capability-assembly paths for local conversations and executor/Dot tasks. This suggests a provisioning/forwarding gap, but does not establish which client, Rust executor or backend layer is responsible; opening a development flag is not a verified remediation.Separately, an earlier task-creation attempt reported failure. The local log records a brief
pong_timeout, WebSocket close1006, then automatic executor reconnection about 11 seconds later. We cannot establish that interruption as the cause of the creation failure or the missing tools. The subsequent brand-new task above did complete its check.Related same-component reports: #49458 and #49488. Could maintainers confirm the supported mechanism for exposing the official Windows Computer Use entry point to a fresh Dot task on this version, and which sanitized diagnostic would locate the missing tool-provisioning step?
No credentials, account/device/task identifiers, private paths, window titles, screenshots or raw logs are attached.
Further read-only localization: standalone stdio is excluded from executor-config discovery
The public tag
rust-v0.159.0-alpha.12.1matches the installed CLI version string and resolves to commit180d8caaac22c656bfc6329f2f573ee1430cbe20. This is version association, not a reproducible-build attestation for the Windows binary or cloud orchestrator.exec-server/src/environment_config.rs:113-118retains only local MCP definitions containingurl. The current standalonenode_replhascommandand nourl; a read-only projection of the actual local TOML through that predicate removes it.core/src/session/mcp_runtime.rs:226-233independently accepts onlyStreamableHttpon this route. Removing just the first filter would not supply a stdio launcher.codex-mcp/src/plugin_config.rs:126-167. The current official Windows Computer Use plugin has neither inlinemcpServersnor.mcp.json; itsnode_replhook references do not declare a server.Actual desktop telemetry records local
node_replready states and no durablenode_replstartup event, consistent with a missing registration. That absence is not a complete live cloud catalog capture. Same-windowcua_replstartup failures are separate evidence and do not establish the cause ofnode_replomission.A user-owned ordinary MCP companion-plugin draft, pointing to the existing official runtime, was accepted by the installed CLI's local marketplace-add and plugin-add commands in an isolated temporary Codex home. It was not activated in the user's profile or tested in Dot, and is not a verified remediation. Dynamic native-pipe/service environment values require correct executor binding; a static clone must not be reused blindly after restart or upgrade.
The first concrete boundary is now the URL-only executor-config discovery plus the absent selected-plugin declaration. Could the supported Windows Dot provisioning path register the official stdio entry point through the environment-owned plugin route, or does another cloud injection path intentionally supply it?
l970421y-dotcom commentedon Oct 2, 2026
Thanks @Littledogewww and @sdbp-admin for sharing the workaround. It worked for me on Windows with Codex Desktop 26.930.2377.0 (bundled plugin 26.930.21537). Restoring the current official plugin files, repairing the Chrome latest junction, and rebuilding both v2 registrations with the current runtime paths restored the integration. Browser control was tested successfully, and I’ve confirmed the Chrome side panel is working again. No signed application files or Windows security settings were changed. This is a successful manual workaround, not confirmation of an official fix. Thanks again!
clarkey31 commentedon Oct 10, 2026
Confirmed workaround on Windows: Desktop 26.1007.2314.0, Chrome plugin 26.1007.21434
Symptoms: the side panel first showed "Install the app to use ChatGPT in Chrome". After fixing the manifest, it showed
No compatible Codex app-server entry was found. Restarting, "Reinstall extension" and the EFS checks changed nothing. NoCODEX_CLI_PATHoverride and no encrypted files.Root cause on my machine:
chrome\latestjunction was still pointing at a removed version.%LOCALAPPDATA%\OpenAI\Codex\chrome-native-hosts-v2.jsonhad not been updated since the previous version (26.1002). The new version never wrote its entry.cua_noderuntime folder that had been renamed to.bak.Fix (back up both files first):
%LOCALAPPDATA%\OpenAI\extension\com.openai.codexextension.json, changepathto use the real version folder instead oflatest, e.g....\chrome\26.1007.21434\extension-host\windows\x64\extension-host.exe.chrome-native-hosts-v2.json, copy the newest entry and insert the copy at the top ofentries, then edit the copy:appVersion,cliVersion,nativeHostVersion→ the plugin version (fromchrome\<version>\.codex-plugin\plugin.json)entryIdbrowserClientPath,browserServicePath,extensionHostPath→...\chrome\<version>\...(notlatest)nodePath,nodeModuleDirs,nodeReplPath→ thecua_node\<id>folder that actually exists in%LOCALAPPDATA%\OpenAI\Codex\runtimes\resourcesPath→ current package from(Get-AppxPackage *OpenAI.Codex*).InstallLocation+\app\resourcesupdatedAt/presence→ current timestampThis will likely break again on the next update until the app reliably rewrites the v2 entry and repoints
latest. A "repair registration" button would solve this for everyone.