Windows update regression: Chrome and Edge control fail with request-header policy error; in-app browser works
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Codex App version
26.903.8094.0 (Windows x64); bundled browser component 26.903.61454.
Subscription
Not included in this report.
Platform
Windows x64.
What issue am I seeing?
Browser control worked normally before I updated Codex. After the update, controlling Chrome and Edge fails with:
Unable to load browser request-header policy. Retry the browser command.
This blocks my external-browser workflows. My Chrome ChatGPT extension is version 1.26.901.11451, enabled, and shows no visible error. I did not record the previous working Codex version.
Important scope clarification: In a subsequent test, Codex's built-in browser successfully opened https://example.com/, read its content, clicked “Learn more,” and read the resulting IANA page. The failure I reproduced is in Chrome and Edge control; I am not claiming that every browser backend is broken. The successful in-app test was later, rather than a simultaneous comparison with the external-browser failures.
Steps to reproduce
- Update Codex from a working installation.
- Launch Chrome with the ChatGPT extension enabled.
- Ask Codex to inspect browser state.
cua.getState()repeatedly fails after approximately 20–21 seconds with the error above. - Launch the Edge profile containing the ChatGPT extension and ask Codex to open a test page. An explicit call also fails:
await cua.createBrowserTab('edge', 'https://example.com', {
sessionName: 'Edge connection test'
});
- For comparison, a subsequent built-in-browser test succeeds:
await cua.createBrowserTab('iab', 'https://example.com', {visible: true});
Opening, reading, and clicking through a link were all verified in that built-in-browser test.
Expected behavior
I expect Chrome and Edge control to keep working after updating Codex, as they did before the update.
Troubleshooting and diagnostic evidence
I troubleshot this with Codex:
- Fully restarting Codex did not fix the external-browser failure.
- Resetting the CUA JavaScript session did not fix it.
- Desktop logs report the extension installed and the bundled Chrome plugin current.
- The bundled
browser-service.mjsthrows this exact error when Statsig initialization is unsuccessful or the client is not Ready, before obtaining thecodex_browser_use_agent_request_headergate. - Desktop logs also record
Timed out while fetching post-login Statsig bootstrap. This is related evidence, not proof that both initialization failures have the same underlying cause. - An independent valid Statsig initialization POST from the bundled Node runtime on my machine returned HTTP 200 with a complete response in approximately 3.2 seconds, using a synthetic diagnostic identity. This does not prove that the browser tool's own request path works.
- FlClash TUN was active; the Windows system proxy was disabled. No proxy, extension, or security-policy settings were changed during diagnosis.
I can confirm the before/after update behavior, but I do not know which internal change caused it. Please investigate the external-browser request-header-policy initialization path and provide an actionable underlying error.
Related report
Related: #44112. I previously added my evidence there: https://github.com/openai/codex/issues/44112#issuecomment-5601902275. I am opening this standalone report to document my update regression, the exact versions, Edge reproduction, and the later successful built-in-browser comparison together.
No credentials, cookies, private page content, or raw account logs are included.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with bundled browser-service.mjs and the external-browser request-header-policy initialization path; inspect how Statsig initialization failures and non-Ready states are surfaced. Reproduce the Chrome and Edge failures using the issue's cua.getState() and createBrowserTab calls, compare logs with the successful iab case, and consider the work done when the underlying error is actionable and external-browser control works again.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, rust
- Domain
- api, backend, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100