CLI reference
inup is a single command. Without flags it opens the interactive picker; with --json, --check or --apply (or when stdout isn’t a TTY) it runs headless.
inup [options]
Options#
| Flag | Description |
|---|---|
-d, --dir <path> |
Run in a specific directory (default: current directory) |
-e, --exclude <patterns> |
Exclude paths matching regex patterns, comma-separated |
-i, --ignore <packages> |
Ignore packages — comma-separated, glob supported (@babel/*) |
--max-depth <number> |
Maximum directory depth for package.json discovery (default: 10) |
--package-manager <name> |
Force the package manager: npm, yarn, pnpm or bun |
--json |
Print a machine-readable JSON report and exit (read-only) |
-c, --check |
Exit non-zero if updates exist, without writing (for CI; read-only) |
--apply |
Non-interactively write upgrades and install (for CI/automation) |
--target <level> |
With --apply: minor (default, in-range), patch, or latest |
--save-exact |
Write exact versions instead of preserving the range prefix (^/~) |
--no-color |
Disable colored output (also respects NO_COLOR / FORCE_COLOR) |
--debug |
Write a verbose debug log to /tmp/inup-debug-YYYY-MM-DD.log |
Exit codes#
| Code | Meaning |
|---|---|
0 |
Everything up to date |
1 |
Updates exist (with --check) |
2 |
Error |
Headless by default in pipelines#
When stdout isn’t a TTY or $CI is set, inup never opens the interactive UI — it prints a report instead, so it can’t hang a pipeline. inup | cat gives a plain line-based report; --json gives the structured document.
See CI & scripting for the JSON schema and --apply semantics, and Configuration for the .inuprc file that all modes honor.
Last updated 2026-07-06 · Edit this page on GitHub