util.parseArgs()
Parses command-line arguments into structured values and positionals.
Syntax
util.parseArgs([config]) Parameters
| Name | Type | Required | Description |
|---|---|---|---|
config | object | No | `options` (map of flag definitions with `type`, `short`, `default`, `multiple`), `args`, `allowPositionals`, `strict`. |
Returns
object — An object with `values` and `positionals`.
Examples
import { parseArgs } from 'node:util';
// node app.js --name Ada --verbose build
const { values, positionals } = parseArgs({
options: {
name: { type: 'string' },
verbose: { type: 'boolean', short: 'v' },
},
allowPositionals: true,
});
console.log(values, positionals);
Output
{ name: 'Ada', verbose: true } [ 'build' ]
import { parseArgs } from 'node:util';
const { values } = parseArgs({
options: { tag: { type: 'string', multiple: true } },
});
console.log(values.tag);
Output
[ 'a', 'b' ]
Notes
A zero-dependency replacement for small CLIs that would otherwise
reach for `yargs`/`commander`. In strict mode (default) unknown
options throw. Use `multiple: true` for repeatable flags.