remotion-dev/remotion · error · Error

The `siteName` must not be `.` or `..`. You passed: ${siteNa

Error message

The `siteName` must not be `.` or `..`. You passed: ${siteName}.

What it means

Thrown by validateSiteName() when siteName is exactly '.' or '..'. These are reserved path components that cannot be used as a GCS site name because they collide with directory traversal semantics, so the validator rejects them explicitly after the type check.

Source

Thrown at packages/cloudrun/src/shared/validate-site-name.ts:17

const VALID_SITE_NAME_RE = /^[-0-9a-zA-Z!_.*'()]+$/;

export const validateSiteName = (siteName: unknown) => {
	if (typeof siteName === 'undefined') {
		return;
	}

	if (typeof siteName !== 'string') {
		throw new TypeError(
			`The 'siteName' argument must be a string if provided, but is ${JSON.stringify(
				siteName,
			)}`,
		);
	}

	if (siteName === '.' || siteName === '..') {
		throw new Error(
			'The `siteName` must not be `.` or `..`. You passed: ' + siteName + '.',
		);
	}

	if (!VALID_SITE_NAME_RE.test(siteName)) {
		throw new Error(
			'The `siteName` must match the RegExp `/' +
				VALID_SITE_NAME_RE.source +
				'/`. You passed: ' +
				siteName +
				'. Check for invalid characters.',
		);
	}
};

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Use a concrete site name string (letters, digits, and the allowed punctuation) instead of '.' or '..'.
  2. Fix the defaulting logic so an empty input produces a real default name, not '.'.
  3. Validate upstream that the name is neither '.' nor '..'.

Example fix

// before
const siteName = name || '.';

// after
const siteName = name || 'remotion-default-site';
Defensive patterns

Strategy: validation

Validate before calling

if (siteName === '.' || siteName === '..') {
  throw new Error('siteName must not be a reserved path component');
}

Type guard

const isValidSiteNameShape = (v: unknown): v is string =>
  typeof v === 'string' && v !== '.' && v !== '..';

Prevention

When it happens

Trigger: Passing the literal strings '.' or '..' as siteName, usually from miscomputed defaulting logic or string trimming that reduced the input to one of these.

Common situations: A defaulting expression that falls back to '.' when the real name is empty; path-join logic that yields '..'; accidental trimming/normalization of the site name.

Related errors


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/14977d0f0456629e. Report an issue: GitHub.