<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Todd Schiller - Chrome</title><link href="https://toddschiller.com/" rel="alternate"></link><link href="https://toddschiller.com/feeds/tag/chrome.atom.xml" rel="self"></link><id>https://toddschiller.com/</id><updated>2026-08-07T00:00:00-04:00</updated><subtitle>Human ✘ Artificial Intelligence</subtitle><entry><title>This Week in Extensibility: six vendors standardize agent-plugin bundles, Mozilla stays neutral on WebMCP, Atlassian opens Rovo to Forge apps</title><link href="https://toddschiller.com/blog/extensibility-radar-2026-08-07.html" rel="alternate"></link><published>2026-08-07T00:00:00-04:00</published><updated>2026-08-07T00:00:00-04:00</updated><author><name>Todd Schiller</name></author><id>tag:toddschiller.com,2026-08-07:/blog/extensibility-radar-2026-08-07.html</id><summary type="html">Week of July 31 – August 7, 2026: six agent vendors publish a shared plugin-packaging standard, Mozilla files a neutral position on WebMCP that leaves the browser engines split, and Atlassian opens its Rovo agent framework to Forge apps.</summary><content type="html">&lt;!-- markdownlint-disable MD013 --&gt;
&lt;p&gt;The theme this week was a split between packaging and trust. Six rival agent
vendors agreed on how to bundle plugins while deliberately leaving security out
of scope, Chrome began enforcing store rules that police what an extension may
do, and the browser engines filed divergent positions on the API that would let
a page hand tools to a user's agent. The packaging layer is converging faster
than the trust layer underneath it.&lt;/p&gt;
&lt;h2&gt;Packaging: six vendors standardize agent-plugin bundles&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Amazon, Cursor's maker Anysphere, GitHub, Microsoft, OpenAI, and Vercel
published Agent Plugins 1.0.0, a vendor-neutral format for packaging agent
extensions.&lt;/strong&gt; The
&lt;a href="https://github.com/agentplugins/agent-plugins-spec"&gt;specification&lt;/a&gt;, announced
August 6 in a
&lt;a href="https://vercel.com/blog/introducing-agent-plugins"&gt;joint post from Vercel&lt;/a&gt;,
defines a bundle of a &lt;code&gt;plugin.json&lt;/code&gt; manifest, a &lt;code&gt;skills/&lt;/code&gt; folder, and an
&lt;code&gt;mcp.json&lt;/code&gt; file so one plugin installs across ChatGPT, Codex, Cursor, GitHub
Copilot, Kiro, and VS Code rather than being repackaged per client. It is
labeled a Working Draft, and it carries no permission model, sandboxing, code
signing, or secrets mechanism, with each of those
&lt;a href="https://aws.amazon.com/blogs/opensource/aws-supports-agent-plugins-an-open-standard-for-portable-agent-extensions/"&gt;deferred to future work&lt;/a&gt;;
every client keeps its own trust and marketplace decisions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; the same customization, a set of Skills and MCP tools,
becomes portable across the major agent clients instead of tied to one vendor's
format, so a user is not re-installing per platform. The vendors standardized the
bundle while leaving the permission and signing model to each client, so the
portability is real and the safety guarantees are not yet part of the standard.&lt;/p&gt;
&lt;h2&gt;Standards: Mozilla files a neutral position on WebMCP&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Mozilla recorded a neutral position on WebMCP, leaving the three browser
engines split.&lt;/strong&gt; WebMCP lets a website expose in-page tools that a user's own
agent can call. Mozilla's
&lt;a href="https://github.com/mozilla/standards-positions/issues/1412"&gt;August 5 position&lt;/a&gt;
is neutral, while Apple's WebKit team has filed an
&lt;a href="https://github.com/WebKit/standards-positions/issues/670"&gt;oppose position&lt;/a&gt;
citing privacy, security, venue, and API-design concerns, and Google and
Microsoft are authoring the proposal. WebMCP remains a Web Machine Learning
Community Group draft shipping only as a Chrome origin trial, so there is no
cross-vendor agreement and no stable implementation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; the API that would let any site offer tools to a user's agent
now has explicit, divergent positions from every engine, which points to a
contested track rather than one converging toward shared support. It does not
change that the only running implementation is a single browser's origin trial.&lt;/p&gt;
&lt;h2&gt;Marketplaces: Chrome Web Store begins enforcing its updated policies&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Chrome Web Store policy enforcement began August 1 across its extension
ecosystem.&lt;/strong&gt; Four
&lt;a href="https://developer.chrome.com/blog/cws-policy-updates-2026"&gt;policies published July 1&lt;/a&gt;
took effect: a Limited Use rule narrowing data collection to what is strictly
necessary for an extension's single disclosed purpose, a duty to notify users of
post-install changes to data handling, a Regulated Goods ban on extensions
enabling real-money prediction-market transactions, and a Malicious Products
clause that bans extensions built to circumvent an AI service's safety guardrails
or usage restrictions. Non-compliant extensions face enforcement after the date.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; a marketplace of this reach setting a hard rule against
extensions that defeat AI guardrails draws a governance line at the store level,
where the platform, not each AI service, decides that circumvention tooling is
not distributable.&lt;/p&gt;
&lt;h2&gt;Platforms: Atlassian opens Rovo to Forge apps and extends its Connect deadline&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Atlassian shipped an Early Access Rovo MCP Module that lets Forge apps expose
their actions as tools inside Rovo Studio.&lt;/strong&gt; The
&lt;a href="https://developer.atlassian.com/changelog/"&gt;August 3 changelog entry&lt;/a&gt; lets a
Forge app publish its actions as callable tools for makers building custom agents
in Rovo, extending the app platform into Atlassian's agent framework rather than
shipping a single agent. In the same window Atlassian
&lt;a href="https://community.developer.atlassian.com/t/connect-end-of-support-extended-to-january-31-2027/102002"&gt;extended Connect end-of-support to January 31, 2027&lt;/a&gt;,
moving the deadline out of the year-end crunch, and began direct outreach to
vendors still running Connect or hybrid apps so they migrate to Forge.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; it gives Marketplace developers a supported path to surface
their apps as tools inside Atlassian's agents, while the Connect deadline sets the
date by which the whole ecosystem must be on Forge to reach that surface at all.&lt;/p&gt;
&lt;h2&gt;Also worth knowing&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Merge added a governed catalog of MCP connectors to its Agent Handler.&lt;/strong&gt; A
&lt;a href="https://www.merge.dev/changelog/week-5-july-2026"&gt;July 31 changelog&lt;/a&gt; lets a
company embedding Merge browse and enable hundreds of generic MCP connectors
alongside Merge-built ones on the same authentication, access-control, and
governance layer, and adds an AI Guardrails experience with PII detection and a
live rule tester.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wasmtime patched two sandbox-integrity advisories across four release lines.&lt;/strong&gt;
The Bytecode Alliance shipped
&lt;a href="https://github.com/bytecodealliance/wasmtime/releases/tag/v47.0.3"&gt;v47.0.3&lt;/a&gt; and
matching v46, v36, and v24 releases on July 31 to fix two low-severity advisories
where engine type indices could be confused and where traps during bulk
operations could corrupt VM state. Backporting to the v24 long-term line reflects
Wasmtime's use as production plugin-isolation infrastructure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CopilotKit released a Channels SDK for running AG-UI agents in chat surfaces.&lt;/strong&gt;
The &lt;a href="https://www.copilotkit.ai/blog/introducing-channels-sdk"&gt;August 4 SDK&lt;/a&gt; runs
one AG-UI agent across Slack, Teams, and other chat platforms with generative UI,
human-in-the-loop approvals, and cross-channel memory. It is a developer library
for shipping agents rather than a customization surface handed to end users.&lt;/p&gt;
&lt;h2&gt;On the radar&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;August 13–14:&lt;/strong&gt; MCP Dev Summit in Seoul, co-located with Open Source Summit
Korea.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;September 1:&lt;/strong&gt; Atlassian Forge Object Store &lt;code&gt;currentVersion&lt;/code&gt; field
deprecation takes effect.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;September 30:&lt;/strong&gt; Atlassian sunsets the &lt;code&gt;confluence:fullPage&lt;/code&gt; and
&lt;code&gt;jira:fullPage&lt;/code&gt; modules in favor of a unified &lt;code&gt;global:fullPage&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;January 31, 2027:&lt;/strong&gt; Atlassian Connect end-of-support; Marketplace and custom
apps must be on Forge.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;This Week in Extensibility is curated by Todd Schiller. Research, drafting, and
fact checking are AI-assisted.&lt;/em&gt;&lt;/p&gt;
</content><category term="Extensibility"></category><category term="extensibility"></category><category term="plugins"></category><category term="sandboxes"></category><category term="web standards"></category><category term="MCP"></category><category term="WebMCP"></category><category term="Atlassian"></category><category term="Chrome"></category></entry><entry><title>This Week in Extensibility: the Chrome Web Store bans two extension categories, Mozilla proposes a permission model for AI agents, Cloudflare runs customer code before signup</title><link href="https://toddschiller.com/blog/extensibility-radar-2026-07-17.html" rel="alternate"></link><published>2026-07-17T00:00:00-04:00</published><updated>2026-07-17T00:00:00-04:00</updated><author><name>Todd Schiller</name></author><id>tag:toddschiller.com,2026-07-17:/blog/extensibility-radar-2026-07-17.html</id><summary type="html">Week of July 10–17, 2026: the Chrome Web Store bans prediction-market and AI-guardrail-circumvention extensions and narrows what any extension may collect, Mozilla proposes a browser-mediated permission model for AI agents at the WebExtensions group, and Cloudflare ships a way to run a customer's code before they sign up.</summary><content type="html">&lt;!-- markdownlint-disable MD013 --&gt;
&lt;p&gt;The week was about boundaries, not new capabilities. The Chrome Web Store banned
two categories of extension outright and tightened what the rest may collect,
Mozilla floated a permission model to rein in AI agents, and the one capability
that actually shipped, Cloudflare running a customer's code before signup, is
itself a piece of tenant isolation.&lt;/p&gt;
&lt;h2&gt;Governance: the Chrome Web Store narrows data collection and bans two extension categories&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Google published a Chrome Web Store policy update, effective August 1, that bans
two categories of extension outright.&lt;/strong&gt; Out: extensions that facilitate real-money
bets on predicted outcomes, and extensions built to bypass the safety guardrails
or usage limits of AI services. The
&lt;a href="https://developer.chrome.com/blog/cws-policy-updates-2026"&gt;updated policies&lt;/a&gt; also
tighten Limited Use for every listing: an extension may collect only data strictly
necessary to its disclosed single purpose, and developers must disclose any change
to their data handling after install.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; the store is the chokepoint for a large cross-browser extension
ecosystem, so its policy text sets what an extension is allowed to be. The data
rules move the baseline; the two bans are Google taking a side on specific uses.
This is announced policy, not yet enforced: compliance action starts August 1,
with no grace period after it.&lt;/p&gt;
&lt;h2&gt;Standards: a permission model for AI agents, and isolation keys for extension pages&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Mozilla opened a proposal for a browser-mediated permission model for AI agents
at the WebExtensions Community Group.&lt;/strong&gt; Filed July 6 by Mozilla's c-nar, the
&lt;a href="https://github.com/w3c/webextensions/issues/1041"&gt;issue&lt;/a&gt; argues agent access today
is all-or-nothing and declarative rather than enforced, and sketches
WebExtensions-style request/grant/revoke/audit primitives so a user could scope an
agent's reach and revoke it mid-action. The open question, posed in the issue
itself: does an agent permission lifecycle belong in WebExtensions or on the wider
web platform? It awaits triage from Chrome, Firefox, and Safari. A separate July 4
proposal would
&lt;a href="https://github.com/w3c/webextensions/issues/1039"&gt;add cross-origin isolation manifest keys&lt;/a&gt;
to extension pages, unlocking SharedArrayBuffer and multithreaded WebAssembly for
uses like on-device inference; Chrome already ships it, Safari and Firefox are
supportive, and Firefox is blocked on process-model work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; both move the boundary of what an extension or agent may touch,
and both are early. Mozilla's names a real gap, enforced and revocable agent
permissions, but it is a scoping question, not an agreed work item. The isolation
keys have all three engines supportive yet no spec text.&lt;/p&gt;
&lt;h2&gt;Agentic web: WebMCP debates batched and persistent tools&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;WebMCP debated two questions about how a page's tools run.&lt;/strong&gt; WebMCP lets a website
expose in-page tools for a user's agent to call; it is in a Chrome origin trial,
not a shipping default. A July 14 proposal for a
&lt;a href="https://github.com/webmachinelearning/webmcp/issues/222"&gt;&lt;code&gt;code mode&lt;/code&gt; &lt;code&gt;execute_tools&lt;/code&gt; batch primitive&lt;/a&gt;
would let an agent run several registered tools in one call, cutting roundtrips and
token use. A July 9 thread proposes
&lt;a href="https://github.com/webmachinelearning/webmcp/issues/212"&gt;worker-backed tools&lt;/a&gt; that
survive a page navigation and run without a visible tab.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; batching and persistence point the same way, agents doing more
per page and across navigations. Both are Community Group issues layered on a
single-vendor origin trial, so this is direction, not capability.&lt;/p&gt;
&lt;h2&gt;Infrastructure: Cloudflare runs customer code before signup&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Cloudflare Workers for Platforms added a Temporary Accounts API.&lt;/strong&gt; The
&lt;a href="https://developers.cloudflare.com/changelog/post/2026-07-14-temporary-accounts-api/"&gt;new API&lt;/a&gt;,
shipped July 14, lets a platform provision a preview account and deploy a live
Worker before the end user signs in, then hand them a claim URL to make it
permanent. Workers for Platforms is the multi-tenant layer a product uses to run
its own customers' code in isolation; Cloudflare aims this at coding and agent
platforms that generate a working app first and ask for the signup second.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; the one thing that actually shipped this week, and it removes a
step: a customer's generated or customized code can run in an isolated sandbox
before they have an account. A small change to the onboarding edge of the isolation
layer that customization products build on.&lt;/p&gt;
&lt;h2&gt;Also worth knowing&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;The WebAssembly Community Group put multibyte array access to a phase-2 vote&lt;/strong&gt; at
its
&lt;a href="https://github.com/WebAssembly/meetings/blob/main/main/2026/CG-2026-07-14.md"&gt;July 14 call&lt;/a&gt;,
a proposal for efficient multi-byte loads and stores over byte arrays. Minutes are
not yet posted, so the outcome is unconfirmed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Local-First Conf 2026 ran in Berlin July 12–14,&lt;/strong&gt; closing with an
&lt;a href="https://www.localfirstconf.com/"&gt;Ink &amp;amp; Switch Lab Day&lt;/a&gt; on the lab's
malleable-software projects. It is the venue where new end-user-programming
primitives tend to surface first, so watch for writeups.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GitHub is locking down public stargazer and watcher data.&lt;/strong&gt; A
&lt;a href="https://github.blog/changelog/2026-06-30-upcoming-access-restrictions-to-public-api-endpoints-and-ui-views/"&gt;June 30 changelog&lt;/a&gt;
restricts the list-stargazers and list-watchers endpoints to admins and
collaborators and deprecates &amp;quot;repos watched by a user,&amp;quot; narrowing what third-party
tools built on public engagement data can read.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shopify moved partner earnings to a GMV-share model.&lt;/strong&gt; A
&lt;a href="https://www.shopify.com/partners/blog/a-new-partner-earning-model"&gt;July 7 partner post&lt;/a&gt;
swapped subscription-only revenue share for 20% of subscription fees plus 0.1% of
eligible online GMV over four years, effective for deals signed on or after
August 10, tying app-partner earnings to merchant sales.&lt;/p&gt;
&lt;h2&gt;On the radar&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;July 20:&lt;/strong&gt; Deno Subhosting v1 API shuts down; platforms running end-user Deno
code must be on v2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;July 22:&lt;/strong&gt; Next W3C WebAssembly Working Group meeting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;July 28:&lt;/strong&gt; Target launch for the MCP &lt;code&gt;2026-07-28&lt;/code&gt; specification; Chrome 151
reaches stable and is scheduled to remove the last flag for re-enabling Manifest
V2 extensions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;August 1:&lt;/strong&gt; Chrome Web Store policy enforcement begins.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;August 10:&lt;/strong&gt; Shopify's GMV-share partner earnings take effect.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;August 31:&lt;/strong&gt; Remaining Manifest V2 extensions scheduled for removal from the
Chrome Web Store.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;This Week in Extensibility is curated by Todd Schiller. Research, drafting, and
fact checking are AI-assisted.&lt;/em&gt;&lt;/p&gt;
</content><category term="Extensibility"></category><category term="extensibility"></category><category term="plugins"></category><category term="sandboxes"></category><category term="web standards"></category><category term="Chrome"></category><category term="WebExtensions"></category><category term="WebMCP"></category><category term="Cloudflare"></category></entry><entry><title>Did Google sneak a local LLM model into Chrome?</title><link href="https://toddschiller.com/blog/chrome-local-ai-linkedin-filter.html" rel="alternate"></link><published>2026-05-26T00:00:00-04:00</published><updated>2026-05-26T00:00:00-04:00</updated><author><name>Todd Schiller</name></author><id>tag:toddschiller.com,2026-05-26:/blog/chrome-local-ai-linkedin-filter.html</id><summary type="html">A response to FUD around Chrome's new Local AI models, plus a demo using PixieBrix + Local AI to filter my LinkedIn feed.</summary><content type="html">&lt;p&gt;There's a lot of FUD around Chrome's new Local AI models. Jason Calacanis on the
All-in Podcast got it wrong: Chrome didn't sneak in a local LLM model; it was in
their official Early Preview Program for months.&lt;/p&gt;
&lt;p&gt;The local LLM shipped in 148 is their general Prompt API powered by Gemini Nano.
Smaller, task-specific models for language detection, translation, and rewriting
have been available since Chrome 138 (June 2025), a long time at AI pace!&lt;/p&gt;
&lt;p&gt;Local LLMs distributed with the browser are critical to a future where users
control their browsing experience while ensuring privacy. Consumers cannot be
expected to figure out how to connect their web tools and extensions to Ollama
or LM Studio. And enterprises cannot be expected to deploy local LLM servers to
desktops.&lt;/p&gt;
&lt;p&gt;There are still valid concerns about model lock-in. That's because AI models (
especially small models) can behave differently for the same prompt. But, from
what I've seen, the Chrome team has been, by and large, responsible in how
they've rolled out the technology. For example, the public API shipped in 148
does not expose model-specific parameters.&lt;/p&gt;
&lt;p&gt;Local LLMs enable a range of productivity/compliance use cases, especially for
regulated industries handling financial and health data. But since this is
LinkedIn, here's a fun one instead: using PixieBrix + Local AI to customize your
LinkedIn feed and hide self-promotional, snarky, or sarcastic posts. The
question is -- will anything be left on my feed? 😆&lt;/p&gt;
&lt;!-- markdownlint-disable MD013 --&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0;"&gt;
  &lt;iframe src="https://www.loom.com/embed/8a1082b28512434588447b05b32594e1?hideEmbedTopBar=true" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;!-- markdownlint-enable MD013 --&gt;
</content><category term="Browser Extensions"></category><category term="AI"></category><category term="Chrome"></category><category term="browser extensions"></category><category term="PixieBrix"></category><category term="local AI"></category></entry></feed>