{"record":{"id":"1e880d482131c58d","repo":"remotion-dev/remotion","slug":"the-remotion-package-packagename-is-not-part-of","errorCode":null,"errorMessage":"The Remotion package ${packageName} is not part of the configured ${sourceId}. Refusing to fall back to the package registry.","messagePattern":"The Remotion package (.+?) is not part of the configured (.+?)\\. Refusing to fall back to the package registry\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/browser-studio/src/workspace-package-exports.ts","lineNumber":120,"sourceCode":"\tconst packageName = getPackageName(request);\n\tif (packageName !== 'remotion' && !packageName.startsWith('@remotion/')) {\n\t\treturn null;\n\t}\n\n\tconst resolved = resolveBrowserStudioWorkspacePackage({\n\t\tbaseUrl: source.baseUrl,\n\t\tpackages,\n\t\trequest,\n\t});\n\tif (resolved) {\n\t\treturn resolved;\n\t}\n\n\tconst sourceId =\n\t\tsource.type === 'workspace'\n\t\t\t? `workspace commit ${source.commit}`\n\t\t\t: `release ${source.version}`;\n\tthrow new Error(\n\t\t`The Remotion package ${packageName} is not part of the configured ${sourceId}. Refusing to fall back to the package registry.`,\n\t);\n};\n","sourceCodeStart":102,"sourceCodeEnd":124,"githubUrl":"https://github.com/remotion-dev/remotion/blob/10db9de07356446fb0edb3c3ae211369b693d18b/packages/browser-studio/src/workspace-package-exports.ts#L102-L124","documentation":"resolveBrowserStudioRemotionPackage() handles imports of remotion / @remotion/* when a package source (a workspace commit or a pinned release) is configured. It resolves the request through the injected workspace package exports map; if the package name is not present in that map, it throws instead of silently serving some other version from npm. This guarantees the Remotion runtime inside Browser Studio is always the exact configured build and never an arbitrary registry copy.","triggerScenarios":"A Browser Studio project imports an @remotion/* package that is not part of the configured workspace commit or release bundle (for example a server-side package like @remotion/lambda), so resolveBrowserStudioWorkspacePackage returns null and the resolver refuses the registry fallback for Remotion-scoped packages.","commonSituations":"Templates importing Remotion packages that the Browser Studio build did not bundle; version skew between the template's dependencies and the configured release; copying code from a server-rendering project into a Browser Studio project.","solutions":["Import only Remotion packages that are bundled with the configured workspace commit or release","Pick a release version of Browser Studio that actually includes the package you need","Remove or replace the unsupported @remotion/* import (e.g. drop @remotion/lambda usage, which cannot run in a browser anyway)"],"exampleFix":"// before: importing a package not bundled in the configured source\nimport {getSites} from '@remotion/lambda';\n\n// after: keep Browser Studio projects to bundled client packages, e.g.\nimport {Img, staticFile} from 'remotion';","handlingStrategy":"validation","validationCode":"const getPackageName = (request: string) =>\n  request.startsWith('@') ? request.split('/').slice(0, 2).join('/') : request.split('/')[0];\nconst packageName = getPackageName(request);\nif (packageName === 'remotion' || packageName.startsWith('@remotion/')) {\n  if (!workspaceExports[packageName]) {\n    throw new Error(`${packageName} is not bundled with this Browser Studio build - remove the import`);\n  }\n}","typeGuard":"const isBundledRemotionPackage = (\n  request: string,\n  exports: BrowserStudioWorkspacePackageExports,\n): boolean => {\n  const name = request.startsWith('@') ? request.split('/').slice(0, 2).join('/') : request.split('/')[0];\n  return name !== 'remotion' && !name.startsWith('@remotion/') ? true : Boolean(exports[name]);\n};","tryCatchPattern":"try {\n  resolveBrowserStudioRemotionPackage({packages, request, source});\n} catch (e) {\n  if (/Refusing to fall back to the package registry/.test(String((e as Error).message))) {\n    // the package is not in the configured workspace/release; block the import rather than retrying\n  } else throw e;\n}","preventionTips":["Restrict Browser Studio projects to @remotion/* packages included in the configured release","Never rely on registry fallback for Remotion packages - the resolver intentionally refuses it","Check the workspace exports map for a package name before allowing the import in your editor integration"],"tags":["browser-studio","package-resolution","workspace","versioning"],"backgroundTag":"package-resolution-failed","analyzedSha":"10db9de07356446fb0edb3c3ae211369b693d18b","analyzedAt":"2026-08-22T21:45:17.748Z","contentChangedAt":"2026-08-22T21:45:17.748Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}