Replace the removed command
Migrating a Next.js 15 or older application
Next.js 16+ · Command
next lint was removed in Next.js 16. Run ESLint or Biome directly from package scripts, and use the migration codemod for existing projects.
In Next.js 16 and later, next lint is no longer available. Replace it with a direct ESLint or Biome command in package scripts; use the migration codemod when converting an existing project.
next lint; migrate the project to a standalone linter command.eslint option from next.config.js.npx @next/codemod@canary next-lint-to-eslint-cli .Run the migration codemod, then invoke ESLint from a package script.
Migrating a Next.js 15 or older application
Choosing a project linter
Controlling CI build steps
next lint in Next.js 16?next lint was removed in Next.js 16. Projects should call ESLint or Biome directly through package scripts instead.
Follow-up: How would you migrate an existing project? Run the next-lint-to-eslint-cli codemod, review its changes, and use the resulting ESLint CLI script.
The command is replaced by direct linter execution. A typical ESLint script is "lint": "eslint", while a Biome script is "lint": "biome check".
Follow-up: Which alternative also formats code? Biome can format with a separate biome format --write script.
next build still lint automatically?Next.js 16 does not run linting as part of next build. Linting must be scheduled explicitly, such as through an npm, pnpm, Yarn, or Bun script.
Follow-up: Why is this useful operationally? It lets CI and developers choose when linting runs instead of coupling it to every build.
ESLintBiomeeslint-config-nextnext-lint-to-eslint-cli codemod