opensteer CLI is a session-based browser automation tool that runs local daemons and returns JSON output for programmatic integration.
Installation
Install OpenSteer globally:Session-Based Workflow
OpenSteer uses a session-based architecture where each session manages its own browser instance and daemon process.Session Resolution
Sessions are resolved in the following order:--session <id>flagOPENSTEER_SESSIONenvironment variableOPENSTEER_CLIENT_IDenvironment variable (creates persistent binding)- Terminal-scoped default (interactive mode only)
Namespace Resolution
The--name flag or OPENSTEER_NAME environment variable sets the selector cache namespace for element persistence. This applies when running opensteer open.
--name <namespace>flagOPENSTEER_NAMEenvironment variable- Falls back to session ID if neither is set
Environment Variables
Session Management
OPENSTEER_SESSION: Runtime session ID (equivalent to--session)OPENSTEER_CLIENT_ID: Stable client identity for default session bindingOPENSTEER_NAME: Default selector namespace foropenwhen--nameis omitted
Cloud Mode
OPENSTEER_MODE: Runtime routing mode (localorcloud, default:local)OPENSTEER_API_KEY: Required when cloud mode is selectedOPENSTEER_BASE_URL: Override cloud control-plane base URLOPENSTEER_AUTH_SCHEME: Cloud auth scheme (api-keyorbearer, default:api-key)OPENSTEER_REMOTE_ANNOUNCE: Cloud session announcement policy (always,off, ortty, default:always)
Common Patterns
Basic Session Usage
Using Environment Variables
Client-Scoped Sessions
Named Selector Cache
Global Flags
--session <id>: Runtime session ID for daemon/browser routing--name <namespace>: Selector namespace for cache storage onopen--headless: Launch browser in headless mode--connect-url <url>: Connect to a running browser (e.g.http://localhost:9222)--channel <browser>: Use installed browser (chrome,chrome-beta,msedge)--profile-dir <path>: Browser profile directory for logged-in sessions--element <N>: Target element by counter--selector <css>: Target element by CSS selector--description <text>: Description for selector persistence--json: Output JSON format--help: Show help--version,-v: Show version
Output Format
All commands (exceptskills) return JSON on stdout: