paperclipai/paperclip · error
Plugin bridge is not enabled
Error message
Plugin bridge is not enabled
What it means
501 from POST /plugins/:pluginId/bridge/data. Fires when the bridge dependencies (worker bridge) are not configured for this instance, so plugin bridge data calls are not available at all; matches the PluginBridgeError contract.
Source
Thrown at server/src/routes/plugins.ts:1402
* Response: The raw result from the worker's `getData` handler
*
* Error response body follows the `PluginBridgeError` shape:
* `{ code: PluginBridgeErrorCode, message: string, details?: unknown }`
*
* Errors:
* - 400 if request validation fails
* - 404 if plugin not found
* - 501 if bridge deps are not configured
* - 502 if the worker is unavailable or returns an error
*
* @see PLUGIN_SPEC.md §13.8 — `getData`
* @see PLUGIN_SPEC.md §19.7 — Error Propagation Through The Bridge
*/
router.post("/plugins/:pluginId/bridge/data", async (req, res) => {
assertBoardOrgAccess(req);
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})`,
};View on GitHub (pinned to a7e689b3c3)
Solutions
- Correct the request so it satisfies the condition stated in the error message, then retry; see the throwing line in the named file for the exact check.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at server/src/routes/plugins.ts:1386 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/9efdd06017a24773.
Report an issue: GitHub.