ruvnet/ruflo · error · Error
Parameter '${name}' must be an array
Error message
Parameter '${name}' must be an array What it means
MCP input-validation helper: validateArrayParam() received a value that failed Array.isArray for the named parameter (e.g. allowedTools, requiredSkills, tasks). Untrusted JSON-RPC tool arguments contained a non-array where a list was required.
Source
Thrown at v3/plugins/teammate-plugin/src/mcp-tools.ts:49
/**
* Validate string parameter
*/
function validateStringParam(value: unknown, name: string, maxLength: number = MAX_PARAM_LENGTH): string {
if (typeof value !== 'string') {
throw new Error(`Parameter '${name}' must be a string`);
}
if (value.length > maxLength) {
throw new Error(`Parameter '${name}' exceeds maximum length of ${maxLength}`);
}
return value;
}
/**
* Validate array parameter
*/
function validateArrayParam<T>(value: unknown, name: string, maxItems: number = MAX_ARRAY_ITEMS): T[] {
if (!Array.isArray(value)) {
throw new Error(`Parameter '${name}' must be an array`);
}
if (value.length > maxItems) {
throw new Error(`Parameter '${name}' exceeds maximum of ${maxItems} items`);
}
return value as T[];
}
// ============================================================================
// Tool Definitions
// ============================================================================
export interface MCPTool {
name: string;
description: string;
inputSchema: {
type: 'object';
properties: Record<string, unknown>;
required?: string[];View on GitHub (pinned to fa13ee4ad6)
Solutions
- Pass an array value for this parameter; wrap scalar input in an array if a single item was intended.
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at v3/plugins/teammate-plugin/src/mcp-tools.ts:49 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/afae7da967c64681.
Report an issue: GitHub.