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

Open 💬 2 comments Opened Jun 10, 2026 by jiaxisong
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

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 ↗

2 Comments

github-actions[bot] contributor · 2 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #26051

Powered by Codex Action

DwayneSamuels · 1 month ago

You’re describing a classic browser-capture handoff gap: the appshot pipeline can still produce the metadata and completed state while losing the actual bytes to the final handoff step.

For faster reproducibility, capture the exact window/viewport/DPR and the appshot artifact id before upload so the failure is narrowed from "no screenshot" to either capture or writeback.

I use this format for this kind of review packet so teams can stop the back-and-forth and move straight to verification: https://github.com/samelogic/assets/tree/master/resources/browser-bug-test-artifact-checklist

i’ve been building and using Samelogic for browser handoff loops like this to create replayable evidence packets. https://chromewebstore.google.com/detail/css-selector-for-google-c/bmgbagkoginmbbgjapcacehjdojdnnhf?hl=en