remotion-dev/remotion · error · Error

Service ${serviceName} not found

Error message

Service ${serviceName} not found

What it means

Thrown by getServiceInfo() when the Cloud Run client returns a falsy service object for the requested fully-qualified service name. This means no Cloud Run service with the given serviceName exists in the specified region and project.

Source

Thrown at packages/cloudrun/src/api/get-service-info.ts:38

	serviceName: string;
};
/*
 * @description Retrieves detailed information about a specific Cloud Run service using the service name and region.
 * @see [Documentation](https://remotion.dev/docs/cloudrun/getserviceinfo)
 */

export const getServiceInfo = async ({
	region,
	serviceName,
}: GetServiceInfoInput): Promise<ServiceInfo> => {
	const cloudRunClient = getCloudRunClient();

	const [service] = await cloudRunClient.getService({
		name: `projects/${getProjectId()}/locations/${region}/services/${serviceName}`,
	});

	if (!service) {
		throw new Error(`Service ${serviceName} not found`);
	}

	const {
		region: deployedRegion,
		remotionVersion,
		serviceName: deployedServiceName,
	} = parseServiceName(service.name as string, region);

	return {
		serviceName: deployedServiceName,
		timeoutInSeconds: service.template?.timeout?.seconds as number,
		memoryLimit: service.template?.containers?.[0].resources?.limits
			?.memory as string,
		cpuLimit: service.template?.containers?.[0].resources?.limits
			?.cpu as string,
		remotionVersion,
		uri: service.uri as string,
		region: deployedRegion,

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Verify the service exists: gcloud run services describe <serviceName> --region <region>.
  2. Confirm the region matches where the service was deployed.
  3. Confirm the project (getProjectId) is the one where the service lives.
  4. Deploy the service first with the deploy command if it does not exist.

Example fix

// before
await getServiceInfo({region: 'us-central1', serviceName: 'remotion-nonexistent-mem2'});
// after: list deployed services first
gcloud run services list --region us-central1
Defensive patterns

Strategy: try-catch

Validate before calling

const services = await listServices(region);
const exists = services.some(s => s.name.endsWith('/' + serviceName));
if (!exists) throw new Error(`Service ${serviceName} not deployed in ${region}`);

Try / catch

try {
  const info = await getServiceInfo({region, serviceName});
} catch (e) {
  if (e.message.startsWith('Service ') && e.message.endsWith(' not found')) {
    // redeploy or prompt for correct service name
  }
  throw e;
}

Prevention

When it happens

Trigger: Calling getServiceInfo({region, serviceName}) where serviceName does not resolve to an existing deployed Cloud Run service via cloudRunClient.getService().

Common situations: Referencing a service name that was never deployed, was deleted, deployed in a different region, or referencing the wrong project via GOOGLE_CLOUD_PROJECT / getProjectId().

Related errors


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