Skip to main content
Skyvern is a Python-based browser automation agent built on the Skyvern SDK. It supports multiple execution engines (skyvern_v1, skyvern_v2, openai-cua, anthropic-cua, ui-tars) and browser backends (local, cdp, lexmount, skyvern-cloud).

Installation

The skyvern and browser-use extras conflict. Use a separate venv (default .venvs/skyvern for skyvern, and .venvs/browser_use for browser-use in config.yaml). bubench run will auto-create that venv and install the skyvern extra on first use.
Activate .venv (or use uv run bubench ...) before running bubench commands.

Configuration

Configure Skyvern in the root config.yaml under agents.skyvern:
Store sensitive keys (e.g. OPENAI_COMPATIBLE_API_KEY, SKYVERN_API_KEY) in the repo root .env.

Engine Options

Browser Backends

Common Parameters

Renamed keys (legacy still honored)The openai_compatible_* prefix on per-model config keys was dropped so Skyvern matches every other agent (model_id, api_key, base_url, max_tokens, temperature, supports_vision, request_timeout). The old names still work — you’ll see a one-shot DeprecationWarning per key, then the value is aliased onto the new key. The underlying env vars passed to the Skyvern subprocess (OPENAI_COMPATIBLE_*) are unchanged.
Why no browser_control?Skyvern is a fully managed service: the decision of when to use DOM inspection versus visual grounding is made internally by the Skyvern execution engine (configurable via execution_engine). The benchmark only submits tasks via API and does not control the internal interaction strategy.

Usage Examples

Basic Run

Run All Tasks

Evaluation

Supported Benchmarks

  • ✅ LexBench-Browser
  • ✅ Online-Mind2Web
  • ✅ BrowseComp