Open Browser

Give AI agents a browser — they click, type, navigate, and extract data autonomously from natural language tasks.

Stars
★ 9.6k
Last updated
6mo ago
License
MIT
Primary language
TypeScript

At a glance

How it runs
CLILibrary / SDKFramework
Works with
Universal · cross-platformChatGPT · Claude.ai · OpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
BunPlaywrightVercel AI SDKShell / CLINetwork accessLocal filesystem
Typical use
Developers automating repetitive web tasks like data extraction or form filling.
Not a fit if
  • Users unwilling to send page data to OpenAI, Anthropic, or Google APIs
  • Developers unfamiliar with the Bun runtime

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

Open Browser is a TypeScript-based autonomous web browsing framework built on Playwright with first-class support for OpenAI, Anthropic, and Google models. It provides a core library, CLI, and sandbox packages. Users describe tasks in natural language, and the agent navigates websites, performs actions, extracts data, and detects stalls. It features an interactive REPL, cost tracking, session management, and resource-limited sandboxed execution. MIT licensed and fully extensible.

Open Browser core exposes an Agent class that takes a natural language task, sends current page state and task to an LLM, which decides commands (click, type, navigate, extract) to execute on a Playwright browser. The CLI (open-browser run) lets you launch agents, while open-browser interactive opens a live REPL. The @open-browser/sandbox package enables running agents with resource limits, timeout, and domain restrictions.

  1. Developers automating repetitive web tasks like data extraction or form filling.
  2. QA engineers testing multi-step workflows and validating UI behavior.
  3. Researchers aggregating information from multiple websites.
  4. Product managers quickly prototyping web interactions without handwriting scripts.

How do you install or deploy this agent?

Install dependencies with bun install. Copy .env.example to .env and edit to set at least one API key: OPENAI_API_KEY, ANTHROPIC_API_KEY, or GOOGLE_GENERATIVE_AI_API_KEY.

How do you use this agent?

Run an agent: bun run open-browser run "Find the price of the MacBook Pro on apple.com". For interactive mode: bun run open-browser interactive. CLI options include --model, --provider, --headless, and --max-steps.

What are this agent's strengths and limitations?

Pros
  • Multi-model support (OpenAI, Anthropic, Google) with easy switching via CLI flag.
  • Built-in sandbox for resource-restricted execution with timeout, memory limits, and domain allowlists.
  • Interactive REPL and comprehensive CLI for debugging and prototyping.
  • Production-ready features include stall detection, cost tracking, session management, and replay recording.
Limitations
  • Requires Bun runtime, which may have a learning curve for developers unfamiliar with Bun.
  • Requires at least one LLM API key and incurs API costs per task.
  • Network access is mandatory; works only in online environments.

How does this agent compare with similar options?

Compared to traditional browser automation like Playwright, Open Browser integrates LLM decision-making so tasks can be described naturally without scripting selectors.

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

Agent Source review Form / cost Stars Updated Language Full support on
Open Browser This agent 47 · Major gaps CLIFree + model costs ★ 9.6k 6mo ago TypeScript ChatGPT · Claude.ai · OpenAI API · Claude API
OpenCLI Browser Automation CLI 49 · Major gaps CLIFree ★ 30k 1d ago JavaScript Claude Code
Opensteer 49 · Major gaps CLIFree ★ 203 2mo ago Python —
h5i — A Security-First Headless Browser for AI Agents 84 · Good CLIFree ★ 788 today Rust Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
47/ 100 5-point scale 2.4 / 5
Trust 7/29
Reliability 8/14
Adaptability 10/18
Convention 10/18
Effectiveness 9/13
Verifiability 3/8
Why each dimension lost points
Trust7 / 29 · 1.2/5

Evidence shows: README mentions sandboxed execution, resource limits, domain restrictions, timeouts, indicating some least-privilege awareness; but no user confirmation mechanism (e.g., confirmation for dangerous actions), and no explicit data flow transparency (e.g., what data is sent to LLM). Sensitive data handling (e.g., API keys) is only via environment variables, no encryption or protection details. Dependency security: uses bun install, but no lockfile or audit evidence. External effects: agent can click, type, navigate, causing external side effects, but no rollback mechanism. Source attribution: MIT license and contributors exist, but publisher unverified. Thus, most criteria scored low.

Reliability8 / 14 · 2.9/5

Evidence shows: README and code structure are consistent, package and command names stable, indicating good self-consistency. Dependency availability: uses common dependencies like Playwright and Vercel AI SDK, but no version pinning or mirror info. Failure messages: README mentions error handling and stall detection, but no specific failure message examples. Thus, self-consistency and dependency availability scored medium, failure messages low.

Adaptability10 / 18 · 2.8/5

Evidence shows: README describes multiple usage scenarios (CLI, library, sandbox), audience clear (developers). Capability boundaries: provides allowedUrls, blockedUrls, stepLimit configs, indicating boundary control. Trigger precision: natural language task description, but no precise trigger conditions or validation. Environment fit: supports multiple models and browser configs, but no detailed system requirements. Thus, most criteria scored medium.

Convention10 / 18 · 2.8/5

Evidence shows: README structure clear, includes quick start, architecture, CLI commands, config, good information architecture. Install notes: provides bun install and .env setup steps. Naming stability: package and command names consistent. Examples and FAQ: multiple examples, but no FAQ. Known limitations: not explicitly listed. License: MIT license present. Versioning/changelog: no CHANGELOG. Maintenance responsibility: contributing guide exists, but no explicit maintainers. Thus, most criteria scored medium, known limitations and versioning/changelog low.

Effectiveness9 / 13 · 3.5/5

Evidence shows: Output usability: agent returns results, CLI provides screenshot, extract, etc., output format clear. Marginal value: provides autonomous browsing capability, advantage over manual scripting. Cost-benefit: provides cost tracking, but no performance benchmarks or cost comparisons. Thus, scored medium.

Verifiability3 / 8 · 1.9/5

Evidence shows: Claims in README (e.g., production-ready) not supported by test coverage or benchmark data. Cross-source corroboration: only README, no independent verification. Fact-inference separation: README distinguishes feature descriptions and architecture diagram, but not explicit fact vs inference. Thus, scored low.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • No user confirmation mechanism; agent may perform irreversible actions (e.g., form submission, data deletion).
  • Data flow transparency not explicit; users cannot know what page data is sent to LLM.
  • Dependency security lacks lockfile or audit evidence, posing supply chain risk.
  • No rollback or undo mechanism; external side effects cannot be reverted.
  • Publisher unverified; source attribution unclear.
Evidence confidence: Low Reviewed Aug 13, 2026 Reviewed revision 067fc45d649b
See the full review method →

FAQ

Which LLM providers does it support?
It supports OpenAI, Anthropic, and Google, selectable via the --provider flag.
How do I control costs?
Use --max-steps to limit agent steps and --no-cost to hide cost display. Actual cost depends on model choice and task length.
What does the sandbox restrict?
You can set timeout, memory limit, allowed domains, and step limit to safely run on untrusted sites.
What happens if an agent fails?
The agent has stall detection and a failure threshold; it stops and reports errors.
View on GitHub ↗ Install ↓

Related agents