n8n-io/n8n · error · Error
CSV file not found at
Error message
CSV file not found at ${resolvedPath} What it means
Existence error from loadTestCasesFromCsv. It fires when the CSV path, resolved against the process working directory for relative paths, does not exist on disk (existsSync check) before any read is attempted. The eval run cannot start without its prompt source.
Solutions
- Pass the correct path to the CSV file, absolute or relative to the current working directory.
- Create the file first, or point --prompts-csv at an existing dataset.
- Note the path in the message is already resolved; use it to see where the CLI looked.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/@n8n/ai-workflow-builder.ee/evaluations/cli/csv-prompt-loader.ts:46 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/927a4ea192ca1b83.
Report an issue: GitHub.
Appendix: source
Thrown at packages/@n8n/ai-workflow-builder.ee/evaluations/cli/csv-prompt-loader.ts:46
const rows = parse(content.replace(/^\ufeff/, ''), {
columns: false,
skip_empty_lines: true,
trim: true,
relax_column_count: true,
}) as ParsedCsvRow[];
return rows.map((row) => row.map((cell) => cell ?? ''));
} catch (error) {
const message = error instanceof Error ? error.message : 'Unknown parsing error';
throw new Error(`Failed to parse CSV file: ${message}`);
}
}
export function loadTestCasesFromCsv(csvPath: string): TestCase[] {
const resolvedPath = isAbsolute(csvPath) ? csvPath : resolve(process.cwd(), csvPath);
if (!existsSync(resolvedPath)) {
throw new Error(`CSV file not found at ${resolvedPath}`);
}
const rows = parseCsv(readFileSync(resolvedPath, 'utf8'));
if (rows.length === 0) {
throw new Error('The provided CSV file is empty');
}
const hasHeader = isHeaderRow(rows[0]);
const header = hasHeader ? rows[0] : undefined;
const dataRows = hasHeader ? rows.slice(1) : rows;
if (dataRows.length === 0) {
throw new Error('No prompt rows found in the provided CSV file');
}
// Find column index by name(s), returns undefined if no header
const findColumn = (...names: string[]): number | undefined => {View on GitHub (pinned to 5ac6606e81)