To send or pass command line arguments to an npm script, you can “use the — syntax followed by your arguments.” You can then access the arguments in the npm script via the process.argv array.
Starting from npm version 2, the ability to pass arguments directly to scripts using the — separator was introduced. This syntax clarifies which arguments are meant for the npm CLI itself and which are intended to be forwarded to the script being run.
Syntax
npm run <command> [-- <args>]
The — separator separates the params passed to the npm command and the params passed to your script.
Here is the step-by-step guide to pass or send command line arguments to the npm script.
Step 1: Create a simple server.js file
const args = process.argv.slice(2);
console.log('Received arguments:', args);
Step 2: Add a script to your package.json to run server.js
"scripts": {
"myscript": "node server.js"
},
Step 3: Run the script with arguments
npm run myscript -- arg1 arg2 arg3
After executing the command, I get the following output.
The — syntax tells npm to pass the following arguments to the script. Without the –, npm would interpret them as arguments to npm itself, not the script.
Note: This approach works with npm. The method might vary slightly if you’re using another package manager like Yarn.
Related posts
Read Environment Variables in Node.js

Krunal Lathiya is a seasoned Computer Science expert with over eight years in the tech industry. He boasts deep knowledge in Data Science and Machine Learning. Versed in Python, JavaScript, PHP, R, and Golang. Skilled in frameworks like Angular and React and platforms such as Node.js. His expertise spans both front-end and back-end development. His proficiency in the Python language stands as a testament to his versatility and commitment to the craft.