n8n-io/n8n · error

EXECUTION_ERROR

EXECUTION_ERROR

Error message

Unknown error occurred

What it means

A non-Error, non-ZodError value was thrown inside rename_node. The catch block emits 'Unknown error occurred' with code EXECUTION_ERROR because the thrown value has no .message. Indicates a defect or unexpected rejection shape rather than user input.

Source

Thrown at packages/@n8n/ai-workflow-builder.ee/src/tools/rename-node.tool.ts:141

				reporter.complete(output);
				return createSuccessResponse(config, message, stateUpdates);
			} catch (error) {
				let toolError;

				if (error instanceof z.ZodError) {
					const validationError = new ValidationError('Invalid rename node parameters', {
						field: error.errors[0]?.path.join('.'),
						value: error.errors[0]?.message,
					});
					toolError = {
						message: validationError.message,
						code: 'VALIDATION_ERROR',
						details: error.errors,
					};
				} else {
					toolError = {
						message: error instanceof Error ? error.message : 'Unknown error occurred',
						code: 'EXECUTION_ERROR',
					};
				}

				reporter.error(toolError);
				return createErrorResponse(config, toolError);
			}
		},
		{
			name: RENAME_NODE_TOOL.toolName,
			description: `Rename a node in the workflow. This updates the node's display name and automatically updates all connection references.

USAGE:
Use this tool when you need to give a node a more descriptive or meaningful name.

PARAMETERS:
- nodeId: The UUID of the node to rename
- newName: The new name for the node (must be unique in the workflow)

View on GitHub (pinned to 5ac6606e81)

Solutions

  1. Inspect server logs for the raw thrown value.
  2. Reproduce with the workflow JSON, nodeId, and newName.
  3. Report as a bug with full context.
Defensive patterns

Strategy: try-catch

Type guard

function isToolError(v: unknown): v is { message: string; code: string; details?: unknown } {
  return typeof v === 'object' && v !== null && 'code' in v && 'message' in v;
}

Try / catch

const res = await rename_node.invoke(input);
if (isToolError(res) && res.code === 'EXECUTION_ERROR' && res.message === 'Unknown error occurred') {
  // defect path: log nodeId + newName + workflow JSON, do not blindly retry
}

Prevention

When it happens

Trigger: A helper (renameNodeInWorkflow, state accessors) throws a non-Error value; a promise rejects with a string/null.

Common situations: Bug in the rename state helper updating connections keyed by node name; race on workflow state.

Related errors


AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12). Data as JSON: /api/errors/408e28775ec221e6. Report an issue: GitHub.