paperclipai/paperclip · error · ToolGatewayHttpError

local_stdio_connection_disabled

local_stdio_connection_disabled

Error message

Connection is disabled.

What it means

Local stdio MCP connection guard: the catalog entry resolved to a connection whose transport is not local_stdio (or that is disabled/inactive), so local stdio dispatch is refused. Indicates the tool's connection type changed or the connection was disabled, and the agent should not keep retrying the call.

Solutions

  1. Enable the connection in connection settings before invoking its tools.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/src/services/tool-gateway.ts:2565 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@3f1d897a7c (2026-09-18). Data as JSON: /api/errors/576ec99b794a86ab. Report an issue: GitHub.

Appendix: source

Thrown at server/src/services/tool-gateway.ts:4759

    const [connection] = await db
      .select()
      .from(toolConnections)
      .where(
        and(
          eq(toolConnections.id, entry.connectionId),
          eq(toolConnections.companyId, session.companyId),
        ),
      )
      .limit(1);
    if (!connection || connection.transport !== "local_stdio") {
      throw new ToolGatewayHttpError(
        404,
        `Tool "${tool.name}" not found`,
        "tool_not_found",
      );
    }
    if (!connection.enabled || connection.status !== "active") {
      throw new ToolGatewayHttpError(
        403,
        "Connection is disabled.",
        "local_stdio_connection_disabled",
        {
          connectionId: connection.id,
        },
      );
    }
    return { entry, connection };
  }

  function localStdioTemplateId(
    connection: typeof toolConnections.$inferSelect,
  ): string {
    const config = asRecord(connection.config) ?? {};
    const templateId = config.templateId;
    if (typeof templateId !== "string" || templateId.trim().length === 0) {
      throw new ToolGatewayHttpError(

View on GitHub (pinned to 3f1d897a7c)