title: Command Reference
VIPM CLI Command Reference
Use this page to look up syntax, options, and common workflows for the most frequently used VIPM CLI commands. For additional details, remember that vipm help lists every command and vipm <command> --help prints the authoritative help text for a single command.
vipm.toml Commands (Preview)
Looking for vipm init, vipm add, vipm remove, vipm lock, or vipm clean? These commands work with the new vipm.toml project configuration format. See the vipm.toml Getting Started guide for details. For managing NI packages (NIPM) in vipm.toml, see NI Packages (NIPM).
Global Options
These flags are available on every command unless noted otherwise:
| Option | Description |
|---|---|
--refresh |
Forces a package-list refresh before the command runs. Helpful when automation needs the latest repository metadata. |
--labview-version <YYYY> |
Targets a specific LabVIEW year (e.g., 2025). Combine with --labview-bitness when multiple bitnesses exist. |
--labview-bitness <32|64> |
Specifies 32-bit or 64-bit LabVIEW when both are installed for the same year. Only meaningful with --labview-version. |
--color-mode <auto|always|never> |
Controls CLI color output (defaults to auto). |
--timeout <seconds> |
How long to wait for the operation to finish. Use -1 for no timeout. |
--show-progress |
Display a progress indicator during long-running operations. |
--json |
Output command results as JSON to stdout. Errors go to stderr. Experimental · Professional Edition. |
--verbose, -v |
Enable verbose output for additional diagnostic detail. |
-h, --help |
Shows help for the current command. |
Unless a command states otherwise, it returns exit code 0 on success and a non-zero value on failure (check your automation scripts for non-zero exits).
Command Quick Look
| Command | Summary |
|---|---|
vipm install |
Install packages, .vipc, .vip, .ogp, or .dragon files. |
vipm uninstall |
Remove packages from the selected LabVIEW installation. |
vipm list |
List installed packages or inspect a .vipc/.dragon file. |
vipm info |
Show metadata and installed files for a package. |
vipm package-list-refresh |
Refresh repository metadata (legacy command, still supported). |
vipm activate |
Activate VIPM Pro using a serial number, name, and email. |
vipm build |
Build packages from .vipb specs or LabVIEW project build specs. |
vipm sbom |
Generate a CycloneDX SBOM from a project or manifest. |
vipm sync |
Reconcile vipm.toml from a LabVIEW project scan. |
vipm version |
Output the CLI and Desktop version numbers. |
vipm about |
Print installation details (paths, versions). |
vipm install
Installs one or more packages by name, name@version, or file path.
Syntax
Options
| Option | Description |
|---|---|
--upgrade |
If the package is already installed, upgrade it to the latest available version. |
--dev |
Install dev-dependencies from vipm.toml. |
--no-dev |
Exclude dev-dependencies when installing from vipm.toml. |
--yes, -y |
Skip confirmation prompts and proceed automatically. Also available as VIPM_ASSUME_YES=1 env var, or use VIPM_NONINTERACTIVE=1 to disable all prompts. See Environment Variables. |
Examples
Install a single package:
Install multiple packages and upgrade existing ones:
Apply a configuration file:
Expected output includes progress such as:
Common Issues
- Package not found: Run
vipm package-list-refreshand verify the package ID at vipm.io. - Wrong LabVIEW version: Specify
--labview-versionand--labview-bitnessto target the correct environment.
vipm uninstall
Removes packages from the selected LabVIEW installation.
Syntax
Options
| Option | Description |
|---|---|
--allow-version-mismatch, -F, --force |
Proceed even if the installed version does not match the requested version. |
--yes, -y |
Skip confirmation prompts and proceed automatically. Also available as VIPM_ASSUME_YES=1 env var, or use VIPM_NONINTERACTIVE=1 to disable all prompts. See Environment Variables. |
Examples
Expected output:
Common Issues
- Package in use: Close LabVIEW or stop any process locking the files before uninstalling.
- Multiple LabVIEW versions: Provide
--labview-versionif the package exists in more than one installation.
vipm list
Lists packages from the installed LabVIEW environment or from a .vipc / .dragon file.
Syntax
Options
| Option | Description |
|---|---|
--installed |
Show every package installed in the active LabVIEW version. |
--dev |
Include dev-dependencies when listing from vipm.toml. |
--no-dev |
Exclude dev-dependencies when listing from vipm.toml. |
Examples
List installed packages:
Inspect a configuration file:
Expected output:
vipm info
Shows metadata for a package, including name, version, description, vendor, and license. Can also list installed files. For managing NI packages in vipm.toml, see NI Packages (NIPM).
Syntax
Options
| Option | Description |
|---|---|
--nipm |
Look up an NI package (NIPM) instead of a VIPM package. |
--installed-files |
List all files installed by the package (Professional edition). |
Examples
Show metadata for a VIPM package:
Show metadata for an NI package:
List installed files for a package:
vipm search
Searches the VIPM repositories for packages by name or description.
Syntax
Options
| Option | Description |
|---|---|
--limit <N> |
Limits the number of search results (defaults to 10). |
Examples
Search for OpenG packages:
Sample output:
Tips
- Combine multiple terms (e.g.,
vipm search serial communication) to narrow results. - Append
--refreshto ensure the latest catalog data before searching in CI.
vipm package-list-refresh
Legacy command that refreshes VIPM's cached repository metadata. Still widely used in scripts.
Syntax
Options
| Option | Description |
|---|---|
--timeout <seconds> |
Set how long VIPM waits for the refresh to finish (-1 waits indefinitely). |
--lv-version <YY.0> |
Old-style LabVIEW version selector (prefer --labview-version). |
--show-progress |
Display a progress bar. |
Example
Expected output:
Common Issues
- Corporate proxy: Configure
http_proxy/https_proxyenvironment variables before running. - Offline environments: Mirror the repository internally and point VIPM to the local server.
vipm activate
Activates VIPM Pro. Legacy scripts may use vipm activate; both map to the same functionality.
Syntax
Any argument omitted on interactive terminals will trigger a prompt.
Example Output
Common Issues
- Ensure the serial number is valid and not already in use elsewhere.
- The name and email must exactly match the VIPM account tied to the serial number.
vipm build
Builds packages or other project artifacts from .vipb or .lvproj build specifications.
Syntax
For LabVIEW project builds:
vipm build \
--lvproj-build-spec "My Build" \
--lvproj-target "My Computer" \
path/to/project.lvproj
Options
| Option | Description |
|---|---|
--lvproj-build-spec <name> |
Name of the LabVIEW project build spec to run when using .lvproj. |
--lvproj-target <name> |
LabVIEW project target (defaults to My Computer). |
--all |
Build all build specs found in the project. |
--version-number <VERSION> |
Override the version number for the build. |
--build-number <N> |
Override the build number for the build. |
--debug |
Build in debug mode. |
--no-deps |
Skip installing dependencies before building. |
--rebuild-deps |
Reinstall dependencies before building, even if already installed. |
Example Output
Common Issues
- Linux build limitations: Review the VIPM Preview docs for current platform support notes.
- Missing dependencies: Run
vipm install project.vipcbefore invokingvipm buildin CI.
vipm sbom
Preview Feature — Available in VIPM 2026 Q3 Preview
The SBOM and sync commands are available in the VIPM 2026 Q3 Preview. Download it to try these features and share your feedback.
Generates a CycloneDX Software Bill of Materials (SBOM) from a project file or manifest. See the SBOM documentation for a tutorial and workflow guidance.
Syntax
INPUT is a vipm.toml, .lvproj, .dragon, or .vipc file. If omitted, the CLI searches upward for a vipm.toml.
Options
| Option | Description |
|---|---|
--format cyclonedx |
Output format (default: cyclonedx). |
--schema-version 1.5 |
CycloneDX spec version for the output document (default: 1.5). |
--output <PATH> |
Required. File path for the generated SBOM (relative or absolute). |
--product-name <NAME> |
Sets metadata.component.name in the SBOM. Defaults to the input filename stem. |
--product-version <VERSION> |
Sets metadata.component.version. Omitted from the SBOM if not provided. |
--product-type <TYPE> |
Sets metadata.component.type. One of: application (default), library, framework, container, firmware, device, file. |
--document-version <N> |
BOM revision number (default: 1). |
--document-serial-number <URN> |
Unique BOM identifier (urn:uuid:...). Auto-generated if omitted. |
--vipm |
Include only VIPM packages. Conflicts with --no-vipm. |
--nipm |
Include only NIPM packages. Conflicts with --no-nipm. |
--no-vipm |
Exclude VIPM packages from the SBOM. Conflicts with --vipm. |
--no-nipm |
Exclude NI packages (NIPM) from the SBOM. Conflicts with --nipm. |
--no-dev |
Exclude dev-dependencies (vipm.toml input only). |
--lvproj-build-spec <NAME> |
Select a build specification within a .lvproj. Seeds metadata.component name, version, and type from the build spec (overridden by explicit --product-* flags) and narrows the dependency scan to the build spec's deliverable closure — its declared source roots (with container expansion and sourceInclusion filtering applied) plus the linker-walked transitive closure from those roots. Supported build-spec types: EXE, Packed Library, DLL, .NET Interop Assembly, Source Distribution. Invoking for an Installer or Package build spec produces exit code 2 and a message directing you to --lvproj-target. The containing target is inferred automatically when unambiguous; pass --lvproj-target to disambiguate when the same name exists under multiple targets. .lvproj input only. |
--lvproj-target <TARGET> |
Narrow the dependency scan to a single .lvproj target. May be used alone (scans only that target) or with --lvproj-build-spec (validates the spec is under that target). Omit to scan the whole project. An unknown target name produces exit code 12 with a listing of the project's available targets. .lvproj input only. |
--allow-package-drift |
Opt out of the package-drift check. When set, SBOM generation proceeds even if installed packages disagree with vipm.toml or vipm.lock; a warning listing the drifted packages is printed to stderr and the SBOM reflects installed versions. Without this flag, drift aborts with exit code 17. |
--allow-missing-files |
Opt out of the missing-referenced-files check. When set, SBOM generation proceeds even if the project references files that are not on disk; a warning listing each missing reference is printed to stderr and the SBOM reflects what could be scanned. Without this flag, missing references abort with exit code 18. |
Examples
Generate an SBOM from a LabVIEW project:
vipm sbom MyProject.lvproj \
--format cyclonedx \
--schema-version 1.5 \
--product-name "My Instrument" \
--product-version 2.1.0 \
--output build/bom.json
Scope an SBOM to a specific build specification within a .lvproj:
vipm sbom MyProject.lvproj \
--format cyclonedx \
--schema-version 1.5 \
--lvproj-build-spec "My EXE Build" \
--lvproj-target "My Computer" \
--output build/bom.json
The resulting SBOM reports only the packages whose code contributes to
that build spec's deliverable — its declared source roots plus whatever
the LabVIEW linker can reach from them. It's a strict subset of (or
equal to) the SBOM for --lvproj-target "My Computer" alone.
What's in the SBOM vs. what's in the build output
--lvproj-build-spec narrows the SBOM to code the build delivers,
not just files LabVIEW copies into the output directory. In
particular, the build-dialog optimization settings (exclude-* /
remove-* — inline SubVIs, typedefs, library items, dependent PPLs,
excluded directories, etc.) do not shrink the SBOM. Those settings
control file-copy behaviour at build time; the linked code from those
files is still part of the deliverable (e.g., an inline SubVI's block
diagram is expanded into every caller; a dependent PPL is runtime-linked
at load time). Reporting them in the SBOM is correct for supply-chain
disclosure.
If the build spec is an Installer or Package type, the command
errors with exit code 2. Those types bundle other build specs'
outputs and declare NIPM dependencies through a different mechanism;
for now, use --lvproj-target to scope to the containing target.
Scope to a specific target without selecting a build spec (useful when running from source without building a binary):
vipm sbom MyProject.lvproj \
--format cyclonedx \
--schema-version 1.5 \
--lvproj-target "My Computer" \
--output build/bom.json
Generate from a vipm.toml, excluding dev-dependencies:
vipm sbom vipm.toml \
--format cyclonedx \
--schema-version 1.5 \
--no-dev \
--output build/bom.json
Expected output on success:
Exit Codes
| Code | Meaning |
|---|---|
0 |
SBOM generated successfully |
1 |
Unexpected or unclassified error |
2 |
Invalid arguments or failed input validation |
4 |
Requested LabVIEW version is not installed |
6 |
Insufficient edition, license, or activation |
8 |
File system or IO failure (e.g., cannot write to --output path) |
12 |
Named build target (--lvproj-target) not found in the .lvproj |
13 |
Input file is not a supported type |
14 |
Input file exists but is malformed |
15 |
A required file does not exist |
17 |
Installed packages disagree with the project's declared state in vipm.toml or vipm.lock. Use --allow-package-drift to override. |
18 |
One or more files referenced by the scanned project could not be found on disk. Use --allow-missing-files to override. |
Any non-zero exit code means the SBOM was not produced. The --output file is only written on exit code 0.
On failure, stderr contains a human-readable error message. Example:
error: No LabVIEW installation found for version '2024'.
help: Use 'vipm labview-list' to see available versions
Common Issues
- Missing
--output: The--outputflag is always required.--formatdefaults tocyclonedxand--schema-versiondefaults to1.5, so they can be omitted. - Wrong LabVIEW version: Use
--labview-versionand--labview-bitnessto target the correct installation when scanning.lvprojfiles. --no-devon non-toml input: The--no-devflag is only valid withvipm.tomlinput.
vipm sync
Preview Feature — Available in VIPM 2026 Q3 Preview
The SBOM and sync commands are available in the VIPM 2026 Q3 Preview. Download it to try these features and share your feedback.
Reconciles a vipm.toml manifest from the dependencies discovered in a LabVIEW project scan.
Syntax
TARGET is the vipm.toml to update. If omitted, the CLI searches upward from the current directory. SOURCE is the file to scan (e.g., a .lvproj).
Options
| Option | Description |
|---|---|
--from <SOURCE> |
Required. The source file to scan for dependencies. |
--dry-run |
Preview changes without writing to the manifest. |
--vipm |
Include only VIPM packages. Conflicts with --no-vipm. |
--nipm |
Include only NIPM packages. Conflicts with --no-nipm. |
--no-vipm |
Exclude VIPM packages from the sync. Conflicts with --vipm. |
--no-nipm |
Exclude NI packages (NIPM) from the sync. Conflicts with --nipm. |
--allow-missing-files |
Opt out of the missing-referenced-files check. When set, sync proceeds even if the project references files that are not on disk; a warning listing each missing reference is printed to stderr. Without this flag, missing references abort with exit code 18. |
Examples
Sync vipm.toml from a LabVIEW project:
Preview changes without writing:
Common Issues
- No vipm.toml found: Either specify the target path explicitly or run the command from a directory that contains (or is a child of a directory that contains) a
vipm.toml.
vipm version
Prints the VIPM CLI and Desktop versions. Useful for support tickets and automation logs.
Sample output:
vipm about
Shows installation information such as install paths and license data.
Use vipm about --help to review the latest options.