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
- https://docs.zapier.com/platform/reference/cli-docs
- https://github.com/zapier/zapier-platform/blob/main/packages/core/src/http-middlewares/after/throw-for-throttling.js
Have your agent know this before it fails
claude mcp add --transport http footgun https://getfootgun.com/api/mcp