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
- Verify the service exists: gcloud run services describe <serviceName> --region <region>.
- Confirm the region matches where the service was deployed.
- Confirm the project (getProjectId) is the one where the service lives.
- 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
- Cache the serviceName from a successful deploy output rather than hardcoding it.
- Run `gcloud run services list --region <region>` before referencing a service.
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
- Could not parse service name ${shortServiceName}
- ${siteName.trim()} was not found in ${region}.
- You have multiple buckets (${remotionBuckets .map((b) =>
- Bucket creation is required, but no region has been passed.
- Either cloudRunUrl or serviceName must be provided
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/04dca4fe9e0a7c0e.
Report an issue: GitHub.