ruvnet/ruflo · error

Tool input validation failed

Error message

Tool input validation failed

What it means

Log/error path in the tool registry's execute: the input failed validateSchema against the tool's declared inputSchema (a security feature); the formatted validation errors are returned so the caller knows which arguments were malformed.

Source

Thrown at v3/@claude-flow/mcp/src/tool-registry.ts:304

    input: Record<string, unknown>,
    context?: ToolContext
  ): Promise<ToolCallResult> {
    const startTime = performance.now();
    const metadata = this.tools.get(name);

    if (!metadata) {
      return {
        content: [{ type: 'text', text: `Tool not found: ${name}` }],
        isError: true,
      };
    }

    // Validate input against schema (security feature)
    if (metadata.tool.inputSchema) {
      const validation = validateSchema(input, metadata.tool.inputSchema);
      if (!validation.valid) {
        const errorMsg = formatValidationErrors(validation.errors);
        this.logger.warn('Tool input validation failed', {
          name,
          errors: validation.errors,
        });
        return {
          content: [{ type: 'text', text: `Invalid input: ${errorMsg}` }],
          isError: true,
        };
      }
    }

    const execContext: ToolContext = {
      sessionId: context?.sessionId || this.defaultContext?.sessionId || 'default-session',
      ...this.defaultContext,
      ...context,
    };

    if (this.authorizer) {
      try {

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Fix the tool call arguments to satisfy the tool's input schema; the validation errors list the offending fields.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at v3/@claude-flow/mcp/src/tool-registry.ts:304 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/a42a930c4a2d9943. Report an issue: GitHub.