Recording and screenshots
- Pick the computer (
computer_list, or passcomputer— it switches). - Check
request_accesswhen readiness is unknown. On a supported target, userecording_startwith optionaldisplay,region,fpsanddurationSec(macOS auto-stop), orintervalMs(HarmonyOS snapshot cadence). - Do the work (or let the user do it).
recording_stopwith the returnedid→ finalized file path + bytes.recording_listshows everything saved;recording_statuschecks one.
Platform truths:
- macOS: ScreenCaptureKit inside the signed helper captures a display or
region straight to .mov — no system recorder selection UI and no desktop
dimming overlay. If capture is denied, Screen Recording permission is
missing for whoever ran it: the Codewhale Computer Use app when
request_accesssaysvia: "app", else the terminal that hosts the server — tell the user which, do not retry. - Windows and Linux: recording is unavailable pending session-owned recorder cleanup. Use screenshots; installing ffmpeg does not enable it.
- HarmonyOS: no native CLI recorder; the backend captures
snapshot_displayframes atintervalMsand muxes with ffmpeg on stop. The receipt labels the modesnapshot-series— never call it real-time.
Screenshots: screenshot returns the saved path and raster geometry; zoom
crops the latest raster when a target is too small to read.