CUA save_to_disk screenshots not accessible from filesystem

Resolved 💬 5 comments Opened Mar 28, 2026 by cattedcat Closed May 31, 2026

Problem

When using the mcp__computer-use__screenshot or mcp__computer-use__zoom tools with save_to_disk: true, the documentation states it "Returns the saved path in the tool result." However:

  1. No file path is returned in the tool result — only the inline image is shown
  2. The saved file cannot be found on the filesystem via find, even searching /tmp, ~/Library, /var, and all user directories
  3. The sandbox blocks alternative screen capture methods (screencapture, CGDisplayCreateImage, Quartz.CGWindowListCreateImage), making CUA the only tool that can see granted applications

Impact

This blocks any workflow that needs to:

  • Save in-game screenshots from native apps (e.g., Roblox Studio play mode) to disk
  • Commit viewport captures to git repositories
  • Pass captured images between agents or tools (e.g., CUA → Chrome MCP upload)
  • Build automated QA/preview pipelines for 3D asset generation

Expected Behavior

save_to_disk: true should:

  1. Save the screenshot/zoom image to a known, accessible file path (e.g., /tmp/claude-screenshots/)
  2. Return the file path in the tool result text (not just the inline image)
  3. The file should be readable by the sandboxed process (Bash, Python, etc.)

Reproduction

# Take a CUA screenshot with save_to_disk
mcp__computer-use__screenshot(save_to_disk=true)

# Search everywhere for the saved file
find / -name "*.png" -mmin -1 2>/dev/null
# Returns nothing accessible

# The inline image IS visible in the conversation but cannot be
# extracted, saved, or passed to other tools

Environment

  • Claude Code CLI on macOS (Darwin 25.1.0)
  • Computer-use MCP with screenshotFiltering: native
  • Granted app: RobloxStudio (full tier)

Workaround Attempted

Tried: screencapture, AppleScript, CoreGraphics ctypes, Quartz pyobjc, Roblox CaptureService, Chrome MCP upload_image cross-reference — all blocked by sandbox or incompatible imageId namespaces.

The only viable workaround currently is asking the user to manually take screenshots with Cmd+Shift+4, which defeats the purpose of automation.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗