Skip to main content
Liminal AI
Vireon DynamicsLiminal AIEnLiminalUse casesBrowser Automation DevFSL-1.1-MIT · free to use

Use case · Updated 2026-06-02

Browser automation for devs

The browser tool family wraps a real Chromium lifecycle: open sessions, navigate, snapshot accessibility trees, click/type, wait for selectors, extract text, and serve local files: gated by AGENT_BROWSER and lazy activation unless AGENT_BROWSER_ALWAYS_ACTIVE is set.

Tools in the browser family

  • browser_open / browser_close: session lifecycle (AGENT_BROWSER_MAX_SESSIONS caps concurrency).
  • browser_navigate. URLs with timeout handling.
  • browser_snapshot: accessibility-oriented page state for the model.
  • browser_act: clicks, typing, selects driven from snapshot refs.
  • browser_wait_for: selectors, network idle, or custom conditions.
  • browser_extract: structured text from the DOM.
  • browser_serve_file: expose local HTML for testing.
  • captcha_solve: optional 2captcha/CapSolver when AGENT_CAPTCHA_KEY is set.

Stealth and bot walls

AGENT_BROWSER_STEALTH patches common automation fingerprints. For web_fetch (non-browser), AGENT_WEB_FETCH_403_RETRY retries with alternate user agents when sites return bot-wall 401/403. Choose browser vs fetch based on whether the page needs JavaScript execution.

Developer workflows

Verify a staging UI after API changes without writing a full Playwright test suite first. Capture repro steps for a bug that only appears logged in. Scrape documentation behind client-rendered SPAs. Pair with web_search when the task starts from “find official docs” and ends on “click through the admin console.”

Enable in your harness

AGENT_BROWSER=1
# Then in the agent loop: activate_tool_family("browser")

FAQ

Common questions

Headed vs headless?

AGENT_BROWSER_HEADED=1 runs visible Chromium. Useful when debugging selectors; default is headless.