Command-Line Interface (CLI) Reference
Invoke Kudu with --cli for scan-only inspection, JSON reports, and explicitly approved maintenance. Includes current command syntax and exit codes.
Run the desktop executable with --cli. Without that flag, the desktop app is not being invoked in CLI mode. Use the executable’s full path if kudu is not on PATH, and consult the installed version’s help before scripting.
kudu --cli --help
kudu --cli --version
kudu --cli <command> [subcommand] [options]For a Windows portable build, extract the ZIP or use the portable EXE from the download page. In PowerShell, a quoted executable path needs the call operator:
& "C:\path\to\Kudu.exe" --cli --helpPortable does not mean no local data: settings, history, and logs can remain on the machine. Apply your service-record retention policy.
Start with Scan-Only Commands
These commands do not request cleanup or configuration changes:
kudu --cli perf info --json
kudu --cli disk drives --json
kudu --cli scan --system --browser --app --json
kudu --cli history list --jsonOn Windows, drive analysis uses the drive name without a colon:
kudu --cli disk analyze C --jsonSave a scan report with output redirection:
kudu --cli scan --system --browser --app --json > scan.jsonWith --json, result output goes to stdout and progress goes to stderr. Reports can contain paths and device details. Keep them in the appropriate job record and redact before sharing publicly.
File Cleanup
| Command | Behavior |
|---|---|
kudu --cli scan --system | Scan supported system targets without deletion. |
kudu --cli scan --browser --app | Scan supported browser and app caches without deletion. |
kudu --cli scan --gaming | Scan supported gaming targets without deletion. |
kudu --cli scan --all | Scan all file-cleaner categories, including the Recycle Bin. |
kudu --cli scan --browser --clean | Scan and clean the chosen category in this invocation. |
kudu --cli clean --browser | Request cleanup of the chosen category. This is not a preview. |
Prefer the UI when you need per-item selection. Do not assume a previous scan command’s selections carry over to a later cleanup invocation. --all is a broad selection and includes Recycle Bin cleanup when used for cleaning.
Performance-cache resets are excluded from ordinary CLI cleanup unless --include-cache-resets is supplied. Optional native maintenance needs --include-maintenance. Leave both out of routine scripts unless the specific action has been reviewed and approved. See Cleaning Tools for their consequences.
Other Inspection Commands
Availability varies by platform and installed services. Scans are not approval to apply every reported change.
| Area | Inspection command |
|---|---|
| Registry (Windows) | kudu --cli registry scan --json |
| Startup | kudu --cli startup list --json |
| Boot trace (Windows) | kudu --cli startup boot-trace --json |
| Malware | kudu --cli malware scan --json |
| Privacy settings | kudu --cli privacy scan --json |
| Services (Windows) | kudu --cli services scan --json |
| Software updates | kudu --cli updates check --json |
| Driver packages (Windows) | kudu --cli drivers scan --json |
| Driver updates (Windows) | kudu --cli drivers check-updates --json |
| Installed programs | kudu --cli programs list --json |
| Uninstall leftovers | kudu --cli leftovers scan --json |
| Disk health | kudu --cli perf disk-health --json |
| Network | kudu --cli network scan --json |
| Bloatware | kudu --cli debloat scan --json |
| WinRE status (Windows, admin) | kudu --cli repair winre-status --json |
The current desktop CLI does not expose repair scan, repair fix, or services optimize. Do not use older examples that promise blanket SFC/DISM/CHKDSK repair through those commands.
Commands That Change the Machine
Review the installed help and obtain approval before using action commands. Examples of supported syntax include:
startup disable NAME/startup enable NAMEservices disable NAME/services enable NAME/services manual NAME/services auto NAMEupdates run ID1,ID2(or--allfor an explicitly approved bulk update)drivers clean NAME1,NAME2anddrivers update ID1,ID2debloat remove PACKAGE1,PACKAGE2leftovers clean --path PATH(repeat--pathfor each explicitly reviewed leftover)restore-point create DESCRIPTION(Windows)repair gpu-restart(Windows, administrator; a display-adapter restart, not a generic repair)
Each requires the kudu --cli prefix. Keep driver removal, services, privacy changes, and program removal separate from routine cache maintenance. Bare leftovers cleanup and --all are not substitutes for explicit reviewed leftover paths.
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid arguments |
| 3 | Permission denied / elevation required |
| 4 | Partial success |
| 5 | Nothing found |
| 6 | Unknown command |
| 7 | Threats or issues found requiring attention |
A scan that finds nothing can return 5. Do not classify every nonzero result as a crash. Inspect both the exit code and result payload, including partial failures.
Scheduling and Headless Use
For attended desktop maintenance, start with Kudu’s Scheduler, which supports conditions and task selection. Test commands on the intended machine before scheduling them through Task Scheduler or cron. An unattended clean --all job is not the default recommended technician workflow.
Linux service installation and --daemon are separate from a scan-only visit. See the Linux agent installation guide and Cloud setup before enabling persistent monitoring.
The repair-shop & IT toolkit includes a downloadable scan-only quick reference. This page was checked against the desktop CLI source on October 10, 2026; the installed executable’s help is authoritative for its version.
Cloud Integration & Remote Management
Connect your Kudu desktop app to Kudu Cloud for remote device management, fleet monitoring, and automated maintenance from any browser.
Settings
Configure Kudu preferences including scan defaults, auto-update behavior, theme, cloud connection, and notification settings.