n8n-io/n8n · error

"${attachment.fileName}" contains no extractable text.

Error message

"${attachment.fileName}" contains no extractable text.

What it means

Error ""${attachment.fileName}" contains no extractable text." thrown in n8n-io/n8n.

Source

Thrown at packages/@n8n/instance-ai/src/tools/attachments/parse-file.tool.ts:146

function emptyTabularFields() {
	return {
		columns: [],
		rows: [],
		totalRows: 0,
		returnedRows: 0,
	};
}

function extractPlainTextContent(attachment: AttachmentInfo) {
	const decoded = Buffer.from(attachment.data, 'base64');
	if (decoded.length > MAX_DECODED_SIZE_BYTES) {
		throw new Error(formatSizeLimitMessage(decoded.length));
	}

	const content = decoded.toString('utf-8').trim();
	if (!content) {
		throw new Error(`"${attachment.fileName}" contains no extractable text.`);
	}

	if (content.length > MAX_RESULT_CHARS) {
		return { content: content.slice(0, MAX_RESULT_CHARS), truncated: true };
	}

	return { content, truncated: false };
}

export function createParseFileTool(context: InstanceAiContext) {
	return new Tool('parse-file')
		.description(
			'Parse parseable user attachments from the current message. ' +
				'For CSV, TSV, JSON, and XLSX, returns column metadata (with normalized names and inferred types) and paginated rows. ' +
				'For text, Markdown, HTML, PDF, and DOCX, returns extracted content. ' +
				'Use nextStartRow to page through large tabular files. ' +
				'When parsing tabular attachments to create, seed, or inspect Data Tables, load ' +
				'`data-table-manager` via `load_skill` before calling this tool. ' +

View on GitHub (pinned to 5ac6606e81)

When it happens

Trigger: Thrown at packages/@n8n/instance-ai/src/tools/attachments/parse-file.tool.ts:146 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/8a9642efdd9a7380. Report an issue: GitHub.