Settings completely lost after update to 1.0.1401.0 #8421

Closed
opened 2026-01-31 01:29:08 +00:00 by claunia · 7 comments
Owner

Originally created by @tgriff on GitHub (May 21, 2020).

Environment

Windows build number: Microsoft Windows [Version 10.0.19632.1]
Windows Terminal version (if applicable): 1.0.1401.0

Steps to reproduce

  1. System rebooted overnight (likely to install an OS update).
  2. Windows Terminal (installed through the Microsoft Store) updated to 1.0.1401.0 after (during?) reboot.

Expected behavior

My settings (custom profiles, etc.) from the previous version (0.11.1333.0) would be preserved.

Actual behavior

It looks like the settings.json file was completely refreshed and all my settings (custom profiles, etc.) are lost. At the top it says "This file was initially generated by Windows Terminal 1.0.1401.0". I was looking back at the release notes and I see mention of settings-breaking changes, but I don't see any warning that it would be completely refreshed (and that I might want to back it up). I can understand wanting to get folks on v1 on the "latest and greatest" settings schema, but I would have appreciated some warning.

I also had several shortcuts on my desktop to launch specific Windows Terminal profiles and those are gone now too. I can understand the settings.json being refreshed, but I'm a little mystified that shortcuts that I made on my desktop are gone. I would have expected them to remain and maybe not work correctly.

Originally created by @tgriff on GitHub (May 21, 2020). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> <!-- This bug tracker is monitored by Windows Terminal development team and other technical folks. **Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**. Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue. If this is an application crash, please also provide a Feedback Hub submission link so we can find your diagnostic data on the backend. Use the category "Apps > Windows Terminal (Preview)" and choose "Share My Feedback" after submission to get the link. Please use this form and describe your issue, concisely but precisely, with as much detail as possible. --> # Environment ```none Windows build number: Microsoft Windows [Version 10.0.19632.1] Windows Terminal version (if applicable): 1.0.1401.0 ``` # Steps to reproduce 1. System rebooted overnight (likely to install an OS update). 2. Windows Terminal (installed through the Microsoft Store) updated to 1.0.1401.0 after (during?) reboot. # Expected behavior My settings (custom profiles, etc.) from the previous version (0.11.1333.0) would be preserved. # Actual behavior It looks like the settings.json file was completely refreshed and all my settings (custom profiles, etc.) are lost. At the top it says "This file was initially generated by Windows Terminal 1.0.1401.0". I was looking back at the release notes and I see mention of settings-breaking changes, but I don't see any warning that it would be completely refreshed (and that I might want to back it up). I can understand wanting to get folks on v1 on the "latest and greatest" settings schema, but I would have appreciated some warning. I also had several shortcuts on my desktop to launch specific Windows Terminal profiles and those are gone now too. I can understand the settings.json being refreshed, but I'm a little mystified that shortcuts that I made on my desktop are gone. I would have expected them to remain and maybe not work correctly.
Author
Owner

@DHowett commented on GitHub (Jun 10, 2020):

I've mulled this one over for quite some time. Really sorry about the radio silence!

We got a similar report a few days before, but no other reports since. I'm trying to figure out the cases in which we'll unceremoniously nuke your settings file . . . but they're so few and far between that we actually think we never do it.

  • If settings.json exists, we use it
  • If profiles.json exists, we will rename it (NON-ATOMICALLY (!)) to settings.json and reopen it and use it from that name.

If the rename fails, I believe we'll just continue and leave profiles.json laying around on disk.

I can understand wanting to get folks on v1 on the "latest and greatest" settings schema,

I can't stress enough: it is never expected that we'll delete your settings. We intentionally migrated what we could when v0.11 hit to avoid stuff like this, and never wrote code that would destroy the file.

Do you, per chance, have an old profiles.json laying around in %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState?

@DHowett commented on GitHub (Jun 10, 2020): I've mulled this one over for quite some time. Really sorry about the radio silence! We got a similar report a few days before, but no other reports since. I'm trying to figure out the cases in which we'll unceremoniously nuke your settings file . . . but they're so few and far between that we actually think we _never_ do it. * If `settings.json` exists, we use it * If `profiles.json` exists, we will rename it (NON-ATOMICALLY (!)) to `settings.json` and reopen it and use it from that name. If the rename fails, I believe we'll just continue and leave `profiles.json` laying around on disk. > I can understand wanting to get folks on v1 on the "latest and greatest" settings schema, I can't stress enough: it is _never_ expected that we'll delete your settings. We intentionally migrated what we could when v0.11 hit to avoid stuff like this, and never wrote code that would destroy the file. _Do you, per chance, have an old `profiles.json` laying around in `%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState`?_
Author
Owner

@DHowett commented on GitHub (Jun 10, 2020):

(Concern: if profiles.json was open in another application at the time of migration, it could fail to rename and we'd fall into a codepath that created a new settings.json side by side, but didn't delete the old one.)

@DHowett commented on GitHub (Jun 10, 2020): (Concern: if `profiles.json` was open in another application at the time of migration, it could fail to rename and we'd fall into a codepath that created a new `settings.json` side by side, but didn't delete the old one.)
Author
Owner

@tgriff commented on GitHub (Jun 10, 2020):

It's very possible I had profiles.json open in Notepad++ when the update occurred. I know I had been playing around with it and Notepad++ likes to keep previously opened files around.

However, I don't have a profiles.json hanging around in %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState, it's just the settings.json.

@tgriff commented on GitHub (Jun 10, 2020): It's very possible I had `profiles.json` open in Notepad++ when the update occurred. I know I had been playing around with it and Notepad++ likes to keep previously opened files around. However, I don't have a `profiles.json` hanging around in `%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState`, it's just the `settings.json`.
Author
Owner

@zadjii-msft commented on GitHub (Jul 16, 2020):

Hey so we haven't gotten any other reports of this since this original one. I'm thinking that it's possible this was a one-off freak accident and not something more widespread. If we had more consistent repros of this occuring, then maybe we'd be able to investigate more, but from where I'm sitting, it doesn't look like there's anything more we can do here now.

We can try and keep the investigation going in the comments below, and reopen if there's something actionable.

@zadjii-msft commented on GitHub (Jul 16, 2020): Hey so we haven't gotten any other reports of this since this original one. I'm thinking that it's possible this was a one-off freak accident and not something more widespread. If we had more consistent repros of this occuring, then maybe we'd be able to investigate more, but from where I'm sitting, it doesn't look like there's anything more we can do here now. We can try and keep the investigation going in the comments below, and reopen if there's something actionable.
Author
Owner

@razamatan commented on GitHub (Dec 30, 2020):

i was affected by this recently with the update to 1.4.3243.0.

i installed windows terminal via the app store. since then, i've been managing my settings.json in my dotfiles git repo and doing a mklink from the windows side. this setup works perfectly, and the upgrade even stomped my dotfiles version as expected (not messing w/ the mklink is good, but stomping all over the contents isn't).

upgrades/version bumps shouldn't just stomp on an non-default setup, and instead notify the user that a new version was installed and that they should check the changelog or refer to the new default settings.json (living somewhere on the system) to diff and make updates.

@razamatan commented on GitHub (Dec 30, 2020): i was affected by this recently with the update to 1.4.3243.0. i installed windows terminal via the app store. since then, i've been managing my [settings.json in my dotfiles git repo](https://github.com/razamatan/.dotfiles/blob/master/settings.json) and doing a mklink from the windows side. this setup works perfectly, and the upgrade even stomped my dotfiles version as expected (not messing w/ the mklink is good, but stomping all over the contents isn't). upgrades/version bumps shouldn't just stomp on an non-default setup, and instead notify the user that a new version was installed and that they should check the changelog or refer to the new default settings.json (living somewhere on the system) to diff and make updates.
Author
Owner

@razamatan commented on GitHub (Dec 30, 2020):

can someone reopen this issue? i don't see a way to do it.

@razamatan commented on GitHub (Dec 30, 2020): can someone reopen this issue? i don't see a way to do it.
Author
Owner

@githuberto commented on GitHub (Aug 15, 2022):

As another data point, I experienced this a couple days ago. I believe it was after updating to 1.14.1963.0. My settings.json was open in Notepad++, which could be related.

I didn't have any fancy config, just a WSL terminal with some colors I can easily restore. I'd hate to see this happen to someone who did, though.

@githuberto commented on GitHub (Aug 15, 2022): As another data point, I experienced this a couple days ago. I believe it was after updating to 1.14.1963.0. My `settings.json` was open in Notepad++, which could be related. I didn't have any fancy config, just a WSL terminal with some colors I can easily restore. I'd hate to see this happen to someone who did, though.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#8421