Windows Terminal – A sample profiles.json (settings) file – Win10.Guru
Go to ...

RSS Feed

Windows Terminal – A sample profiles.json (settings) file

As we reported here at Win10.Guru earlier, the Windows Terminal Preview was released a few weeks ago. I must say I like it very much,  it has replaced my PowerShell, PowerShell Core, WSL, and Command Prompt. In fact, I use it now exclusively whenever I need to work with a command-line interface in Windows.

Click screenshots to open enlarged in a new tab.

In this post, we will look at the Windows Terminal settings for added applications (WSL, PowerShell Core). All settings are stored in a file named profiles.json, a JavaScript Object Notation file located in the following folder:


You can read and download the sample profiles.json file shown in this post on OneDrive: profiles.json


Some basics first. The profiles.json file contains, in addition to a few global settings, sections for keyboard shortcuts (“keybindings”), terminal shell profiles (“profiles”), and color schemes (“schemes”). Each section contains modules. The user can add, delete and edit individual modules in each section, where each module contains a single keyboard shortcut, color scheme or shell profile.​ For instance to add Suse Linux to Windows Terminal, a module for it needs to be added to the profiles section, whereas adding a background image to PowerShell is accomplished by editing the PowerShell module.

Each section starts with square bracket [ and ends with ], (square bracket followed by comma), except the last section which ends just with ] (square bracket). Each module within a section starts with a curly bracket { and ends with }, (curly bracket followed by comma), except the last module in section which ends just with } (curly bracket):

– Closing bracket for all sections except last: ],
– Closing bracket for last section: ]
– Closing bracket for all modules except last: },
– Closing bracket for last module: }

By default, Windows Terminal has two shell profiles, one for Windows native PowerShell and one for Command Prompt. To add one for WSL (Windows Subsystem for Linux) with various distros and the PowerShell Core to Windows Terminal, see the following tutorials:

Enable or Disable Windows Subsystem for Linux WSL in Windows 10
Install Windows Subsystem for Linux (WSL) Distros in Windows 10
Install PowerShell Core

Edit settings

A screenshot from Code Writer shows my sample profiles.json profile for Suse Linux:

Let’s look what I have done here, where the line numbers refer to the screenshot above:

– Line 297: I’ve added a background image to Suse Linux. Notice that because the path is given as a URI, the normal backslash \ use in WIndows paths as folder separator does not work here. You need to use forward slash / instead.
– Line 298: I’ve set background image opacity to 30%
– Line 299: Stretch the background image dynamically, you can also use stretch or fill
– Line 301: Selected one of the default color schemes
– Line 302: The command to start WSL in Windows Terminal
– Line 305: Changed the Suse font to Lucida Console
– Line 306: Changed the font size to 12
– Line 307: The GUID for Suse Linux
– Line 309: Added an icon for Suse
– Line 310: Changed the name to be shown in the Windows Terminal menu
– Line 315; As this is the last profile module, the closing bracket is not followed by comma

To add WSL Linux distros to Windows Terminal, you will need the GUID for each distro (line 307). To find them, open the Registry Editor and browse to the following key:


Now search (Edit > Find) for the distro. When found, open the string Publisher. the part after CN= is the GUID. In my case now, the GUID 15720A30-FA72-4BF5-8077-C1376E0B561C was found under key 79:

For the PowerShell Core GUID, browse to key HKCR\Installer\Products\ and search PowerShell with version number, PowerShell 7 as I write this. PS Core GUID can be found in the string named Production:

Be careful when editing or adding modules for keyboard shortcuts, color schemes or application profiles. As always with any code, a simple missing comma might make your profiles.json unusable, in which case you will get an error message:

That’s it. More about Windows Terminal later.


Author: Kari Finn

A former Windows Insider MVP, Kari started in computing in the mid 80’s writing code for VAX / VMS systems. Since then, he’s worked in a variety of IT positions. He specializes in Windows image capture, customization, repair and deployment as well as Hyper-V virtualization. Kari is a proud Team Member at number #1 Windows site

Leave a Reply