Cli does not consider package.json

Hi Vercel team,

I encountered an issue with the vercel project ls --update-required command that I believe deserves clarification.

When running the command:

❯ vercel project ls --update-required
Vercel CLI 44.5.0
> Projects found under my-org that are using a deprecated Node.js version [1s]

  Project Name       Latest Production URL                            Updated   Node Version
  project-a          https://project-a-my-org.vercel.app              31s       18.x
  project-b          https://project-b-my-org.vercel.app              14m       18.x
  project-c          https://project-c-my-org.vercel.app              2h        14.x
  project-d          https://project-d-my-org.vercel.app              45d       12.x

The list seems to be based solely on what is selected in the Project Settings in the Vercel dashboard — not on the Node.js version declared in each project’s package.json (via the engines.node field). This leads to false positives or irrelevant warnings, especially in repositories that have already updated their package.json but haven’t manually updated the runtime in the UI.

This behaviour is quite misleading and reduces the usefulness of the --update-required flag. For teams managing many projects, the package.json should be the source of truth — or at least the CLI should indicate clearly that it only reflects the UI setting.

Suggestions:

  • Either reconcile this command with the package.json definitions (if possible),
  • Or clarify in the output and documentation that only the dashboard’s Node setting is checked.

Thanks again for your great work.

Best regards,
Erwann