macOS: Copy deeplink fails with false 'ChatGPT is focused' clipboard error

Open 💬 0 comments Opened Aug 7, 2026 by NIMBO-AG

App version

ChatGPT desktop 26.803.41515 (build 6321), which is the current appcast release as of 2026-08-07.

Environment

  • macOS 26.5.2 (25F84)
  • Apple Silicon (arm64)

Description

On macOS, Copy deeplink from a chat's sidebar context menu consistently fails even while ChatGPT is the frontmost/focused app.

The app shows:

Couldn't copy to clipboard The content wasn't copied. Try again while ChatGPT is focused.

The macOS clipboard itself works normally, and ChatGPT is correctly registered for the codex:// URL scheme. The documented canonical link is codex://threads/<thread-id>.

Steps to reproduce

  1. Open ChatGPT desktop on macOS.
  2. Select a local chat so the ChatGPT window is active and frontmost.
  3. Right-click the chat in the sidebar.
  4. Select Copy deeplink.

Actual result

The focus-related error toast appears and the deeplink is not copied.

Expected result

The clipboard contains codex://threads/<thread-id>.

Root-cause evidence

Inspection of the production renderer bundle shows that this command builds codex://threads/${threadId} and sends it to a helper that calls navigator.clipboard.writeText(...). Any exception is swallowed and mapped to the generic focus-related toast.

The Electron main process already registers a native clipboard service that uses Electron's clipboard.writeText(...) and exposes it with the other runtime services. This suggests that opening/using the sidebar context menu causes the renderer Clipboard API call to lose the required focus or transient activation, while the error message incorrectly implies that the whole app is unfocused.

Suggested fix

Route plain-text copies through the existing native Electron clipboard service, or use it as a fallback when navigator.clipboard.writeText(...) rejects. The web Clipboard API can remain in place where multi-MIME ClipboardItem support is needed.

Workarounds

  • Invoke Copy deeplink with the keyboard/command menu while the chat is open, avoiding the sidebar context-menu path.
  • Copy the session ID and manually construct codex://threads/<session-id>.

Official deep-link reference: https://learn.chatgpt.com/docs/reference/commands#deep-links

Screenshots showing the context-menu action and the resulting toast are available if needed; they are not attached because they contain private chat titles.

View original on GitHub ↗