1102: Worker Subrequest Limit ReachedError 1102 occurs when a Cloudflare Worker makes too many fetch() subrequests during a single invocation. Workers have a limit on the number of external HTTP requests they can make per execution (50 for the bundled usage model). When this limit is exceeded, the Worker is terminated and Cloudflare returns 1102. This usually indicates the Worker is making too many API calls, following too many redirects, or has a loop in its fetch logic.
Error 1102: Worker Subrequest Limit ReachedGET /feed/aggregated HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/htmlHTTP/1.1 500 Internal Server Error
Server: cloudflare
CF-RAY: 7d2e3f4a5b6c7890-HKG
Content-Type: text/html
<!doctype html>
<html>
<head>
<title>www.example.com | Error 1102</title>
</head>
<body>
<h1>Error 1102: Worker subrequest limit reached</h1>
<p>A Cloudflare Worker on this page exceeded the maximum number of allowed subrequests. Please contact the site owner.</p>
</body>
</html>Review your Worker code and count the maximum number of fetch() calls that can occur in a single request. Ensure it stays well under the 50-subrequest limit.
If possible, batch multiple API calls into a single request, use caching (Cache API or KV), or reduce the data fetched per request.
Ensure your Worker's fetch calls use 'redirect: manual' to prevent automatic redirect following that could consume subrequests.
// In Worker code: fetch(url, { redirect: 'manual' })If the Worker fetches the origin via the same Cloudflare-proxied domain, it will invoke itself recursively. Use the origin IP directly or set a custom header to detect and break the loop.
The Worker logic makes many parallel or sequential fetch() requests to external APIs, exceeding the 50-subrequest limit per invocation.
The Worker follows redirects that eventually loop back, consuming subrequest quota with each redirect hop.
The Worker's fetch() call to the origin triggers the same Worker route again, creating a recursive loop that exhausts the subrequest limit.
A Cloudflare Worker script running on this domain threw an unhandled JavaScript exception.
Cloudflare received an empty, unknown, or unexpected response from the origin server.
Cloudflare connected to the origin but the origin did not respond with an HTTP response in time.
This reference was compiled from official RFCs, protocol specifications, and hands-on troubleshooting experience. AI tools were used primarily for formatting and organizing the content on the page.