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
- Group: Device Management
- Syntax:
devices - Primary flags: -
- Details: Devices
- See also: Serve GET /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 emulatoris an alias foremulator 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