ruvnet/ruflo · error
Invalid ${configName} configuration:\n${errorMessages}
Error message
Invalid ${configName} configuration:\n${errorMessages} What it means
ConfigValidator.validateOrThrow ran a zod schema against the supplied data and it failed; the message embeds the configName and each field's path + reason. This is the generic throw-on-invalid wrapper used by validateAgentOrThrow and friends, so the fault is the input data for the named config type.
Source
Thrown at v3/@claude-flow/shared/src/core/config/validator.ts:145
/**
* Configuration validator class
*/
export class ConfigValidator {
/**
* Validate and throw on error
*/
static validateOrThrow<TInput, TOutput>(
schema: z.ZodType<TOutput, z.ZodTypeDef, TInput>,
data: unknown,
configName: string
): TOutput {
const result = validate(schema, data);
if (!result.success) {
const errorMessages = result.errors
?.map((e) => ` - ${e.path}: ${e.message}`)
.join('\n');
throw new Error(`Invalid ${configName} configuration:\n${errorMessages}`);
}
return result.data!;
}
/**
* Validate agent config or throw
*/
static validateAgentOrThrow(data: unknown): AgentConfig {
return this.validateOrThrow(AgentConfigSchema, data, 'agent');
}
/**
* Validate task config or throw
*/
static validateTaskOrThrow(data: unknown): TaskConfig {
return this.validateOrThrow(TaskConfigSchema, data, 'task');
}View on GitHub (pinned to fa13ee4ad6)
Solutions
- Correct the invalid fields in the named configuration file as reported.
- Regenerate the config from the template and reapply only intended overrides.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at v3/@claude-flow/shared/src/core/config/validator.ts:145 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/94e099f31850b0f3.
Report an issue: GitHub.