> ## Documentation Index
> Fetch the complete documentation index at: https://docs.meow.style/llms.txt
> Use this file to discover all available pages before exploring further.

# Running package binaries

> meow x for ephemeral execution, global installs, and searching the registry.

## meow x — ephemeral execution

`meow x` is meow's `npx`/`bunx`: it installs a package into a **throwaway**
workspace, runs its binary, and discards the workspace afterward. Nothing is added
to your project.

```bash theme={null}
meow x create-vite my-app          # scaffold with create-vite, then vanish
meow x prettier . --write          # run a one-off tool
meow x cowsay "meow"               # because you can
```

Pin a version or use a dist-tag:

```bash theme={null}
meow x create-next-app@latest my-app
meow x typescript@5.4 tsc --version
```

### How it works

<Steps>
  <Step title="Temp workspace">
    meow creates a temporary directory, writes a minimal `package.json`, and
    resolves the requested package (latest by default, or your specifier).
  </Step>

  <Step title="Install & verify">
    The package and its dependencies install into the temp workspace using the same
    verified, cached pipeline as `meow install` — so a tool you've run before starts
    instantly from cache.
  </Step>

  <Step title="Run the bin & clean up">
    meow locates the package's `bin` entry, prints a security envelope, runs it, and
    removes the temp workspace when the process exits.
  </Step>
</Steps>

### The security envelope

Before running freshly downloaded code, `meow x` tells you what host access it has:

```text theme={null}
🐾 Executing create-next-app in strict isolation.
Set MEOW_DANGEROUSLY_DISABLE_SECURITY=1 or pass --trust to bypass.
```

Grants can be placed **after** the package name — they're parsed out of the
trailing arguments:

```bash theme={null}
meow x wrangler deploy --trust
meow x some-tool --allow-env=TOKEN -- build
```

See [Permissions](/concepts/permissions) for the grant model.

### Shorthands

Thanks to the [omni-router](/runtime/running-code#the-omni-router) and the installed
shims, you can reach `meow x` several ways:

```bash theme={null}
meow x create-vite app     # explicit
meow create-vite app       # omni-router: unknown command → meow x
npx create-vite app        # the npx shim proxies to meow x
bunx create-vite app       # so do bunx / pnpx
```

## Global installs

`meow add -g` installs a package's binary globally. meow writes a lightweight shim
into `~/.meow/bin` that runs the package through `meow x` on demand — so global
"installs" stay current and never bloat a global `node_modules`.

```bash theme={null}
meow add -g cowsay         # creates ~/.meow/bin/cowsay
cowsay "hello"             # runs via meow x under the hood

meow remove -g cowsay      # removes the shim
```

<Tip>
  Make sure `~/.meow/bin` is on your `PATH` (the installer does this for you). meow
  reminds you of the bin directory after a global install.
</Tip>

## Searching the registry

Find packages without leaving the terminal:

```bash theme={null}
meow search vite
meow search "react form" -n 5     # limit results (default 20, max 250)
meow search vite --json           # machine-readable output
```

```text theme={null}
NAME            VERSION   DESCRIPTION
vite              8.1.2   Native-ESM dev server and build tool
vitest            2.0.0   A blazing fast unit test framework
…
3 result(s) · run `meow add <name>` to install
```

`s` and `find` are aliases for `search`.

<Card title="Back to dependency management" icon="box" href="/package-manager/overview">
  install, add, remove, and the cache.
</Card>
