macOS/Helium: side panel rejects current native host when trust field is missing
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.820.60940 (build 7119)
What subscription do you have?
ChatGPT 20x Pro plan
What platform is your computer?
Darwin 27.0.0 arm64 arm
What issue are you seeing?
On macOS in Helium, ChatGPT extension 1.2.27268.51612 connects to Native Messaging, but full browser control fails with “native host is outdated”; basic current-tab reads may still work.
codexRuntime/ensure selects native host 26.820.60940 and returns a valid browserClientPath, but omits trustedBrowserClientSha256s. The side-panel schema requires that field, rejects the entire runtimeConfig, then emits the misleading outdated-host error.
The bundled and cached browser clients are byte-identical. Initializing the untouched official cached client directly makes setupBrowserRuntime() / openTabs() work.
What steps can reproduce the bug?
- Use macOS 27.0 arm64 with ChatGPT 26.820.60940 (build 7119).
- Install ChatGPT extension 1.2.27268.51612 in Helium 0.15.7.1.
- Open the side panel and ask it to navigate or click.
- It reports an outdated native host despite selecting 26.820.60940 and returning a valid browser-client path.
What is the expected behavior?
The released extension and host should negotiate compatible runtime configuration, or report the exact missing field. A current connected host should not be mislabeled as outdated.
Additional information
Helium is Chromium-based and is not on the documented supported-browser list; this report is for the concrete runtimeConfig schema mismatch. Related: #39466 (the same missing field on Windows, resolved there by a later desktop build). Reinstalling and syncing the version-aligned cache did not help.
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 at codexRuntime/ensure and trace how its runtimeConfig is validated by the side panel, focusing on the missing trustedBrowserClientSha256s field. Use setupBrowserRuntime() and openTabs() with the cached official client to compare the failing and working paths. Done means a compatible current host is accepted or the missing field is reported accurately, rather than labeled outdated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, rust
- Domain
- desktop, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100