Skip to main content

Browser Tools

These are all the browser tools your AI agent gets automatically when OpenTabs is running — no plugins required. Tab control, DOM interaction, screenshots, network capture, cookies, console logs: seventy-six tools that give Claude hands-on access to whatever's open in your browser, using your existing sessions.

Tab Management

ToolDescription
browser_list_tabsList all open browser tabs with ID, title, URL, and active status.
browser_open_tabOpen a new browser tab with a specified URL.
browser_close_tabClose a browser tab by its tab ID.
browser_navigate_tabNavigate an existing tab to a new URL.
browser_focus_tabFocus a tab by making it active and bringing the window to the foreground. Useful for bringing a tab to the foreground for visual inspection.
browser_get_tab_infoGet detailed information about a tab: loading status, URL, title, favicon, active/incognito status.

Tab Groups

ToolDescription
browser_list_tab_groupsList all Chrome tab groups across all connected browser profiles. Returns groupId, title, color, collapsed state, windowId, and connectionId for each group.
browser_create_tab_groupCreate a new Chrome tab group from one or more tab IDs. Optionally set a title and color. Returns the new groupId, title, color, and windowId.
browser_add_tabs_to_groupAdd one or more tabs to an existing Chrome tab group. Use browser_list_tab_groups to find group IDs.
browser_remove_tabs_from_groupRemove one or more tabs from their current Chrome tab group (ungroup them). Tabs not in any group are silently ignored.
browser_update_tab_groupUpdate a Chrome tab group's title, color, or collapsed state. At least one of title, color, or collapsed must be provided.
browser_list_tabs_in_groupList all tabs in a specific Chrome tab group. Returns tab ID, title, URL, active status, and window ID for each tab.

Windows

ToolDescription
browser_list_windowsList all open browser windows. Returns each window's id, state (normal/minimized/maximized/fullscreen), bounds, tab count, focused status, and incognito flag.
browser_create_windowCreate a new browser window. Optionally specify a URL, size, position, window state, and incognito mode.
browser_update_windowUpdate a browser window's state, size, position, or focus. At least one property must be provided.
browser_close_windowClose a browser window by its window ID. This closes all tabs in the window.

Downloads

ToolDescription
browser_download_fileDownload a file from a URL. Optionally specify a filename and whether to prompt the user with a Save As dialog. Returns a download ID for status tracking.
browser_list_downloadsList recent downloads with optional filtering by filename, URL, or state. Returns entries with id, filename, url, state (in_progress/interrupted/complete), bytes received, and start time.
browser_get_download_statusGet the current status of a download by its ID. Returns state, filename, url, bytes received, total bytes, start time, end time, and file path.

Content Retrieval

ToolDescription
browser_get_tab_contentExtract visible text content from a page or specific element. Supports a CSS selector and configurable max length (default 50,000 chars).
browser_get_page_htmlExtract raw HTML (outerHTML) from a page or specific element. Useful for DOM inspection, finding data attributes, and embedded JSON. Configurable max length (default 200,000 chars).
browser_execute_scriptExecute arbitrary JavaScript in a tab's MAIN world with full DOM access. Script runs via the extension API, which is not subject to the page's Content Security Policy. Evaluated like the Chrome DevTools console or Node REPL — a single expression (including IIFEs and await) returns its value directly; multi-statement code uses function-body semantics with return. Returns JSON-serializable values.
browser_screenshot_tabCapture a screenshot of the visible tab area as a base64-encoded PNG. Auto-focuses the tab before capture.

DOM Interaction

ToolDescription
browser_click_elementClick an element matching a CSS selector. Returns the tag name and text content of the clicked element.
browser_type_textType text into an input field or textarea. Optionally clears the field first (default: true).
browser_select_optionSelect an option from a <select> dropdown by value or label.
browser_query_elementsQuery all elements matching a CSS selector. Returns tag names, text, and attributes (id, class, href, src, type, name, value, placeholder). Configurable limit (default 100).
browser_wait_for_elementWait for an element to appear in the DOM with a configurable timeout (default 10s). Optionally wait for visibility.
browser_hover_elementDispatch hover events (mouseenter, mouseover, pointermove) to trigger dropdowns, tooltips, and menus.
browser_press_keyDispatch keyboard events on a page element. Supports modifier keys (shift, ctrl, alt, meta) and standard KeyboardEvent.key values like Enter, Escape, Tab, ArrowDown.

Scroll & Dialogs

ToolDescription
browser_scrollScroll the page or a scrollable container by direction, distance, or absolute position. Use the optional container parameter (CSS selector) to scroll within a specific scrollable element instead of the page. Returns current scroll position, total scroll size, and viewport dimensions.
browser_handle_dialogHandle JavaScript dialogs (alert, confirm, prompt) that block page execution. Accepts or dismisses, with optional prompt text.

Storage & Cookies

ToolDescription
browser_get_storageRead localStorage or sessionStorage from a tab. Useful for discovering auth tokens, session data, feature flags, and app config.
browser_get_cookiesGet cookies for a URL, including HttpOnly cookies not accessible from JavaScript.
browser_set_cookieCreate or overwrite a browser cookie with full control over domain, path, secure, httpOnly, and expiration.
browser_delete_cookiesDelete a specific cookie by URL and name.

History

ToolDescription
browser_search_historySearch browser history by text query. Matches against page URLs and titles. Returns history entries with url, title, visitCount, and lastVisitTime. Optionally filter by date range.
browser_get_visitsGet detailed visit information for a specific URL. Returns an array of visits with visitId, visitTime, referringVisitId, and transition type (link, typed, form_submit, reload, etc.).

Bookmarks

ToolDescription
browser_search_bookmarksSearch bookmarks by query string. Matches against bookmark titles and URLs. Returns matching bookmarks with id, title, url, parentId, and dateAdded.
browser_create_bookmarkCreate a new bookmark. Optionally specify a parentId to place it in a specific folder. Returns the created bookmark node with id, title, url, and dateAdded.
browser_list_bookmark_treeList the bookmark tree structure up to 3 levels deep. Returns bookmark folders and their children with id, title, url (for bookmarks), and children (for folders). Useful for finding folder IDs for browser_create_bookmark.

Session

ToolDescription
browser_get_recently_closedGet recently closed tabs and windows (up to 25). Returns sessions with type (tab or window), sessionId, closedAt, and details. Use the sessionId with browser_restore_session.
browser_restore_sessionRestore a recently closed tab or window by its session ID. Use browser_get_recently_closed to find session IDs.

Network Capture

Network capture uses the Chrome DevTools Protocol (chrome.debugger) to intercept requests and responses.

ToolDescription
browser_enable_network_captureStart capturing network requests and responses for a tab. Captures URL, method, status, headers, request/response bodies (text-based), MIME type, and timing. One capture session per tab. Also enables console log capture. Also captures WebSocket frame payloads (sent and received) — retrieve them with browser_get_websocket_frames.
browser_get_network_requestsRetrieve captured network requests. Useful for reverse-engineering API shapes and understanding data flows. Optionally clears the buffer after reading.
browser_get_websocket_framesGet WebSocket frames captured since browser_enable_network_capture was called on this tab. Each frame includes URL, direction (sent/received), data payload, opcode, and timestamp.
browser_export_harExport captured network traffic as a HAR 1.2 JSON file. Requires an active capture session from browser_enable_network_capture. Must be called before browser_disable_network_capture, which clears the buffer.
browser_disable_network_captureStop capturing and release the Chrome DevTools Protocol debugger session.

Network Interception

Network interception uses the Chrome DevTools Protocol Fetch domain to pause and modify HTTP requests before they are sent.

ToolDescription
browser_intercept_requestsStart intercepting HTTP requests for a tab. Paused requests can be fulfilled with custom responses (browser_fulfill_request), failed with an error (browser_fail_request), or released by stopping interception. Use urlPatterns to filter which requests to intercept. Paused requests block the page — handle them promptly.
browser_fulfill_requestFulfill a paused HTTP request with a custom response. The request must have been paused by browser_intercept_requests. Provide the requestId, HTTP status code, optional response headers, and optional body.
browser_fail_requestFail a paused HTTP request with a network error. Use to simulate network failures, blocked requests, or connection errors.
browser_stop_interceptingStop intercepting HTTP requests for a tab. Any still-paused requests are automatically continued.

Emulation

Emulation tools override the browser environment using the Chrome DevTools Protocol Emulation domain. Overrides persist until cleared with browser_clear_emulation.

ToolDescription
browser_emulate_deviceEmulate a device by overriding viewport dimensions, device scale factor, mobile flag, and user agent string.
browser_set_geolocationOverride the geolocation reported by the browser for a tab.
browser_set_media_featuresOverride CSS media features for a tab. Supports prefers-color-scheme, prefers-reduced-motion, prefers-contrast, and color-gamut.
browser_emulate_vision_deficiencySimulate a vision deficiency for a tab. Useful for accessibility testing. Set type to "none" to remove the simulation.
browser_clear_emulationClear all emulation overrides for a tab — device metrics, user agent, geolocation, media features, and vision deficiency simulation.

CSS & Styles

ToolDescription
browser_get_element_stylesGet computed CSS styles and matched CSS rules for a DOM element. Returns computed style properties and matched rules with selectors, values, source URLs, and line numbers.
browser_force_pseudo_stateForce CSS pseudo-class states (:hover, :focus, :active, :visited, :focus-within, :focus-visible) on a DOM element. Useful for inspecting hover and focus styles without manual interaction. Pass an empty array to clear forced states.
browser_get_css_coverageStart CSS rule usage tracking, wait for page activity, then report which CSS rules are used vs. unused. Returns per-stylesheet usage percentages and total page-wide coverage.

Network Throttling

ToolDescription
browser_throttle_networkSimulate slow network conditions using the Chrome DevTools Protocol. Choose a preset (offline, slow-3g, 3g, 4g, wifi) or provide custom latency and throughput values.
browser_clear_network_throttleRemove network throttling for a tab, restoring normal network conditions.

Site Data

ToolDescription
browser_clear_site_dataClear browsing data for a specific origin. Selectively clear cookies, localStorage, cache, IndexedDB, and/or service workers. Useful for resetting site state or debugging authentication issues.

Console Logs

Console log capture is enabled alongside network capture via browser_enable_network_capture.

ToolDescription
browser_get_console_logsGet console log messages from a tab. Requires browser_enable_network_capture to be active on the tab (the debugger captures both network requests and console output). Filter by level: log, warn, error, info, debug, or all. Optionally clears the buffer.
browser_clear_console_logsClear the console log buffer for a tab without disabling capture.

Resource Inspection

ToolDescription
browser_list_resourcesEnumerate all resources loaded by a page (scripts, stylesheets, images, fonts, XHR, Fetch, WebSocket, etc.) via Chrome DevTools Protocol. Filter by resource type.
browser_get_resource_contentRead content of a specific resource by URL from the browser cache (no re-fetch). Returns text as a string or binary as base64. Configurable max length (default 500,000 chars). Useful for reading JavaScript source to understand API patterns and endpoints.

Extension Diagnostics

These tools control and diagnose the OpenTabs Chrome extension itself. They use the extension_ prefix instead of browser_.

ToolDescription
extension_reloadReload the Chrome extension. The extension briefly disconnects and automatically reconnects.
extension_get_stateGet the complete internal state of the extension: WebSocket connection status, all plugins with tab states, active network captures, offscreen document status.
extension_get_logsRetrieve internal logs from the background script and offscreen document. Filter by level and source.
extension_get_side_panelGet the side panel's React state and rendered HTML, or {open: false} if the panel is not open.
extension_check_adapterCheck adapter injection status for a plugin across all matching tabs. Reports adapter presence, hash validity, isReady() result, and tool names per tab.
extension_force_reconnectForce a WebSocket disconnect and immediate reconnection without reloading the full extension.

Site Analysis

ToolDescription
plugin_analyze_siteComprehensively analyze a web page to produce actionable intelligence for building OpenTabs plugins. Opens the URL, captures network traffic, detects auth methods (cookies, JWT, Bearer, API keys, CSRF), classifies API endpoints by protocol (REST, GraphQL, gRPC-Web, JSON-RPC, tRPC, WebSocket, SSE), identifies frontend frameworks with SPA/SSR flags, scans globals, forms, and storage keys, and generates concrete tool suggestions. Input: { url, waitSeconds? }waitSeconds defaults to 5, max 25.
plugin_list_tabsList open browser tabs that match a plugin's URL patterns, with per-tab readiness status. Returns tab IDs, URLs, titles, and readiness for each matching tab. Use this to discover available tabs before targeting a specific one with the tabId parameter on plugin tools. When called without a plugin argument, returns tabs for all plugins.

Notifications

ToolDescription
browser_notifyShow a Chrome desktop notification. Use to alert the user about completed tasks, errors, or important events. The notification appears even when Chrome is in the background. If a URL is provided, clicking the notification opens that URL in a new tab.

Summary

CategoryCountPrefix
Tab Management6browser_
Content Retrieval4browser_
DOM Interaction7browser_
Scroll & Dialogs2browser_
Storage & Cookies4browser_
Network Capture5browser_
Console Logs2browser_
Resource Inspection2browser_
Site Analysis2plugin_
Extension Diagnostics6extension_
Tab Groups6browser_
Windows4browser_
Downloads3browser_
History2browser_
Bookmarks3browser_
Session2browser_
Network Interception4browser_
Emulation5browser_
CSS & Styles3browser_
Network Throttling2browser_
Site Data1browser_
Notifications1browser_
Total76

Last Updated: 15 Apr, 2026