vercel/turborepo · warning
--skip-transforms conflicts with <package-manager>. The pack
Error message
--skip-transforms conflicts with <package-manager>. The package manager argument will be ignored.
What it means
create-turbo (npx create-turbo / pnpm create turbo) warns when a positional <package-manager> argument is combined with --skip-transforms. Transforms are what convert the chosen example to the requested package manager, so skipping them makes the manager argument meaningless; it is ignored and the example keeps its own package manager (the prompts layer may then also leave the selection unset).
Source
Thrown at packages/create-turbo/src/commands/create/index.ts:95
let isMaintainedByCoreTeam = false;
const { packageManager, skipInstall, skipTransforms, git } = opts;
const availablePackageManagers = await getAvailablePackageManagers();
const { root, projectName } = await prompts.directory({ dir: directory });
const relativeProjectDir = path.relative(process.cwd(), root);
const projectDirIsCurrentDir = relativeProjectDir === "";
// selected package manager can be undefined if the user chooses to skip transforms
const selectedPackageManagerDetails = await prompts.packageManager({
manager: packageManager,
skipTransforms
});
if (packageManager && opts.skipTransforms) {
warn(
"--skip-transforms conflicts with <package-manager>. The package manager argument will be ignored."
);
}
const { example, examplePath } = opts;
const exampleName = example && example !== "default" ? example : "basic";
let projectData = {} as Awaited<ReturnType<typeof createProject>>;
try {
projectData = await createProject({
appPath: root,
example: exampleName,
isDefaultExample: isDefaultExample(exampleName),
examplePath
});
} catch (err) {
handleErrors(err, opts.telemetry);
}View on GitHub (pinned to f9245100cf)
Solutions
- Drop --skip-transforms if you want the example converted to your package manager
- Drop the <package-manager> argument if you truly want the example untouched
- Add --skip-install when the example's own package manager is not installed locally
Example fix
# before npx create-turbo@latest my-app --skip-transforms pnpm # after: convert the example to pnpm npx create-turbo@latest my-app pnpm # or keep the example as-is: npx create-turbo@latest my-app --skip-transforms --skip-install
Defensive patterns
Strategy: validation
Validate before calling
// Before spawning create-turbo, reject the contradictory combination
if (skipTransforms && positionalPackageManager) {
throw new Error('pass either --skip-transforms or a <package-manager>, not both');
} Prevention
- Read create-turbo's flag semantics before stacking flags in scripts
- Pin and lint the exact invocation in CI instead of copy-pasting accreted commands
- Remember --skip-transforms means the example keeps its own package manager
When it happens
Trigger: Invoking create-turbo with both options, e.g. `npx create-turbo@latest my-app --skip-transforms pnpm` or `pnpm create turbo my-app --skip-transforms npm`, where opts.skipTransforms is truthy while packageManager is provided.
Common situations: Copy-pasted commands that accumulate flags over time; scripts that always pass a package manager plus a skip flag; misunderstanding that --skip-transforms preserves the example's own tooling.
Related errors
- Failed to download: ${response.status}
- `git ${args[0]}` failed: ${formatError(error)}
- Invalid example name: ${name}
- Unable to install dependencies - "${exampleName}" uses "${pr
- Try running without "--skip-transforms" to convert "${exampl
AI-assisted analysis of vercel/turborepo@f9245100cf (2026-08-17).
Data as JSON: /api/errors/e07e9b6aa25bbea1.
Report an issue: GitHub.