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:
- No file path is returned in the tool result — only the inline image is shown
- The saved file cannot be found on the filesystem via
find, even searching/tmp,~/Library,/var, and all user directories - 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:
- Save the screenshot/zoom image to a known, accessible file path (e.g.,
/tmp/claude-screenshots/) - Return the file path in the tool result text (not just the inline image)
- 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.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗