paperclipai/paperclip · error · ToolGatewayHttpError

tool_not_found

tool_not_found

Error message

Tool "${toolName}" not found

What it means

Catalog lookup miss: the requested tool name (static tool, connected MCP tool, or virtual on-demand tool) is not present for this company/session, so no descriptor can be resolved and the call is rejected before any policy evaluation. Usually caused by a disconnected app, a renamed upstream tool, or calling a virtual tool when no on-demand targets exist.

Source

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

        signedArguments,
        previewMarkdown,
        approvalId: formalApprovalId,
        expiresAt,
        updatedAt: new Date(),
      })
      .where(and(eq(toolActionRequests.id, actionRequest.id), eq(toolActionRequests.status, "pending")))
      .returning({ id: toolActionRequests.id });
    if (signedRows.length === 0) {
      await db
        .update(toolInvocations)
        .set({
          status: "failed",
          approvalState: "expired",
          errorCode: "approval_request_superseded",
          errorMessage: "The approval request was resolved before it could be signed",
          completedAt: new Date(),
          updatedAt: new Date(),
        })
        .where(eq(toolInvocations.id, input.invocation.id));
      throw new ToolGatewayHttpError(
        409,
        "The approval request was resolved before it could be signed",
        "approval_request_superseded",
        {
          invocationId: input.invocation.id,
          actionRequestId: actionRequest.id,
          tool: input.tool.name,
          instructions: "A parallel call already handled this approval. Retry the same call now to reach the live approval request.",
        },
      );
    }

    await db.insert(toolActionDeliveries).values({ companyId: input.session.companyId, actionRequestId: actionRequest.id, issueId: input.session.issueId, interactionId: interaction.id }).onConflictDoNothing();

    await writeToolCallEvent({
      invocationId: input.invocation.id,

View on GitHub (pinned to 01ad858492)

Solutions

  1. Check the tool name against the list of available tools for this session; it may be misspelled or the providing plugin/connection is down.
Defensive patterns

Strategy: validation

When it happens

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

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-08-18). Data as JSON: /api/errors/752bf4c08c1ee7d9. Report an issue: GitHub.