PowerToys Run settings.json should not change all the time (bad for version control)
Description of the new feature / enhancement
The settings.json files should change as little as possible to allow for better version control. It should also only contain actual settings. Cached data (strings) should be saved in a separate file if it is even needed.
I know that PowerToys has a backup feature, but I prefer to version all my preferences of various apps myself with Git. That way, I can update and sync all of them in one go via a script and don't have to fiddle with the backup buttons inside the PowerToys settings screen every time on every one of my machines. I do this by versioning all the settings.json files in the ...\AppData\Local\Microsoft\PowerToys.
This works fine for all modules of PowerToys, except Run, as it always updates the description of the "Time and Date" on application start since it uses the current time and date to generate a description string.
It could also just use a fixed time and date to generate the string.
Another (way more complex) solution would be to implement proper settings sync. Like for example in VS Code, where I also do not have to resort to Git.
Also: For the purpose of version control, it would be nice to have a formatted (indented) version of the settings.json files, as it makes it much easier to diff the changes. I get that the minified version saves some space, but I think it is extremely negligible on a modern PC and it could also be a setting if you wish to have minified or pretty settings files.
Scenario when this would be used?
If you want to use a version control system to keep track of your settings. The backup feature is nice for some people, but not exactly what I want.
Supporting information
No response
I also version control select files from my home folder, including the settings files from PowerToys. I run into the same problem as opening post.
Here are some examples that cause the file to be changed without any setting being changed:
~/AppData/Local/Microsoft/PowerToys/MouseWithoutBorders/settings.json
~/AppData/Local/Microsoft/PowerToys/PowerToys Run/settings.json
Note that this file is also not very readable. Would be nice to either make it human readable or compress it to binary instead (prefer the former for version control reasons).
~/AppData/Local/Microsoft/PowerToys/PowerToys Run/Settings/PowerToysRunSettings.json
The AppData/Local/Microsoft/PowerToys/settings.json file also stores the PowerToys version, so syncing general settings across multiple PCs can lead to issues, even with small differences in patch versions.
A bit more than a year later I'm still very much into syncing settings across systems as it's the easiest way to keep your settings.
I have resorted to ignoring settings files that change all the time but keep as many settings files as possible without having them break the flow.
Renewing my interest in this issue :)
I'm new to PowerToys but old to version-controlled settings files, and have been pleased with how well PowerToys copes with relinquishing exclusive control of its settings--even when I normalise them with jq right under its nose!
But this dynamic description for "Time and Date" in the settings.json file for "PowerToys Run" is fast becoming the bane of my existence, because it introduces a meaningless change that needs to be manually reverted every time I touch my dotfiles.
I can see that the example reflects the user's regional settings (being in Australia, that means I see 28/10/2025), which is helpful, but naively using today's date to produce the example is actually unhelpful, because for the first 12 days of the month, it isn't clear that regional formats apply (e.g. 8/12/2025 could be dd/mm/yyyy or mm/dd/yyyy, whereas 8/21/2025 is unambiguous). Choosing a fixed time and date to display in the user's locale would address this while also preventing frequent changes to config files for those of us who keep them in sync or under version control 😊