Skip to content
Desktop App

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 --help

Portable 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 --json

On Windows, drive analysis uses the drive name without a colon:

kudu --cli disk analyze C --json

Save a scan report with output redirection:

kudu --cli scan --system --browser --app --json > scan.json

With --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

CommandBehavior
kudu --cli scan --systemScan supported system targets without deletion.
kudu --cli scan --browser --appScan supported browser and app caches without deletion.
kudu --cli scan --gamingScan supported gaming targets without deletion.
kudu --cli scan --allScan all file-cleaner categories, including the Recycle Bin.
kudu --cli scan --browser --cleanScan and clean the chosen category in this invocation.
kudu --cli clean --browserRequest 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.

AreaInspection command
Registry (Windows)kudu --cli registry scan --json
Startupkudu --cli startup list --json
Boot trace (Windows)kudu --cli startup boot-trace --json
Malwarekudu --cli malware scan --json
Privacy settingskudu --cli privacy scan --json
Services (Windows)kudu --cli services scan --json
Software updateskudu --cli updates check --json
Driver packages (Windows)kudu --cli drivers scan --json
Driver updates (Windows)kudu --cli drivers check-updates --json
Installed programskudu --cli programs list --json
Uninstall leftoverskudu --cli leftovers scan --json
Disk healthkudu --cli perf disk-health --json
Networkkudu --cli network scan --json
Bloatwarekudu --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 NAME
  • services disable NAME / services enable NAME / services manual NAME / services auto NAME
  • updates run ID1,ID2 (or --all for an explicitly approved bulk update)
  • drivers clean NAME1,NAME2 and drivers update ID1,ID2
  • debloat remove PACKAGE1,PACKAGE2
  • leftovers clean --path PATH (repeat --path for 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

CodeMeaning
0Success
1General error
2Invalid arguments
3Permission denied / elevation required
4Partial success
5Nothing found
6Unknown command
7Threats 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.