A Claude Skill to give your agent the ability to use a web browser
Dev Browser is a Claude Code skill that gives AI agents full browser automation capabilities through the Playwright API, running scripts in a sandboxed QuickJS WASM environment so that executed code has no access to the host filesystem or network. Installed via npm as a global CLI tool, it works with Claude Code either as a plugin or by simply letting the agent call the `dev-browser` command directly from bash, with optional pre-approval via `.claude/settings.json` to skip per-command permission prompts. The tool supports both headless Chromium and connections to a running Chrome instance via remote debugging, and maintains named persistent pages across multiple script executions. A standout detail is the dual computer-use API: `page.cua.*` for pixel-coordinate interaction backed by JPEG screenshots, and `page.domCua.*` for DOM-node-id interaction using snapshots of visible interactive elements. Developers building web scraping, automated testing, or agentic workflows that require real browser control are the primary audience.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Healthy fork ratio
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
git clone https://github.com/SawyerHood/dev-browser ~/.claude/skills/dev-browser1 items in this repository
Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.
Skills overview
<p align="center">
<img src="assets/header.png" alt="Dev Browser - Browser automation for Claude Code" width="100%">
</p>
Brought to you by [Do Browser](https://dobrowser.io).
A browser automation tool that lets AI agents and developers control browsers with sandboxed JavaScript scripts.
**Key features:**
- **Sandboxed execution** - Scripts run in a QuickJS WASM sandbox with no host access
- **Persistent pages** - Navigate once, interact across multiple scripts
- **Auto-connect** - Connect to your running Chrome or launch a fresh Chromium
- **Full Playwright API** - goto, click, fill, locators, evaluate, screenshots, and more
## Demo
https://github.com/user-attachments/assets/c6cf7fb9-b1dc-46ed-93b9-6e7240990c53
## CLI Installation
```bash
npm install -g dev-browser
dev-browser install # installs Playwright + Chromium
```
### Quick start
```bash
# Launch a headless browser and run a script
dev-browser --headless <<'EOF'
const page = await browser.getPage("main");
await page.goto("https://example.com", { waitUntil: "domcontentloaded" });
console.log(await page.title());
EOF
# Connect to your running Chrome (enable at chrome://inspect/#remote-debugging)
dev-browser --connect <<'EOF'
const tabs = await browser.listPages();
console.log(JSON.stringify(tabs, null, 2));
EOF
```
### PowerShell (Windows)
```powershell
@"
const page = await browser.getPage("main");
await page.goto("https://example.com", { waitUntil: "domcontentloaded" });
console.log(await page.title());
"@ | dev-browser
```
With `--connect`:
```powershell
@"
const page = await browser.getPage("main");
console.log(await page.title());
"@ | dev-browser --connect
```
### Windows notes
PowerShell install:
```powershell
npm install -g dev-browser
dev-browser install
```
To attach to a running Chrome instance on Windows:
```powershell
chrome.exe --remote-debugging-port=9222
dev-browser --connect
```
Windows npm installs download the native `dev-browser-windows-x64.exe` release asset during `postinstall`, and the generated npm shims invoke that executable directly.
### Using with AI agents
After installing, just tell your agent to run `dev-browser --help` — the help output includes a full LLM usage guide with examples and API reference. No plugin or skill installation needed.
<details>
<summary>Allowing dev-browser in Claude Code without permission prompts</summary>
By default, Claude Code asks for approval each time it runs a bash command. You can pre-approve `dev-browser` so it runs without permission checks by adding it to the `allow` list in your settings.
**Per-project** — add to `.claude/settings.json` in your project root:
```json
{
"permissions": {
"allow": [
"Bash(dev-browser *)"
]
}
}
```
**Per-user (global)** — add to `~/.claude/settings.json`:
```json
{
"permissions": {
"allow": [
"Bash(dev-browser *)"
]
}
}
```
The pattern `Bash(dev-browser *)` matches any command starting with `dev-browser ` followed by arguments (e.g. `dev-browser --headless`, `dev-browser --connect`). This is safe because dev-browser scripts run in a sandboxed QuickJS WASM environment with no host filesystem or network access.
You can also allow related commands in the same list:
```json
{
"permissions": {
"allow": [
"Bash(dev-browser *)",
"Bash(npx dev-browser *)"
]
}
}
```
> **Tip:** If you've already been prompted and clicked "Always allow", Claude Code adds the specific command pattern automatically. The settings file approach lets you pre-approve it before the first run.
</details>
<details>
<summary>Legacy plugin installation (Claude Code / Amp / Codex)</summary>
### Claude Code
```
/plugin marketplace add sawyerhood/dev-browser
/plugin install dev-browser@sawyerhood/dev-browser
```
Restart Claude Code after installation.
### Amp / Codex
Copy the skill to your skills directory:
```bash
# For Amp: ~/.claude/skills | For Codex: ~/.codex/skills
SKILLS_DIR=~/.claude/skills # or ~/.codex/skills
mkdir -p $SKILLS_DIR
git clone https://github.com/sawyerhood/dev-browser /tmp/dev-browser-skill
cp -r /tmp/dev-browser-skill/skills/dev-browser $SKILLS_DIR/dev-browser
rm -rf /tmp/dev-browser-skill
```
</details>
## Script API
Scripts run in a sandboxed QuickJS runtime (not Node.js). Available globals:
```javascript
// Browser control
browser.getPage(nameOrId) // Get/create named page, or connect to tab by targetId
browser.newPage() // Create anonymous page (cleaned up after script)
browser.listPages() // List all tabs: [{id, url, title, name}]
browser.closePage(name) // Close a named page
// File I/O (restricted to ~/.dev-browser/tmp/)
await saveScreenshot(buf, name) // Save screenshot buffer, returns path
await writeFile(name, data) // Write file, returns path
await readFile(name) // Read file, returns content
// Output
console.log/warn/error/info // Routed to CLI stdout/stderr
```
Pages are full [Playwright Page objects](https://playwright.dev/docs/api/class-page) — `goto`, `click`, `fill`, `locator`, `evaluate`, `screenshot`, and everything else, including `page.snapshotForAI({ track?, depth?, timeout? })`, which returns `{ full, incremental? }` for AI-friendly page snapshots.
Every page also exposes two computer-use toolsets:
- `page.cua.*` — pixel/vision tier: `screenshot()` saves a JPEG whose pixels map 1:1 onto CSS coordinates at any DPR and returns `{ path, width, height }`; `click`, `doubleClick`, `drag`, `move`, `scroll`, `keypress`, and `type` act at those coordinates.
- `page.domCua.*` — DOM-id tier: `getVisibleDom()` snapshots visible interactive elements as pseudo-HTML lines with `node_id=N`; `click`, `doubleClick`, and `scroll` act by node id (ids are only valid against the latest snapshot of the current document), plus `type` and `keypress` for the focused element.
## Benchmarks
| Method | Time | Cost | Turns | Success |
| ----------------------- | ------- | ----- | ----- | ------- |
| **Dev Browser** | 3m 53s | $0.88 | 29 | 100% |
| Playwright MCP | 4m 31s | $1.45 | 51 | 100% |
| Playwright Skill | 8m 07s | $1.45 | 38 | 67% |
| Claude Chrome Extension | 12m 54s | $2.81 | 80 | 100% |
_See [dev-browser-eval](https://github.com/SawyerHood/dev-browser-eval) for methodology._
## License
MIT
## Author
[Sawyer Hood](https://github.com/sawyerhood)
What people ask about dev-browser
What is SawyerHood/dev-browser?
+
SawyerHood/dev-browser is skills for the Claude AI ecosystem. A Claude Skill to give your agent the ability to use a web browser It has 6.2k GitHub stars and was last updated 7d ago.
How do I install dev-browser?
+
You can install dev-browser by cloning the repository (https://github.com/SawyerHood/dev-browser) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is SawyerHood/dev-browser safe to use?
+
Our security agent has analyzed SawyerHood/dev-browser and assigned a Trust Score of 100/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains SawyerHood/dev-browser?
+
SawyerHood/dev-browser is maintained by SawyerHood. The last recorded GitHub activity is from 7d ago, with 6 open issues.
Are there alternatives to dev-browser?
+
Yes. On ClaudeWave you can browse similar skills at /categories/skills, sorted by popularity or recent activity.
Deploy dev-browser to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/sawyerhood-dev-browser)<a href="https://claudewave.com/repo/sawyerhood-dev-browser"><img src="https://claudewave.com/api/badge/sawyerhood-dev-browser" alt="Featured on ClaudeWave: SawyerHood/dev-browser" width="320" height="64" /></a>More Skills
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
omo/lazycodex: The coding agent for tokenmaxxers;the one and only agent harness for complex codebases. For your Codex, for your OpenCode
Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
Turn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 160,000+ scientists worldwide. 140 ready-to-use skills plus 100+ scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Antigravity, and the open Agent Skills standard.
A curated collection of 1000+ agent skills from official dev teams and the community, compatible with Claude Code, Codex, Gemini CLI, Cursor, and more.
No description provided.