BrowserGym Web-Agent Lab

A Gymnasium-based environment for building and evaluating web-task automation agents.

Stars
★ 1.4k
Last updated
11d ago
License
NOASSERTION
Primary language
Python

At a glance

How it runs
Library / SDKFrameworkCLI
Works with
Universal · cross-platformOpenAI API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
PythonPlaywrightChromiumShell / CLINetwork access
Typical use
A web-agent researcher wants to compare an in-house policy across MiniWoB, WebArena, and WorkArena using one Gymnasium execution loop.
Not a fit if
  • Teams wanting a turnkey consumer automation product, not research infrastructure
  • Users expecting one command to run every benchmark without per-benchmark setup

What does this agent do, and when should you use it?

BrowserGym is a Gym environment framework for web-agent research, not a consumer automation product. It registers open-ended and benchmark tasks with Gymnasium, so an agent runs through a reset/step loop that receives observations, rewards, termination signals, and task information. Its default benchmark coverage includes MiniWoB, WebArena, WorkArena, AssistantBench, WebLINX, OpenApps, and TimeWarp, although individual benchmarks can require separate setup. The core interface is designed for teams to implement their own agents, while the repository also includes a demo agent backed by OpenAI. It fits research and engineering teams that need common task interfaces and benchmark entry points, rather than a turnkey governed automation platform.

After installation, importing modules such as browsergym.core, browsergym.miniwob, or browsergym.webarena registers their tasks as Gymnasium environments. An open-ended browser task is created with gym.make("browsergym/openended", task_kwargs={"start_url": "https://www.google.com/"}, wait_for_user_message=True); env.reset() returns obs and info, then the agent supplies actions through env.step(action) and receives obs, reward, terminated, truncated, and info before calling env.close(). Benchmark environments can be started with IDs such as browsergym/miniwob.choose-list, browsergym/workarena.servicenow.order-ipad-pro, and browsergym/webarena.310. The demo entry point, demo_agent/run_demo.py, runs openended, miniwob, workarena, webarena, or visualwebarena tasks and exposes model-name and screenshot options.

  1. A web-agent researcher wants to compare an in-house policy across MiniWoB, WebArena, and WorkArena using one Gymnasium execution loop.
  2. An engineer building an open-ended browser assistant needs a task that begins at a chosen start_url and waits for user input after each agent chat message.
  3. A ServiceNow-focused team wants to exercise knowledge-work browser tasks such as browsergym/workarena.servicenow.order-ipad-pro.
  4. A multimodal-agent developer wants to run the VisualWebArena demo and enable use_screenshot for a vision-language model.
  5. An experimentation team wants to use AgentLab alongside BrowserGym benchmarks to run agents and collect and analyze traces.

How do you install or deploy this agent?

Recommended installation:

pip install browsergym
playwright install chromium

For only the open-ended core task, install browsergym-core; benchmark-specific packages include browsergym-miniwob, browsergym-webarena, and browsergym-workarena. Each benchmark has additional setup requirements. For the demo agent, run pip install -r demo_agent/requirements.txt, then playwright install chromium; its OpenAI backend requires OPENAI_API_KEY.

How do you use this agent?

Import gymnasium as gym and browsergym.core, then create an environment with gym.make("browsergym/openended", task_kwargs={"start_url": "https://www.google.com/"}, wait_for_user_message=True). Call env.reset(), drive your agent in an env.step(action) loop until terminated or truncated is true, and release the environment with env.close(). To validate the demo flow after setting OPENAI_API_KEY, run:

python demo_agent/run_demo.py --task_name openended --start_url https://www.google.com

What are this agent's strengths and limitations?

Pros
  • It uses one Gymnasium reset/step interface for open-ended browsing and multiple web-agent benchmarks, making agent loops reusable.
  • Its documented default coverage spans MiniWoB, WebArena, WebArenaVerified, VisualWebArena, WorkArena, AssistantBench, WebLINX, OpenApps, and TimeWarp.
  • Teams can implement their own action policy or run the included OpenAI-backed demo agent, with model-name and screenshot options.
  • New web benchmarks can be designed by inheriting AbstractBrowserTask.
Limitations
  • The repository explicitly positions BrowserGym as research infrastructure rather than a consumer product, so production adoption requires separate security, operations, and workflow controls.
  • Playwright Chromium is a runtime dependency, and several benchmarks have their own additional setup.
  • The documented demo agent uses an OpenAI backend and requires an OPENAI_API_KEY.
  • There is no documented one-command deployment for every benchmark; environment and data preparation remain benchmark-specific.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
BrowserGym Web-Agent Lab This agent 52 · Major gaps Library / SDKFree + model costs ★ 1.4k 11d ago Python OpenAI API
Notte Web Automation 64 · Some gaps Library / SDKFreemium ★ 2.1k today Python —
Playwright Browser Automation MCP 65 · Some gaps MCP serverFree ★ 39k 1d ago TypeScript Codex · Claude Code
assay 81 · Good CLIFree ★ 110 2d ago Python Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
52/ 100 5-point scale 2.6 / 5
Trust 10/29
Reliability 5/14
Adaptability 14/18
Convention 10/18
Effectiveness 9/13
Verifiability 4/8
Why each dimension lost points
Trust10 / 29 · 1.7/5

BrowserGym exposes an executable browser environment; the demo includes navigation, tab, and click actions and mentions a broader PythonActionSet. This supports research use but documents limited permission boundaries, so least privilege scores 1. The README example enables wait_for_user_message, but no general confirmation for consequential actions or undo/recovery mechanism is shown, so confirmation is 1 and rollback 0. The demo sends chat, URLs, accessibility tree, DOM, and optionally screenshots to the OpenAI API and requires an API key. This gives partial data-flow visibility, but no sensitive-data filtering or retention guidance is shown, so transparency and sensitive-data handling are 1. The packet gives install steps for Playwright and other packages but no dependency audit or vulnerability mitigation evidence, so dependency security is 1. Browser actions can affect external sites without documented impact controls, so external effects is 1. The LICENSE states Apache-2.0 and the README provides citations and project identification, supporting attribution at 2.

Reliability5 / 14 · 1.8/5

The README has setup and usage examples for multiple environments, but the VisualWebArena example imports webarena and the AssistantBench example imports workarena and lists a workarena prefix; these mismatches reduce self-consistency to 1. Setup names Playwright Chromium and benchmark-specific prerequisites, but many benchmarks rely on external services, data, or accounts, and the sample shows no lock strategy, so dependency availability is 1. The demo raises on unexpected chat roles and gives a ValueError when neither HTML nor accessibility input is enabled. Error handling is partially supported, but user recovery guidance is limited, so failure messages is 1. This is a static review; the project was not run.

Adaptability14 / 18 · 3.9/5

The README explicitly positions the project as a web-agent research framework rather than a consumer product and lists open-ended tasks, benchmarks, interaction, and experiment scenarios, earning 3 for audience and scenarios. The AbstractBrowserTask extension point, optional DOM/AXTree/screenshot inputs, and configurable action subsets support adaptation; however, the PythonActionSet example is commented out and boundaries are not fully described, so capability boundaries is 2. Task setup, entry points, and API-key prerequisites are mostly identifiable, but mismatched README imports and prefixes lower trigger precision to 2. The Gymnasium interface, Playwright, and task registration fit the framework purpose, while benchmark-specific external setup adds friction, so environment fit is 2.

Convention10 / 18 · 2.8/5

The README separates setup, usage, demo, ecosystem, and citation, with benchmark-specific setup pointers, supporting information architecture at 2. Installation includes pip choices, browser installation, and local development steps, but external benchmark configuration is distributed across other documents not fully present in the sample, so install notes is 2. Package names, task IDs, and split packages are visible, but example mismatches weaken naming stability, scoring 1. Multiple task snippets, demo commands, and a --help pointer provide examples; there is no FAQ in the packet and some snippets have incorrect imports, so examples and FAQ is 2. The README warns that this is not a consumer product and requires caution, and points out benchmark setup requirements, so known limitations is 2. The repository LICENSE gives Apache-2.0, scoring 3. Dynamic versioning and a tag-based release workflow are shown, but no changelog is in the packet, so versioning/changelog is 1. Publisher verification is absent; the README identifies the ServiceNow project and contribution path but gives no clear maintainer or support responsibility, so maintenance responsibility is 1.

Effectiveness9 / 13 · 3.5/5

BrowserGym offers a unified Gym interface, registered tasks, action spaces, and browser observations; the examples help researchers integrate it, so output usability is 2. Its broad benchmark integrations, task extension base class, and research framework role show clear additional value over a single-purpose script, scoring marginal value 3. Users need Chromium and may need benchmark services, datasets, or accounts; setup explains some of this, but no cost assessment or lighter-weight risk controls are shown, so cost-benefit is 1.

Verifiability4 / 8 · 2.5/5

README setup, interface, ecosystem, and citation claims have examples; the CI workflow names build and test steps, and the demo source shows observation fields and API calls, supporting traceability at 2. README, demo, license, release, and CI files corroborate the framework role, license, and usage to some extent, but the CI sample is truncated and some benchmark examples conflict, so cross-source corroboration is 2. The material partly separates concrete instructions from illustrative claims, but assertions such as ease of designing benchmarks and ecosystem capability lack quantitative support in the sample, so fact/inference separation is 1.

Risks and how to mitigate them
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • This is a low-confidence static review; code was not run and tests were not independently verified.
  • The demo sends page DOM, URLs, chat content, and optional screenshots to the OpenAI API; assess data exposure before using real accounts or sensitive pages.
  • The README has import or task-prefix mismatches in its VisualWebArena and AssistantBench examples; consult the benchmark-specific setup documents for external prerequisites.
Evidence confidence: Low Reviewed Nov 07, 2026 Reviewed revision 27a90ce81509
See the full review method →
Maintain this project? Add the FARS badge to your README

The badge shows the current review score and verdict and links back to this page. It refreshes about once an hour after a re-review.

FARS

[![FARS review](https://followagents.com/badge/browsergym.svg)](https://followagents.com/en/agents/browsergym)
<a href="https://followagents.com/en/agents/browsergym"><img src="https://followagents.com/badge/browsergym.svg" alt="FARS review"></a>

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.14.3
    Release notes excerpt
    What's Changed * Add "BrowserGym Ecosystem" paper in the readme by @xhluca in https://github.com/ServiceNow/BrowserGym/pull/363 * Add WebArena Lite by @amanjaiswal73892 in https://github.com/ServiceNow/BrowserGym/pull/368 * update webarenalite requirement and toml by @amanjaiswal73892 in https://github.com/ServiceNow/BrowserGym/pull/369 * Version bump dev by @amanjaiswal73892 in https://github.com/ServiceNow/BrowserGym/pull/371 * Webarenalite build fix by @amanjaiswal73892 in https://github.com/ServiceNow/BrowserGym/pull/374 …
    View on GitHub ↗
  2. v0.14.2
    Release notes excerpt
    What's Changed * Miniwob zoom by @recursix in https://github.com/ServiceNow/BrowserGym/pull/352 * prevent lxml to go to version 6 by @recursix in https://github.com/ServiceNow/BrowserGym/pull/356 * Fix_bbox_scale by @recursix in https://github.com/ServiceNow/BrowserGym/pull/357 * Make miniwob installation automatic. by @amanjaiswal73892 in https://github.com/ServiceNow/BrowserGym/pull/359 * Fill->type to trigger drop down by @recursix in https://github.com/ServiceNow/BrowserGym/pull/358 New Contributors …
    View on GitHub ↗
  3. v0.14.1
    Release notes excerpt
    What's Changed * Some changes in preparation for agentlab's new ToolUseAgent and the new APIs by @TLSDC in https://github.com/ServiceNow/BrowserGym/pull/340 * Miniwob zoom by @recursix in https://github.com/ServiceNow/BrowserGym/pull/351 Full Changelog: https://github.com/ServiceNow/BrowserGym/compare/v0.13.4...v0.14.1
    View on GitHub ↗

FAQ

Can BrowserGym directly automate my production web workflow?
It provides environments and benchmark entry points for building and evaluating web agents. The repository explicitly says it is not a consumer product; you still implement the agent logic and deployment controls.
Is OpenAI required?
The core Gym examples leave action implementation to you. Only the documented demo agent explicitly uses an OpenAI backend and requires OPENAI_API_KEY.
Does installing browsergym make every benchmark immediately runnable?
Not necessarily. The README states that each benchmark has its own additional setup steps and several are available as separate packages.
How do I create a custom web benchmark?
The README states that new benchmarks can be designed by inheriting AbstractBrowserTask.
Was this page helpful?
View on GitHub ↗ Install ↓