It is worth separating what people mean by "reorder" from what the shell supports, because the gap explains a lot of frustration.
Within a single menu list, ordering is determined by the shell as it merges entries from the various sources that apply to what you clicked. Built-in actions, classic verbs, COM handler output, and packaged commands are combined according to internal rules and registration details. There is no user-facing sort order, no priority value you can set, and no supported way to say "this entry goes third". This is not a gap a utility can fill by writing a different registry value, because no such value exists to write.
What does exist is a single binary placement flag on classic shell verbs: `Extended`. Historically it marked commands intended for advanced use, surfacing them only in the extended menu rather than the default one. Setting or clearing it moves a classic command between the immediately visible list and the overflow. ContextCleaner exposes this as a move between the top of the menu and "Show more options", which is how it reads in practice. It is one flag, on one surface, with two states — genuinely useful, and much narrower than "reordering".
There is a second hard boundary worth stating plainly. The Windows 11 compact menu is built from packaged app manifests, not from the classic registrations `Extended` applies to. So there is no path by which a classic command can be promoted into the compact menu. Tools advertising drag-to-top pinning for the Windows 11 menu are describing a capability the platform does not offer, and no amount of registry work produces it.
Given that, the effective lever is subtraction. If your command is eleventh because ten entries you never use sit above it, hiding those ten moves it to first — not by reordering anything, but by removing what was in the way. This is why the more productive framing is usually "what should not be here" rather than "what order should these be in". ContextCleaner is built around that: hide broadly, use the one placement flag where it helps, and keep every change reversible so you can iterate on the result rather than committing to it.