PowerToys icon indicating copy to clipboard operation
PowerToys copied to clipboard

Replace PowerToys Run with Command Palette

Open cinnamon-msft opened this issue 3 months ago • 45 comments

Description of the new feature / enhancement

This is the epic issue to track the enhancements we need to make in order to replace PT Run with Command Palette. This is something we'll be working towards over time and we'll communicate once we get closer to the full replacement date. 😄

Scenario when this would be used?

Command Palette is Run's evolution and maintaining both in the long term isn't a viable solution

Supporting information

Please give us feedback if you prefer Run over Command Palette, why you like it better and what we need to do in Command Palette to make it a better solution for you. :)

cinnamon-msft avatar Sep 08 '25 16:09 cinnamon-msft

I would absolutely prefer Run over Command Palette's current state.

For 2 primary reason:

  1. Run is a global search by default. Command Palette is not a global search, and does not provide an option to enable one.

Command Palette instead requires keyboard shortcuts or clicking on categories before those results are displayed. This is a downgrade in usability that creates more steps, when Run only needed 1.

  1. Run is far more customizable. Run empowered me to make the tool my own. Command Palette, as of yet, does not.

Run gives me countless tools and options to curate the search results to my exact needs. It gives me the option to exclude things from the global search results, and I have the option to narrow the search with keyboard combinations and shortcuts if I wanted to. I can also decide for myself which results are weighed more heavily than others. None of these options exist for Command Palette.

My Run searches were only as "cluttered" as I wanted them to be. Command Palette tries to clean things up without giving me the option to "clutter" it up again if I choose to.

Basically? If you want Command Palette's defaults to be the way it is now because you believe it will benefit most users, fine. But please include settings that allow us to make it a global search again, without additional keyboard shortcuts, be choosing what gets included by default.

And just as a minor thing: I like the "Run as Admin" and "Open location" shortcuts floating right next to the search results, without having to right click or go to the bottom of the window.

klueman avatar Sep 08 '25 17:09 klueman

I would absolutely prefer Run over Command Palette's current state.

For 2 primary reason:

  1. Run is a global search by default. Command Palette is not a global search, and does not provide an option to enable one.

Command Palette instead requires keyboard shortcuts or clicking on categories before those results are displayed. This is a downgrade in usability that creates more steps, when Run only needed 1.

  1. Run is far more customizable. Run empowered me to make the tool my own. Command Palette, as of yet, does not.

Run gives me countless tools and options to curate the search results to my exact needs. It gives me the option to exclude things from the global search results, and I have the option to narrow the search with keyboard combinations and shortcuts if I wanted to. I can also decide for myself which results are weighed more heavily than others. None of these options exist for Command Palette.

My Run searches were only as "cluttered" as I wanted them to be. Command Palette tries to clean things up without giving me the option to "clutter" it up again if I choose to.

Basically? If you want Command Palette's defaults to be the way it is now because you believe it will benefit most users, fine. But please include settings that allow us to make it a global search again, without additional keyboard shortcuts, be choosing what gets included by default.

And just as a minor thing: I like the "Run as Admin" and "Open location" shortcuts floating right next to the search results, without having to right click or go to the bottom of the window.

This is great feedback, @klueman! Especially this level of detail helps us to better understand what features Run users value (and that are not part of CmdPal today)!

niels9001 avatar Sep 08 '25 18:09 niels9001

Add #41659 and #41189

iqnite avatar Sep 09 '25 09:09 iqnite

Run is far more customizable. Run empowered me to make the tool my own. Command Palette, as of yet, does not.

Adding extensibility is a very core goal of CmdPal.

Image

There should be a command built-in to create an extension project all ready to go. If that doesn't work for you @klueman, I'd love to know why

zadjii-msft avatar Sep 09 '25 12:09 zadjii-msft

Here's what came to mind for me, though I haven't used Command Palette much yet.

The Command Palette Run Commands mess with my keystrokes & spelling/grammar In line with https://github.com/microsoft/PowerToys/issues/41659, here's an example where I try again and again to write the command echo after pressing >. It consistently ignores the e at the beginning as it is rewriting to use one of my previous queries. Then, after I finally get the command typed, it spell checks my work changing case! Sometimes I do actually need things the case I write them in 😠.

Image

Image

Command Palette aliases navigate, replace my query, and can't be used retroactively This navigation is fine for the one-off correct query . python which uses the command alias . to navigate to All Apps then search for python:

Image

But if you use the alias incorrectly like missing a space you have to restart the query entirely!

Image

Or if you use the wrong alias first, you can't fix it without redoing the query.

Image

Searching for just python works—it just adds all sorts of stuff at the end of the list that is irrelevant.

Image

Command Palette aliases eat keystrokes Perhaps relatedly, when aliases take over your keystrokes can be eaten if you type even reasonably fast:

Image

Exiting takes unpredictable number of key presses I like being able to press esc ONCE to exit PowerToys Run no matter where I am.

Exiting Command Palette takes pressing esc 1–3 times, at least in the cases I've found.

Image

This is undesirable because any leftover esc (e.g., if I pressed 3 times regardless of where I am) get passed to the app that previously had focus and can disrupt work (eliminate selections, exit slideshows, etc.).

Also, sometimes esc as many times as you want doesn't work at all!

Image

The other ways to close immediately with a predictable number of key presses are alt+F4 (undesirable, can lead to mistakes) or doing the win+alt+space shortcut again (long, but predicable).

The result list reorders more than with PowerToys Run

It is obnoxious to keep having to change your selection as the results list reorders itself.

Image

Granted, I remember this being a problem with PowerToys Run... maybe I've customized it for the queries I give it so this issues doesn't happen...

Search for filenames are incomplete, slow, & not near as good as Everything Granted, this is also a problem with PowerToys run. It could be do to my Windows search indexer settings, though I've never found a satisfactory customization of them that makes for fast & complete search.

I use the extensions EverythingPowerToys or EverythingCommandPalette instead.

It doesn't yet have all the features of PowerToys Run Run has a TON of built-in plugins that I use which Command Palette doesn't offer. In particular, Folder to navigate quickly and Unit Converter https://github.com/microsoft/PowerToys/issues/38528.

codydunne avatar Sep 09 '25 19:09 codydunne

Hi! I love some of the new feature in CP but it stil lack a few options that meke me currently use PTRun instead. First of all, the possibility to assign a priority to specific plugins in the results list (i.e. I want apps before commands, commands before folders ecc...) Then i really dislike the fact that you cannot hide the list of active plugins when launchin CP.

Image

is far more clean and clear than

Image

I also can't find the option to clear the search field when I close and reopen CP

definama avatar Sep 10 '25 07:09 definama

Thanks for the great pile of feedback. I tried to break down everything I saw here, I'll go file issues and update this comment with links.

  • The Command Palette Run Commands mess with my keystrokes & spelling/grammar

    • Super right about this. The way TextToSuggest works in Command Palette just doesn't feel right. I thought I had it close with the current implementation, but it does seem like it gets itself into bad states more often than it should.
    • I think we should disable this in 0.6, and work on another approach for 0.7+.
    • [x] #41659
  • Command Palette aliases navigate, replace my query, and can't be used retroactively...
    ...Or if you use the wrong alias first, you can't fix it without redoing the query.

    • [x] #41731
  • Searching for just python works—it just adds all sorts of stuff at the end of the list that is irrelevant

    • Yea, maybe we need a setting that will prune out the low-relevance results when there's some high-relevance results.
    • [x] #41735
  • Command Palette aliases eat keystrokes

    • [x] #41736
  • Exiting Command Palette takes pressing esc 1–3 times, at least in the cases I've found.

    • I could have swore we had a longer discussion about this in the past, but I can't find our original discussion in my notes.
    • I think we wanted to have three states for Escape:
      1. The current behavior: dismiss search if there isn't one, otherwise go back
      2. Go back always
      3. Dismiss always (go home & hide)
    • [x] vaguely tracked in #38311
  • Also, sometimes esc as many times as you want doesn't work at all!

    • Op, that looks like an issue with Content pages specifically
    • [x] #41739
  • The result list reorders more than with PowerToys Run

    • Uhg, my current villian. We're planning some work during 0.95 / 0.6 for this.
    • [x] Kinda tracked in #40330 and #38877
  • Search for filenames are incomplete, slow, & not near as good as Everything

    • Yea, Everything is great, and I can't recommend it enough. I think we're at about the limit for what Indexer can give us.
    • I kinda just recommend everyone use Everything.
  • Run has a TON of built-in plugins

    • Folder plugin: I think I added a lot of the features of the folder plugin to the Run page in 0.4.... but it looks like I accidentally killed the "Browse" command
      • [ ] Need to file
    • Currency conversion: There's actually a couple in the store, and this one is installable from winget within the palette itself.
    • Unit Conversion: has no one really built this yet? This should be... pretty easy I think? I dunno if we'll be the ones to implement it built-in, but it's a perfectly good extension.

  • i really dislike the fact that you cannot hide the list of active plugins when launchin CP.

    • [ ] tracked in #38423

Overall, these are great bug reports. Keep 'em coming!

zadjii-msft avatar Sep 10 '25 11:09 zadjii-msft

Hello

Idowuwes19 avatar Oct 05 '25 00:10 Idowuwes19

I tried Command Palette but reverted to PowerToys Run for several reasons. Among these, here are a couple I believe are most relevant for other users:

  • Command Palette requires installation
    • I am using PowerToys in a portable manner and Command Palette is the ONLY app (currently) that needs to be installed, everything else works smoothly without installation
    • I understand you do not officially support a "portable" version of PowerToys, although many users would prefer that; e.g., #598 [2019, +150👍 overall], #3611, #6742, #8922, #20569, #28287, #29923, #31260, #34790, ...
    • and this replacement would be another reason not to support a portable version
  • Command Palette Extensions are a privacy and security nightmare
    • e.g., https://github.com/microsoft/PowerToys/issues/38939#issuecomment-3081879132
    • this could be mitigated by a curated set of "official" extensions available from official Microsoft repositories here on GitHub; however, this set needs to cover at least ALL functionalities currently available in PowerToys Run (see #38530)
    • it must also be possible to install extensions "manually" – that is, not via the Microsoft Store – to allow verification of what is being installed

daniporr avatar Oct 14 '25 15:10 daniporr

I am against replacing until Command Pallete gets this use-case: navigation through folders and launching apps and files from there:

Reproduction is here:

Details

https://github.com/user-attachments/assets/7a40c96a-117b-4a04-be63-786a4346e0ee

AFAIK there is no issue for that and this scenario is not implemented in Command Pallete

Kenya-West avatar Oct 17 '25 13:10 Kenya-West

The feature I'm still waiting to see in Command Palette that would let me replace PowerToys Run is the value generator plugin. Granted, I don't really use many of the other features, but this one I use quite a bit.

alexvy86 avatar Oct 17 '25 15:10 alexvy86

The feature I'm still waiting to see in Command Palette that would let me replace PowerToys Run is the value generator plugin. Granted, I don't really use many of the other features, but this one I use quite a bit.

Hello @alexvy86,

there is an extension for Command Palette: Command Palette - Random Data Generator - https://apps.microsoft.com/detail/9PKGD4D7PX35

jiripolasek avatar Oct 17 '25 15:10 jiripolasek

Thanks @jiripolasek. I'm not looking for a random value though, I want to be able to input strings and get the corresponding hash/base64, like PowerToys Run provides.

alexvy86 avatar Oct 17 '25 17:10 alexvy86

Thanks @jiripolasek. I'm not looking for a random value though, I want to be able to input strings and get the corresponding hash/base64, like PowerToys Run provides.

My mistake, you're absolutely right—it only generates random hashes. Let's fix it up... This seems like a fun weekend project.

jiripolasek avatar Oct 17 '25 17:10 jiripolasek

I frequently use run for system commands (sleep, restart, shutdown) but these are always sorted to the bottom in command palette. Could this default be changed or have a global sort order modifier like in Run?

SeamusFinlayson avatar Oct 21 '25 03:10 SeamusFinlayson

I frequently use run for system commands (sleep, restart, shutdown) but these are always sorted to the bottom in command palette.

Hello @SeamusFinlayson,

This is just a temporary situation; more details are available in #42524.

Could this default be changed or have a global sort order modifier like in Run?

Tracked as #38288 - planned for the current iteration and currently in progress.

jiripolasek avatar Oct 21 '25 07:10 jiripolasek

So I asked my friend who uses Powertoys Run why he doesn't move to Command Palette and he said it looks too cluttered, he only uses Run to launch his apps by typing their first letters. So my suggestion is to add a "Simpler UI" that hides the settings option, makes the homepage just the searchbar etc.

E-Kou avatar Oct 25 '25 12:10 E-Kou

@SeamusFinlayson, an upcoming release will allow you to do just that. You can follow https://github.com/microsoft/PowerToys/pull/43089 to know when it ships.

michaeljolley avatar Nov 03 '25 21:11 michaeljolley

As a multilingual user of Run, I'd really appreciate it if multiple translation related issues of CmdPal can be improved, e.g., #38593 #38389

Tantalus13A98B5F avatar Nov 04 '25 03:11 Tantalus13A98B5F

i honestly cannot see myself moving to use cmdpal. it's bulkier, slower, and has some fundamentally worse ui for my most basic use cases (main culprits: esc erasing the box instead of hiding the runner and showing the same command when i open it again, way too much modality and menus, the settings menu being only accessible from the launcher itself and not the main powertoys dashboard, uncomfortable scroll smoothing, ...).

i am basically using powertoys run as a more useful & performant start menu, and cmdpal is trying to be too much for me, making it clunky.

Ykulvaarlck avatar Nov 04 '25 13:11 Ykulvaarlck

Thanks for the feedback! The whole point of this thread is getting feedback like this to make sure we get it up to par.

Couple follow-ups:

it's bulkier, slower

Have you tried 0.6 (in PT 0.95)? We fixed one of the major issues that was slowing down how fast the results loaded. We also defaulted the animations to off. Those two combined have made my own personal machine feel dramatically better.

esc erasing the box instead of hiding the runner

I believe we've got that tracked in #38311

way too much modality and menus

Could you elaborate? Is this basically "I just want to see everything in the top level"? Figuring out the right way to have lots of different results all from different providers that all have different responsiveness rates, and ranking possibly unrelated things is a Hard problem. But if there's a specific subset of things you think all make sense at the top level, I'm all ears. I wanna know the right thing to build ☺️

the settings menu being only accessible from the launcher itself and not the main powertoys dashboard

Is this a dealbreaker? Part of the vision here is to eventually uncouple CmdPal from PT itself. I believe a couple releases ago we added a deeplink from the PT settings into the CmdPal settings:

Workspaces CmdPal
Image Image

which I suppose is a little different than the workspaces settings, but not that different...

uncomfortable scroll smoothing

Sorry could you add a screen recording? I don't think we have a bug tracking that, but I'd love to

zadjii-msft avatar Nov 04 '25 14:11 zadjii-msft

So I asked my friend who uses Powertoys Run why he doesn't move to Command Palette and he said it looks too cluttered, he only uses Run to launch his apps by typing their first letters. So my suggestion is to add a "Simpler UI" that hides the settings option, makes the homepage just the searchbar etc.

Sounds like you should go 👍 #38423 😉

zadjii-msft avatar Nov 04 '25 14:11 zadjii-msft

Hello @zadjii-msft thanks for looking into this discussion! Can you please look into my comment https://github.com/microsoft/PowerToys/issues/41696#issuecomment-3415695662 about the navigation that can be made in Run, but not in CmdPal. Looks like it needs a dedicated issue, or is there one? Do I need to create it?

Kenya-West avatar Nov 04 '25 16:11 Kenya-West

@Kenya-West Perhaps something more like:

https://github.com/user-attachments/assets/cf4adb74-d898-466c-9504-39f1f8e7f14b

This is currently possible on the "Run commands" page, but there's also a bunch of bugfixes I have queued up in a branch that I need to merge into this.

I think we used to have a more dedicated "browse" command that worked like: https://github.com/microsoft/PowerToys/issues/40107#issuecomment-2985738797

but that got lost somewhere along the way.

I think #40107 is the thread tracking that one ☺️

zadjii-msft avatar Nov 04 '25 17:11 zadjii-msft

Hi, I would like to suggest an improvement regarding the window focus behavior.

Observation: Currently, when I use PowerToys Run, if I open it while another application is active and then close it, the focus is correctly restored to the previous window. However, the new Command Palette does not behave this way. After closing the Command Palette, the focus is not returned to the original window (the previously active app).

Suggestion: Could you please add an option (or make it the default behavior) for the Command Palette to restore focus to the previously active window after closing? I would like it to have the same seamless experience as PowerToys Run.

sovaedv776 avatar Nov 19 '25 13:11 sovaedv776

Could you please add an option (or make it the default behavior) for the Command Palette to restore focus to the previously active window after closing? I would like it to have the same seamless experience as PowerToys Run.

Hi @sovaedv776, The Command Palette should already work this way. Please create a separate issue so we can figure out why it’s not working for you.

jiripolasek avatar Nov 19 '25 13:11 jiripolasek

I have created a new issue as requested:#43702 Thanks for your help.

sovaedv776 avatar Nov 19 '25 14:11 sovaedv776

@zadjii-msft do you have any comments on the points raised in https://github.com/microsoft/PowerToys/issues/41696#issuecomment-3402545172?

daniporr avatar Nov 21 '25 19:11 daniporr

@daniporr, I can cover some of these:

Command Palette requires installation

Unfortunately, there's no plan to change this behavior. CmdPal was actually built outside of PowerToys and added once it was near completion. While, in the future, it could be a part of Windows in some way, having it "built-in" to PowerToys is unlikely to happen.

Command Palette Extensions are a privacy and security nightmare. this could be mitigated by a curated set of "official" extensions available from official Microsoft repositories here on GitHub;

I believe all our (MS) official extensions live on Microsoft-owned GitHub repos. This would include built-in extensions that are in this repo and others like GitHub and Azure Dev Ops that live in separate repositories.

That said, we don't think it's in the purview of our team to own extensions for all Microsoft products. We'll leave it to those teams to decide if they want an official extension. As you mentioned in your comment, the community has already been hard at work building extensions, including a VS Code extension. We think this is the power of community and OSS, including your ability to review the code of that project to determine if you're comfortable installing it. Of course, you shouldn't install any applications you feel are a security or privacy risk.

However, this set needs to cover at least ALL functionalities currently available in PowerToys Run

We are actively working to make sure CmdPal has feature parity to Run.

it must also be possible to install extensions "manually" – that is, not via the Microsoft Store – to allow verification of what is being installed

This is doable today. The options for installing an extension are:

  • via MS Store (adds benefit of verification and auto-updates)
  • via Winget
  • Direct download of installers from repos, etc.

michaeljolley avatar Nov 22 '25 00:11 michaeljolley

I prefer PowerToys Run over cmdpal...

ReginaldTang avatar Nov 22 '25 12:11 ReginaldTang