obra/superpowers-chrome is one of the open-source repositories TopGit tracks, currently at 353 stars, written primarily in JavaScript. Claude Code plugin for direct Chrome browser control via DevTools Protocol - zero dependencies
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
# Find your plugin installation path (varies by marketplace and version)
# Common locations:
# ~/.claude/plugins/cache/superpowers-marketplace/superpowers-chrome/<version>/skills/browsing
# ~/.claude/plugins/cache/superpowers-chrome/skills/browsing
cd ~/.claude/plugins/cache/superpowers-marketplace/superpowers-chrome/*/skills/browsing
./chrome-ws start # Launch Chrome
./chrome-ws new "https://example.com" # Create tab
./chrome-ws navigate 0 "https://google.com"
./chrome-ws fill 0 "textarea[name=q]" "test"
./chrome-ws click 0 "button[name=btnK]"
Port allocation: Chrome gets a dynamically allocated port (range 9222-12111) to avoid conflicts. Port assignment is persisted per profile in ~/.cache/superpowers/browser-profiles/{name}.meta.json. Override with --port=N flag or CHROME_WS_PORT env var. Multiple profiles can run in parallel on different ports.
Parallel MCPs on one host (3.0+): the bridge auto-disambiguates the default profile. The first MCP claims superpowers-chrome:9222, the next silently falls through to superpowers-chrome-2:9223, then -3:9224, etc., each driving its own Chrome with its own profile dir. To intentionally share a Chrome between processes (e.g., a chrome-ws CLI session + a Claude MCP attaching to it), set a fixed profile via CHROME_WS_PROFILE=name (env var) or call {action: "set_profile", payload: "name"} at runtime — explicit profiles share rather than disambiguate.
Windows tip: The tooling defaults to 127.0.0.1 for DevTools traffic. Override via CHROME_WS_HOST / CHROME_WS_PORT or --port=N if you forward Chrome elsewhere.
Linux/WSL2 tip: For headed mode (visible browser), the MCP server needs the DISPLAY environment variable. If show_browser doesn't work, configure "env": {"DISPLAY": ":0"} in your MCP server config. See mcp/README.md for details. Running as root or inside a container is detected automatically and disables Chrome's sandbox; on a headless box add CHROME_EXTRA_ARGS="--headless=new --disable-gpu".
Custom Chrome flags: Set CHROME_EXTRA_ARGS to a whitespace-separated list of flags that will be appended to the Chrome command line on launch. Useful for headless containers that need software WebGL:
node skills/browsing/chrome-ws start launched Chrome with remote debugging enabled on a fresh Windows 11 Pro install.
node skills/browsing/chrome-ws tabs and node skills/browsing/chrome-ws navigate 0 https://example.com confirmed CLI control with the IPv4 default binding.
codex exec -c "mcp_servers.superpowers-chrome.enabled=true" "List Chrome tabs via MCP to verify the Windows override patch." listed the Example Domain tab through the MCP server, demonstrating that the overrides also work through Codex.
Commands
Setup: start (auto-detects platform)
Tab management: tabs, new, close
Navigation: navigate, wait-for, wait-text
Interaction: click, fill, select
Extraction: eval, extract, attr, html
Export: screenshot, markdown
Raw protocol: raw (full CDP access)
Dialog Handling
Pages that open JavaScript dialogs (alert, confirm, prompt, beforeunload), WebUSB/Bluetooth/Serial/HID device choosers, HTTP basic-auth challenges, or permission prompts (camera, microphone, notifications, geolocation, clipboard) no longer wedge the connection. The dialog is surfaced as a synthetic page response and the agent interacts with it using the existing click and type actions against a small dialog::* selector grammar.
What an agent sees
While a dialog is open, any page-targeted action (extract, screenshot, eval, attr, click <real-selector>, etc.) returns a clear refusal with the dialog content and instructions:
Page is behind a dialog. Handle dialog::accept or dialog::dismiss first.
# Dialog: confirm
Tab origin: https://example.com
> Are you sure you want to leave?
Buttons:
- dialog::accept (OK)
- dialog::dismiss (Cancel)
To interact:
click selector="dialog::accept"
click selector="dialog::dismiss"
Browser-targeted actions (list_tabs, new_tab, close_tab, etc.) pass through unaffected.
Selector grammar
Selector
Purpose
click dialog::accept
OK / Grant / Provide credentials, depending on dialog kind
click dialog::dismiss
Cancel / Deny
type dialog::prompt <value>
Stage prompt text; commit on dialog::accept
click dialog::device[id="…"]
Pick a device in the chooser (USB, BT, Serial, HID)
type dialog::username <value> / type dialog::password <value>
Basic-auth credentials
Worked example
# 1. Page on load: alert('Saved!')
extract payload=text
# → refused with synthetic dialog markdown
# 2. Dismiss
click selector="dialog::accept"
# 3. Page is interactive again
extract payload=text
# → returns the page text
Permission prompts (getUserMedia, Notification.requestPermission, geolocation, clipboard) are caught by a document_start JS-API shim and surfaced through the same flow.
See docs/superpowers/specs/2026-05-13-dialog-handling-design.md for the full design.
MCP Server Mode
Ultra-lightweight MCP server with a single use_browser tool. Perfect for minimal context usage with automatic page captures.
Does obra/superpowers-chrome have a project website?
No homepage URL was recorded for obra/superpowers-chrome in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
Does obra/superpowers-chrome have any tags?
TopGit's last sync did not record any GitHub topics for obra/superpowers-chrome. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on obra/superpowers-chrome?
The most recent commit recorded on obra/superpowers-chrome was 1 month ago, based on the GitHub push timestamp. The repository has 51 forks — one of the better signals of community interest.
Is obra/superpowers-chrome open source?
Yes — obra/superpowers-chrome ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/obra/superpowers-chrome.
What license does obra/superpowers-chrome use?
obra/superpowers-chrome is released under the MIT license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about obra/superpowers-chrome?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/obra/superpowers-chrome is the definitive source.
Read full README in the tab above.
Is superpowers-chrome worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of superpowers-chrome.