paperclipai/paperclip · error
WORKER_UNAVAILABLE
WORKER_UNAVAILABLE
Error message
Plugin is not ready (current status: ${plugin.status}) What it means
State guard on the plugin bridge endpoint: the plugin exists in the registry but its lifecycle status is not 'ready' (e.g. installing, error, disabled), so its worker cannot accept bridged requests and the route returns WORKER_UNAVAILABLE with the current status.
Source
Thrown at server/src/routes/plugins.ts:1418
if (!bridgeDeps) {
res.status(501).json({ error: "Plugin bridge is not enabled" });
return;
}
const { pluginId } = req.params;
// Resolve plugin
const plugin = await resolvePlugin(registry, pluginId);
if (!plugin) {
res.status(404).json({ error: "Plugin not found" });
return;
}
// Validate plugin is in ready state
if (plugin.status !== "ready") {
const bridgeError: PluginBridgeErrorResponse = {
code: "WORKER_UNAVAILABLE",
message: `Plugin is not ready (current status: ${plugin.status})`,
};
attachPluginBridgeErrorContext(req, res, new Error(bridgeError.message), bridgeError, {
pluginId: plugin.id,
pluginKey: plugin.pluginKey,
bridgeMethod: "getData",
});
res.status(502).json(bridgeError);
return;
}
// Validate request body
const body = req.body as PluginBridgeDataRequest | undefined;
if (!body || !body.key || typeof body.key !== "string") {
res.status(400).json({ error: '"key" is required and must be a string' });
return;
}
View on GitHub (pinned to a7e689b3c3)
Solutions
- Wait until the plugin reaches a ready status, or resolve the plugin's current status issue, then retry.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/plugins.ts:1402 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@a7e689b3c3 (2026-08-18).
Data as JSON: /api/errors/b7eed3d079d30de7.
Report an issue: GitHub.