{"record":{"id":"142ab1b9ada4d585","repo":"vercel/turborepo","slug":"package-manager-unsupported-version","errorCode":"package_manager-unsupported_version","errorMessage":"Unsupported package manager version.","messagePattern":"Unsupported package manager version\\.","errorType":"exception","errorClass":"ConvertError","httpStatus":null,"severity":"error","filePath":"packages/turbo-workspaces/src/install.ts","lineNumber":130,"sourceCode":"  const { version, name } = packageManager;\n  if (version) {\n    return PACKAGE_MANAGERS[name].find((manager) =>\n      satisfies(version, manager.semver)\n    );\n  }\n  return PACKAGE_MANAGERS[name].find((manager) => {\n    return manager.default;\n  });\n}\n\nexport async function install(args: InstallArgs) {\n  const { to, logger, options } = args;\n\n  const installLogger = logger ?? new Logger(options);\n  const packageManager = getPackageManagerMeta(to);\n\n  if (!packageManager) {\n    throw new ConvertError(\"Unsupported package manager version.\", {\n      type: \"package_manager-unsupported_version\"\n    });\n  }\n\n  installLogger.subStep(\n    `running \"${packageManager.command} ${packageManager.installArgs.join(\n      \" \"\n    )}\"`\n  );\n  if (!options?.dry) {\n    let spinner;\n    if (installLogger.interactive) {\n      spinner = ora({\n        text: \"installing dependencies...\",\n        spinner: {\n          frames: installLogger.installerFrames()\n        }\n      }).start();","sourceCodeStart":112,"sourceCodeEnd":148,"githubUrl":"https://github.com/vercel/turborepo/blob/f9245100cf0d31d96628804ead485f6bf226e55a/packages/turbo-workspaces/src/install.ts#L112-L148","documentation":"install() maps the requested manager name to a known entry (getPackageManagerMeta looks up PACKAGE_MANAGERS[name] and takes its default entry) to get the install command and args. An unknown name or an entry without a default throws ConvertError type package_manager-unsupported_version, stopping before any install subprocess runs.","triggerScenarios":"Calling install with a manager name not present in the PACKAGE_MANAGERS registry, or a registry entry with no default version - e.g. asking to install with an unreleased/unknown manager identifier or a version-specific key that has no default.","commonSituations":"Typos in the --to manager name, depending on a newer manager supported by a newer @turbo-workspaces version than the one installed, or passing a versioned identifier where a plain name is expected.","solutions":["Check the exact spelling/casing of the manager name you passed","Upgrade @turbo-workspaces/turbo to a version that supports the manager","Inspect PACKAGE_MANAGERS keys in your installed version to see accepted names","If calling programmatically, validate the name against the exported list before calling install"],"exampleFix":"// before\nawait install({ to: { name: \"pnpm3\", version: \"3.0.0\" }, options }); // unknown name -> throws\n\n// after\nawait install({ to: { name: \"pnpm\", version: \"9.1.0\" }, options });","handlingStrategy":"validation","validationCode":"const SUPPORTED = new Set([\"npm\", \"pnpm\", \"yarn\", \"bun\" /* + managers your version supports */]);\n\nfunction isSupportedManager(name: string): boolean {\n  return SUPPORTED.has(name.toLowerCase());\n}\n// if (!isSupportedManager(to.name)) fail with a clear message before install();","typeGuard":"function isKnownManager(name: string): name is \"npm\" | \"pnpm\" | \"yarn\" | \"bun\" {\n  return [\"npm\", \"pnpm\", \"yarn\", \"bun\"].includes(name);\n}","tryCatchPattern":"try {\n  await install({ to, options });\n} catch (err) {\n  if (err instanceof ConvertError && err.type === \"package_manager-unsupported_version\") {\n    throw new Error(`Unsupported manager '${to.name}' - upgrade @turbo-workspaces?`, { cause: err });\n  }\n  throw err;\n}","preventionTips":["Validate manager names against the supported list at your CLI boundary","Upgrade turbo/@turbo-workspaces when adopting newly released package managers","Pass plain manager names (no version suffixes) where a name is expected"],"tags":["package-manager","validation","install","turbo-workspaces"],"backgroundTag":"unsupported-package-manager-version","analyzedSha":"f9245100cf0d31d96628804ead485f6bf226e55a","analyzedAt":"2026-08-17T10:46:15.696Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}