openai / openai/codex

Linux: Chrome Flatpak cannot connect to desktop app via native messaging

Open
#42,953 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app browser bug Linux
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of the Codex / ChatGPT App are you using?

Reproduced with the current official Linux ChatGPT/Codex payload as packaged into an AppImage by the community wrapper ilysenko/codex-desktop-linux.

Community AppImage build: 2026.09.05.004952

What platform is your computer?
  • Aurora 44.20260902.1 (Fedora Kinoite 44 derivative)
  • x86_64
  • KDE Plasma on Wayland
  • Google Chrome Flatpak: com.google.Chrome
  • Chrome version: 152.0.7977.82-1
  • ChatGPT Chrome extension installed
What issue are you seeing?

On Linux, the ChatGPT Chrome extension can launch the desktop app through the Open the app deep link, but it cannot establish the native messaging connection.

The extension reports:

Native transport disconnected

At the same time, ChatGPT Settings > Computer use > Google Chrome continues to report Chrome as Not installed.

The deep-link association therefore works, but the browser-to-desktop native transport does not.

The relevant Flatpak Chrome native messaging directory is:

~/.var/app/com.google.Chrome/config/google-chrome/NativeMessagingHosts/

In a clean reproduction, no working ChatGPT/Codex native messaging host manifest is installed there.

What steps can reproduce the bug?
  1. Run the Linux ChatGPT/Codex desktop payload through an AppImage built from the official signed Linux package.
  2. Install Google Chrome as Flatpak (com.google.Chrome).
  3. Install the ChatGPT Chrome extension.
  4. In ChatGPT, open Settings > Computer use > Google Chrome and use the extension installation/reinstallation flow.
  5. Open the extension side panel in Chrome.
  6. Click Open the app when prompted.
  7. The desktop app opens successfully.
  8. The side panel eventually reports Native transport disconnected.
  9. ChatGPT still reports Google Chrome as Not installed.
What is the expected behavior?

The Linux desktop app should detect Flatpak Chrome and install/configure a native messaging host in a location visible to that sandbox, or explicitly report that Flatpak Chrome is unsupported.

After the app is opened from the extension, the native messaging handshake should complete and ChatGPT should show Chrome as connected/managed.

Additional information
  • The codex-browser-sidebar deep-link handler is registered and works.
  • Restarting Chrome and ChatGPT and using the reinstall-extension flow does not create a working native transport.
  • There is no remaining Distrobox bridge or custom native messaging host in the clean reproduction.
  • This appears specific to native messaging discovery/installation across the Flatpak Chrome sandbox boundary, rather than URI/deep-link handling.
  • The bundled Linux Chrome extension host is an upstream runtime component; the community wrapper preserves/packages the official Linux payload.

Related community report with screenshots and diagnostics:

https://github.com/ilysenko/codex-desktop-linux/issues/1434

Related broader upstream request:

#25100

A useful fix would be either:

  1. first-class support for Flatpak Chrome native messaging paths / bridging on Linux, or
  2. explicit detection and an actionable unsupported message for this browser/package combination.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Linux native-messaging installation path from the desktop app and the codex-browser-sidebar deep-link handler; compare it with ~/.var/app/com.google.Chrome/config/google-chrome/NativeMessagingHosts/ in a clean Flatpak Chrome setup. Reproduce the handshake failure, then verify either a working host manifest and connection or an explicit unsupported-browser message.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, rust
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.