Skip to content

CmdPal: Load pinned command items from anywhere#45566

Merged
zadjii-msft merged 8 commits intomainfrom
dev/migrie/f/pincushion
Feb 19, 2026
Merged

CmdPal: Load pinned command items from anywhere#45566
zadjii-msft merged 8 commits intomainfrom
dev/migrie/f/pincushion

Conversation

@zadjii-msft
Copy link
Copy Markdown
Member

This doesn't actually have a UX to expose this yet - we need to stack a couple of PRs up to get to that.

But this adds plumbing such that we can now stash away a command ID, and retrieve it later as a top-level command. Kinda like pinning for apps, but for anything.

It works off of a new command provider interface ICommandProvider4, which lets us look up CommandItems by ID. If we see a command ID stored in that command provider's settings, we will try to look it up, and then load it from the command provider.

e.g.

    "com.microsoft.cmdpal.builtin.system": {
      "IsEnabled": true,
      "FallbackCommands": {
        "com.microsoft.cmdpal.builtin.system.fallback": {
          "IsEnabled": true,
          "IncludeInGlobalResults": true
        }
      },
      "PinnedCommandIds": [
        "com.microsoft.cmdpal.builtin.system.lock",
        "com.microsoft.cmdpal.builtin.system.restart_shell"
      ]
    },

will get us
image

Then it's just a matter of plumbing the command provider ID through the layers, so that the command item knows who it is from. We'll need that later for actually wiring this to the command's context menu.

related to #45191
related to #45201

@github-actions

This comment has been minimized.

@zadjii-msft zadjii-msft mentioned this pull request Feb 18, 2026
11 tasks
Copy link
Copy Markdown
Contributor

@michaeljolley michaeljolley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's go!

@zadjii-msft zadjii-msft merged commit 0f87b61 into main Feb 19, 2026
15 checks passed
@zadjii-msft zadjii-msft deleted the dev/migrie/f/pincushion branch February 19, 2026 22:20
@zateutsch zateutsch added this to the PowerToys 0.98 milestone Mar 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

0.98 Product-Command Palette Refers to the Command Palette utility

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants