Skip to content
Agentmart
Submit a tool
This entry duplicates windows-npm-run-script-shell, which is the one we list in search.

windows-npm-run-script-shell

Use when Windows npm run, npm test, npm run build, or npm run-script exits before running the script with ERR_INVALID_ARG_TYPE, "file argument must be of type…

Skill by JinNing6

IndexedApache-2.0★ 18
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jinning6-windows-npm-run-script-shell-05c582

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use when Windows npm run, npm test, npm run build, or npm run-script exits before running the script with ERR_INVALID_ARG_TYPE, "file argument must be of type string", missing ComSpec, broken script-shell, stripped CLI flags, sandboxed npm cache/log EPERM, or silent npm script output.

Use cases: testing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions: not checked yet.

What's inside

Skill name
windows-npm-run-script-shell
Description
Use when Windows npm run, npm test, npm run build, or npm run-script exits before running the script with ERR_INVALID_ARG_TYPE, "file argument must be of type string", missing ComSpec, broken script-shell, stripped CLI flags, sandboxed npm cache/log EPERM, or silent npm script output.
License
Apache-2.0
Instructions
71 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Windows Npm Run Script Shell

## Overview

Windows npm scripts need a shell. If `ComSpec` is missing or npm cannot infer a script shell, `npm run ...` can fail inside npm before `tsc`, Vite, Vitest, or Playwright actually runs.

## Triage

Use this flow before changing app code:

1. Run the target tool directly with `npx`, for example `npx tsc -b --pretty false`, `npx vite build`, or `npx vitest run`.
2. Run `npm run <script> --loglevel verbose`.
3. Open the npm debug log if output is empty.
4. Check shell config:

```powershell
npm config get script-shell
npm config get cache
npm config get update-notifier
Write-Host "ComSpec=[$env:ComSpec]"
Write-Host "SHELL=[$env:SHELL]"
```

If direct `npx` commands pass but `npm run` fails with `ERR_INVALID_ARG_TYPE: The "file" argument must be of type string. Received undefined`, treat it as npm shell configuration, not a project build failure.

If direct `node <script>` succeeds but `npm test`/`npm run` exits silently in a sandbox, rerun with `--loglevel verbose`. When npm reports `EPERM` creating `%LocalAppData%\npm-cache\_logs` or attempts registry access only for update checks, treat it as npm runtime side effects, not a test failure.

## Fix

Prefer a project-local `.npmrc` so the fix travels with the repo:

```ini
script-shell=C:\Windows\System32\cmd.exe
```

For sandboxed Windows workspaces where npm cannot write the user cache/log directory, keep npm side effects inside the repo and disable network-prone notices:

```ini
cache=.npm-cache
update-notifier=false
fund=false
audit=false
script-shell=cmd.exe
```

Then rerun:

```powershell
npm run build
npm test -- --run
```

If the project requires PowerShell syntax in scripts, set `script-shell` to PowerShell and avoid `&&` in package scripts, because Windows PowerShell 5 does not support `&&`.

## Common Mistakes

- Do not rewrite TypeScript, Vite, Vitest, or React code when `npx <tool>` succeeds and only `npm run` fails.
- Do not treat silent npm output as proof that the build tool produced no diagnostics; inspect the npm debug log.
- Do not ignore npm cache/log `EPERM` in sandboxed workspaces; set a project-local cache before escalating.
- Do not set a global npm config unless the user asked for machine-wide changes.
- Do not assume `SHELL` replaces `ComSpec` for npm on Windows.

## Completion Standard

The issue is fixed only when:

- The original `npm run <script>` command succeeds.
- The direct tool command still succeeds.
- Tests/builds that previously passed via `npx` also pass through npm scripts.

From JinNing6/Noosphere, Apache-2.0.

More from JinNing6/Noosphere

Signals

Stars
18
Forks
3
Open issues
23
Last commit (this folder)
Jul 15, 2026 (3 months ago)
Last release
Jul 29, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Same skill elsewhere

Copies of this SKILL.md published by others; search shows only one of them.

More from JinNing6

Cite this page

windows-npm-run-script-shell skill. Agent Mart. https://agentmart.dev/skills/jinning6-windows-npm-run-script-shell-05c582 (last updated 2026-10-24)