“A scientifically designed CLI transforms complex system operations into self-explanatory command flows.”
— UNIX Philosophy Guidelines

CLI Command Reference

The `winnest` command-line tool is the core interface to orchestrate all WinNest operations. Below is a detailed description of each command, parameters, and output results.

winnest doctor

Diagnoses the Linux host environment. It checks Wine, wineboot, wineserver, 32-bit/64-bit support, data folder permissions, desktop tools, and dependencies such as winbind, cabextract, and 7z. Use --verbose for resolved paths, --fix-hints for repair commands, or --json for machine-readable output.

winnest install <installer-path> [--desktop-icon]

Installs a new application. WinNest generates a unique app ID, locks the app folder, writes install-state.json, creates an isolated prefix, runs the installer through Wine, scans shortcuts/executables, applies matching recipes, and creates a Linux launcher. Add --desktop-icon to create a user Desktop shortcut after installation.

winnest run <app-id>

Launches an installed Windows application. It configures the `WINEPREFIX` environment variable, triggers wineserver, executes the binary, and redirects stdout/stderr to structured JSON-line logs under the app logs directory.

winnest open <file-path>

Opens a Windows file through WinNest. For .exe or .msi installers, the lightweight winnest-open helper can hand off to the GUI with --gui or force terminal mode with --cli. This is the primary path for double-clicking installers from a file manager.

winnest gui [--install <installer-path>]

Opens the WinNest Electron shell. When --install is provided, the install screen starts with that installer path preselected for file manager handoff. The GUI talks to the shared core through IPC and does not call Wine directly.

winnest list

Lists all managed applications in a clean summary table showing application ID, name, active Wine version, and run status.

winnest info <app-id>

Prints detailed metadata of the application, including installation date, prefix directory path, list of executable targets, log files, and configuration arguments.

winnest rescan <app-id>

Rescans an app prefix to choose the main executable again. Use this when the initial scanner selected the wrong target, or after changes inside the Wine prefix require updating mainExe and launchers.

winnest repair <app-id>

Repairs a broken application configuration. It restores corrupted symlinks inside the prefix, recreates missing desktop entry shortcuts, and fixes malformed metadata in `app.json`.

winnest repair-system [--json]

Checks host system dependencies and prints distro-specific repair instructions, such as enabling i386 and installing wine32:i386, winbind, and cabextract. It does not run sudo automatically; users copy the commands when needed.

winnest reset <app-id>

Resets the Windows application prefix sandbox back to its clean initial state, clearing the virtual Registry and user app data (C:\Drive files) while keeping the installer cache for easy reinstall.

winnest uninstall <app-id>

Completely purges the application from the Linux host. Deletes the prefix directory, `app.json` settings, installer cache, logs, and unregisters its desktop shortcut entry.

winnest register-mime

Registers MIME type configurations and file association links with the Linux Desktop environment, ensuring file managers automatically associate specific Windows extensions with WinNest.

winnest create-desktop-icon <app-id>

Creates a user Desktop shortcut that still runs through the stable command winnest run <app-id>. Use winnest remove-desktop-icon <app-id> to remove that shortcut without deleting the app.