Features
Eight feature areas, 84 tools. Everything below is in the shipped build.
CSS inspection
Hover any element and get its real, clean, copyable CSS โ with the units the author actually wrote.
- Walks the real cascade through
document.styleSheets rather than dumping getComputedStyle, which flattens %, em, rem and vh to pixels and breaks responsiveness the moment you paste it. - Strips declarations overridden later in the cascade, drops browser defaults, collapses longhand to shorthand where safe, and deduplicates.
- Collects matching
:hover, :focus, :active, ::before, ::after and ::placeholder rules, plus @media blocks and referenced @keyframes. - Copies as plain CSS, Tailwind, styled-components, Emotion, CSS Modules, SCSS, or JSX inline styles.
- Reports a partial result honestly. A cross-origin stylesheet throws on
cssRules; the output names the sheets it could not read instead of returning a rule count that looks complete and is not.
Tools browser_css_scan browser_css_copy browser_css_edit browser_css_extract browser_css_unused
Full-page screenshots
One click, the whole page, stitched โ and it handles the real web rather than the ideal one.
- Snapshots the scroll position first and restores it at the end, including when the capture fails part-way.
- Injects a capture stylesheet that disables animations and transitions, so frames are stable rather than smeared.
- Detects fixed and sticky elements by computed position and hides all but their first-viewport occurrence, so a sticky header appears once instead of every 800 pixels.
- Pre-scrolls the full height to trigger lazy loading and
IntersectionObserver content, then returns to the top. - Dismisses cookie banners and overlay modals heuristically, with an undo so nothing you wanted captured disappears silently.
- Captures at
devicePixelRatio through a token-bucket limiter that stays inside Chrome's captureVisibleTab rate limit, then stitches on an OffscreenCanvas. - Annotate, crop, and export as PNG, JPG, WebP or paginated PDF.
Tools browser_fullpage_capture browser_screenshot_annotate browser_screenshot_crop browser_screenshot_export browser_screenshot_history
Markdown viewer
Read .md files as documents, including the ones your agent just wrote.
- GitHub Flavored Markdown: tables, task lists, footnotes, strikethrough, autolinks.
- Mermaid diagrams and LaTeX math rendered inline.
- Sticky auto-generated table of contents with scroll-spy; light, dark and sepia themes.
- Side-by-side diff between two Markdown documents.
- Renders straight from the clipboard, which is the fastest way to read assistant output.
- Sanitises strictly. Markdown is untrusted input, and a viewer with a scripting hole inside an extension is a serious problem โ scripts, event-handler attributes and
javascript: URLs are removed, and a payload corpus in the test suite proves it.
Tools browser_md_view browser_md_diff
Page audit and link checking
Accessibility, spelling and links โ reported honestly, including what could not be checked.
- Flags missing alt text, heading-hierarchy skips, unlabelled form controls and ARIA misuse.
- Link checking distinguishes three outcomes rather than two: reachable, verifiably broken, and answered-but-unreadable.
- That third state is not a hedge. A cross-origin response is opaque to the browser โ
status reads as 0 whatever the server returned. Calling opaque "fine" marks every dead external link healthy; calling it "broken" marks every healthy one dead. Neither is a link check.
Tools browser_audit browser_check_links browser_check_spelling
Record, replay and code export
Click through a flow once. Get a maintainable test that runs in your CI without this extension.
- Generates ranked candidate selectors per element:
data-testid beats id beats ARIA role plus accessible name beats a CSS path. - Scores each candidate for fragility โ depth, index-dependence, hash-like class names โ and warns inline when the best available option is brittle. That warning is the difference between a suite that survives a refactor and one that does not.
- Exports to Playwright, Puppeteer, Cypress and Selenium.
- Generated code waits on conditions. It never sleeps for a guessed number of milliseconds, and a test asserts that no
waitForTimeout appears in the output.
Tools browser_record_start browser_record_stop browser_record_list browser_record_events browser_record_replay browser_codegen_start browser_codegen_stop browser_codegen_export browser_codegen_status
Agent safety
The part that justifies the price: a valve between a language model and your logged-in browser.
- An approval gate that refuses. High-risk tools return
APPROVAL_REQUIRED naming the exact action requested. Nothing runs until you approve, and an approval covers one action โ not every future one. - Credential redaction that stays useful. Password and token-like values never reach the model, but the field's length does, so an agent can confirm a fill landed without seeing the value. Redaction that hides everything makes verification impossible, and an agent that cannot verify retries and double-submits.
- Prompt-injection flagging with coverage. Page text is scanned for instruction-override patterns and reported as suspected, along with how many characters were examined. A clean verdict over zero characters reads exactly like a passing scan, so the two are never conflated.
- Delta snapshots. After the first snapshot, only the structural difference is sent. This is where the token bill actually goes.
- Time travel. Every step keeps a compressed DOM snapshot, console and network deltas, and the exact tool arguments. When a run goes wrong at step 42, scrub to 41.
Tools browser_firewall_check browser_firewall_set_policy browser_firewall_get_policy browser_dom_compress browser_dom_delta browser_timetravel_snapshot browser_timetravel_list browser_timetravel_inspect browser_timetravel_export
Encrypted identity vault
Per-site credentials, encrypted on your device, never written in the clear.
- AES-256-GCM with a key derived from your master passphrase.
- A wrong passphrase fails the authentication tag and is refused, rather than returning plausible garbage.
- Every vault operation is high risk and gated: a write can overwrite a live credential and a delete destroys the only copy, so neither is treated as safer than a read.
Tools browser_vault_save browser_vault_load browser_vault_list browser_vault_delete