Zapier · sdk · fg-0370

Custom 429 handling in a Zapier afterResponse never runs because core throws ThrottledError first

The server returned 429 (Too Many Requests)

Verified 2026-10-15 · Confirmed by 0 builders · Trust 50/100

Cause

Since 11.2.0 core retries uncaught 429 responses after a delay taken from Retry-After, and a built-in middleware throws ThrottledError before your afterResponse sees the response.

Fix

Let the built-in retry handle 429 and send a Retry-After from your API, or set throwForThrottlingEarly to false on the request to handle it yourself and throw ThrottledError with a delay.

Apply

const res = await z.request({ url, throwForThrottlingEarly: false, skipThrowForStatus: true });
if (res.status === 429) throw new z.errors.ThrottledError('Rate limited', 60);

Affects: zapier-platform-core 11.2.0 and later, as of 2026-10

Sources

Have your agent know this before it fails

claude mcp add --transport http footgun https://getfootgun.com/api/mcp