You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add --enableExtensions flag to enable debugging of Chrome extension contexts.
New capabilities:
- Extension pages (sidepanels, popups, options pages) visible in list_pages
- Service workers listed in dedicated section
- New open_extension_sidepanel tool to open sidepanel in detached window
- Full debugging support: snapshots, console, script evaluation
Due to Chrome security requirements, chrome.sidePanel.open() requires a user
gesture and cannot be triggered via CDP. The open_extension_sidepanel tool
uses chrome.windows.create() as the standard workaround, opening the sidepanel
in a detached popup window with identical code execution.
Closes#96
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@@ -280,12 +281,12 @@ so returned values have to JSON-serializable.
280
281
**Parameters:**
281
282
282
283
-**function** (string) **(required)**: A JavaScript function declaration to be executed by the tool in the currently selected page.
283
-
Example without arguments: `() => {
284
+
Example without arguments: `() => {
284
285
return document.title
285
286
}` or `async () => {
286
287
return await fetch("example.com")
287
288
}`.
288
-
Example with arguments: `(el) => {
289
+
Example with arguments: `(el) => {
289
290
return el.innerText;
290
291
}`
291
292
@@ -316,6 +317,21 @@ so returned values have to JSON-serializable.
316
317
317
318
---
318
319
320
+
### `open_extension_sidepanel`
321
+
322
+
**Description:** Opens an extension's sidepanel for debugging. Due to Chrome security restrictions,
323
+
the sidepanel opens in a detached popup window rather than docked to the browser sidebar.
324
+
This provides full debugging capabilities (DOM inspection, console access, script evaluation)
325
+
with identical code execution to docked mode. Only visual docking/layout differs.
326
+
327
+
After opening, use [`list_pages`](#list_pages) to see the sidepanel and [`select_page`](#select_page) to interact with it.
328
+
329
+
**Parameters:**
330
+
331
+
-**extensionId** (string) **(required)**: The ID of the extension whose sidepanel should be opened. Find extension IDs at chrome://extensions or from [`list_pages`](#list_pages) service worker URLs.
332
+
333
+
---
334
+
319
335
### `take_screenshot`
320
336
321
337
**Description:** Take a screenshot of the page or element.
0 commit comments