{"record":{"id":"9ef7205090b45a52","repo":"paperclipai/paperclip","slug":"invalid-parameters","errorCode":"invalid_parameters","errorMessage":"run_tool requires a target tool name","messagePattern":"run_tool requires a target tool name","errorType":"http","errorClass":"ToolGatewayHttpError","httpStatus":400,"severity":"error","filePath":"server/src/services/tool-gateway.ts","lineNumber":1940,"sourceCode":"        {\n          invocationId: input.invocation.id,\n          actionRequestId: actionRequest.id,\n          tool: input.tool.name,\n          instructions: \"A parallel call already handled this approval. Retry the same call now to reach the live approval request.\",\n        },\n      );\n    }\n\n    await db.insert(toolActionDeliveries).values({ companyId: input.session.companyId, actionRequestId: actionRequest.id, issueId: input.session.issueId, interactionId: interaction.id }).onConflictDoNothing();\n\n    await writeToolCallEvent({\n      invocationId: input.invocation.id,\n      actionRequestId: actionRequest.id,\n      session: input.session,\n      eventType: \"approval_requested\",\n      outcome: \"pending\",\n      toolName: input.tool.name,\n      policyDecision: \"require_approval\",\n      reasonCode: \"requires_approval_policy\",\n      argumentsSummary: input.argumentsSummary,\n      metadata: { actionRequestId: actionRequest.id, interactionId: interaction.id, approvalId: formalApprovalId },\n      tool: input.tool,\n    });\n\n    await writeAudit({\n      session: input.session,\n      companyId: input.session.companyId,\n      agentId: input.session.agentId,\n      runId: input.session.runId,\n      issueId: input.session.issueId,\n      action: \"tool_gateway.approval_requested\",\n      details: {\n        invocationId: input.invocation.id,\n        actionRequestId: actionRequest.id,\n        interactionId: interaction.id,\n        approvalId: formalApprovalId,","sourceCodeStart":1922,"sourceCodeEnd":1958,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/services/tool-gateway.ts#L1922-L1958","documentation":"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.","triggerScenarios":"Thrown at server/src/services/tool-gateway.ts:1887 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass the target tool name argument to run_tool; the call is missing its required tool identifier."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}