Codex App Appshot fails with completed_without_screenshot despite receiving screenshot update on macOS

Open 💬 1 comment Opened Jun 10, 2026 by jiaxisong

What happened?

Appshots in the Codex macOS app cannot be attached. The UI shows that the appshot cannot be attached after triggering Appshot from the add-context menu. This reproduces with multiple target apps, including Finder, VS Code, Terminal, and ChatGPT.

The capture pipeline appears to start successfully and receives metadata, axText, screenshot, and completed updates, but the final settlement reports completed_without_screenshot.

Expected behavior

After Appshot capture receives a screenshot update, Codex should attach the app snapshot to the conversation.

Actual behavior

The attachment fails with:

failureReason=completed_without_screenshot
hadAxText=true
hadScreenshot=false
status=failed

Reproduction steps

  1. Open Codex app on macOS.
  2. Ensure Codex Computer Use has Screen & System Audio Recording and Accessibility permissions.
  3. Ensure Accessibility permission is granted.
  4. Trigger Appshot from the add-context menu for a foreground application, for example Finder.
  5. Observe that Codex reports it cannot attach the appshot.

Environment

  • Codex app: 26.608.12217
  • Codex app build: 3722
  • Codex Computer Use: build 809
  • macOS: 26.5.1
  • Architecture: arm64
  • Codex app bundle id: com.openai.codex
  • Codex Computer Use bundle id: com.openai.sky.CUAService

Verification already performed

  • Codex.app is restored to the official OpenAI signature:
Authority=Developer ID Application: OpenAI OpCo, LLC (2DC432GLL2)
TeamIdentifier=2DC432GLL2
Notarization Ticket=stapled
  • Codex Computer Use.app is also OpenAI-signed and running.
  • macOS Screen & System Audio Recording permission is enabled for Codex Computer Use.
  • Accessibility permission has been granted.
  • Resetting TCC permissions and clearing Computer Use cache did not resolve the issue.
  • macOS screencapture works for both full-screen and region screenshots.
  • The failure reproduces with Finder, not only Electron apps.

Relevant log excerpt

From ~/Library/Logs/com.openai.codex/2026/06/10/codex-desktop-52fe3c04-b318-4194-950f-d1df72cef35a-6734-t0-i1-043015-0.log:

2026-06-10T04:31:28.147Z info [electron-message-handler] Appshot capture request created bundleIdentifier=com.apple.finder name=访达 requestId=e4819d27-2b45-4dc7-9b18-3d9111128eac source=add_context_menu
2026-06-10T04:31:28.153Z info [electron-message-handler] Appshot capture start request sent bundleIdentifier=com.apple.finder name=访达 requestId=e4819d27-2b45-4dc7-9b18-3d9111128eac source=add_context_menu
2026-06-10T04:31:28.184Z info [electron-message-handler] Appshot capture start request finished elapsedMs=31 hasResponse=true requestId=e4819d27-2b45-4dc7-9b18-3d9111128eac source=add_context_menu
2026-06-10T04:31:28.344Z info [electron-message-handler] Appshot capture update received elapsedMs=194 requestId=e4819d27-2b45-4dc7-9b18-3d9111128eac source=add_context_menu updateType=metadata
2026-06-10T04:31:28.359Z info [electron-message-handler] Appshot capture update received elapsedMs=209 requestId=e4819d27-2b45-4dc7-9b18-3d9111128eac source=add_context_menu updateType=axText
2026-06-10T04:31:28.383Z info [electron-message-handler] Appshot capture update received elapsedMs=234 requestId=e4819d27-2b45-4dc7-9b18-3d9111128eac source=add_context_menu updateType=screenshot
2026-06-10T04:31:29.005Z info [electron-message-handler] Appshot capture update received elapsedMs=859 requestId=e4819d27-2b45-4dc7-9b18-3d9111128eac source=add_context_menu updateType=completed
2026-06-10T04:31:29.006Z info [electron-message-handler] Appshot capture settled elapsedMs=859 failureReason=completed_without_screenshot hadAxText=true hadScreenshot=false requestId=e4819d27-2b45-4dc7-9b18-3d9111128eac source=add_context_menu status=failed

Notes

I attempted a local diagnostic patch and confirmed that modifying/re-signing the app invalidates the Apple Event trust path (Sender process is not authenticated), so this should be handled in the official signed build rather than as a local patch.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗