n8n-io/n8n · error · RuntimeError

SYNTAX_ERROR

SYNTAX_ERROR

Error message

SYNTAX_ERROR

What it means

Sentinel error code for RuntimeError when the expression failed to parse/compile inside the isolate — a syntax error in the expression source itself. The bridge translates it to a SyntaxError for the editor so the user sees the failing expression rather than a generic failure.

Solutions

  1. Fix the expression syntax: balanced brackets/quotes, valid operators
  2. Check for characters the expression language treats specially ({{ }}, backticks) and escape as needed
  3. Simplify the expression and rebuild it incrementally to isolate the syntax fault
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/@n8n/expression-runtime/src/types/runtime.ts:12 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/48f761254a7a2d99. Report an issue: GitHub.

Appendix: source

Thrown at packages/@n8n/expression-runtime/src/types/runtime.ts:12

/**
 * Runtime error thrown inside isolated context.
 *
 * These errors are thrown by the runtime code when something goes wrong during
 * expression evaluation. The bridge must catch these and translate them to the
 * appropriate ExpressionError subclass (see evaluator.ts).
 *
 * Translation mapping:
 * - code: 'MEMORY_LIMIT' → MemoryLimitError
 * - code: 'TIMEOUT' → TimeoutError
 * - code: 'SECURITY_VIOLATION' → SecurityViolationError
 * - code: 'SYNTAX_ERROR' → SyntaxError
 * - other → ExpressionError
 */
export class RuntimeError extends Error {
	constructor(
		message: string,
		public code: string,
		public details?: Record<string, unknown>,
	) {
		super(message);
		this.name = 'RuntimeError';
	}
}

View on GitHub (pinned to 5ac6606e81)