Steel CLI - browser automation for AI agents. This file is generated from steel describe --all and API metadata; regenerate it with npm run docs:generate.
- steel scrape
- steel screenshot
- steel pdf
- steel browser
- steel browser start
- steel browser stop
- steel browser sessions
- steel browser live
- steel browser captcha
- steel browser captcha solve
- steel browser captcha status
- steel browser batch
- steel browser navigate
- steel browser back
- steel browser forward
- steel browser reload
- steel browser click
- steel browser dblclick
- steel browser fill
- steel browser type
- steel browser press
- steel browser keydown
- steel browser keyup
- steel browser hover
- steel browser focus
- steel browser check
- steel browser uncheck
- steel browser select
- steel browser clear
- steel browser selectall
- steel browser scroll
- steel browser drag
- steel browser upload
- steel browser mouse
- steel browser snapshot
- steel browser screenshot
- steel browser pdf
- steel browser eval
- steel browser find
- steel browser content
- steel browser get
- steel browser get text
- steel browser get html
- steel browser get markdown
- steel browser get value
- steel browser get attr
- steel browser get url
- steel browser get title
- steel browser get count
- steel browser get box
- steel browser is
- steel browser is visible
- steel browser is enabled
- steel browser is checked
- steel browser wait
- steel browser tab
- steel browser tab list
- steel browser tab new
- steel browser tab switch
- steel browser tab close
- steel browser dialog
- steel browser status
- steel browser cancel
- steel browser close
- steel sessions
- steel sessions list
- steel sessions get
- steel sessions release
- steel sessions logs
- steel sessions agent-logs
- steel sessions traces
- steel init
- steel login
- steel logout
- steel credentials
- steel credentials list
- steel credentials create
- steel credentials update
- steel credentials delete
- steel dev
- steel dev install
- steel dev start
- steel dev stop
- steel forge
- steel config
- steel update
- steel cache
- steel profile
- steel profile list
- steel profile import
- steel profile sync
- steel profile delete
- steel describe
- steel doctor
- steel skills
- steel skills list
- steel skills install
- steel skills update
- steel skills doctor
- steel skills open
- steel skills paths
- steel completion
These options are accepted by every command.
--json(boolean, optional): Output all results as JSON (structured output for automation)--local(boolean, optional): Use local Steel runtime instead of cloud--api-url(string, optional): Explicit self-hosted API endpoint URL-h, --help: Print help for a command-V, --version: Print the Steel CLI version
Scrape webpage content
steel scrapeurl(string, optional): Target URL to scrape--format(string, optional): Comma-separated output formats: html, readability, cleaned_html, markdown-d, --delay(string, optional): Delay before scraping in milliseconds--pdf(boolean, optional): Include a generated PDF in the response--screenshot(boolean, optional): Include a generated screenshot in the response--use-proxy(boolean, optional): Use a Steel-managed residential proxy-r, --region(string, optional): Region identifier for request execution
Capture a screenshot of a webpage
steel screenshoturl(string, optional): Target URL to capture-d, --delay(string, optional): Delay before capturing in milliseconds-f, --full-page(boolean, optional): Capture a full-page screenshot--use-proxy(boolean, optional): Use a Steel-managed residential proxy-r, --region(string, optional): Region identifier for request execution
Generate a PDF from a webpage
steel pdfurl(string, optional): Target URL to generate PDF from-d, --delay(string, optional): Delay before generating in milliseconds--use-proxy(boolean, optional): Use a Steel-managed residential proxy-r, --region(string, optional): Region identifier for request execution
Browser session management and automation
steel browserstart: Create a browser sessionstop: Stop a browser sessionsessions: List active browser sessionslive: Open the live session viewercaptcha: CAPTCHA managementbatch: Run several browser commands in one requestnavigate: Navigate to a URLback: Navigate back in historyforward: Navigate forward in historyreload: Reload the current pageclick: Click an elementdblclick: Double-click an elementfill: Fill an input field (replaces the current value)type: Type text into an element key by key (appends to the current value)press: Press a key or chord (Enter, Escape, Tab, Control+a)keydown: Hold a key down until keyupkeyup: Release a key held with keydownhover: Hover over an elementfocus: Focus an elementcheck: Check a checkbox, radio button, or switchuncheck: Uncheck a checkbox or switchselect: Select option(s) in a element clear: Clear an input field selectall: Select all text in an input scroll: Scroll the page or an element drag: Drag an element onto another upload: Upload files to a file input mouse: Mouse input at a point, for canvases and maps snapshot: Take an accessibility tree snapshot with element refs screenshot: Take a screenshot pdf: Save the page as a PDF (headless sessions only) eval: Run JavaScript in the page and print its value find: Find elements and print their refs content: Get the page HTML get: Get information about elements or the page is: Check element state wait: Wait for an element, text, URL, load state, download, or a fixed time tab: List, open, switch, or close tabs dialog: Accept or dismiss an open dialog status: Wait for a command that is still running cancel: Stop a command that is still running close: Close the browser session steel browser start Create a browser session Usage steel browser start Parameters --stealth (boolean, optional): Enable stealth mode (humanize interactions + auto CAPTCHA) -p, --proxy (string, optional): Use a residential proxy --session-timeout (string, optional): Session timeout in milliseconds (create-time only) --inactivity-timeout (string, optional): Inactivity timeout in milliseconds: release the session when no command, CDP message, or remote input arrives for this long. Defaults to 600000 (10 minutes); pass 0 to disable (create-time only) --session-solve-captcha (boolean, optional): Enable manual CAPTCHA solving on new sessions (create-time only) --profile (string, optional): Named profile to persist browser state across sessions --update-profile (boolean, optional): Save session state back to the profile when the session ends --namespace (string, optional): Credential namespace --credentials (boolean, optional): Inject credentials steel browser stop Stop a browser session Usage steel browser stop Parameters -a, --all (boolean, optional): Stop all sessions steel browser sessions List active browser sessions Usage steel browser sessions steel browser live Open the live session viewer Usage steel browser live steel browser captcha CAPTCHA management Usage steel browser captcha Subcommands solve: Solve a CAPTCHA on the current page status: Check CAPTCHA status steel browser captcha solve Solve a CAPTCHA on the current page Usage steel browser captcha solve Parameters --session-id (string, optional): Explicit session ID (overrides --session name lookup) --page-id (string, optional): Page ID --url (string, optional): Page URL for targeted CAPTCHA solving --task-id (string, optional): CAPTCHA task ID for targeted solving steel browser captcha status Check CAPTCHA status Usage steel browser captcha status Parameters --session-id (string, optional): Explicit session ID (overrides --session name lookup) --page-id (string, optional): Page ID -w, --wait (boolean, optional): Wait for terminal status --timeout (string, optional): Timeout in milliseconds for --wait mode --interval (string, optional): Poll interval in milliseconds for --wait mode steel browser batch Run several browser commands in one request Usage steel browser batch Parameters commands (string[], required): Commands to run in order (each as a quoted string, e.g. "click e3"). They stop at the first failure steel browser navigate Navigate to a URL Usage steel browser navigate Aliases: open, goto Parameters url (string, required): URL to navigate to --wait-until (enum, optional): Wait condition: load, domcontentloaded, networkidle steel browser back Navigate back in history Usage steel browser back steel browser forward Navigate forward in history Usage steel browser forward steel browser reload Reload the current page Usage steel browser reload steel browser click Click an element Usage steel browser click Parameters selector (string, required): Element ref (e.g. e5) or CSS selector --count (string, optional): Number of clicks (2 for double-click) steel browser dblclick Double-click an element Usage steel browser dblclick Parameters selector (string, required): Element ref (e.g. e5) or CSS selector steel browser fill Fill an input field (replaces the current value) Usage steel browser fill Parameters selector (string, required): Element ref or CSS selector value (string[], optional): Value to fill steel browser type Type text into an element key by key (appends to the current value) Usage steel browser type Parameters selector (string, required): Element ref or CSS selector text (string[], optional): Text to type --clear (boolean, optional): Clear the field before typing --delay (string, optional): Delay between keystrokes in milliseconds (at most 1000) steel browser press Press a key or chord (Enter, Escape, Tab, Control+a) Usage steel browser press Aliases: key Parameters key (string, required): Key to press (e.g. Enter, Escape, Tab, Control+a) steel browser keydown Hold a key down until keyup Usage steel browser keydown Parameters key (string, required): Key name (e.g. Shift, Control, ArrowDown) steel browser keyup Release a key held with keydown Usage steel browser keyup Parameters key (string, required): Key name (e.g. Shift, Control, ArrowDown) steel browser hover Hover over an element Usage steel browser hover Parameters selector (string, required): Element ref (e.g. e5) or CSS selector steel browser focus Focus an element Usage steel browser focus Parameters selector (string, required): Element ref (e.g. e5) or CSS selector steel browser check Check a checkbox, radio button, or switch Usage steel browser check Parameters selector (string, required): Element ref (e.g. e5) or CSS selector steel browser uncheck Uncheck a checkbox or switch Usage steel browser uncheck Parameters selector (string, required): Element ref (e.g. e5) or CSS selector steel browser select Select option(s) in a elementsteel browser selectselector(string, required): Select element ref or CSS selectorvalues(string[], optional): Option value(s) or label(s) to select
Clear an input field
steel browser clear
selector(string, required): Element ref (e.g. e5) or CSS selector
Select all text in an input
steel browser selectall
selector(string, required): Element ref (e.g. e5) or CSS selector
Scroll the page or an element
steel browser scroll
direction(enum, optional): Direction: up, down, left, right (default: down)amount(string, optional): Scroll amount in pixels (default: 300)-s, --selector(string, optional): Element to scroll instead of the page
Drag an element onto another
steel browser drag
source(string, required): Element to drag (ref or CSS selector)target(string, required): Element to drop on (ref or CSS selector)
Upload files to a file input
steel browser upload
selector(string, required): File input ref or CSS selectorfiles(string[], optional): Local files to upload, or names of files already in the session
Mouse input at a point, for canvases and maps
steel browser mouse
action(enum, required): move, down, up, click, or wheelx(string, optional): X in CSS pixels of the visible page (needed for move, click, and wheel)y(string, optional): Y in CSS pixels of the visible page (needed for move, click, and wheel)--button(enum, optional): Mouse button: left, right, middle--clicks(string, optional): Click count for click (1 to 3)--dx(string, optional): Horizontal wheel delta--dy(string, optional): Vertical wheel delta
Take an accessibility tree snapshot with element refs
steel browser snapshot
-i, --interactive(boolean, optional): Show only interactive elements-c, --compact(boolean, optional): Keep only lines with refs or values, and their ancestors-d, --max-depth(string, optional): Maximum nesting depth
Take a screenshot
steel browser screenshot
-f, --full-page(boolean, optional): Capture the full scrollable page-o, --output(string, optional): Output file path--selector(string, optional): Capture one element (ref or CSS selector)--format(enum, optional): Image format: png, jpeg, webp (default: from the output extension)--quality(string, optional): JPEG/WebP quality (0-100)
Save the page as a PDF (headless sessions only)
steel browser pdf
-o, --output(string, optional): Output file path--landscape(boolean, optional): Use landscape orientation--print-background(boolean, optional): Print background graphics
Run JavaScript in the page and print its value
steel browser evalscript(string, required): JavaScript expression or function body; its value is printed
Find elements and print their refs
steel browser find
value(string, required): What to look for (a CSS selector unless --by says otherwise)--by(enum, optional): Locator kind--name(string, optional): Accessible name, with --by role--exact(boolean, optional): Match the text exactly instead of as a case-insensitive substring
Get the page HTML
steel browser content
Get information about elements or the page
steel browser get
text: Get the visible text of an elementhtml: Get the inner HTML of an elementmarkdown: Get the main content of an element or the page as Markdownvalue: Get an input or textarea valueattr: Get an element attributeurl: Get the page URLtitle: Get the page titlecount: Count matching elementsbox: Get an element's bounding box
Get the visible text of an element
steel browser get text
selector(string, required): Element ref (e.g. e5) or CSS selector
Get the inner HTML of an element
steel browser get html
selector(string, required): Element ref (e.g. e5) or CSS selector
Get the main content of an element or the page as Markdown
steel browser get markdown
selector(string, optional): Element ref (e.g. e5) or CSS selector; the whole page if omitted
Get an input or textarea value
steel browser get value
selector(string, required): Element ref (e.g. e5) or CSS selector
Get an element attribute
steel browser get attr
selector(string, required): Element ref or CSS selectorattribute(string, required): Attribute name
Get the page URL
steel browser get url
Get the page title
steel browser get title
Count matching elements
steel browser get count
selector(string, required): Element ref (e.g. e5) or CSS selector
Get an element's bounding box
steel browser get box
selector(string, required): Element ref (e.g. e5) or CSS selector
Check element state
steel browser is
visible: Check if an element is visibleenabled: Check if an element is enabledchecked: Check if an element is checked
Check if an element is visible
steel browser is visible
selector(string, required): Element ref (e.g. e5) or CSS selector
Check if an element is enabled
steel browser is enabled
selector(string, required): Element ref (e.g. e5) or CSS selector
Check if an element is checked
steel browser is checked
selector(string, required): Element ref (e.g. e5) or CSS selector
Wait for an element, text, URL, load state, download, or a fixed time
steel browser waitms(string, optional): Fixed time to wait in milliseconds (at most 30000)--timeout(string, optional): Timeout in milliseconds (at most 50000)-t, --text(string, optional): Wait for text to appear on the page--selector(string, optional): Wait for an element (ref or CSS selector)--state(enum, optional): Element state: visible, hidden, attached, detached-u, --url(string, optional): Wait for the URL to contain this string (*matches anything)-l, --load-state(enum, optional): Wait for a load state: load, domcontentloaded, networkidle--download(boolean, optional): Wait for a download to finish and save it-o, --output(string, optional): Where to save the download (default: its file name in the current directory)
List, open, switch, or close tabs
steel browser tab
list: List open tabsnew: Open a new tab and switch to itswitch: Switch to a tabclose: Close a tab (the current tab if omitted)
List open tabs
steel browser tab list
Open a new tab and switch to it
steel browser tab new
url(string, optional): URL to open (defaults to about:blank)
Switch to a tab
steel browser tab switch
tab(string, required): Tab id fromtab list, such as t2
Close a tab (the current tab if omitted)
steel browser tab close
tab(string, optional): Tab id fromtab list, such as t2
Accept or dismiss an open dialog
steel browser dialog
action(enum, required): accept or dismissid(string, optional): Dialog id such as d-2 (default: the last dialog the CLI saw)--text(string, optional): Answer for a prompt dialog
Wait for a command that is still running
steel browser status
execution(string, required): Execution id such as x-7
Stop a command that is still running
steel browser cancel
execution(string, required): Execution id such as x-7
Close the browser session
steel browser close
Aliases:
quit,exitCloud session management and debugging
steel sessions
list: List cloud sessionsget: Get one cloud sessionrelease: Release a cloud sessionlogs: Read browser event logs for a sessionagent-logs: Read raw CDP-derived agent events for a sessiontraces: Read semantic agent trace timeline for a session
List cloud sessions
steel sessions list
--limit(string, optional): Number of sessions to return--cursor-id(string, optional): Cursor ID for pagination--status(string, optional): Filter by status: live, released, or failed
get_sessions(implemented):GET /v1/sessionsExample:steel sessions list --status live --limit 20
Get one cloud session
steel sessions get
session_id(string, optional): Cloud session ID--session(string, optional): Resolve session ID from a local browser session name
get_session(implemented):GET /v1/sessions/{id}Example:steel sessions get <session-id>
Release a cloud session
steel sessions release
session_id(string, optional): Cloud session ID-a, --all(boolean, optional): Release all active cloud sessions--session(string, optional): Resolve session ID from a local browser session name
release_session(implemented):POST /v1/sessions/{id}/releaseExample:steel sessions release <session-id>release_all_sessions(implemented):POST /v1/sessions/releaseExample:steel sessions release --all
Read browser event logs for a session
steel sessions logs
session_id(string, optional): Cloud session ID--session(string, optional): Resolve session ID from a local browser session name-f, --follow(boolean, optional): Stream live frames over WebSocket after printing historical data--namespace(string, optional): Filter by namespace--start-time(string, optional): ISO timestamp lower bound--since(string, optional): Alias for --start-time--end-time(string, optional): ISO timestamp upper bound--event-type(string[], optional): Event type filter, repeatable or comma-separated--limit(string, optional): Number of events to return--offset(string, optional): Pagination offset
get_session_logs(implemented):GET /v1/sessions/{id}/logsExample:steel sessions logs <session-id> --followStreaming: websocket/v1/sessions/{id}/logs
Read raw CDP-derived agent events for a session
steel sessions agent-logs
session_id(string, optional): Cloud session ID--session(string, optional): Resolve session ID from a local browser session name-f, --follow(boolean, optional): Stream live frames over WebSocket after printing historical data--namespace(string, optional): Filter by namespace--start-time(string, optional): ISO timestamp lower bound--since(string, optional): Alias for --start-time--end-time(string, optional): ISO timestamp upper bound--event-type(string[], optional): Event type filter, repeatable or comma-separated--limit(string, optional): Number of events to return--offset(string, optional): Pagination offset
get_session_agent_logs(implemented):GET /v1/sessions/{id}/agent-logsExample:steel sessions agent-logs <session-id> --limit 100
Read semantic agent trace timeline for a session
steel sessions traces
session_id(string, optional): Cloud session ID--session(string, optional): Resolve session ID from a local browser session name-f, --follow(boolean, optional): Stream live trace frames over WebSocket after printing historical data--namespace(string, optional): Filter by namespace--start-time(string, optional): ISO timestamp lower bound--since(string, optional): Alias for --start-time--end-time(string, optional): ISO timestamp upper bound--event-type(string[], optional): Event type filter, repeatable or comma-separated
get_session_agent_traces(implemented):GET /v1/sessions/{id}/agent-tracesExample:steel sessions traces <session-id> --followStreaming: websocket/v1/sessions/{id}/agent-traces
One-command onboarding: login + verify + install agent skills
steel init
--agent(boolean, optional): Run in agent mode: auto-accept interactive prompts and print agent-friendly output. Designed for AI coding agents--skills(string[], optional): Open the Steel skills installer flow. With no value, lets you choose skills interactively--no-skills(boolean, optional): Skip Steel skill installation
Login to Steel CLI
steel login
Aliases:
authLogout from Steel CLI
steel logoutManage stored credentials
steel credentials
list: List stored credentialscreate: Create a new credentialupdate: Update an existing credentialdelete: Delete a credential
List stored credentials
steel credentials list
-n, --namespace(string, optional): Filter by namespace--origin(string, optional): Filter by origin URL
Create a new credential
steel credentials create
--origin(string, optional): Origin URL to associate the credential with-u, --username(string, optional): Username-p, --password(string, optional): Password--totp-secret(string, optional): TOTP secret for two-factor authentication-n, --namespace(string, optional): Credential namespace--label(string, optional): Human-readable label
Update an existing credential
steel credentials update
--origin(string, optional): Origin URL of the credential to update-u, --username(string, optional): New username-p, --password(string, optional): New password--totp-secret(string, optional): New TOTP secret-n, --namespace(string, optional): Credential namespace--label(string, optional): New human-readable label
Delete a credential
steel credentials delete
--origin(string, optional): Origin URL of the credential to delete-n, --namespace(string, optional): Credential namespace
Local development runtime
steel dev
install: Install the local Steel Browser runtimestart: Start the local runtime containersstop: Stop the local runtime containers
Install the local Steel Browser runtime
steel dev install
--repo-url(string, optional): Git repository URL for local Steel Browser runtime-V, --verbose(boolean, optional): Enable verbose git command output
Start the local runtime containers
steel dev start
-p, --port(string, optional): API port for local Steel Browser runtime-V, --verbose(boolean, optional): Enable verbose Docker command output-d, --docker-check(boolean, optional): Only verify Docker availability and exit
Stop the local runtime containers
steel dev stop
-V, --verbose(boolean, optional): Enable verbose Docker command output
Scaffold a new project from a template
steel forge
template(string, optional): Template to start from-n, --name(string, optional): Project name--list(boolean, optional): List available templates and exit (respects --json)
Show current configuration
steel config
Update to the latest version
steel update
-f, --force(boolean, optional): Force update even if already on latest version-c, --check(boolean, optional): Only check for updates without installing
Manage Steel CLI cache
steel cache
-c, --clean(boolean, optional): Remove all cached files and directories
Manage named Steel browser profiles
steel profile
list: List all saved Steel browser profilesimport: Import a local browser profile into Steelsync: Sync a local browser profile to an existing Steel profiledelete: Delete a saved Steel browser profile
List all saved Steel browser profiles
steel profile list
Import a local browser profile into Steel
steel profile import
name(string, optional): Steel profile name to save as--from(string, optional): Browser profile directory to import from (e.g. "Default", "Profile 1")--browser(string, optional): Browser to import from (chrome, edge, brave, arc, opera, vivaldi)--full(boolean, optional): Include all profile data (IndexedDB, History, Bookmarks, etc.)
Sync a local browser profile to an existing Steel profile
steel profile sync
name(string, optional): Steel profile name to sync--from(string, optional): Browser profile directory to sync from (overrides stored source)--browser(string, optional): Browser to sync from (overrides stored browser)--full(boolean, optional): Include all profile data (IndexedDB, History, Bookmarks, etc.)
Delete a saved Steel browser profile
steel profile delete
name(string, optional): Name of the profile to delete
Describe commands and parameters
steel describe
path(string[], optional): Command path to describe (e.g. "browser click")--all(boolean, optional): Dump the entire command tree (recursive)
Check environment, auth, and connectivity
steel doctor
--preflight(boolean, optional): Only check auth and API connectivity
Manage Steel agent skills
steel skills
list: List available Steel skillsinstall: Install all or selected Steel skills through npx skillsupdate: Update one or more installed Steel skills through npx skillsdoctor: Check Steel skills installation healthopen: Open an installed skill or docs pagepaths: Show detected agent install paths for Steel skills
List available Steel skills
steel skills list
--offline(boolean, optional): Use cached or bundled manifest instead of fetching GitHub
Install all or selected Steel skills through npx skills
steel skills install
names(string[], optional): Skill name(s) to install--all(boolean, optional): Install all Steel skills from the catalog-a, --agent(string, optional): Target agent passed to npx skills (-a)-g, --global(boolean, optional): Install globally through npx skills (-g)-y, --yes(boolean, optional): Non-interactive yes passed to npx skills (-y)
Update one or more installed Steel skills through npx skills
steel skills update
names(string[], optional): Skill name(s) to update; all known Steel skills when omitted-y, --yes(boolean, optional): Non-interactive yes passed to npx skills (-y)
Check Steel skills installation health
steel skills doctor
--offline(boolean, optional): Use cached or bundled manifest instead of fetching GitHub
Open an installed skill or docs page
steel skills open
name(string, required): Skill name
Show detected agent install paths for Steel skills
steel skills paths
Generate a shell completion script
steel completion
shell(enum, required): Shell to generate completions for