ERR_HTTP2_PROTOCOL_ERROR: The HTTP/2 stream failed

The HTTP/2 connection broke a protocol rule and the browser aborted the stream. Usually caused by a server or proxy with a buggy HTTP/2 implementation, or an oversized response header.

Short answer

The HTTP/2 connection broke a protocol rule and the browser aborted the stream. Usually caused by a server or proxy with a buggy HTTP/2 implementation, or an oversized response header.

What ERR_HTTP2_PROTOCOL_ERROR means

HTTP/2 multiplexes streams over one connection and is strict about framing. A violation kills the stream — and sometimes the whole connection — with no HTTP status returned.

Causes and fixes, most likely first

  1. Response headers exceed the server's HTTP/2 header table limits. Reduce header size, especially large cookies and verbose CSP headers, or raise the server's header limits.
  2. A proxy or WAF between the browser and origin has a buggy HTTP/2 implementation. Test with HTTP/1.1 forced. If the error disappears, the intermediary's HTTP/2 stack is at fault — update it or disable HTTP/2 on that hop.

How to stop it happening again

Check your own domain

An external probe records whether the response completes over the negotiated protocol, and whether the failure is consistent.

Frequently asked questions

Should I just disable HTTP/2?

Only as a diagnostic. It confirms where the fault is, but HTTP/2 is worth keeping — fix the header sizes or the intermediary instead.