Vibium CLI

One binary for agent browser automation: a CLI with browser and check skills, an MCP server and clients for JS, Python and Java

  • 2,936 ★ on the repository
  • Last commit
  • Apache-2.0
CLI

Broad access

Why this level

  • Controls a browser: clicks, fills forms and can run JavaScript on a page through `eval`
  • `run` and `check` send page content to an external model provider using the key in `~/.config/vibium/ai.env`
  • Installation downloads Chrome and a binary, and `vibium setup` writes files into the agent's skills directories
All reasons and checks

vibiumdev/vibium

Install

Manual install

npm install -g vibium && vibium setup

The wizard installs Chrome if it is missing and offers the browser and check skills. Agents can use vibium setup --non-interactive.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Controls a browser: clicks, fills forms and can run JavaScript on a page through `eval`
  • `run` and `check` send page content to an external model provider using the key in `~/.config/vibium/ai.env`
  • Installation downloads Chrome and a binary, and `vibium setup` writes files into the agent's skills directories

This is third-party code. Review the repository files before installing.

What it does

Vibium gives an agent the means to verify its own work in a browser. The `vibium go` command opens a page, `vibium map` numbers interactive elements with `@e1`, `@e2` labels, and the agent clicks, fills fields and picks list items by those labels. It can read text, take screenshots (including with labeled elements), export PDF, wait for an element or URL and record a session to an archive. Two skills, `browser` and `check`, connect this to the agent: the first drives pages and actions, the second independently verifies a claim such as "the cart contains exactly one battery pack" and saves a recording. The same binary works as an MCP server, and client libraries exist for code. It is built on WebDriver BiDi, launches Chrome by default, and Firefox is enabled with a flag.

Who it is for. For developers and testers who hand a web interface to Claude Code, Codex or Gemini CLI and want the result checked in a live browser.

Good fit when

  • An agent built a form and you ask it to walk the scenario in a browser itself: fill fields, press buttons, take a screenshot
  • You need an independent confirmation that a claim holds, for example that adding a product leaves one item in the cart, with the check saved as a zip recording
  • The site changes markup often and you want semantic lookups without CSS: `vibium find text`, `find label`, `find role button`
  • You want one tool for both the agent and tests: the same binary serves an MCP server, and a client installs via npm, pip or Maven
  • You need to compare page state before and after an action: `vibium diff map` shows what changed

Not a fit when

  • You only need static text from a page with no browser: launching Chrome would be extra
  • You need `run` and `check` without configuring a model: they require a provider key and the `~/.config/vibium/ai.env` file, and currently work only on the development build
  • You need a browser with the user's existing sign-ins and extensions: Vibium launches a separate browser
  • You work on Linux arm64 or another platform outside the list: Linux x64, macOS x64 and arm64, and Windows x64 are supported

Example request

Use vibium to open localhost:3000, add one product to the cart and verify with check that the cart has exactly one item

Limitations

The `vibium run` and `vibium check` commands call a model, so they need a provider and a key in `~/.config/vibium/ai.env`: openai, xai, anthropic, google, openai-compatible and local are supported. As of the documentation they work only on the development build. The remaining commands need no key. The supported platforms are Linux x64, macOS x64 and arm64, and Windows x64. Building from source needs Go, Node.js and Java 21.

How to disable. Close the browser with `vibium stop`. `npm uninstall -g vibium` removes the global package. Delete the browser and check skills from the agent's skills directory and the MCP entry with `claude mcp remove vibium`. Delete the `~/.config/vibium/ai.env` file with keys by hand.

FAQ

How do I install Vibium in Claude Code?

Run `npm install -g vibium`, then `vibium setup`: the wizard offers the browser and check skills, the agent and the install scope, and downloads Chrome itself if it is missing. The MCP route is `claude mcp add vibium -- npx -y vibium mcp`.

How is the check skill different from run?

`run` hands the model a browser goal, for example adding a product to the cart. `check` independently assesses a claim in the browser or on a recording and returns a verdict. The author requires calling check separately: run's completed status and your own observations do not replace it.

What are the @e1 labels in Vibium?

`vibium map` lists the page's interactive elements and gives them references `@e1`, `@e2` and so on. The `click`, `fill` and `select` commands then accept such a reference. After navigation or a page change, get fresh references with another `vibium map`.

Can I use Vibium from Python or Java?

Yes. Clients install as `npm install vibium`, `pip install vibium` and the com.vibium:vibium dependency in Gradle or Maven. JavaScript has both async and sync APIs, and both download Chrome automatically.

Does Vibium work with Firefox?

Yes. Chrome is the default and Firefox is enabled with the `--engine firefox` flag. Session video recording is stated for Firefox 154 and newer.

Discussion

No questions or reviews yet.

CLI tools
Needs a VPN

An MCP server that spins up several browser agents to test a site for broken links, UI bugs and accessibility issues

MCP serverExtended access831Repository stars
Official

An MCP server from Mozilla: an agent drives Firefox through WebDriver BiDi, reads the console and network, takes page snapshots and profiles loading

MCP serverBroad access519Repository stars

CLI, MCP server and typed Node.js API so an agent can verify its changes in a live mobile app on iOS, Android and more

CLIExtended access5.1KRepository stars

A skill that tests your agent's code in a real browser: reads your changes, builds a test plan and runs it through Playwright with your own cookies

SkillBroad access3.6KRepository stars

Playwright CLI

playwright-cli

Official

Microsoft's official Playwright CLI with an agent skill: drive a browser through short commands without heavy MCP schemas

CLIExtended access14.6KRepository stars

A self-improving QA agent: natural-language tests for web and mobile that self-heal and remember runs

CLIExtended access899Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
Vibium (this entry)no2,936
Playwright CLIyes14,557a Playwright CLI with a skill, while Vibium adds an independent check verdict and a saved check recording
dev-browserno6,694drives Chrome with short Puppeteer scripts, while Vibium works through commands with element labels on WebDriver BiDi
Chrome DevTools MCPyesnot required54,043the official Chrome DevTools MCP server focused on network and traces, while Vibium is broader in form: CLI, skills, MCP and clients

README in short

The README presents Vibium as a verification layer for coding agents that needs no setup: one binary of about 10 MB with no dependencies, built on the WebDriver BiDi standard. The Agent Setup section describes installation and two skills, and a cheat sheet then lists commands: setting a task with `run`, verifying with `check`, an element map, search by text, label and role, reading, waiting, recording and forms. The MCP option follows, then clients for JS and TS, Python and Java in sync and async forms. A diagram of the architecture, a platform table, links to guides and the Apache 2.0 license close it.

README badge

Original SKILL.md

---
name: browser
description: Automate browsers with the Vibium CLI. Use to navigate websites, inspect pages, fill forms, extract page data, debug UI behavior, capture screenshots and recordings, or delegate browser goals with vibium run.
---

# Vibium Browser Automation — CLI Reference

The `vibium` CLI automates Chrome (and Firefox, via `--engine firefox`) from the command line. The browser auto-launches on first use (daemon mode keeps it running between commands).

Use this skill for browser automation, exploration, debugging, and recording.
Choose explicit CLI commands when you know the steps, or use `vibium run`
when a model should work out how to accomplish a browser goal.

For an independent acceptance verdict, use the `check` skill if installed,
or `vibium check "<claim>"`. Run’s `completed` result and your own browser
observations do not substitute for that invocation.

## Core Workflow

For direct browser commands, use this pattern:

1. **Navigate**: `vibium go <url>`
2. **Map**: `vibium map` (get element refs like `@e1`, `@e2`)
3. **Interact**: Use refs to click, fill, select — e.g. `vibium click @e1`
4. **Re-map**: After navigation or DOM changes, get fresh refs with `vibium map`

## Binary Resolution

Before running any commands, resolve the `vibium` binary path once:

1. Try `vibium` directly (works if globally installed via `npm install -g vibium`)
2. Fall back to `./clicker/bin/vibium` (dev environment, in project root)
3. Fall back to `./node_modules/.bin/vibium` (local npm install)

Run `vibium --help` (or the resolved path) to confirm. Use the resolved path for all subsequent commands.

**Windows note:** Use forward slashes in paths (e.g. `./clicker/bin/vibium.exe`) and quote paths containing spaces.

## Browser readiness

During initial setup, run `vibium ready browser --json` with the engine/channel
that the workflow will use. It inspects installed browser and driver files
without launching them or touching existing sessions. Passing confirms the
installation, not browser launch or BiDi connectivity. If installation is missing, use the reported `vibium install`
command and retry. Direct browser work does not need AI configuration.
Do not rerun readiness before every action when setup is unchanged.

## Delegate a browser goal with Run

Use `vibium run "<goal>"` when the task is clear but the sequence of browser

Report a problem

Foxx AIVibium
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.