Which is better: Claude, ChatGPT, or Gemini for building an ad blocker for Chrome?
Claude, ChatGPT, and Gemini were given the same challenge: to build an ad blocker for Chrome. Let's see how each tool approached this task, what kind of extension it created, and whether the final result actually blocked ads without breaking websites.
- How to set up the experiment
- Claude, ChatGPT, and Gemini block ads, but they don't block the gaps that ads leave behind.
- YouTube is where these tools reveal their weaknesses.
- CLI extensions fix this error by creating a different one.
- Three extensions, three different ways to ruin videos.
- The only truly working utility comes from the ChatGPT web application.
Nobody likes ads. Sure, the people behind and making money from ads have their reasons for keeping them there, but as an average person trying to watch a YouTube video or read an article without five banners vying for your attention, obviously nobody wants to see ads. Ad-blocking extensions are everywhere, but building one yourself would be an interesting way to test what AI programming tools do when given a seemingly simple problem that quickly becomes complicated.
Claude, ChatGPT , and Gemini were given the same challenge: to build an ad blocker for Chrome. Let's see how each tool approached this task, what kind of extension it created, and whether the final result actually blocked ads without breaking websites.
How to set up the experiment
This test uses the CLI tools for each programming agent: Claude Code with Opus 4.8, Codex with GPT-5.5, and Antigravity CLI with Gemini 3.1 Flash. The recommended model for each CLI was selected so that the experience resembled the default experience a user would have if they opened the tool and asked it to build something.
Try not to over-describe the task. Prompts are intentionally written vaguely, clearly stating what you want the tool to produce, but not guiding it step-by-step through every technical decision, library choice, or implementation detail. Otherwise, the test will focus less on what the model naturally decides to build and more on how well it adheres to the detailed checklist.
Therefore, for each tool, use a basic prompt explaining that you want to create a Chrome ad blocker using Manifest V3. Request a working extension that you can install locally into Chrome, but let the actual strategy for the model decide. See if it will primarily rely on network blocking rules, interface filtering, YouTube-specific tricks, or something entirely different.
Claude, ChatGPT, and Gemini block ads, but they don't block the gaps that ads leave behind.
After Claude Code , Codex, and Antigravity finished developing their extensions, it was time to test them out. First, let's see how each extension handles typical web ads. Start with publication-style pages, as that's the most realistic place where users would use an ad blocker while reading. Also, test with MSN, primarily because that's exactly the kind of cluttered, ad-heavy homepage that allows ad blockers to prove their effectiveness.
Technically, all three extensions work well. The ads are effectively gone. For example, on MSN, each extension removes the large ad placement near the top of the page. No more banners loading, no more clickable ads, and no more obvious ad images in that position. In that sense, the ad blockers worked. However, they didn't make the page look any cleaner.
Note : None of the extensions in this test are full-fledged ad blockers in the true sense of the word, like uBlockOrigin, AdGuard, or other well-known ad blockers. True ad blockers have massive filter lists that are regularly maintained, periodic rule updates, website-specific bug fixes, region-specific filters, and anti-bug rules that prevent them from crashing half a website when trying to remove an ad banner. These extensions are much smaller, and the purpose is to see what ad-blocking strategy each tool will employ when given the same basic task.
Instead, extensions leave a large blank space where an ad should be. In some cases, a small "Sponsored" label remains visible, floating on a blank area as a reminder that an ad once appeared there. This happens because the tools primarily block ad requests, then hide the obvious ad element. What they don't always do is shrink the larger layout container that the website has allocated for the ad.
The reasoning becomes clear when considering how the extensions are built. All three follow the same basic rule of Manifest V3: using Chrome's declarative network request rules to block requests to known advertising and tracking domains, then using aesthetic filters to hide any remaining ad-like elements on the page. Simply put, they don't use the huge, constantly updated filter lists of true ad blockers. They primarily hardcode popular ad networks and endpoints, including Google's ad services, DoubleClick, Taboola, Outbrain, Microsoft/MSN ad domains, and a few YouTube-related URLs.
That's enough to remove the obvious ads, but not enough to make every page look nicer afterward. Blocking ad requests will prevent ads from loading, but it doesn't automatically require the website to collapse the space it's dedicated to that ad. That's why MSN looks cleaner, but still clunky. The ads are gone, but the page layout remains the same.
However, for basic web advertising, all three work quite well. Claude's extension keeps things simple with a block toggle button, tab counter, total block count, and reset button. The Codex pop-up window is more like a developer demo, mostly showing the number of recently matched rules. Antigravity's version has the most visually appealing interface, with a shield-style block count, separate network and aesthetic counters, a system-wide shield toggle button, an aesthetic cleanup toggle button, a website whitelist, and a recent detection feed.
So, at this stage, the results aren't bad. The extensions have blocked ads, they just haven't cleaned up properly after they've been running.
YouTube is where these tools reveal their weaknesses.
Three extensions, three different ways to ruin videos.
Google has been tightening its control over ad blockers on YouTube for some time now, so this testing phase shouldn't be easy. However, surprisingly, each extension encountered different problems right from the moment a video was opened.
The Codex has the funniest display error! The website loads normally: You can see the video title, the channel area, suggestions in the sidebar, and all the usual YouTube buttons. But where the video player should be, there's just a huge white space. It looks like YouTube has loaded everything except the YouTube section you need to use.
That makes sense when I consider what the Codex has built. Instead of just blocking YouTube's ad endpoints or hiding obvious ad containers, it added a YouTube-specific blocker, attempting to interfere with the YouTube player's response. That means the extension is interfering with the internal components of a very complex website and hopefully nothing important gets broken. Unfortunately, something important did get broken.
Antigravity's version goes in the opposite direction, and that's really ridiculous. It doesn't completely blur the video player, but it treats YouTube ads as if they can be "forced" skipped. When an ad appears, the video suddenly speeds up, mutes, and fast-forwards to the end. So, whenever you open a video that starts with an ad, it immediately skips the end of the video as soon as the ad finishes.
Claude's first version was less dramatic, but still funny. It didn't turn the player into a white rectangle or fast-forward the video. Instead, it hid the Skip button for some reason!
So, the ad is still there, but the single button that lets you skip it is gone.
CLI extensions fix this error by creating a different one.
The only truly working utility comes from the ChatGPT web application.
Numerous troubleshooting steps were attempted after the initial testing phase, particularly around YouTube. The problem was that each fix seemed to create a new issue, and no matter how many fixes were implemented, the resulting bugs remained unresolved. While all bugs could eventually be fixed, this would negate the purpose of the test.
When conducting these tests, you often decide early on whether you'll use the web versions of AI tools or their CLI programming agents. They don't offer the same experience, and combining them can make comparisons somewhat complicated. This article chose the CLI tools because it wanted to see what Claude Code, Codex, and Antigravity would produce when working directly in the project directory.
But before starting a systematic CLI comparison, the web application ChatGPT was also required to create a Chrome ad blocker. And interestingly, the extension that ChatGPT created on the browser yielded the best results.
It's not perfect. The extension created by ChatGPT still suffers from the same problem on MSN, where the actual ads disappear, but the huge dedicated space remains. It's also just a small, homemade Manifest V3 blocker, not a replacement for things like uBlock Origin. But compared to versions built with the CLI, it works surprisingly well. Basic web ads are blocked, the user interface is fairly simple, and most importantly, YouTube isn't completely broken.
There are no blank player screens, no abrupt fast-forwards to the end, and no shortage of skip buttons. YouTube ads occasionally slip through, but most are blocked. When an ad does appear, it usually pops up at the beginning of the video, and after you skip it, the rest of the video plays smoothly without any further interruptions. Even with a 1-hour video, after the first ad, there are no further interruptions.
When asked to build a similar extension, Claude Web flatly refused! Again, none of these extensions can replace a true ad blocker like uBlock Origin. The success or failure of a true ad blocker depends on its filter list, and none of these tools can build and maintain such a list overnight.
- When should you use ChatGPT, Claude, or Gemini?
- Comparing Claude vs ChatGPT: Which is the better AI chatbot?
- How to transfer ChatGPT and Claude conversations to Gemini
- Should I buy ChatGPT Plus or Claude Pro?
- Compare Claude 3.5 Sonnet, ChatGPT 4o and Gemini 1.5 Pro
- Anthropic adds 'Memory' feature to Claude AI, helping to remember and maintain conversation context like ChatGPT
- 4 ways AI Claude chatbot outperforms ChatGPT
- The difference between Claude and ChatGPT