ChatGPT-User: OpenAI User Agent for ChatGPT Requests
ChatGPT-User visits pages when a ChatGPT user or custom GPT asks for them. User agent string, IP list, robots.txt status and server blocking.
ChatGPT-User is the user agent that OpenAI uses when ChatGPT or a custom GPT visits a web page for a user. It does not crawl the web on its own, and it does not decide whether your site appears in ChatGPT search. OpenAI does not promise that it obeys robots.txt, so if you must stop it, block it on your server.
What ChatGPT-User does
OpenAI’s crawler documentation says that ChatGPT-User is used for certain user actions in ChatGPT and in custom GPTs. When a user asks a question, ChatGPT can visit a web page with this agent. Users can also connect to external applications through GPT Actions.
OpenAI states that ChatGPT-User is not used to crawl the web in an automatic way. It is also not used to decide whether content can appear in ChatGPT search.
User-agent string
The user agent is the client name in the User-Agent HTTP header. OpenAI gives this full string:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot
OpenAI publishes the IP addresses of ChatGPT-User at openai.com/chatgpt-user.json.
OpenAI-GPT-User is not an OpenAI name
OpenAI-GPT-User is not a user agent name that OpenAI uses. None of the four user agents in the OpenAI crawler documentation has this name. A log filter, firewall rule or robots.txt group for “OpenAI-GPT-User” never matches a real OpenAI request. Match ChatGPT-User instead. For example, this command lists ChatGPT-User requests in an nginx access log:
grep "ChatGPT-User" /var/log/nginx/access.log
Run it on the host that runs nginx. Change the path if your log file is in a different place.
OpenAI bots and their jobs
OpenAI uses a separate user agent for each job. A rule for one does not apply to the others.
| Token | What it does |
|---|---|
OAI-SearchBot |
Finds sites to show in ChatGPT search results |
GPTBot |
Crawls content that can be used to train OpenAI foundation models |
ChatGPT-User |
Visits pages for user actions in ChatGPT and custom GPTs |
OAI-AdsBot |
Visits the landing pages of ads that advertisers submit to ChatGPT |
The OAI-SearchBot and GPTBot guides cover those two bots.
ChatGPT-User and robots.txt
robots.txt is a text file at the site root with rules for crawlers. OpenAI writes: “Because these actions are initiated by a user, robots.txt rules may not apply.” OpenAI tells site owners to use the OAI-SearchBot token to opt out of search and of automatic crawls.
You can still add a group for ChatGPT-User:
User-agent: ChatGPT-User
Disallow: /
OpenAI does not say that ChatGPT-User obeys this group. Compare Anthropic: it says that its user agent Claude-User obeys robots.txt.
Block ChatGPT-User on the server
If you must stop these requests, block them on your web server or firewall. You can match the user-agent token or the IP addresses in chatgpt-user.json. This nginx example returns HTTP 403 for the token:
if ($http_user_agent ~* "ChatGPT-User") {
return 403;
}
Put the example in the server block of your site configuration, then reload nginx.
What a block changes
After a block, ChatGPT cannot open your pages when a user asks it to. The block does not remove your site from ChatGPT search, because OpenAI controls search with OAI-SearchBot. The block also says nothing about training, because GPTBot controls training.
Verify requests
Anyone can copy a user-agent string. If a request has ChatGPT-User in the user agent, make sure that its IP address is in openai.com/chatgpt-user.json. The creationTime field in the file shows when OpenAI made the current version.
For the product behind this agent, see the ChatGPT and ChatGPT Search guide.