n8n-io/n8n · error · NodeOperationError

Error during parsing of JSON Schema. Please check the…

Error message

Error during parsing of JSON Schema. Please check the schema and try again.

What it means

N8nStructuredOutputParser.fromZodJsonSchema threw while converting the node's JSON Schema (from the example or manual input) into a zod schema — the schema is structurally invalid or uses constructs the converter cannot map. The original error is discarded in favor of this fixed message.

Solutions

  1. Validate the JSON Schema (e.g. with a linter) and fix unsupported constructs
  2. If generating from an example, simplify the example JSON
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at packages/@n8n/nodes-langchain/nodes/output_parser/OutputParserStructured/OutputParserStructured.node.ts:231 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/bac2ecc16be6830c. Report an issue: GitHub.

Appendix: source

Thrown at packages/@n8n/nodes-langchain/nodes/output_parser/OutputParserStructured/OutputParserStructured.node.ts:231

		const jsonSchema =
			schemaType === 'fromJson'
				? generateSchemaFromExample(jsonExample, jsonExampleAllFieldsRequired)
				: jsonParse<JSONSchema7>(inputSchema);

		const zodSchema = convertJsonSchemaToZod<z.ZodSchema<object>>(jsonSchema);
		const nodeVersion = this.getNode().typeVersion;

		const autoFix = this.getNodeParameter('autoFix', itemIndex, false) as boolean;

		let outputParser;
		try {
			outputParser = await N8nStructuredOutputParser.fromZodJsonSchema(
				zodSchema,
				nodeVersion,
				this,
			);
		} catch (error) {
			throw new NodeOperationError(
				this.getNode(),
				'Error during parsing of JSON Schema. Please check the schema and try again.',
			);
		}

		if (!autoFix) {
			return {
				response: outputParser,
			};
		}

		const model = (await this.getInputConnectionData(
			NodeConnectionTypes.AiLanguageModel,
			itemIndex,
		)) as BaseLanguageModel;

		const prompt = this.getNodeParameter('prompt', itemIndex, NAIVE_FIX_PROMPT) as string;

View on GitHub (pinned to 5ac6606e81)