By jtsang4
Browser automation skill with persistent page state for developers and AI agents
A browser automation tool for coding agents (and regular agents).
Key features:
/plugin marketplace add sawyerhood/dev-browser
/plugin install dev-browser@sawyerhood/dev-browser
Restart Claude Code after installation.
Install CLI globally:
pnpm add -g @jtsang/dev-browser-cli
# or: npm install -g @jtsang/dev-browser-cli
Optional: copy the skill to your agent skills directory:
SKILLS_DIR=~/.codex/skills # e.g. ~/.claude/skills, ~/.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
Start daemon when needed:
dev-browser daemon ensure --mode launch --json
# optional: choose browser engine explicitly (default: patchright)
dev-browser daemon ensure --mode launch --engine playwright --json
Launch mode stores profile data per engine under ~/.dev-browser/data/profiles/launch/browser-data/<engine>.
Use this to control your existing Chrome browser (sessions, bookmarks, extensions).
Installation:
extension.zip from the latest release~/.dev-browser-extension)chrome://extensionsUsing the extension:
When active, your agent can control existing Chrome tabs with your logged-in sessions.
To skip permission prompts, add to ~/.claude/settings.json:
{
"permissions": {
"allow": ["Skill(dev-browser:dev-browser)", "Bash(dev-browser:*)"]
}
}
Or run with claude --dangerously-skip-permissions (skips all prompts).
Use from your agent prompt:
"Open localhost:3000 and verify the signup flow works"
"Go to the settings page and figure out why the save button isn't working"
| 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 for methodology.
| Approach | How It Works | Tradeoff |
|---|---|---|
| Playwright MCP | Observe-think-act loop with individual tool calls | Simple but slow; each action is a separate round-trip |
| Playwright Skill | Full scripts that run end-to-end | Fast but fragile; scripts start fresh every time |
| Dev Browser | Stateful server + agentic script execution | Best of both: persistent state with flexible execution |
MIT
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub jtsang4/dev-browser --plugin dev-browserBrowser 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.
Browser automation plugin for agent-driven web app testing, inspection, and debugging.
Browser automation skill for Claude Code using Stagehand. Automate web interactions, extract data, and navigate websites using natural language.
Direct browser control via CDP. Drives the user's real Chrome (or a Browser Use cloud browser) with coordinate clicks, screenshots, and Python helpers — no selector hunting. Requires the one-time `browser-harness` CLI install (see the skill's references/install.md).
Claude Code Skill for general-purpose browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp, and autonomously handles any browser automation task.
AI-powered browser automation -- lets Claude control real web browsers to navigate, click, type, extract content, and automate workflows