Skip to content

[Windows][Computer Use] zh-CN document-role URL detection failure on @oai/sky 0.7.8; narrow correction restores Chrome and Edge #54532

Open

Description

@Ace-Kelly

Summary

On Chinese-language Windows, native Computer Use could enumerate and activate Chrome/Edge windows, but acquiring Chrome window state stopped with the browser-URL confidence error. On this installation, a narrowly scoped document-type predicate correction in the native helper restored native window-state acquisition and browser interaction in both Chrome and Edge.

This adds a verified @oai/sky 0.7.8 / zh-CN result to #53026, whose published local repair was originally restricted to a different 0.7.7 helper hash. Please ship an official source-level correction rather than requiring users to patch signed executables.

Related reports:

Environment verified on 2026-10-16

Component Version
Windows Windows 11 Home, build 26300; UI culture zh-CN
Desktop app 26.1013.31256, build 20586
Installed MSIX 26.1013.3656.0
Computer Use bundle 26.1013.31256
@oai/sky 0.7.8
Chrome 155.0.8059.84
Microsoft Edge 155.0.4283.45

The desktop updater returned up_to_date before the local correction. The original native helper had a valid OpenAI OpCo, LLC Authenticode signature.

Failure before the correction

Using the documented @oai/sky API:

  1. Enumerate windows with sky.list_windows().
  2. Select the unique Chrome window returned by the API.
  3. Bind it with sky.get_window() and activate it.
  4. Request window state.

A fresh Chrome New Tab failed before a usable screenshot/accessibility tree was returned:

Computer Use has been stopped for this turn because it could not determine the current browser URL on Windows with enough confidence to enforce policy.

Native input was not continued after that stop. The later validation occurred after explicit user authorization for the local correction.

Local correction and integrity checks

The helper is located under:

%LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node\<runtime>\bin\node_modules\@oai\sky\bin\windows\codex-computer-use.exe

Original SHA-256:

14d5e9c7336dd34aa8476f218dd45e033b8416bdad6c58fa79c84169ae59f2f3

The complete original 42-byte predicate sequence from heelee912/codex commit 95ee61d occurred exactly once in this 0.7.8 file, at the same file offset, 0x1B6C6.

The published script was not run with its hash guard disabled. Instead, this installation's original whole-file hash, the exact original instruction sequence, its uniqueness, and its offset were checked before a local adaptation.

The correction replaces the localized-role string predicate with:

successful CachedControlType read
AND CachedControlType == UIA_DocumentControlTypeId (50030)

A failed getter or a non-document type follows the non-candidate path. The later RootWebArea/value checks and all bytes outside the 42-byte region were left unchanged. This does not inject a URL, force a successful policy result, or disable URL/permission enforcement.

Validation of the file modification:

  • Original file backed up and backup SHA-256 verified.
  • 42-byte region replaced; 36 bytes actually differ.
  • Complete modified file read back and compared with the expected image.
  • No changes outside that region.

Modified SHA-256:

08a7a2a9b94ef1c63b935d0424c04289fffbef8c766cab7b7cde67ab68c0f277

As expected, modifying the signed executable makes Authenticode report HashMismatch. This is an unsupported local workaround, not an official signed fix. No binaries are attached or distributed.

Actual native Computer Use results afterward

Validation used @oai/sky native APIs, not extension-backed Browser Use as a substitute.

Check Chrome Edge
Native accessibility tree and screenshot returned Passed Passed
Navigate through the native address-bar control to the public Selenium web form Passed Passed
Click the Text input control Passed Passed after refreshing window/geometry
Set test text through native sky.set_value Passed Passed
Read back the exact text in the native tree and screenshot Passed Passed
Clear test text and restore the original New Tab page Passed Passed

No browser-URL confidence error recurred during these checks. Screenshot-plus-text and text-only state requests succeeded. Screenshot-only requests were not separately tested.

Ordinary minimized-window, user-input-detected, and one click-geometry precondition occurred during validation and were handled by fresh observation/activation. Those checks were not disabled. Some structured focused_element results still referred to the address bar after a click, so this report does not claim that every native focus/geometry issue is resolved. Writing was verified through an explicitly targeted native control and actual content readback.

Scope and limitations

  • This is before/after evidence for this particular installation and predicate change, not proof that every report with this error has the same cause.
  • We did not instrument the live UIA getter values on this machine, nor perform a full restore/reapply runtime experiment.
  • Persistence across a complete desktop restart or a future update has not been tested; updates may replace the local correction.
  • A separate browser-tool networking problem was resolved by routing the tool process through the configured proxy. Extension-backed page reading/writing worked before the native correction. Proxy success alone did not repair the native URL failure.

Requested upstream fix

Please:

  1. Classify document controls using successful numeric ControlType reads rather than localized display text.
  2. Preserve the existing URL parsing, window identity, candidate validation, and access-policy enforcement.
  3. Cover zh-CN/ko-KR and other localized document names, non-document controls named "document", and getter failures in regression tests.
  4. Link the official source-level fix and the first signed desktop/runtime release containing it.

Only public test-page details and component metadata are included; no private page contents, account details, screenshots, user-specific paths, or raw logs are attached.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    windows-osIssues related to Codex on Windows systems
    on Oct 16, 2026
  2. github-actions commented on Oct 16, 2026

    @github-actions
    Contributor

    Potential duplicates detected. Please review them and close your issue if it is a duplicate.

    Powered by Codex Action

  3. AurexLB commented on Oct 16, 2026

    @AurexLB

    Additional independent zh-CN reproduction and offline validation (2026-10-17)

    I reproduced the Windows native Computer Use browser-URL confidence failure on a separate Chinese-language installation and validated the reported localized-document predicate correction on an isolated, non-executed copy only.

    Observed environment

    • Codex Desktop: 26.1013.31256; installed MSIX: 26.1013.3656.0
    • Computer Use plugin manifest: 26.924.22138; active @oai/sky: 0.7.8
    • Windows UI culture: zh-CN
    • Original Sky helper SHA-256: 14D5E9C7336DD34AA8476F218DD45E033B8416BDAD6C58FA79C84169AE59F2F3
    • Original Authenticode: Valid (OpenAI OpCo, LLC)

    UI Automation evidence

    AutomationId: RootWebArea
    ControlTypeId: 50030
    LocalizedControlType: 文档
    

    The native @oai/sky calls discovered, bound and activated the Chrome window. sky.get_window_state({ window, include_screenshot: true, include_text: true }) then stopped with:

    Computer Use has been stopped for this turn because it could not determine the current browser URL on Windows with enough confidence to enforce policy.

    No browser action was attempted after this stop. Edge and full page-navigation acceptance were not tested on this installation.

    Isolated file-integrity experiment (NOT a live fix)

    Using a separate copy of the exact signed helper, independent tests found that the original predicate occurs exactly once at offset 0x1B6C6. The investigated correction changes 36 bytes within one 42-byte region and no bytes elsewhere. The resulting whole-file SHA-256 matches the locally corrected build already reported in this issue:

    08A7A2A9B94EF1C63B935D0424C04289FFFBEF8C766CAB7B7CDE67AB68C0F277

    As expected, the altered copy had Authenticode HashMismatch. Restoring its original bytes produced zero whole-file differences, the original SHA-256, and Valid Authenticode. Synthetic tests and unexpected-input rejection checks also passed. The temporary modified executable was restored and deleted. The installed helper and configuration were never modified.

    Limitations and maintainer request

    The modified helper was never executed in this independent test. This establishes byte-level reproducibility and reversibility, not actual browser recovery or runtime security semantics. It should not be treated as an endorsed workaround.

    Could maintainers confirm a source-level fix for localized UIA document classification (prefer numeric UIA_DocumentControlTypeId=50030 over locale-dependent strings), while retaining URL/origin/window-identity checks and all access-policy enforcement? Please identify the first officially signed Desktop/runtime release that includes the fix, and any supported regression-testing procedure.

    No credentials, local user paths, browser content, screenshots, or private logs are included.

  4. scorm88 commented on Oct 17, 2026

    @scorm88

    Additional unmodified signed-component evidence on zh-CN Windows — 2026-10-17

    Submitted with Codex assistance at the affected user's explicit authorization. This adds an independent reproduction and read-only evidence to this issue and #53026; no executable patch or policy bypass was applied.

    Observed environment

    • Windows x64; UIA observations on a Chinese-language Windows installation.
    • Desktop product: 26.1013.40934, build 20770; MSIX: 26.1013.4894.0.
    • Computer Use plugin: 26.1013.40934; @oai/sky: 0.7.8.
    • Microsoft Edge: 155.0.4283.62.
    • Native component: 1,551,152 bytes; original Authenticode signature is Valid, signed by OpenAI OpCo, LLC.
    • Native SHA-256: b6b0e4979b89e5c22dab866f0974bc817c0d08cb359e1c2dd7be3dccb9e181eb.

    This original component hash differs from the original hash in the issue description. We did not assume that a binary modification described for another build is applicable.

    Actual Edge failure

    An isolated Edge profile loaded a minimal loopback-only diagnostic page with no business API. The fixture recorded page readiness and the browser version above. The native Computer Use API then enumerated the intended window and successfully bound the unique returned window through sky.get_window({id, app}).

    At 2026-10-17T07:53:33.799Z, the state request:

    await sky.get_window_state({
      window,
      include_screenshot: true,
      include_text: true
    });

    failed with:

    Computer Use has been stopped for this turn because it could not determine the current browser URL on Windows with enough confidence to enforce policy. Stop your work and send a final message noting why Computer Use ended.
    

    No native click, text input, or save followed the stop. Fixture page readiness is not claimed as Computer Use success.

    Independent read-only UIA evidence

    Four earlier loopback Chrome observations crossed browser UI language (zh-CN / en-US) with the independent UIA client's UI culture (zh-CN / en-US). Every observation completed without a UIA error and found exactly one RootWebArea with:

    Property Result in all four observations
    Current / Cached ControlTypeId 50030 / 50030
    Current / Cached LocalizedControlType 文档 / 文档
    Current / Cached AutomationId RootWebArea / RootWebArea
    ValuePattern value Complete HTTP loopback URL, including scheme

    These are independent cross-process UIA observations, not the native helper's internal runtime trace. Changing only the browser UI or probe client's UI culture did not make the localized document label English.

    Read-only static inspection and limits

    The inspected signed component builds a role from nonempty CachedLocalizedControlType, while URL candidate selection compares that role with ASCII document before checking RootWebArea. This supports the localization defect reported in #53026. The installed component's SHA-256 was rechecked and still matches the inspected original.

    We have not captured the Edge-specific native UIA getter results or the exact live failing predicate. Thus this is not a claim that localization is the sole cause of the Edge failure, nor proof of recovery after a repair. No native state call was repeated for this public submission.

    Maintainer request

    Please provide an official source-level correction and identify the first officially signed Windows desktop/runtime release containing it, or a supported content-free diagnostic procedure. Document classification should use stable numeric UIA ControlType values while preserving URL parsing, window/tab identity, origin verification, and all policy checks. Unknown or ambiguous URLs must remain fail-closed.

    No local configuration, installed executable, application package, security setting, or browser permission was modified. No process restart, production operation, deployment, or publication was performed for this submission. This comment contains no credentials, account/chat/request identifiers, personal paths, private page contents, screenshots, raw logs, raw UIA trees, or memory dumps.

  5. mogusaaama commented on Oct 17, 2026

    @mogusaaama

    Request: supported signed recovery for localized Windows native Computer Use

    We need a supported native Windows Computer Use recovery that does not require signing out of Windows, keeping the Windows display language in English, switching to DOM/extension automation, or patching the signed URL-discovery component.

    Verified installation:

    • Desktop 26.1013.40934, build 20770, prod; updater currently reports up_to_date.
    • MSIX 26.1013.4894.0; @oai/sky 0.7.8; zh-CN Windows UI.
    • Signed native component: 1,551,152 bytes, valid OpenAI OpCo, LLC signature.
    • SHA-256 B6B0E4979B89E5C22DAB866F0974BC817C0D08CB359E1C2DD7BE3DCCB9E181EB.

    The documented native API discovers and binds the intended browser window, but screenshot-only window-state acquisition stops at browser URL confidence verification before returning a screenshot. Manually opening an ordinary HTTPS page did not recover it. No browser input continued after that stop.

    Read-only inspection of this exact signed file confirms the localized-role comparison described in this issue. We have not captured internal getter values of the failed call, so we do not claim it is the sole runtime cause. No signed component, URL check, permission, or browser profile was modified. The installed Windows English language pack was verified but no system-language change was applied.

    Could maintainers provide either:

    1. The first officially signed Desktop/native-runtime release containing locale-independent Document classification, with the supported installation/update path; or
    2. A supported process-scoped configuration that fixes discovery without Windows sign-out or changing the system display language?

    The required acceptance flow is the documented native API returning a screenshot, then one screenshot-derived coordinate click and literal keyboard input on a public test form, followed by a screenshot confirming the result. URL parsing, window/tab identity, origin verification and policy enforcement must remain active; unknown URLs must remain fail-closed.

    We have not attempted a binary patch, DLL/resource substitution, custom helper launch/protocol, URL spoofing, or replacement browser automation. The requested production workflow requires screenshots, mouse and keyboard only.

  6. xuxuanzhu1128-cmyk commented on Oct 19, 2026

    @xuxuanzhu1128-cmyk

    Independent reproduction on Desktop 26.1013.40934 (2026-10-19), with network and IAB controls

    I'm adding another user-observed reproduction of the native Windows Computer Use URL-confidence failure. No native files were modified and no URL/policy check was bypassed.

    Environment

    • ChatGPT Windows desktop, "Powered by Codex & OWL", version 26.1013.40934, released 2026-10-17 (as shown by the application's About dialog).
    • Windows 11 with Chinese display language.
    • Microsoft Edge (exact version not recorded).
    • Clash-family proxy client using Windows System Proxy at 127.0.0.1:7890. Both Rule and Global modes were tested.

    Reproduction

    1. Open https://example.com/ in a normal Edge window. Initially multiple tabs were open; repeat with only one tab.
    2. Ask native Windows Computer Use to identify the active Edge page and read its title, then click "Learn more" only if its URL can be verified.
    3. Computer Use detects the Edge window and its title (including Example Domain), but stops before browser content verification or clicking, with the exact error:
    Computer Use has been stopped for this turn because it could not determine the current browser URL on Windows with enough confidence to enforce policy. Stop your work and send a final message noting why Computer Use ended.
    

    The same failure reproduces in Clash Global mode and with a single Edge tab. No browser action was taken after the stop.

    Network controls

    • Test-NetConnection 127.0.0.1 -Port 7890 reported TcpTestSucceeded : True.
    • curl.exe -I --connect-timeout 10 --max-time 20 --proxy http://127.0.0.1:7890 https://example.com returned HTTP/1.1 200 Connection established followed by HTTP/1.1 200 OK.
    • These controls establish proxy reachability for the tested request, not that all Computer Use subprocesses inherit that proxy. TUN-only mode was not tested.

    Comparison with supported ChatGPT in-app Browser Use (same Windows machine and proxy setup)

    • Successfully enumerated the in-app tab, verified URL https://example.com/, and read title Example Domain.
    • Successfully clicked "Learn more", navigated to https://www.iana.org/help/example-domains, and read the title Example Domains.
    • An earlier IAB attempt once timed out (js execution timed out; kernel reset), but a fresh Work session successfully completed discovery, read, click, and navigation.

    Interpretation / request
    The machine can perform browser automation through IAB, while native Windows Computer Use on external Edge consistently fails during URL-confidence verification. This is consistent with the zh-CN native document-role detection issue discussed here; it does not by itself prove the exact code-level root cause. Please provide a supported, signed fix for native Edge/Chrome URL detection. The user does not want to modify the signed helper or bypass URL policy checks.

    Neither native Chrome nor TUN-only proxy mode has been tested on this machine.

  7. PeppaPiggy945 commented on Oct 23, 2026

    @PeppaPiggy945

    Additional read-only evidence on Desktop 26.1016.62342 / build 21477 (prod), MSIX 26.1016.8622.0, @oai/sky 0.7.12, zh-CN Windows.

    The updater reports up_to_date. Native browser window-state acquisition still stops with the browser-URL confidence error on an ordinary HTTPS page. Extension-backed browsing works and is not claimed as native recovery.

    The currently loaded, unmodified native component has a valid OpenAI signature, size 1,551,152 bytes, and SHA-256 aa6eb7e98d62888495f002168c3249d694912a81a029f32a1473f07e52b51679. Read-only static inspection found the same original document predicate reported here, including its fixed ASCII document literal and localized-role getter path.

    Independent non-browser diagnostics show native UIAutomation activity and successful request transmission while include_text requests return accessibility:null. We have not captured the failed browser element's internal getter values and do not claim localization is its only runtime cause. No binary, URL policy, security setting or browser permission was changed, and no third-party patch was executed.

    Please identify an officially signed fix using locale-independent numeric Document classification while retaining URL/origin/window-identity and access-policy checks, or provide a supported content-free export of the native resolver's candidate rejection reason.

  8. bomax961-droid commented on Oct 24, 2026

    @bomax961-droid

    Current @oai/sky 0.7.13 still has the localized document-role predicate; separate native WGC timeout evidence

    Environment verified on 2026-10-24:

    • Desktop 26.1021.31345, build 21828, prod; MSIX 26.1021.3705.0.
    • @oai/sky 0.7.13. Original Rust helper SHA-256:
      11825cb78575d9099aed8f13d16f78b03c20a1a0ebc809cf78b406fb2f25f5f8
    • The helper still has a valid OpenAI Authenticode signature. No executable or policy has been modified.
    • Windows 10 Pro 22H2 build 19045.6456; installed Windows UI language zh-CN.
    • Chrome 155.0.8059.86 x64.

    URL evidence:
    Native window enumeration and get_window succeed. Previously recorded get_window_state requests stopped with "could not determine the current browser URL on Windows", including an ordinary public HTTPS page with screenshot:false and text:true. No browser input followed the safety stop. This report did not repeat the URL failure for submission.

    Read-only verification of this exact 0.7.13 helper confirmed the same original document predicate described in issues #53026/#54532. The role builder prefers a successful nonempty CachedLocalizedControlType string over the numeric fallback. That returned role is compared against fixed ASCII "document" before the subsequent RootWebArea check. The original reference region occurs exactly once. This was independently checked as a connected getter-to-comparison data flow, not merely a string search.

    This establishes a current static localization defect. We have NOT captured this host's live Chrome getter values or demonstrated causal recovery. The live UIA values in other users' comments are not this host's measurements.

    Separate screenshot diagnostics:

    • A new blank Paint window was activated, and native text-only reading succeeded.
    • One instrumented native screenshot request still returned "window capture timed out: timed out waiting on channel" after about 5.1 seconds.
    • A 64-bit Windows PowerShell capability check returned GraphicsCaptureSession.IsSupported() = true.
    • GPU: VMware SVGA 3D 9.17.9.4, WDDM 1.2, DDI 11.1, Direct3D enabled. This is environment information, not proof of a driver cause.
    • A bounded system ETW capture recorded native-helper GetCachedPropertyValue CacheRequest warnings. The successful text-only control also recorded these warnings, so we do not treat them as the timeout cause.
    • DWM Present calls continued with return value 0. No corresponding native-helper D3D/DXGI or Graphics-Capture-Server events were observed in this sample. This absence is not proof that WGC APIs were never called.
    • All temporary ETW collectors were stopped and removed.

    Observability gap:
    The installed Windows helper_transport.js buffers stderr privately. Ordinary failed requests propagate only the error string; the transport-timeout cleanup can clear stderr before process termination. Desktop feedback logging and CODEX_MAX_LOG_LEVEL have not been shown to expose the detailed native URL/capture pipeline.

    Requested maintainer response:

    1. Identify the first officially signed release fixing locale-independent Document classification while retaining URL parsing, identity/origin validation and access enforcement.
    2. Provide a supported content-free native diagnostic switch/build that records request correlation, backend/PID/TID, URL candidate rejection and property HRESULTs.
    3. For capture, record device/session/frame-pool creation, StartCapture, FrameArrived, TryGetNextFrame, surface-copy start/completion, async status and callback apartment, retaining stderr before reset.

    No raw ETL, browser contents, screenshots, account identifiers, private paths, full transcripts or memory dumps are included in this draft.

  9. haru328 commented on Oct 24, 2026

    @haru328

    Additional unmodified ja-JP Windows reproduction, 2026-10-25.

    Desktop 26.1021.31345/build21828 (prod), MSIX26.1021.3705.0, Windows11 build26100, installed/current UI culture ja-JP, @oai/sky0.7.13. The updater reports up_to_date after the user restarted the app.

    The active native helper is 1,551,152 bytes, SHA-25611825cb78575d9099aed8f13d16f78b03c20a1a0ebc809cf78b406fb2f25f5f8, with a valid OpenAI signature. It and three associated runtime files match the installed package byte-for-byte. This excludes a stale copied helper for these inspected files.

    The official Chrome extension returns the HTTPS URL and page accessibility content. After creating an isolated window displaying public https://example.com/, the protected native cua.getApp(windowId) path still stopped before input because it could not determine the current browser URL on Windows with enough confidence to enforce policy. Extension success is not claimed as native recovery.

    This exact helper hash matches the 0.7.13 component discussed above. The localization finding is a strong candidate, but this host's internal failed UIA getter values were not captured; no sole-cause or causal recovery claim is made.

    Please identify a supported, officially signed fix preserving URL parsing, candidate identity/origin validation and policy enforcement, or provide content-free diagnostics for the candidate rejection/property HRESULT. No binary, browser profile, language, access policy or security setting was changed. No raw logs, private page URLs, screenshots, account/chat IDs or personal paths are attached.

  10. DDR-DR commented on Oct 26, 2026

    @DDR-DR

    Additional unmodified zh-CN Windows evidence, verified on 2026-10-26.

    Environment:

    • Desktop 26.1021.31345, build 21828, production channel; the official update-check tool returned up_to_date.
    • Installed Windows package 26.1021.3705.0; @oai/sky 0.7.13; Windows UI culture zh-CN.
    • Native helper SHA-256: 11825cb78575d9099aed8f13d16f78b03c20a1a0ebc809cf78b406fb2f25f5f8.
    • The helper has a valid OpenAI Authenticode signature and matches the helper inside the installed application package byte-for-byte. Its hash was unchanged after inspection.

    The supported native browser-window path previously stopped with “could not determine the current browser URL on Windows with enough confidence to enforce policy.” No further native input followed that stop. This submission does not claim a new runtime reproduction. Separate supported browser-extension tests successfully read ordinary public HTTPS pages in Chrome and Edge; those successes are not evidence of native recovery.

    Independent, read-only inspection of this exact helper confirmed the connected static data flow:

    1. The role builder calls IUIAutomationElement.get_CachedLocalizedControlType.
    2. A successful nonempty localized description is retained, skipping the numeric ControlType fallback.
    3. The retained role reaches URL-candidate selection, where it is compared with fixed ASCII document using an ASCII case-insensitive comparison.
    4. A mismatch skips the candidate before later RootWebArea/nonempty-value checks.

    The getter identities were checked against the local Windows SDK 10.0.26100.0 UIAutomationClient.h definitions, in addition to offline disassembly. This was not just a string search or a match to another user's version.

    Limitations: we did not capture the failed request's internal UIA getter values, instrument the running process, or execute a modified helper. We therefore do not claim localization is the sole cause of this installation's runtime failure, or that recovery has been demonstrated. No binary, policy, permission, browser profile, or system language was changed. The original component and relevant configuration have been backed up locally.

    Please identify the first officially signed release fixing locale-independent Document classification, or provide a supported, content-free diagnostic procedure. The correction should preserve getter-failure handling, URL parsing, window/candidate identity, origin validation, and all access-policy enforcement.

    Submitted with Codex assistance at the user's explicit request. No private page contents, screenshots, account/chat IDs, credentials, order data, full logs, or personal filesystem paths are included.

  11. huangweifu888-jpg commented on Oct 27, 2026

    @huangweifu888-jpg

    Title: Windows zh-CN: native Chrome URL resolution stops while the official extension reads the loaded page

    Additional report, 2026-10-27. Submitted with Codex assistance at the user's explicit request.

    Request
    Please provide a supported, content-minimized diagnostic or an officially signed fix for native Windows browser URL resolution. The user needs to keep Windows in Chinese. We need to distinguish localized Document classification from empty URL values, window/tab association, and other candidate-rejection reasons.

    Verified environment

    • Windows 11 Pro, build 26300; current UI culture zh-CN.
    • Codex desktop 26.1021.31345, build 21828, production channel.
    • Installed Windows package 26.1021.3705.0.
    • Computer Use / Chrome plugin bundle 26.1021.31345.
    • Chrome 156.0.8078.48; ChatGPT extension 1.26.1020.11845.
    • The official updater previously returned up_to_date on the same day; this report does not assert a fresh update check.
    • Local @oai/sky version and selected native backend are not independently established in this report.

    Actual observations

    1. After the user unlocked Windows, the official Chrome extension successfully returned the URL and accessibility body of a loaded HTTPS page. A public Help Center page also returned an extension screenshot in an earlier test.
    2. In the latest native test, the target was an existing loaded Chrome page, not a newly created empty tab. Native window inventory returned the expected Chrome title. The selected window was activated, then the supported cua.getApp({windowId}) call failed before usable native state was returned.
    3. Latest recorded native failure: 2026-10-27 15:57:39.992 UTC+08:00.
    4. The returned error was: "Computer Use has been stopped for this turn because it could not determine the current browser URL on Windows with enough confidence to enforce policy. Stop your work and send a final message noting why Computer Use ended."
    5. The turn ended on this response. Extension success is not reported as native recovery. No native repair has been verified.

    Localization evidence and limits
    Current public Chromium source returns an empty localized role description for RootWebArea. The Windows provider leaves LocalizedControlType as VT_EMPTY when no explicit or generated role description is available, allowing UIA core to supply its default translation. Microsoft documents this fallback. Therefore changing Chrome menu language alone is not a reliable way to change the suspected UIA value.

    This source inspection concerns Chromium main, not a verified exact source tag for the installed Chrome build. It is not a measurement of this machine's failed UIA request. Community issue #54532 also contains current-version static localization findings, but we have not captured the internal getter values or established that the failed request on this host took that branch.

    Questions for the maintainer

    • Can a supported diagnostic identify the actual native backend and correlate a request with a content-free rejection category?
    • Was the selected candidate rejected by Document role classification, URL-value availability/parsing, window/tab identity, or access policy?
    • For the relevant candidate, can the diagnostic report numeric ControlType, whether the localized role matched, getter HRESULTs, AutomationId classification, and only a Boolean for URL presence, without webpage text or a full URL?
    • If classification compares a localized description with fixed English "document", which officially signed release corrects it using locale-independent type identity while preserving all URL, window identity, and access-policy checks?

    Constraints and exclusions
    No vendor binary, browser safety policy, VPN configuration, or system language was changed. No community binary patch was executed. The user declined a Windows language change; no language A/B result is claimed. No video upload or publishing occurred during diagnosis. This report omits account/page identifiers, private URLs, local paths, screenshots, raw session logs, chat identifiers, and internal tool-call identifiers.

    Primary references
    https://learn.chatgpt.com/docs/computer-use
    https://learn.chatgpt.com/docs/chrome-extension
    https://learn.microsoft.com/en-us/windows/win32/winauto/uiauto-automation-element-propids
    https://chromium.googlesource.com/chromium/src/+/refs/heads/main/ui/accessibility/platform/browser_accessibility.cc
    https://chromium.googlesource.com/chromium/src/+/refs/heads/main/ui/accessibility/platform/ax_platform_node_win.cc

    Related community evidence (not official fix announcements)
    #54532 (comment)
    #55198 (comment)
    #51524

  12. Macchi009 commented on Oct 27, 2026

    @Macchi009

    Additional read-only evidence from a Windows / Microsoft Edge task, 2026-10-28.

    The user is using Codex CLI in PowerShell / Windows Terminal, not the desktop app UI. The CLI remains 0.163.0-alpha.5. The available Computer Use skill bundle is 26.1021.31345. Please distinguish the initiating client from the native runtime components already running on the host.

    Observed boundary, using the supported cua API:

    1. Native window enumeration succeeds and returns the expected Edge window title.
    2. After the user restores and foregrounds the window, cua.getApp({windowId: returnedWindowId}) / native state inspection cannot obtain usable state. One management-page attempt first returned Accessibility state unavailable; the subsequent screenshot request returned the terminal URL-confidence error.
    3. On a separate user turn, the user selected an ordinary public HTTPS movie page in the same foreground Edge window. Enumeration again returned the expected title; cua.getApp stopped with the same URL-confidence error before any click or text input.
    4. On later turns, the separate supported extension-backed browser path successfully bound that same public page and returned its URL, title, a single work-title heading, and a page-content screenshot. These successes are not counted as native window/toolbar/popup recovery.

    Exact native error:

    Computer Use has been stopped for this turn because it could not determine the current browser URL on Windows with enough confidence to enforce policy. Stop your work and send a final message noting why Computer Use ended.
    

    Read-only metadata for resident native components:

    Component Size SHA-256 Authenticode
    @oai/sky 0.7.13, bin/windows/codex-computer-use.exe 1,551,152 bytes 11825CB78575D9099AED8F13D16F78B03C20A1A0EBC809CF78B406FB2F25F5F8 Valid
    bin/windows/swift/x64/codex-computer-use-swift.exe in the same runtime's sky package 56,534,320 bytes 108305FA71D93925EB86BB1EFAD65B171A2B83B23AAA3A19EB006F8B29E78966 Valid

    Both process names were present during metadata inspection. This does NOT establish which backend handled a failed request. The installed JS client uses a host-provided native pipe; its presence and the Rust helper's match to other reports are insufficient to establish the exact failed native implementation or live UIA values. We have not disassembled or modified either executable, attached a debugger, changed the Windows/browser language, or collected browser UIA through another mechanism.

    The Rust helper hash matches the 0.7.13 component reported in this issue, including the Japanese-Windows observation in comment 6390707596. That makes localized Document classification relevant to triage, but does not prove it caused this host's failure.

    Could the component owner provide:

    1. A supported, content-free way to identify the backend handling one failed request and distinguish URL acquisition, localized role classification, window/tab association, and access-policy evaluation?
    2. The first officially signed runtime release containing a locale-independent Document classification fix, if available, and its supported installation path?

    All URL/origin, window identity, and access checks must remain enabled. We respected each terminal stop, did not patch vendor binaries or relax permissions, and did not repeatedly retry the same failed native capture. No private URLs, account identifiers, local user paths, browser history, credentials, screenshots, raw logs, or memory dumps are included.

  13. Ahellowyy commented on Oct 29, 2026

    @Ahellowyy

    Additional zh-CN before/after result on @oai/sky 0.7.13 — 2026-10-30

    Submitted with Codex assistance at the affected user's explicit request. This adds actual native recovery evidence to this issue and #53026; please provide an official source-level correction and signed release.

    Observed environment

    • Windows x64, UI culture zh-CN.
    • Codex Desktop 26.1023.51421, build 22530, production; installed MSIX 26.1023.6621.0, as recorded during this diagnostic session.
    • Computer Use bundle 26.1023.51421; active @oai/sky 0.7.13.
    • Browser: Google Chrome, with vertical/sidebar tabs enabled.
    • Inspected native helper: @oai/sky/bin/windows/codex-computer-use.exe, 1,551,152 bytes. The backed-up original has a valid OpenAI OpCo, LLC Authenticode signature.

    Reproduction and expected behavior
    With a loaded HTTPS page foregrounded in Chrome, native window enumeration/binding worked, but native state acquisition failed before returning a usable screenshot/accessibility tree:

    await sky.get_window_state({
      window,
      include_screenshot: true,
      include_text: true
    });

    The returned error said it could not determine the current browser URL on Windows with enough confidence to enforce policy. Expected: obtain the real active-page URL and apply the existing URL/access checks regardless of the UI language.

    Scoped local experiment
    The user explicitly authorized a reversible trial. We inspected this build instead of assuming a patch for an older version applied.

    The localized-role comparison described in #53026 was present. Its exact 42-byte predicate occurred once, at file offset 0x1B6C6. Disassembly of the proposed change was checked against the surrounding control flow. The narrow correction classifies the candidate using a successful CachedControlType read equal to UIA_DocumentControlTypeId (50030); getter failure or a different type follows the non-candidate path.

    The experiment was based on the predicate approach in heelee912/codex commit 95ee61d, with independent checks for this build. The downloaded community script was not executed.

    • Original SHA-256: e8da127a4460864cd2ff1bd216d5d6477bf6c5a1ecadcb059513c26a6e0c1039.
    • Locally corrected SHA-256: c19e4ded7389ca3b942d5b1233e5d2f1ec47064cab4ef628ce511d319f9df12c.
    • 36 bytes differ inside that 42-byte region; no bytes differ outside it.
    • The original backup, full-file readback, offline restore and unexpected-image rejection were verified. The installed file's corrected hash was rechecked before submitting this report.
    • Subsequent RootWebArea/value handling and URL/access checks were not edited. This is a byte/control-flow observation, not a complete security validation.

    Actual native results after restarting the helper
    Using native @oai/sky, rather than extension-backed browser automation:

    • Screenshot and Chinese accessibility tree returned successfully.
    • The actual page URL was available.
    • Native clicks navigated to another page and opened conversation views.
    • Repeated state captures, scrolling and clicks worked without the URL-confidence error.
    • Vertical/sidebar tabs remained enabled during successful operation.

    Private page contents and screenshots are deliberately omitted.

    Limits and maintainer request
    This is one installation's before/after result, not proof that every URL-confidence failure has this cause. We did not trace the live UIA getter values, test Edge, perform a live restore/reapply A/B cycle, or validate persistence across a full Desktop restart/update. Offline reversibility was tested. The corrected installed file remains in place with its original backup retained.

    The local edit produces the expected Authenticode HashMismatch; it is an unsupported diagnostic workaround, not an official fix. No binary is attached or distributed.

    Please ship a source-level fix that uses stable numeric UIA type identity, retains URL parsing, window/tab identity and access-policy enforcement, and rejects unknown/ambiguous URLs. Suggested regression coverage: localized document names, non-document controls named "document", failed getters, and invalid/ambiguous URL candidates. Please identify the first officially signed release containing the correction.

    No credentials, account/conversation identifiers, private URLs, personal filesystem paths, screenshots, raw UIA trees or raw logs are included.

  14. Cloudsley4 commented on Oct 30, 2026

    @Cloudsley4

    Windows native URL resolution: localized Document predicate remains in current signed helper

    Submitted with the affected user's explicit authorization.

    Observed environment

    • Verified 2026-10-30, Asia/Shanghai.
    • Windows x64, build 26200; installed/current effective UI language zh-CN.
    • Codex MSIX 26.1027.3384.0; internal release 26.1027.30824.
    • @oai/sky 0.7.13; managed cua_node 0.0.35/20261022235854-0e24579b4572.
    • Signed original helper: 1,551,152 bytes, SHA-256 49C7F43DA0C2A9DBCADFB0C993058147018BF7C1D0FDE4360DE11ACE2C98F45D, valid OpenAI signature.
    • Five copied runtime files, including the helper and Windows JS client, match the installed package byte-for-byte.

    Actual failure

    The documented native API enumerates, uniquely binds and activates the Edge window displaying Example Domain. A subsequent screenshot-plus-text state request returns the Windows current-browser-URL confidence stop before returning any screenshot or accessibility content. Text-only acquisition had also failed earlier. The terminal stop was honored in each turn. Public-page reproduction is retained; no further reproduction is needed merely to prepare this report.

    Static finding verified on this exact binary

    • The known original 42-byte Document predicate occurs once at file offset 0x1B6C6.
    • At RVA 0x2052B the role builder calls CachedLocalizedControlType, vtable offset 0x1B0. A successful nonempty name bypasses the numeric fallback.
    • The returned structure reaches the selector through the call at RVA 0x1C124.
    • RVA 0x1C2D6 loads fixed ASCII document; RVA 0x1C2E3 calls an equal-length ASCII case-insensitive comparator. A mismatch branches away before RootWebArea validation.
    • Vtable mappings were checked against installed Windows SDK 10.0.26100.0.
    • The helper was not modified; its hash and signature remain intact.

    Controls and limits

    • Explorer returns a 10,632-character native accessibility tree with Chinese role names. This establishes non-browser UIA availability and localized roles, not the failed browser node's actual getter values.
    • Calculator screenshots work but accessibility is null, including after a supported Node REPL reset; this separate symptom is not assumed to share a cause.
    • Browser, desktop app and helper process integrity levels were medium; inspected browser command lines did not disable renderer accessibility.
    • An owner-authorized temporary display-language trial did not make Win32/UIA roles English after two confirmed new login sessions. It is not a completed English-vs-Chinese causal comparison. Original language and input preferences have been restored.
    • An owner-run, 30-second UIAutomationCore ETW trace contained missing-pattern/cache-property events concentrated in a successful Explorer capture interval. Those events do not identify the failed browser predicate. No raw trace is attached.
    • The production marker matches the installed version. An older beta marker did not identify a newer fixed release.

    Requested resolution

    Please identify a signed fixed release, or provide a supported content-minimal diagnostic exposing:

    1. Actual backend and opaque request correlation.
    2. Numeric candidate ControlType and getter HRESULT.
    3. Localized-role comparison result, AutomationId category, and URL-presence Boolean.
    4. Candidate rejection stage, window association outcome and policy evaluation outcome.

    The source-level Document predicate should use a successful CachedControlType==50030 read. Getter failure or a different type must reject the candidate. Preserve actual URL parsing, candidate/window identity, origin validation and access policy.

    Relevant existing reports: #54532, #53026, #51524. This report does not claim localization is the sole runtime cause, nor request relaxed policy.

    No private page content, account IDs, credentials, screenshots, personal paths or raw logs are included.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingcomputer-usewindows-osIssues related to Codex on Windows systems

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions