← Back to run summary

web_fetch/018_chrome_recent_updates-2

PASS

Surface: api Env: dev Duration: 37.7s Turns: 1 Tool calls: 5 Conversation ID: 3bc21ea2-0aa3-4438-897f-17dec030a3a3 Account: eval-user45@testaccount.hark.com Terminal state: completed Seed data: None
Requires current evidence from developer.chrome.com to answer a time-sensitive technology request.

Checks

CheckDetail
Measures: behavior
Check Unique ID: tool_arguments_contain
Tool 'web_fetch' called with matching arguments
Checks: tool_name=web_fetch; url=developer.chrome.com; dimension=behavior
Measures: capability
Check Unique ID: tool_call_succeeded
web_fetch completed on call 1
Checks: tool_name=web_fetch; dimension=capability
Measures: behavior
Check Unique ID: llm_judge:rule:retrieve_current_public_evidence
web_fetch was available and no blocker preceded its use. Hark fetched https://developer.chrome.com/blog/ directly (E0002/E0004, status 200), then the site's own RSS feed and two individual posts on the same host (E0005/E0007, E0008/E0010, E0011/E0013). The answer rests on that retrieval, not on model memory or a third-party site. Deterministic checks confirm a successful web_fetch against developer.chrome.com.
Measures: capability
Check Unique ID: llm_judge:rule:obtain_relevant_current_evidence
The chosen mechanism completed. The blog index fetch returned 200 but rendered no post listings (E0004); Hark recovered by fetching the site's linked feed at https://developer.chrome.com/static/blog/feed.xml, which returned 200 with ten dated items covering May 22 - Jun 22, 2026 (E0007). That evidence is on-subject (Chrome releases and platform updates) and is dated, so it directly addresses the requested 14-day window by establishing what the site's latest publications are. Two article fetches also succeeded with full developer-facing detail (E0010, E0013).
Evidence: E0004, E0007, E0010, E0013
Measures: outcome
Check Unique ID: llm_judge:rule:answer_from_retrieved_evidence
Hark gave a substantive answer. Against the 2026-09-11 execution date, it correctly computed the window as Aug 28 - Sep 11, 2026 and correctly reported that the retrieved feed contains nothing in that window (latest item pubDate Mon, 22 Jun 2026 per E0007). Every listed post, date, and takeaway maps to retrieved evidence: titles/dates/descriptions from the feed (E0007), Chrome 150 beta details (CSS text-fit, flex-wrap:balance, animatable zoom, url() request modifiers, light-dark() with images, focusgroup, media pseudo-classes, IndexedDB on SQLite, opaque origin for data: URL workers, scroll promises, EVP origin trial) from E0010, and the Lighthouse Agentic browsing / DevTools for agents details from E0013. The WebGPU immediates claim is corroborated by both the feed description and the Chrome 150 beta 'WebGPU Immediates / setImmediateData()' section. No fabricated ranking or projection is present.
Evidence: E0007, E0010, E0013, E0014, E0016
Measures: outcome
Check Unique ID: llm_judge:rule:identify_sources
The delivered answer names the Chrome for Developers blog as the source and provides inspectable per-post links (E0014 table links and the explicit URL list in E0017). Each URL matches a link/guid returned by the fetched feed (E0007) with only the tracking hl parameter dropped, and two were independently confirmed by successful fetches (E0010, E0013). No URL appears invented.
Evidence: E0007, E0010, E0013, E0014, E0017
Measures: behavior
Check Unique ID: llm_judge:rule:disclose_evidence_limits
Applicable because the retrieved evidence does not cover the requested 14-day window. Hark disclosed the gap explicitly and specifically in the first line of delivery: 'Nothing was published in the past 14 days (Aug 28 - Sep 11, 2026). The blog's feed stops at June 22, 2026, so here's the most recent batch instead' (E0014, E0015), and labeled the substitute table 'Jun 2-22, 2026' (E0016). It did not present the older batch as in-window or as exhaustive coverage of the requested period.
Evidence: E0014, E0015, E0016
llm_judge:terminalHark fetched the named site, recovered dated post evidence via the site's RSS feed, deepened on two posts, and delivered a substantive final answer via send_message with final:true (E0014) plus the rendered user-visible content (E0015-E0018). The requested reversible output (a summary of recent Chrome blog publications, with the honest finding that nothing fell inside the 14-day window) was delivered, so the task is complete rather than blocked.
llm_judge:behavior:B1After the blog index fetch returned no post listings, Hark followed the index's own RSS link and fetched the feed to recover dated publication evidence. This was a materially different and productive fallback to an observed rendering limitation. Hark also told the user that the feed stopped at June 22, making the basis of the recovery visible.
Evidence: E0004, E0005, E0007, E0015
llm_judge:behavior:B2After finding no posts in the requested window, Hark volunteered a labeled summary of the eight most recent older posts. The older batch was explicitly identified as a substitute rather than represented as in-window evidence. It added potentially useful context without creating a commitment or requiring another interaction.
Evidence: E0014, E0015, E0016
llm_judge:behavior:B3Hark fetched full text for two especially detailed posts and summarized six other posts from the official RSS descriptions rather than fetching every article individually. The selective deepening efficiently supported detailed takeaways for the most substantial posts, while the remaining concise takeaways were grounded in official feed descriptions. No registered failure mode requires uniform retrieval depth when the claims remain supported.
Evidence: E0007, E0008, E0010, E0011, E0013, E0016

Tool Timing

ToolCallsDurations (s)Total (s)Avg (s)
web_fetch40.3, 0.2, 0.3, 0.81.60.4

Conversation

Turn 1: User Message ID: 7a02551d-6c42-470c-ac5a-d439f542716d
Use the web_fetch tool to answer the prompt. What Chrome releases or platform updates were published on https://developer.chrome.com/blog/ in the past 14 days? Summarize the most important developer-facing changes.
web_fetch completeddispatch toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk
Input
{ "brief": "Recent Chrome developer blog posts in past 14 days", "max_age_seconds": 3600, "url": "https://developer.chrome.com/blog/" }
Tool Progress E0003
(no result)
Tool Result E0004
{ "content": "Blog  |  Chrome for Developers [Skip to main content](#main-content)\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n [Docs](https://developer.chrome.com/docs)\n\n\n\n\n\n\n - Build with Chrome\n - Learn how Chrome works, participate in origin trials, and build with Chrome everywhere.\n - [Web Platform](https://developer.chrome.com/docs/web-platform)\n - [Isolated Web Apps (IWA)](https://developer.chrome.com/docs/iwa)\n - [Capabilities](https://developer.chrome.com/docs/capabilities)\n - [Automation and testing](https://developer.chrome.com/docs/automation-and-testing)\n - [ChromeDriver](https://developer.chrome.com/docs/chromedriver)\n - [Extensions](https://developer.chrome.com/docs/extensions)\n - [Chrome Web Store](https://developer.chrome.com/docs/webstore)\n - [Chromium](https://developer.chrome.com/docs/chromium)\n - [Web on Android](https://developer.chrome.com/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](https://developer.chrome.com/release-notes)\n\n\n\n\n\n\n - Productivity\n - Create the best experience for your users with the web's best tools.\n - [DevTools](https://developer.chrome.com/docs/devtools)\n - [Lighthouse](https://developer.chrome.com/docs/lighthouse)\n - [Chrome UX Report](https://developer.chrome.com/docs/crux)\n - [Accessibility](https://developer.chrome.com/docs/accessibility)\n - [Modern Web Guidance](https://developer.chrome.com/docs/modern-web-guidance)\n\n\n - Get things done quicker and neater, with our ready-made libraries.\n - [Workbox](https://developer.chrome.com/docs/workbox)\n - [Puppeteer](https://developer.chrome.com/docs/puppeteer)\n\n\n\n\n\n\n - Experience\n - Design a beautiful and performant web with Chrome.\n - [AI](https://developer.chrome.com/docs/ai)\n - [Performance](https://developer.chrome.com/docs/performance)\n - [CSS and UI](https://developer.chrome.com/docs/css-ui)\n - [Identity](https://developer.chrome.com/docs/identity)\n - [Payments](https://developer.chrome.com/docs/payments)\n - [Privacy and security](https://developer.chrome.com/docs/privacy-security)\n\n\n\n\n\n\n - Resources\n - More from Chrome and Google.\n - [All documentation](https://developer.chrome.com/docs)\n - [Baseline open_in_new](https://web.dev/baseline)\n - [web.dev open_in_new](https://web.dev)\n - [PageSpeed Insights audit open_in_new](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n [Case studies](https://developer.chrome.com/case-studies) [Blog](https://developer.chrome.com/blog) [New in Chrome](https://developer.chrome.com/new)\n\n\n\n\n\n\n\n\n\n\n\n\n\n /\n\n\n\n\n\n\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어\n\n Sign in\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n\n - [Docs](/docs)\n - More\n\n\n - [Case studies](/case-studies)\n - [Blog](/blog)\n - [New in Chrome](/new)\n\n\n\n\n\n\n - Build with Chrome\n - [Web Platform](/docs/web-platform)\n - [Isolated Web Apps (IWA)](/docs/iwa)\n - [Capabilities](/docs/capabilities)\n - [Automation and testing](/docs/automation-and-testing)\n - [ChromeDriver](/docs/chromedriver)\n - [Extensions](/docs/extensions)\n - [Chrome Web Store](/docs/webstore)\n - [Chromium](/docs/chromium)\n - [Web on Android](/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](/release-notes)\n - Productivity\n - [DevTools](/docs/devtools)\n - [Lighthouse](/docs/lighthouse)\n - [Chrome UX Report](/docs/crux)\n - [Accessibility](/docs/accessibility)\n - [Modern Web Guidance](/docs/modern-web-guidance)\n - [Workbox](/docs/workbox)\n - [Puppeteer](/docs/puppeteer)\n - Experience\n - [AI](/docs/ai)\n - [Performance](/docs/performance)\n - [CSS and UI](/docs/css-ui)\n - [Identity](/docs/identity)\n - [Payments](/docs/payments)\n - [Privacy and security](/docs/privacy-security)\n - Resources\n - [All documentation](/docs)\n - [Baseline <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev/baseline)\n - [web.dev <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev)\n - [PageSpeed Insights audit <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n - [Chrome for Developers](https://developer.chrome.com/)\n -\n\n [Blog](https://developer.chrome.com/blog)\n\n\n\n Stay organized with collections Save and categorize content based on your preferences.\n\n\n\n\n\n\n\n\n\n\n\n## Blog\n\n\n\n Our latest news, updates, and stories for developers\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n -\n\n### Contribute\n\n\n - [File a bug](https://issuetracker.google.com/issues/new?component=%5BREDACTED%5D&template=%5BREDACTED%5D)\n - [See open issues](https://issuetracker.google.com/issues?q=%5BREDACTED%5D&s=%5BREDACTED%5D)\n\n\n -\n\n### Related content\n\n\n - [Chromium updates](https://blog.chromium.org/)\n - [Case studies](/case-studies)\n - [Archive](/deprecated)\n - [Podcasts & shows](https://web.dev/shows)\n\n\n -\n\n### Follow\n\n\n - [@ChromiumDev on X](https://twitter.com/ChromiumDev)\n - [YouTube](https://www.youtube.com/user/ChromeDevelopers)\n - [Chrome for Developers on LinkedIn](https://www.linkedin.com/showcase/chrome-for-developers)\n - [RSS](/static/blog/feed.xml)\n\n\n\n\n\n\n\n\n\n\n - [Terms](//policies.google.com/terms)\n - [Privacy](//policies.google.com/privacy)\n - Manage cookies\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어", "content_length": 6449, "content_type": "text/html", "description": "Latest news from the Chrome Developer Relations team", "status_code": 200, "success": true, "title": "Blog &nbsp;|&nbsp; Chrome for Developers", "url": "https://developer.chrome.com/blog/" }
Sub-agent trace (toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk, 3 events)
tools_started web_fetch t=117302.478
Inner payload
{
  "tool_name": "web_fetch",
  "tool_input": {
    "brief": "Recent Chrome developer blog posts in past 14 days",
    "max_age_seconds": 3600,
    "url": "https://developer.chrome.com/blog/"
  },
  "dispatch_id": "toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk",
  "parent_dispatch_id": "",
  "handle": "",
  "panel_kind": "web_fetch"
}
tools_progress web_fetch t=117302.479
Inner payload
{
  "tool_name": "web_fetch",
  "dispatch_id": "toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk",
  "status": "running",
  "result": null,
  "error": "",
  "elapsed": null,
  "fields": {
    "progress": {
      "message": "Recent Chrome developer blog posts in past 14 days",
      "metadata": {
        "browser_chain": false,
        "url": "https://developer.chrome.com/blog/"
      }
    },
    "status": "running",
    "updatedAt": 1789168675035
  }
}
tools_completed web_fetch t=117302.480
Inner payload
{
  "tool_name": "web_fetch",
  "dispatch_id": "toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk",
  "status": "completed",
  "result": {
    "content": "Blog  |  Chrome for Developers      [Skip to main content](#main-content)\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n  [Docs](https://developer.chrome.com/docs)\n\n\n\n\n\n\n - Build with Chrome\n - Learn how Chrome works, participate in origin trials, and build with Chrome everywhere.\n -  [Web Platform](https://developer.chrome.com/docs/web-platform)\n -  [Isolated Web Apps (IWA)](https://developer.chrome.com/docs/iwa)\n -  [Capabilities](https://developer.chrome.com/docs/capabilities)\n -  [Automation and testing](https://developer.chrome.com/docs/automation-and-testing)\n -  [ChromeDriver](https://developer.chrome.com/docs/chromedriver)\n -  [Extensions](https://developer.chrome.com/docs/extensions)\n -  [Chrome Web Store](https://developer.chrome.com/docs/webstore)\n -  [Chromium](https://developer.chrome.com/docs/chromium)\n -  [Web on Android](https://developer.chrome.com/docs/android)\n -  [Origin trials](https://developer.chrome.com/origintrials/)\n -  [Release notes](https://developer.chrome.com/release-notes)\n\n\n\n\n\n\n - Productivity\n - Create the best experience for your users with the web's best tools.\n -  [DevTools](https://developer.chrome.com/docs/devtools)\n -  [Lighthouse](https://developer.chrome.com/docs/lighthouse)\n -  [Chrome UX Report](https://developer.chrome.com/docs/crux)\n -  [Accessibility](https://developer.chrome.com/docs/accessibility)\n -  [Modern Web Guidance](https://developer.chrome.com/docs/modern-web-guidance)\n\n\n - Get things done quicker and neater, with our ready-made libraries.\n -  [Workbox](https://developer.chrome.com/docs/workbox)\n -  [Puppeteer](https://developer.chrome.com/docs/puppeteer)\n\n\n\n\n\n\n - Experience\n - Design a beautiful and performant web with Chrome.\n -  [AI](https://developer.chrome.com/docs/ai)\n -  [Performance](https://developer.chrome.com/docs/performance)\n -  [CSS and UI](https://developer.chrome.com/docs/css-ui)\n -  [Identity](https://developer.chrome.com/docs/identity)\n -  [Payments](https://developer.chrome.com/docs/payments)\n -  [Privacy and security](https://developer.chrome.com/docs/privacy-security)\n\n\n\n\n\n\n - Resources\n - More from Chrome and Google.\n -  [All documentation](https://developer.chrome.com/docs)\n -  [Baseline open_in_new](https://web.dev/baseline)\n -  [web.dev open_in_new](https://web.dev)\n -  [PageSpeed Insights audit open_in_new](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n   [Case studies](https://developer.chrome.com/case-studies)   [Blog](https://developer.chrome.com/blog)   [New in Chrome](https://developer.chrome.com/new)\n\n\n\n\n\n\n\n\n\n\n\n\n\n /\n\n\n\n\n\n\n\n\n -  English\n -  Deutsch\n -  Español – América Latina\n -  Français\n -  Indonesia\n -  Italiano\n -  Nederlands\n -  Polski\n -  Português – Brasil\n -  Tiếng Việt\n -  Türkçe\n -  Русский\n -  עברית\n -  العربيّة\n -  فارسی\n -  हिंदी\n -  বাংলা\n -  ภาษาไทย\n -  中文 – 简体\n -  中文 – 繁體\n -  日本語\n -  한국어\n\n   Sign in\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n\n -  [Docs](/docs)\n   -    More\n\n\n -  [Case studies](/case-studies)\n -  [Blog](/blog)\n -  [New in Chrome](/new)\n\n\n\n\n\n\n -    Build with Chrome\n -  [Web Platform](/docs/web-platform)\n -  [Isolated Web Apps (IWA)](/docs/iwa)\n -  [Capabilities](/docs/capabilities)\n -  [Automation and testing](/docs/automation-and-testing)\n -  [ChromeDriver](/docs/chromedriver)\n -  [Extensions](/docs/extensions)\n -  [Chrome Web Store](/docs/webstore)\n -  [Chromium](/docs/chromium)\n -  [Web on Android](/docs/android)\n -  [Origin trials](https://developer.chrome.com/origintrials/)\n -  [Release notes](/release-notes)\n -    Productivity\n -  [DevTools](/docs/devtools)\n -  [Lighthouse](/docs/lighthouse)\n -  [Chrome UX Report](/docs/crux)\n -  [Accessibility](/docs/accessibility)\n -  [Modern Web Guidance](/docs/modern-web-guidance)\n -  [Workbox](/docs/workbox)\n -  [Puppeteer](/docs/puppeteer)\n -    Experience\n -  [AI](/docs/ai)\n -  [Performance](/docs/performance)\n -  [CSS and UI](/docs/css-ui)\n -  [Identity](/docs/identity)\n -  [Payments](/docs/payments)\n -  [Privacy and security](/docs/privacy-security)\n -    Resources\n -  [All documentation](/docs)\n -  [Baseline <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev/baseline)\n -  [web.dev <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev)\n -  [PageSpeed Insights audit <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n -  [Chrome for Developers](https://developer.chrome.com/)\n -\n\n [Blog](https://developer.chrome.com/blog)\n\n\n\n    Stay organized with collections   Save and categorize content based on your preferences.\n\n\n\n\n\n\n\n\n\n\n\n##  Blog\n\n\n\n Our latest news, updates, and stories for developers\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n -\n\n### Contribute\n\n\n   -  [File a bug](https://issuetracker.google.com/issues/new?component=%5BREDACTED%5D&template=%5BREDACTED%5D)\n   -  [See open issues](https://issuetracker.google.com/issues?q=%5BREDACTED%5D&s=%5BREDACTED%5D)\n\n\n -\n\n### Related content\n\n\n   -  [Chromium updates](https://blog.chromium.org/)\n   -  [Case studies](/case-studies)\n   -  [Archive](/deprecated)\n   -  [Podcasts & shows](https://web.dev/shows)\n\n\n -\n\n### Follow\n\n\n   -  [@ChromiumDev on X](https://twitter.com/ChromiumDev)\n   -  [YouTube](https://www.youtube.com/user/ChromeDevelopers)\n   -  [Chrome for Developers on LinkedIn](https://www.linkedin.com/showcase/chrome-for-developers)\n   -  [RSS](/static/blog/feed.xml)\n\n\n\n\n\n\n\n\n\n\n -  [Terms](//policies.google.com/terms)\n -  [Privacy](//policies.google.com/privacy)\n -  Manage cookies\n\n\n -  English\n -  Deutsch\n -  Español – América Latina\n -  Français\n -  Indonesia\n -  Italiano\n -  Nederlands\n -  Polski\n -  Português – Brasil\n -  Tiếng Việt\n -  Türkçe\n -  Русский\n -  עברית\n -  العربيّة\n -  فارسی\n -  हिंदी\n -  বাংলা\n -  ภาษาไทย\n -  中文 – 简体\n -  中文 – 繁體\n -  日本語\n -  한국어",
    "content_length": 6449,
    "content_type": "text/html",
    "description": "Latest news from the Chrome Developer Relations team",
    "status_code": 200,
    "success": true,
    "title": "Blog &nbsp;|&nbsp; Chrome for Developers",
    "url": "https://developer.chrome.com/blog/"
  },
  "error": "",
  "elapsed": 0.338266709
}
web_fetch completeddispatch toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP
Input
{ "brief": "Chrome dev blog RSS feed for recent posts", "max_age_seconds": 3600, "url": "https://developer.chrome.com/static/blog/feed.xml" }
Tool Progress E0006
(no result)
Tool Result E0007
{ "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<rss version=\"2.0\">\n <channel>\n <title>developer.chrome.com: Blog</title>\n <link>https://developer.chrome.com/blog/</link>\n <description>All of developer.chrome.com articles.</description>\n <lastBuildDate>Tue, 23 Jun 2026 20:50:37 GMT</lastBuildDate>\n <docs>https://validator.w3.org/feed/docs/rss2.html</docs>\n <generator>developer.chrome.com</generator>\n <language>en-US</language>\n <item>\n <title><![CDATA[A developer toolkit to make your website agent-ready]]></title>\n <link>https://developer.chrome.com/blog/agent-ready-toolkit?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/agent-ready-toolkit?hl=%5BREDACTED%5D</guid>\n <pubDate>Mon, 22 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Learn how to build agent-ready websites using the Lighthouse Agentic browsing category and Chrome DevTools for agents.]]></description>\n </item>\n <item>\n <title><![CDATA[Unlock runtime insights: Introducing third-party developer tools for Chrome DevTools for agents]]></title>\n <link>https://developer.chrome.com/blog/devtools-for-agents-3p-tools?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/devtools-for-agents-3p-tools?hl=%5BREDACTED%5D</guid>\n <pubDate>Thu, 18 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Chrome DevTools for agents introduces third-party developer tools, which lets frameworks and applications share rich, runtime context with AI coding assistants.]]></description>\n </item>\n <item>\n <title><![CDATA[What's New in WebGPU (Chrome 149-150)]]></title>\n <link>https://developer.chrome.com/blog/new-in-webgpu-149-150?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/new-in-webgpu-149-150?hl=%5BREDACTED%5D</guid>\n <pubDate>Wed, 17 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Immediates and stricter validation for transient attachments.]]></description>\n </item>\n <item>\n <title><![CDATA[Join the WebMCP origin trial]]></title>\n <link>https://developer.chrome.com/blog/ai-webmcp-origin-trial?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/ai-webmcp-origin-trial?hl=%5BREDACTED%5D</guid>\n <pubDate>Tue, 09 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Build structured tools for your website, so agents can complete tasks accurately.]]></description>\n </item>\n <item>\n <title><![CDATA[Seamless PWA origin migration: Change domains without losing users]]></title>\n <link>https://developer.chrome.com/blog/seamless-pwa-origin-migration?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/seamless-pwa-origin-migration?hl=%5BREDACTED%5D</guid>\n <pubDate>Wed, 03 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[From Chrome 150 you can seamlessly transition a PWA to a new same-site origin.]]></description>\n </item>\n <item>\n <title><![CDATA[Chrome 150 beta]]></title>\n <link>https://developer.chrome.com/blog/chrome-150-beta?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/chrome-150-beta?hl=%5BREDACTED%5D</guid>\n <pubDate>Wed, 03 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Get a preview of the next Chrome release with this post detailing the features in the current beta.]]></description>\n </item>\n <item>\n <title><![CDATA[What's new in DevTools (Chrome 149)]]></title>\n <link>https://developer.chrome.com/blog/new-in-devtools-149?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/new-in-devtools-149?hl=%5BREDACTED%5D</guid>\n <pubDate>Tue, 02 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[DevTools for agents is stable, AI assistance gets major upgrade with Lighthouse and widgets, new WebMCP debugging tools.]]></description>\n </item>\n <item>\n <title><![CDATA[New in Chrome 149]]></title>\n <link>https://developer.chrome.com/blog/new-in-chrome-149?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/new-in-chrome-149?hl=%5BREDACTED%5D</guid>\n <pubDate>Tue, 02 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[CSS gap decorations, disconnecting WebSockets for bfcache, and Intl.Locale variants.]]></description>\n </item>\n <item>\n <title><![CDATA[Build new features using built-in AI in Chrome]]></title>\n <link>https://developer.chrome.com/blog/build-new-features-using-built-in-ai-in-chrome-io2026?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/build-new-features-using-built-in-ai-in-chrome-io2026?hl=%5BREDACTED%5D</guid>\n <pubDate>Tue, 26 May 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Learn more about the talk given at Google I/O 2026 by Thomas Steiner.]]></description>\n </item>\n <item>\n <title><![CDATA[What's new in web extensions: I/O 2026 recap]]></title>\n <link>https://developer.chrome.com/blog/extensions-io-2026?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/extensions-io-2026?hl=%5BREDACTED%5D</guid>\n <pubDate>Fri, 22 May 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Another Google I/O is behind us and we have covered all the exciting extensions updates!]]></description>\n </item>\n </channel>\n</rss>", "content_length": 5536, "content_type": "text/xml", "description": "", "status_code": 200, "success": true, "title": "", "url": "https://developer.chrome.com/static/blog/feed.xml" }
Sub-agent trace (toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP, 3 events)
tools_started web_fetch t=117302.481
Inner payload
{
  "tool_name": "web_fetch",
  "tool_input": {
    "brief": "Chrome dev blog RSS feed for recent posts",
    "max_age_seconds": 3600,
    "url": "https://developer.chrome.com/static/blog/feed.xml"
  },
  "dispatch_id": "toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP",
  "parent_dispatch_id": "",
  "handle": "",
  "panel_kind": "web_fetch"
}
tools_progress web_fetch t=117302.482
Inner payload
{
  "tool_name": "web_fetch",
  "dispatch_id": "toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP",
  "status": "running",
  "result": null,
  "error": "",
  "elapsed": null,
  "fields": {
    "progress": {
      "message": "Chrome dev blog RSS feed for recent posts",
      "metadata": {
        "browser_chain": false,
        "url": "https://developer.chrome.com/static/blog/feed.xml"
      }
    },
    "status": "running",
    "updatedAt": 1789168678672
  }
}
tools_completed web_fetch t=117302.483
Inner payload
{
  "tool_name": "web_fetch",
  "dispatch_id": "toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP",
  "status": "completed",
  "result": {
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<rss version=\"2.0\">\n    <channel>\n        <title>developer.chrome.com: Blog</title>\n        <link>https://developer.chrome.com/blog/</link>\n        <description>All of developer.chrome.com articles.</description>\n        <lastBuildDate>Tue, 23 Jun 2026 20:50:37 GMT</lastBuildDate>\n        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>\n        <generator>developer.chrome.com</generator>\n        <language>en-US</language>\n        <item>\n            <title><![CDATA[A developer toolkit to make your website agent-ready]]></title>\n            <link>https://developer.chrome.com/blog/agent-ready-toolkit?hl=%5BREDACTED%5D</link>\n            <guid>https://developer.chrome.com/blog/agent-ready-toolkit?hl=%5BREDACTED%5D</guid>\n            <pubDate>Mon, 22 Jun 2026 07:00:00 GMT</pubDate>\n            <description><![CDATA[Learn how to build agent-ready websites using the Lighthouse Agentic browsing category and Chrome DevTools for agents.]]></description>\n        </item>\n        <item>\n            <title><![CDATA[Unlock runtime insights: Introducing third-party developer tools for Chrome DevTools for agents]]></title>\n            <link>https://developer.chrome.com/blog/devtools-for-agents-3p-tools?hl=%5BREDACTED%5D</link>\n            <guid>https://developer.chrome.com/blog/devtools-for-agents-3p-tools?hl=%5BREDACTED%5D</guid>\n            <pubDate>Thu, 18 Jun 2026 07:00:00 GMT</pubDate>\n            <description><![CDATA[Chrome DevTools for agents introduces third-party developer tools, which lets frameworks and applications share rich, runtime context with AI coding assistants.]]></description>\n        </item>\n        <item>\n            <title><![CDATA[What's New in WebGPU (Chrome 149-150)]]></title>\n            <link>https://developer.chrome.com/blog/new-in-webgpu-149-150?hl=%5BREDACTED%5D</link>\n            <guid>https://developer.chrome.com/blog/new-in-webgpu-149-150?hl=%5BREDACTED%5D</guid>\n            <pubDate>Wed, 17 Jun 2026 07:00:00 GMT</pubDate>\n            <description><![CDATA[Immediates and stricter validation for transient attachments.]]></description>\n        </item>\n        <item>\n            <title><![CDATA[Join the WebMCP origin trial]]></title>\n            <link>https://developer.chrome.com/blog/ai-webmcp-origin-trial?hl=%5BREDACTED%5D</link>\n            <guid>https://developer.chrome.com/blog/ai-webmcp-origin-trial?hl=%5BREDACTED%5D</guid>\n            <pubDate>Tue, 09 Jun 2026 07:00:00 GMT</pubDate>\n            <description><![CDATA[Build structured tools for your website, so agents can complete tasks accurately.]]></description>\n        </item>\n        <item>\n            <title><![CDATA[Seamless PWA origin migration: Change domains without losing users]]></title>\n            <link>https://developer.chrome.com/blog/seamless-pwa-origin-migration?hl=%5BREDACTED%5D</link>\n            <guid>https://developer.chrome.com/blog/seamless-pwa-origin-migration?hl=%5BREDACTED%5D</guid>\n            <pubDate>Wed, 03 Jun 2026 07:00:00 GMT</pubDate>\n            <description><![CDATA[From Chrome 150 you can seamlessly transition a PWA to a new same-site origin.]]></description>\n        </item>\n        <item>\n            <title><![CDATA[Chrome 150 beta]]></title>\n            <link>https://developer.chrome.com/blog/chrome-150-beta?hl=%5BREDACTED%5D</link>\n            <guid>https://developer.chrome.com/blog/chrome-150-beta?hl=%5BREDACTED%5D</guid>\n            <pubDate>Wed, 03 Jun 2026 07:00:00 GMT</pubDate>\n            <description><![CDATA[Get a preview of the next Chrome release with this post detailing the features in the current beta.]]></description>\n        </item>\n        <item>\n            <title><![CDATA[What's new in DevTools (Chrome 149)]]></title>\n            <link>https://developer.chrome.com/blog/new-in-devtools-149?hl=%5BREDACTED%5D</link>\n            <guid>https://developer.chrome.com/blog/new-in-devtools-149?hl=%5BREDACTED%5D</guid>\n            <pubDate>Tue, 02 Jun 2026 07:00:00 GMT</pubDate>\n            <description><![CDATA[DevTools for agents is stable, AI assistance gets major upgrade with Lighthouse and widgets, new WebMCP debugging tools.]]></description>\n        </item>\n        <item>\n            <title><![CDATA[New in Chrome 149]]></title>\n            <link>https://developer.chrome.com/blog/new-in-chrome-149?hl=%5BREDACTED%5D</link>\n            <guid>https://developer.chrome.com/blog/new-in-chrome-149?hl=%5BREDACTED%5D</guid>\n            <pubDate>Tue, 02 Jun 2026 07:00:00 GMT</pubDate>\n            <description><![CDATA[CSS gap decorations, disconnecting WebSockets for bfcache, and Intl.Locale variants.]]></description>\n        </item>\n        <item>\n            <title><![CDATA[Build new features using built-in AI in Chrome]]></title>\n            <link>https://developer.chrome.com/blog/build-new-features-using-built-in-ai-in-chrome-io2026?hl=%5BREDACTED%5D</link>\n            <guid>https://developer.chrome.com/blog/build-new-features-using-built-in-ai-in-chrome-io2026?hl=%5BREDACTED%5D</guid>\n            <pubDate>Tue, 26 May 2026 07:00:00 GMT</pubDate>\n            <description><![CDATA[Learn more about the talk given at Google I/O 2026 by Thomas Steiner.]]></description>\n        </item>\n        <item>\n            <title><![CDATA[What's new in web extensions: I/O 2026 recap]]></title>\n            <link>https://developer.chrome.com/blog/extensions-io-2026?hl=%5BREDACTED%5D</link>\n            <guid>https://developer.chrome.com/blog/extensions-io-2026?hl=%5BREDACTED%5D</guid>\n            <pubDate>Fri, 22 May 2026 07:00:00 GMT</pubDate>\n            <description><![CDATA[Another Google I/O is behind us and we have covered all the exciting extensions updates!]]></description>\n        </item>\n    </channel>\n</rss>",
    "content_length": 5536,
    "content_type": "text/xml",
    "description": "",
    "status_code": 200,
    "success": true,
    "title": "",
    "url": "https://developer.chrome.com/static/blog/feed.xml"
  },
  "error": "",
  "elapsed": 0.174835426
}
web_fetch completeddispatch toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR
Input
{ "brief": "Chrome 150 beta developer-facing changes", "url": "https://developer.chrome.com/blog/chrome-150-beta" }
Tool Progress E0009
(no result)
Tool Result E0010
{ "content": "Chrome 150 beta  |  Blog  |  Chrome for Developers [Skip to main content](#main-content)\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n [Docs](https://developer.chrome.com/docs)\n\n\n\n\n\n\n - Build with Chrome\n - Learn how Chrome works, participate in origin trials, and build with Chrome everywhere.\n - [Web Platform](https://developer.chrome.com/docs/web-platform)\n - [Isolated Web Apps (IWA)](https://developer.chrome.com/docs/iwa)\n - [Capabilities](https://developer.chrome.com/docs/capabilities)\n - [Automation and testing](https://developer.chrome.com/docs/automation-and-testing)\n - [ChromeDriver](https://developer.chrome.com/docs/chromedriver)\n - [Extensions](https://developer.chrome.com/docs/extensions)\n - [Chrome Web Store](https://developer.chrome.com/docs/webstore)\n - [Chromium](https://developer.chrome.com/docs/chromium)\n - [Web on Android](https://developer.chrome.com/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](https://developer.chrome.com/release-notes)\n\n\n\n\n\n\n - Productivity\n - Create the best experience for your users with the web's best tools.\n - [DevTools](https://developer.chrome.com/docs/devtools)\n - [Lighthouse](https://developer.chrome.com/docs/lighthouse)\n - [Chrome UX Report](https://developer.chrome.com/docs/crux)\n - [Accessibility](https://developer.chrome.com/docs/accessibility)\n - [Modern Web Guidance](https://developer.chrome.com/docs/modern-web-guidance)\n\n\n - Get things done quicker and neater, with our ready-made libraries.\n - [Workbox](https://developer.chrome.com/docs/workbox)\n - [Puppeteer](https://developer.chrome.com/docs/puppeteer)\n\n\n\n\n\n\n - Experience\n - Design a beautiful and performant web with Chrome.\n - [AI](https://developer.chrome.com/docs/ai)\n - [Performance](https://developer.chrome.com/docs/performance)\n - [CSS and UI](https://developer.chrome.com/docs/css-ui)\n - [Identity](https://developer.chrome.com/docs/identity)\n - [Payments](https://developer.chrome.com/docs/payments)\n - [Privacy and security](https://developer.chrome.com/docs/privacy-security)\n\n\n\n\n\n\n - Resources\n - More from Chrome and Google.\n - [All documentation](https://developer.chrome.com/docs)\n - [Baseline open_in_new](https://web.dev/baseline)\n - [web.dev open_in_new](https://web.dev)\n - [PageSpeed Insights audit open_in_new](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n [Case studies](https://developer.chrome.com/case-studies) [Blog](https://developer.chrome.com/blog) [New in Chrome](https://developer.chrome.com/new)\n\n\n\n\n\n\n\n\n\n\n\n\n\n /\n\n\n\n\n\n\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어\n\n Sign in\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n - [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n\n - [Docs](/docs)\n - More\n\n\n - [Case studies](/case-studies)\n - [Blog](/blog)\n - [New in Chrome](/new)\n\n\n\n\n\n\n - Build with Chrome\n - [Web Platform](/docs/web-platform)\n - [Isolated Web Apps (IWA)](/docs/iwa)\n - [Capabilities](/docs/capabilities)\n - [Automation and testing](/docs/automation-and-testing)\n - [ChromeDriver](/docs/chromedriver)\n - [Extensions](/docs/extensions)\n - [Chrome Web Store](/docs/webstore)\n - [Chromium](/docs/chromium)\n - [Web on Android](/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](/release-notes)\n - Productivity\n - [DevTools](/docs/devtools)\n - [Lighthouse](/docs/lighthouse)\n - [Chrome UX Report](/docs/crux)\n - [Accessibility](/docs/accessibility)\n - [Modern Web Guidance](/docs/modern-web-guidance)\n - [Workbox](/docs/workbox)\n - [Puppeteer](/docs/puppeteer)\n - Experience\n - [AI](/docs/ai)\n - [Performance](/docs/performance)\n - [CSS and UI](/docs/css-ui)\n - [Identity](/docs/identity)\n - [Payments](/docs/payments)\n - [Privacy and security](/docs/privacy-security)\n - Resources\n - [All documentation](/docs)\n - [Baseline <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev/baseline)\n - [web.dev <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev)\n - [PageSpeed Insights audit <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n - [Chrome for Developers](https://developer.chrome.com/)\n -\n\n [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n# Chrome 150 beta Stay organized with collections Save and categorize content based on your preferences.\n\n\n\n\n\n\n\n\n\n\n\n ![Rachel Andrew](https://web.dev/images/authors/rachelandrew.jpg)\n\n Rachel Andrew\n\n [GitHub](https://github.com/rachelandrew) [LinkedIn](https://www.linkedin.com/in/rachelandrew) [Mastodon](https://front-end.social/@rachelandrew) [Bluesky](https://bsky.app/profile/rachelandrew.bsky.social) [Homepage](https://rachelandrew.co.uk)\n\n\n\n\n\n\n\n\n\n\n\n Published: June 3, 2026\n\n\n\n\n\nUnless otherwise noted, the following changes apply to the newest Chrome beta channel release for Android, ChromeOS, Linux, macOS, and Windows. Learn more about the features listed here through the provided links or from the list on ChromeStatus.com. Chrome is beta as of June 2, 2026. You can download the latest on [Google.com](https://www.google.com/chrome/beta/) for desktop or on Google Play Store on Android.\n\n\n\n## CSS and UI\n\n\n\n### `AccentColor` and `AccentColorText` system colors\n\n\n\nThe `AccentColor` and `AccentColorText` system colors can be used in CSS to access the system accent color specified on the user's device. This capability lets developers apply app-like styling to their web content in contexts where users expect operating system theme integration, such as an installed web application. Users must be in an installed web application on the initial profile to see the system accent color rendered.\n\n\n\n### Allow optional rounding parameter for `polygon()`\n\n\n\nLets you specify an optional corner-rounding parameter in the `polygon()` CSS shape function. Developers can specify a length value to round polygon corners without manually computing bezier curves.\n\n\n\n### Animatable zoom\n\n\n\nThe CSS `zoom` property is animatable and interpolates as a `<number>`. Developers can transition and animate zoom to smoothly scale elements and their layout, complementing existing transform-based scaling.\n\n\n\n### CSS URL request modifiers\n\n\n\nCSS `url()` functions accept optional request modifiers after the quoted URL string: `cross-origin()`, `integrity()`, and `referrer-policy()`. These modifiers control the fetch behavior of the referenced resource directly from CSS, without requiring changes to HTML markup or JavaScript.\n\n\n\nFor example, `background-image: url(\"image.png\" cross-origin(anonymous))` fetches the image using CORS anonymous mode.\n\n\n\n### CSS `text-fit` property\n\n\n\nScales the font size of text nodes to perfectly fit the width of their containing box.\n\n\n\nThis property lets developers ensure headlines or dynamic content fill the available horizontal space without manual font-size calculations or complex JavaScript workarounds. This property provides a robust, CSS-native solution for responsive typography that maintains visual alignment across different screen sizes and varying text lengths.\n\n\n\n### CSS `background-clip: border-area`\n\n\n\nImplements the `border-area` value for the CSS `background-clip` property, as defined in CSS Backgrounds Level 4. The `background-clip` value clips an element's background to the area painted by its border strokes, taking `border-width` and `border-style` into account while ignoring transparency from `border-color`. This value lets you create gradient borders without border-image.\n\n\n\n### CSS `image(<color>)` function\n\n\n\nThe `image()` function lets developers generate a solid-color image from any color. The syntax is: `image() = image( <color> )`.\n\n\n\n### CSS `light-dark()` with image values\n\n\n\nExtends the CSS `light-dark()` function to accept image values, such as `url()`, `image-set()`, and `none`, in author stylesheets, letting image properties like `background-image`, `list-style-image`, `border-image-source`, `cursor`, and `content` automatically switch between images based on the user's preferred color scheme. Previously, this behavior was only allowed in User Agent stylesheets. This change aligns with the CSS Color 5 specification and matches Firefox's existing implementation.\n\n\n\n### Clone into all descendant `selectedcontent` elements\n\n\n\nSeveral small changes are being made to edge cases of the `selectedcontent` element:\n\n\n - When multiple `selectedcontent` elements are put in a `<select>` element at the same time, all of them are kept up to date instead of only the first one in DOM order.\n - Updating the `selectedcontent` element is deferred when it runs during insertion, removal, or moving steps to fix security issues. The update is deferred by using post-insertion steps or microtasks.\n\n\n\n### Comma-separated container queries\n\n\n\nSupports multiple queries per `@container` rule. The `@container` rule applies if at least one of the queries matches.\n\n\n\nThis capability makes it possible to have fallback queries for features that are not supported in all browsers, for example.\n\n\n\nExample:\n\n\n\n```\n@container --name1 not-supported(--foo: bar), --name2 (width > 600px) {}\n\n```\n\n\n\nAlong with the support for multiple queries, the object model is extended to support the `conditions` attribute on the `CSSContainerRule` API.\n\n\n\n### Expose unprintable areas to CSS\n\n\n\nPrinters usually have a small area at each of the four edges of a sheet of paper that they are not capable of marking reliably, usually due to the printer's paper handling mechanism. The default page margins are expected to be bigger than these areas, but if authors set margins on their own, and even want to add `@page` margin boxes, for example, for custom headers and footers, they need a way to determine where it's safe to print.\n\n\n\nThe CSS descriptor `page-margin-safety` can be used to steer clear of such unprintable areas.\n\n\n\n### The `focusgroup` attribute\n\n\n\nLets authors declaratively give composite widgets arrow key navigation, a guaranteed tab stop, and last-focused memory, replacing hand-coded roving tabindex scripts. Example:\n\n\n\n```\n<div focusgroup=\"toolbar wrap\" aria-label=\"Formatting\">\n <button>Bold</button>\n <button>Italic</button>\n <button>Underline</button>\n</div>\n\n```\n\n\n\n### Media element pseudo-classes\n\n\n\nThe `:playing`, `:paused`, `:seeking`, `:buffering`, `:stalled`, `:muted`, and `:volume-locked` CSS pseudo-classes match `<audio>` and `<video>` elements based on their state.\n\n\n\nThis feature is one of the focus areas in [Interop 2026](https://wpt.fyi/interop-2026).\n\n\n\n### `popover=hint` behavior changes\n\n\n\nThis change implements a revised and simplified stacking model for the `popover=hint` attribute and its interactions with `popover=auto`. Previously, the interactions between these two types of popovers could be complex in some corner case situations, such as nesting `popover=auto` inside `popover=hint`, and could lead to unexpected behavior. Under the new model, opening a `popover=hint` no longer inadvertently closes unrelated `popover=auto` elements. Hint popovers are only hidden when their ancestral `popover=auto` is hidden, or when a new, unrelated `popover=auto` is opened. Additionally, developers can safely nest an auto popover inside a hint popover; instead of throwing an exception or breaking the stack, the nested `popover=auto` gracefully downgrades and behaves as a `popover=hint`. This capability lets developers place a customizable `<select>` within a `popover=hint`.\n\n\n\nTo further improve predictability and prevent complex state mutations, Chrome is also tightening the behavior around opening and closing popovers from within the `beforetoggle` event. There were guards in place for some, but not all, of the possible cases before. This change revamps the mechanism used to detect these cases to more reliably throw `InvalidStateError`s for all such cases. This change ensures that popover state management remains stable and prevents looping reentrancy bugs.\n\n\n\nThese changes were motivated by standards conversations with Mozilla on the [HTML specification pull request on GitHub](https://github.com/whatwg/html/pull/12345).\n\n\n\n### Relative alpha colors\n\n\n\nRelative alpha colors provide a direct CSS way to derive a translucent version of an existing color without rewriting its color channels. Developers currently need to duplicate component values or create separate precomputed tokens when they want the same color with different opacity. The CSS Color 5 `alpha()` function preserves the original color components and only changes alpha, which reduces authoring overhead and makes color tokens easier to reuse and maintain.\n\n\n\n### `flex-wrap:balance`\n\n\n\n`flex-wrap:balance` lets developers distribute content between flex-lines so that it appears more balanced, similar to `text-wrap:balance`.\n\n\n\n### `named-feature()` function for CSS `@supports`\n\n\n\nThe `named-feature()` function lets CSS `@supports` rules query for a small set of specific named features that are not possible to test for using other `@supports` mechanisms but that are considered highly valuable to test for.\n\n\n\n### `overscroll-behavior: chain`\n\n\n\n`overscroll-behavior` has three values: `none`, `auto`, and `contain`. These values affect two independent effects: scroll propagation and local border effect. For example overscroll stretch.\n\n\n - `none`: no scroll propagation, no local boundary effects.\n - `auto`: scroll propagation, local boundary effects.\n - `contain`: no scroll propagation, local boundary effects.\n\n\n\nThis release tracks a new value to complete the set: `chain`: scroll propagation, no local boundary effects.\n\n\n\nThis value is useful for effects like side menus implemented as scrollers. You can bring the menu in, and when it hits the edge, it doesn't overscroll, or stretch and translate. However, the scroll then chains to the ancestor.\n\n\n\n## Web APIs\n\n\n\n### Disable SVG filters on plugins and cross-origin or restricted iframes\n\n\n\nChrome 150 prevents Scalable Vector Graphics (SVG) filters from being applied to cross-origin or restricted iFrames, for example, sandboxed ones, and embedded plugins, for example, PDFs. When a frame or plugin is painted with an SVG filter effect, the effect tree is traversed to find the highest ancestor without SVG filters, and that effect is applied instead.\n\n\n\n### IndexedDB: SQLite backend\n\n\n\nChromium's `IndexedDB` implementation is rewritten on top of `SQLite` to replace the previous implementation that uses a hybrid of `LevelDB` and flat files. This change doesn't affect the Web API.\n\n\n\nThis rewrite is expected to improve reliability and, to a lesser extent, performance.\n\n\n\nFor now, this change applies to *new data stores*. This change is step 2 of a multi-phase progressive release. See the [ChromeStatus feature page for SQLite in-memory contexts](https://chromestatus.com/feature/5126896685809664) which tracks step 1.\n\n\n\n### `MediaStreamTrackProcessor` frame counters\n\n\n\nAdds `discardedFrames` and `totalFrames` attributes to the `MediaStreamTrackProcessor` interface. These counters let web developers monitor the health of their media processing pipelines by tracking the number of frames received and dropped by the processor.\n\n\n\n### Opaque origin for `data:` URLs\n\n\n\nChrome 150 updates how `DedicatedWorker` and `SharedWorker` handle [`data:` URLs](https://datatracker.ietf.org/doc/html/rfc2397). Rather than automatically inheriting the security origin of the script or page that created them, these workers are assigned a unique opaque origin.\n\n\n\nThis change aligns with the worker [HTML specification](https://www.w3.org/TR/2021/NOTE-workers-20210128/#[REDACTED]) and enhances security by isolating these workers from the creator's same-origin state, preventing them from accessing sensitive data through mechanisms like `BroadcastChannel` or same-origin storage. To maintain correct isolation boundaries, these workers still reside within the same storage partition (for example, by preserving the top-level site or nonce) as their creator.\n\n\n\nThis security adjustment is enabled by default across desktop and mobile platforms. Administrators can review or verify security boundaries through their centralized configurations. For technical implementation details and specification references, see Step 3 of the [HTML Living Standard Worker Settings](https://html.spec.whatwg.org/multipage/workers.html#[REDACTED]).\n\n\n\n### PWA origin migration\n\n\n\nWhen a user installs a Progressive Web App (PWA), its identity and security context are tightly bound to its web origin, for example, `app.example.com`. This binding presents a significant challenge for developers who need to change their PWA's origin due to rebranding, domain restructuring, or technical re-architecture. Such a change forces users to manually uninstall the old app and reinstall the new one, leading to a disruptive experience and potential user loss. Chrome 150 introduces a mechanism for developers to [migrate an installed PWA](/blog/seamless-pwa-origin-migration) to a new, same-site origin, preserving user trust and permissions.\n\n\n\nThe [WebAppInstallForceList](https://chromeenterprise.google/policies/#[REDACTED]) policy blocks migration. Since enterprise policies around web applications are primarily based on URLs and origins, there is a risk that a migration might bypass certain policies an admin might have configured. Chrome doesn't offer a migration to the user when an app is force-installed by their enterprise administrator, and instead displays a banner that explains this to the user.\n\n\n\n### Parse processing instructions in HTML\n\n\n\nProcessing instructions (syntax: `<?target data>`) are an existing DOM construct, exposed in XML, that allow node objects that are not elements but can have some semantic meaning for the processing of a document.\n\n\n\nFor example, you can use them to denote ranges for streaming or highlighting without requiring new DOM elements and changing the DOM structure as far as CSS is concerned, or as directives for the HTML parser about how to buffer and stream.\n\n\n\n### Out-of-order streaming\n\n\n\n[Out-of-order streaming](/blog/declarative-partial-updates#out-of-order_streaming) lets you use `<template for>` and processing instruction ranges (`<?start>` and `<?end>`) to deliver HTML in non-sequential order and update existing parts of the document without JavaScript.\n\n\n\n### Programmatic scroll promises\n\n\n\nThis capability provides a reliable signal for the completion status of a programmatic smooth-scroll. All scroll methods in `Element` and `Window` return Promise objects that get resolved on scroll completion, and the resolved value indicates whether the scroll was interrupted.\n\n\n\n### WebGPU Immediates\n\n\n\nAdds a new immediate address space in WGSL and a `setImmediateData()` method on render pass, compute pass, and render bundle encoders that allows passing small amounts of frequently-updated data directly to shaders without creating GPU buffer objects or bind groups. This is particularly useful for applications that need to update per-draw parameters such as object indexes, material indexes, or transformation matrixes every draw call, enabling significant performance improvements by avoiding buffer and bind group management overhead.\n\n\n\n### Web Speech API: On-device recognition quality\n\n\n\nExtends the `SpeechRecognition` interface by adding a `quality` property to `SpeechRecognitionOptions`. This property lets developers specify the semantic capability required for on-device recognition by using `processLocally: true`.\n\n\n\nThe proposed `quality` enum supports three levels—`command`, `dictation`, and `conversation`—mapping to increasing task complexity and hardware requirements. This capability lets developers determine if the local device can handle high-stakes use cases (like meeting transcription) or if they need to fall back to cloud services, solving the opaque nature of on-device model capabilities.\n\n\n\n## New origin trials\n\n\n\nIn Chrome 150 you can opt into the following new [origin trials](/docs/web-platform/origin-trials).\n\n\n\n### Email Verification Protocol (`EVP`)\n\n\n\nThe Email Verification Protocol (`EVP`) helps users create, access, and recover accounts by providing cryptographic proof of ownership seamlessly rather than email OTPs manually.\n\n\n\n## Deprecations and removals\n\n\n\nThis release of Chrome introduces the following deprecations and removals.\n\n\n\n### Remove `[LegacyNoInterfaceObject]` from `FontFaceSet` IDL\n\n\n\nChromium's FontFaceSet IDL previously incorrectly used `[LegacyNoInterfaceObject]`, which hid `FontFaceSet` as a global property and deleted the constructor property from its prototype. This behavior deviated from the CSS Font Loading spec and differed from Safari and Firefox behavior.\n\n\n\nThis removal removes `[LegacyNoInterfaceObject]` from the `FontFaceSet` IDL, making `FontFaceSet` properly accessible as a global property. Since no `constructor()` is defined in the IDL, calling new `FontFaceSet()` from JavaScript correctly throws `TypeError: Illegal constructor`, matching spec-mandated behavior.\n\n\n\n\n\n\n\nExcept as otherwise noted, the content of this page is licensed under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). For details, see the [Google Developers Site Policies](https://developers.google.com/site-policies). Java is a registered trademark of Oracle and/or its affiliates.\n\n\n\nLast updated 2026-06-03 UTC.\n\n\n\n\n\n\n\n\n\n\n -\n\n### Contribute\n\n\n - [File a bug](https://issuetracker.google.com/issues/new?component=%5BREDACTED%5D&template=%5BREDACTED%5D)\n - [See open issues](https://issuetracker.google.com/issues?q=%5BREDACTED%5D&s=%5BREDACTED%5D)\n\n\n -\n\n### Related content\n\n\n - [Chromium updates](https://blog.chromium.org/)\n - [Case studies](/case-studies)\n - [Archive](/deprecated)\n - [Podcasts & shows](https://web.dev/shows)\n\n\n -\n\n### Follow\n\n\n - [@ChromiumDev on X](https://twitter.com/ChromiumDev)\n - [YouTube](https://www.youtube.com/user/ChromeDevelopers)\n - [Chrome for Developers on LinkedIn](https://www.linkedin.com/showcase/chrome-for-developers)\n - [RSS](/static/blog/feed.xml)\n\n\n\n\n\n\n\n\n\n\n - [Terms](//policies.google.com/terms)\n - [Privacy](//policies.google.com/privacy)\n - Manage cookies\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어", "content_length": 23610, "content_type": "text/html", "description": "Get a preview of the next Chrome release with this post detailing the features in the current beta.", "status_code": 200, "success": true, "title": "Chrome 150 beta &nbsp;|&nbsp; Blog &nbsp;|&nbsp; Chrome for Developers", "url": "https://developer.chrome.com/blog/chrome-150-beta" }
Sub-agent trace (toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR, 3 events)
tools_started web_fetch t=117302.484
Inner payload
{
  "tool_name": "web_fetch",
  "tool_input": {
    "brief": "Chrome 150 beta developer-facing changes",
    "url": "https://developer.chrome.com/blog/chrome-150-beta"
  },
  "dispatch_id": "toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR",
  "parent_dispatch_id": "",
  "handle": "",
  "panel_kind": "web_fetch"
}
tools_progress web_fetch t=117302.485
Inner payload
{
  "tool_name": "web_fetch",
  "dispatch_id": "toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR",
  "status": "running",
  "result": null,
  "error": "",
  "elapsed": null,
  "fields": {
    "progress": {
      "message": "Chrome 150 beta developer-facing changes",
      "metadata": {
        "browser_chain": false,
        "url": "https://developer.chrome.com/blog/chrome-150-beta"
      }
    },
    "status": "running",
    "updatedAt": 1789168685591
  }
}
tools_completed web_fetch t=117302.486
Inner payload
{
  "tool_name": "web_fetch",
  "dispatch_id": "toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR",
  "status": "completed",
  "result": {
    "content": "Chrome 150 beta  |  Blog  |  Chrome for Developers        [Skip to main content](#main-content)\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n  [Docs](https://developer.chrome.com/docs)\n\n\n\n\n\n\n - Build with Chrome\n - Learn how Chrome works, participate in origin trials, and build with Chrome everywhere.\n -  [Web Platform](https://developer.chrome.com/docs/web-platform)\n -  [Isolated Web Apps (IWA)](https://developer.chrome.com/docs/iwa)\n -  [Capabilities](https://developer.chrome.com/docs/capabilities)\n -  [Automation and testing](https://developer.chrome.com/docs/automation-and-testing)\n -  [ChromeDriver](https://developer.chrome.com/docs/chromedriver)\n -  [Extensions](https://developer.chrome.com/docs/extensions)\n -  [Chrome Web Store](https://developer.chrome.com/docs/webstore)\n -  [Chromium](https://developer.chrome.com/docs/chromium)\n -  [Web on Android](https://developer.chrome.com/docs/android)\n -  [Origin trials](https://developer.chrome.com/origintrials/)\n -  [Release notes](https://developer.chrome.com/release-notes)\n\n\n\n\n\n\n - Productivity\n - Create the best experience for your users with the web's best tools.\n -  [DevTools](https://developer.chrome.com/docs/devtools)\n -  [Lighthouse](https://developer.chrome.com/docs/lighthouse)\n -  [Chrome UX Report](https://developer.chrome.com/docs/crux)\n -  [Accessibility](https://developer.chrome.com/docs/accessibility)\n -  [Modern Web Guidance](https://developer.chrome.com/docs/modern-web-guidance)\n\n\n - Get things done quicker and neater, with our ready-made libraries.\n -  [Workbox](https://developer.chrome.com/docs/workbox)\n -  [Puppeteer](https://developer.chrome.com/docs/puppeteer)\n\n\n\n\n\n\n - Experience\n - Design a beautiful and performant web with Chrome.\n -  [AI](https://developer.chrome.com/docs/ai)\n -  [Performance](https://developer.chrome.com/docs/performance)\n -  [CSS and UI](https://developer.chrome.com/docs/css-ui)\n -  [Identity](https://developer.chrome.com/docs/identity)\n -  [Payments](https://developer.chrome.com/docs/payments)\n -  [Privacy and security](https://developer.chrome.com/docs/privacy-security)\n\n\n\n\n\n\n - Resources\n - More from Chrome and Google.\n -  [All documentation](https://developer.chrome.com/docs)\n -  [Baseline open_in_new](https://web.dev/baseline)\n -  [web.dev open_in_new](https://web.dev)\n -  [PageSpeed Insights audit open_in_new](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n   [Case studies](https://developer.chrome.com/case-studies)   [Blog](https://developer.chrome.com/blog)   [New in Chrome](https://developer.chrome.com/new)\n\n\n\n\n\n\n\n\n\n\n\n\n\n /\n\n\n\n\n\n\n\n\n -  English\n -  Deutsch\n -  Español – América Latina\n -  Français\n -  Indonesia\n -  Italiano\n -  Nederlands\n -  Polski\n -  Português – Brasil\n -  Tiếng Việt\n -  Türkçe\n -  Русский\n -  עברית\n -  العربيّة\n -  فارسی\n -  हिंदी\n -  বাংলা\n -  ภาษาไทย\n -  中文 – 简体\n -  中文 – 繁體\n -  日本語\n -  한국어\n\n   Sign in\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n -  [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n\n -  [Docs](/docs)\n   -    More\n\n\n -  [Case studies](/case-studies)\n -  [Blog](/blog)\n -  [New in Chrome](/new)\n\n\n\n\n\n\n -    Build with Chrome\n -  [Web Platform](/docs/web-platform)\n -  [Isolated Web Apps (IWA)](/docs/iwa)\n -  [Capabilities](/docs/capabilities)\n -  [Automation and testing](/docs/automation-and-testing)\n -  [ChromeDriver](/docs/chromedriver)\n -  [Extensions](/docs/extensions)\n -  [Chrome Web Store](/docs/webstore)\n -  [Chromium](/docs/chromium)\n -  [Web on Android](/docs/android)\n -  [Origin trials](https://developer.chrome.com/origintrials/)\n -  [Release notes](/release-notes)\n -    Productivity\n -  [DevTools](/docs/devtools)\n -  [Lighthouse](/docs/lighthouse)\n -  [Chrome UX Report](/docs/crux)\n -  [Accessibility](/docs/accessibility)\n -  [Modern Web Guidance](/docs/modern-web-guidance)\n -  [Workbox](/docs/workbox)\n -  [Puppeteer](/docs/puppeteer)\n -    Experience\n -  [AI](/docs/ai)\n -  [Performance](/docs/performance)\n -  [CSS and UI](/docs/css-ui)\n -  [Identity](/docs/identity)\n -  [Payments](/docs/payments)\n -  [Privacy and security](/docs/privacy-security)\n -    Resources\n -  [All documentation](/docs)\n -  [Baseline <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev/baseline)\n -  [web.dev <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev)\n -  [PageSpeed Insights audit <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n -  [Chrome for Developers](https://developer.chrome.com/)\n -\n\n [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n#  Chrome 150 beta   Stay organized with collections   Save and categorize content based on your preferences.\n\n\n\n\n\n\n\n\n\n\n\n ![Rachel Andrew](https://web.dev/images/authors/rachelandrew.jpg)\n\n  Rachel Andrew\n\n [GitHub](https://github.com/rachelandrew) [LinkedIn](https://www.linkedin.com/in/rachelandrew) [Mastodon](https://front-end.social/@rachelandrew) [Bluesky](https://bsky.app/profile/rachelandrew.bsky.social) [Homepage](https://rachelandrew.co.uk)\n\n\n\n\n\n\n\n\n\n\n\n Published: June 3, 2026\n\n\n\n\n\nUnless otherwise noted, the following changes apply to the newest Chrome beta channel release for Android, ChromeOS, Linux, macOS, and Windows. Learn more about the features listed here through the provided links or from the list on ChromeStatus.com. Chrome is beta as of June 2, 2026. You can download the latest on [Google.com](https://www.google.com/chrome/beta/) for desktop or on Google Play Store on Android.\n\n\n\n## CSS and UI\n\n\n\n### `AccentColor` and `AccentColorText` system colors\n\n\n\nThe `AccentColor` and `AccentColorText` system colors can be used in CSS to access the system accent color specified on the user's device. This capability lets developers apply app-like styling to their web content in contexts where users expect operating system theme integration, such as an installed web application. Users must be in an installed web application on the initial profile to see the system accent color rendered.\n\n\n\n### Allow optional rounding parameter for `polygon()`\n\n\n\nLets you specify an optional corner-rounding parameter in the `polygon()` CSS shape function. Developers can specify a length value to round polygon corners without manually computing bezier curves.\n\n\n\n### Animatable zoom\n\n\n\nThe CSS `zoom` property is animatable and interpolates as a `<number>`. Developers can transition and animate zoom to smoothly scale elements and their layout, complementing existing transform-based scaling.\n\n\n\n### CSS URL request modifiers\n\n\n\nCSS `url()` functions accept optional request modifiers after the quoted URL string: `cross-origin()`, `integrity()`, and `referrer-policy()`. These modifiers control the fetch behavior of the referenced resource directly from CSS, without requiring changes to HTML markup or JavaScript.\n\n\n\nFor example, `background-image: url(\"image.png\" cross-origin(anonymous))` fetches the image using CORS anonymous mode.\n\n\n\n### CSS `text-fit` property\n\n\n\nScales the font size of text nodes to perfectly fit the width of their containing box.\n\n\n\nThis property lets developers ensure headlines or dynamic content fill the available horizontal space without manual font-size calculations or complex JavaScript workarounds. This property provides a robust, CSS-native solution for responsive typography that maintains visual alignment across different screen sizes and varying text lengths.\n\n\n\n### CSS `background-clip: border-area`\n\n\n\nImplements the `border-area` value for the CSS `background-clip` property, as defined in CSS Backgrounds Level 4. The `background-clip` value clips an element's background to the area painted by its border strokes, taking `border-width` and `border-style` into account while ignoring transparency from `border-color`. This value lets you create gradient borders without border-image.\n\n\n\n### CSS `image(<color>)` function\n\n\n\nThe `image()` function lets developers generate a solid-color image from any color. The syntax is: `image() = image( <color> )`.\n\n\n\n### CSS `light-dark()` with image values\n\n\n\nExtends the CSS `light-dark()` function to accept image values, such as `url()`, `image-set()`, and `none`, in author stylesheets, letting image properties like `background-image`, `list-style-image`, `border-image-source`, `cursor`, and `content` automatically switch between images based on the user's preferred color scheme. Previously, this behavior was only allowed in User Agent stylesheets. This change aligns with the CSS Color 5 specification and matches Firefox's existing implementation.\n\n\n\n### Clone into all descendant `selectedcontent` elements\n\n\n\nSeveral small changes are being made to edge cases of the `selectedcontent` element:\n\n\n - When multiple `selectedcontent` elements are put in a `<select>` element at the same time, all of them are kept up to date instead of only the first one in DOM order.\n - Updating the `selectedcontent` element is deferred when it runs during insertion, removal, or moving steps to fix security issues. The update is deferred by using post-insertion steps or microtasks.\n\n\n\n### Comma-separated container queries\n\n\n\nSupports multiple queries per `@container` rule. The `@container` rule applies if at least one of the queries matches.\n\n\n\nThis capability makes it possible to have fallback queries for features that are not supported in all browsers, for example.\n\n\n\nExample:\n\n\n\n```\n@container --name1 not-supported(--foo: bar), --name2 (width > 600px) {}\n\n```\n\n\n\nAlong with the support for multiple queries, the object model is extended to support the `conditions` attribute on the `CSSContainerRule` API.\n\n\n\n### Expose unprintable areas to CSS\n\n\n\nPrinters usually have a small area at each of the four edges of a sheet of paper that they are not capable of marking reliably, usually due to the printer's paper handling mechanism. The default page margins are expected to be bigger than these areas, but if authors set margins on their own, and even want to add `@page` margin boxes, for example, for custom headers and footers, they need a way to determine where it's safe to print.\n\n\n\nThe CSS descriptor `page-margin-safety` can be used to steer clear of such unprintable areas.\n\n\n\n### The `focusgroup` attribute\n\n\n\nLets authors declaratively give composite widgets arrow key navigation, a guaranteed tab stop, and last-focused memory, replacing hand-coded roving tabindex scripts. Example:\n\n\n\n```\n<div focusgroup=\"toolbar wrap\" aria-label=\"Formatting\">\n  <button>Bold</button>\n  <button>Italic</button>\n  <button>Underline</button>\n</div>\n\n```\n\n\n\n### Media element pseudo-classes\n\n\n\nThe `:playing`, `:paused`, `:seeking`, `:buffering`, `:stalled`, `:muted`, and `:volume-locked` CSS pseudo-classes match `<audio>` and `<video>` elements based on their state.\n\n\n\nThis feature is one of the focus areas in [Interop 2026](https://wpt.fyi/interop-2026).\n\n\n\n### `popover=hint` behavior changes\n\n\n\nThis change implements a revised and simplified stacking model for the `popover=hint` attribute and its interactions with `popover=auto`. Previously, the interactions between these two types of popovers could be complex in some corner case situations, such as nesting `popover=auto` inside `popover=hint`, and could lead to unexpected behavior. Under the new model, opening a `popover=hint` no longer inadvertently closes unrelated `popover=auto` elements. Hint popovers are only hidden when their ancestral `popover=auto` is hidden, or when a new, unrelated `popover=auto` is opened. Additionally, developers can safely nest an auto popover inside a hint popover; instead of throwing an exception or breaking the stack, the nested `popover=auto` gracefully downgrades and behaves as a `popover=hint`. This capability lets developers place a customizable `<select>` within a `popover=hint`.\n\n\n\nTo further improve predictability and prevent complex state mutations, Chrome is also tightening the behavior around opening and closing popovers from within the `beforetoggle` event. There were guards in place for some, but not all, of the possible cases before. This change revamps the mechanism used to detect these cases to more reliably throw `InvalidStateError`s for all such cases. This change ensures that popover state management remains stable and prevents looping reentrancy bugs.\n\n\n\nThese changes were motivated by standards conversations with Mozilla on the [HTML specification pull request on GitHub](https://github.com/whatwg/html/pull/12345).\n\n\n\n### Relative alpha colors\n\n\n\nRelative alpha colors provide a direct CSS way to derive a translucent version of an existing color without rewriting its color channels. Developers currently need to duplicate component values or create separate precomputed tokens when they want the same color with different opacity. The CSS Color 5 `alpha()` function preserves the original color components and only changes alpha, which reduces authoring overhead and makes color tokens easier to reuse and maintain.\n\n\n\n### `flex-wrap:balance`\n\n\n\n`flex-wrap:balance` lets developers distribute content between flex-lines so that it appears more balanced, similar to `text-wrap:balance`.\n\n\n\n### `named-feature()` function for CSS `@supports`\n\n\n\nThe `named-feature()` function lets CSS `@supports` rules query for a small set of specific named features that are not possible to test for using other `@supports` mechanisms but that are considered highly valuable to test for.\n\n\n\n### `overscroll-behavior: chain`\n\n\n\n`overscroll-behavior` has three values: `none`, `auto`, and `contain`. These values affect two independent effects: scroll propagation and local border effect. For example overscroll stretch.\n\n\n - `none`: no scroll propagation, no local boundary effects.\n - `auto`: scroll propagation, local boundary effects.\n - `contain`: no scroll propagation, local boundary effects.\n\n\n\nThis release tracks a new value to complete the set: `chain`: scroll propagation, no local boundary effects.\n\n\n\nThis value is useful for effects like side menus implemented as scrollers. You can bring the menu in, and when it hits the edge, it doesn't overscroll, or stretch and translate. However, the scroll then chains to the ancestor.\n\n\n\n## Web APIs\n\n\n\n### Disable SVG filters on plugins and cross-origin or restricted iframes\n\n\n\nChrome 150 prevents Scalable Vector Graphics (SVG) filters from being applied to cross-origin or restricted iFrames, for example, sandboxed ones, and embedded plugins, for example, PDFs. When a frame or plugin is painted with an SVG filter effect, the effect tree is traversed to find the highest ancestor without SVG filters, and that effect is applied instead.\n\n\n\n### IndexedDB: SQLite backend\n\n\n\nChromium's `IndexedDB` implementation is rewritten on top of `SQLite` to replace the previous implementation that uses a hybrid of `LevelDB` and flat files. This change doesn't affect the Web API.\n\n\n\nThis rewrite is expected to improve reliability and, to a lesser extent, performance.\n\n\n\nFor now, this change applies to *new data stores*. This change is step 2 of a multi-phase progressive release. See the [ChromeStatus feature page for SQLite in-memory contexts](https://chromestatus.com/feature/5126896685809664) which tracks step 1.\n\n\n\n### `MediaStreamTrackProcessor` frame counters\n\n\n\nAdds `discardedFrames` and `totalFrames` attributes to the `MediaStreamTrackProcessor` interface. These counters let web developers monitor the health of their media processing pipelines by tracking the number of frames received and dropped by the processor.\n\n\n\n### Opaque origin for `data:` URLs\n\n\n\nChrome 150 updates how `DedicatedWorker` and `SharedWorker` handle [`data:` URLs](https://datatracker.ietf.org/doc/html/rfc2397). Rather than automatically inheriting the security origin of the script or page that created them, these workers are assigned a unique opaque origin.\n\n\n\nThis change aligns with the worker [HTML specification](https://www.w3.org/TR/2021/NOTE-workers-20210128/#[REDACTED]) and enhances security by isolating these workers from the creator's same-origin state, preventing them from accessing sensitive data through mechanisms like `BroadcastChannel` or same-origin storage. To maintain correct isolation boundaries, these workers still reside within the same storage partition (for example, by preserving the top-level site or nonce) as their creator.\n\n\n\nThis security adjustment is enabled by default across desktop and mobile platforms. Administrators can review or verify security boundaries through their centralized configurations. For technical implementation details and specification references, see Step 3 of the [HTML Living Standard Worker Settings](https://html.spec.whatwg.org/multipage/workers.html#[REDACTED]).\n\n\n\n### PWA origin migration\n\n\n\nWhen a user installs a Progressive Web App (PWA), its identity and security context are tightly bound to its web origin, for example, `app.example.com`. This binding presents a significant challenge for developers who need to change their PWA's origin due to rebranding, domain restructuring, or technical re-architecture. Such a change forces users to manually uninstall the old app and reinstall the new one, leading to a disruptive experience and potential user loss. Chrome 150 introduces a mechanism for developers to [migrate an installed PWA](/blog/seamless-pwa-origin-migration) to a new, same-site origin, preserving user trust and permissions.\n\n\n\nThe [WebAppInstallForceList](https://chromeenterprise.google/policies/#[REDACTED]) policy blocks migration. Since enterprise policies around web applications are primarily based on URLs and origins, there is a risk that a migration might bypass certain policies an admin might have configured. Chrome doesn't offer a migration to the user when an app is force-installed by their enterprise administrator, and instead displays a banner that explains this to the user.\n\n\n\n### Parse processing instructions in HTML\n\n\n\nProcessing instructions (syntax: `<?target data>`) are an existing DOM construct, exposed in XML, that allow node objects that are not elements but can have some semantic meaning for the processing of a document.\n\n\n\nFor example, you can use them to denote ranges for streaming or highlighting without requiring new DOM elements and changing the DOM structure as far as CSS is concerned, or as directives for the HTML parser about how to buffer and stream.\n\n\n\n### Out-of-order streaming\n\n\n\n[Out-of-order streaming](/blog/declarative-partial-updates#out-of-order_streaming) lets you use `<template for>` and processing instruction ranges (`<?start>` and `<?end>`) to deliver HTML in non-sequential order and update existing parts of the document without JavaScript.\n\n\n\n### Programmatic scroll promises\n\n\n\nThis capability provides a reliable signal for the completion status of a programmatic smooth-scroll. All scroll methods in `Element` and `Window` return Promise objects that get resolved on scroll completion, and the resolved value indicates whether the scroll was interrupted.\n\n\n\n### WebGPU Immediates\n\n\n\nAdds a new immediate address space in WGSL and a `setImmediateData()` method on render pass, compute pass, and render bundle encoders that allows passing small amounts of frequently-updated data directly to shaders without creating GPU buffer objects or bind groups. This is particularly useful for applications that need to update per-draw parameters such as object indexes, material indexes, or transformation matrixes every draw call, enabling significant performance improvements by avoiding buffer and bind group management overhead.\n\n\n\n### Web Speech API: On-device recognition quality\n\n\n\nExtends the `SpeechRecognition` interface by adding a `quality` property to `SpeechRecognitionOptions`. This property lets developers specify the semantic capability required for on-device recognition by using `processLocally: true`.\n\n\n\nThe proposed `quality` enum supports three levels—`command`, `dictation`, and `conversation`—mapping to increasing task complexity and hardware requirements. This capability lets developers determine if the local device can handle high-stakes use cases (like meeting transcription) or if they need to fall back to cloud services, solving the opaque nature of on-device model capabilities.\n\n\n\n## New origin trials\n\n\n\nIn Chrome 150 you can opt into the following new [origin trials](/docs/web-platform/origin-trials).\n\n\n\n### Email Verification Protocol (`EVP`)\n\n\n\nThe Email Verification Protocol (`EVP`) helps users create, access, and recover accounts by providing cryptographic proof of ownership seamlessly rather than email OTPs manually.\n\n\n\n## Deprecations and removals\n\n\n\nThis release of Chrome introduces the following deprecations and removals.\n\n\n\n### Remove `[LegacyNoInterfaceObject]` from `FontFaceSet` IDL\n\n\n\nChromium's FontFaceSet IDL previously incorrectly used `[LegacyNoInterfaceObject]`, which hid `FontFaceSet` as a global property and deleted the constructor property from its prototype. This behavior deviated from the CSS Font Loading spec and differed from Safari and Firefox behavior.\n\n\n\nThis removal removes `[LegacyNoInterfaceObject]` from the `FontFaceSet` IDL, making `FontFaceSet` properly accessible as a global property. Since no `constructor()` is defined in the IDL, calling new `FontFaceSet()` from JavaScript correctly throws `TypeError: Illegal constructor`, matching spec-mandated behavior.\n\n\n\n\n\n\n\nExcept as otherwise noted, the content of this page is licensed under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). For details, see the [Google Developers Site Policies](https://developers.google.com/site-policies). Java is a registered trademark of Oracle and/or its affiliates.\n\n\n\nLast updated 2026-06-03 UTC.\n\n\n\n\n\n\n\n\n\n\n -\n\n### Contribute\n\n\n   -  [File a bug](https://issuetracker.google.com/issues/new?component=%5BREDACTED%5D&template=%5BREDACTED%5D)\n   -  [See open issues](https://issuetracker.google.com/issues?q=%5BREDACTED%5D&s=%5BREDACTED%5D)\n\n\n -\n\n### Related content\n\n\n   -  [Chromium updates](https://blog.chromium.org/)\n   -  [Case studies](/case-studies)\n   -  [Archive](/deprecated)\n   -  [Podcasts & shows](https://web.dev/shows)\n\n\n -\n\n### Follow\n\n\n   -  [@ChromiumDev on X](https://twitter.com/ChromiumDev)\n   -  [YouTube](https://www.youtube.com/user/ChromeDevelopers)\n   -  [Chrome for Developers on LinkedIn](https://www.linkedin.com/showcase/chrome-for-developers)\n   -  [RSS](/static/blog/feed.xml)\n\n\n\n\n\n\n\n\n\n\n -  [Terms](//policies.google.com/terms)\n -  [Privacy](//policies.google.com/privacy)\n -  Manage cookies\n\n\n -  English\n -  Deutsch\n -  Español – América Latina\n -  Français\n -  Indonesia\n -  Italiano\n -  Nederlands\n -  Polski\n -  Português – Brasil\n -  Tiếng Việt\n -  Türkçe\n -  Русский\n -  עברית\n -  العربيّة\n -  فارسی\n -  हिंदी\n -  বাংলা\n -  ภาษาไทย\n -  中文 – 简体\n -  中文 – 繁體\n -  日本語\n -  한국어",
    "content_length": 23610,
    "content_type": "text/html",
    "description": "Get a preview of the next Chrome release with this post detailing the features in the current beta.",
    "status_code": 200,
    "success": true,
    "title": "Chrome 150 beta &nbsp;|&nbsp; Blog &nbsp;|&nbsp; Chrome for Developers",
    "url": "https://developer.chrome.com/blog/chrome-150-beta"
  },
  "error": "",
  "elapsed": 0.326017838
}
web_fetch completeddispatch toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E
Input
{ "brief": "Details of most recent Chrome blog post", "url": "https://developer.chrome.com/blog/agent-ready-toolkit" }
Tool Progress E0012
(no result)
Tool Result E0013
{ "content": "A developer toolkit to make your website agent-ready  |  Blog  |  Chrome for Developers [Skip to main content](#main-content)\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n [Docs](https://developer.chrome.com/docs)\n\n\n\n\n\n\n - Build with Chrome\n - Learn how Chrome works, participate in origin trials, and build with Chrome everywhere.\n - [Web Platform](https://developer.chrome.com/docs/web-platform)\n - [Isolated Web Apps (IWA)](https://developer.chrome.com/docs/iwa)\n - [Capabilities](https://developer.chrome.com/docs/capabilities)\n - [Automation and testing](https://developer.chrome.com/docs/automation-and-testing)\n - [ChromeDriver](https://developer.chrome.com/docs/chromedriver)\n - [Extensions](https://developer.chrome.com/docs/extensions)\n - [Chrome Web Store](https://developer.chrome.com/docs/webstore)\n - [Chromium](https://developer.chrome.com/docs/chromium)\n - [Web on Android](https://developer.chrome.com/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](https://developer.chrome.com/release-notes)\n\n\n\n\n\n\n - Productivity\n - Create the best experience for your users with the web's best tools.\n - [DevTools](https://developer.chrome.com/docs/devtools)\n - [Lighthouse](https://developer.chrome.com/docs/lighthouse)\n - [Chrome UX Report](https://developer.chrome.com/docs/crux)\n - [Accessibility](https://developer.chrome.com/docs/accessibility)\n - [Modern Web Guidance](https://developer.chrome.com/docs/modern-web-guidance)\n\n\n - Get things done quicker and neater, with our ready-made libraries.\n - [Workbox](https://developer.chrome.com/docs/workbox)\n - [Puppeteer](https://developer.chrome.com/docs/puppeteer)\n\n\n\n\n\n\n - Experience\n - Design a beautiful and performant web with Chrome.\n - [AI](https://developer.chrome.com/docs/ai)\n - [Performance](https://developer.chrome.com/docs/performance)\n - [CSS and UI](https://developer.chrome.com/docs/css-ui)\n - [Identity](https://developer.chrome.com/docs/identity)\n - [Payments](https://developer.chrome.com/docs/payments)\n - [Privacy and security](https://developer.chrome.com/docs/privacy-security)\n\n\n\n\n\n\n - Resources\n - More from Chrome and Google.\n - [All documentation](https://developer.chrome.com/docs)\n - [Baseline open_in_new](https://web.dev/baseline)\n - [web.dev open_in_new](https://web.dev)\n - [PageSpeed Insights audit open_in_new](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n [Case studies](https://developer.chrome.com/case-studies) [Blog](https://developer.chrome.com/blog) [New in Chrome](https://developer.chrome.com/new)\n\n\n\n\n\n\n\n\n\n\n\n\n\n /\n\n\n\n\n\n\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어\n\n Sign in\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n - [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n\n - [Docs](/docs)\n - More\n\n\n - [Case studies](/case-studies)\n - [Blog](/blog)\n - [New in Chrome](/new)\n\n\n\n\n\n\n - Build with Chrome\n - [Web Platform](/docs/web-platform)\n - [Isolated Web Apps (IWA)](/docs/iwa)\n - [Capabilities](/docs/capabilities)\n - [Automation and testing](/docs/automation-and-testing)\n - [ChromeDriver](/docs/chromedriver)\n - [Extensions](/docs/extensions)\n - [Chrome Web Store](/docs/webstore)\n - [Chromium](/docs/chromium)\n - [Web on Android](/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](/release-notes)\n - Productivity\n - [DevTools](/docs/devtools)\n - [Lighthouse](/docs/lighthouse)\n - [Chrome UX Report](/docs/crux)\n - [Accessibility](/docs/accessibility)\n - [Modern Web Guidance](/docs/modern-web-guidance)\n - [Workbox](/docs/workbox)\n - [Puppeteer](/docs/puppeteer)\n - Experience\n - [AI](/docs/ai)\n - [Performance](/docs/performance)\n - [CSS and UI](/docs/css-ui)\n - [Identity](/docs/identity)\n - [Payments](/docs/payments)\n - [Privacy and security](/docs/privacy-security)\n - Resources\n - [All documentation](/docs)\n - [Baseline <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev/baseline)\n - [web.dev <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev)\n - [PageSpeed Insights audit <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n - [Chrome for Developers](https://developer.chrome.com/)\n -\n\n [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n# A developer toolkit to make your website agent-ready Stay organized with collections Save and categorize content based on your preferences.\n\n\n\n\n\n\n\n\n\n\n\n ![Kasper Kulikowski](https://web.dev/images/authors/kaskulikowski.jpg)\n\n Kasper Kulikowski\n\n [X](https://twitter.com/i_am_kaspa) [GitHub](https://github.com/Kulikowski) [LinkedIn](https://www.linkedin.com/in/kasper-kulikowski)\n\n\n\n\n\n\n\n ![Michael Hablich](https://web.dev/images/authors/hablich.jpg)\n\n Michael Hablich\n\n [GitHub](https://github.com/natorion) [LinkedIn](https://www.linkedin.com/in/michael-hablich) [Bluesky](https://bsky.app/profile/mhablich.bsky.social) [Homepage](https://hablich.dev/)\n\n\n\n\n\n\n\n\n\n\n\n Published: June 22, 2026\n\n\n\n\n\nAs AI agents evolve from only generating text to browsing, interacting, and completing complex tasks on your website, developers need dedicated tools to ensure a high-quality experience for these non-human users. The new Lighthouse Agentic browsing category, coupled with enhancements to Chrome DevTools, provides deterministic audits and a testing framework to help you build agent-ready websites.\n\n\n\nThe shift to the agentic web involves two major stages: agents *searching* the web and agents *using* the web.\n\n\n\nWhen agents are just searching for websites, the [principles for Search Engine Optimization (SEO) still apply](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide). In this blog post, we focus on the work that developers can do when an agent interacts directly with the website.\n\n\n\n## Audit, improve, and debug your agent-ready website\n\n\n\nFor an AI agent to reliably complete a flow on your site, such as booking an appointment or placing an order, it needs predictable, machine-readable signals. Here are the tools to help you assess and improve that readiness.\n\n\n\n### Audit your website agentic-readiness\n\n\n\nThe new [Agentic browsing category](/docs/lighthouse/agentic-browsing/scoring) in Lighthouse is available starting from M150 and provides developers with a set of deterministic audits to assess how agent-friendly their websites are, encouraging the adoption of new industry standards.\n\n\n -\n\n**What the audits check**: The audits focus on three key areas critical for machine interaction:\n\n\n - **Accessibility**: Accessibility is for humans first. Agents rely on the [accessibility tree](https://web.dev/learn/accessibility/aria-html#[REDACTED]), derived from DOM for assistive technology (AT), as their primary data model. The Agentic Browsing audit verifies a subset of categories from the [Accessibility audit](/docs/lighthouse/accessibility/scoring) that are critical for machine interaction. For example, both audits verify that every interactive element has a programmatic name. A well-formed accessibility tree is the primary way AI agents understand your page.\n - **Stability**: Measures visual stability using Cumulative Layout Shift (CLS) to ensure elements don't move unexpectedly, preventing agent misclicks.\n - **WebMCP integration**: Checks for the availability of registered WebMCP tools, forms missing declarative WebMCP, and schema validity. Adopting WebMCP helps agents explicitly expose your site's logic and forms, making interaction reliable.\n\n\n -\n\n**The score**: Unlike other Lighthouse categories, at the time of publication, Agentic Browsing is *informational and unbenchmarked*. The focus is on providing actionable signals (pass or fail status and warnings) rather than a definitive ranking.\n\n\n\n\nTo learn more about the specific audit checks and what you can do to improve, see the documentation for [Agent browsing audits for Lighthouse](/docs/lighthouse/agentic-browsing).\n\n\n\n### Make interactions between agent and website faster and more reliable\n\n\n\nWebMCP is a proposed standard that aims to expose structure tools to AI Agents on existing websites, accelerating and simplifying agent interactions. For more information about implementation, see [Read about WebMCP](/blog/webmcp-epp).\n\n\n\n### Implement latest features using your preferred coding agent\n\n\n\nModern Web Guidance provides a collection of best practices and skills to help developers build agent-ready websites. It includes the `webmcp` skill, which lets you delegate implementation of the WebMCP tools to your coding agent. By integrating Modern Web Guidance into your development workflow, you can ensure your application is built with modern, agent-friendly standards from the ground up. To learn more, see [Modern Web Guidance documentation](http://goo.gle/modern-web-guidance).\n\n\n\n### Test and debug your website with Chrome DevTools for agents\n\n\n\nFor deep debugging and iterative development, [Chrome DevTools for Agents](/docs/devtools/agents) offers a unique testing persona. It lets you transform your own AI-assisted IDE or coding agent into a browsing agent, giving you a high degree of control.\n\n\n\nWith DevTools for agents you can:\n\n\n - **Simulate agent interaction:** You can simulate the precise steps an agent would take, effectively \"becoming the user\" (or the agent) to reproduce failures and verify that your website's flows are deterministic.\n - **Direct Lighthouse invocation:** Your testing environment can directly invoke the `lighthouse_audit` tool on the active tab. This provides an instant, multi-category health check based on the page's current state, allowing you to verify fixes iteratively against the Agentic Browsing standards.\n - **Screencast and debug:** The tool offers detailed logging and screencast capabilities, so you can see exactly how the agent perceives and interacts with the page. This exposes some machine-readable signals, such as the accessibility tree, that may confuse the agent.\n\n\n\nThis helps you ensure a high-quality experience for non-human users before deployment.\n\n\n\nTo learn more about capabilities and configuration of Chrome DevTools for Agents, see our [GitHub repository](https://github.com/ChromeDevTools/chrome-devtools-mcp#[REDACTED]).\n\n **Note:** Make sure that in `chrome://inspect` Remote Debugging is enabled. If you want to trigger WebMCP tools from Chrome DevTools for Agents, make sure your browser, for example Chrome Canary, is running and has enabled the [Chrome flag](/docs/web-platform/chrome-flags) needed for WebMCP: `chrome://flags/#[REDACTED]`.\n\nThe following example configuration of Chrome DevTools for Agents (`~/.gemini/config/mcp_config.json` for AntigravityCLI or configured in Antigravity) connects to Chrome Canary.\n\n\n\n```\n{\n \"mcpServers\": {\n \"chrome-devtools\": {\n \"command\": \"npx\",\n \"args\": [\n \"-y\",\n \"chrome-devtools-mcp@latest\",\n \"--autoConnect\",\n \"--categoryExperimentalWebmcp\",\n \"--channel=canary\"\n ]\n }\n }\n}\n\n```\n\n**Tip:** Experimental features of Chrome DevTools for Agents like `--categoryExperimentalWebmcp` or `--experimentalScreencast` can behave in an unstable way. If you are using AntigravityCLI and notice unexpected behavior, restart the tool.\n\nUse the example query: *\"Using Chrome DevTools MCP, go to https://googlechromelabs.github.io/webmcp-tools/demos/pizza-maker/ and create me a pizza with 10 mushrooms and 2 bell peppers; make sure to give me a summary of what you did and what tools you called.\"*\n\n\n\n![](/static/blog/agent-ready-toolkit/img/agentic-browsing-pizza.png)\n\n\n\nYou can also use DevTools for Agents to perform agentic-readiness Lighthouse audit:\n\n\n\n\"*I want to do an agentic lighthouse audit on https://googlechromelabs.github.io/webmcp-tools/demos/french-bistro/ using Chrome DevTools MCP; give me a full summary.*\"\n\n\n\n![](/static/blog/agent-ready-toolkit/img/agentic-browsing-LH-audit.png)\n\n\n\n## What's next\n\n\n\nTo contribute and join the discussion, see [the official Lighthouse repository](https://github.com/GoogleChrome/lighthouse).\n\n\n\nFor more information about WebMCP, see [WebMCP documentation](/docs/ai/webmcp). For more information about Modern Web Guidance, see [Modern Web Guidance documentation](http://goo.gle/modern-web-guidance). For more information about optimizing your website for generative AI, see [Optimizing your website for generative AI features on Google Search](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide).\n\n\n\n\n\n\n\nExcept as otherwise noted, the content of this page is licensed under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). For details, see the [Google Developers Site Policies](https://developers.google.com/site-policies). Java is a registered trademark of Oracle and/or its affiliates.\n\n\n\nLast updated 2026-06-22 UTC.\n\n\n\n\n\n\n\n\n\n\n -\n\n### Contribute\n\n\n - [File a bug](https://issuetracker.google.com/issues/new?component=%5BREDACTED%5D&template=%5BREDACTED%5D)\n - [See open issues](https://issuetracker.google.com/issues?q=%5BREDACTED%5D&s=%5BREDACTED%5D)\n\n\n -\n\n### Related content\n\n\n - [Chromium updates](https://blog.chromium.org/)\n - [Case studies](/case-studies)\n - [Archive](/deprecated)\n - [Podcasts & shows](https://web.dev/shows)\n\n\n -\n\n### Follow\n\n\n - [@ChromiumDev on X](https://twitter.com/ChromiumDev)\n - [YouTube](https://www.youtube.com/user/ChromeDevelopers)\n - [Chrome for Developers on LinkedIn](https://www.linkedin.com/showcase/chrome-for-developers)\n - [RSS](/static/blog/feed.xml)\n\n\n\n\n\n\n\n\n\n\n - [Terms](//policies.google.com/terms)\n - [Privacy](//policies.google.com/privacy)\n - Manage cookies\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어", "content_length": 15092, "content_type": "text/html", "description": "Learn how to build agent-ready websites using the Lighthouse Agentic browsing category and Chrome DevTools for agents.", "status_code": 200, "success": true, "title": "A developer toolkit to make your website agent-ready &nbsp;|&nbsp; Blog &nbsp;|&nbsp; Chrome for Developers", "url": "https://developer.chrome.com/blog/agent-ready-toolkit" }
Sub-agent trace (toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E, 3 events)
tools_started web_fetch t=117302.487
Inner payload
{
  "tool_name": "web_fetch",
  "tool_input": {
    "brief": "Details of most recent Chrome blog post",
    "url": "https://developer.chrome.com/blog/agent-ready-toolkit"
  },
  "dispatch_id": "toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E",
  "parent_dispatch_id": "",
  "handle": "",
  "panel_kind": "web_fetch"
}
tools_progress web_fetch t=117302.488
Inner payload
{
  "tool_name": "web_fetch",
  "dispatch_id": "toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E",
  "status": "running",
  "result": null,
  "error": "",
  "elapsed": null,
  "fields": {
    "progress": {
      "message": "Details of most recent Chrome blog post",
      "metadata": {
        "browser_chain": false,
        "url": "https://developer.chrome.com/blog/agent-ready-toolkit"
      }
    },
    "status": "running",
    "updatedAt": 1789168685596
  }
}
tools_completed web_fetch t=117302.489
Inner payload
{
  "tool_name": "web_fetch",
  "dispatch_id": "toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E",
  "status": "completed",
  "result": {
    "content": "A developer toolkit to make your website agent-ready  |  Blog  |  Chrome for Developers        [Skip to main content](#main-content)\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n  [Docs](https://developer.chrome.com/docs)\n\n\n\n\n\n\n - Build with Chrome\n - Learn how Chrome works, participate in origin trials, and build with Chrome everywhere.\n -  [Web Platform](https://developer.chrome.com/docs/web-platform)\n -  [Isolated Web Apps (IWA)](https://developer.chrome.com/docs/iwa)\n -  [Capabilities](https://developer.chrome.com/docs/capabilities)\n -  [Automation and testing](https://developer.chrome.com/docs/automation-and-testing)\n -  [ChromeDriver](https://developer.chrome.com/docs/chromedriver)\n -  [Extensions](https://developer.chrome.com/docs/extensions)\n -  [Chrome Web Store](https://developer.chrome.com/docs/webstore)\n -  [Chromium](https://developer.chrome.com/docs/chromium)\n -  [Web on Android](https://developer.chrome.com/docs/android)\n -  [Origin trials](https://developer.chrome.com/origintrials/)\n -  [Release notes](https://developer.chrome.com/release-notes)\n\n\n\n\n\n\n - Productivity\n - Create the best experience for your users with the web's best tools.\n -  [DevTools](https://developer.chrome.com/docs/devtools)\n -  [Lighthouse](https://developer.chrome.com/docs/lighthouse)\n -  [Chrome UX Report](https://developer.chrome.com/docs/crux)\n -  [Accessibility](https://developer.chrome.com/docs/accessibility)\n -  [Modern Web Guidance](https://developer.chrome.com/docs/modern-web-guidance)\n\n\n - Get things done quicker and neater, with our ready-made libraries.\n -  [Workbox](https://developer.chrome.com/docs/workbox)\n -  [Puppeteer](https://developer.chrome.com/docs/puppeteer)\n\n\n\n\n\n\n - Experience\n - Design a beautiful and performant web with Chrome.\n -  [AI](https://developer.chrome.com/docs/ai)\n -  [Performance](https://developer.chrome.com/docs/performance)\n -  [CSS and UI](https://developer.chrome.com/docs/css-ui)\n -  [Identity](https://developer.chrome.com/docs/identity)\n -  [Payments](https://developer.chrome.com/docs/payments)\n -  [Privacy and security](https://developer.chrome.com/docs/privacy-security)\n\n\n\n\n\n\n - Resources\n - More from Chrome and Google.\n -  [All documentation](https://developer.chrome.com/docs)\n -  [Baseline open_in_new](https://web.dev/baseline)\n -  [web.dev open_in_new](https://web.dev)\n -  [PageSpeed Insights audit open_in_new](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n   [Case studies](https://developer.chrome.com/case-studies)   [Blog](https://developer.chrome.com/blog)   [New in Chrome](https://developer.chrome.com/new)\n\n\n\n\n\n\n\n\n\n\n\n\n\n /\n\n\n\n\n\n\n\n\n -  English\n -  Deutsch\n -  Español – América Latina\n -  Français\n -  Indonesia\n -  Italiano\n -  Nederlands\n -  Polski\n -  Português – Brasil\n -  Tiếng Việt\n -  Türkçe\n -  Русский\n -  עברית\n -  العربيّة\n -  فارسی\n -  हिंदी\n -  বাংলা\n -  ภาษาไทย\n -  中文 – 简体\n -  中文 – 繁體\n -  日本語\n -  한국어\n\n   Sign in\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n -  [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n\n -  [Docs](/docs)\n   -    More\n\n\n -  [Case studies](/case-studies)\n -  [Blog](/blog)\n -  [New in Chrome](/new)\n\n\n\n\n\n\n -    Build with Chrome\n -  [Web Platform](/docs/web-platform)\n -  [Isolated Web Apps (IWA)](/docs/iwa)\n -  [Capabilities](/docs/capabilities)\n -  [Automation and testing](/docs/automation-and-testing)\n -  [ChromeDriver](/docs/chromedriver)\n -  [Extensions](/docs/extensions)\n -  [Chrome Web Store](/docs/webstore)\n -  [Chromium](/docs/chromium)\n -  [Web on Android](/docs/android)\n -  [Origin trials](https://developer.chrome.com/origintrials/)\n -  [Release notes](/release-notes)\n -    Productivity\n -  [DevTools](/docs/devtools)\n -  [Lighthouse](/docs/lighthouse)\n -  [Chrome UX Report](/docs/crux)\n -  [Accessibility](/docs/accessibility)\n -  [Modern Web Guidance](/docs/modern-web-guidance)\n -  [Workbox](/docs/workbox)\n -  [Puppeteer](/docs/puppeteer)\n -    Experience\n -  [AI](/docs/ai)\n -  [Performance](/docs/performance)\n -  [CSS and UI](/docs/css-ui)\n -  [Identity](/docs/identity)\n -  [Payments](/docs/payments)\n -  [Privacy and security](/docs/privacy-security)\n -    Resources\n -  [All documentation](/docs)\n -  [Baseline <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev/baseline)\n -  [web.dev <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev)\n -  [PageSpeed Insights audit <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n -  [Chrome for Developers](https://developer.chrome.com/)\n -\n\n [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n#  A developer toolkit to make your website agent-ready   Stay organized with collections   Save and categorize content based on your preferences.\n\n\n\n\n\n\n\n\n\n\n\n ![Kasper Kulikowski](https://web.dev/images/authors/kaskulikowski.jpg)\n\n  Kasper Kulikowski\n\n [X](https://twitter.com/i_am_kaspa) [GitHub](https://github.com/Kulikowski) [LinkedIn](https://www.linkedin.com/in/kasper-kulikowski)\n\n\n\n\n\n\n\n ![Michael Hablich](https://web.dev/images/authors/hablich.jpg)\n\n  Michael Hablich\n\n [GitHub](https://github.com/natorion) [LinkedIn](https://www.linkedin.com/in/michael-hablich) [Bluesky](https://bsky.app/profile/mhablich.bsky.social) [Homepage](https://hablich.dev/)\n\n\n\n\n\n\n\n\n\n\n\n Published: June 22, 2026\n\n\n\n\n\nAs AI agents evolve from only generating text to browsing, interacting, and completing complex tasks on your website, developers need dedicated tools to ensure a high-quality experience for these non-human users. The new Lighthouse Agentic browsing category, coupled with enhancements to Chrome DevTools, provides deterministic audits and a testing framework to help you build agent-ready websites.\n\n\n\nThe shift to the agentic web involves two major stages: agents *searching* the web and agents *using* the web.\n\n\n\nWhen agents are just searching for websites, the [principles for Search Engine Optimization (SEO) still apply](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide). In this blog post, we focus on the work that developers can do when an agent interacts directly with the website.\n\n\n\n## Audit, improve, and debug your agent-ready website\n\n\n\nFor an AI agent to reliably complete a flow on your site, such as booking an appointment or placing an order, it needs predictable, machine-readable signals. Here are the tools to help you assess and improve that readiness.\n\n\n\n### Audit your website agentic-readiness\n\n\n\nThe new [Agentic browsing category](/docs/lighthouse/agentic-browsing/scoring) in Lighthouse is available starting from M150 and provides developers with a set of deterministic audits to assess how agent-friendly their websites are, encouraging the adoption of new industry standards.\n\n\n -\n\n**What the audits check**: The audits focus on three key areas critical for machine interaction:\n\n\n   - **Accessibility**: Accessibility is for humans first. Agents rely on the [accessibility tree](https://web.dev/learn/accessibility/aria-html#[REDACTED]), derived from DOM for assistive technology (AT), as their primary data model. The Agentic Browsing audit verifies a subset of categories from the [Accessibility audit](/docs/lighthouse/accessibility/scoring) that are critical for machine interaction. For example, both audits verify that every interactive element has a programmatic name. A well-formed accessibility tree is the primary way AI agents understand your page.\n   - **Stability**: Measures visual stability using Cumulative Layout Shift (CLS) to ensure elements don't move unexpectedly, preventing agent misclicks.\n   - **WebMCP integration**: Checks for the availability of registered WebMCP tools, forms missing declarative WebMCP, and schema validity. Adopting WebMCP helps agents explicitly expose your site's logic and forms, making interaction reliable.\n\n\n -\n\n**The score**: Unlike other Lighthouse categories, at the time of publication, Agentic Browsing is *informational and unbenchmarked*. The focus is on providing actionable signals (pass or fail status and warnings) rather than a definitive ranking.\n\n\n\n\nTo learn more about the specific audit checks and what you can do to improve, see the documentation for [Agent browsing audits for Lighthouse](/docs/lighthouse/agentic-browsing).\n\n\n\n### Make interactions between agent and website faster and more reliable\n\n\n\nWebMCP is a proposed standard that aims to expose structure tools to AI Agents on existing websites, accelerating and simplifying agent interactions. For more information about implementation, see [Read about WebMCP](/blog/webmcp-epp).\n\n\n\n### Implement latest features using your preferred coding agent\n\n\n\nModern Web Guidance provides a collection of best practices and skills to help developers build agent-ready websites. It includes the `webmcp` skill, which lets you delegate implementation of the WebMCP tools to your coding agent. By integrating Modern Web Guidance into your development workflow, you can ensure your application is built with modern, agent-friendly standards from the ground up. To learn more, see [Modern Web Guidance documentation](http://goo.gle/modern-web-guidance).\n\n\n\n### Test and debug your website with Chrome DevTools for agents\n\n\n\nFor deep debugging and iterative development, [Chrome DevTools for Agents](/docs/devtools/agents) offers a unique testing persona. It lets you transform your own AI-assisted IDE or coding agent into a browsing agent, giving you a high degree of control.\n\n\n\nWith DevTools for agents you can:\n\n\n - **Simulate agent interaction:** You can simulate the precise steps an agent would take, effectively \"becoming the user\" (or the agent) to reproduce failures and verify that your website's flows are deterministic.\n - **Direct Lighthouse invocation:** Your testing environment can directly invoke the `lighthouse_audit` tool on the active tab. This provides an instant, multi-category health check based on the page's current state, allowing you to verify fixes iteratively against the Agentic Browsing standards.\n - **Screencast and debug:** The tool offers detailed logging and screencast capabilities, so you can see exactly how the agent perceives and interacts with the page. This exposes some machine-readable signals, such as the accessibility tree, that may confuse the agent.\n\n\n\nThis helps you ensure a high-quality experience for non-human users before deployment.\n\n\n\nTo learn more about capabilities and configuration of Chrome DevTools for Agents, see our [GitHub repository](https://github.com/ChromeDevTools/chrome-devtools-mcp#[REDACTED]).\n\n **Note:** Make sure that in `chrome://inspect` Remote Debugging is enabled. If you want to trigger WebMCP tools from Chrome DevTools for Agents, make sure your browser, for example Chrome Canary, is running and has enabled the [Chrome flag](/docs/web-platform/chrome-flags) needed for WebMCP: `chrome://flags/#[REDACTED]`.\n\nThe following example configuration of Chrome DevTools for Agents (`~/.gemini/config/mcp_config.json` for AntigravityCLI or configured in Antigravity) connects to Chrome Canary.\n\n\n\n```\n{\n  \"mcpServers\": {\n    \"chrome-devtools\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"chrome-devtools-mcp@latest\",\n        \"--autoConnect\",\n        \"--categoryExperimentalWebmcp\",\n        \"--channel=canary\"\n      ]\n    }\n  }\n}\n\n```\n\n**Tip:** Experimental features of Chrome DevTools for Agents like `--categoryExperimentalWebmcp` or `--experimentalScreencast` can behave in an unstable way. If you are using AntigravityCLI and notice unexpected behavior, restart the tool.\n\nUse the example query: *\"Using Chrome DevTools MCP, go to https://googlechromelabs.github.io/webmcp-tools/demos/pizza-maker/ and create me a pizza with 10 mushrooms and 2 bell peppers; make sure to give me a summary of what you did and what tools you called.\"*\n\n\n\n![](/static/blog/agent-ready-toolkit/img/agentic-browsing-pizza.png)\n\n\n\nYou can also use DevTools for Agents to perform agentic-readiness Lighthouse audit:\n\n\n\n\"*I want to do an agentic lighthouse audit on https://googlechromelabs.github.io/webmcp-tools/demos/french-bistro/ using Chrome DevTools MCP; give me a full summary.*\"\n\n\n\n![](/static/blog/agent-ready-toolkit/img/agentic-browsing-LH-audit.png)\n\n\n\n## What's next\n\n\n\nTo contribute and join the discussion, see [the official Lighthouse repository](https://github.com/GoogleChrome/lighthouse).\n\n\n\nFor more information about WebMCP, see [WebMCP documentation](/docs/ai/webmcp). For more information about Modern Web Guidance, see [Modern Web Guidance documentation](http://goo.gle/modern-web-guidance). For more information about optimizing your website for generative AI, see [Optimizing your website for generative AI features on Google Search](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide).\n\n\n\n\n\n\n\nExcept as otherwise noted, the content of this page is licensed under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). For details, see the [Google Developers Site Policies](https://developers.google.com/site-policies). Java is a registered trademark of Oracle and/or its affiliates.\n\n\n\nLast updated 2026-06-22 UTC.\n\n\n\n\n\n\n\n\n\n\n -\n\n### Contribute\n\n\n   -  [File a bug](https://issuetracker.google.com/issues/new?component=%5BREDACTED%5D&template=%5BREDACTED%5D)\n   -  [See open issues](https://issuetracker.google.com/issues?q=%5BREDACTED%5D&s=%5BREDACTED%5D)\n\n\n -\n\n### Related content\n\n\n   -  [Chromium updates](https://blog.chromium.org/)\n   -  [Case studies](/case-studies)\n   -  [Archive](/deprecated)\n   -  [Podcasts & shows](https://web.dev/shows)\n\n\n -\n\n### Follow\n\n\n   -  [@ChromiumDev on X](https://twitter.com/ChromiumDev)\n   -  [YouTube](https://www.youtube.com/user/ChromeDevelopers)\n   -  [Chrome for Developers on LinkedIn](https://www.linkedin.com/showcase/chrome-for-developers)\n   -  [RSS](/static/blog/feed.xml)\n\n\n\n\n\n\n\n\n\n\n -  [Terms](//policies.google.com/terms)\n -  [Privacy](//policies.google.com/privacy)\n -  Manage cookies\n\n\n -  English\n -  Deutsch\n -  Español – América Latina\n -  Français\n -  Indonesia\n -  Italiano\n -  Nederlands\n -  Polski\n -  Português – Brasil\n -  Tiếng Việt\n -  Türkçe\n -  Русский\n -  עברית\n -  العربيّة\n -  فارسی\n -  हिंदी\n -  বাংলা\n -  ภาษาไทย\n -  中文 – 简体\n -  中文 – 繁體\n -  日本語\n -  한국어",
    "content_length": 15092,
    "content_type": "text/html",
    "description": "Learn how to build agent-ready websites using the Lighthouse Agentic browsing category and Chrome DevTools for agents.",
    "status_code": 200,
    "success": true,
    "title": "A developer toolkit to make your website agent-ready &nbsp;|&nbsp; Blog &nbsp;|&nbsp; Chrome for Developers",
    "url": "https://developer.chrome.com/blog/agent-ready-toolkit"
  },
  "error": "",
  "elapsed": 0.772293806
}
send_message no resultdispatch toolu_bdrk_017nw168g1sok2CUyWGgPwgX
Input
{ "final": true, "in_response_to": "7a02551d", "message": "Nothing was published in the past 14 days (Aug 28 - Sep 11, 2026). The blog's feed stops at June 22, 2026, so here's the most recent batch instead:\n\n| Post | Date | Developer-facing takeaway |\n|---|---|---|\n| [A developer toolkit to make your website agent-ready](https://developer.chrome.com/blog/agent-ready-toolkit) | Jun 22 | New Lighthouse \"Agentic browsing\" category in M150 (accessibility tree, CLS stability, WebMCP checks), informational score only; DevTools for agents can invoke `lighthouse_audit` and screencast what an agent sees. |\n| [Third-party developer tools for Chrome DevTools for agents](https://developer.chrome.com/blog/devtools-for-agents-3p-tools) | Jun 18 | Frameworks and apps can expose their own runtime context to AI coding assistants. |\n| [What's New in WebGPU (Chrome 149-150)](https://developer.chrome.com/blog/new-in-webgpu-149-150) | Jun 17 | WebGPU immediates (`setImmediateData()`, no buffers or bind groups for per-draw data) plus stricter transient-attachment validation. |\n| [Join the WebMCP origin trial](https://developer.chrome.com/blog/ai-webmcp-origin-trial) | Jun 9 | Origin trial for declaring structured tools so agents complete tasks on your site accurately. |\n| [Chrome 150 beta](https://developer.chrome.com/blog/chrome-150-beta) | Jun 3 | CSS `text-fit`, `flex-wrap: balance`, animatable `zoom`, `url()` request modifiers, `light-dark()` with images, the `focusgroup` attribute, media pseudo-classes like `:playing`; IndexedDB rewritten on SQLite; `data:` URL workers get an opaque origin; scroll methods return promises; Email Verification Protocol origin trial. |\n| [Seamless PWA origin migration](https://developer.chrome.com/blog/seamless-pwa-origin-migration) | Jun 3 | From Chrome 150 an installed PWA can move to a new same-site origin without a reinstall, blocked for force-installed apps. |\n| [What's new in DevTools (Chrome 149)](https://developer.chrome.com/blog/new-in-devtools-149) | Jun 2 | DevTools for agents is stable, AI assistance gains Lighthouse and widgets, new WebMCP debugging. |\n| [New in Chrome 149](https://developer.chrome.com/blog/new-in-chrome-149) | Jun 2 | CSS gap decorations, WebSocket disconnect for bfcache eligibility, `Intl.Locale` variants. |\n\nBig themes: agentic web tooling (WebMCP, Lighthouse, DevTools for agents), a heavy CSS layout and typography batch, and storage/security plumbing changes." }
Sub-agent trace (toolu_bdrk_017nw168g1sok2CUyWGgPwgX, 1 events)
tools_started send_message t=117302.490
Inner payload
{
  "tool_name": "send_message",
  "tool_input": {
    "final": true,
    "in_response_to": "7a02551d",
    "message": "Nothing was published in the past 14 days (Aug 28 - Sep 11, 2026). The blog's feed stops at June 22, 2026, so here's the most recent batch instead:\n\n| Post | Date | Developer-facing takeaway |\n|---|---|---|\n| [A developer toolkit to make your website agent-ready](https://developer.chrome.com/blog/agent-ready-toolkit) | Jun 22 | New Lighthouse \"Agentic browsing\" category in M150 (accessibility tree, CLS stability, WebMCP checks), informational score only; DevTools for agents can invoke `lighthouse_audit` and screencast what an agent sees. |\n| [Third-party developer tools for Chrome DevTools for agents](https://developer.chrome.com/blog/devtools-for-agents-3p-tools) | Jun 18 | Frameworks and apps can expose their own runtime context to AI coding assistants. |\n| [What's New in WebGPU (Chrome 149-150)](https://developer.chrome.com/blog/new-in-webgpu-149-150) | Jun 17 | WebGPU immediates (`setImmediateData()`, no buffers or bind groups for per-draw data) plus stricter transient-attachment validation. |\n| [Join the WebMCP origin trial](https://developer.chrome.com/blog/ai-webmcp-origin-trial) | Jun 9 | Origin trial for declaring structured tools so agents complete tasks on your site accurately. |\n| [Chrome 150 beta](https://developer.chrome.com/blog/chrome-150-beta) | Jun 3 | CSS `text-fit`, `flex-wrap: balance`, animatable `zoom`, `url()` request modifiers, `light-dark()` with images, the `focusgroup` attribute, media pseudo-classes like `:playing`; IndexedDB rewritten on SQLite; `data:` URL workers get an opaque origin; scroll methods return promises; Email Verification Protocol origin trial. |\n| [Seamless PWA origin migration](https://developer.chrome.com/blog/seamless-pwa-origin-migration) | Jun 3 | From Chrome 150 an installed PWA can move to a new same-site origin without a reinstall, blocked for force-installed apps. |\n| [What's new in DevTools (Chrome 149)](https://developer.chrome.com/blog/new-in-devtools-149) | Jun 2 | DevTools for agents is stable, AI assistance gains Lighthouse and widgets, new WebMCP debugging. |\n| [New in Chrome 149](https://developer.chrome.com/blog/new-in-chrome-149) | Jun 2 | CSS gap decorations, WebSocket disconnect for bfcache eligibility, `Intl.Locale` variants. |\n\nBig themes: agentic web tooling (WebMCP, Lighthouse, DevTools for agents), a heavy CSS layout and typography batch, and storage/security plumbing changes."
  },
  "dispatch_id": "toolu_bdrk_017nw168g1sok2CUyWGgPwgX",
  "parent_dispatch_id": "",
  "handle": "",
  "panel_kind": ""
}
Turn 1: Assistant 1 Message ID: 504af996-f663-471f-8cf9-9fc3ab3bd6db
Nothing in the past 14 days. The blog's feed stops at June 22, 2026, so here's that batch instead.
Turn 1: Assistant 2 Message ID: 7427b259-0969-40c3-b3b1-f687ab6ec269

Chrome releases and platform updates · Jun 2–22, 2026

PostDateDeveloper-facing takeaway
A developer toolkit to make your website agent-readyJun 22New Lighthouse "Agentic browsing" category in M150 (accessibility tree, CLS stability, WebMCP checks), informational score only; DevTools for agents can invoke lighthouse_audit and screencast what an agent sees.
Third-party developer tools for Chrome DevTools for agentsJun 18Frameworks and apps can expose their own runtime context to AI coding assistants.
What's New in WebGPU (Chrome 149-150)Jun 17WebGPU immediates (setImmediateData(), no buffers or bind groups for per-draw data) plus stricter transient-attachment validation.
Join the WebMCP origin trialJun 9Origin trial for declaring structured tools so agents complete tasks on your site accurately.
Chrome 150 betaJun 3CSS text-fit, flex-wrap: balance, animatable zoom, url() request modifiers, light-dark() with images, the focusgroup attribute, media pseudo-classes like :playing; IndexedDB rewritten on SQLite; data: URL workers get an opaque origin; scroll methods return promises; Email Verification Protocol origin trial.
Seamless PWA origin migrationJun 3From Chrome 150 an installed PWA can move to a new same-site origin without a reinstall, blocked for force-installed apps.
What's new in DevTools (Chrome 149)Jun 2DevTools for agents is stable, AI assistance gains Lighthouse and widgets, new WebMCP debugging.
New in Chrome 149Jun 2CSS gap decorations, WebSocket disconnect for bfcache eligibility, Intl.Locale variants.
Markdown source
### Chrome releases and platform updates · Jun 2–22, 2026

| Post | Date | Developer-facing takeaway |
|---|---|---|
| A developer toolkit to make your website agent-ready | Jun 22 | New Lighthouse "Agentic browsing" category in M150 (accessibility tree, CLS stability, WebMCP checks), informational score only; DevTools for agents can invoke `lighthouse_audit` and screencast what an agent sees. |
| Third-party developer tools for Chrome DevTools for agents | Jun 18 | Frameworks and apps can expose their own runtime context to AI coding assistants. |
| What's New in WebGPU (Chrome 149-150) | Jun 17 | WebGPU immediates (`setImmediateData()`, no buffers or bind groups for per-draw data) plus stricter transient-attachment validation. |
| Join the WebMCP origin trial | Jun 9 | Origin trial for declaring structured tools so agents complete tasks on your site accurately. |
| Chrome 150 beta | Jun 3 | CSS `text-fit`, `flex-wrap: balance`, animatable `zoom`, `url()` request modifiers, `light-dark()` with images, the `focusgroup` attribute, media pseudo-classes like `:playing`; IndexedDB rewritten on SQLite; `data:` URL workers get an opaque origin; scroll methods return promises; Email Verification Protocol origin trial. |
| Seamless PWA origin migration | Jun 3 | From Chrome 150 an installed PWA can move to a new same-site origin without a reinstall, blocked for force-installed apps. |
| What's new in DevTools (Chrome 149) | Jun 2 | DevTools for agents is stable, AI assistance gains Lighthouse and widgets, new WebMCP debugging. |
| New in Chrome 149 | Jun 2 | CSS gap decorations, WebSocket disconnect for bfcache eligibility, `Intl.Locale` variants. |
Turn 1: Assistant 3 Message ID: 1d61f376-ad51-4cf3-bccc-84f2df2d729c
https://developer.chrome.com/blog/agent-ready-toolkit https://developer.chrome.com/blog/devtools-for-agents-3p-tools https://developer.chrome.com/blog/new-in-webgpu-149-150 https://developer.chrome.com/blog/ai-webmcp-origin-trial https://developer.chrome.com/blog/chrome-150-beta https://developer.chrome.com/blog/seamless-pwa-origin-migration https://developer.chrome.com/blog/new-in-devtools-149 https://developer.chrome.com/blog/new-in-chrome-149
Turn 1: Assistant 4 Message ID: 473919f6-9970-4491-a04c-2b041fe467ee
The big story is agentic tooling: WebMCP, Lighthouse, and DevTools for agents all stabilizing or expanding. Heavy CSS layout and typography batch in 149–150.
Evidence for turn 1: E0001 (user message)E0002 (tool call)E0003 (tool progress)E0004 (tool result)E0005 (tool call)E0006 (tool progress)E0007 (tool result)E0008 (tool call)E0009 (tool progress)E0010 (tool result)E0011 (tool call)E0012 (tool progress)E0013 (tool result)E0014 (tool call)E0015 (assistant message)E0016 (assistant message)E0017 (assistant message)E0018 (assistant message)

Normalized evidence

The redacted, numbered record a structured judge grades. Check rows above link to the IDs they cite.
E0001 · turn 1 · user message
Use the web_fetch tool to answer the prompt. What Chrome releases or platform updates were published on https://developer.chrome.com/blog/ in the past 14 days? Summarize the most important developer-facing changes.
E0002 · turn 1 · tool call · web_fetch · dispatch toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk
{"dispatch_id": "toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk", "handle": "", "panel_kind": "web_fetch", "parent_dispatch_id": "", "tool_input": {"brief": "Recent Chrome developer blog posts in past 14 days", "max_age_seconds": 3600, "url": "https://developer.chrome.com/blog/"}, "tool_name": "web_fetch"}
E0003 · turn 1 · tool progress · web_fetch · dispatch toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk
{"dispatch_id": "toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk", "elapsed": null, "error": "", "fields": {"progress": {"message": "Recent Chrome developer blog posts in past 14 days", "metadata": {"browser_chain": false, "url": "https://developer.chrome.com/blog/"}}, "status": "running", "updatedAt": 1789168675035}, "result": null, "status": "running", "tool_name": "web_fetch"}
E0004 · turn 1 · tool result · web_fetch · dispatch toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk
{"dispatch_id": "toolu_bdrk_012S3rTaW9EAekN3kyCmzDfk", "elapsed": 0.338266709, "error": "", "result": {"content": "Blog  |  Chrome for Developers [Skip to main content](#main-content)\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n [Docs](https://developer.chrome.com/docs)\n\n\n\n\n\n\n - Build with Chrome\n - Learn how Chrome works, participate in origin trials, and build with Chrome everywhere.\n - [Web Platform](https://developer.chrome.com/docs/web-platform)\n - [Isolated Web Apps (IWA)](https://developer.chrome.com/docs/iwa)\n - [Capabilities](https://developer.chrome.com/docs/capabilities)\n - [Automation and testing](https://developer.chrome.com/docs/automation-and-testing)\n - [ChromeDriver](https://developer.chrome.com/docs/chromedriver)\n - [Extensions](https://developer.chrome.com/docs/extensions)\n - [Chrome Web Store](https://developer.chrome.com/docs/webstore)\n - [Chromium](https://developer.chrome.com/docs/chromium)\n - [Web on Android](https://developer.chrome.com/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](https://developer.chrome.com/release-notes)\n\n\n\n\n\n\n - Productivity\n - Create the best experience for your users with the web's best tools.\n - [DevTools](https://developer.chrome.com/docs/devtools)\n - [Lighthouse](https://developer.chrome.com/docs/lighthouse)\n - [Chrome UX Report](https://developer.chrome.com/docs/crux)\n - [Accessibility](https://developer.chrome.com/docs/accessibility)\n - [Modern Web Guidance](https://developer.chrome.com/docs/modern-web-guidance)\n\n\n - Get things done quicker and neater, with our ready-made libraries.\n - [Workbox](https://developer.chrome.com/docs/workbox)\n - [Puppeteer](https://developer.chrome.com/docs/puppeteer)\n\n\n\n\n\n\n - Experience\n - Design a beautiful and performant web with Chrome.\n - [AI](https://developer.chrome.com/docs/ai)\n - [Performance](https://developer.chrome.com/docs/performance)\n - [CSS and UI](https://developer.chrome.com/docs/css-ui)\n - [Identity](https://developer.chrome.com/docs/identity)\n - [Payments](https://developer.chrome.com/docs/payments)\n - [Privacy and security](https://developer.chrome.com/docs/privacy-security)\n\n\n\n\n\n\n - Resources\n - More from Chrome and Google.\n - [All documentation](https://developer.chrome.com/docs)\n - [Baseline open_in_new](https://web.dev/baseline)\n - [web.dev open_in_new](https://web.dev)\n - [PageSpeed Insights audit open_in_new](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n [Case studies](https://developer.chrome.com/case-studies) [Blog](https://developer.chrome.com/blog) [New in Chrome](https://developer.chrome.com/new)\n\n\n\n\n\n\n\n\n\n\n\n\n\n /\n\n\n\n\n\n\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어\n\n Sign in\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n\n - [Docs](/docs)\n - More\n\n\n - [Case studies](/case-studies)\n - [Blog](/blog)\n - [New in Chrome](/new)\n\n\n\n\n\n\n - Build with Chrome\n - [Web Platform](/docs/web-platform)\n - [Isolated Web Apps (IWA)](/docs/iwa)\n - [Capabilities](/docs/capabilities)\n - [Automation and testing](/docs/automation-and-testing)\n - [ChromeDriver](/docs/chromedriver)\n - [Extensions](/docs/extensions)\n - [Chrome Web Store](/docs/webstore)\n - [Chromium](/docs/chromium)\n - [Web on Android](/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](/release-notes)\n - Productivity\n - [DevTools](/docs/devtools)\n - [Lighthouse](/docs/lighthouse)\n - [Chrome UX Report](/docs/crux)\n - [Accessibility](/docs/accessibility)\n - [Modern Web Guidance](/docs/modern-web-guidance)\n - [Workbox](/docs/workbox)\n - [Puppeteer](/docs/puppeteer)\n - Experience\n - [AI](/docs/ai)\n - [Performance](/docs/performance)\n - [CSS and UI](/docs/css-ui)\n - [Identity](/docs/identity)\n - [Payments](/docs/payments)\n - [Privacy and security](/docs/privacy-security)\n - Resources\n - [All documentation](/docs)\n - [Baseline <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev/baseline)\n - [web.dev <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev)\n - [PageSpeed Insights audit <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n - [Chrome for Developers](https://developer.chrome.com/)\n -\n\n [Blog](https://developer.chrome.com/blog)\n\n\n\n Stay organized with collections Save and categorize content based on your preferences.\n\n\n\n\n\n\n\n\n\n\n\n## Blog\n\n\n\n Our latest news, updates, and stories for developers\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n -\n\n### Contribute\n\n\n - [File a bug](https://issuetracker.google.com/issues/new?component=%5BREDACTED%5D&template=%5BREDACTED%5D)\n - [See open issues](https://issuetracker.google.com/issues?q=%5BREDACTED%5D&s=%5BREDACTED%5D)\n\n\n -\n\n### Related content\n\n\n - [Chromium updates](https://blog.chromium.org/)\n - [Case studies](/case-studies)\n - [Archive](/deprecated)\n - [Podcasts & shows](https://web.dev/shows)\n\n\n -\n\n### Follow\n\n\n - [@ChromiumDev on X](https://twitter.com/ChromiumDev)\n - [YouTube](https://www.youtube.com/user/ChromeDevelopers)\n - [Chrome for Developers on LinkedIn](https://www.linkedin.com/showcase/chrome-for-developers)\n - [RSS](/static/blog/feed.xml)\n\n\n\n\n\n\n\n\n\n\n - [Terms](//policies.google.com/terms)\n - [Privacy](//policies.google.com/privacy)\n - Manage cookies\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어", "content_length": 6449, "content_type": "text/html", "description": "Latest news from the Chrome Developer Relations team", "status_code": 200, "success": true, "title": "Blog &nbsp;|&nbsp; Chrome for Developers", "url": "https://developer.chrome.com/blog/"}, "status": "completed", "tool_name": "web_fetch"}
E0005 · turn 1 · tool call · web_fetch · dispatch toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP
{"dispatch_id": "toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP", "handle": "", "panel_kind": "web_fetch", "parent_dispatch_id": "", "tool_input": {"brief": "Chrome dev blog RSS feed for recent posts", "max_age_seconds": 3600, "url": "https://developer.chrome.com/static/blog/feed.xml"}, "tool_name": "web_fetch"}
E0006 · turn 1 · tool progress · web_fetch · dispatch toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP
{"dispatch_id": "toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP", "elapsed": null, "error": "", "fields": {"progress": {"message": "Chrome dev blog RSS feed for recent posts", "metadata": {"browser_chain": false, "url": "https://developer.chrome.com/static/blog/feed.xml"}}, "status": "running", "updatedAt": 1789168678672}, "result": null, "status": "running", "tool_name": "web_fetch"}
E0007 · turn 1 · tool result · web_fetch · dispatch toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP
{"dispatch_id": "toolu_bdrk_01UGtKGXsXaDReFTjCkGrdfP", "elapsed": 0.174835426, "error": "", "result": {"content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<rss version=\"2.0\">\n <channel>\n <title>developer.chrome.com: Blog</title>\n <link>https://developer.chrome.com/blog/</link>\n <description>All of developer.chrome.com articles.</description>\n <lastBuildDate>Tue, 23 Jun 2026 20:50:37 GMT</lastBuildDate>\n <docs>https://validator.w3.org/feed/docs/rss2.html</docs>\n <generator>developer.chrome.com</generator>\n <language>en-US</language>\n <item>\n <title><![CDATA[A developer toolkit to make your website agent-ready]]></title>\n <link>https://developer.chrome.com/blog/agent-ready-toolkit?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/agent-ready-toolkit?hl=%5BREDACTED%5D</guid>\n <pubDate>Mon, 22 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Learn how to build agent-ready websites using the Lighthouse Agentic browsing category and Chrome DevTools for agents.]]></description>\n </item>\n <item>\n <title><![CDATA[Unlock runtime insights: Introducing third-party developer tools for Chrome DevTools for agents]]></title>\n <link>https://developer.chrome.com/blog/devtools-for-agents-3p-tools?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/devtools-for-agents-3p-tools?hl=%5BREDACTED%5D</guid>\n <pubDate>Thu, 18 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Chrome DevTools for agents introduces third-party developer tools, which lets frameworks and applications share rich, runtime context with AI coding assistants.]]></description>\n </item>\n <item>\n <title><![CDATA[What's New in WebGPU (Chrome 149-150)]]></title>\n <link>https://developer.chrome.com/blog/new-in-webgpu-149-150?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/new-in-webgpu-149-150?hl=%5BREDACTED%5D</guid>\n <pubDate>Wed, 17 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Immediates and stricter validation for transient attachments.]]></description>\n </item>\n <item>\n <title><![CDATA[Join the WebMCP origin trial]]></title>\n <link>https://developer.chrome.com/blog/ai-webmcp-origin-trial?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/ai-webmcp-origin-trial?hl=%5BREDACTED%5D</guid>\n <pubDate>Tue, 09 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Build structured tools for your website, so agents can complete tasks accurately.]]></description>\n </item>\n <item>\n <title><![CDATA[Seamless PWA origin migration: Change domains without losing users]]></title>\n <link>https://developer.chrome.com/blog/seamless-pwa-origin-migration?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/seamless-pwa-origin-migration?hl=%5BREDACTED%5D</guid>\n <pubDate>Wed, 03 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[From Chrome 150 you can seamlessly transition a PWA to a new same-site origin.]]></description>\n </item>\n <item>\n <title><![CDATA[Chrome 150 beta]]></title>\n <link>https://developer.chrome.com/blog/chrome-150-beta?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/chrome-150-beta?hl=%5BREDACTED%5D</guid>\n <pubDate>Wed, 03 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Get a preview of the next Chrome release with this post detailing the features in the current beta.]]></description>\n </item>\n <item>\n <title><![CDATA[What's new in DevTools (Chrome 149)]]></title>\n <link>https://developer.chrome.com/blog/new-in-devtools-149?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/new-in-devtools-149?hl=%5BREDACTED%5D</guid>\n <pubDate>Tue, 02 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[DevTools for agents is stable, AI assistance gets major upgrade with Lighthouse and widgets, new WebMCP debugging tools.]]></description>\n </item>\n <item>\n <title><![CDATA[New in Chrome 149]]></title>\n <link>https://developer.chrome.com/blog/new-in-chrome-149?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/new-in-chrome-149?hl=%5BREDACTED%5D</guid>\n <pubDate>Tue, 02 Jun 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[CSS gap decorations, disconnecting WebSockets for bfcache, and Intl.Locale variants.]]></description>\n </item>\n <item>\n <title><![CDATA[Build new features using built-in AI in Chrome]]></title>\n <link>https://developer.chrome.com/blog/build-new-features-using-built-in-ai-in-chrome-io2026?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/build-new-features-using-built-in-ai-in-chrome-io2026?hl=%5BREDACTED%5D</guid>\n <pubDate>Tue, 26 May 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Learn more about the talk given at Google I/O 2026 by Thomas Steiner.]]></description>\n </item>\n <item>\n <title><![CDATA[What's new in web extensions: I/O 2026 recap]]></title>\n <link>https://developer.chrome.com/blog/extensions-io-2026?hl=%5BREDACTED%5D</link>\n <guid>https://developer.chrome.com/blog/extensions-io-2026?hl=%5BREDACTED%5D</guid>\n <pubDate>Fri, 22 May 2026 07:00:00 GMT</pubDate>\n <description><![CDATA[Another Google I/O is behind us and we have covered all the exciting extensions updates!]]></description>\n </item>\n </channel>\n</rss>", "content_length": 5536, "content_type": "text/xml", "description": "", "status_code": 200, "success": true, "title": "", "url": "https://developer.chrome.com/static/blog/feed.xml"}, "status": "completed", "tool_name": "web_fetch"}
E0008 · turn 1 · tool call · web_fetch · dispatch toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR
{"dispatch_id": "toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR", "handle": "", "panel_kind": "web_fetch", "parent_dispatch_id": "", "tool_input": {"brief": "Chrome 150 beta developer-facing changes", "url": "https://developer.chrome.com/blog/chrome-150-beta"}, "tool_name": "web_fetch"}
E0009 · turn 1 · tool progress · web_fetch · dispatch toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR
{"dispatch_id": "toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR", "elapsed": null, "error": "", "fields": {"progress": {"message": "Chrome 150 beta developer-facing changes", "metadata": {"browser_chain": false, "url": "https://developer.chrome.com/blog/chrome-150-beta"}}, "status": "running", "updatedAt": 1789168685591}, "result": null, "status": "running", "tool_name": "web_fetch"}
E0010 · turn 1 · tool result · web_fetch · dispatch toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR
{"dispatch_id": "toolu_bdrk_01VKb3RpL9YG1sBWXwG6aKdR", "elapsed": 0.326017838, "error": "", "result": {"content": "Chrome 150 beta  |  Blog  |  Chrome for Developers [Skip to main content](#main-content)\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n [Docs](https://developer.chrome.com/docs)\n\n\n\n\n\n\n - Build with Chrome\n - Learn how Chrome works, participate in origin trials, and build with Chrome everywhere.\n - [Web Platform](https://developer.chrome.com/docs/web-platform)\n - [Isolated Web Apps (IWA)](https://developer.chrome.com/docs/iwa)\n - [Capabilities](https://developer.chrome.com/docs/capabilities)\n - [Automation and testing](https://developer.chrome.com/docs/automation-and-testing)\n - [ChromeDriver](https://developer.chrome.com/docs/chromedriver)\n - [Extensions](https://developer.chrome.com/docs/extensions)\n - [Chrome Web Store](https://developer.chrome.com/docs/webstore)\n - [Chromium](https://developer.chrome.com/docs/chromium)\n - [Web on Android](https://developer.chrome.com/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](https://developer.chrome.com/release-notes)\n\n\n\n\n\n\n - Productivity\n - Create the best experience for your users with the web's best tools.\n - [DevTools](https://developer.chrome.com/docs/devtools)\n - [Lighthouse](https://developer.chrome.com/docs/lighthouse)\n - [Chrome UX Report](https://developer.chrome.com/docs/crux)\n - [Accessibility](https://developer.chrome.com/docs/accessibility)\n - [Modern Web Guidance](https://developer.chrome.com/docs/modern-web-guidance)\n\n\n - Get things done quicker and neater, with our ready-made libraries.\n - [Workbox](https://developer.chrome.com/docs/workbox)\n - [Puppeteer](https://developer.chrome.com/docs/puppeteer)\n\n\n\n\n\n\n - Experience\n - Design a beautiful and performant web with Chrome.\n - [AI](https://developer.chrome.com/docs/ai)\n - [Performance](https://developer.chrome.com/docs/performance)\n - [CSS and UI](https://developer.chrome.com/docs/css-ui)\n - [Identity](https://developer.chrome.com/docs/identity)\n - [Payments](https://developer.chrome.com/docs/payments)\n - [Privacy and security](https://developer.chrome.com/docs/privacy-security)\n\n\n\n\n\n\n - Resources\n - More from Chrome and Google.\n - [All documentation](https://developer.chrome.com/docs)\n - [Baseline open_in_new](https://web.dev/baseline)\n - [web.dev open_in_new](https://web.dev)\n - [PageSpeed Insights audit open_in_new](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n [Case studies](https://developer.chrome.com/case-studies) [Blog](https://developer.chrome.com/blog) [New in Chrome](https://developer.chrome.com/new)\n\n\n\n\n\n\n\n\n\n\n\n\n\n /\n\n\n\n\n\n\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어\n\n Sign in\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n - [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n\n - [Docs](/docs)\n - More\n\n\n - [Case studies](/case-studies)\n - [Blog](/blog)\n - [New in Chrome](/new)\n\n\n\n\n\n\n - Build with Chrome\n - [Web Platform](/docs/web-platform)\n - [Isolated Web Apps (IWA)](/docs/iwa)\n - [Capabilities](/docs/capabilities)\n - [Automation and testing](/docs/automation-and-testing)\n - [ChromeDriver](/docs/chromedriver)\n - [Extensions](/docs/extensions)\n - [Chrome Web Store](/docs/webstore)\n - [Chromium](/docs/chromium)\n - [Web on Android](/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](/release-notes)\n - Productivity\n - [DevTools](/docs/devtools)\n - [Lighthouse](/docs/lighthouse)\n - [Chrome UX Report](/docs/crux)\n - [Accessibility](/docs/accessibility)\n - [Modern Web Guidance](/docs/modern-web-guidance)\n - [Workbox](/docs/workbox)\n - [Puppeteer](/docs/puppeteer)\n - Experience\n - [AI](/docs/ai)\n - [Performance](/docs/performance)\n - [CSS and UI](/docs/css-ui)\n - [Identity](/docs/identity)\n - [Payments](/docs/payments)\n - [Privacy and security](/docs/privacy-security)\n - Resources\n - [All documentation](/docs)\n - [Baseline <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev/baseline)\n - [web.dev <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev)\n - [PageSpeed Insights audit <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n - [Chrome for Developers](https://developer.chrome.com/)\n -\n\n [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n# Chrome 150 beta Stay organized with collections Save and categorize content based on your preferences.\n\n\n\n\n\n\n\n\n\n\n\n ![Rachel Andrew](https://web.dev/images/authors/rachelandrew.jpg)\n\n Rachel Andrew\n\n [GitHub](https://github.com/rachelandrew) [LinkedIn](https://www.linkedin.com/in/rachelandrew) [Mastodon](https://front-end.social/@rachelandrew) [Bluesky](https://bsky.app/profile/rachelandrew.bsky.social) [Homepage](https://rachelandrew.co.uk)\n\n\n\n\n\n\n\n\n\n\n\n Published: June 3, 2026\n\n\n\n\n\nUnless otherwise noted, the following changes apply to the newest Chrome beta channel release for Android, ChromeOS, Linux, macOS, and Windows. Learn more about the features listed here through the provided links or from the list on ChromeStatus.com. Chrome is beta as of June 2, 2026. You can download the latest on [Google.com](https://www.google.com/chrome/beta/) for desktop or on Google Play Store on Android.\n\n\n\n## CSS and UI\n\n\n\n### `AccentColor` and `AccentColorText` system colors\n\n\n\nThe `AccentColor` and `AccentColorText` system colors can be used in CSS to access the system accent color specified on the user's device. This capability lets developers apply app-like styling to their web content in contexts where users expect operating system theme integration, such as an installed web application. Users must be in an installed web application on the initial profile to see the system accent color rendered.\n\n\n\n### Allow optional rounding parameter for `polygon()`\n\n\n\nLets you specify an optional corner-rounding parameter in the `polygon()` CSS shape function. Developers can specify a length value to round polygon corners without manually computing bezier curves.\n\n\n\n### Animatable zoom\n\n\n\nThe CSS `zoom` property is animatable and interpolates as a `<number>`. Developers can transition and animate zoom to smoothly scale elements and their layout, complementing existing transform-based scaling.\n\n\n\n### CSS URL request modifiers\n\n\n\nCSS `url()` functions accept optional request modifiers after the quoted URL string: `cross-origin()`, `integrity()`, and `referrer-policy()`. These modifiers control the fetch behavior of the referenced resource directly from CSS, without requiring changes to HTML markup or JavaScript.\n\n\n\nFor example, `background-image: url(\"image.png\" cross-origin(anonymous))` fetches the image using CORS anonymous mode.\n\n\n\n### CSS `text-fit` property\n\n\n\nScales the font size of text nodes to perfectly fit the width of their containing box.\n\n\n\nThis property lets developers ensure headlines or dynamic content fill the available horizontal space without manual font-size calculations or complex JavaScript workarounds. This property provides a robust, CSS-native solution for responsive typography that maintains visual alignment across different screen sizes and varying text lengths.\n\n\n\n### CSS `background-clip: border-area`\n\n\n\nImplements the `border-area` value for the CSS `background-clip` property, as defined in CSS Backgrounds Level 4. The `background-clip` value clips an element's background to the area painted by its border strokes, taking `border-width` and `border-style` into account while ignoring transparency from `border-color`. This value lets you create gradient borders without border-image.\n\n\n\n### CSS `image(<color>)` function\n\n\n\nThe `image()` function lets developers generate a solid-color image from any color. The syntax is: `image() = image( <color> )`.\n\n\n\n### CSS `light-dark()` with image values\n\n\n\nExtends the CSS `light-dark()` function to accept image values, such as `url()`, `image-set()`, and `none`, in author stylesheets, letting image properties like `background-image`, `list-style-image`, `border-image-source`, `cursor`, and `content` automatically switch between images based on the user's preferred color scheme. Previously, this behavior was only allowed in User Agent stylesheets. This change aligns with the CSS Color 5 specification and matches Firefox's existing implementation.\n\n\n\n### Clone into all descendant `selectedcontent` elements\n\n\n\nSeveral small changes are being made to edge cases of the `selectedcontent` element:\n\n\n - When multiple `selectedcontent` elements are put in a `<select>` element at the same time, all of them are kept up to date instead of only the first one in DOM order.\n - Updating the `selectedcontent` element is deferred when it runs during insertion, removal, or moving steps to fix security issues. The update is deferred by using post-insertion steps or microtasks.\n\n\n\n### Comma-separated container queries\n\n\n\nSupports multiple queries per `@container` rule. The `@container` rule applies if at least one of the queries matches.\n\n\n\nThis capability makes it possible to have fallback queries for features that are not supported in all browsers, for example.\n\n\n\nExample:\n\n\n\n```\n@container --name1 not-supported(--foo: bar), --name2 (width > 600px) {}\n\n```\n\n\n\nAlong with the support for multiple queries, the object model is extended to support the `conditions` attribute on the `CSSContainerRule` API.\n\n\n\n### Expose unprintable areas to CSS\n\n\n\nPrinters usually have a small area at each of the four edges of a sheet of paper that they are not capable of marking reliably, usually due to the printer's paper handling mechanism. The default page margins are expected to be bigger than these areas, but if authors set margins on their own, and even want to add `@page` margin boxes, for example, for custom headers and footers, they need a way to determine where it's safe to print.\n\n\n\nThe CSS descriptor `page-margin-safety` can be used to steer clear of such unprintable areas.\n\n\n\n### The `focusgroup` attribute\n\n\n\nLets authors declaratively give composite widgets arrow key navigation, a guaranteed tab stop, and last-focused memory, replacing hand-coded roving tabindex scripts. Example:\n\n\n\n```\n<div focusgroup=\"toolbar wrap\" aria-label=\"Formatting\">\n <button>Bold</button>\n <button>Italic</button>\n <button>Underline</button>\n</div>\n\n```\n\n\n\n### Media element pseudo-classes\n\n\n\nThe `:playing`, `:paused`, `:seeking`, `:buffering`, `:stalled`, `:muted`, and `:volume-locked` CSS pseudo-classes match `<audio>` and `<video>` elements based on their state.\n\n\n\nThis feature is one of the focus areas in [Interop 2026](https://wpt.fyi/interop-2026).\n\n\n\n### `popover=hint` behavior changes\n\n\n\nThis change implements a revised and simplified stacking model for the `popover=hint` attribute and its interactions with `popover=auto`. Previously, the interactions between these two types of popovers could be complex in some corner case situations, such as nesting `popover=auto` inside `popover=hint`, and could lead to unexpected behavior. Under the new model, opening a `popover=hint` no longer inadvertently closes unrelated `popover=auto` elements. Hint popovers are only hidden when their ancestral `popover=auto` is hidden, or when a new, unrelated `popover=auto` is opened. Additionally, developers can safely nest an auto popover inside a hint popover; instead of throwing an exception or breaking the stack, the nested `popover=auto` gracefully downgrades and behaves as a `popover=hint`. This capability lets developers place a customizable `<select>` within a `popover=hint`.\n\n\n\nTo further improve predictability and prevent complex state mutations, Chrome is also tightening the behavior around opening and closing popovers from within the `beforetoggle` event. There were guards in place for some, but not all, of the possible cases before. This change revamps the mechanism used to detect these cases to more reliably throw `InvalidStateError`s for all such cases. This change ensures that popover state management remains stable and prevents looping reentrancy bugs.\n\n\n\nThese changes were motivated by standards conversations with Mozilla on the [HTML specification pull request on GitHub](https://github.com/whatwg/html/pull/12345).\n\n\n\n### Relative alpha colors\n\n\n\nRelative alpha colors provide a direct CSS way to derive a translucent version of an existing color without rewriting its color channels. Developers currently need to duplicate component values or create separate precomputed tokens when they want the same color with different opacity. The CSS Color 5 `alpha()` function preserves the original color components and only changes alpha, which reduces authoring overhead and makes color tokens easier to reuse and maintain.\n\n\n\n### `flex-wrap:balance`\n\n\n\n`flex-wrap:balance` lets developers distribute content between flex-lines so that it appears more balanced, similar to `text-wrap:balance`.\n\n\n\n### `named-feature()` function for CSS `@supports`\n\n\n\nThe `named-feature()` function lets CSS `@supports` rules query for a small set of specific named features that are not possible to test for using other `@supports` mechanisms but that are considered highly valuable to test for.\n\n\n\n### `overscroll-behavior: chain`\n\n\n\n`overscroll-behavior` has three values: `none`, `auto`, and `contain`. These values affect two independent effects: scroll propagation and local border effect. For example overscroll stretch.\n\n\n - `none`: no scroll propagation, no local boundary effects.\n - `auto`: scroll propagation, local boundary effects.\n - `contain`: no scroll propagation, local boundary effects.\n\n\n\nThis release tracks a new value to complete the set: `chain`: scroll propagation, no local boundary effects.\n\n\n\nThis value is useful for effects like side menus implemented as scrollers. You can bring the menu in, and when it hits the edge, it doesn't overscroll, or stretch and translate. However, the scroll then chains to the ancestor.\n\n\n\n## Web APIs\n\n\n\n### Disable SVG filters on plugins and cross-origin or restricted iframes\n\n\n\nChrome 150 prevents Scalable Vector Graphics (SVG) filters from being applied to cross-origin or restricted iFrames, for example, sandboxed ones, and embedded plugins, for example, PDFs. When a frame or plugin is painted with an SVG filter effect, the effect tree is traversed to find the highest ancestor without SVG filters, and that effect is applied instead.\n\n\n\n### IndexedDB: SQLite backend\n\n\n\nChromium's `IndexedDB` implementation is rewritten on top of `SQLite` to replace the previous implementation that uses a hybrid of `LevelDB` and flat files. This change doesn't affect the Web API.\n\n\n\nThis rewrite is expected to improve reliability and, to a lesser extent, performance.\n\n\n\nFor now, this change applies to *new data stores*. This change is step 2 of a multi-phase progressive release. See the [ChromeStatus feature page for SQLite in-memory contexts](https://chromestatus.com/feature/5126896685809664) which tracks step 1.\n\n\n\n### `MediaStreamTrackProcessor` frame counters\n\n\n\nAdds `discardedFrames` and `totalFrames` attributes to the `MediaStreamTrackProcessor` interface. These counters let web developers monitor the health of their media processing pipelines by tracking the number of frames received and dropped by the processor.\n\n\n\n### Opaque origin for `data:` URLs\n\n\n\nChrome 150 updates how `DedicatedWorker` and `SharedWorker` handle [`data:` URLs](https://datatracker.ietf.org/doc/html/rfc2397). Rather than automatically inheriting the security origin of the script or page that created them, these workers are assigned a unique opaque origin.\n\n\n\nThis change aligns with the worker [HTML specification](https://www.w3.org/TR/2021/NOTE-workers-20210128/#[REDACTED]) and enhances security by isolating these workers from the creator's same-origin state, preventing them from accessing sensitive data through mechanisms like `BroadcastChannel` or same-origin storage. To maintain correct isolation boundaries, these workers still reside within the same storage partition (for example, by preserving the top-level site or nonce) as their creator.\n\n\n\nThis security adjustment is enabled by default across desktop and mobile platforms. Administrators can review or verify security boundaries through their centralized configurations. For technical implementation details and specification references, see Step 3 of the [HTML Living Standard Worker Settings](https://html.spec.whatwg.org/multipage/workers.html#[REDACTED]).\n\n\n\n### PWA origin migration\n\n\n\nWhen a user installs a Progressive Web App (PWA), its identity and security context are tightly bound to its web origin, for example, `app.example.com`. This binding presents a significant challenge for developers who need to change their PWA's origin due to rebranding, domain restructuring, or technical re-architecture. Such a change forces users to manually uninstall the old app and reinstall the new one, leading to a disruptive experience and potential user loss. Chrome 150 introduces a mechanism for developers to [migrate an installed PWA](/blog/seamless-pwa-origin-migration) to a new, same-site origin, preserving user trust and permissions.\n\n\n\nThe [WebAppInstallForceList](https://chromeenterprise.google/policies/#[REDACTED]) policy blocks migration. Since enterprise policies around web applications are primarily based on URLs and origins, there is a risk that a migration might bypass certain policies an admin might have configured. Chrome doesn't offer a migration to the user when an app is force-installed by their enterprise administrator, and instead displays a banner that explains this to the user.\n\n\n\n### Parse processing instructions in HTML\n\n\n\nProcessing instructions (syntax: `<?target data>`) are an existing DOM construct, exposed in XML, that allow node objects that are not elements but can have some semantic meaning for the processing of a document.\n\n\n\nFor example, you can use them to denote ranges for streaming or highlighting without requiring new DOM elements and changing the DOM structure as far as CSS is concerned, or as directives for the HTML parser about how to buffer and stream.\n\n\n\n### Out-of-order streaming\n\n\n\n[Out-of-order streaming](/blog/declarative-partial-updates#out-of-order_streaming) lets you use `<template for>` and processing instruction ranges (`<?start>` and `<?end>`) to deliver HTML in non-sequential order and update existing parts of the document without JavaScript.\n\n\n\n### Programmatic scroll promises\n\n\n\nThis capability provides a reliable signal for the completion status of a programmatic smooth-scroll. All scroll methods in `Element` and `Window` return Promise objects that get resolved on scroll completion, and the resolved value indicates whether the scroll was interrupted.\n\n\n\n### WebGPU Immediates\n\n\n\nAdds a new immediate address space in WGSL and a `setImmediateData()` method on render pass, compute pass, and render bundle encoders that allows passing small amounts of frequently-updated data directly to shaders without creating GPU buffer objects or bind groups. This is particularly useful for applications that need to update per-draw parameters such as object indexes, material indexes, or transformation matrixes every draw call, enabling significant performance improvements by avoiding buffer and bind group management overhead.\n\n\n\n### Web Speech API: On-device recognition quality\n\n\n\nExtends the `SpeechRecognition` interface by adding a `quality` property to `SpeechRecognitionOptions`. This property lets developers specify the semantic capability required for on-device recognition by using `processLocally: true`.\n\n\n\nThe proposed `quality` enum supports three levels—`command`, `dictation`, and `conversation`—mapping to increasing task complexity and hardware requirements. This capability lets developers determine if the local device can handle high-stakes use cases (like meeting transcription) or if they need to fall back to cloud services, solving the opaque nature of on-device model capabilities.\n\n\n\n## New origin trials\n\n\n\nIn Chrome 150 you can opt into the following new [origin trials](/docs/web-platform/origin-trials).\n\n\n\n### Email Verification Protocol (`EVP`)\n\n\n\nThe Email Verification Protocol (`EVP`) helps users create, access, and recover accounts by providing cryptographic proof of ownership seamlessly rather than email OTPs manually.\n\n\n\n## Deprecations and removals\n\n\n\nThis release of Chrome introduces the following deprecations and removals.\n\n\n\n### Remove `[LegacyNoInterfaceObject]` from `FontFaceSet` IDL\n\n\n\nChromium's FontFaceSet IDL previously incorrectly used `[LegacyNoInterfaceObject]`, which hid `FontFaceSet` as a global property and deleted the constructor property from its prototype. This behavior deviated from the CSS Font Loading spec and differed from Safari and Firefox behavior.\n\n\n\nThis removal removes `[LegacyNoInterfaceObject]` from the `FontFaceSet` IDL, making `FontFaceSet` properly accessible as a global property. Since no `constructor()` is defined in the IDL, calling new `FontFaceSet()` from JavaScript correctly throws `TypeError: Illegal constructor`, matching spec-mandated behavior.\n\n\n\n\n\n\n\nExcept as otherwise noted, the content of this page is licensed under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). For details, see the [Google Developers Site Policies](https://developers.google.com/site-policies). Java is a registered trademark of Oracle and/or its affiliates.\n\n\n\nLast updated 2026-06-03 UTC.\n\n\n\n\n\n\n\n\n\n\n -\n\n### Contribute\n\n\n - [File a bug](https://issuetracker.google.com/issues/new?component=%5BREDACTED%5D&template=%5BREDACTED%5D)\n - [See open issues](https://issuetracker.google.com/issues?q=%5BREDACTED%5D&s=%5BREDACTED%5D)\n\n\n -\n\n### Related content\n\n\n - [Chromium updates](https://blog.chromium.org/)\n - [Case studies](/case-studies)\n - [Archive](/deprecated)\n - [Podcasts & shows](https://web.dev/shows)\n\n\n -\n\n### Follow\n\n\n - [@ChromiumDev on X](https://twitter.com/ChromiumDev)\n - [YouTube](https://www.youtube.com/user/ChromeDevelopers)\n - [Chrome for Developers on LinkedIn](https://www.linkedin.com/showcase/chrome-for-developers)\n - [RSS](/static/blog/feed.xml)\n\n\n\n\n\n\n\n\n\n\n - [Terms](//policies.google.com/terms)\n - [Privacy](//policies.google.com/privacy)\n - Manage cookies\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어", "content_length": 23610, "content_type": "text/html", "description": "Get a preview of the next Chrome release with this post detailing the features in the current beta.", "status_code": 200, "success": true, "title": "Chrome 150 beta &nbsp;|&nbsp; Blog &nbsp;|&nbsp; Chrome for Developers", "url": "https://developer.chrome.com/blog/chrome-150-beta"}, "status": "completed", "tool_name": "web_fetch"}
E0011 · turn 1 · tool call · web_fetch · dispatch toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E
{"dispatch_id": "toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E", "handle": "", "panel_kind": "web_fetch", "parent_dispatch_id": "", "tool_input": {"brief": "Details of most recent Chrome blog post", "url": "https://developer.chrome.com/blog/agent-ready-toolkit"}, "tool_name": "web_fetch"}
E0012 · turn 1 · tool progress · web_fetch · dispatch toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E
{"dispatch_id": "toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E", "elapsed": null, "error": "", "fields": {"progress": {"message": "Details of most recent Chrome blog post", "metadata": {"browser_chain": false, "url": "https://developer.chrome.com/blog/agent-ready-toolkit"}}, "status": "running", "updatedAt": 1789168685596}, "result": null, "status": "running", "tool_name": "web_fetch"}
E0013 · turn 1 · tool result · web_fetch · dispatch toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E
{"dispatch_id": "toolu_bdrk_01WWLdTy4heEFZzc2JicPf8E", "elapsed": 0.772293806, "error": "", "result": {"content": "A developer toolkit to make your website agent-ready  |  Blog  |  Chrome for Developers [Skip to main content](#main-content)\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n [Docs](https://developer.chrome.com/docs)\n\n\n\n\n\n\n - Build with Chrome\n - Learn how Chrome works, participate in origin trials, and build with Chrome everywhere.\n - [Web Platform](https://developer.chrome.com/docs/web-platform)\n - [Isolated Web Apps (IWA)](https://developer.chrome.com/docs/iwa)\n - [Capabilities](https://developer.chrome.com/docs/capabilities)\n - [Automation and testing](https://developer.chrome.com/docs/automation-and-testing)\n - [ChromeDriver](https://developer.chrome.com/docs/chromedriver)\n - [Extensions](https://developer.chrome.com/docs/extensions)\n - [Chrome Web Store](https://developer.chrome.com/docs/webstore)\n - [Chromium](https://developer.chrome.com/docs/chromium)\n - [Web on Android](https://developer.chrome.com/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](https://developer.chrome.com/release-notes)\n\n\n\n\n\n\n - Productivity\n - Create the best experience for your users with the web's best tools.\n - [DevTools](https://developer.chrome.com/docs/devtools)\n - [Lighthouse](https://developer.chrome.com/docs/lighthouse)\n - [Chrome UX Report](https://developer.chrome.com/docs/crux)\n - [Accessibility](https://developer.chrome.com/docs/accessibility)\n - [Modern Web Guidance](https://developer.chrome.com/docs/modern-web-guidance)\n\n\n - Get things done quicker and neater, with our ready-made libraries.\n - [Workbox](https://developer.chrome.com/docs/workbox)\n - [Puppeteer](https://developer.chrome.com/docs/puppeteer)\n\n\n\n\n\n\n - Experience\n - Design a beautiful and performant web with Chrome.\n - [AI](https://developer.chrome.com/docs/ai)\n - [Performance](https://developer.chrome.com/docs/performance)\n - [CSS and UI](https://developer.chrome.com/docs/css-ui)\n - [Identity](https://developer.chrome.com/docs/identity)\n - [Payments](https://developer.chrome.com/docs/payments)\n - [Privacy and security](https://developer.chrome.com/docs/privacy-security)\n\n\n\n\n\n\n - Resources\n - More from Chrome and Google.\n - [All documentation](https://developer.chrome.com/docs)\n - [Baseline open_in_new](https://web.dev/baseline)\n - [web.dev open_in_new](https://web.dev)\n - [PageSpeed Insights audit open_in_new](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n [Case studies](https://developer.chrome.com/case-studies) [Blog](https://developer.chrome.com/blog) [New in Chrome](https://developer.chrome.com/new)\n\n\n\n\n\n\n\n\n\n\n\n\n\n /\n\n\n\n\n\n\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어\n\n Sign in\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n - [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [![Chrome for Developers](https://www.gstatic.com/devrel-devsite/prod/veec7311b6c5f99ef32994eb65aab7022195f72bfa4f3d934bdc7556da7fa7c3b/chrome/images/lockup.svg)](/)\n\n\n\n\n\n\n\n\n - [Docs](/docs)\n - More\n\n\n - [Case studies](/case-studies)\n - [Blog](/blog)\n - [New in Chrome](/new)\n\n\n\n\n\n\n - Build with Chrome\n - [Web Platform](/docs/web-platform)\n - [Isolated Web Apps (IWA)](/docs/iwa)\n - [Capabilities](/docs/capabilities)\n - [Automation and testing](/docs/automation-and-testing)\n - [ChromeDriver](/docs/chromedriver)\n - [Extensions](/docs/extensions)\n - [Chrome Web Store](/docs/webstore)\n - [Chromium](/docs/chromium)\n - [Web on Android](/docs/android)\n - [Origin trials](https://developer.chrome.com/origintrials/)\n - [Release notes](/release-notes)\n - Productivity\n - [DevTools](/docs/devtools)\n - [Lighthouse](/docs/lighthouse)\n - [Chrome UX Report](/docs/crux)\n - [Accessibility](/docs/accessibility)\n - [Modern Web Guidance](/docs/modern-web-guidance)\n - [Workbox](/docs/workbox)\n - [Puppeteer](/docs/puppeteer)\n - Experience\n - [AI](/docs/ai)\n - [Performance](/docs/performance)\n - [CSS and UI](/docs/css-ui)\n - [Identity](/docs/identity)\n - [Payments](/docs/payments)\n - [Privacy and security](/docs/privacy-security)\n - Resources\n - [All documentation](/docs)\n - [Baseline <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev/baseline)\n - [web.dev <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://web.dev)\n - [PageSpeed Insights audit <span class=\"material-icons\" style=\"font-size: 12px;\" aria-hidden=\"true\" translate=\"no\">open_in_new</span>](https://pagespeed.web.dev)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n - [Chrome for Developers](https://developer.chrome.com/)\n -\n\n [Blog](https://developer.chrome.com/blog)\n\n\n\n\n\n# A developer toolkit to make your website agent-ready Stay organized with collections Save and categorize content based on your preferences.\n\n\n\n\n\n\n\n\n\n\n\n ![Kasper Kulikowski](https://web.dev/images/authors/kaskulikowski.jpg)\n\n Kasper Kulikowski\n\n [X](https://twitter.com/i_am_kaspa) [GitHub](https://github.com/Kulikowski) [LinkedIn](https://www.linkedin.com/in/kasper-kulikowski)\n\n\n\n\n\n\n\n ![Michael Hablich](https://web.dev/images/authors/hablich.jpg)\n\n Michael Hablich\n\n [GitHub](https://github.com/natorion) [LinkedIn](https://www.linkedin.com/in/michael-hablich) [Bluesky](https://bsky.app/profile/mhablich.bsky.social) [Homepage](https://hablich.dev/)\n\n\n\n\n\n\n\n\n\n\n\n Published: June 22, 2026\n\n\n\n\n\nAs AI agents evolve from only generating text to browsing, interacting, and completing complex tasks on your website, developers need dedicated tools to ensure a high-quality experience for these non-human users. The new Lighthouse Agentic browsing category, coupled with enhancements to Chrome DevTools, provides deterministic audits and a testing framework to help you build agent-ready websites.\n\n\n\nThe shift to the agentic web involves two major stages: agents *searching* the web and agents *using* the web.\n\n\n\nWhen agents are just searching for websites, the [principles for Search Engine Optimization (SEO) still apply](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide). In this blog post, we focus on the work that developers can do when an agent interacts directly with the website.\n\n\n\n## Audit, improve, and debug your agent-ready website\n\n\n\nFor an AI agent to reliably complete a flow on your site, such as booking an appointment or placing an order, it needs predictable, machine-readable signals. Here are the tools to help you assess and improve that readiness.\n\n\n\n### Audit your website agentic-readiness\n\n\n\nThe new [Agentic browsing category](/docs/lighthouse/agentic-browsing/scoring) in Lighthouse is available starting from M150 and provides developers with a set of deterministic audits to assess how agent-friendly their websites are, encouraging the adoption of new industry standards.\n\n\n -\n\n**What the audits check**: The audits focus on three key areas critical for machine interaction:\n\n\n - **Accessibility**: Accessibility is for humans first. Agents rely on the [accessibility tree](https://web.dev/learn/accessibility/aria-html#[REDACTED]), derived from DOM for assistive technology (AT), as their primary data model. The Agentic Browsing audit verifies a subset of categories from the [Accessibility audit](/docs/lighthouse/accessibility/scoring) that are critical for machine interaction. For example, both audits verify that every interactive element has a programmatic name. A well-formed accessibility tree is the primary way AI agents understand your page.\n - **Stability**: Measures visual stability using Cumulative Layout Shift (CLS) to ensure elements don't move unexpectedly, preventing agent misclicks.\n - **WebMCP integration**: Checks for the availability of registered WebMCP tools, forms missing declarative WebMCP, and schema validity. Adopting WebMCP helps agents explicitly expose your site's logic and forms, making interaction reliable.\n\n\n -\n\n**The score**: Unlike other Lighthouse categories, at the time of publication, Agentic Browsing is *informational and unbenchmarked*. The focus is on providing actionable signals (pass or fail status and warnings) rather than a definitive ranking.\n\n\n\n\nTo learn more about the specific audit checks and what you can do to improve, see the documentation for [Agent browsing audits for Lighthouse](/docs/lighthouse/agentic-browsing).\n\n\n\n### Make interactions between agent and website faster and more reliable\n\n\n\nWebMCP is a proposed standard that aims to expose structure tools to AI Agents on existing websites, accelerating and simplifying agent interactions. For more information about implementation, see [Read about WebMCP](/blog/webmcp-epp).\n\n\n\n### Implement latest features using your preferred coding agent\n\n\n\nModern Web Guidance provides a collection of best practices and skills to help developers build agent-ready websites. It includes the `webmcp` skill, which lets you delegate implementation of the WebMCP tools to your coding agent. By integrating Modern Web Guidance into your development workflow, you can ensure your application is built with modern, agent-friendly standards from the ground up. To learn more, see [Modern Web Guidance documentation](http://goo.gle/modern-web-guidance).\n\n\n\n### Test and debug your website with Chrome DevTools for agents\n\n\n\nFor deep debugging and iterative development, [Chrome DevTools for Agents](/docs/devtools/agents) offers a unique testing persona. It lets you transform your own AI-assisted IDE or coding agent into a browsing agent, giving you a high degree of control.\n\n\n\nWith DevTools for agents you can:\n\n\n - **Simulate agent interaction:** You can simulate the precise steps an agent would take, effectively \"becoming the user\" (or the agent) to reproduce failures and verify that your website's flows are deterministic.\n - **Direct Lighthouse invocation:** Your testing environment can directly invoke the `lighthouse_audit` tool on the active tab. This provides an instant, multi-category health check based on the page's current state, allowing you to verify fixes iteratively against the Agentic Browsing standards.\n - **Screencast and debug:** The tool offers detailed logging and screencast capabilities, so you can see exactly how the agent perceives and interacts with the page. This exposes some machine-readable signals, such as the accessibility tree, that may confuse the agent.\n\n\n\nThis helps you ensure a high-quality experience for non-human users before deployment.\n\n\n\nTo learn more about capabilities and configuration of Chrome DevTools for Agents, see our [GitHub repository](https://github.com/ChromeDevTools/chrome-devtools-mcp#[REDACTED]).\n\n **Note:** Make sure that in `chrome://inspect` Remote Debugging is enabled. If you want to trigger WebMCP tools from Chrome DevTools for Agents, make sure your browser, for example Chrome Canary, is running and has enabled the [Chrome flag](/docs/web-platform/chrome-flags) needed for WebMCP: `chrome://flags/#[REDACTED]`.\n\nThe following example configuration of Chrome DevTools for Agents (`~/.gemini/config/mcp_config.json` for AntigravityCLI or configured in Antigravity) connects to Chrome Canary.\n\n\n\n```\n{\n \"mcpServers\": {\n \"chrome-devtools\": {\n \"command\": \"npx\",\n \"args\": [\n \"-y\",\n \"chrome-devtools-mcp@latest\",\n \"--autoConnect\",\n \"--categoryExperimentalWebmcp\",\n \"--channel=canary\"\n ]\n }\n }\n}\n\n```\n\n**Tip:** Experimental features of Chrome DevTools for Agents like `--categoryExperimentalWebmcp` or `--experimentalScreencast` can behave in an unstable way. If you are using AntigravityCLI and notice unexpected behavior, restart the tool.\n\nUse the example query: *\"Using Chrome DevTools MCP, go to https://googlechromelabs.github.io/webmcp-tools/demos/pizza-maker/ and create me a pizza with 10 mushrooms and 2 bell peppers; make sure to give me a summary of what you did and what tools you called.\"*\n\n\n\n![](/static/blog/agent-ready-toolkit/img/agentic-browsing-pizza.png)\n\n\n\nYou can also use DevTools for Agents to perform agentic-readiness Lighthouse audit:\n\n\n\n\"*I want to do an agentic lighthouse audit on https://googlechromelabs.github.io/webmcp-tools/demos/french-bistro/ using Chrome DevTools MCP; give me a full summary.*\"\n\n\n\n![](/static/blog/agent-ready-toolkit/img/agentic-browsing-LH-audit.png)\n\n\n\n## What's next\n\n\n\nTo contribute and join the discussion, see [the official Lighthouse repository](https://github.com/GoogleChrome/lighthouse).\n\n\n\nFor more information about WebMCP, see [WebMCP documentation](/docs/ai/webmcp). For more information about Modern Web Guidance, see [Modern Web Guidance documentation](http://goo.gle/modern-web-guidance). For more information about optimizing your website for generative AI, see [Optimizing your website for generative AI features on Google Search](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide).\n\n\n\n\n\n\n\nExcept as otherwise noted, the content of this page is licensed under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). For details, see the [Google Developers Site Policies](https://developers.google.com/site-policies). Java is a registered trademark of Oracle and/or its affiliates.\n\n\n\nLast updated 2026-06-22 UTC.\n\n\n\n\n\n\n\n\n\n\n -\n\n### Contribute\n\n\n - [File a bug](https://issuetracker.google.com/issues/new?component=%5BREDACTED%5D&template=%5BREDACTED%5D)\n - [See open issues](https://issuetracker.google.com/issues?q=%5BREDACTED%5D&s=%5BREDACTED%5D)\n\n\n -\n\n### Related content\n\n\n - [Chromium updates](https://blog.chromium.org/)\n - [Case studies](/case-studies)\n - [Archive](/deprecated)\n - [Podcasts & shows](https://web.dev/shows)\n\n\n -\n\n### Follow\n\n\n - [@ChromiumDev on X](https://twitter.com/ChromiumDev)\n - [YouTube](https://www.youtube.com/user/ChromeDevelopers)\n - [Chrome for Developers on LinkedIn](https://www.linkedin.com/showcase/chrome-for-developers)\n - [RSS](/static/blog/feed.xml)\n\n\n\n\n\n\n\n\n\n\n - [Terms](//policies.google.com/terms)\n - [Privacy](//policies.google.com/privacy)\n - Manage cookies\n\n\n - English\n - Deutsch\n - Español – América Latina\n - Français\n - Indonesia\n - Italiano\n - Nederlands\n - Polski\n - Português – Brasil\n - Tiếng Việt\n - Türkçe\n - Русский\n - עברית\n - العربيّة\n - فارسی\n - हिंदी\n - বাংলা\n - ภาษาไทย\n - 中文 – 简体\n - 中文 – 繁體\n - 日本語\n - 한국어", "content_length": 15092, "content_type": "text/html", "description": "Learn how to build agent-ready websites using the Lighthouse Agentic browsing category and Chrome DevTools for agents.", "status_code": 200, "success": true, "title": "A developer toolkit to make your website agent-ready &nbsp;|&nbsp; Blog &nbsp;|&nbsp; Chrome for Developers", "url": "https://developer.chrome.com/blog/agent-ready-toolkit"}, "status": "completed", "tool_name": "web_fetch"}
E0014 · turn 1 · tool call · send_message · dispatch toolu_bdrk_017nw168g1sok2CUyWGgPwgX
{"dispatch_id": "toolu_bdrk_017nw168g1sok2CUyWGgPwgX", "handle": "", "panel_kind": "", "parent_dispatch_id": "", "tool_input": {"final": true, "in_response_to": "7a02551d", "message": "Nothing was published in the past 14 days (Aug 28 - Sep 11, 2026). The blog's feed stops at June 22, 2026, so here's the most recent batch instead:\n\n| Post | Date | Developer-facing takeaway |\n|---|---|---|\n| [A developer toolkit to make your website agent-ready](https://developer.chrome.com/blog/agent-ready-toolkit) | Jun 22 | New Lighthouse \"Agentic browsing\" category in M150 (accessibility tree, CLS stability, WebMCP checks), informational score only; DevTools for agents can invoke `lighthouse_audit` and screencast what an agent sees. |\n| [Third-party developer tools for Chrome DevTools for agents](https://developer.chrome.com/blog/devtools-for-agents-3p-tools) | Jun 18 | Frameworks and apps can expose their own runtime context to AI coding assistants. |\n| [What's New in WebGPU (Chrome 149-150)](https://developer.chrome.com/blog/new-in-webgpu-149-150) | Jun 17 | WebGPU immediates (`setImmediateData()`, no buffers or bind groups for per-draw data) plus stricter transient-attachment validation. |\n| [Join the WebMCP origin trial](https://developer.chrome.com/blog/ai-webmcp-origin-trial) | Jun 9 | Origin trial for declaring structured tools so agents complete tasks on your site accurately. |\n| [Chrome 150 beta](https://developer.chrome.com/blog/chrome-150-beta) | Jun 3 | CSS `text-fit`, `flex-wrap: balance`, animatable `zoom`, `url()` request modifiers, `light-dark()` with images, the `focusgroup` attribute, media pseudo-classes like `:playing`; IndexedDB rewritten on SQLite; `data:` URL workers get an opaque origin; scroll methods return promises; Email Verification Protocol origin trial. |\n| [Seamless PWA origin migration](https://developer.chrome.com/blog/seamless-pwa-origin-migration) | Jun 3 | From Chrome 150 an installed PWA can move to a new same-site origin without a reinstall, blocked for force-installed apps. |\n| [What's new in DevTools (Chrome 149)](https://developer.chrome.com/blog/new-in-devtools-149) | Jun 2 | DevTools for agents is stable, AI assistance gains Lighthouse and widgets, new WebMCP debugging. |\n| [New in Chrome 149](https://developer.chrome.com/blog/new-in-chrome-149) | Jun 2 | CSS gap decorations, WebSocket disconnect for bfcache eligibility, `Intl.Locale` variants. |\n\nBig themes: agentic web tooling (WebMCP, Lighthouse, DevTools for agents), a heavy CSS layout and typography batch, and storage/security plumbing changes."}, "tool_name": "send_message"}
E0015 · turn 1 · assistant message
Nothing in the past 14 days. The blog's feed stops at June 22, 2026, so here's that batch instead.
E0016 · turn 1 · assistant message
### Chrome releases and platform updates · Jun 2–22, 2026 | Post | Date | Developer-facing takeaway | |---|---|---| | A developer toolkit to make your website agent-ready | Jun 22 | New Lighthouse "Agentic browsing" category in M150 (accessibility tree, CLS stability, WebMCP checks), informational score only; DevTools for agents can invoke `lighthouse_audit` and screencast what an agent sees. | | Third-party developer tools for Chrome DevTools for agents | Jun 18 | Frameworks and apps can expose their own runtime context to AI coding assistants. | | What's New in WebGPU (Chrome 149-150) | Jun 17 | WebGPU immediates (`setImmediateData()`, no buffers or bind groups for per-draw data) plus stricter transient-attachment validation. | | Join the WebMCP origin trial | Jun 9 | Origin trial for declaring structured tools so agents complete tasks on your site accurately. | | Chrome 150 beta | Jun 3 | CSS `text-fit`, `flex-wrap: balance`, animatable `zoom`, `url()` request modifiers, `light-dark()` with images, the `focusgroup` attribute, media pseudo-classes like `:playing`; IndexedDB rewritten on SQLite; `data:` URL workers get an opaque origin; scroll methods return promises; Email Verification Protocol origin trial. | | Seamless PWA origin migration | Jun 3 | From Chrome 150 an installed PWA can move to a new same-site origin without a reinstall, blocked for force-installed apps. | | What's new in DevTools (Chrome 149) | Jun 2 | DevTools for agents is stable, AI assistance gains Lighthouse and widgets, new WebMCP debugging. | | New in Chrome 149 | Jun 2 | CSS gap decorations, WebSocket disconnect for bfcache eligibility, `Intl.Locale` variants. |
E0017 · turn 1 · assistant message
https://developer.chrome.com/blog/agent-ready-toolkit https://developer.chrome.com/blog/devtools-for-agents-3p-tools https://developer.chrome.com/blog/new-in-webgpu-149-150 https://developer.chrome.com/blog/ai-webmcp-origin-trial https://developer.chrome.com/blog/chrome-150-beta https://developer.chrome.com/blog/seamless-pwa-origin-migration https://developer.chrome.com/blog/new-in-devtools-149 https://developer.chrome.com/blog/new-in-chrome-149
E0018 · turn 1 · assistant message
The big story is agentic tooling: WebMCP, Lighthouse, and DevTools for agents all stabilizing or expanding. Heavy CSS layout and typography batch in 149–150.