Codex Desktop Chrome plugin: Native Messaging Host registry key missing on Windows
Environment
- OS: Windows
- Codex Desktop
- Codex Chrome Extension installed and enabled
- Chrome extension ID: hehggadaopoacecdllhhajmbjkdcmajg
- Native host name: com.openai.codexextension
Problem
The Codex Chrome Extension appears to be installed and enabled, but the Chrome-backed browser automation path is unusable because the Windows Native Messaging Host registry key is missing.
The missing key is:
HKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextension
Diagnostic output
Running the bundled checker:
node <codex-home>\plugins\cache\openai-bundled\chrome\26.519.31651\scripts\check-native-host-manifest.js --json
returns this structure:
{
"manifestPath": "%LOCALAPPDATA%\OpenAI\extension\com.openai.codexextension.json",
"registryKey": "HKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextension",
"registryManifestPath": null,
"expectedHostName": "com.openai.codexextension",
"expectedExtensionId": "hehggadaopoacecdllhhajmbjkdcmajg",
"expectedOrigin": "chrome-extension://hehggadaopoacecdllhhajmbjkdcmajg/",
"exists": true,
"correct": false,
"problem": "Windows native host registry key does not exist: HKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextension"
}
Expected behavior
Installing or enabling the Codex Chrome Extension from Codex Desktop should create or repair the Windows Native Messaging Host registration so the Chrome-backed browser automation path works without manual registry repair.
Actual behavior
The native host manifest file exists under:
%LOCALAPPDATA%\OpenAI\extension\com.openai.codexextension.json
but the Chrome Native Messaging Host registry key is missing, so Chrome cannot discover the native host.
Impact
Codex cannot reliably use the Chrome Extension path for authenticated browser automation. This forces fallback to the in-app browser, which is not equivalent because it does not share the user's Chrome profile/session state.
Related note
This appears separate from an in-app Browser Use runtime issue where an incomplete runtime caused Browser Use virtual clipboard is not installed. The in-app browser issue could be worked around by bootstrapping from a complete bundled browser runtime, but the Chrome Extension Native Messaging Host registration issue remains.
10 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Thanks for the duplicate check. I reviewed the suggested issues.
This looks related to #23283 and #22558, but my case has a slightly different diagnostic result:
%LOCALAPPDATA%\OpenAI\extension\com.openai.codexextension.jsonHKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextensionSo this is not a full "manifest missing + registry missing" case. It appears that the installer created the manifest but did not register it with Chrome through the HKCU NativeMessagingHosts key.
If maintainers prefer tracking all Windows native-host registration failures under #23283, I am happy to close this as a duplicate. Otherwise, this issue may be useful as a narrower variant: manifest exists, registry registration missing.
Thanks for doing the leg work on this, I've been impacted as well and removing/reinstalling the extension and plugin doesn't fix.
@JCEY289 — your manifest-exists-but-registry-missing distinction is the load-bearing diagnostic and worth pinning. On Windows, Chrome doesn't scan filesystem manifest paths the way it does on macOS / Linux — it reads
HKCU\Software\Google\Chrome\NativeMessagingHosts\<host>(orHKLMequivalent) at extension-init time, and the value of that key is the path to the manifest json. No registry key, no host discovery, regardless of how perfectly the manifest is laid out on disk. So the installer's split-step here ("write manifest" vs "write registry pointer") is exactly the seam #23283 + #22558 + your case all sit on, but yours is the cleanest narrow variant: manifest present, pointer absent.The non-codex side of this is that the registry-key step requires either an HKCU write at install time (which some MDM-managed Windows environments quietly block) or a per-user re-register hook callable from the extension itself. Splitting manifest creation from registry pointer registration into separate idempotent steps that can be re-run without re-downloading the bundle usually shakes out a lot of these.
Chrome Relay (https://chrome-relay.kushalsm.com/) ships the same primitive (MV3 extension + native messaging host + CLI bridge) and intentionally writes the HKCU pointer as a separate
chrome-relay installstep that's idempotent and can be re-run if it failed silently. Useful as a bisect on the same Windows box: ifchrome-relay installthenchrome-relay tabsworks, the OS-side plumbing is fine and Codex's installer logic is the diagnosable layer. @paulhshort — same applies on your machine.Not a Codex replacement — different harness. Flagging because the install-step seam is reusable and the registry-key vs manifest distinction is worth documenting in the diagnostic flow.
— Kushal
We were able to get this working on Windows.
In our case, the native host manifest already existed at:
but Chrome could not discover it because the HKCU Native Messaging Host registry pointer was missing. Re-adding the default value fixed Chrome discovery:
After that,
reg queryshowed the key correctly, and the manifest pointed to the bundledextension-host.exe.One extra note: the bundled checker script may still report the registry key as missing if its internal Node call to
reg queryfails withspawnSync reg EPERM. In our case that was a false negative from the checker environment, not proof that the registry key was still absent. A normal shellreg querysucceeded, and Chrome later connected successfully.Codex Chrome Plugin Native Host Report
Summary
Codex Chrome Extension is installed and enabled on Windows, but Codex cannot use Chrome-backed browser automation reliably because the Windows Native Messaging Host registry key is missing.
The failure observed in Codex browser automation is:
This prevents Codex from filling forms or pasting text into authenticated Chrome sessions, even though the Chrome extension is enabled.
Environment
26.519.11010.026.527.3686.026.527.31326hehggadaopoacecdllhhajmbjkdcmajg1.1.5_0DefaultC:\Program Files\Google\Chrome\Application\chrome.exe148.0.7778.181What works
check-extension-installed.js --jsonreports the extension is installed and enabled:What fails
check-native-host-manifest.js --jsonreports that the manifest file exists, but the Windows registry key is missing:Steps already tried
chrome://extensionsThe missing registry key persists after all of the above.
Expected behavior
Reinstalling or repairing the Chrome plugin from Codex should create/register:
with the default value pointing to:
After that, Codex should be able to communicate with the Codex Chrome Extension and use Chrome-backed automation, including virtual clipboard / form filling.
Actual behavior
The Chrome extension remains installed and enabled, but native messaging is not registered. Browser automation can inspect some pages, but form filling and clipboard-backed operations fail with:
Change .codex/config.toml.
Change windows.sandbox = "elevated" to windows.sandbox = "unelevated".
Then, Awesome!! I did it from Japan
Thanks for documenting the native messaging host registration failure. I maintain a small community Codex Skill focused specifically on Windows Codex Desktop failures around the bundled Chrome and Computer Use plugins:
https://github.com/navi118/codex-desktop-doctor-skill
It is not a general Codex repair script, and it does not make automatic destructive changes. The goal is to help an agent collect the relevant local evidence first, especially around the Codex Chrome Extension/native host, bundled marketplace/cache state, Computer Use helper/native pipe availability, and Windows file-lock / access-denied patterns such as
plugin_cache_windows_file_lock,os error 5,missing-helper-path, orWindows Computer Use helper paths are unavailable.For this issue, the relevant part is the Chrome native-host checklist: manifest path, registry key, extension ID/origin, whether the extension-host process is running, and whether the active Codex runtime actually exposes the Chrome extension backend after those local pieces are present.
Sharing it here as a diagnostic aid only; I would avoid treating manual registry/cache edits as safe general advice without first collecting the local evidence.
Still reproducible on Windows after reinstalling the Chrome plugin.
Environment:
Verified:
%LOCALAPPDATA%\OpenAI\extension\com.openai.codexextension.json.HKCU\Software\Google\Chrome\NativeMessagingHosts\com.openai.codexextensionis still missing.https://example.comtimes out and remains atabout:blank, while manual Chrome navigation works normally.The plugin appears installed/enabled, but the Windows native-host registration step does not complete.
One Windows localization edge case can make the bundled native-host checker report a false missing-registry result.
On a French Windows installation, the registry key existed and was readable with:
The localized output labels the unnamed value as
(par défaut)rather than(Default).The bundled
check-native-host-manifest.jsreported that the key/value was missing even though a directreg.exe queryreturned the correct manifest path and Chrome could start the native host after the remaining path issues were repaired.Suggested fix/test:
REG_SZvalue independently of the localized unnamed-value label;reg.exeoutput, including French(par défaut).This does not explain every Chrome connection failure, but it can send troubleshooting down the wrong path by classifying an existing registration as absent.