# CLI: \`npx datocms\` now Just Works

[date: 2026-04-29T16:42:07.831+02:00]

The DatoCMS CLI is now published on npm as `datocms` — an unscoped package with the same name as its binary. The scoped `@datocms/cli` package is still around as a thin alias, so existing setups keep working unchanged.

**The main win:** `npx datocms` now "Just Works" in every context — whether the package is installed locally, globally, or not installed at all.

### Why this matters

Until now, running `npx datocms projects:list` inside a project that had `@datocms/cli` installed could result in a confusing error:

Terminal window

```bash
$ npx datocms projects:list
npm error Missing script: "datocms"
```

This is an npm/npx quirk: when the package name and binary name differ, it can't always find the CLI and bails out. `pnpm`, `yarn`, and `bun` all handled this case correctly — it's only npm users who got bitten. Now that the package and binary share the same name, the most natural command just works. As a bonus, we now own the unscoped `datocms` name on npm, so it can't get squatted.

### What changes for you

-   **New users:** run `npx datocms ...` or `npm i -g datocms`. That's it.
-   **Existing users on** **`@datocms/cli`****:** nothing to do. Your setup keeps working, and you'll transparently pick up the new `datocms` package as a dependency. Migrating is a one-line change in `package.json` whenever you feel like it.
    
-   **Existing migration files** importing from `@datocms/cli/lib/cma-client-node`: still work, no changes needed. New migration files use `datocms/lib/cma-client-node`.
    

Head over to the [docs on configuring the CLI](https://www.datocms.com/docs/cli.md) for installation details.