facebook/docusaurus · error
Docusaurus plugin global data not found for "${pluginName}"
Error message
Docusaurus plugin global data not found for "${pluginName}" plugin with id "${pluginId}". What it means
Thrown by usePluginData when a specific plugin instance (pluginName + pluginId) has no global data and options.failfast is true. Same semantics as error 112 but scoped to one instance id (default 'default'). Indicates the named instance did not contribute global data.
Source
Thrown at packages/docusaurus/src/client/exports/useGlobalData.ts:39
const globalData = useGlobalData();
const pluginGlobalData = globalData[pluginName];
if (!pluginGlobalData && options.failfast) {
throw new Error(
`Docusaurus plugin global data not found for "${pluginName}" plugin.`,
);
}
return pluginGlobalData;
}
export function usePluginData(
pluginName: string,
pluginId: string = DEFAULT_PLUGIN_ID,
options: UseDataOptions = {},
): GlobalData[string][string] {
const pluginGlobalData = useAllPluginInstancesData(pluginName);
const pluginInstanceGlobalData = pluginGlobalData?.[pluginId];
if (!pluginInstanceGlobalData && options.failfast) {
throw new Error(
`Docusaurus plugin global data not found for "${pluginName}" plugin with id "${pluginId}".`,
);
}
return pluginInstanceGlobalData;
}
View on GitHub (pinned to 3f483e80e3)
Solutions
- Verify the plugin instance id (use 'default' when only one instance exists).
- Remove failfast to degrade gracefully when data is absent.
- Check enabledInstances for the plugin to confirm the requested id is registered.
Example fix
// before
const data = usePluginData('docs', 'old-version', {failfast: true});
// after
const data = usePluginData('docs', 'default'); Defensive patterns
Strategy: validation
Validate before calling
const all = useGlobalData(); const instance = all[pluginName]?.[pluginId]; // only call usePluginData with failfast once `instance` is present
Type guard
function pluginInstanceHasData(all: GlobalData, name: string, id: string): boolean {
return Boolean(all?.[name]?.[id]);
} Prevention
- Use 'default' as pluginId unless you have multiple instances.
- Confirm versioned/multi-instance plugin ids before referencing them.
- Drop failfast in defensive theme components.
When it happens
Trigger: Calling usePluginData('docs', 'version-2.0', {failfast: true}) where that plugin instance does not exist or emitted no global data.
Common situations: Referencing a versioned docs instance id that was not enabled, multi-instance plugins where the requested id is wrong, or component rendered before instance data is ready.
Related errors
- Docusaurus plugin global data not found for "${pluginName}"
- Can't find active docs plugin for "${pathname}" pathname, wh
- You are using a feature of the Docusaurus docs plugin, but t
- Wrong icon: ${icon}
- unexpected color mode ${colorMode}
AI-assisted analysis of facebook/docusaurus@3f483e80e3 (2026-08-12).
Data as JSON: /api/errors/6f76c6d78bcc638e.
Report an issue: GitHub.