V0 updates my package.json and adds unwanted dependencies

Hi! I’m having an unexpected issue while syncing a project with GitHub using V0.

V0 is automatically modifying my package.json in two different ways:

  1. It upgrades several dependencies to their latest versions, even though I’m not using them or didn’t request updates.

  2. It adds many new dependencies that I never installed or added to the project myself.

This causes build issues and makes the project diverge from what I actually have in my repository.

Below I’m including both versions for reference.

Original package.json (before V0 sync)

{
  "name": "my-v0-project",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "build": "next build",
    "dev": "next dev --turbopack",
    "lint": "eslint .",
    "start": "next start"
  },
  "dependencies": {
    "@hookform/resolvers": "latest",
    "@neondatabase/serverless": "1.0.2",
    "@radix-ui/react-accordion": "latest",
    "@radix-ui/react-alert-dialog": "latest",
    "@radix-ui/react-aspect-ratio": "latest",
    "@radix-ui/react-avatar": "latest",
    "@radix-ui/react-checkbox": "latest",
    "@radix-ui/react-collapsible": "latest",
    "@radix-ui/react-context-menu": "latest",
    "@radix-ui/react-dialog": "latest",
    "@radix-ui/react-dropdown-menu": "latest",
    "@radix-ui/react-hover-card": "latest",
    "@radix-ui/react-label": "latest",
    "@radix-ui/react-menubar": "latest",
    "@radix-ui/react-navigation-menu": "latest",
    "@radix-ui/react-popover": "latest",
    "@radix-ui/react-progress": "latest",
    "@radix-ui/react-radio-group": "latest",
    "@radix-ui/react-scroll-area": "latest",
    "@radix-ui/react-select": "latest",
    "@radix-ui/react-separator": "latest",
    "@radix-ui/react-slider": "latest",
    "@radix-ui/react-slot": "latest",
    "@radix-ui/react-switch": "latest",
    "@radix-ui/react-tabs": "latest",
    "@radix-ui/react-toast": "latest",
    "@radix-ui/react-toggle": "latest",
    "@radix-ui/react-toggle-group": "latest",
    "@radix-ui/react-tooltip": "latest",
    "@stackframe/stack": "latest",
    "@supabase/ssr": "latest",
    "@supabase/supabase-js": "latest",
    "@vercel/analytics": "latest",
    "autoprefixer": "^10.4.20",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "cmdk": "latest",
    "crypto": "latest",
    "date-fns": "4.1.0",
    "dotenv": "latest",
    "drizzle-orm": "latest",
    "embla-carousel-react": "latest",
    "geist": "latest",
    "input-otp": "latest",
    "knex": "latest",
    "kysely": "latest",
    "lucide-react": "^0.454.0",
    "next": "16.0.0",
    "next-intl": "latest",
    "next-themes": "latest",
    "nodemailer": "latest",
    "react": "19.2.0",
    "react-day-picker": "latest",
    "react-dom": "19.2.0",
    "react-hook-form": "latest",
    "react-resizable-panels": "latest",
    "recharts": "latest",
    "server-only": "latest",
    "sonner": "latest",
    "tailwind-merge": "^2.5.5",
    "tailwindcss-animate": "^1.0.7",
    "vaul": "latest",
    "ws": "8.18.3",
    "zod": "3.25.67"
  },
  "devDependencies": {
    "@tailwindcss/postcss": "^4.1.9",
    "@types/node": "^22",
    "@types/react": "19.2.2",
    "@types/react-dom": "19.2.2",
    "@types/ws": "8.18.1",
    "drizzle-kit": "0.31.5",
    "eslint": "^9.38.0",
    "eslint-config-next": "16.0.0",
    "postcss": "^8.5",
    "tailwindcss": "^4.1.9",
    "tw-animate-css": "1.3.3",
    "typescript": "^5"
  },
  "pnpm": {
    "onlyBuiltDependencies": ["@swc/core", "@tailwindcss/oxide", "sharp"],
    "overrides": {
      "@types/react": "19.2.2",
      "@types/react-dom": "19.2.2"
    }
  },
  "trustedDependencies": ["pg-native"]
}

Modified package.json (after V0 sync)

{
  "name": "my-v0-project",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "build": "next build",
    "dev": "next dev --turbopack",
    "lint": "eslint .",
    "start": "next start"
  },
  "dependencies": {
    "@aws-sdk/client-rds-data": "latest",
    "@cloudflare/workers-types": "latest",
    "@electric-sql/pglite": "latest",
    "@hookform/resolvers": "latest",
    "@libsql/client": "latest",
    "@libsql/client-wasm": "latest",
    "@neondatabase/serverless": "latest",
    "@op-engineering/op-sqlite": "latest",
    "@opentelemetry/api": "latest",
    "@planetscale/database": "latest",
    "@prisma/client": "latest",
    "@radix-ui/react-accordion": "latest",
    "@radix-ui/react-alert-dialog": "latest",
    "@radix-ui/react-aspect-ratio": "latest",
    "@radix-ui/react-avatar": "latest",
    "@radix-ui/react-checkbox": "latest",
    "@radix-ui/react-collapsible": "latest",
    "@radix-ui/react-context-menu": "latest",
    "@radix-ui/react-dialog": "latest",
    "@radix-ui/react-dropdown-menu": "latest",
    "@radix-ui/react-hover-card": "latest",
    "@radix-ui/react-label": "latest",
    "@radix-ui/react-menubar": "latest",
    "@radix-ui/react-navigation-menu": "latest",
    "@radix-ui/react-popover": "latest",
    "@radix-ui/react-progress": "latest",
    "@radix-ui/react-radio-group": "latest",
    "@radix-ui/react-scroll-area": "latest",
    "@radix-ui/react-select": "latest",
    "@radix-ui/react-separator": "latest",
    "@radix-ui/react-slider": "latest",
    "@radix-ui/react-slot": "latest",
    "@radix-ui/react-switch": "latest",
    "@radix-ui/react-tabs": "latest",
    "@radix-ui/react-toast": "latest",
    "@radix-ui/react-toggle": "latest",
    "@radix-ui/react-toggle-group": "latest",
    "@radix-ui/react-tooltip": "latest",
    "@stackframe/stack": "latest",
    "@supabase/ssr": "latest",
    "@supabase/supabase-js": "latest",
    "@tidbcloud/serverless": "latest",
    "@types/better-sqlite3": "latest",
    "@types/pg": "latest",
    "@types/sql.js": "latest",
    "@upstash/redis": "latest",
    "@vercel/analytics": "latest",
    "@vercel/postgres": "latest",
    "@xata.io/client": "latest",
    "autoprefixer": "^10.4.20",
    "better-sqlite3": "latest",
    "bun-types": "latest",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "cmdk": "latest",
    "crypto": "latest",
    "date-fns": "4.1.0",
    "dotenv": "latest",
    "drizzle-orm": "latest",
    "embla-carousel-react": "latest",
    "expo-sqlite": "latest",
    "geist": "latest",
    "gel": "latest",
    "input-otp": "latest",
    "knex": "latest",
    "kysely": "latest",
    "lucide-react": "^0.454.0",
    "mysql2": "latest",
    "next": "16.0.0",
    "next-intl": "latest",
    "next-themes": "latest",
    "nodemailer": "latest",
    "pg": "latest",
    "postgres": "latest",
    "react": "19.2.0",
    "react-day-picker": "latest",
    "react-dom": "19.2.0",
    "react-hook-form": "latest",
    "react-resizable-panels": "latest",
    "recharts": "latest",
    "server-only": "latest",
    "sonner": "latest",
    "sql.js": "latest",
    "sqlite3": "latest",
    "tailwind-merge": "^2.5.5",
    "tailwindcss-animate": "^1.0.7",
    "vaul": "latest",
    "ws": "8.18.3",
    "zod": "3.25.67"
  },
  "devDependencies": {
    "@tailwindcss/postcss": "^4.1.9",
    "@types/node": "^22",
    "@types/react": "19.2.2",
    "@types/react-dom": "19.2.2",
    "@types/ws": "8.18.1",
    "drizzle-kit": "0.31.5",
    "eslint": "^9.38.0",
    "eslint-config-next": "16.0.0",
    "postcss": "^8.5",
    "tailwindcss": "^4.1.9",
    "tw-animate-css": "1.3.3",
    "typescript": "^5"
  },
  "pnpm": {
    "onlyBuiltDependencies": [
      "@tailwindcss/oxide",
      "esbuild",
      "sharp",
      "unrs-resolver"
    ],
    "overrides": {
      "@types/react": "19.2.2",
      "@types/react-dom": "19.2.2"
    }
  },
  "trustedDependencies": [
    "pg-native"
  ]
}

Thanks for reporting, I can confirm this issue and will escalate to the v0 team

1 Like

Thanks so much for the reply!
V0 is truly one of the best platforms I’ve used, and the addition of Opus 4.5 has made it even more powerful — amazing work.

Just to add a bit more context: even if I lock the package.json, V0 still changes it during GitHub sync.

Really appreciate you escalating it — let me know if you need logs or any extra info!