Reference

CLI Commands

The OpenSteer CLI is positional, workspace-centric, and organized around sessions, local view, DOM actions, network inspection, browser state, and runtime helpers.

CLI Commands

The OpenSteer CLI is positional. DOM actions take element numbers as positional arguments, extraction takes a positional JSON schema, and most stateful commands require --workspace <id> or OPENSTEER_WORKSPACE.

Session and navigation

opensteer open <url> --workspace <id> [--headless] [--provider local|cloud]
opensteer close --workspace <id>
opensteer status [--workspace <id>] [--json]
opensteer view [--workspace <id>] [--json]
opensteer view stop [--json]
opensteer view --auto [--json]
opensteer view --no-auto [--json]
opensteer goto <url> --workspace <id> [--capture-network <label>]

Notes:

  • status and view can run without a workspace.
  • view --auto and view --no-auto set the local view open preference.
  • Use opensteer view serve to run the local view service in the foreground.
  • Everything else in this group is workspace-backed.

DOM

opensteer snapshot [action|extraction] --workspace <id>
opensteer click <element> --workspace <id> [--button left|middle|right] [--persist <key>] [--capture-network <label>]
opensteer hover <element> --workspace <id> [--persist <key>] [--capture-network <label>]
opensteer input <element> <text> --workspace <id> [--press-enter] [--persist <key>] [--capture-network <label>]
opensteer scroll <direction> <amount> --workspace <id> [--element <n>] [--persist <key>] [--capture-network <label>]
opensteer extract <schema> --workspace <id> [--persist <key>]
opensteer evaluate <script> --workspace <id>
opensteer init-script <script> --workspace <id>

Notes:

  • click, hover, and input are positional by element number.
  • scroll is page-level unless you pass --element <n>.
  • extract takes a positional JSON object. There is no --schema-json flag.
  • There is no --selector or --description flag on the DOM CLI surface.

Tabs

opensteer tab list --workspace <id>
opensteer tab new [url] --workspace <id>
opensteer tab <n> --workspace <id>
opensteer tab close [n] --workspace <id>

Network

opensteer network query --workspace <id> [--capture <label>] [--url <pattern>] [--hostname <host>] [--path <path>] [--method <m>] [--status <code>] [--type <resourceType>] [--json] [--before <id>] [--after <id>] [--limit <n>]
opensteer network detail <recordId> --workspace <id> [--probe]
opensteer fetch <url> --workspace <id> [--method <m>] [--header key=value ...] [--query key=value ...] [--body <json>] [--body-text <text>] [--transport auto|direct|matched-tls|context|page] [--cookies] [--follow-redirects]

--json on network query filters the output to JSON and GraphQL responses only.

Browser state

opensteer state [domain] --workspace <id>

If you need cookie or storage helpers, use the SDK methods cookies() and storage().

Exec

opensteer exec <expression> --workspace <id>

exec evaluates JavaScript with the Opensteer SDK bound as this. It supports await and disconnects when the expression finishes.

Computer

opensteer computer click <x> <y> --workspace <id> [--button left|right|middle] [--count <n>] [--modifiers Shift,Control,Alt,Meta] [--capture-network <label>]
opensteer computer type <text> --workspace <id> [--capture-network <label>]
opensteer computer key <key> --workspace <id> [--modifiers Shift,Control,Alt,Meta] [--capture-network <label>]
opensteer computer scroll <x> <y> --workspace <id> --dx <n> --dy <n> [--capture-network <label>]
opensteer computer move <x> <y> --workspace <id> [--capture-network <label>]
opensteer computer drag <x1> <y1> <x2> <y2> --workspace <id> [--steps <n>] [--capture-network <label>]
opensteer computer screenshot --workspace <id> [--format png|jpeg|webp]
opensteer computer wait <ms> --workspace <id>

Advanced commands

opensteer captcha solve --workspace <id> --provider 2captcha|capsolver --api-key <key> [--type recaptcha-v2|hcaptcha|turnstile] [--site-key <key>] [--page-url <url>] [--timeout <ms>]
opensteer scripts capture --workspace <id> [--url-filter <pattern>] [--persist] [--inline] [--external] [--dynamic] [--workers]
opensteer scripts beautify <artifactId> --workspace <id> [--persist]
opensteer scripts deobfuscate <artifactId> --workspace <id> [--persist]
opensteer scripts sandbox <artifactId> --workspace <id> [--fidelity minimal|standard|full] [--timeout <ms>] [--clock real|manual] [--cookies <json>] [--globals <json>] [--ajax-routes <json>]
opensteer interaction capture --workspace <id> [--key <name>] [--duration <ms>] [--script <js>] [--include-storage] [--include-session-storage] [--include-indexed-db] [--global-names <list>] [--case-id <id>] [--notes <text>] [--tags <list>]
opensteer interaction get <traceId> --workspace <id>
opensteer interaction replay <traceId> --workspace <id>
opensteer interaction diff <leftTraceId> <rightTraceId> --workspace <id>
opensteer artifact read <artifactId> --workspace <id>

Browser admin

These commands are supported even though they are not part of the primary --help text for most users.

opensteer browser discover
opensteer browser inspect --attach-endpoint <url>
opensteer browser status --workspace <id>
opensteer browser clone --workspace <id> --source-user-data-dir <path> [--source-profile-directory <name>]
opensteer browser reset --workspace <id>
opensteer browser delete --workspace <id>

browser clone, browser reset, and browser delete require a persistent workspace browser.

Recording and skills

opensteer record <url> --workspace <id> [--provider local|cloud] [--output <path>]
opensteer skills install [--skill <name>] [--agent <name>] [--all] [--list] [--global] [--yes] [--copy]

Important migration note

The CLI does not expose:

  • opensteer run ...
  • --input-json
  • --schema-json
  • --selector
  • --description
  • opensteer replay ...
  • opensteer cookies ...
  • opensteer storage ...

If you were using those older patterns, update to the positional commands above.