Skip to content

fix: include the tab id in get_tab_id's text response - #2381

Merged
OrKoN merged 1 commit into
ChromeDevTools:mainfrom
thomasbachem:fix/get-tab-id-text-output
Jul 20, 2026
Merged

OrKoN merged 1 commit into
ChromeDevTools:mainfrom
thomasbachem:fix/get-tab-id-text-output

Conversation

@thomasbachem

Copy link
Copy Markdown
Contributor

As discussed in #2366: get_tab_id gates on --experimentalInteropTools, but its result only went into structuredContent, which is dropped unless --experimentalStructuredContent is also set – so with interop alone the tool always returned an empty text response.

This appends a Tab ID: <id> line to the text response and keeps structuredContent.tabId as-is – key: value so it stays trivially parseable.

Testing

The existing returns the tab id test asserted empty responseLines, which pinned the old behavior – now it asserts the Tab ID: line. Verified end-to-end over stdio with --experimentalInteropTools alone: the text response is Tab ID: <id> where it was "" before.

@thomasbachem thomasbachem changed the title fix: include the tab id in get_tab_id's text response fix: include the tab id in get_tab_id's text response Jul 16, 2026
`get_tab_id` gates on `--experimentalInteropTools`, but its result only
went into `structuredContent`, which is dropped unless
`--experimentalStructuredContent` is also set – with interop alone the
tool always returned an empty text response.

Append a `Tab ID: <id>` line to the text response, keeping
`structuredContent.tabId` as-is.
@thomasbachem
thomasbachem force-pushed the fix/get-tab-id-text-output branch from 417555a to ea51275 Compare July 16, 2026 20:06

@OrKoN OrKoN left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@OrKoN
OrKoN added this pull request to the merge queue Jul 20, 2026
Merged via the queue into ChromeDevTools:main with commit dcbaf49 Jul 20, 2026
19 checks passed
OrKoN pushed a commit to LuHuangMSFT/chrome-devtools-mcp that referenced this pull request Aug 10, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.7.0](ChromeDevTools/chrome-devtools-mcp@chrome-devtools-mcp-v1.6.0...chrome-devtools-mcp-v1.7.0)
(2026-08-10)


### 🎉 Features

* add a utility function to check for localhost.
([ChromeDevTools#2454](ChromeDevTools#2454))
([c5ebf9e](ChromeDevTools@c5ebf9e))
* Add get_heapsnapshot_object_details MCP tool
([ChromeDevTools#2374](ChromeDevTools#2374))
([8432cb9](ChromeDevTools@8432cb9))
* Emit native contexts in snapshot summary
([ChromeDevTools#2375](ChromeDevTools#2375))
([f78a911](ChromeDevTools@f78a911))
* Filter heap snapshot objects by native context
([ChromeDevTools#2377](ChromeDevTools#2377))
([76fd242](ChromeDevTools@76fd242))
* **telemetry:** log devtools data.
([ChromeDevTools#2460](ChromeDevTools#2460))
([df2c753](ChromeDevTools@df2c753))
* **telemetry:** log is_devtools_open with each tool call.
([ChromeDevTools#2445](ChromeDevTools#2445))
([6f60eab](ChromeDevTools@6f60eab))
* **telemetry:** report whether tool call is made on localhost.
([ChromeDevTools#2455](ChromeDevTools#2455))
([6398b7e](ChromeDevTools@6398b7e))
* update lighthouse to 13.4.1
([ChromeDevTools#2398](ChromeDevTools#2398))
([745ffe7](ChromeDevTools@745ffe7))


### 🛠️ Fixes

* bound per-navigation network request retention
([ChromeDevTools#2435](ChromeDevTools#2435))
([b08c73c](ChromeDevTools@b08c73c))
* **cli:** validate session ids
([ChromeDevTools#2475](ChromeDevTools#2475))
([5ca9121](ChromeDevTools@5ca9121))
* **cli:** warn about version mismatch between cli and daemon
([ChromeDevTools#2461](ChromeDevTools#2461))
([3afc44d](ChromeDevTools@3afc44d))
* **daemon:** preserve hyphenated browser flags in arg serialization and
lazy daemon startup
([ChromeDevTools#2405](ChromeDevTools#2405))
([d79f3ba](ChromeDevTools@d79f3ba))
* dispose heap snapshot workers on context teardown
([ChromeDevTools#2428](ChromeDevTools#2428))
([f245c76](ChromeDevTools@f245c76))
* do not throw synchronously when a CDP session is gone
([ChromeDevTools#2466](ChromeDevTools#2466))
([ba4fe3e](ChromeDevTools@ba4fe3e))
* don't throw if Dialog was handled
([ChromeDevTools#2437](ChromeDevTools#2437))
([574c320](ChromeDevTools@574c320))
* downscale viewport screenshots when no viewport is emulated
([ChromeDevTools#2380](ChromeDevTools#2380))
([39c4140](ChromeDevTools@39c4140))
* improve daemon lifecycle
([ChromeDevTools#2360](ChromeDevTools#2360))
([3ee6a27](ChromeDevTools@3ee6a27))
* improve file writing
([ChromeDevTools#2447](ChromeDevTools#2447))
([1da4bb0](ChromeDevTools@1da4bb0))
* include the tab id in `get_tab_id`'s text response
([ChromeDevTools#2381](ChromeDevTools#2381))
([dcbaf49](ChromeDevTools@dcbaf49))
* **memory:** dispose the heap-snapshot worker when loading fails
([ChromeDevTools#2449](ChromeDevTools#2449))
([744738d](ChromeDevTools@744738d))
* **performance:** reset trace-running flag when start_trace setup fails
([ChromeDevTools#2420](ChromeDevTools#2420))
([40240c0](ChromeDevTools@40240c0))
* regression after the
[ChromeDevTools#2443](ChromeDevTools#2443)
([ChromeDevTools#2462](ChromeDevTools#2462))
([4c80ce4](ChromeDevTools@4c80ce4))
* rename maxRetainedSize column
([ChromeDevTools#2402](ChromeDevTools#2402))
([75c7048](ChromeDevTools@75c7048))
* **screenshot:** dispose element handle after take_screenshot
([ChromeDevTools#2422](ChromeDevTools#2422))
([fffb40e](ChromeDevTools@fffb40e))
* toggle lazy loading for source maps.
([ChromeDevTools#2486](ChromeDevTools#2486))
([8028bfe](ChromeDevTools@8028bfe))
* **wait:** avoid 180s mutex stall when a dialog opens during an action
([ChromeDevTools#2427](ChromeDevTools#2427))
([b4e8f74](ChromeDevTools@b4e8f74))


### 📄 Documentation

* Add devin cli install instruction to README
([ChromeDevTools#2361](ChromeDevTools#2361))
([45262c0](ChromeDevTools@45262c0))
* correct the user data directory documentation
([ChromeDevTools#2473](ChromeDevTools#2473))
([5ddbffd](ChromeDevTools@5ddbffd))
* **skills:** update memory leak debugging skill to use native MCP tools
([ChromeDevTools#2436](ChromeDevTools#2436))
([99bd90a](ChromeDevTools@99bd90a))
* Update Chrome requirement for categoryExperimentalWebmcp
([ChromeDevTools#2163](ChromeDevTools#2163))
([354458e](ChromeDevTools@354458e))
* update security.md
([ChromeDevTools#2362](ChromeDevTools#2362))
([5012b07](ChromeDevTools@5012b07))


### 🏗️ Refactor

* clean up McpResponse.handle
([ChromeDevTools#2392](ChromeDevTools#2392))
([348975d](ChromeDevTools@348975d))
* introduce Explicit resouce managent (using)
([ChromeDevTools#2443](ChromeDevTools#2443))
([5b25370](ChromeDevTools@5b25370))
* move tool groups
([ChromeDevTools#2365](ChromeDevTools#2365))
([2d944f9](ChromeDevTools@2d944f9))
* re-use Puppteer Mutex
([ChromeDevTools#2444](ChromeDevTools#2444))
([775ea2d](ChromeDevTools@775ea2d))
* rename methods for clarity
([ChromeDevTools#2442](ChromeDevTools#2442))
([dc23bcd](ChromeDevTools@dc23bcd))
* use a destructor to shorten the calls
([ChromeDevTools#2376](ChromeDevTools#2376))
([77e1d3f](ChromeDevTools@77e1d3f))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants