Windows 11 includes a feature called “App Execution Aliases,” designed to seamlessly integrate modern Microsoft Store applications (UWP apps) with the legacy command-line interface. By default, Microsoft registers aliases for common commands. For example, if you open a command prompt and type python, instead of executing your locally installed Python binary, Windows intercepts the command and forcefully opens the Microsoft Store, prompting you to download their packaged version of Python.
While this is intended to be helpful for beginners who don’t know how to install software, it is an absolute nightmare for developers and system administrators. If you have spent hours carefully configuring your system PATH variables to point to a specific, custom installation of Python (like Anaconda or a localized virtual environment), Windows 11 will aggressively hijack your commands and break your build scripts. To ensure your command prompt respects your actual system paths and never redirects you to the Microsoft Store, you must completely disable App Execution Aliases.
Disabling Aliases via System Settings
You can revoke these command-line hijacking privileges directly from the modern Windows 11 Settings app.
- Click the Start button on your taskbar, type
Settings, and press Enter to launch the app. - In the left-hand navigation sidebar, click on Apps.
- In the main panel, click on Advanced app settings.
- Under the “Advanced settings” header, click on App execution aliases.
- You will see a list of applications that have registered command-prompt aliases (e.g., “App Installer”, “Python”, “Windows Terminal”).
- Locate the entries specifically for App Installer (python.exe) and App Installer (python3.exe).
- Click the toggle switches next to both entries to turn them Off.
- (Optional): Scroll through the rest of the list and disable any other applications that you do not want hijacking your command-line inputs.
The change takes effect instantly. Open a fresh Command Prompt or PowerShell window and type python. Windows 11 will no longer intercept the command. Instead, it will properly search your configured system PATH, find your authentic local Python installation, and execute it exactly as expected, guaranteeing absolute control over your development environment.