{"record":{"id":"d7ce7570d430d82c","repo":"n8n-io/n8n","slug":"failed-to-parse-csv-file-message","errorCode":null,"errorMessage":"Failed to parse CSV file: ${message}","messagePattern":"Failed to parse CSV file: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/@n8n/ai-workflow-builder.ee/evaluations/cli/csv-prompt-loader.ts","lineNumber":38,"sourceCode":"}\n\nfunction sanitizeValue(value: string | undefined) {\n\treturn value?.trim() ?? '';\n}\n\nfunction parseCsv(content: string): ParsedCsvRow[] {\n\ttry {\n\t\tconst rows = parse(content.replace(/^\\ufeff/, ''), {\n\t\t\tcolumns: false,\n\t\t\tskip_empty_lines: true,\n\t\t\ttrim: true,\n\t\t\trelax_column_count: true,\n\t\t}) as ParsedCsvRow[];\n\n\t\treturn rows.map((row) => row.map((cell) => cell ?? ''));\n\t} catch (error) {\n\t\tconst message = error instanceof Error ? error.message : 'Unknown parsing error';\n\t\tthrow new Error(`Failed to parse CSV file: ${message}`);\n\t}\n}\n\nexport function loadTestCasesFromCsv(csvPath: string): TestCase[] {\n\tconst resolvedPath = isAbsolute(csvPath) ? csvPath : resolve(process.cwd(), csvPath);\n\n\tif (!existsSync(resolvedPath)) {\n\t\tthrow new Error(`CSV file not found at ${resolvedPath}`);\n\t}\n\n\tconst rows = parseCsv(readFileSync(resolvedPath, 'utf8'));\n\n\tif (rows.length === 0) {\n\t\tthrow new Error('The provided CSV file is empty');\n\t}\n\n\tconst hasHeader = isHeaderRow(rows[0]);\n\tconst header = hasHeader ? rows[0] : undefined;","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/n8n-io/n8n/blob/5ac6606e81f67bb9534255570cd4e86fd8101eee/packages/@n8n/ai-workflow-builder.ee/evaluations/cli/csv-prompt-loader.ts#L20-L56","documentation":"Error \"Failed to parse CSV file: ${message}\" thrown in n8n-io/n8n.","triggerScenarios":"Thrown at packages/@n8n/ai-workflow-builder.ee/evaluations/cli/csv-prompt-loader.ts:38 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5ac6606e81f67bb9534255570cd4e86fd8101eee","analyzedAt":"2026-08-12T05:26:35.080Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}