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
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
Install
- Works in
Manual install
npm install -g vibium && vibium setupThe 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 reviewBroad 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 itemLimitations
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.
Related
CLI toolsAn MCP server that spins up several browser agents to test a site for broken links, UI bugs and accessibility issues
An MCP server from Mozilla: an agent drives Firefox through WebDriver BiDi, reads the console and network, takes page snapshots and profiles loading
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
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
Playwright CLI
playwright-cli
Microsoft's official Playwright CLI with an agent skill: drive a browser through short commands without heavy MCP schemas
A self-improving QA agent: natural-language tests for web and mobile that self-heal and remember runs
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Vibium (this entry) | no | 2,936 | ||
| Playwright CLI | yes | 14,557 | a Playwright CLI with a skill, while Vibium adds an independent check verdict and a saved check recording | |
| dev-browser | no | 6,694 | drives Chrome with short Puppeteer scripts, while Vibium works through commands with element labels on WebDriver BiDi | |
| Chrome DevTools MCP | yes | not required | 54,043 | the 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