{"record":{"id":"8a9642efdd9a7380","repo":"n8n-io/n8n","slug":"attachment-filename-contains-no-extractable-t","errorCode":null,"errorMessage":"\"${attachment.fileName}\" contains no extractable text.","messagePattern":"\"(.+?)\" contains no extractable text\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/@n8n/instance-ai/src/tools/attachments/parse-file.tool.ts","lineNumber":146,"sourceCode":"\nfunction emptyTabularFields() {\n\treturn {\n\t\tcolumns: [],\n\t\trows: [],\n\t\ttotalRows: 0,\n\t\treturnedRows: 0,\n\t};\n}\n\nfunction extractPlainTextContent(attachment: AttachmentInfo) {\n\tconst decoded = Buffer.from(attachment.data, 'base64');\n\tif (decoded.length > MAX_DECODED_SIZE_BYTES) {\n\t\tthrow new Error(formatSizeLimitMessage(decoded.length));\n\t}\n\n\tconst content = decoded.toString('utf-8').trim();\n\tif (!content) {\n\t\tthrow new Error(`\"${attachment.fileName}\" contains no extractable text.`);\n\t}\n\n\tif (content.length > MAX_RESULT_CHARS) {\n\t\treturn { content: content.slice(0, MAX_RESULT_CHARS), truncated: true };\n\t}\n\n\treturn { content, truncated: false };\n}\n\nexport function createParseFileTool(context: InstanceAiContext) {\n\treturn new Tool('parse-file')\n\t\t.description(\n\t\t\t'Parse parseable user attachments from the current message. ' +\n\t\t\t\t'For CSV, TSV, JSON, and XLSX, returns column metadata (with normalized names and inferred types) and paginated rows. ' +\n\t\t\t\t'For text, Markdown, HTML, PDF, and DOCX, returns extracted content. ' +\n\t\t\t\t'Use nextStartRow to page through large tabular files. ' +\n\t\t\t\t'When parsing tabular attachments to create, seed, or inspect Data Tables, load ' +\n\t\t\t\t'`data-table-manager` via `load_skill` before calling this tool. ' +","sourceCodeStart":128,"sourceCodeEnd":164,"githubUrl":"https://github.com/n8n-io/n8n/blob/5ac6606e81f67bb9534255570cd4e86fd8101eee/packages/@n8n/instance-ai/src/tools/attachments/parse-file.tool.ts#L128-L164","documentation":"Error \"\"${attachment.fileName}\" contains no extractable text.\" thrown in n8n-io/n8n.","triggerScenarios":"Thrown at packages/@n8n/instance-ai/src/tools/attachments/parse-file.tool.ts:146 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-13T14:17:21.547Z"}