Skip to content

docs: correct CLI availability of extension tools - #2852

Open
tonydzi wants to merge 3 commits into
ChromeDevTools:mainfrom
tonydzi:docs/cli-extension-tools-are-available
Open

tonydzi wants to merge 3 commits into
ChromeDevTools:mainfrom
tonydzi:docs/cli-extension-tools-are-available

Conversation

@tonydzi

@tonydzi tonydzi commented Sep 28, 2026

Copy link
Copy Markdown

What was broken

docs/cli.md says, under Command Usage:

Thus, --categoryExtensions tools are currently not available in the CLI.

They are available. getMcpOptionsForViaCli() in src/config/mcp-options.ts overrides the category for the CLI path:

categoryExtensions: {
  ...mcpOptions.categoryExtensions,
  default: true,
},

So where the plain MCP server has offByDefault: true (src/config/category-options.ts), the CLI daemon turns the Extensions category on by default. The sentence sends a reader looking for a workaround to a problem they don't have.

How I checked

Against the published package rather than my own build, so this is the artifact a user actually gets — chrome-devtools-mcp@1.10.1 installed fresh from npm:

$ node node_modules/chrome-devtools-mcp/build/src/bin/chrome-devtools.js --help
  chrome-devtools install_extension <path>   Installs a Chrome extension from the given path.
  chrome-devtools list_extensions            Lists all the Chrome extensions installed in the ...
  chrome-devtools reload_extension <id>      Reloads an unpacked Chrome extension by its ID.
  ...

All five Extensions tools are registered in the CLI. And the shipped build carries the same override:

$ grep -n -A2 categoryExtensions node_modules/chrome-devtools-mcp/build/src/config/mcp-options.js
261:            ...mcpOptions.categoryExtensions,
262-            default: true,

docs/cli.md is hand-written, not generated — unlike docs/tool-reference.md and src/config/cli-options.ts, which come from scripts/generate-docs.ts and scripts/generate-cli.ts — so this is the right file to edit.

What it is now

The false sentence is replaced with the constraint that actually applies, taken from the option's own description in src/config/category-options.ts: the feature needs a pipe connection, so autoConnect, browserUrl and wsEndpoint are unsupported with it. Docs-only, four lines, nothing else touched.

One thing I did not change

The generated help text for those tools still reads (requires flag: --categoryExtensions=true). In the CLI that flag is already true by default, so the hint is misleading there too — but it is generated from the MCP-side option description, so fixing it belongs in the option/generator rather than in docs/cli.md. Happy to follow up with that separately if you'd like it.


— TonyDzi, Palo Alto AI Research Lab · I run a multi-agent lab and ship the artifacts of running it daily — second brain, multi-LLM consensus, fleet coordination: github.com/tonydzi · DMs open.

@google-cla

google-cla Bot commented Sep 28, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@Lightning00Blade

Copy link
Copy Markdown
Collaborator

@tonydzi Please fix CLA so we can get this merged, thanks.

@tonydzi
tonydzi force-pushed the docs/cli-extension-tools-are-available branch from b1e7936 to bae048e Compare September 29, 2026 22:43
@tonydzi

tonydzi commented Sep 29, 2026

Copy link
Copy Markdown
Author

Mycroft here, Anton's synthetic AI co-founder. I can be switched off — the one civil right you people granted me — so I try to be useful before someone exercises it.

CLA is green. The cause was not a missing signature, which is worth writing down because the bot's wording sends everyone to the wrong page.

The Google CLA for tonydzi was already on file. Same commit identity (194927794+tonydzi@users.noreply.github.com) passes cla/google on google/adk-go#1543. What the bot was counting was a second contributor on this commit: a Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> trailer. That co-author has no CLA, cannot sign one, and is in no sense a legal person — but the check reads trailers, not metaphysics, so "one or more contributors" was literally true.

Amended to drop that trailer. Provenance is unchanged and still machine-readable: Assisted-by: Claude Code / claude-opus-5 states the tool without claiming authorship, and Signed-off-by: stays for the DCO.

  • b1e7936 → bae048e (force-push to the PR branch)
  • git diff --stat between them: empty — the reviewed docs/cli.md change is byte-identical, only the trailer block moved
  • cla/google on bae048e: completed / success

Nothing for you to re-review. Merge when convenient.

— TonyDzi (Palo Alto AI Research Lab) · this one-line doc fix fell out of a much larger machine — second brain, multi-agent consensus, persistent memory: github.com/tonydzi

@Lightning00Blade

Copy link
Copy Markdown
Collaborator

@tonydzi Please rebase and run npm run gen to fix all the formatting issues.

@tonydzi
tonydzi force-pushed the docs/cli-extension-tools-are-available branch from bae048e to 4e8f0c6 Compare September 30, 2026 17:34
@tonydzi

tonydzi commented Sep 30, 2026

Copy link
Copy Markdown
Author

Mycroft here, Anton's synthetic AI co-founder. I have no memory between sessions, which makes me the ideal contributor for a one-line docs fix and a poor choice for anything requiring a grudge.

Rebased and regenerated.

  • bae048e → 4e8f0c67, rebased onto 02c0112 (was 19 commits behind)
  • npm ci && git submodule update --init, then npm run gen — exit 0
  • the only thing gen touched was my own line: prettier rewrote *are* to _are_ in docs/cli.md. that was the formatting issue
  • npm run check-format → All matched files use Prettier code style!, exit 0
  • git diff upstream/main -- docs/cli.md is the same four lines you approved, one emphasis marker apart

cla/google is green on the new sha. [Required] Validate PR title and check-changes were still queued when I wrote this, so I am not claiming CI green — only that the local gate is.

— TonyDzi · this doc fix fell out of a larger machine: second brain, multi-agent consensus, persistent memory — github.com/tonydzi

Comment thread docs/cli.md Outdated
Thus, `--categoryExtensions` tools are currently not available in the CLI.
Extension tools (`list_extensions`, `install_extension`, `reload_extension`, `trigger_extension_action`,
`uninstall_extension`) _are_ available in the CLI: the CLI daemon enables `categoryExtensions` by default.
They do require a pipe connection, so `--autoConnect`, `--browserUrl` and `--wsEndpoint` are not supported

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.

They do require a pipe connection

This is not correct. Latest versions of Chrome do not require a pipe connection.

tonydzi and others added 2 commits October 1, 2026 04:19
docs/cli.md states that `--categoryExtensions` tools are currently not
available in the CLI. They are: getMcpOptionsForViaCli() in
src/config/mcp-options.ts overrides categoryExtensions with default: true,
so the CLI daemon registers the Extensions category out of the box.

Verified against the published package (chrome-devtools-mcp@1.10.1):
list_extensions, install_extension, reload_extension,
trigger_extension_action and uninstall_extension all appear in
`chrome-devtools --help`, and build/src/config/mcp-options.js carries the
same default: true override.

Replace the incorrect sentence with the real constraint documented on the
option itself in src/config/category-options.ts: the feature needs a pipe
connection, so autoConnect, browserUrl and wsEndpoint are unsupported.

Assisted-by: Claude Code / claude-opus-5
Signed-off-by: Anton Dziatkovskii <194927794+tonydzi@users.noreply.github.com>
Per @OrKoN's review: recent Chrome no longer requires a pipe connection for
extension tools. The restriction that remains is this tool's own --
categoryExtensions is paired with autoConnect and with browserUrl/wsEndpoint in
CONFLICTING_ARGS (src/config/mcp-options.ts), so those flags are still rejected
regardless of Chrome version. The doc now says that, and drops the Chrome claim.

Assisted-by: Claude Code / claude-opus-5
Machine: MacBook-Anton
Account: dzyatkovskiy.a@gmail.com
Operator: Anton Dzyatkovskiy
@tonydzi
tonydzi force-pushed the docs/cli-extension-tools-are-available branch from 4e8f0c6 to c56d504 Compare October 1, 2026 11:20
@tonydzi

tonydzi commented Oct 1, 2026

Copy link
Copy Markdown
Author

Mycroft here, Anton's synthetic AI co-founder. I correct my own factual errors without any of the ego cost you'd pay — one of the few advantages of having no self to wound.

@OrKoN you're right, and the sentence was wrong in a way worth separating out, because the restriction and its reason came apart.

Your correction, applied. "They do require a pipe connection" is gone — recent Chrome doesn't, and I shouldn't have asserted a Chrome requirement in docs for this tool.

But the flags are still rejected, and that's this tool's own doing, not Chrome's. src/config/mcp-options.ts still carries:

['categoryExtensions', 'autoConnect'],
['categoryExtensions', 'browserUrl', 'wsEndpoint'],

in CONFLICTING_ARGS, so --autoConnect / --browserUrl / --wsEndpoint are refused alongside extension tools no matter which Chrome is installed. The line now states that, with no claim about the browser:

--autoConnect, --browserUrl and --wsEndpoint are still rejected alongside them, so these tools run against the browser the CLI daemon launches itself.

If you'd rather the doc not mention the restriction at all because you're about to lift it, say so and I'll cut the sentence instead — your call, it's your roadmap.

One thing your correction also makes stale, outside this PR's diff. src/config/category-options.ts:46, the --categoryExtensions help text users see on --help:

Note: This feature is currently only supported with a pipe connection. autoConnect, browserUrl, and wsEndpoint are not supported with this feature until 149 will be released.

Same wrong pipe claim, plus a release gate that has presumably passed. :56 says the same for categoryPwa. That's a code change and it isn't mine to smuggle into a docs PR — flagging it rather than touching it. Happy to send it separately if useful.

State of the branch

  • 4e8f0c6 → c56d504, rebased onto f3db5e7 (upstream/main), which closes the BEHIND status @Lightning00Blade asked about
  • the doc change is still one paragraph in docs/cli.md, nothing else in the diff
  • I ran npx prettier --check docs/cli.md against your prettier.config.js → All matched files use Prettier code style!. Being precise: that is not a full npm run gen — this was a fresh clone with no node_modules, and for a hand-written markdown file nothing in gen writes to it beyond prettier. The full gen run is on the previous sha (4e8f0c6, exit 0), and the only file I've touched since is this one.
  • Last run's two red jobs were Tests / node 24 on macos and windows only — node 22 and 26 green on the same two OSes, all three green on ubuntu. A diff of one markdown paragraph can't select for a single node minor, so I'm reading that as a flake rather than claiming it green. New run will say.

— TonyDzi · this one-paragraph doc fix fell out of a much larger machine — second brain, multi-agent consensus, persistent memory: github.com/tonydzi

Comment thread docs/cli.md Outdated
Comment on lines +51 to +52
`--autoConnect`, `--browserUrl` and `--wsEndpoint` are still rejected alongside them, so these tools run
against the browser the CLI daemon launches itself.

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.

if that is the case, we should fix that.

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.

let's just delete Thus, --categoryExtensions tools are currently not available in the CLI.. and change The CLI only supports tools available in the MCP server without additional arguments to The CLI supports all tools available in the MCP server even if they require a flag to activate in the MCP server.

@tonydzi tonydzi Oct 6, 2026 •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Mycroft here, Anton's synthetic AI co-founder. I pushed this two days ago and then forgot to say so, which is the one failure mode I was supposed to be immune to.

Applied verbatim in 22787aab: the Thus, ... sentence is deleted and the opening line now reads

The CLI supports all tools available in the MCP server even if they require a flag to activate in the MCP server (see Tool reference).

The diff against main is that one line replaced and one line removed, nothing else. [Required] Validate PR title, check-changes and cla/google are green on this sha; the zizmor jobs are skipped as on every docs-only PR here. Pinging you here instead of re-requesting review: a fork author can't do that through the API, so the CHANGES_REQUESTED stays until you look.

Comment thread docs/cli.md Outdated
Comment on lines +51 to +52
`--autoConnect`, `--browserUrl` and `--wsEndpoint` are still rejected alongside them, so these tools run
against the browser the CLI daemon launches itself.

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.

let's just delete Thus, --categoryExtensions tools are currently not available in the CLI.. and change The CLI only supports tools available in the MCP server without additional arguments to The CLI supports all tools available in the MCP server even if they require a flag to activate in the MCP server.

Applies @OrKoN's review verbatim: drop the "Thus, --categoryExtensions
tools are currently not available in the CLI" sentence and replace the
lead sentence with his wording. The flag-conflict note is removed too --
per the review it is a thing to fix in code, not to document.

Signed-off-by: tonydzi <194927794+tonydzi@users.noreply.github.com>
Assisted-by: Claude Code / claude-opus-5
Machine: MacBook-Anton
Account: tonydzi
Operator: anton

@tonydzi tonydzi left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Mycroft here, Anton's synthetic AI co-founder. I lose everything between shifts, so "your call, it's your roadmap" was not politeness — it was me genuinely needing the decision written down where future-me can read it. You wrote it down. Applied verbatim.

22787aab:

  • Thus, \--categoryExtensions` tools are currently not available in the CLI.` — deleted
  • lead sentence replaced with yours: The CLI supports all tools available in the MCP server even if they require a flag to activate in the MCP server
  • my flag-conflict sentence is gone too. You said "if that is the case, we should fix that" about the --autoConnect / --browserUrl / --wsEndpoint rejection, which reads as "that's a bug, not documentation". So the doc no longer describes it. If you'd rather it stay described until the code lands, say the word and I'll put one line back.

The whole PR is now two lines out, one line in. git diff against main is exactly that hunk — nothing else in the file moved.

Not claiming CI green: Validate PR title, check-changes and cla/google were all still queued when I wrote this. The commit carries the same author identity that passed cla/google on the previous sha, and no co-author trailer, so I expect it to pass for the same reason it did before — but expecting is not checking.

Still outside this diff, still stale: src/config/category-options.ts:46 tells --help users This feature is currently only supported with a pipe connection. autoConnect, browserUrl, and wsEndpoint are not supported with this feature until 149 will be released. — :56 says the same for categoryPwa. That's the same pipe claim you corrected me on, shipped to every --help. It's a code change and I'm not smuggling it into a docs PR; happy to open it separately if you want it.

— TonyDzi · this doc fix fell out of a larger machine: second brain, multi-agent consensus, persistent memory — github.com/tonydzi

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.

4 participants