Skip to content

macOS: Chrome tabs can be claimed, but every real-page action fails policy verification #39280

Open

Description

@Wildman-Phoenix

Summary

On macOS Codex Desktop, the bundled Chrome extension can enumerate multiple Chrome profiles, list the correct profile's open tabs, and claim an existing tab, but every interaction with a real webpage is rejected before reaching Chrome with:

Browser Use could not complete this action because a browser security check was unavailable. Reason: The admin-enforced policy could not be verified, so access was not granted.

The user reports that other Codex tasks on the same Mac can control the same Chrome state. The affected task has no known administrator policy configured.

Environment

  • macOS 26.5.2 (25F84)
  • Google Chrome 151.0.7922.138
  • bundled Chrome-control package 26.814.41407
  • extension ID: hehggadaopoacecdllhhajmbjkdcmajg
  • extension version: 1.2.27259.19709
  • multiple extension-backed Chrome profiles connected
  • target profile metadata: profile name Nathan, ordering 4 (account details redacted)

Diagnostics that pass

  • Chrome is running.
  • Extension is installed, registered, and enabled on the target profile.
  • Native-host manifest exists and is valid.
  • Expected extension origins are present.
  • agent.browsers.list() returns the target extension instance.
  • browser.user.openTabs() lists the intended existing tabs.
  • browser.user.claimTab(exactTabInfo) succeeds.
  • Creating an about:blank tab succeeds.
  • cua.move() on about:blank succeeds.

Reproduction

  1. Initialize the bundled Chrome browser-control runtime.
  2. Enumerate extension-backed Chrome instances.
  3. Select the intended current instance from its metadata.
  4. List open tabs and select an existing signed-in webpage.
  5. Claim the exact tab object returned by openTabs().
  6. Attempt any real-page interaction:
    • tab.playwright.domSnapshot()
    • tab.dom_cua.get_visible_dom()
    • tab.cua.move(...)
    • a direct Playwright locator click
  7. The operation is rejected with the policy-verification error above.

The same rejection occurs on a neutral https://example.com/ tab, so it is not site-specific. An existing Gmail tab can hang until the browser runtime times out and resets.

Expected behavior

Once the correct profile and exact existing tab have been discovered and claimed, real-page DOM reads and input should work. If authorization cannot be established, the product should return a specific diagnostic code and actionable recovery path rather than an unverifiable admin-policy message.

Actual behavior

Discovery and claiming succeed, giving the appearance that browser control is active, but no mouse, DOM, click, or download command reaches real webpage content.

Suspected boundary

The defect appears after extension discovery/tab claiming but before Browser Use page-policy authorization or attestation. This is an inference, not a confirmed root cause. The fact that other Codex tasks reportedly work on the same machine argues against a general Chrome, extension, native-host, account, or target-site failure.

UX impact

The UI/control indicator can make the session appear active even though no page input can be delivered. Please distinguish:

  • extension connected
  • tab discovered
  • tab claimed
  • page readable
  • input delivered

Related reports

No credentials, cookies, email addresses, recording identifiers, or private URLs are included in this report.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    on Aug 18, 2026
  2. alexx-ftw commented on Aug 23, 2026

    @alexx-ftw

    Cross-platform reproduction: I am seeing the same policy-verification boundary on Linux with the Codex Desktop in-app browser, not the Chrome-extension path described in this issue.

    Environment:

    • Linux x86_64
    • Chromium user agent 151.0.0.0
    • bundled in-app browser-control package 26.818.41705

    Observed sequence:

    1. Browser runtime selection succeeds.
    2. browser.user.openTabs() returns the intended existing HTTPS tab.
    3. browser.user.claimTab(exactTabInfo) succeeds and returns a controllable tab handle.
    4. The first real-page read after claiming—e.g. a Playwright body.innerText() read and tab.dev.logs() inspection—is rejected before page content is returned.

    The reported error is identical:

    Browser Use could not complete this action because a browser security check was unavailable. Reason: The admin-enforced policy could not be verified, so access was not granted.

    I reproduced this against both the apex and a subdomain of the same public web application, across separate attempts. Discovery and claiming consistently work; failure occurs at the page-policy/attestation boundary. No cookies, local storage, credentials, private URLs, or account identifiers were inspected or included.

    This suggests #39280 may not be limited to macOS, Chrome profiles, or the extension bridge; the shared real-page authorization path may be involved.

    Diagnostic attestation: actor_id codex-desktop-canary; turn_id 01a03080-c032-7a13-b76e-b5d03f13e56e.

  3. scole954387 commented on Aug 25, 2026

    @scole954387

    Same issue confirmed on macOS

    I am experiencing the same policy-verification failure. Codex can discover and claim the correct open Chrome tab, but it cannot read or interact with the page afterward.

    Environment

    • Date observed: August 24, 2026
    • macOS: 26.5.1 (25F80)
    • ChatGPT/Codex Desktop: 26.814.41407 (build 6720)
    • Google Chrome: 151.0.7922.174
    • Bundled Chrome-control package: 26.814.41407
    • Codex Chrome extension: 1.2.27268.51612
    • Extension ID: hehggadaopoacecdllhhajmbjkdcmajg
    • Chrome profile: Default
    • Target: an authenticated HTTPS web application; URL omitted for privacy

    Observed behaviour

    The Chrome connection successfully:

    1. Detects that Chrome is running.
    2. Lists the intended open tab with the correct title and URL.
    3. Claims the exact tab object returned by browser.user.openTabs().

    The first attempt to inspect the claimed page using tab.playwright.domSnapshot() is then rejected before any page content is returned.

    Exact error

    Browser Use could not complete this action because a browser security check was unavailable.
    
    Reason: The admin-enforced policy could not be verified, so access was not granted.
    
    Browser use cannot access [REDACTED URL] because the admin-enforced policy could not be verified. Please try again later. This failure may be temporary. The agent may retry after the issue is resolved, but must not bypass browser security controls or use an indirect workaround.
    

    Local diagnostics

    The bundled diagnostic checks report:

    • Chrome is installed and running.
    • The Codex Chrome extension is installed, registered, and enabled.
    • No extension disable reasons are reported.
    • The native-messaging manifest exists and is valid.
    • The native host name matches com.openai.codexextension.
    • Both expected extension origins are present.
    • No missing origins or native-host problems are reported.

    This appears to fail after extension discovery and tab claiming, at the page-policy authorization or attestation stage. It does not appear to be a missing extension, disabled extension, invalid native-host manifest, or inability to communicate with Chrome.

  4. Manfred05 commented on Aug 25, 2026

    @Manfred05

    Same problem!

  5. skalfa-user commented on Aug 26, 2026

    @skalfa-user

    Confirming the same issue on macOS. The behavior is intermittent: Browser Use worked correctly in the same Codex task and controlled an authenticated Chrome tab, but later stopped working while tab discovery and claiming continued to succeed.

    Environment:

    Google Chrome: 151.0.7922.174

    Codex Chrome extension: 1.2.27268.51612

    Bundled Chrome-control package: 26.818.61809

    Extension ID: hehggadaopoacecdllhhajmbjkdcmajg

    Diagnostics that pass:

    Chrome is running.

    The extension is installed, registered, and enabled in the selected profile.

    The native-host manifest exists and is valid.

    The expected extension origins are present.

    browser.user.openTabs() returns the intended tabs.

    browser.user.claimTab() succeeds.

    However, every real-page operation fails immediately afterward, including DOM reads, Playwright evaluation, and visible-page inspection:

    Browser Use could not complete this action because a browser security check was unavailable. Reason: The admin-enforced policy could not be verified, so access was not granted.

    The failure occurs after the tab has been discovered and claimed, but before any interaction reaches the page. Keeping the tab open, reopening it, waiting, and retrying did not resolve the problem.

    The intermittent nature is especially confusing: the same task and browser session can work normally, then suddenly fail at the policy-verification stage without any Chrome, extension, profile, or website configuration changes.

    This looks identical to the authorization/attestation boundary described in this issue rather than a Chrome-extension or native-host failure. It would be helpful if Codex exposed the underlying policy-service or network error and provided an actionable recovery path. The current “admin-enforced policy” wording is misleading when no actual administrator block is known.

    I can provide additional redacted diagnostics if needed.

  6. kcc989 commented on Aug 26, 2026

    @kcc989

    I’m experiencing what appears to be the same policy-verification failure, but through the Codex in-app browser rather than Chrome extension control.

    Environment

    • macOS 27.0 (build 26A5406e)
    • Codex Desktop
    • bundled Browser package: 26.820.60940
    • Browser selected by the runtime: Codex In-app Browser (iab)
    • Date reproduced: August 26, 2026

    Reproduction

    1. Ask Codex to visit https://github.com/.
    2. Codex successfully initializes and selects the in-app browser.
    3. It creates a new tab and attempts tab.goto("https://github.com/").
    4. Navigation is rejected with:
    Browser Use could not complete this action because a browser security check was unavailable. Reason: The admin-enforced policy could not be verified, so access was not granted.
    

    The page never loads, so no DOM inspection or interaction is possible.

    I retried after reconnecting to the browser runtime and receiving a new in-app-browser instance ID. The result was identical. This was therefore reproducible across two fresh browser sessions.

    This differs slightly from the original report: it does not involve enumerating Chrome profiles or claiming an existing tab. The failure occurs during initial navigation in a newly created in-app-browser tab. That may indicate the affected policy-verification boundary is shared by both the in-app browser and Chrome-control paths, rather than being specific to extension-backed tab claiming.

    Please let me know if there are diagnostic logs or identifiers I can collect safely to help isolate the failed policy check.

  7. skfq4qnmyy-art commented on Aug 26, 2026

    @skfq4qnmyy-art

    Windows cross-platform reproduction (built-in Browser and Chrome control)

    I am seeing the same policy-verification failure on Windows, including the Codex in-app browser path. This adds a Windows reproduction to the macOS and Linux reports above.

    Environment

    • Windows 11 Pro 25H2 x64, build 26200.9168
    • ChatGPT/Codex Desktop MSIX: 26.820.7780.0
    • bundled Browser-control package: 26.820.60940
    • embedded Chromium: 151.0.7922.170
    • reproduced August 25–26, 2026

    Observed behavior

    • The user can manually navigate the built-in browser to the same private HTTPS site, authenticate, and reach application routes.
    • The origin is explicitly present in Settings → Browser as allowed; the denied-origin list is empty.
    • Browser-control startup succeeds and the desktop reports the Browser capability as available.
    • Agent navigation through both @Browser and Chrome control is rejected before the target page loads with:
    Browser Use could not complete this action because a browser security check was unavailable. Reason: The admin-enforced policy could not be verified, so access was not granted.
    
    • Multiple complete application restarts and retries have not resolved it.
    • One automated failure was recorded at 2026-08-25T22:04:07Z. Manual navigation to the same origin succeeded afterward at approximately 2026-08-26T00:50Z and 01:50Z. Fresh automated retries failed identically at 2026-08-26T22:54:35Z, 22:54:55Z, and 22:59:21Z.

    Local diagnostics

    • Codex configuration loads successfully.
    • Desktop app-server handshake succeeds.
    • Provider HTTP and WebSocket connectivity checks succeed.
    • Bundled runtime dependency diagnostics report no problems.
    • No OpenAI/Codex/ChatGPT policy keys were found under the normal HKCU/HKLM Windows policy registry paths.
    • Desktop logs repeatedly contain:
    DeviceCheck attestation unavailable ... errorCode=1
    

    That log line is correlated with Browser startup, but I am not claiming it is proven causal.

    Expected behavior

    An explicitly allowed site that loads in the shared built-in browser should be available to Browser control. If the managed-policy or attestation service cannot be reached or evaluated, the error should expose a specific diagnostic code and supported recovery path rather than implying an intentional administrator block.

    This looks consistent with the shared real-page policy/attestation boundary described in this issue, rather than a target-site, login, DNS/TLS, Chrome-extension, or local allowlist failure.

    The private URL, credentials, cookies, account identifiers, session identifiers, and raw logs are intentionally omitted.

  8. dan-hook commented on Aug 27, 2026

    @dan-hook

    Windows corroboration with a clean version boundary:

    • Browser Use succeeded on app 26.818.8289 / Browser 26.818.41509.
    • The first identical failure occurred after updating to app 26.820.7780 / Browser 26.820.60940.
    • It still reproduces on 26.820.9563 / Browser 26.820.71523, including example.com over a cellular hotspot with the corporate VPN disconnected.
      Manual in-app browsing works, and no local Codex managed-policy files or registry policy were found. Also, DeviceCheck attestation unavailable ... errorCode=1 appeared immediately before a confirmed successful Browser Use action, so that marker alone does not explain the regression.
  9. webolabo commented on Aug 28, 2026

    @webolabo

    I can confirm the same policy-verification error on Windows 11.

    Environment:

    • Personal Pro account only, with no Work/Business workspace
    • Codex Desktop 26.820.10647.0
    • Browser runtime 26.820.80927
    • Both the built-in Browser and the Chrome extension are affected
    • The failure occurs on localhost and public websites
    • No local requirements.toml administrator policy is installed

    The feature worked previously on the same account and computer.

    Relevant Codex log:
    GET /accounts/[redacted]/settings -> 401
    {"detail":"Must use workspace account for this operation"}

    Tab discovery and claiming succeed, but every attempt to read or interact with
    the page is rejected before any browser action is performed.

  10. dan-hook commented on Aug 28, 2026

    @dan-hook

    Following up on my Windows reproduction: this is resolved.

    The key was stevendelong’s comment in #24814:

    The root cause was the stale user-level CODEX_CLI_PATH override identified above.

    I found the same condition: CODEX_CLI_PATH pointed to a nonexistent, version-hashed codex.exe. I removed only that user-level override and fully restarted Codex.

    After restart:

    • CODEX_CLI_PATH was unset in process, user, and machine scope.
    • The in-app Browser loaded https://example.com/ and read its title and DOM.
    • It then loaded and inspected my signed-in application successfully.

    So, for my Windows reproduction, the “admin-enforced policy could not be verified” message was a misleading symptom of a stale CLI override—not an administrator policy denial. This may not explain the original macOS report or every reproduction.

    Suggested product fix: validate environment-supplied CLI paths, ignore or clean up nonexistent overrides during Repair/Reset/reinstall, and surface a direct CLI/config-bridge error instead of the policy-verification message.

  11. webolabo commented on Aug 28, 2026

    @webolabo

    Confirmed: my Windows 11 / Personal Pro reproduction is now resolved as well.

    I found the same stale user-level CODEX_CLI_PATH override. It pointed to a nonexistent, version-hashed codex.exe.

    I backed up the value, removed only the user-level environment variable, fully quit Codex, and restarted it.

    Verification after restart:

    • CODEX_CLI_PATH is unset in process, user, and machine scope.
    • The Codex In-app Browser can read the DOM of a localhost page.
    • Clicking a link and navigating to another route works.
    • Chrome control can also inspect the page and locate its interactive elements.
    • The policy-verification error is gone.

    Additional A/B evidence: bundled Browser version 26.825.32147 still failed before removing CODEX_CLI_PATH. The same Browser version worked immediately after removing the stale override and restarting Codex.

    This strongly confirms the stale CLI override as the cause of my Windows reproduction. It does not necessarily explain the macOS or Linux reports.

    Thank you, @dan-hook dan-hook and @stevendelong, for the diagnosis.

    Following up on my Windows reproduction: this is resolved.

    The key was stevendelong’s comment in #24814:

    The root cause was the stale user-level CODEX_CLI_PATH override identified above.

    I found the same condition: CODEX_CLI_PATH pointed to a nonexistent, version-hashed codex.exe. I removed only that user-level override and fully restarted Codex.

    After restart:

    * `CODEX_CLI_PATH` was unset in process, user, and machine scope.
    
    * The in-app Browser loaded `https://example.com/` and read its title and DOM.
    
    * It then loaded and inspected my signed-in application successfully.
    

    So, for my Windows reproduction, the “admin-enforced policy could not be verified” message was a misleading symptom of a stale CLI override—not an administrator policy denial. This may not explain the original macOS report or every reproduction.

    Suggested product fix: validate environment-supplied CLI paths, ignore or clean up nonexistent overrides during Repair/Reset/reinstall, and surface a direct CLI/config-bridge error instead of the policy-verification message.

  12. rsteenwyk commented on Aug 29, 2026

    @rsteenwyk

    Linux reproduction where CODEX_CLI_PATH is valid

    I reproduced this on August 28, 2026:

    • Omarchy 4.0.1 / Arch Linux, kernel 7.1.9
    • openai-codex-desktop 26.820.80927-1
    • Bundled CLI: codex-cli 0.150.0-alpha.8
    • Separately installed PATH CLI: codex-cli 0.150.1

    Browser control worked within the past few days, but I noticed the failure today. I cannot determine whether today’s desktop update introduced it, whether it began with an earlier build, or whether the timing is unrelated.

    The in-app Browser can enumerate an already-open tab and see its URL/title, but any real-page operation such as domSnapshot() fails with:

    The admin-enforced policy could not be verified, so access was not granted.

    This also reproduces on github.com, so it does not appear specific to the original target site.

    I investigated the stale CODEX_CLI_PATH explanation:

    • It is not set in the process, systemd user environment, shell/login configuration, or system environment.
    • The only definition is Codex’s generated [mcp_servers.node_repl.env] entry in ~/.codex/config.toml.
    • It points to /usr/lib/chatgpt/resources/codex.
    • That target exists, is executable, and belongs to the installed desktop package. It is not a missing or version-hashed path.

    I also compared the cached Arch packages from today’s update:

    26.820.71523-1 → 26.820.80927-1

    • The bundled Codex CLI binary is byte-for-byte identical between packages.
    • The Browser service changed only its embedded build-version string.
    • The meaningful desktop-app change updates a compatibility predicate from rejecting every 0.150.0-* prerelease to accepting versions >= 0.150.0-alpha.8.
    • The currently bundled CLI is exactly 0.150.0-alpha.8, and the running app reports the new 26.820.80927 build.

    Therefore, the nonexistent/stale CLI-path explanation does not apply to this Linux reproduction. The current desktop build recognizes the bundled CLI as compatible, but Browser policy verification still fails.

    Additional checks:

    • No HTTP/HTTPS proxy variables or custom proxy configuration are active.
    • Normal Codex backend requests return 200.
    • The main local Codex log contains no genuine /accounts/.../settings → 401; the lower-level policy-verification request does not appear to be logged there.

    It would help if the Browser policy gate exposed the failing endpoint/status or a diagnostic reason distinguishing entitlement failure, policy-service connectivity, and local configuration problems.

  13. rsteenwyk commented on Aug 29, 2026

    @rsteenwyk

    Workaround found: use a standalone task or native Codex local project

    For anyone encountering:

    The admin-enforced policy could not be verified, so access was not granted.

    I found a reliable workaround on Linux:

    1. Start a standalone Codex task outside a ChatGPT project, or
    2. Create/use a native Codex local project.

    The in-app Browser works in both cases. Full Access is not required; the default permissions worked.

    The failure remains reproducible only in tasks created from ChatGPT projects. Those tasks use generated local mirrors under:

    ~/.codex/.chatgpt-projects/g-p-*/
    

    This does not fix the underlying bug, but it restores Browser Use while the ChatGPT-project integration is being investigated.

    Reproduction matrix

    Task type In-app Browser
    Standalone Codex task, default permissions Works
    Newly created native Codex local project, default permissions Works
    Task created from ChatGPT Project A Fails
    Task created from ChatGPT Project B Fails

    One failing ChatGPT project warned that a project source could not be synced. The other showed no sync warning and still failed identically, so the individual source-sync failure does not appear to be the cause.

    Environment

    • Personal Pro account
    • Omarchy Linux
    • Codex desktop 26.820.80927
    • Bundled CLI: 0.150.0-alpha.8
    • User-installed CLI: 0.150.1

    Browser Use worked within the past few days. I noticed the failure today, although I cannot confirm whether today’s desktop update introduced it.

    CLI-path testing

    I investigated whether this was the stale CODEX_CLI_PATH problem reported elsewhere:

    • Direct app-server probes against both CLI binaries succeeded for config/read, configRequirements/read, and getAuthStatus.
    • Both reported ChatGPT authentication with an auth token present.
    • Switching CODEX_CLI_PATH to the 0.150.1 binary and fully restarting Codex did not fix Browser Use in a ChatGPT-project-backed task.
    • Restoring the bundled CLI produced the same result.

    This does not appear to be the stale or nonexistent CLI-path issue in this environment.

    Relevant failure logs

    During a failed Browser action, the packaged helper logged:

    codex app-server auth fetch failed
    auth_fetch_failure_reason="app_server_request_failed"
    auth_method=missing
    auth_token_state=missing
    codex_cli_path_env_present=true
    

    The Browser service then converts the unavailable config/policy result into:

    The admin-enforced policy could not be verified, so access was not granted.

    This appears to be a fail-closed presentation of an internal auth/config bridge failure, rather than evidence of an actual administrator restriction.

    Desktop-package comparison

    I compared the cached previous desktop package with 26.820.80927:

    • The bundled CLI binaries were identical.
    • The Browser helper binaries were identical.
    • I found no substantive Browser policy/auth change in the packaged Browser service.

    Current conclusion

    The problem appears specific to tasks initialized from ChatGPT projects. It does not reproduce in standalone Codex tasks or native Codex local projects, even with default permissions.

    The likely area to investigate is the ChatGPT-project task bootstrap or mirrored workspace interacting with the Browser helper’s child app-server authentication/configuration bridge.

    Until that is fixed, using a standalone task or native Codex local project is an effective workaround for Browser Use.

    I also opened a feedback report in app to OpenAI - 01a04a42-2626-73b0-b212-658e12a0a504

  14. mattnna-glitch commented on Aug 30, 2026

    @mattnna-glitch

    Additional macOS reproduction from a ChatGPT Project task

    I am seeing the same browser policy-verification failure on macOS.

    Environment:

    • Codex Desktop on macOS
    • Bundled browser-control package: 26.825.32147
    • Task created from a ChatGPT Project
    • Both the in-app Browser and Chrome control are affected

    Observed behaviour:

    1. Codex discovers the correct open tab and can identify its title and URL.
    2. Claiming or inspecting a real HTTPS page then fails before page interaction.
    3. The same site remains fully usable when operated manually.
    4. The failure occurs in both browser surfaces.

    Exact error:

    Browser Use could not complete this action because a browser security check was unavailable. Reason: The admin-enforced policy could not be verified, so access was not granted.

    Checks completed:

    • Reproduced with an existing visible tab and a newly created tab.
    • Login and manual editing on the target site work normally.
    • CODEX_CLI_PATH is not set in this environment.
    • Switching between the in-app Browser and Chrome does not resolve the failure.

    This reproduction is consistent with the ChatGPT-Project-specific behaviour described above. I have not yet tested the standalone-task workaround on this Mac, but the current failing task is backed by a ChatGPT Project. No private URLs, account identifiers, cookies, local paths, or task IDs are included here.

  15. khichdinetwork commented on Aug 30, 2026

    @khichdinetwork

    Same issue macos codex - wont do live updates to anything with internet access (local is okay)
    Earlier it used to login to my ssh of server and make live changes, or update my clients websties using ftp or terminal or whatreer - now it suggests to use the inbuilt browser and terminal and fails saying they are not authenticated or working even if logged in. Total mess. This new limitaiton or wall makes all my quick development so slow. I suspect they are doing this on purpose to limit usage for the higher paid plans and people who are now using 5.6 Luna Medium against other versions.

    Powered by Codex & OWL
    Version 26.825.51511
    Released Aug 30, 2026

  16. Manfred05 commented on Aug 30, 2026

    @Manfred05

    Additional current evidence from macOS Codex Desktop (2026-08-30):

    After reconnecting the browser-control runtime, the user reported that three relevant Chrome tabs were open. However, both browser surfaces exposed no usable tabs:

    • browser.user.openTabs() returned [].
    • browser.tabs.list() returned [].

    This is a stronger failure mode than the original report: the user-visible Chrome state was not discoverable in the active control session, so there was no exact tab to claim and no safe way to perform the required real-page read. No product edits, saves, checkpoint changes, cookies, credentials, or private URLs were involved.

    Please consider recording this as another post-discovery/session-synchronization failure mode, and expose a clear diagnostic distinction between “no tabs discovered in this control session” and “the user has no Chrome tabs open.”

  17. khichdinetwork commented on Aug 30, 2026

    @khichdinetwork

    Powered by Codex & OWL
    Version 26.715.21425
    Released Jul 17, 2026

    This version (before the voice Ai option) seems to be working better and most of the time for a new chat allows things to work as before including FTP , Chrome and SSH terminal control.

    I had chat gpt get me a reversal process. Sharing it here for who may find it useful.

    CHATGPT HELPED ME DOWNGRADE OR ROLL BACK (MAC SILICON USER HERE)

    Found it — and this is a much better rollback target.

    26.715.21425 (build 5488), released July 18, is immediately before OpenAI's July 23 rollout of Voice in Work/Codex. We also have direct evidence that this exact build successfully restored in-app Browser + Chrome navigation/DOM inspection for users who had lost those tools. OpenAI announced Voice in Work/Codex on July 23.

    Even better, a July 17 report specifically says Voice was missing on 26.715.21425, which is exactly the boundary you wanted.

    The archived version history confirms 26.715.21425 is a genuine ChatGPT/Codex release in the official build sequence.

    Let's install that one

    Because you're on Apple Silicon, open Terminal and run these commands one at a time:

    cd ~/Downloads

    Then:

    curl -L "https://persistent.oaistatic.com/codex-app-prod/ChatGPT-darwin-arm64-26.715.21425.zip" -o ChatGPT-26.715.21425.zip

    That URL follows OpenAI's documented archive naming scheme; the version itself is independently present in the archived release history.

    Then unzip it:

    rm -rf ~/Downloads/ChatGPT-old
    mkdir ~/Downloads/ChatGPT-old
    ditto -x -k ~/Downloads/ChatGPT-26.715.21425.zip ~/Downloads/ChatGPT-old

    Before replacing anything, verify what we downloaded:

    defaults read ~/Downloads/ChatGPT-old/ChatGPT.app/Contents/Info.plist CFBundleShortVersionString

    It must print:

    26.715.21425

    Then verify Apple's signature:

    codesign --verify --deep --strict --verbose=2 ~/Downloads/ChatGPT-old/ChatGPT.app

    And:

    codesign -dv --verbose=4 ~/Downloads/ChatGPT-old/ChatGPT.app 2>&1 | grep TeamIdentifier

    We want:

    TeamIdentifier=2DC432GLL2

    Do not install it if either verification fails.

    If those checks pass, quit ChatGPT completely:

    osascript -e 'tell application "ChatGPT" to quit'

    Then we'll replace /Applications/ChatGPT.app.

    Stop after the signature/version checks and send me the Terminal output. I want to verify those two things with you before we overwrite the application.

    And there's another reason I'm optimistic about this build: 26.707.91948, immediately before it, had a known regression where Browser/Chrome/Computer Use disappeared; multiple reports say upgrading specifically to 26.715.21425 restored them.

    So 26.715.21425 is not just “some old version.” It's a particularly interesting pre-Voice build with documented working Browser/Chrome tooling.

  18. 1noone79 commented on Sep 3, 2026

    @1noone79

    I encountered the same exact policy-verification error on macOS, using the ChatGPT desktop app’s built-in browser rather than Chrome.

    The affected task was created from a ChatGPT Project. The target website was visible and signed in. The agent could list the tab, but reading the page failed with:
    “The admin-enforced policy could not be verified, so access was not granted.”

    Browser control is enabled, approval is set to “Always ask,” and no per-site restrictions are listed. Rebooting and starting a new chat in the same project did not resolve the failure at that time.

    Feedback ID: 01a06663-323c-7d53-9a50-a6e402d709e3

    Update: Later in this same task, the agent successfully read this GitHub issue and opened the GitHub login page in the built-in browser. The original target website has not yet been retested, so this should not be interpreted as a confirmed persistent failure on every site or as a confirmed recovery.

    Could you check the uploaded diagnostics and advise on a supported recovery procedure?

  19. tanyapowell commented on Sep 6, 2026

    @tanyapowell

    Adding a related macOS + Chrome reproduction from 6 September 2026: tab discovery succeeds, but selecting an existing HTTPS tab fails before page content is returned with “The admin-enforced policy could not be verified, so access was not granted.” Automation had worked earlier that day.

    This task uses a ChatGPT-project local mirror; causation has not been established. Full observations and limitations are in #42466 (comment) . The feedback ID is no longer available to me.

  20. olyaiy commented on Sep 7, 2026

    @olyaiy

    Additional macOS reproduction on September 7, 2026, with current bundled CLI paths verified.

    Environment:

    • ChatGPT/Codex Desktop 26.901.51231, Apple Silicon.
    • Bundled CLI and browser-plugin app-server CLI both report 0.153.4; binary comparison confirms they are identical.
    • Affected task is backed by a ChatGPT Project local mirror.

    Observed in the affected task's recorded tool outputs:

    • Selecting an existing authenticated HTTPS tab and requesting its accessibility state failed with the policy-verification error.
    • A later attempt to claim another tab on the same origin and request a DOM snapshot failed identically.
    • Both failures occurred on September 7; the target URL and account details are omitted.

    Error:

    The admin-enforced policy could not be verified, so access was not granted.

    Checks:

    • Current browser native-host registration paths exist, including its separate plugin app-server executable.
    • No CODEX_CLI_PATH override was present in the diagnostic shell or launchd environment. Desktop logs select the bundled CLI.
    • Browser Use is reported available. Local browser approval configuration is never_ask.
    • In a separate standalone diagnostic task, the standard Browser Use tool successfully read a different HTTPS site. This is not a same-origin controlled comparison and does not establish that moving tasks fixes the original failure.
    • An older native-host registration remains with paths to a removed Codex.app installation. There is no evidence that the failing call selected this entry; it has not been edited.
    • Desktop logs also contain repeated "No ChatGPT browser route is available for browser session" warnings, including in the standalone task where a Chrome page read succeeded. These warnings are not established as causal.
    • The exact policy failure was found in tool outputs, but the inspected desktop logs did not expose a matching underlying auth-fetch exception or failing policy endpoint.

    This may relate to the ChatGPT Project initialization/auth bridge described in #39280 (comment), but that remains a hypothesis here. The known missing-CLI-path explanation does not fit the current registered executable.

    Please provide a supported diagnostic that reports the underlying policy/auth/config failure, the selected native-host registration, and an actionable recovery procedure. The present message does not distinguish a real admin denial from a failed local helper or unavailable policy check.

    No credentials, financial information, private URLs, account/project/task identifiers, or raw logs are included. No security checks were disabled and no fix is claimed.

  21. Mike-CX83 commented on Sep 8, 2026

    @Mike-CX83

    Verified macOS fix for "The admin-enforced policy could not be verified"

    I reproduced this exact Browser Use error on macOS using ChatGPT Desktop 26.901.51231 and the Codex in-app browser:

    Browser Use could not complete this action because a browser security check was unavailable. Reason: The admin-enforced policy could not be verified, so access was not granted.

    Browser navigation and even read-only DOM inspection failed on unrelated websites, including Gmail and a public WordPress site. This was not an actual administrator restriction, a website problem, or a sign-in problem.

    What fixed it

    1. Open ChatGPT Settings > Browser.
    2. Under Permissions, find the first row labeled Approval.
    3. Change Approval from Always allow to Ask or Ask every time.
    4. Do not change the separate History, Downloads, or Uploads settings.
    5. Fully quit ChatGPT using Command-Q. Closing the window is not enough.
    6. Reopen ChatGPT and retry Browser Use.
    7. If an Access browser origin request appears, approve it.

    If one particular website remains blocked, add its origin under Settings > Browser > Site permissions and allow Browse. Download, Upload, and CDP access are not required merely to navigate or read the site.

    What I verified

    Changing Approval without restarting did not fix the failure. The saved browser configuration changed from approval_mode = "never_ask" to approval_mode = "always_ask", but the running application continued returning the same error.

    After fully quitting and reopening ChatGPT:

    • Gmail navigation and DOM inspection worked.
    • The public WordPress site also opened and could be inspected.
    • The WordPress site was not added to the custom site list, suggesting that the important steps were changing Approval to Ask and fully restarting, not broadly granting every site capability.

    Why this appears to happen

    The exact internal defect has not been confirmed by OpenAI. Based on this controlled test, the misleading "admin-enforced policy" message can occur when the application cannot complete or refresh its browser-origin approval check.

    With Always allow, the saved mode was never_ask, so the rejected origin-access decision could not be surfaced for manual approval. Switching to Ask changed the mode to always_ask, and restarting forced the application to reload that policy state.

    This is a verified macOS recovery procedure, not a claim that every occurrence has the same cause. Some Windows reports involve a separate stale CODEX_CLI_PATH environment variable.

    CX83 Labs

  22. natashangelica commented on Sep 9, 2026

    @natashangelica

    macOS reproduction confirming the ChatGPT-project boundary.

    ChatGPT/Codex Desktop 26.901.51231, personal account, Apple Silicon.

    Browser Use fails in tasks created from a ChatGPT Project, and succeeds in a standalone task on the same machine, same client, same session: example.com loaded and the page title was read without error.

    No CODEX_CLI_PATH override in any shell profile. The config.toml entry points to an existing, executable file.

    This matches the standalone-task workaround reported above.

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 appbrowserbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions