Testing the Claude extension in Chrome
I let the Claude Chrome extension clean spam out of my inbox. It built me a tidy unsubscribe list, then spent a whole five hour session of my plan to actually unsubscribe from four of them. Here is what it is doing behind the screen, why it costs so much, and how to make it cheaper.
I tested the Claude extension for Chrome this week, and I want to write down what I saw, because it was impressive and a little alarming at the same time. The impressive part: it opened my inbox, went through everything sent to me over the last two months, and pulled out the spam, the ads, and the newsletters that had an unsubscribe option. Then it handed me a clean, organized list. I picked a few and told it to unsubscribe me from them.
Watching it work was the fun part. Claude sat in the side panel of my browser, opened emails, scrolled, found the small grey unsubscribe link at the bottom, clicked through to whatever page it led to, and handled the confirmation screens. It really does feel like someone else is driving, doing the boring clicking so you do not have to.
Then I looked at the cost. Unsubscribing from four emails used up one whole five hour session of my twenty euro Claude plan. Not four hours of work. Four unsubscribes, out of the fifteen on the list. That is the number that made me stop and want to understand what was going on.
Four unsubscribes out of fifteen. One five hour session. A whole plan, gone on clicking some grey links.
So I went and read how the extension actually works under the hood, because if I am going to pay that much I at least want to know what I am paying for. Here is the plain version, no code, just what is happening behind the screen and why it adds up so fast.
What is actually happening behind the screen?
Your instinct is probably right. The extension is running a loop. Look at the page, decide what to do, do one small thing, then look again. People call this an agent loop, and it has the same shape no matter the task, whether it is booking a flight or killing a newsletter.
Each turn of that loop looks like this. Claude is given the current state of the page. It thinks about what to do next to reach your goal. It picks one action, like click this button or type in this box. The browser performs that action. The page changes as a result, so Claude is handed the new state, and it goes around again.
The key word is every. Every single click is a full round trip to the model. Act, read the result, think, act again. A task that is six clicks for you is six full rounds of reading, thinking, and acting for the agent, and each round is billed.
How does it see the page? This is the part I had wrong
I assumed it was screenshots all the way down. Take a picture, read the picture, find the button in the picture, click that spot. That is the expensive picture in your head, and it turns out to be only half true.
First, the accessibility tree. The preferred way Claude reads a page is not an image at all. It is the accessibility tree, a structured text description that the browser already builds for screen readers. It lists the buttons, links, fields, and headings as plain text, with none of the visual styling. It is the same information a blind person's software reads aloud. For an agent this is cheap and clear, because text is far lighter to handle than a picture.
Then, screenshots as a fallback. When the text version is not enough, Claude takes an actual screenshot and reads it with its vision, counting pixels to find where to click. It falls back to this for pages that are built badly, hide things inside images, or have a layout the text description cannot explain.
So it is not taking pictures the whole time, which is what I had assumed. But here is the catch. Unsubscribe pages are exactly the kind of messy, off-brand, one off pages that tend to force the screenshot path. Every sender rolls their own. That is part of why this particular job is pricey.
What tools is it using?
You never see these, but every step the agent takes is built from a small set of actions. It helps to know the names, because each one is a thing being sent to and from the model:
Read the page. Pull the accessibility tree, the text map of what is on screen.
Find. Locate an element by describing it in plain language, like the unsubscribe link.
Computer. The mouse and keyboard. Click here, type there. This is the screenshot and pixel based one it uses when it actually needs to look.
Navigate. Go to a URL, or move back and forward in history.
Form input. Fill in fields, like typing your email into a confirmation box.
Screenshot. Capture the current view as an image, when the text is not enough or when it wants to show you what it sees.
None of these is exotic. The cost is not in any single tool. It is in how many times they get called, and what gets dragged along each time.
What one unsubscribe actually takes
Walk through a single newsletter the way the agent does. Open the email. Read it to find the unsubscribe link, which is usually tiny and at the very bottom. Click it. That opens a new page, often in a new tab, on the sender's own website. Read that page. Maybe it unsubscribed you in one click. More likely it asks you to confirm, or to pick which lists, or it shows a sorry to see you go survey, or it wants you to type your email again, or it throws a cookie banner in the way first.
Every one of those screens is another read, another think, another click. A clean unsubscribe might be two rounds. A stubborn one can be eight or ten, and if it hits a screenshot heavy page or a confusing layout, each of those rounds is heavier than the last. Multiply that by however many emails you handed it, and you can see where five hours and a whole plan went.
So why is it so expensive?
It comes down to a few things stacking on top of each other.
The context never forgets. Each turn of the loop, the whole history so far is sent to the model again. Everything it has read, every screenshot it has taken, every decision it has made. As the task goes on, that pile grows, and you pay for the whole pile on every single step. Step thirty is far more expensive than step one, because step thirty is carrying steps one through twenty nine on its back.
Screenshots are heavy. A single screenshot can be a few hundred kilobytes of data going into the context. Worse, old screenshots tend to stick around in the history even though a picture of a page you already left is useless. They just sit there, getting re-sent, running the meter.
It re-reads the page after every action. The agent cannot assume it knows the result of a click. It has to look again. So after each step it reads the page state fresh, and on a long page the text map of everything on screen can itself be large.
Every unsubscribe is a different website. There is no reuse between them. Whatever it figured out fighting through sender A's confirmation maze does not transfer to sender B, who built theirs differently. Fifteen emails can mean fifteen unfamiliar little websites, each learned from scratch.
The model tier matters. On the cheaper plans the browser work runs on a smaller, faster model to keep the cost down. On the higher plans you can point a stronger model at it, which is better at the hard pages but costs more per step. Either way, a loop with a growing context is the expensive shape.
A few things I had not considered
Gmail can already do this for free. Many of those emails carry a standard unsubscribe header, which is why Gmail itself shows a one click unsubscribe button next to the sender. For those, the whole expensive agent dance is unnecessary. The free button does the same thing in one tap. The agent only earns its keep on the senders that hide the link or make you fight for it.
Watching it costs too. Part of what makes the extension feel magical is that it streams what it sees back to you so you can watch it work. That visibility is lovely, but capturing and shipping those views is not free either.
It is paying a reading tax on every step. We think of the cost as the clicking. It is really the reading. The model re-reads its whole world before it is allowed to make each move. The clicking is the cheap part.
There is a security angle. An agent that reads pages and acts on them can in principle be tricked by text on a page that is written to give it instructions. A malicious email or a shady unsubscribe page could try to steer it. It is one more reason to watch it rather than walk away, and to only point it at things you trust.
Can you just prompt it better?
Yes, and honestly this is the simplest lever you have. You cannot change how the loop works, but you can change how much work you hand it and how clearly. A few things that help:
Do the finding yourself. The expensive part is the hunting and the clicking, not the listing. I already had the organized list. Instead of saying go unsubscribe me from the junk, hand it the exact senders and let it skip the search. The more specific the target, the fewer rounds it burns figuring out what you meant.
Scope it small and run short sessions. Because the context grows the whole time, a fresh start is a cheaper start. Three emails in a clean session beats fifteen in one marathon where every later email is dragging the whole earlier history along.
Let it give up on the hard ones. Tell it to skip any unsubscribe that needs more than a couple of steps, or that asks you to log in, and just report those back to you. The eight step survey mazes are where the money goes. Handling those three by hand is cheaper than paying the agent to wrestle them.
Use the free path first. For anything Gmail can unsubscribe from with its own button, do that, and only send Claude after the awkward ones that genuinely need a browser driven by hand.
If it is repetitive, record it once. The extension can record a workflow you perform and replay it. For senders that all use the same newsletter platform, teaching it the pattern once is cheaper than having it rediscover the same steps every time.
My take
The Claude extension in Chrome is genuinely impressive to watch, and for the right job it is worth it. But unsubscribing from newsletters is close to a worst case for it. The pages are messy and one off, the flows are unpredictable, and the work is mostly slow reading dressed up as clicking, all while the context quietly grows underneath. That combination is why four unsubscribes can eat a whole session.
The lesson I am taking is not that the extension is bad. It is that an agent in a browser is expensive by its nature, and the way to use it well is to give it small, clearly scoped jobs, do the cheap parts yourself, and save it for the moments where having hands and eyes in the browser is genuinely worth the price. For clearing out spam, the free unsubscribe button was sitting there the whole time.


