{"record":{"id":"195de637a304245f","repo":"gatsbyjs/gatsby","slug":"couldn-t-find-any-supported-gatsby-node-api-s-in","errorCode":null,"errorMessage":"Couldn't find any supported Gatsby Node API's in ${initialApiNameString}","messagePattern":"Couldn't find any supported Gatsby Node API's in (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby-source-wordpress/src/utils/run-steps.ts","lineNumber":107,"sourceCode":"  try {\n    const { isGatsbyNodeLifecycleSupported } = require(`gatsby-plugin-utils`)\n\n    for (const apiName of potentialApiNames) {\n      if (isGatsbyNodeLifecycleSupported(apiName)) {\n        return apiName\n      }\n    }\n  } catch (e) {\n    console.error(\n      `Could not check if Gatsby supports node API's [${potentialApiNames.join(\n        `, `\n      )}]. Trying to use the first available API name (${potentialApiNames[0]})`\n    )\n\n    return potentialApiNames[0]\n  }\n\n  throw new Error(\n    `Couldn't find any supported Gatsby Node API's in ${initialApiNameString}`\n  )\n}\n\nconst runApiSteps = (steps: Array<Step>, apiName: string): IGatsbyApiHook =>\n  wrapApiHook(\n    async (\n      helpers: GatsbyNodeApiHelpers,\n      pluginOptions: IPluginOptions\n    ): Promise<void> => runSteps(steps, helpers, pluginOptions, apiName)\n  )\n\nexport { runSteps, runApiSteps, findApiName }\n","sourceCodeStart":89,"sourceCodeEnd":121,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/8b06340921ffdf23125a365b9c9923690cb62ce6/packages/gatsby-source-wordpress/src/utils/run-steps.ts#L89-L121","documentation":"findApiName takes a pipe-delimited string of candidate Gatsby Node API lifecycle names (e.g. 'onPluginInit|unstable_onPluginInit') and uses gatsby-plugin-utils' isGatsbyNodeLifecycleSupported to pick the first one the running Gatsby version supports. If none of the candidates are supported — and the require() of gatsby-plugin-utils did not itself throw — this error fires. The require() failure path is handled separately (it falls back to the first candidate).","triggerScenarios":"The candidate API names string is empty or contains only names no Gatsby version recognizes; a typo in the pipe-delimited string; running against a Gatsby version so old that even the legacy names are not listed; a future Gatsby that removed the listed APIs entirely.","commonSituations":"Editing run-steps with a mistyped lifecycle name; running gatsby-source-wordpress on an incompatible (too old or too new) Gatsby core; custom build of Gatsby that does not register the lifecycle support map; a regression that drops the pipe-delimited string to a single unsupported name.","solutions":["Upgrade or downgrade gatsby-source-wordpress and Gatsby core to a mutually compatible pair.","Inspect the pipe-delimited API name string passed to runApiSteps for typos.","Confirm gatsby-plugin-utils is installed and resolves (the catch path handles require failure; this throw only fires when require succeeded but no candidate matched).","If the error appears after a Gatsby upgrade, pin gatsby-source-wordpress to a version that supports the new lifecycle names."],"exampleFix":"null","handlingStrategy":"validation","validationCode":"const { isGatsbyNodeLifecycleSupported } = require('gatsby-plugin-utils')\nconst supported = candidates.some(isGatsbyNodeLifecycleSupported)\nif (!supported) { throw new Error(`No supported Gatsby lifecycle in [${candidates.join(', ')}]; check Gatsby/gatsby-source-wordpress version compatibility`) }","typeGuard":"const isSupportedLifecycle = (name) => { try { return require('gatsby-plugin-utils').isGatsbyNodeLifecycleSupported(name) } catch { return false } }","tryCatchPattern":"null","preventionTips":["Keep gatsby-source-wordpress and gatsby core on compatible versions","Avoid editing the pipe-delimited lifecycle strings in run-steps","Run a fresh gatsby clean after upgrading Gatsby to refresh the lifecycle support map"],"tags":["wordpress","gatsby","lifecycle","compatibility"],"backgroundTag":null,"analyzedSha":"8b06340921ffdf23125a365b9c9923690cb62ce6","analyzedAt":"2026-08-13T02:36:21.405Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}