Skip to main content

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.
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:
meow x create-next-app@latest my-app
meow x typescript@5.4 tsc --version

How it works

1

Temp workspace

meow creates a temporary directory, writes a minimal package.json, and resolves the requested package (latest by default, or your specifier).
2

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.
3

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.

The security envelope

Before running freshly downloaded code, meow x tells you what host access it has:
🐾 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:
meow x wrangler deploy --trust
meow x some-tool --allow-env=TOKEN -- build
See Permissions for the grant model.

Shorthands

Thanks to the omni-router and the installed shims, you can reach meow x several ways:
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.
meow add -g cowsay         # creates ~/.meow/bin/cowsay
cowsay "hello"             # runs via meow x under the hood

meow remove -g cowsay      # removes the shim
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.

Searching the registry

Find packages without leaving the terminal:
meow search vite
meow search "react form" -n 5     # limit results (default 20, max 250)
meow search vite --json           # machine-readable output
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.

Back to dependency management

install, add, remove, and the cache.