gatsbyjs/gatsby · error
111006
111006
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 e85d62f177)
Solutions
- Increase options.schema.timeout in gatsby-config.js (milliseconds)
- Lower options.schema.perPage below the default of 100 so each request is smaller
- Verify the WordPress/WPGraphQL URL is correct and reachable
- Increase server resources (PHP workers, memory, DB) so responses complete faster
Defensive patterns
Strategy: try-catch
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: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of gatsbyjs/gatsby@e85d62f177 (2026-08-26).
Data as JSON: /api/errors/720bdf3f198c1b60.
Report an issue: GitHub.