Webclat / AI Visibility
Webclat / AI Visibility  /  agentic traffic

AI agent user-agent directory: ChatGPT, Operator/Atlas, Perplexity, Claude, Gemini

Every major assistant now has at least one way of acting on a user's behalf. Some of them tell your server who they are. Several deliberately, or just incidentally, do not.

In short

ChatGPT-User, Perplexity-User, and Claude-User are distinct, self-identifying tokens each vendor uses for real-time, user-triggered fetches. ChatGPT Atlas's agent mode and Anthropic's Computer Use agent instead drive a genuine browser and present an ordinary browser user-agent string - no distinguishing token at all. Google's Project Mariner did the same before later adding a token, then was folded into a newer Gemini Agent surface. Every string below is spoofable; treat this as a reference for what to look for, not proof of who sent it.

Landscape as of September 2026

Self-identifying acting agents

Vendor / productToken / stringWhat triggers it
OpenAI - ChatGPT-UserMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/botChatGPT's browsing tool fetching a page live to answer a user's question. Distinct from GPTBot (training crawl) and OAI-SearchBot (search index crawl) - both out of scope here, see the crawler directory.
Perplexity - Perplexity-UserMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)Real-time fetch triggered by a live user query. Per Perplexity's own documentation this agent can disregard robots.txt when the user supplies a specific URL as context - unlike PerplexityBot, its indexing counterpart, which is expected to obey it.
Anthropic - Claude-UserMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Claude-User/1.0; +Claude-User@anthropic.com)Fetches a web page when a Claude user asks a question that needs current information. Distinct from ClaudeBot (training crawl) and Claude-SearchBot (Claude's own search index) - out of scope here.

Agents that present as an ordinary browser

Vendor / productWhat the traffic looks likeNotes
OpenAI - ChatGPT Atlas (agent mode)An ordinary Chrome-on-macOS user-agent string, reportedly indistinguishable at the header level from the current desktop Chrome releaseAtlas is OpenAI's own Chromium-based browser with an agent mode that clicks, fills forms, and navigates. [hypothesis: current as of the sources checked in September 2026 - OpenAI has not published a distinct Atlas agent-mode token; this could change without notice]
Anthropic - Claude (Computer Use)A full, unmodified browser session - executes JavaScript, accepts cookies, honors CSPDesigned to control a real computer the way a person would; its network fingerprint is reported to be effectively indistinguishable from a human session, which is the point of the capability, not a bug to patch.
Google - Project Mariner / Gemini AgentOriginally a bare Chrome UA controlling an extension-driven browser; later versions added the token GoogleAgent-MarinerGoogle reportedly wound down the standalone Project Mariner product in 2026 and folded its capability into a newer Gemini Agent surface - the fastest-moving row in this table and the clearest case for re-checking rather than hard-coding.

Why this list will go stale

Three of these six rows changed meaningfully within the last year: Operator was absorbed into ChatGPT agent and then Atlas, Mariner was folded into Gemini Agent, and Perplexity added its second, User-triggered token alongside its original crawler. Build detection logic that degrades gracefully when a token is unrecognized (fall back to the composite signals in how to detect AI agent traffic) rather than a hard-coded allowlist that silently drops new agents into "unknown."

Common questions

What's the difference between ChatGPT-User and ChatGPT Atlas?

ChatGPT-User is a distinct, self-identifying token OpenAI's browsing tool uses when it fetches a page live for a ChatGPT user. ChatGPT Atlas, OpenAI's own browser with agent mode, presents an ordinary Chrome-on-macOS user-agent string with no distinguishing token at all - two very different levels of visibility from the same company.

Is PerplexityBot the same as Perplexity-User?

No. PerplexityBot is the indexing crawler that builds Perplexity's own search index - it belongs with the crawler-directory content, not this one. Perplexity-User is the real-time fetch triggered when a live user asks Perplexity a question, and per Perplexity's own documentation it can disregard robots.txt when the user supplies a specific URL as context.

Can I trust a user-agent string that claims to be one of these agents?

Not on its own. Any of these strings can be set by a script with no relationship to the named vendor. Treat the token as a claim to check, not a fact - see spoofed agent user-agents for the verification methods.

Why does this directory not include GPTBot or ClaudeBot?

GPTBot, ClaudeBot, and CCBot are training/indexing crawlers, not acting agents - a visitor never stands behind them in the moment. That population already has its own directory on this site; this page covers the user-agents that fire when an agent is acting for someone right now.

Classify these correctly at the edge, not in a spreadsheet.

We build the server-side classification layer that reads these signals per request and feeds a clean category into your analytics - not a one-time list.

Talk to Us About Agent Classification