the Chromium logo

The Chromium Projects

User-Agent Client-Hints

Overview

This page provides a central reference point about the User-Agent Client Hints (UA-CH) rollout for Chrome 85+ stable. If you’re not familiar with User-Agent Client Hints, you can read up on them here.

Launch Timeline

Last updated November 22, 2021

Possible Site Compatibility Issue

UA-CH is an additive feature, which adds two new request headers that are sent by default: `sec-ch-ua` and `sec-ch-ua-mobile`. Those request headers are based off of Structured Field Values, an emerging standard related to HTTP header values. They contain characters that, though permitted in the HTTP specification, weren’t previously common in request headers, such as double-quotes (“), equal signs (=), forward-slashes (/), and question marks (?). Some Web-Application-Firewall (WAF) software, as well as backend security measures, may mis-categorize those new characters as “suspicious”, and as such, block those requests.

This typically presents itself as a 4XX HTTP response code (e.g. 400, 404 or 422), either on any request or on POST requests or API endpoints (which servers tend to take special precautions with).

How to file bugs

Here are some basic troubleshooting steps:

If after trying these things, you have determined that it may be a UA-CH issue, please file a CR bug, including [UA-CH] in its title. Add a comment about it to the following tracking bug.

(Deprecated) How to identify if a user is in the stable experiment

Note: As of Chrome 89, this feature is rolled out to full population.

Go to chrome://version?show-variations-cmd. Search for “UserAgentClientHint” in the long command string towards the bottom. If they are in the enabled group, the --force-fieldtrials value will say something like one of the following:

If they do not have the features enabled, the string will be absent.

Alternatively, going to this test site can confirm the feature is enabled - when the feature is enabled `sec-ch-ua` and `sec-ch-ua-mobile` requests will be listed as being sent by the client.