{
  "slug": "chrome-devtools-mcp-navigate-calls-support-an-experimental-url-allowlist-95a1f4ea8a0e",
  "title": "chrome-devtools-mcp navigate calls support an experimental URL allowlist",
  "tools": [
    "chrome-devtools-mcp"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-04-22T17:09:46.000Z",
  "announced_at": "2026-04-22T17:09:46.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When using v0.23.0 and navigation destinations must be restricted, start the server with `--experimentalNavigationAllowlist`, then configure its URLPatterns list; if navigation is declined, update the list and retry.",
    "examples": [
      "npx -y chrome-devtools-mcp@0.23.0 --experimentalNavigationAllowlist",
      "navigate_page({\"pageId\":1,\"type\":\"url\",\"url\":\"<approved-url>\"})"
    ],
    "gotchas": [
      "Version: 0.23.0",
      "Availability: Experimental; off by default.",
      "--experimentalNavigationAllowlist: Enables the experimental navigate allowlist; off by default.",
      "URLPatterns (required): List of URL patterns used to decide which navigation destinations are allowed. Pattern syntax and configuration mechanism were not found in the v0.23.0 documentation/source inspected.",
      "pageId (required): ID of the page to navigate.",
      "type: Navigation mode; `url` navigates to a URL.",
      "url: Target URL; used only when `type` is `url`.",
      "The allowlist declines navigations that land on disallowed URLs.",
      "It does not restrict subresources or JavaScript/iframe navigations.",
      "The allowlist can be updated and the navigation retried after a decline."
    ]
  },
  "why_it_matters": "Restrict page navigations made through the navigate tool to an approved set of URLs.",
  "sources": [
    "https://github.com/ChromeDevTools/chrome-devtools-mcp/releases/tag/chrome-devtools-mcp-v0.23.0",
    "https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/1935",
    "https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/d50255778a6dcb30fb702755f0dd38f8ee2cd858/src/bin/chrome-devtools-mcp-cli-options.ts",
    "https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/d50255778a6dcb30fb702755f0dd38f8ee2cd858/src/tools/pages.ts"
  ],
  "rank": 0.91037,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v1+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "ghtools-20261008",
    "verdict_id": "ghtools-20261008:ghtools-20261008-22b0a0119b777f77-1:gate",
    "evidence_hash": "267ab7c7ae665900ccd7d29d4f05f238404df85b34638aa785bf9532aa89eb54"
  },
  "review": {
    "draft_hash": "a1655411febbd04f3e1180685b18582071abd5f22e104d91018b8fdbff612051",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "ghtools-20261008:gate",
    "reason": "2 of 3 judge runs approved with p_yes >= 0.9 (mean 0.91 >= 0.9; 2 needed) and Jev gave 0.61 (>= 0.6 needed)."
  }
}
