Simon Willison’s Weblog

Subscribe
Atom feed for user-agents

8 posts tagged “user-agents”

2025

ChatGPT agent’s user-agent

Visit ChatGPT agent's user-agent

I was exploring how ChatGPT agent works today. I learned some interesting things about how it exposes its identity through HTTP headers, then made a huge blunder in thinking it was leaking its URLs to Bingbot and Yandex... but it turned out that was a Cloudflare feature that had nothing to do with ChatGPT.

[... 1,260 words]

It's not in their release notes yet but Anthropic pushed some big new features today. Alex Albert:

We've improved web search and rolled it out worldwide to all paid plans. Web search now combines light Research functionality, allowing Claude to automatically adjust search depth based on your question.

Anthropic announced Claude Research a few weeks ago as a product that can combine web search with search against your private Google Workspace - I'm not clear on how much of that product we get in this "light Research" functionality.

I'm most excited about this detail:

You can also drop a web link in any chat and Claude will fetch the content for you.

In my experiments so far the user-agent it uses is Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Claude-User/1.0; +Claude-User@anthropic.com). It appears to obey robots.txt.

# 2nd May 2025, 6:45 pm / alex-albert, anthropic, claude, llm-tool-use, deep-research, ai, llms, generative-ai, user-agents

2017

Running gunicorn behind nginx on Heroku for buffering and logging

Heroku’s default setup for Django uses the gunicorn application server. Each Heroku dyno can only run a limited number of gunicorn workers, which means a limited number of requests can be served in parallel (around 4 per dyno is a good rule of thumb).

[... 400 words]

2009

Changes in Opera’s user agent string format (via) How depressing... Opera 10 will ship with 9.80 in the User-Agent string because badly written browser sniffing scripts can’t cope with double digits.

# 28th May 2009, 1:16 am / browsers, browsersniffing, opera, user-agents

2008

minidetector. Neat piece of Django middleware that adds a “mobile = True” attribute to the request object if the request’s user-agent matches a list of strings of known low-power browsers in mobiles, PDAs or game consoles.

# 15th August 2008, 8:21 am / django, middleware, minidetector, mobile, python, user-agents

2003

Browser detection reconsidered

Leonard Lin on The Folly of Depending on CSS Parsing Bugs:

[... 333 words]

2002

Mozilla versions

Peter-Paul Koch on evolt: One browser, many names—an invaluable guide to the many different version numbers and user-agent strings resulting from the Mozilla project.

User Agent list

rudy on thelist pointed me to this handy List of User Agents.