gatsbyjs/gatsby · error
Timeout
Timeout
Error message
It took too long for ${url} to respond (longer than ${timeout / 1000} seconds).
Either your URL is wrong, you need to increase server resources, or you need to decrease the amount of resources each request takes.
You can configure how much resources each request takes by lowering your `options.schema.perPage` value from the default of 100 nodes per request.
Alternatively you can increase the request timeout by setting a value in milliseconds to `options.schema.timeout`, the current setting is ${timeout}.
${genericError({ url })} What it means
Error "It took too long for ${url} to respond (longer than ${timeout / 1000} seconds). Either your URL is wrong, you need to increase server resources, or you need to decrease the amount of resources each request takes. You can configure how much resources each request takes by lowering your `options.schema.perPage` value from the default of 100 nodes per request. Alternatively you can increase the request timeout by setting a value in milliseconds to `options.schema.timeout`, the current setting is ${timeout}. ${genericError({ url })}" thrown in gatsbyjs/gatsby.
Source
Thrown at packages/gatsby-source-wordpress/src/utils/fetch-graphql.ts:337
query,
response,
errorContext,
isFirstRequest,
headers,
}: IHandleFetchErrors): Promise<void> => {
await handleErrors({
panicOnError: false,
reporter,
variables,
pluginOptions,
query,
errorContext,
responseJSON: null,
})
if (e.message.includes(`timeout of ${timeout}ms exceeded`)) {
reporter.error(e.message)
reporter.panic({
id: CODES.Timeout,
context: {
sourceMessage: formatLogMessage(
`It took too long for ${url} to respond (longer than ${
timeout / 1000
} seconds).\n\nEither your URL is wrong, you need to increase server resources, or you need to decrease the amount of resources each request takes.\n\nYou can configure how much resources each request takes by lowering your \`options.schema.perPage\` value from the default of 100 nodes per request.\nAlternatively you can increase the request timeout by setting a value in milliseconds to \`options.schema.timeout\`, the current setting is ${timeout}.\n\n${genericError(
{ url }
)}`,
{ useVerboseStyle: true }
),
},
})
return
}
if (errorIs500ish(e) && !e.message.includes(`500`)) {
if (`message` in e) {
console.error(formatLogMessage(new Error(e.message).stack))View on GitHub (pinned to 8b06340921)
Solutions
- Increase options.schema.timeout (milliseconds) in gatsby-config.js.
- Lower options.schema.perPage below 100 so each request is cheaper.
- Verify the WordPress URL is correct and the server has enough resources to answer GraphQL requests.
When it happens
Trigger: Thrown at packages/gatsby-source-wordpress/src/utils/fetch-graphql.ts:337 when the library encounters an invalid state.
Common situations: Occurs when a WPGraphQL request exceeds the configured schema timeout. Verify the URL, increase options.schema.timeout, or lower options.schema.perPage to reduce per-request work on the WordPress server.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of gatsbyjs/gatsby@8b06340921 (2026-08-13).
Data as JSON: /api/errors/b6f5b77d3da57c00.
Report an issue: GitHub.