Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
The Windows App Development CLI is currently in public preview. Features and commands may change before the final release. Share your feedback by creating an issue.
The Windows App Development CLI (winapp CLI) is a single command-line interface for managing Windows SDKs, packaging, generating app identity, manifests, certificates, and using build tools with any app framework. This tool bridges the gap between cross-platform development and Windows-native capabilities.
Whether you're building with .NET/Win32, CMake, Electron, or Rust, this CLI gives you access to:
- Modern Windows APIs - Windows App SDK and Windows SDK with automatic setup and code generation
- Package Identity - Debug and test by adding package identity without full packaging
- MSIX Packaging - App packaging with signing and Store readiness
- Developer Tools - Manifests, certificates, assets, and build integration
Why package identity?
Many powerful Windows APIs require your app to have package identity, enabling you to leverage OS components Windows offers that you wouldn't otherwise have access to. With identity, your app gains access to features like notifications, OS integration, and on-device AI.
Examples of what package identity and MSIX packaging unlocks:
- Interactive native notifications and notification management
- Integration with Windows Explorer, Taskbar, Share sheet, and other shell surfaces
- Protocol handlers (
yourapp://URIs) - On-device AI (local LLM, text and image AI APIs)
- Background tasks (run when app is closed)
- File type associations
- Clean install/uninstall and auto-updates
Installation
WinGet
The easiest way to install the CLI is via WinGet (Windows Package Manager):
winget install Microsoft.winappcli --source winget
NPM
For Electron projects, install via NPM:
npm install @microsoft/winappcli --save-dev
GitHub Actions / Azure DevOps
For CI/CD pipelines, use the setup-WinAppCli action to automatically install the CLI on your runners/agents.
Manual download
Download the latest build from GitHub Releases.
Verify installation
Once installed, verify the installation by calling the CLI:
winapp --help
Or if using Electron/Node.js:
npx winapp --help
Supported frameworks
winapp CLI works with a variety of app frameworks:
| Framework | Guide |
|---|---|
| .NET / WPF / WinForms | Get started with .NET |
| C++ (CMake) | Get started with C++ |
| Electron | Get started with Electron |
| Rust | Get started with Rust |
| Tauri | Get started with Tauri |
| Flutter | Get started with Flutter |
Commands overview
| Category | Commands |
|---|---|
| Setup | init, restore, update |
| Packaging | pack, create-debug-identity |
| Manifests | manifest generate, manifest update-assets |
| Certificates & Signing | cert generate, cert install, sign |
| Utilities | tool, store, get-winapp-path |
| Node.js/Electron | node create-addon, node add-electron-debug-identity, node clear-electron-debug-identity |
For the full CLI reference, see CLI reference.
Open source
winapp CLI is open source. You can find the source code, file issues, and contribute on GitHub.
Related topics
Windows developer