Get started with Vibium

From zero to "hello world" in about five minutes. One install downloads the browser automatically — no drivers, no config.

Install Vibium

Install the CLI globally. The browser is fetched on first run, so there's nothing else to download.

Terminal
npm install -g vibium

Prefer a language library? npm install vibium · pip install vibium · Maven/Gradle for Java.

Navigate to a page

Point Vibium at any URL. It launches a managed Chrome/Chromium instance over WebDriver BiDi.

Terminal
vibium go https://example.com

Map the interactive elements

map returns the clickable / fillable elements on the page with stable handles like @e1, @e2 — ideal for an agent to reason about.

Terminal
vibium map

Find & interact semantically

Locate elements by what a human sees — text, label, placeholder or ARIA role — then act on them.

Terminal
vibium find text "Sign In"
vibium click @e1
vibium fill @e2 "hello@vibium.club"

Capture evidence

Take a screenshot or PDF so your agent (or you) can verify the result.

Terminal
vibium screenshot -o page.png
Wire it to your agent

Use Vibium with coding agents

Claude Code · MCP server
claude mcp add vibium -- \
  npx -y vibium mcp
Any agent · vibe-check skill
npx skills add \
  https://github.com/VibiumDev/vibium \
  --skill vibe-check
MCP is first-class. Vibium ships with an MCP server built in — not bolted on. Any MCP client (Claude Code, Gemini CLI, and others) can drive a real browser with zero extra setup.
Code examples

Drive a browser from your language

install
npm install vibium
example.js
import { browser } from 'vibium'

const bro = await browser.start()
const vibe = await bro.page()

await vibe.go('https://example.com')
const el = await vibe.find({ text: 'Sign In' })
await el.click()
await vibe.screenshot('page.png')

await bro.close()
install
pip install vibium
example.py
from vibium import browser

bro = browser.start()
vibe = bro.page()

vibe.go("https://example.com")
el = vibe.find(text="Sign In")
el.click()
vibe.screenshot("page.png")

bro.close()
build.gradle
dependencies {
  implementation 'dev.vibium:vibium:+'
}
Example.java
import dev.vibium.Browser;
import dev.vibium.Page;

Browser bro = Browser.start();
Page vibe = bro.page();

vibe.go("https://example.com");
vibe.find("Sign In").click();
vibe.screenshot("page.png");

bro.close();
Heads up: API shapes evolve quickly. Always confirm command and method names against the official tutorials and the full SKILL.md command reference.
Cheat sheet

Common CLI commands

vibium go <url>

Navigate to a URL in a managed browser.

vibium map

List interactive elements with stable @e handles.

vibium find text "…"

Semantic find by text, label, placeholder or role.

vibium click @e1

Click an element by its handle.

vibium fill @e2 "…"

Fill inputs; also select & check controls.

vibium screenshot -o f.png

Capture a screenshot — or a PDF — as evidence.

Watch the video walkthrough →