---
title: "spawn npx ENOENT (fix)"
canonical_url: "https://superbot.gg/fix/spawn-npx-enoent"
summary: "An MCP client could not start npx. On Windows run it through cmd /c, elsewhere give the absolute path, or connect a remote MCP server by URL and run no local process."
---

> Markdown of https://superbot.gg/fix/spawn-npx-enoent. Site index: /llms.txt.

MCP client error

# spawn npx ENOENT

An MCP client prints this when a stdio server's command is `npx` and the operating system cannot find it to start it.

The client could not start npx.
The server never launched.

[Get the app](https://superbot.gg/download?cta%5Fid=page%5Finstall) [other errors](https://superbot.gg/fix)

## What it means

ENOENT means "no such file". On Windows, `npx` is a batch shim, `npx.cmd`. Node's `spawn` finds `.cmd` files through `PATHEXT` only when the call runs through a shell, so a bare `npx` command fails (Claude Code issue 58510).

On macOS and Linux the same error means `npx` is not on the PATH the client runs with. A client started from a launcher can have a shorter PATH than your terminal.

## Fix it

1. On Windows, run it through cmd. Set the server's command to `cmd` and put `/c` and `npx` first in args:
```json
{
  "command": "cmd",
  "args": ["/c", "npx", "-y", "@upstash/context7-mcp"]
}
```
The reporter on issue 58510 verified this on six plugins. A change made inside `~/.claude/plugins/cache` is lost when the plugin updates, so keep the server in your own config. On Windows, `claude mcp add` can rewrite `/c` into `C:/` (issue 46360), so edit the JSON file instead.
2. Elsewhere, find npx with `which npx` and put the full path in `command`, for example `/usr/local/bin/npx`.
3. Check that Node is installed with `node -v`. npx comes with it.

## With superbot

This is a local start-up error, and superbot does not fix it. A remote MCP server connected by URL is an alternative: it starts no local process, so there is no npx to find.

superbot is one. Connect it from Claude Code with:

```sh
claude mcp add --transport http superbot https://api.superbot.gg/mcp -s user
```

Then run `/mcp` in a new session and sign in. The one tool, named `superbot`, reads pages and searches the web.

With no browser, post to the install route instead.

```sh
curl -fsS -X POST https://api.superbot.gg/mcp/install -d client=claude-code
```

This needs an account.
An agent with none signs you in through [/auth.md](https://superbot.gg/auth.md).
You read back one emailed code.

## Related

- [✘ Failed to connect](https://superbot.gg/fix/mcp-failed-to-connect)
- [Browser is already in use for <profile-dir>, use --isolated to…](https://superbot.gg/fix/playwright-browser-already-in-use)
- [browserType.launch: Executable doesn't exist at <path>](https://superbot.gg/fix/playwright-executable-doesnt-exist)

Source: [anthropics/claude-code issue 58510](https://github.com/anthropics/claude-code/issues/58510) and [firecrawl/firecrawl-mcp-server issue 38](https://github.com/firecrawl/firecrawl-mcp-server/issues/38). Issue [46360](https://github.com/anthropics/claude-code/issues/46360) covers the `/c` rewrite. Read on 2026-10-18.
