# Fix npm ERR! Missing Script Watch After Upgrading

> Open package.json and find the script that replaced watch, such as dev after a framework upgrade from Webpack to Vite, then run npm run dev instead

**URL:** https://sentry.io/answers/how-do-i-fix-npm-run-watch-saying-npm-err-missing-script-watch/

---

## The Problem

If you run `npm run watch` you might get the error:

```sh
$ npm run watch
npm ERR! Missing script: "watch"
```

The `npm run` command reads all the properties of the `scripts` object in your `package.json` file and runs the command matching the value after `run`. In this case, npm tries to find a property called `watch`, which is missing from the `package.json` file.

The error occurs because the framework you are using, such as Laravel, used to have a `watch` script, but has upgraded from Webpack to a newer bundling framework, like Vite, in recent versions.

## The Solution

First open `package.json` and look at the `scripts` entries. For example:

```json
{
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  },
  ...
}
```

Find a script property that matches what you used to do with `watch`. In the example above, `dev` is similar. In your framework and package file, the script may be called `test` or `run` or any name that does not involve production or building.

Now run npm using that script name, such as `npm run dev`. Your app should run correctly. Don't forget to run `npm install` first to install the necessary dependencies.

If you don't have a script entry for your local machine, read the documentation for the bundler you are using, such as [Vite](https://vitejs.dev/), [Parcel](https://parceljs.org/), or [Webpack](https://webpack.js.org/), and add it to your `package.json` file.

---

*Source: [sentry.io/answers/how-do-i-fix-npm-run-watch-saying-npm-err-missing-script-watch/](https://sentry.io/answers/how-do-i-fix-npm-run-watch-saying-npm-err-missing-script-watch/)*
