coderClaw

Camera capture (agent)

CoderClaw supports camera capture for agent workflows:

All camera access is gated behind user-controlled settings.

iOS node

User setting (default on)

Commands (via Gateway node.invoke)

Foreground requirement

Like canvas.*, the iOS node only allows camera.* commands in the foreground. Background invocations return NODE_BACKGROUND_UNAVAILABLE.

CLI helper (temp files + MEDIA)

The easiest way to get attachments is via the CLI helper, which writes decoded media to a temp file and prints MEDIA:<path>.

Examples:

coderclaw nodes camera snap --node <id>               # default: both front + back (2 MEDIA lines)
coderclaw nodes camera snap --node <id> --facing front
coderclaw nodes camera clip --node <id> --duration 3000
coderclaw nodes camera clip --node <id> --no-audio

Notes:

Android node

Android user setting (default on)

Permissions

If permissions are missing, the app will prompt when possible; if denied, camera.* requests fail with a *_PERMISSION_REQUIRED error.

Android foreground requirement

Like canvas.*, the Android node only allows camera.* commands in the foreground. Background invocations return NODE_BACKGROUND_UNAVAILABLE.

Payload guard

Photos are recompressed to keep the base64 payload under 5 MB.

macOS app

User setting (default off)

The macOS companion app exposes a checkbox:

CLI helper (node invoke)

Use the main coderclaw CLI to invoke camera commands on the macOS node.

Examples:

coderclaw nodes camera list --node <id>            # list camera ids
coderclaw nodes camera snap --node <id>            # prints MEDIA:<path>
coderclaw nodes camera snap --node <id> --max-width 1280
coderclaw nodes camera snap --node <id> --delay-ms 2000
coderclaw nodes camera snap --node <id> --device-id <id>
coderclaw nodes camera clip --node <id> --duration 10s          # prints MEDIA:<path>
coderclaw nodes camera clip --node <id> --duration-ms 3000      # prints MEDIA:<path> (legacy flag)
coderclaw nodes camera clip --node <id> --device-id <id>
coderclaw nodes camera clip --node <id> --no-audio

Notes:

Safety + practical limits

macOS screen video (OS-level)

For screen video (not camera), use the macOS companion:

coderclaw nodes screen record --node <id> --duration 10s --fps 15   # prints MEDIA:<path>

Notes: