diff --git a/.changeset/fix-opennext-pnpm-scoped-binary.md b/.changeset/fix-opennext-pnpm-scoped-binary.md new file mode 100644 index 000000000000..8ac2cf9de7cd --- /dev/null +++ b/.changeset/fix-opennext-pnpm-scoped-binary.md @@ -0,0 +1,7 @@ +--- +"wrangler": patch +--- + +fix: use unscoped binary name for OpenNext autoconfig command overrides + +The build, deploy, and version command overrides in the Next.js (OpenNext) autoconfig handler used the scoped package name `@opennextjs/cloudflare`, which pnpm interprets as a workspace filter rather than a binary name. This caused `wrangler deploy --x-autoconfig` to fail for pnpm-based Next.js projects with `ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL`. Changed to use the unscoped binary name `opennextjs-cloudflare`, which resolves correctly across all package managers. diff --git a/packages/wrangler/src/autoconfig/frameworks/next.ts b/packages/wrangler/src/autoconfig/frameworks/next.ts index 8efd1b87d890..3c73c4ec62ac 100644 --- a/packages/wrangler/src/autoconfig/frameworks/next.ts +++ b/packages/wrangler/src/autoconfig/frameworks/next.ts @@ -52,9 +52,9 @@ export class NextJs extends Framework { preview: "opennextjs-cloudflare build && opennextjs-cloudflare preview", deploy: "opennextjs-cloudflare build && opennextjs-cloudflare deploy", }, - buildCommandOverride: `${npx} @opennextjs/cloudflare build`, - deployCommandOverride: `${npx} @opennextjs/cloudflare deploy`, - versionCommandOverride: `${npx} @opennextjs/cloudflare upload`, + buildCommandOverride: `${npx} opennextjs-cloudflare build`, + deployCommandOverride: `${npx} opennextjs-cloudflare deploy`, + versionCommandOverride: `${npx} opennextjs-cloudflare upload`, }; }