Skip to content

Computer Use: Safari screenshots reportedly trigger Xiaohongshu screenshot-sharing panel in active iPhone Mirroring #54018

Open

Description

@draplater

Summary

While Codex desktop Computer Use was controlling Xiaohongshu (RedNote) through macOS iPhone Mirroring, a screenshot-sharing panel ("截屏分享至"/"截图分享至") repeatedly appeared. More importantly, the user observed the same panel appearing in the mirrored iPhone app when Codex took a screenshot of Safari displaying Weibo, rather than targeting iPhone Mirroring.

Please investigate whether Computer Use screenshot/state capture has side effects on an active iPhone Mirroring session, including when the requested target is another Mac app. This report does not establish whether the cause is Codex, macOS/iOS event propagation, or Xiaohongshu's detection logic.

Environment

  • Surface: Codex desktop app on macOS, native Computer Use through mcp__cua_repl.js.
  • iPhone Mirroring target: com.apple.ScreenContinuity.
  • Xiaohongshu: native iPhone app in the existing connected mirror.
  • Weibo: website in Safari (com.apple.Safari), not the iPhone Weibo app.
  • Exact incident-time Codex, Computer Use helper, macOS, iOS and Xiaohongshu versions were not recorded; no version from a later/different execution context is asserted here.
  • Incident date: 2026-10-14. Times below are Asia/Shanghai (UTC+8).

Operation record

The following calls and timestamps were recovered from the incident conversation's tool execution history. Coordinates are included as the actual historical calls, not recommended reproduction coordinates.

Time Recorded operation
23:23:00.371 await mirror.click([150,724]); await mirror.getAXState() — opened a Xiaohongshu programming post.
23:23:04.301 Queried the current mirror window geometry, then ran macOS screencapture -x -R6,49,316,696 /tmp/mirror.png (output filename sanitized).
23:23:10.594 await mirror.click([579,1206]); await mirror.getAXState() — attempted to close screenshot-sharing panel.
23:23:18.206 Queried mirror geometry and repeated the same macOS region-capture path.
23:23:27.136 await mirror.click([290,603]); await mirror.getAXState() — another attempt to close panel.
23:23:31.943 Queried geometry and captured the mirror region again.
23:23:41.244 await mirror.click([580,1205]); await mirror.getAXState() — another close attempt.
23:23:45.628 Queried geometry and captured the mirror region again.
23:23:46.975 User reported the screenshot prompt had appeared again and that the prescribed stop rule was not followed. The assistant then stated it would stop Xiaohongshu observation.
23:24:56.926 await safari.getScreenshot(), labeled "查看微博第二屏" (view second Weibo screen).
23:25:53.182 await safari.getScreenshot() again, labeled "核对Safari保留标签" (verify retained Safari tabs), during cleanup.

The mirror region was 316×696 points; the saved image was previously measured as 632×1392 pixels. Close-click coordinates alternate between roughly doubled and halved values. This is a possible coordinate-mapping confounder: the history does not independently prove that the panel was successfully dismissed between captures. The repeated panel may be a re-trigger or may have remained open.

Cross-app observation and evidence boundaries

The user explicitly observed and reported: taking a screenshot while operating Weibo in Safari also triggers Xiaohongshu's screenshot-sharing prompt. The execution history independently confirms the two Safari getScreenshot() calls above, after the assistant stopped Xiaohongshu observation.

However:

  • No preserved privacy-reviewed before/after image is available for those two Safari calls.
  • The exact triggering Safari call cannot be isolated from this history alone.
  • Neither getAXState() nor macOS screencapture is proven to be the cause.
  • We did not intentionally send an iPhone hardware screenshot shortcut.
  • No new reproduction loop was run to create evidence for this report.

Suggested reproduction

  1. Connect an existing iPhone Mirroring session and open a non-sensitive Xiaohongshu screen on the iPhone.
  2. Keep that app in the foreground on the mirrored phone.
  3. In Codex Computer Use, target Safari and open a non-sensitive Weibo page.
  4. Call await safari.getScreenshot().
  5. Check whether the mirrored Xiaohongshu app displays its screenshot-sharing panel, even though Safari was the screenshot target.
  6. Separately compare iPhone Home Screen versus Xiaohongshu foreground, and screenshot-only versus accessibility-only observation. Avoid repeated close/capture loops; distinguish persistent panel from a freshly triggered one.

Expected behavior

A read-only screenshot of Safari should not cause a screenshot-sharing action/panel in an unrelated iPhone app. If screenshot/state capture necessarily propagates capture events to an active mirrored device, please document that behavior and provide a supported observation path without repeated UI side effects.

Impact and current workaround

The sharing panel obstructs the post and can trap the agent in a "dismiss → observe → panel" loop. The user has now instructed the workflow to send Command+1 to the existing connected mirror before switching to Safari/Finder/other Mac apps, leaving Xiaohongshu in the background. This workaround has not been validated.

Privacy / attachments

Private account names, contacts, post content, local account paths, LAN addresses, and conversation identifiers are omitted.

Update: an original incident screenshot was recovered from the saved tool-result history after the initial report. It was displayed at 23:23:08.208 (Asia/Shanghai), following the macOS mirror-region capture at 23:23:04.301. The image below is a 600×200 pixel crop retaining only the generic screenshot-sharing panel. The author's name/avatar, post content, phone status bar and other surrounding UI are excluded. No new reproduction was performed and no screenshot content was generated or reconstructed.

Privacy-cropped original Xiaohongshu screenshot-sharing panel

The crop shows “截屏分享至” (share screenshot to), the close button, and “搜图找同款” (search image for similar items). It documents the panel's presence during the earlier Xiaohongshu sequence; it is not a before/after image for either later Safari screenshot and does not independently prove cross-app triggering. The cross-app observation remains attributed to the user, as described above.

The image is hosted on a dedicated evidence branch in the reporter's public repository and linked to an immutable commit.

Related public discussion

https://cn.v2ex.com/t/1246451 — comments 6 and 8 describe a closely related Codex/iPhone Mirroring screenshot-sharing loop. Comment 8 includes a GPT-derived workaround suggestion; it is a diagnostic lead, not independently validated evidence or an established root cause.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingcomputer-use

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions