CLI Reference

This page is generated from the Node CLI registry and command sources.

Use this page as a command index. Detailed behavior, output shapes, and recovery guidance live in the authored API pages.

Command Index

Command Group Primary syntax Primary flags Details Summary
operator Setup operator setup --apk <path> [--device <id>] [--operator-package <package>] --apk, --operator-package Setup Install the Operator APK and configure the device
host Setup host setup [--installed-at <iso8601>] [--cli-version <version>] [--apk-version <version>] [--last-device-serial <serial>] --installed-at, --cli-version, --apk-version, --last-device-serial Setup Set up durable host artifacts owned by the CLI
install Setup install [--operator-package <package>] --operator-package Setup Run the CLI-owned post-bootstrap install flow for device remediation, runtime skills, bundled skills, and host setup
devices Device Management devices - Devices List connected Android devices
emulator Device Management emulator list --name, --storage-size Emulator provisioning Manage Android emulators (AVDs)
packages Device Management packages list [--device <id>] [--operator-package <pkg>] [--third-party] --third-party Devices List installed packages on a device
exec Execution exec <json-or-file> [--validate-only] [--dry-run] [--device <id>] [--operator-package <package>] --payload, --validate-only, --dry-run, --goal, --no-daemon Execution payload Execute a validated command payload
snapshot Device Interaction snapshot [--device <id>] [--operator-package <pkg>] --no-daemon Action: snapshot Get current Android UI hierarchy as XML
screenshot Device Interaction screenshot [--device <id>] [--operator-package <pkg>] [--path <file>] --path, --no-daemon Action: take_screenshot Capture a screenshot from the device
click Device Interaction click --text <text> \| --id <id> \| --role <role> [--device <id>] [--operator-package <pkg>] --text, --id, --desc, --role, --coordinate, --long, --focus, --no-daemon Action: click Tap the first matching UI element
open Device Interaction open <package-id\|url\|uri> [--device <id>] [--operator-package <pkg>] --app, --navigation-timeout-ms, --skip-navigation-wait, --no-daemon Actions: open_app / open_uri Open an app, URL, or URI on the device
type Device Interaction type <text> --role <role> \| --id <id> [--device <id>] [--operator-package <pkg>] --id, --desc, --role, --submit, --clear, --no-daemon Action: enter_text Type text into the first matching UI element
read Device Interaction read --text <text> \| --id <id> \| --role <role> [--device <id>] [--operator-package <pkg>] --text, --id, --desc, --role, --all, --validate-only, --dry-run, --no-daemon Action: read_text Read text from the first matching UI element
wait Device Interaction wait --text <text> \| --id <id> \| --role <role> [--device <id>] [--operator-package <pkg>] [--timeout <ms>] --text, --id, --desc, --role, --no-daemon Action: wait_for_node Wait until a matching UI element appears
press Device Interaction press <back\|home\|recents> [--device <id>] [--operator-package <pkg>] --key, --no-daemon Action: press_key Press a hardware key on the device
back Device Interaction back [--device <id>] [--operator-package <pkg>] --no-daemon Action: press_key Press the Android back key
close Device Interaction close <package> [--device <id>] [--operator-package <pkg>] --app, --no-daemon Action: close_app Force-stop an Android application
sleep Device Interaction sleep <ms> [--device <id>] [--operator-package <pkg>] --no-daemon Action: sleep Pause execution for a duration
scroll Device Interaction scroll <down\|up\|left\|right> [--container-id <id>] [--device <id>] [--operator-package <pkg>] --direction, --no-daemon Action: scroll Scroll the screen in a direction
scroll-until Device Interaction scroll-until [<direction>] --text <text> [--click] [--device <id>] [--operator-package <pkg>] --text, --id, --desc, --role, --click, --direction, --no-daemon Action: scroll_until Scroll until a target element is visible
scroll-and-click Device Interaction scroll-and-click [<direction>] --text <text> [--device <id>] [--operator-package <pkg>] --text, --id, --desc, --role, --direction, --no-daemon Action: scroll_and_click Scroll until target is visible, then click it (alias for scroll-until --click)
wait-for-nav Device Interaction wait-for-nav --app <package> --timeout <ms> [--device <id>] [--operator-package <pkg>] --app, --timeout, --text, --id, --desc, --role, --validate-only, --dry-run, --no-daemon Action: wait_for_navigation Wait for app or screen navigation to complete
read-value Device Interaction read-value --label <text> --label, --label-id, --label-desc, --all, --validate-only, --dry-run, --no-daemon Action: read_key_value_pair Read the value associated with a labeled element
skills Execution skills list --app, --intent, --keyword, --skill-id, --artifact, --vars, --summary, --recording-context, --all, --dry-run, --device, --operator-package, --timeout, --expect-contains, --skip-validate, --ref Skills CLI Manage and run automation skills
bundled-skills Execution bundled-skills list - Host agent orientation Manage first-party bundled skills for Claude Code, Codex, and generic agent runtimes
recording Recording recording start [--session-id <id>] [--device <serial>] [--operator-package <pkg>] --session-id, --out, --input, --snapshots, --baseline, --result, --mode api/recording Manage recording sessions on the Operator app
daemon Execution daemon start\|stop\|status\|restart [--device <id>] - Daemon Manage the background Unix socket daemon
serve Execution serve [--port <number>] [--host <string>] --port, --host Serve API Start local HTTP/SSE server for remote control
mcp Execution mcp serve - MCP server Start the first-party MCP server
logs Utilities logs - Logging Tail the Clawperator log file
doctor Setup doctor --fix, --full, --check-only Doctor contract Run environment and runtime checks
grant-device-permissions Setup grant-device-permissions [--device <id>] [--operator-package <package>] - Setup recovery Re-grant accessibility and notification permissions
version Setup version --check-compat Version checks Show the CLI version

Commands

operator

Install the Operator APK and configure the device

  • Group: Setup
  • Syntax: operator setup --apk <path> [--device <id>] [--operator-package <package>], operator download [--operator-package <package>], operator remediate [--operator-package <package>]
  • Primary flags: --apk, --operator-package
  • Details: Setup
  • See also: Doctor contract
  • Subcommands: setup, install, download, remediate

host

Set up durable host artifacts owned by the CLI

  • Group: Setup
  • Syntax: host setup [--installed-at <iso8601>] [--cli-version <version>] [--apk-version <version>] [--last-device-serial <serial>]
  • Primary flags: --installed-at, --cli-version, --apk-version, --last-device-serial
  • Details: Setup
  • Subcommands: setup

install

Run the CLI-owned post-bootstrap install flow for device remediation, runtime skills, bundled skills, and host setup

  • Group: Setup
  • Syntax: install [--operator-package <package>]
  • Primary flags: --operator-package
  • Details: Setup

devices

List connected Android devices

emulator

Manage Android emulators (AVDs)

  • Group: Device Management
  • Syntax: emulator list, emulator inspect <name>, emulator create [--name <name>], emulator start <name>, emulator stop <name>, emulator delete <name>, emulator status, emulator provision
  • Primary flags: --name, --storage-size
  • Details: Emulator provisioning
  • See also: Devices
  • Alias notes: provision emulator is an alias for emulator provision.
  • Subcommands: list, inspect, create, start, stop, delete, status, provision

packages

List installed packages on a device

  • Group: Device Management
  • Syntax: packages list [--device <id>] [--operator-package <pkg>] [--third-party]
  • Primary flags: --third-party
  • Details: Devices

exec

Execute a validated command payload

  • Group: Execution
  • Syntax: exec <json-or-file> [--validate-only] [--dry-run] [--device <id>] [--operator-package <package>], exec best-effort --goal <text> [--device <id>] [--operator-package <package>]
  • Primary flags: --payload, --validate-only, --dry-run, --goal, --no-daemon
  • Details: Execution payload
  • See also: Actions
  • Command aliases: execute

snapshot

Get current Android UI hierarchy as XML

  • Group: Device Interaction
  • Syntax: snapshot [--device <id>] [--operator-package <pkg>]
  • Primary flags: --no-daemon
  • Details: Action: snapshot
  • Action links: snapshot
  • Command aliases: snapshot-ui, snapshot_ui

screenshot

Capture a screenshot from the device

  • Group: Device Interaction
  • Syntax: screenshot [--device <id>] [--operator-package <pkg>] [--path <file>]
  • Primary flags: --path, --no-daemon
  • Details: Action: take_screenshot
  • Action links: take_screenshot
  • Command aliases: take-screenshot, take_screenshot, capture-screenshot

click

Tap the first matching UI element

  • Group: Device Interaction
  • Syntax: click --text <text> | --id <id> | --role <role> [--device <id>] [--operator-package <pkg>]
  • Primary flags: --text, --id, --desc, --role, --coordinate, --long, --focus, --no-daemon
  • Details: Action: click
  • Action links: click
  • Command aliases: tap

open

Open an app, URL, or URI on the device

  • Group: Device Interaction
  • Syntax: open <package-id|url|uri> [--device <id>] [--operator-package <pkg>]
  • Primary flags: --app, --navigation-timeout-ms, --skip-navigation-wait, --no-daemon
  • Details: Actions: open_app / open_uri
  • Action links: open_app, open_uri
  • Command aliases: open-app, open_app, open-uri, open-url, open_uri, open_url

type

Type text into the first matching UI element

  • Group: Device Interaction
  • Syntax: type <text> --role <role> | --id <id> [--device <id>] [--operator-package <pkg>]
  • Primary flags: --id, --desc, --role, --submit, --clear, --no-daemon
  • Details: Action: enter_text
  • Action links: enter_text
  • Command aliases: fill, enter-text, enter_text

read

Read text from the first matching UI element

  • Group: Device Interaction
  • Syntax: read --text <text> | --id <id> | --role <role> [--device <id>] [--operator-package <pkg>]
  • Primary flags: --text, --id, --desc, --role, --all, --validate-only, --dry-run, --no-daemon
  • Details: Action: read_text
  • Action links: read_text
  • See also: Selectors
  • Command aliases: read-text, read_text

wait

Wait until a matching UI element appears

  • Group: Device Interaction
  • Syntax: wait --text <text> | --id <id> | --role <role> [--device <id>] [--operator-package <pkg>] [--timeout <ms>]
  • Primary flags: --text, --id, --desc, --role, --no-daemon
  • Details: Action: wait_for_node
  • Action links: wait_for_node
  • Command aliases: wait-for, wait_for, wait-for-node, wait_for_node, find, find-node, find_node

press

Press a hardware key on the device

  • Group: Device Interaction
  • Syntax: press <back|home|recents> [--device <id>] [--operator-package <pkg>]
  • Primary flags: --key, --no-daemon
  • Details: Action: press_key
  • Action links: press_key
  • Command aliases: press-key, press_key

back

Press the Android back key

  • Group: Device Interaction
  • Syntax: back [--device <id>] [--operator-package <pkg>]
  • Primary flags: --no-daemon
  • Details: Action: press_key
  • Action links: press_key

close

Force-stop an Android application

  • Group: Device Interaction
  • Syntax: close <package> [--device <id>] [--operator-package <pkg>]
  • Primary flags: --app, --no-daemon
  • Details: Action: close_app
  • Action links: close_app
  • Command aliases: close-app, close_app

sleep

Pause execution for a duration

  • Group: Device Interaction
  • Syntax: sleep <ms> [--device <id>] [--operator-package <pkg>]
  • Primary flags: --no-daemon
  • Details: Action: sleep
  • Action links: sleep

scroll

Scroll the screen in a direction

  • Group: Device Interaction
  • Syntax: scroll <down|up|left|right> [--container-id <id>] [--device <id>] [--operator-package <pkg>]
  • Primary flags: --direction, --no-daemon
  • Details: Action: scroll
  • Action links: scroll

scroll-until

Scroll until a target element is visible

  • Group: Device Interaction
  • Syntax: scroll-until [<direction>] --text <text> [--click] [--device <id>] [--operator-package <pkg>]
  • Primary flags: --text, --id, --desc, --role, --click, --direction, --no-daemon
  • Details: Action: scroll_until
  • Action links: scroll_until
  • Command aliases: scroll_until

scroll-and-click

Scroll until target is visible, then click it (alias for scroll-until --click)

  • Group: Device Interaction
  • Syntax: scroll-and-click [<direction>] --text <text> [--device <id>] [--operator-package <pkg>]
  • Primary flags: --text, --id, --desc, --role, --direction, --no-daemon
  • Details: Action: scroll_and_click
  • Action links: scroll_and_click
  • Command aliases: scroll_and_click

wait-for-nav

Wait for app or screen navigation to complete

  • Group: Device Interaction
  • Syntax: wait-for-nav --app <package> --timeout <ms> [--device <id>] [--operator-package <pkg>]
  • Primary flags: --app, --timeout, --text, --id, --desc, --role, --validate-only, --dry-run, --no-daemon
  • Details: Action: wait_for_navigation
  • Action links: wait_for_navigation
  • Command aliases: wait-for-navigation, wait_for_navigation

read-value

Read the value associated with a labeled element

  • Group: Device Interaction
  • Syntax: read-value --label <text>
  • Primary flags: --label, --label-id, --label-desc, --all, --validate-only, --dry-run, --no-daemon
  • Details: Action: read_key_value_pair
  • Action links: read_key_value_pair
  • Command aliases: read-kv, read-key-value-pair, read_key_value_pair

skills

Manage and run automation skills

  • Group: Execution
  • Syntax: skills list, skills get <skill_id>, skills for-app <package_id>, skills search --app <package_id> [--intent <intent>] [--keyword <text>], skills search <keyword>, skills compile-artifact <skill_id> --artifact <name> [--vars <json>], skills compile-artifact --skill-id <id> --artifact <name> [--vars <json>], skills new <skill_id> [--summary <text>] [--recording-context <file>], skills validate <skill_id> [--dry-run], skills validate --all [--dry-run], skills run <skill_id> [--device <id>] [--operator-package <pkg>] [--timeout <ms>] [--expect-contains <text>] [--skip-validate] [--output <json|pretty>] [skill_args...], skills install, skills update [--ref <git-ref>], skills sync --ref <git-ref>
  • Primary flags: --app, --intent, --keyword, --skill-id, --artifact, --vars, --summary, --recording-context, --all, --dry-run, --device, --operator-package, --timeout, --expect-contains, --skip-validate, --ref
  • Details: Skills CLI
  • Subcommands: install, sync, new, validate, compile-artifact, run

bundled-skills

Manage first-party bundled skills for Claude Code, Codex, and generic agent runtimes

  • Group: Execution
  • Syntax: bundled-skills list, bundled-skills install, bundled-skills update
  • Primary flags: -
  • Details: Host agent orientation
  • See also: Skills overview
  • Subcommands: install, update, list

recording

Manage recording sessions on the Operator app

  • Group: Recording
  • Syntax: recording start [--session-id <id>] [--device <serial>] [--operator-package <pkg>], recording stop, recording pull, recording parse --input <file> [--out <file>], recording export --input <file|directory> [--out <file>] [--snapshots <omit|include>], recording compare --baseline <export.json> --result <skills-run.json> [--mode <auto|literal|semantic>]
  • Primary flags: --session-id, --out, --input, --snapshots, --baseline, --result, --mode
  • Details: api/recording
  • Command aliases: record
  • Subcommands: compare, export

daemon

Manage the background Unix socket daemon

  • Group: Execution
  • Syntax: daemon start|stop|status|restart [--device <id>]
  • Primary flags: -
  • Details: Daemon

serve

Start local HTTP/SSE server for remote control

  • Group: Execution
  • Syntax: serve [--port <number>] [--host <string>]
  • Primary flags: --port, --host
  • Details: Serve API

mcp

Start the first-party MCP server

  • Group: Execution
  • Syntax: mcp serve
  • Primary flags: -
  • Details: MCP server

logs

Tail the Clawperator log file

  • Group: Utilities
  • Syntax: logs
  • Primary flags: -
  • Details: Logging

doctor

Run environment and runtime checks

  • Group: Setup
  • Syntax: doctor, doctor --fix, doctor --full, doctor --check-only
  • Primary flags: --fix, --full, --check-only
  • Details: Doctor contract

grant-device-permissions

Re-grant accessibility and notification permissions

  • Group: Setup
  • Syntax: grant-device-permissions [--device <id>] [--operator-package <package>]
  • Primary flags: -
  • Details: Setup recovery

version

Show the CLI version

  • Group: Setup
  • Syntax: version, version --check-compat [--device <id>] [--operator-package <package>]
  • Primary flags: --check-compat
  • Details: Version checks