# [Which agents does Rebilder detect?](https://rebilder.com/help/agent-traffic/which-agents-detected)

> The AI platforms Rebilder recognizes today, and the signals (headers, signatures, user agents) it recognizes them by.

## The platforms

| Shown in Console as | What it is |
| --- | --- |
| chatgpt | OpenAI’s assistants and fetchers: ChatGPT browsing on a user’s behalf, OAI-SearchBot, and GPTBot. |
| claude | Anthropic’s Claude fetching pages for a user or for retrieval (ClaudeBot, Claude-User, Claude-Web). |
| claude-code | Anthropic’s developer CLI, a coding agent that fetches pages as markdown. |
| opencode | The open-source OpenCode CLI agent. |
| perplexity | Perplexity’s answer engine (PerplexityBot and its on-demand user fetcher). |
| gemini | Google’s Gemini assistant fetchers (including Google-Extended). |
| googlebot / bingbot | Search engine crawlers. They are recognized, but classified as crawlers rather than agents, and always served your normal HTML. |
| unknown | A requester that behaves like an agent (e.g. asks for markdown) but isn’t attributable to a known platform. |

## The detection signals, in plain language

Detection checks the cheapest, most reliable signals first:

- What the request asks for: agents that want markdown say so, with an `Accept: text/markdown` header. That is the strongest signal.
- A signed identity header: some agents send a Signature-Agent header (an emerging “Web Bot Auth” standard) naming who they are. Rebilder reads it for classification, and cryptographic verification of the signature is live in the gateway, which starts saying “verified: yes” once trusted platform keys are on file (the shipped key registry is deliberately empty until real published keys are pinned).
- Protocol paths: requests to commerce-protocol endpoints like `/mcp` or `/.well-known/ucp` mark a protocol client.
- The user-agent string: a fallback pattern match against the known platforms above.

Every newly observed agent in the wild gets its real request headers recorded as a test fixture, so detection keeps improving without you doing anything. When none of the signals match, the visit is classified as human.