We often lament Microsoft’s terrible stewardship of its Windows operating system, but that doesn’t mean that they never do anything right. In a blog post detailing changes and improvements coming to the Microsoft Store, the company announced something Windows users might actually like?
A new command-line interface for the Microsoft Store brings app discovery, installation and update management directly to your terminal. This enables developers and users with a new way to discover and install Store apps, without needing the GUI. The Store CLI is available only on devices where Microsoft Store is enabled.
↫ Giorgio Sardo at the Windows Blogs
Of course, this new command-line frontend to the Microsoft Store comes with commands to install, update, and search for applications in the store, but sadly, it doesn’t seem to come with an actual TUI for browsing and discovery, which is a shame. I sometimes find it difficult to use dnf to find applications, as it’s not always obvious which search terms to use, which exact spelling packagers are using, which words they use in the description, and so on. In other words, it may not always be clear if the search terms you’re using are the correct ones to find the application you need.
If package managers had a TUI to enable browsing for applications instead of merely searching for them, the process of using the command line to find and install applications would be much nicer. Arch has this third-party TUI called pacseek for its package manager, and it looks absolutely amazing. I’ve run into a rudimentary dnf TUI called dnfseek, but it’s definitely not as well-rounded as pacseek, and it also hasn’t seen any development since its initial release. I couldn’t find anything for apt, but there’s always aptitude, which uses ncurses and thus fulfills a similar role.
To really differentiate this new Microsoft Store command-line tool from winget, the company could’ve built a proper TUI, but instead it seems to just be winget with nicer formatted output that is limited to just the Microsoft Store. Nice, I guess.

Now if only they had a option for the MS Store app to install a app system wide and not just per user account.
WinGet is OpenSource and the sources on GitHub. And what is with Store CLI? Is it a competing solution which is not open?
I’m also a bit confused about this since it was my understanding that the MS Store already uses winget under the hood. However, Store-installed packages often have random identifiers instead of simple names, so maybe this tool rectifies that somehow.
Moochman,
I’ll be honest, this smells like a “vibe coded” tool. Yes, “WinGet” is already there, and any missing functionality could be added to that instead.
However starting something is the best way to get a promotion (not following though, though, that is for the next person to worry about). Compare “we build a new tool” vs “we added an option to winget”
I had the same question. It looks like it’s different in that it lets you browse applications by category, see which ones are most popular, and so on. Basically it lets you window shop different application categories the same way that gnome-software or Discover does, but from the command line.
Winget may have that kind of function but I’ve always used it like apt-get i.e. searching for something I already know I want to install.
With a CLI interface it should ideally be easy for someone in the open source community to create a browsing TUI. The whole purpose of this imho is 1) to aid automation and 2) to open up the store for use in alternative frontends, which can be GUI, TUI or whatever.
You mean something like UniGetUI?
https://github.com/marticliment/UniGetUI
https://www.marticliment.com/unigetui/
Yes, exactly, but in this case as a frontend for the Windows Store.
> sadly, it doesn’t seem to come with an actual TUI for browsing and discovery
Spoken like someone who’s never had to use tasksel and dselect.
The fuzzypkg utility for Void is similar and is by far the best way to search for and manage Void’s xbps packages. Simple, fast, and intuitive. The only downside I would give it is that it’s obviously made for large terminal windows; anything smaller than 175×50 characters (about 1770×1020 pixel terminal window on my system) makes it unusable. The issue is that it seems to have hardcoded spacing between the left column of package names and the right column of package descriptions. I feel like it should compress this spacing if the terminal window is made smaller, but maybe that would break functionality when using it at a console or over ssh? I’m not a programmer so I don’t know enough to understand the source and try to change it.
Morgan,
I thought I’d take a look at it, but it doesn’t run on my distro. Looking at the source the spacing seems to be generated by printf constructs:
The “%-20s” tells printf to print a left aligned field and pad it up to 20 spaces. You may be able to adjust the value to change the spacing.
https://www.gnu.org/software/gawk/manual/html_node/Printf-Examples.html
Bash is especially clunky for programming, but if the values overflow the provided space, then there are ways to truncate the string using awk/sed/perl:
https://unix.stackexchange.com/questions/202689/how-to-truncate-the-second-column-to-given-length
It probably requires that you have fzf and xbps installed in your distro, and the latter is Void’s packaging system. I’ll take a look at it and see if I can modify it. It would be nice if it ran properly on my homebrew PDA based on Void and a Raspberry Pi Zero 2W. That device uses an 800×480 pixel display so even at the console it doesn’t work well. Thanks!
The only thing I find good about new Windows systems that I need to use at work (at home it’s all Linux and BSDs since Windows XP times) is WSL/2. Without it I would need to use horrible Windows tools, but since they introduced GUI apps via WSL, I can use stable and good Linux apps under Windows (freerdp/remmina are an example, as I find mstsc to be an absolute hideous experience). Everything else they do, including their abysmal Powershell and other “tools” is just bad and not production-ready.