Windows Codex 26.527 package includes Browser/Computer Use but runtime gate exposes only latex
Note: this issue was drafted and opened by Codex on behalf of the user, based on local diagnostics from the affected Windows machine.
Summary
Windows Codex 26.527 package includes the Browser/Chrome/Computer Use bundled plugin files locally, but the runtime availability resolver returns statsig-disabled and writes an active openai-bundled marketplace containing only latex.
This looks like a rollout/trust-gate issue rather than a missing local package file.
Related: #21440, but this report is for a newer 26.527 package where the installed Store package does contain browser, chrome, and computer-use.
Environment
OS: Windows
Codex Windows Store package: OpenAI.Codex_26.527.3686.0_x64__2p2nqsd0c76g0
Codex desktop release from logs: 26.527.31326
Codex changelog reference: https://developers.openai.com/codex/changelog?type=codex-app
In-app feedback ID: 019e36d0-d51c-7011-918d-48dec2cda97c
The Codex changelog entry for Codex app 26.527 says Computer Use now works on Windows.
Expected behavior
On this Windows install, Browser Use / Computer Use should be available, and the active openai-bundled marketplace should expose:
browser
chrome
computer-use
latex
The active tools should include the Browser/Computer Use path, including node_repl-backed browser tooling where appropriate.
Actual behavior
Desktop logs repeatedly show Browser Use being disabled by Statsig:
browser_use_availability_resolved available=false browserPane=true platform=Windows reason=statsig-disabled release=26.527.31326
After that, the app writes the active bundled marketplace at:
%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled
with only:
latex
Local package evidence
The installed Windows Store package contains the full bundled plugin set:
C:\Program Files\WindowsApps\OpenAI.Codex_26.527.3686.0_x64__2p2nqsd0c76g0\app\resources\plugins\openai-bundled\plugins
browser
chrome
computer-use
latex
The package marketplace file under:
C:\Program Files\WindowsApps\OpenAI.Codex_26.527.3686.0_x64__2p2nqsd0c76g0\app\resources\plugins\openai-bundled\.agents\plugins\marketplace.json
also lists all four plugins.
However, the desktop/runtime-written marketplace under %USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled exposes only latex.
Recent log evidence
Latest relevant desktop log:
%LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Local\Codex\Logs\2026\05\30\codex-desktop-bc88eb47-55a3-40f6-b750-868f54dde40a-18204-t0-i1-091529-0.log
Relevant lines:
54:2026-05-30T09:15:39.201Z info [electron-message-handler] browser_use_availability_resolved available=false browserPane=true platform=Windows reason=statsig-disabled release=26.527.31326
58:2026-05-30T09:15:47.790Z info [BundledPluginsMarketplace] bundled_plugins_runtime_marketplace_written pluginCount=1 pluginNames=["latex"] targetMarketplaceRoot=%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled
71:2026-05-30T09:15:49.958Z info [BundledPluginsMarketplace] bundled_plugins_marketplace_added marketplaceName=openai-bundled marketplacePluginNames=["latex"] marketplaceRoot=%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled
426:2026-05-30T10:16:37.238Z info [electron-message-handler] browser_use_availability_resolved available=false browserPane=true platform=Windows reason=statsig-disabled release=26.527.31326
Working machine comparison
A separate Windows machine with the same Store package:
OpenAI.Codex_26.527.3686.0_x64__2p2nqsd0c76g0
reports:
browser_use_availability_resolved available=true browserPane=true platform=Windows reason=available release=26.527.31326
and has the bundled marketplace/plugin cache entries:
browser
chrome
computer-use
latex
~/.codex/plugins/cache/openai-bundled/browser/26.527.31326
~/.codex/plugins/cache/openai-bundled/chrome/26.527.31326
~/.codex/plugins/cache/openai-bundled/computer-use/26.527.31326
Active tools on that machine include:
mcp__node_repl__.js
mcp__node_repl__.js_add_node_module_dir
mcp__node_repl__.js_reset
Local troubleshooting already tried
Signed out and back in
Uninstalled/reinstalled Codex
Renamed/reset %LOCALAPPDATA%\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Roaming\Codex
Renamed/reset %LOCALAPPDATA%\OpenAI\Codex\bin
Stopped WARP, NextDNS, Tailscale, and HMA during earlier testing
Tested with mobile hotspot
Enabled browser_use/in_app_browser in config
Enabled browser@openai-bundled, chrome@openai-bundled, computer-use@openai-bundled in config
The result remains:
reason=statsig-disabled
Manual node_repl workaround findings
node_repl.exe exists:
%LOCALAPPDATA%\OpenAI\Codex\bin\34ab3e1324cc55b5\node_repl.exe
System Node is too old for this node_repl:
C:\Program Files\nodejs\node.exe
v22.18.0
node_repl requires >= v22.22.0
Bundled Codex Node works:
%LOCALAPPDATA%\OpenAI\Codex\bin\5b9024f90663758b\node.exe
v24.14.0
A manual MCP entry can make generic JS execution work:
[mcp_servers.node_repl]
args = ["--disable-sandbox"]
command = '%LOCALAPPDATA%\OpenAI\Codex\bin\34ab3e1324cc55b5\node_repl.exe'
[mcp_servers.node_repl.env]
BROWSER_USE_AVAILABLE_BACKENDS = "chrome,iab"
CODEX_CLI_PATH = '%LOCALAPPDATA%\OpenAI\Codex\bin\7dea4a003bc76627\codex.exe'
NODE_REPL_NODE_PATH = '%LOCALAPPDATA%\OpenAI\Codex\bin\5b9024f90663758b\node.exe'
codex mcp list then shows node_repl enabled with those env vars.
However, this only restores generic JS execution. It does not restore Browser Use / Computer Use.
When manually importing the bundled Browser client:
%USERPROFILE%\.codex\plugins\cache\openai-bundled\browser\26.527.31326\scripts\browser-client.mjs
the call fails with:
privileged native pipe bridge is not available; browser-client is not trusted
This also happened with a local-browser copy. That suggests local plugin installation and manual node_repl registration cannot recreate the trusted/native desktop bridge while the runtime gate remains disabled.
Safety note
Do not point the openai-bundled marketplace directly at:
C:\Program Files\WindowsApps\OpenAI.Codex_26.527.3686.0_x64__2p2nqsd0c76g0\app\resources\plugins\openai-bundled
while the desktop app is open. That caused desktop launch dialogs similar to:
Error launching app
Unable to find Electron app at C:\Program Files\WindowsApps\OpenAI.Codex_26.527.3686.0_x6...\type=click&tag=...
Cannot find module 'C:\Program Files\WindowsApps\OpenAI.Codex_26.527.3686.0_x...\type=click&tag=...'
The config was restored so openai-bundled points back to:
%USERPROFILE%\.codex\.tmp\bundled-marketplaces\openai-bundled
Request
Please check why this machine/account is receiving reason=statsig-disabled for Browser/Computer Use on Windows even though:
Codex app package: OpenAI.Codex_26.527.3686.0_x64__2p2nqsd0c76g0
Desktop release: 26.527.31326
Installed package includes browser/chrome/computer-use
Another machine with the same package receives reason=available
It would also help if Codex exposed a diagnostic command that shows the resolved Browser/Computer Use rollout decision, account/device identifiers relevant to the gate, and whether the trusted native Browser/Computer bridge is available.
14 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Codex duplicate triage:
I reviewed the duplicate bot suggestions (#24252 and #24188). They look related, but I do not think this issue should be closed as an exact duplicate yet.
browserandlatex, then pruneschromeandcomputer-use; logout/login temporarily restores them.browserandlatex.browser,chrome,computer-use, andlatex, but the desktop availability resolver logsreason=statsig-disabledand the generated runtime marketplace exposes onlylatex. Browser Use itself is pruned too.So this appears to be in the same broader eligibility/Statsig/runtime-marketplace family, but this report adds Windows 26.527 evidence, a same-version working Windows machine comparison, and the
browser_use_availability_resolved ... reason=statsig-disabledlog path.Refining the earlier diagnosis: I would no longer describe this as simply "region-gated".
Both Windows machines are reportedly on the same network, with the same account and the same Codex Store package/version, but they receive different availability outcomes:
browser_use_availability_resolved available=false ... reason=statsig-disabledbrowser_use_availability_resolved available=true ... reason=availableThe broken machine also cannot use Browser/Chrome/phone pairing, while the other machine can. Since the network is the same, this is less likely to be a simple public-IP geolocation block.
A more precise hypothesis is:
Additional update: general Windows Computer Use was locally recovered on the broken machine by setting the packaged Windows diagnostic override:
After relaunch, logs showed
computer-useadded to the runtime marketplace and the native pipe becoming ready. A live action test verified Codex could launch Calculator, enter an expression, and read back the result. However, Browser/Chrome/phone pairing remained unavailable and Browser Use continued to logreason=statsig-disabled.So the current split is:
CODEX_ELECTRON_ENABLE_WINDOWS_COMPUTER_USE=1This points to the remaining bug being in server-side feature eligibility evaluation, cached device/install state, or rollout assignment for this machine, rather than the installed package or local bundled plugin files.
Follow-up: Remote Connections / phone pairing appears blocked by the same server-side desktop-feature gate on this Windows device
Same machine as the Browser/Computer Use report:
Symptom
The Connections settings page is entirely absent from Settings on this device. The Settings sidebar goes roughly
Hooks -> Git -> Environments, with noConnectionsentry and noProfileentry. There is therefore nowhere to start the phone-pairing / remote-control setup or scan a pairing QR.A second Windows device on the same ChatGPT account, same Store package, and same network shows the Connections page normally and can pair. So this does not look like missing local files or simple public-IP geolocation. It looks like a per-device eligibility/rollout difference.
Code-level finding
Desktop feature flags default off in the main bundle, including:
The only ungated production override found is:
That flips only
computerUse/computerUseNodeRepl, which explains why general Windows Computer Use can now work on this device.For Remote Connections, the renderer feature-resolution block appears to set:
This is the same general Statsig/experimental-feature path that logs the Browser Use result. On the affected machine, every session still logs:
Remote-connections bootstrap never gets past the idle/no-enrollment state:
The evidence points to
controlgate2171042036being off for this device, which hides the Connections UI before enrollment can even start.deviceAttestationgate307909863is also in the same server-gated feature block and appears to be part of the remote-control enrollment prerequisites, although I did not directly read a resolved cached boolean for that gate.Why this still needs a server-side fix
CODEX_ELECTRON_DESKTOP_FEATURE_OVERRIDEScould theoretically setcontrol:true, but the app only honors it whenbuildFlavor === Dev. The signed Store build is Prod/PublicBeta, so that override path is not available for this package.That leaves no production-safe local override comparable to
CODEX_ELECTRON_ENABLE_WINDOWS_COMPUTER_USE=1for Remote Connections. The remaining routes would involve spoofing feature flags/build flavor/device identity or modifying the signed Store package, which would not be a real user fix and would likely fail server-side enrollment anyway.Request
Please check/enable the Remote Connections rollout for this account/device, especially the
controlgate (2171042036) and the relateddeviceAttestationgate (307909863), or provide the eligibility rule that explains why two machines with the same account, package, and network receive different results.A diagnostic command or log line that exposes the resolved gate decisions plus the device/install identifier used for bucketing would make this much easier to distinguish from region, account, org-admin, or stale device-state issues.
Additional support cross-reference:
In-app feedback was submitted from the affected machine with ID:
New evidence after temporary recovery and Store reinstall
On 2026-05-31, this same Windows host temporarily had the missing surfaces available: the Settings UI showed Connections, the user paired an iPhone to this host, and mobile remote access worked. The phone still shows the affected host as connected.
Later the same day, the user uninstalled Codex and reinstalled it from the Microsoft Store for a clean app install. This reinstall was done specifically to return to a clean app state after earlier local workaround experiments. After that reinstall, the bug returned:
Current package after reinstall is still:
Current launch log confirms this is a normal packaged prod build:
Current logs after reinstall show Remote Control startup calls succeed at the routing layer, but the app has no saved local remote connections and still resolves Browser Use as disabled:
The runtime bundled marketplace after reinstall is again reduced to:
because the user-scope
CODEX_ELECTRON_ENABLE_WINDOWS_COMPUTER_USE=1override is still present. Without that override, this would likely be onlylatexagain.One notable leftover from the temporary good state: the local plugin cache now contains
chromeandcomputer-use, and achromenative extension host process is running from:But the active runtime marketplace does not expose
chrome, and the Settings/availability resolver remainsstatsig-disabled.This suggests the eligibility state can flip for this same account/device/package, and that a Store reinstall can recreate/reset enough local install/device state to fall back into the disabled rollout bucket, while a previously paired mobile session can continue independently.
I am seeing the same problem on Windows.
Environment:
Local package evidence:
Observed behavior:
What this seems to rule out:
Expected behavior:
This appears similar to the reported
reason=statsig-disabled/ runtime availability gate issue.no-active-thread-019e8255-bbd7-7763-93ae-01ad06bdd1da
I’m seeing a very similar Windows device-specific Computer Use availability issue, but in my case it fails before the nativePipe/helper layer.
Same ChatGPT Google account can use Computer Use on another Windows PC, but this Windows device has no Computer Use entry in Settings and Plugins search does not find it.
Local evidence:
%USERPROFILE%\.codex\plugins\cache\openai-primary-runtimecontains onlydocuments,spreadsheets, andpresentations; nocomputer-usedirectory exists in the formal plugin cache.%USERPROFILE%\.codex\config.tomlhas no[plugins."computer-use@openai-primary-runtime"]entry.computer-usedirectories, but no.codex-plugin/plugin.json.%USERPROFILE%\.cache\codex-runtimes\...\node-runtime.tar.xzis0bytes.e7eaf378-2e40-4277-a2f1-1ad97d965289.So this looks like
features.computerUse/computer-use@openai-primary-runtimeentitlement or marketplace visibility was not delivered to this installation/device, rather than nativePipe being installed and then failing at runtime.Adding another Windows/Vietnam data point that matches this issue.
Environment:
Symptom:
In Codex Settings > Browser, the Browser toggle is disabled with:
The feature worked previously on this machine/account, but is now disabled.
Latest desktop logs repeatedly show the same availability gate:
Local package evidence:
The installed Windows Store package contains the bundled plugins:
But the runtime-written bundled marketplace only exposes
latex:Local config / managed policy checks:
This looks like the same runtime eligibility / Statsig gate path rather than a missing local plugin package or user config disabling Browser Use.
Request:
Could maintainers check why this installation/account is receiving
reason=statsig-disabledfor Browser Use on Windows in Vietnam, even though the installed package containsbrowser,chrome, andcomputer-use, and no local managed config appears to disable the feature?Same build here —
OpenAI.Codex_26.527.3686.0_x64__2p2nqsd0c76g0, Windows 11 Pro (26200),individual ChatGPT Plus account (
organizations: []). I can add a root-cause detail: thestatsig-disabledresult is preceded by the Statsig post-login bootstrap throwing, notevaluating to false.
On every cold launch, the main-process log shows:
error [electron-message-handler] Statsig: error while bootstrapping post-login client
... "path": ["user","custom","workspace_type"], "message": "Invalid input" (invalid_union)
user.custom.workspace_typeisnull, which fails the client's union schema (acceptsstring/number/boolean/array/undefined, but not
null). Because bootstrap throws, no gatesare evaluated —
owl-feature-bootstrap-cache.jsonbecomes{"enabledOwlFeatureNames":[]}—and the runtime then collapses the marketplace and removes Chrome:
[BundledPluginsMarketplace] bundled_plugins_marketplace_added marketplaceName=openai-bundled marketplacePluginNames=["browser","latex"]
[BundledPluginsMarketplace] bundled_plugin_uninstall_requested pluginId=chrome@openai-bundled reason=not_in_bundled_marketplace_plugin_names
So on my account,
statsig-disabledis a downstream symptom of the bootstrap crashing on anull
workspace_type, not a deliberate region/org decision. Additional notes:organizations: [](personal Plus) — the "disabled by your organization or unavailable inyour region" message is misleading.
bound to the server-provided account profile, not local cache.
workspace_typeis not a literal inapp.asar, so thenullappears to come from theaccount profile that gets spread into the Statsig user object.
Suggested fix: coerce null/absent
workspace_typetoundefinedbefore the Statsig bootstrap(client-side), and/or correct the account-profile field server-side. Happy to share full logs.
even with node_repl wired back, the native pipe bridge stays untrusted. the runtime trust gate owns browser-use, not the local plugin files.
Follow-up after the app auto-updated to 26.602.4764.0 (still reproduces) — plus a partial workaround and the next bug it exposes.
Workaround (computer-use only): setting the user env var
CODEX_ELECTRON_ENABLE_WINDOWS_COMPUTER_USE=1and fully restarting does flip the gate. The app honors it directly:After restart the bundled marketplace changes from
["browser","latex"]to["browser","computer-use","latex"]and the native pipe attempts startup — so the gate bypass itself works.But it dead-ends on a second defect: the computer-use plugin install is skipped, so the helper is never staged where the launcher resolves it:
The launcher throws unless both paths resolve:
These resolve from the installed plugin location, which
install_skipped_missingnever populates — even though the helper exists in the bundled staging copy:So on Windows two defects stack:
computer-useplugin's install is skipped, so its helper is never staged to the resolved path (matches the "computer-use runtime missing / 0-byte tarball" reports here);user.custom.workspace_type = null(per my earlier comment) →enabledOwlFeatureNames: []→ fallback marketplace.The env var only bypasses the gate for computer-use; it does not fix the skipped install (1) or the Chrome path (2).
Repro: personal ChatGPT Plus,
organizations: [], Windows 11, Codex 26.602.4764.0.Correction to the "statsig-disabled / region-entitlement gate" framing — across two Windows machines and three app versions, the Chrome drop is driven by
hasExternalPluginStateSync, not an eligibility gate. There appear to be two independent defects:Defect A — what actually drops chrome/computer-use:
hasExternalPluginStateSync=falseatbundled_plugins_reconcile_started.| log | app ver | hasExternalPluginStateSync | marketplace written | chrome |
|---|---|---|---|---|
| 06/04 | 26.519.11010 | true |
["browser","chrome","latex"]| installed ✅ || 05/30 | 26.519.11010 | false |
["browser","latex"]| excluded ❌ || 06/09 | 26.602.9276 | false |
["browser","latex"]| uninstall_requested ❌ |05/30 is the control: same version as 06/04, no Statsig crash, yet chrome is excluded because sync=false. On my second machine,
hasExternalPluginStateSync=falseon every launch → chrome never present.This is not an eligibility/region/trust gate:
browser_use_availability_resolved = available=true, reason=availablein every log;deviceAttestation/ entitlement /statsig-disabledlines anywhere;Features enabled enabledFeatures=…) never contains chrome.So chrome tracks a racy external-plugin-state-sync that's intermittently
false— version-independent, reproducing on two machines.Defect B — separate, new in 26.602: post-login Statsig bootstrap crashes on
user.custom.workspace_type = null.Fails all five branches including
undefined→ the field is present-and-null(personal account, org title "Personal", no workspace). Union omitsnull; fix =.nullable()/ coerce null→undefined. No such crash in any 26.519 log. Fires ~32 s after the chrome decision, so it does not cause the drop — it does leaveowl-feature-bootstrap-cache.json = {"enabledOwlFeatureNames":[]}.Net: the Chrome/Computer-Use unavailability is Defect A (
hasExternalPluginStateSync=false), not a region/entitlement gate, and would not be fixed by correctingworkspace_typealone. Repro: personal Plus,organizations:[{title:"Personal",role:"owner"}], two Windows 11 PCs, 26.519.11010 → 26.602.9276.Update — this is intermittent on both of my machines, which pins it as a startup ordering race rather than any per-account or per-device state.
Same ChatGPT Plus account, two Windows 11 machines, both on 26.608.1337.0. Chrome + computer-use availability flaps between launches on each machine, tracking
hasExternalPluginStateSyncatbundled_plugins_reconcile_started:sync=truelaunch → marketplace["browser","chrome","computer-use","latex"],chrome_extension_sync_decision=keep_installed, the cua runtime installs andcodex-computer-use.exe+ native pipe go live → Chrome + Computer Use work.sync=falselaunch → marketplace["browser","latex"], any installed chrome is reaped (not_in_bundled_marketplace_plugin_names), andbundled_plugin_install_skipped_missing pluginName=computer-use(cua runtime never downloads) → both features disappear.Machine A had one
sync=truelaunch and worked, then later launches wentsync=falseand it broke again. Machine B has beensync=falseacross 6+ relaunches. So it isn't a "good machine vs bad machine" — each machine is non-deterministic across launches.Every
falselaunch logs, just before the reconcile:…and a full sign-out/sign-in does not help — that warning fires even immediately after signing in. This strongly suggests the bundled-plugin reconcile races ahead of account/remote-control state readiness and reads sync as
falsewhen it's simply not ready yet, then reaps installed plugins.Suggested fix: have the startup reconcile await external-plugin-state-sync readiness (or re-reconcile once it resolves) before writing the bundled marketplace, instead of treating not-yet-ready as
false. Repro: personal Plus,organizations:[{title:"Personal",role:"owner"}], 2× Windows 11, 26.608.1337.0.