Changing the Location of the Windows Terminal Settings Files

Windows Terminal stores its settings in configuration files that resides in the Windows user profile. This article explains how to move them to any directory of your choice.

Where are the Settings Files Located?

The location of the Windows Terminal settings file is hard-coded. The exact path depends on the app variant you installed, but it’s always in the user profile:

  • Stable release: %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState
  • Preview release: %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState

The LocalState directory contains two files:

  • settings.json
  • state.json

Move the Directory, Not Settings.json!

Many guides (including an earlier version of this one) recommended moving and symlinking only settings.json. Don’t do that!

While it seems to work, it causes weird problems:

  • After adding a new profile and restarting Windows Terminal, the new profile is gone from the UI.
  • Hot-reloading doesn’t work when making changes to settings.json directly in an editor.

Changing the Location of the Windows Terminal Settings Files

Windows Terminal doesn’t provide an option to store its configuration file in a different path. We can easily work around that limitation, though, by moving the LocalState directory to its desired location and creating a symbolic link that points from the old directory to the new path.

Move Procedure

  1. Quit Windows Terminal.
  2. Move (don’t copy) the existing settings directory LocalState from your user profile to its new location.
  3. Create a directory symbolic link from the original location to the new location with mklink:

Move Script

The following simple script implements the procedure:

# New location. Modify TARGETPATH as needed.
set TARGETPATH="d:\Data\Windows Terminal"

# Create the link
mklink /d "%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState" %TARGETPATH%

Notes

  • mklink requires admin rights.
  • Adjust the source path in the mklink command according to the app variant you installed (see above).
  • state.json seems to be specific to the user and/or machine. This means you should keep settings from different users and/or machines separated.

Comments

Related Posts

How to Convert/Recreate PNG Logos to SVG With Inkscape

How to Convert/Recreate PNG Logos to SVG With Inkscape
Bitmaps tend to have noise and imperfections, especially if they’ve been generated by AI. Vector graphics, on the other hand, trace the outline of elements with elegant curves. Converting from the real world of bitmaps to the ideal world of vectors requires ignoring the actual pixels and seeing an idealized structure instead. That is not something automated conversion tools can do today, at least not those I’ve tested. Instead of converting a PNG to SVG you should, therefore, recreate it in a vector graphics image editor. This article shows how to do that in the free Inkscape.
Applications

Obsidian: Getting Started With the Markdown Note-Taking App

Obsidian: Getting Started With the Markdown Note-Taking App
Ever since the original Microsoft OneNote was discontinued I’ve been on the lookout for my ideal note-taking app. Having settled on Markdown as the perfect file format I’ve tried numerous apps and occasionally blogged about the experience. In my quest to find the app that combines a great UX with elegant esthetics, speed and full keyboard control I’ve recently settled on a combination of Typora and Obsidian - none of which are perfect, but both are satisfying tools to use and they even complement each other. This article explains how to get started with Obsidian.
Applications

Latest Posts