ruvnet/ruflo · error
Invalid configuration: ${validation.errors?.map(e => e.messa
Error message
Invalid configuration: ${validation.errors?.map(e => e.message).join(', ')} What it means
ConfigLoader.loadFromFile parsed the JSON file but validateSystemConfig rejected it; the joined zod/validator error messages enumerate exactly which fields failed schema validation. The file exists and parses — its contents simply do not conform to the system config schema.
Source
Thrown at v3/@claude-flow/shared/src/core/config/loader.ts:233
return {
config,
source,
path,
warnings: warnings.length > 0 ? warnings : undefined,
};
}
/**
* Load configuration from specific file
*/
async loadFromFile(filePath: string): Promise<LoadedConfig> {
const absolutePath = resolve(filePath);
const fileConfig = await loadJsonConfig(absolutePath);
const validation = validateSystemConfig(fileConfig);
if (!validation.success) {
throw new Error(`Invalid configuration: ${validation.errors?.map(e => e.message).join(', ')}`);
}
const config = mergeWithDefaults(validation.data!, defaultSystemConfig) as SystemConfig;
return {
config,
source: 'file',
path: absolutePath,
};
}
/**
* Deep merge objects
*/
private deepMerge(target: Record<string, unknown>, source: Record<string, unknown>): Record<string, unknown> {
const result = { ...target };
for (const key of Object.keys(source)) {View on GitHub (pinned to fa13ee4ad6)
Solutions
- Fix the configuration values listed in the validation error messages.
- Compare the config against the schema defaults to find the invalid fields.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at v3/@claude-flow/shared/src/core/config/loader.ts:233 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/ea80c72ec87b0aad.
Report an issue: GitHub.