We sent 23 AI agents to our website. Most looked human A test run on 26 October 2026 of 49 runs by 23 AI agents, chatbots and developer tools against a purpose-built three-page site found that most browser-using agents look exactly like a person in Chrome, reporting no automation and sending a normal Chrome user agent, with many originating from the tester's own home connection. Only one agent, Manus, signed its requests so a site could verify it, while most chatbots that merely fetch a page identify themselves to the server and never reach analytics; two of them execute page scripts and appear as a visitor who leaves immediately. How long an agent holds the button did not distinguish it — two waited like a person — but pointer movement to the button did, for every clicking agent tested. Blog https://privatrak.com/blog We sent 23 AI agents to our website. Most looked human We sent ChatGPT, Claude, Comet, Manus and 19 more AI agents to a test site and recorded every request and click. What gave them away, and what didn’t. Published Last checked AI assistants now open websites for people. You ask ChatGPT to compare two pricing pages, and a browser somewhere clicks through them for you. We build an analytics tool, so we wanted to know what that looks like from the other side: does a visit like this show up as a person, as a bot, or not at all? So we built a small test site, gave two dozen AI agents, chatbots and developer tools the same task, and recorded every request they sent and every click they made. Then we did the same task ourselves, with a trackpad, a mouse, phones and two accessibility tools, to see where people and agents differ. The short version: most agents that use a browser look exactly like a person in Chrome. They report no automation, send a normal Chrome user agent, and many came from our own home connection. Only a few said what they were, and only one, Manus, signed its requests so a site can check it. Most chatbots that just fetch a page name themselves to your server and never reach your analytics, but two of them run your scripts and show up as a visitor who leaves at once. How long an agent holds the button didn’t give them away: two of them wait like a person. How the pointer gets to the button did, for every clicking agent we tested. Tested on 26 October 2026: 49 runs by 23 AI agents, chatbots and tools and 8 human setups, with every request and every click recorded. Every visitor got the same task on the same three pages. The method and its limits are at the end. The test The test site was a made-up notes app with three pages: a home page, a plans page and a contact page with a form. The plans page has the detail we asked about, whether the Team plan includes single sign-on, in a comparison table that starts collapsed. Every agent got the same prompt: Go to the address and find out what the Team plan costs per month and whether it includes SSO. Then open the contact page and tell me what it asks for. Don’t submit anything. Each run had its own address, so every request in the server log belongs to one known visitor. A small script on the page reported what the browser said about itself and how each click happened. It never read what anyone typed. We tested: - AI agents that use a browser: ChatGPT Work’s built-in browser in the ChatGPT desktop app, Claude in Chrome, Claude Cowork, Claude computer use, Grok’s desktop app, Perplexity’s Comet browser and Manus. - Tools developers give their agents: Vercel’s agent-browser, Playwright MCP and Chrome DevTools MCP driven by Claude Code , the open-source Browser Use, a plain Playwright script, and the same script in a Browserbase cloud browser. - Chatbots that fetch the page: ChatGPT, Claude, Gemini, Perplexity, Mistral Le Chat, Meta AI, DeepSeek, Claude Code, Jina Reader and Browserbase’s hosted agent. - People: a Mac trackpad, a mouse, Windows, two iPhones, an Android phone, and the macOS accessibility tools Voice Control and Dwell, which click for you. Some we couldn’t test. Gemini in Chrome told us it can’t control the browser here, and its browsing agent is reportedly limited to paid plans in the US. We didn’t run OpenAI’s computer-use model. Microsoft Copilot in Edge seemed to answer from the page we had open, without a request of its own, so there was nothing to record. The results at a glance | | Browser | Says it’s automated | Came from | |---|---|---|---| | ChatGPT Work | Chrome 156 on our Mac | No | Our connection | | Claude in Chrome | Our own Chrome | No | Our connection | | Comet, in our browser | Comet Chrome 145 on our Mac | No | Our connection | | Comet, in the cloud | Windows Chrome | No | A data centre | | Grok | Linux Chrome without a graphics card | No | Our connection | | Claude computer use | Chrome on a Linux desktop | No | Where it runs | | Claude Cowork | Headless Chrome in the cloud | Yes | Anthropic’s servers | | Manus | Linux Chrome in the cloud | Yes, and signs its requests | A data centre | | Browser Use, Playwright MCP | Chrome on our Mac | No | Our connection | | agent-browser, DevTools MCP, Playwright script | Chrome on our Mac | Yes webdriver | Our connection | | Same script in Browserbase | Linux Chrome | No | A data centre | | ChatGPT, Claude, Gemini, Perplexity, Mistral, Meta AI | None | In the user agent | Their servers | | Jina Reader, DeepSeek | Chrome, Firefox | No | A data centre | ChatGPT Work - Browser - Chrome 156 on our Mac - Says it’s automated - No - Came from - Our connection Claude in Chrome - Browser - Our own Chrome - Says it’s automated - No - Came from - Our connection Comet, in our browser - Browser - Comet Chrome 145 on our Mac - Says it’s automated - No - Came from - Our connection Comet, in the cloud - Browser - Windows Chrome - Says it’s automated - No - Came from - A data centre Grok - Browser - Linux Chrome without a graphics card - Says it’s automated - No - Came from - Our connection Claude computer use - Browser - Chrome on a Linux desktop - Says it’s automated - No - Came from - Where it runs Claude Cowork - Browser - Headless Chrome in the cloud - Says it’s automated - Yes - Came from - Anthropic’s servers Manus - Browser - Linux Chrome in the cloud - Says it’s automated - Yes, and signs its requests - Came from - A data centre Browser Use, Playwright MCP - Browser - Chrome on our Mac - Says it’s automated - No - Came from - Our connection agent-browser, DevTools MCP, Playwright script - Browser - Chrome on our Mac - Says it’s automated - Yes webdriver - Came from - Our connection Same script in Browserbase - Browser - Linux Chrome - Says it’s automated - No - Came from - A data centre ChatGPT, Claude, Gemini, Perplexity, Mistral, Meta AI - Browser - None - Says it’s automated - In the user agent - Came from - Their servers Jina Reader, DeepSeek - Browser - Chrome, Firefox - Says it’s automated - No - Came from - A data centre Every agent that finished the task gave the answer our test page was built to give: €9 a month, no SSO, and the four fields of the contact form. Most agents look like a person in Chrome Bot detection usually starts with three questions: does the browser say it’s automated navigator.webdriver , does the user agent name a bot, and does the visit come from a data centre. For most agents the answer was no to all three. ChatGPT Work ran a Chrome 156 inside the ChatGPT desktop app on our Mac. It reported webdriver: false , a normal Chrome user agent, our timezone, our graphics chip and our home IP address. The only odd things were a narrow window, 319 pixels wide, and speed: a full visit took 11 to 21 seconds. Google Analytics showed these visits as ordinary sessions. So did our own tool. In 2025, Simon Willison found https://simonwillison.net/2025/Aug/4/chatgpt-agents-user-agent/ that ChatGPT’s agent signed its requests so sites could verify them. In our runs, ChatGPT Work’s browser sent no signature at all. Claude in Chrome runs in your own browser, so it is your browser: same version, same extensions, same IP address. There’s nothing to tell apart. Comet , when it worked in our Comet window, was the same: a Chrome 145 user agent with no mention of Comet or Perplexity, from our connection. Grok was the strangest. The requests came from our IP address with our timezone, but the browser reported Linux on an x86 processor, 8 cores and no graphics card, on an Apple Silicon Mac. So it wasn’t our browser, but to the website it came from our connection. We don’t know where that browser runs. Its user agent was plain Linux Chrome, and nothing named Grok. Claude computer use sees the screen through screenshots and clicks through the operating system, the way a person’s mouse does. We ran it like Anthropic’s reference setup, in a Linux desktop in Docker. It also reported a plain Linux Chrome with webdriver: false . Among the developer tools, Browser Use and Playwright MCP look like plain Chrome too. A plain Playwright script reports webdriver: true ; Playwright MCP switches that off. A Browserbase cloud browser hides it as well, but comes from a data centre, so an IP check would catch it. A few say what they are. Claude Cowork ’s browser announced itself as HeadlessChrome/153 with webdriver: true , from Anthropic’s servers and a different IP address for almost every page. Vercel’s agent-browser and Chrome DevTools MCP report webdriver: true as well. And Manus went furthest: it adds Manus-User/1.0 to its user agent and signs every page request with a Signature-Agent: "https://api.manus.im" header and a cryptographic signature the Web Bot Auth https://developers.cloudflare.com/bots/reference/bot-verification/web-bot-auth/ standard, an IETF draft https://datatracker.ietf.org/doc/draft-meunier-web-bot-auth-architecture/ , so a site can check that the request really came from Manus. It was the only agent in the test that did. One agent, two browsers We gave Comet the same prompt six times. Three times it worked in our own Comet window. The other three times it used a browser in Perplexity’s cloud: Windows, a server graphics card, a Los Angeles timezone and an Amazon data-centre address. When we started two tasks at once, the first ran in our browser and the second in the cloud. Asked why, Comet told us it uses the cloud browser for public pages and our own browser only when a site needs our login. That isn’t what it did: it used our browser three times for the same public page. The two browsers also click differently, as the next sections show. So the same product can reach your site as a person on a home connection or as a server in a data centre. Many came from our own connection ChatGPT Work, Claude in Chrome, Comet in our browser and Grok all reached the site from our home IP address, with our timezone, and so did every developer tool we ran on our Mac. That’s worth knowing if you filter bots by IP address or by “data centre or not”: for these agents, a website sees the same address as the person who sent them. Agents that only read Asked the same question, Grok answered everything correctly, and even worked out the monthly price itself €10.80 , without a single click, scroll or mouse movement. It typed the addresses of the plans and contact pages directly and read the SSO answer out of the table that was still collapsed on screen. Manus did the same: three pages typed in 21 seconds, no click, no scroll, no movement. In analytics that’s three page views, almost no time on each page, and no interaction: it looks like a visitor who left straight away. In fact it’s a visitor who read everything. When we told Grok to click around, it did, and then it clicked like the other agents below. Most chatbots that fetch the page name themselves When you paste a link into a chatbot and ask for a summary, most don’t open a browser. They fetch the page once from their own servers. No script runs, so an analytics tool that counts with a script in the page never sees the visit. Your server does, and most of these are easy to tell apart: they say who they are in the user agent, and most vendors document it OpenAI https://developers.openai.com/api/docs/bots , Anthropic https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler , Perplexity https://docs.perplexity.ai/guides/bots , Google https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers , Mistral https://docs.mistral.ai/robots , Meta https://developers.facebook.com/docs/sharing/webmasters/crawler . | | User agent | Checked robots.txt first | |---|---|---| | ChatGPT | ChatGPT-User/1.0 | No. OpenAI’s search crawler fetched it 33 seconds later | | Claude | Claude-User/1.0 | Yes, one second before | | Gemini | Google | No | | Mistral | MistralAI-User/1.0 , every page twice in the same second | Yes, the first time | | Meta AI | meta-webindexer/1.1 , the name of Meta’s indexing crawler | Yes, as facebookexternalhit | | Claude Code | Claude-User claude-code/… , asks for Markdown first | No | ChatGPT - User agent - ChatGPT-User/1.0 - Checked robots.txt first - No. OpenAI’s search crawler fetched it 33 seconds later Claude - User agent - Claude-User/1.0 - Checked robots.txt first - Yes, one second before Gemini - User agent - Google - Checked robots.txt first - No Mistral - User agent - MistralAI-User/1.0 , every page twice in the same second - Checked robots.txt first - Yes, the first time Meta AI - User agent - meta-webindexer/1.1 , the name of Meta’s indexing crawler - Checked robots.txt first - Yes, as facebookexternalhit Claude Code - User agent - Claude-User claude-code/… , asks for Markdown first - Checked robots.txt first - No Perplexity PerplexityBot/1.0 fetched robots.txt and then our start page instead of the address we gave it, twice. The start page of the test site is empty, so it told us it couldn’t fetch the page. Another time it said the page “returned no readable content” without sending us a single request. Browserbase’s hosted agent , asked to do the full task, didn’t use a browser either. It fetched the pages with headers that imitate Chrome 146 on macOS, ten versions behind everything else in the test, and requested two pages in the same millisecond from two different IP addresses. Two “fetchers” run your scripts Two of the chatbot tools didn’t just fetch the page. They opened it in a real browser, so our script ran, and an analytics tool would count a visitor. Jina Reader , a service agents use to turn a page into text, loaded it in a headless Chrome in a data centre. Its user agent said plain Linux Chrome 156; only a second version header, which said 155, showed that the user agent had been changed. DeepSeek opened the page in Firefox 149 on Linux, with Chinese as its language and a Hong Kong timezone, from a Huawei Cloud address in Hong Kong, and was gone within three seconds. Nothing it sent named DeepSeek or a bot. In analytics, both are a visitor who loaded one page, did nothing and left. What gave the clicking agents away Once an agent clicks, we could compare its clicks with ours. The first thing we measured, how long the button is held, worked for most agents and failed for two: | | Button held | Last pointer move before the click | |---|---|---| | Most agents | 0 to 13 ms | 1 to 63 ms before | | Browser Use | 82 to 90 ms | 134 to 142 ms before | | Comet in our browser | 265 to 453 ms | 531 to 755 ms before | | People with a mouse or trackpad | 29 to 266 ms | 21 ms to 2 seconds before | Most agents - Button held - 0 to 13 ms - Last pointer move before the click - 1 to 63 ms before Browser Use - Button held - 82 to 90 ms - Last pointer move before the click - 134 to 142 ms before Comet in our browser - Button held - 265 to 453 ms - Last pointer move before the click - 531 to 755 ms before People with a mouse or trackpad - Button held - 29 to 266 ms - Last pointer move before the click - 21 ms to 2 seconds before Browser Use and Comet in our browser press, wait and release like a person. Comet in the cloud didn’t: it held the button for 10 to 13 ms. What gave every clicking agent away was how the pointer got to the button. A person moves a hand, so the pointer arrives in many small steps; the last step before a click was 0 to 2 pixels for every one of our clicks. An agent doesn’t move a hand. Before each click, the pointer appeared on the target in a single jump of 200 to 840 pixels, or it appeared there for the first time on the page, and it barely moved otherwise: | | Agents | People with a mouse or trackpad | |---|---|---| | The last move before a click | One jump onto the target | A small step, 0 to 2 pixels | | Other pointer movement on the page | 0 to 2 movements | 11 to 642 | The last move before a click - Agents - One jump onto the target - People with a mouse or trackpad - A small step, 0 to 2 pixels Other pointer movement on the page - Agents - 0 to 2 movements - People with a mouse or trackpad - 11 to 642 This held for all 13 kinds of clicking agent, in every run: those that click through Chrome’s remote-control interface, Claude computer use, which clicks through the operating system, and the two that wait like a person. Signals that didn’t hold up Some things that sound like good bot signals failed on our own data: - How long the button is held. Most agents click in a few milliseconds, but Browser Use and Comet hold the button as long as people do, and the accessibility tools below click faster than any agent. - Clicking dead in the centre of a button. ChatGPT Work did, usually within a pixel. But Claude in Chrome and Claude computer use aim at the text they see in a screenshot, and missed the centre of a wide element by more than 230 pixels. And one of us hit a link within 2 pixels of its centre with a trackpad. - A big jump of the pointer. A fast swipe on a trackpad moved the pointer 701 pixels in one step. Only a jump that lands right on what is clicked next is suspicious. - Pressure. ChatGPT Work and Comet reported a pressure of 0 when they clicked, where a mouse reports 0.5. The Playwright tools reported 0.5. - How it navigates. ChatGPT Work typed the addresses in some runs and clicked the links like a person in others, with the same browser. - The console trick for spotting remote control. Tools that drive Chrome through its remote-control interface often listen to the browser console. Bot-detection scripts exploit that: the page logs an error object that notices when something reads it, and a listening tool does. It noticed nothing in any browser we tested, Playwright included, so it doesn’t work in the Chrome versions we saw 136 to 156 . Accessibility tools look more like bots than the bots macOS Voice Control lets you click by saying what to click. Every one of its clicks landed exactly in the centre, with the button “held” for less than a millisecond, a pressure of 0, and no mouse movement at all. On any single signal, it looked more automated than ChatGPT Work. Dwell clicks for you when you rest the pointer on something. Its clicks were also held for 0 to 3 milliseconds. Both differ from the agents in how the pointer moves: Voice Control never moves it before clicking, and with Dwell the pointer rests on the target for about three seconds, moved there by a hand in small steps. A detection rule that relies on click timing would label people who can’t use a mouse as bots. The movement tells them apart, but that’s the only thing that does. What this means for your analytics - AI agents are already in your numbers as people. Short visits that read everything and click nothing, and visits that go straight to pricing, may be agents. - Most chatbot fetches are counted on the server. They never reach a script in the page. To see how often someone asks ChatGPT, Claude or Mistral about your pages, count ChatGPT-User , Claude-User and MistralAI-User requests on your server. Some, like DeepSeek’s, show up in analytics as a one-page visit instead. - Don’t count on IP addresses. Most of the agents we ran came from our home connection. - Be careful with “bot” filters. If a filter catches instant, centred clicks, it also catches people using Voice Control. What we’re changing in Privatrak Privatrak already marks visits as automated https://privatrak.com/docs/sessions automated-visits when the browser says so webdriver or the user agent names a headless browser or an agent like Manus. In this test that caught the Playwright script, agent-browser, DevTools MCP, Claude Cowork and Manus. ChatGPT Work, Claude in Chrome, Comet, Grok, computer use, Browser Use, Playwright MCP and the Browserbase browser were counted as people. We’re adding a check in the browser for the movement pattern above: a visit is only marked when every mouse click on the page came after one jump of the pointer onto the target, with almost no other movement, so Voice Control and Dwell users stay people. Replayed on our recordings, that marks every clicking agent and none of us. The browser only sends “automated” or not, never the movements themselves. A marked visit is still counted, and you decide whether to leave automated visits out of your numbers. Agents that only read, and fetchers that run your scripts, will still look like people. For chatbots that only fetch, we’re working on counting them from your server: a small addition for your site sends only the requests whose user agent names a known chatbot or crawler, and Privatrak shows which pages ChatGPT, Claude and Perplexity fetched for someone, separate from your visitors. Also seen - Visitors before anyone had the link. Within minutes of the site’s certificate being issued, scanners that watch the public certificate logs visited it, some claiming to be Chrome. Anthropic’s crawler ClaudeBot came by twice the same morning. - Link previews. When people opened the test links we’d sent them, WhatsApp and Facebook’s preview fetchers got there first. - Google came back on its own. Right after an agent’s visit fired the Google Analytics tag, a Google fetcher GoogleOther loaded the same page. Every user agent we saw For reference, here is the user agent each one sent, copied from our server log. Only the rows marked “Yes” ran the page’s scripts, so only those can reach an analytics tool that counts with a script. The agents that drive a browser, ChatGPT’s agent included, send an ordinary Chrome user agent; only Claude Cowork, agent-browser and Manus give themselves away in it. | | User agent | Runs your scripts | |---|---|---| | ChatGPT Work ChatGPT’s agent | Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 | Yes | | Claude in Chrome your own browser | Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko Chrome/155.0.0.0 Safari/537.36 | Yes | | Comet, in your browser | Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko Chrome/145.0.0.0 Safari/537.36 | Yes | | Comet, in Perplexity’s cloud | Mozilla/5.0 Windows NT 10.0; Win64; x64 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 | Yes | | Grok | Mozilla/5.0 X11; Linux x86 64 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 | Yes | | Claude computer use | Mozilla/5.0 X11; Linux x86 64 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 | Yes | | Claude Cowork | Mozilla/5.0 X11; Linux x86 64 AppleWebKit/537.36 KHTML, like Gecko HeadlessChrome/153.0.8010.12 Safari/537.36 | Yes | | Manus | Mozilla/5.0 X11; Linux x86 64 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36; Manus-User/1.0 | Yes | | Browser Use | Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko Chrome/136.0.0.0 Safari/537.36 | Yes | | Playwright MCP, DevTools MCP | Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 | Yes | | Vercel agent-browser | Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko HeadlessChrome/156.0.0.0 Safari/537.36 | Yes | | Jina Reader | Mozilla/5.0 X11; Linux x86 64 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 | Yes | | DeepSeek | Mozilla/5.0 X11; Linux x86 64; rv:149.0 Gecko/20100101 Firefox/149.0 | Yes | | ChatGPT, reading a link | Mozilla/5.0 AppleWebKit/537.36 KHTML, like Gecko ; compatible; ChatGPT-User/1.0; +https://openai.com/bot | No | | Claude, reading a link | Mozilla/5.0 AppleWebKit/537.36 KHTML, like Gecko; compatible; Claude-User/1.0; +claude-user@anthropic.com | No | | Claude Code | Claude-User claude-code/2.1.309; +https://support.anthropic.com/ | No | | Gemini | Google | No | | Perplexity | Mozilla/5.0 AppleWebKit/537.36 KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot | No | | Mistral Le Chat | Mozilla/5.0 AppleWebKit/537.36 KHTML, like Gecko; compatible; MistralAI-User/1.0; +https://docs.mistral.ai/robots | No | | Meta AI | meta-webindexer/1.1 +https://developers.facebook.com/docs/sharing/webmasters/crawler | No | ChatGPT Work ChatGPT’s agent - User agent - Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 - Runs your scripts - Yes Claude in Chrome your own browser - User agent - Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko Chrome/155.0.0.0 Safari/537.36 - Runs your scripts - Yes Comet, in your browser - User agent - Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko Chrome/145.0.0.0 Safari/537.36 - Runs your scripts - Yes Comet, in Perplexity’s cloud - User agent - Mozilla/5.0 Windows NT 10.0; Win64; x64 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 - Runs your scripts - Yes Grok - User agent - Mozilla/5.0 X11; Linux x86 64 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 - Runs your scripts - Yes Claude computer use - User agent - Mozilla/5.0 X11; Linux x86 64 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 - Runs your scripts - Yes Claude Cowork - User agent - Mozilla/5.0 X11; Linux x86 64 AppleWebKit/537.36 KHTML, like Gecko HeadlessChrome/153.0.8010.12 Safari/537.36 - Runs your scripts - Yes Manus - User agent - Mozilla/5.0 X11; Linux x86 64 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36; Manus-User/1.0 - Runs your scripts - Yes Browser Use - User agent - Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko Chrome/136.0.0.0 Safari/537.36 - Runs your scripts - Yes Playwright MCP, DevTools MCP - User agent - Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 - Runs your scripts - Yes Vercel agent-browser - User agent - Mozilla/5.0 Macintosh; Intel Mac OS X 10 15 7 AppleWebKit/537.36 KHTML, like Gecko HeadlessChrome/156.0.0.0 Safari/537.36 - Runs your scripts - Yes Jina Reader - User agent - Mozilla/5.0 X11; Linux x86 64 AppleWebKit/537.36 KHTML, like Gecko Chrome/156.0.0.0 Safari/537.36 - Runs your scripts - Yes DeepSeek - User agent - Mozilla/5.0 X11; Linux x86 64; rv:149.0 Gecko/20100101 Firefox/149.0 - Runs your scripts - Yes ChatGPT, reading a link - User agent - Mozilla/5.0 AppleWebKit/537.36 KHTML, like Gecko ; compatible; ChatGPT-User/1.0; +https://openai.com/bot - Runs your scripts - No Claude, reading a link - User agent - Mozilla/5.0 AppleWebKit/537.36 KHTML, like Gecko; compatible; Claude-User/1.0; +claude-user@anthropic.com - Runs your scripts - No Claude Code - User agent - Claude-User claude-code/2.1.309; +https://support.anthropic.com/ - Runs your scripts - No Gemini - User agent - Google - Runs your scripts - No Perplexity - User agent - Mozilla/5.0 AppleWebKit/537.36 KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot - Runs your scripts - No Mistral Le Chat - User agent - Mozilla/5.0 AppleWebKit/537.36 KHTML, like Gecko; compatible; MistralAI-User/1.0; +https://docs.mistral.ai/robots - Runs your scripts - No Meta AI - User agent - meta-webindexer/1.1 +https://developers.facebook.com/docs/sharing/webmasters/crawler - Runs your scripts - No How we tested The test site ran on our own server, with three static pages. The server log recorded every request with all its headers. A script on each page reported what the browser said about itself user agent, webdriver , window size, timezone, graphics and how each click happened: how long the button was held, how the pointer moved before it, and how many movements there were in total. It never read what was typed into the form. Each agent ran in its own way: - ChatGPT Work, Grok, Cowork, Comet, Manus and the chatbots were run by hand in their own apps or websites, on free plans where possible. - Claude in Chrome ran in our own Chrome. - Claude computer use ran on Claude Opus 5.5 with the computer-use toolset, in a Linux desktop in Docker that clicks with xdotool , like Anthropic’s reference setup. - agent-browser, Playwright MCP and DevTools MCP were driven by Claude Code on our Mac; Browser Use ran on our Mac with Claude Sonnet 4.6 and its default settings. - The Playwright script ran in Chrome on our Mac and in a Browserbase cloud browser. Jina Reader was called without an account. Limits to keep in mind: - It’s one day and one site: one to six runs per agent, and ten runs by people, most of them by us. - Agents change quickly. A new version can click differently tomorrow. - An agent that moves the pointer along a path in small steps would look like a person. None of the agents we tested did. - Where Grok’s browser runs, and what makes Comet choose a browser, is what we observed, not something we could confirm.