paperclipai/paperclip · error · ToolGatewayHttpError
invalid_parameters
invalid_parameters
Error message
run_tool requires a target tool name
What it means
Virtual run_tool dispatch guard: the agent invoked the run_tool meta-tool without the nested target tool name parameter (or with an empty value). The target name is mandatory because run_tool only forwards to another catalogued tool; supply the target tool's name and retry.
Solutions
- Pass the target tool name argument to run_tool; the call is missing its required tool identifier.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/tool-gateway.ts:1887 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/9ef7205090b45a52.
Report an issue: GitHub.
Appendix: source
Thrown at server/src/services/tool-gateway.ts:2742
throw new ToolGatewayHttpError(
409,
"GitHub credentials are unavailable",
"github_identity_unavailable",
);
}
}
return tool;
}
function virtualRunToolInput(parameters: unknown): {
targetToolName: string;
targetParameters: unknown;
} {
const params = asRecord(parameters) ?? {};
const targetToolName =
typeof params.tool === "string" ? params.tool.trim() : "";
if (!targetToolName) {
throw new ToolGatewayHttpError(
400,
"run_tool requires a target tool name",
"invalid_parameters",
);
}
return {
targetToolName,
targetParameters: params.arguments ?? {},
};
}
async function searchableOnDemandTools(
session: ToolGatewaySession,
): Promise<ToolGatewayDescriptor[]> {
const tools = (await connectedMcpToolsForCompany(session.companyId)).filter(
isOnDemandRemoteTool,
);
const decisions = await Promise.all(View on GitHub (pinned to 3f1d897a7c)