DEV Community

Cover image for How to create multiple profiles for Windows Terminal
Eli H. Schei
Eli H. Schei

Posted on • Originally published at elischei.com

9 4

How to create multiple profiles for Windows Terminal

If you are using windows terminal you know that you can use multiple tabs. But did you know that you can create multiple profiles to choose from when opening a new tab? In this blogpost I will show you how to create multiple profiles for Windows Terminal, and how to create and add different color shemes to them.

Create the profiles

To create the profiles is quite straightforward. Just go to settings by selecting the down-arrow next to your tabs and choosing “Settings” (or use the shortcut [Ctrl + ,]. This will open the settings.json file in your prefered editor.

Alt Text

Find the “Profiles” part of the json and add the profiles you would like. In the code-snippet below you can se the profiles I have added. Lets take a look at the different attributes in a profile.

guid: has to be unique between profiles
name: The name that shows up in the dropdown list when you are opening a new tab.
commandline: this command will run when you open a tab in this profile.
hidden: if this is true the profile will not show up in the dropdown.
colorScheme: name of color scheme you would like to use.
icon: filepath or url to icon you would like to use

 "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
        },
        "list":
        [
                {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false,
                "colorScheme" : "Elis-ps"
            },
            {
                // Make changes here to the cmd.exe profile.
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command Prompt",
                "commandline": "cmd.exe",
                "hidden": false,
                "colorScheme" : "Elis-cmd"
            },
            {
                //Azure Cloud Shell
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b9}",
                "hidden": false,
                "name": "M365 CLI",
                "commandline": "cmd.exe m365",
                "icon": "https://blobs.officehome.msocdn.com/images/content/images/favicon_metro-bb8cb440e5.ico",
                "colorScheme" : "Elis-cmd"
            },
            {
                "guid" : "{b453ae62-4e3d-5e58-b989-0a998ec441a6}",
                "hidden": false,
                "name" : "Git Bash",
                "commandline" : "\"%PROGRAMFILES%\\git\\bin\\bash.exe\"",
                "icon" : "%PROGRAMFILES%\\git\\mingw64\\share\\git\\git-for-windows.ico",
                "colorScheme" : "GitBash"
            },
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl",
                "commandline": "wsl ~"
            }
       ]
}
Enter fullscreen mode Exit fullscreen mode

Create different color shemes for different profiles

Alt Text
You can also create different color shemes. I have created one for the command promt, one for powershell, and one for git-bash – since those are the profiles I use the most. I think the different color shemes makes it easier to remember which context I’m in at a glance.

In the codesnippet below you can see the different color schemes I use. To add them to one of your profile just give them a name and add a “”colorScheme” : “color-scheme-name” attribute pair to the profile.

"profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
        },
        "list":
        [
                {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false,
                "colorScheme" : "Elis-ps"
            },
            {
                // Make changes here to the cmd.exe profile.
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command Prompt",
                "commandline": "cmd.exe",
                "hidden": false,
                "colorScheme" : "Elis-cmd"
            },
            {
                //Azure Cloud Shell
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b9}",
                "hidden": false,
                "name": "M365 CLI",
                "commandline": "cmd.exe m365",
                "icon": "https://blobs.officehome.msocdn.com/images/content/images/favicon_metro-bb8cb440e5.ico",
                "colorScheme" : "Elis-cmd"
            },
            {
                "guid" : "{b453ae62-4e3d-5e58-b989-0a998ec441a6}",
                "hidden": false,
                "name" : "Git Bash",
                "commandline" : "\"%PROGRAMFILES%\\git\\bin\\bash.exe\"",
                "icon" : "%PROGRAMFILES%\\git\\mingw64\\share\\git\\git-for-windows.ico",
                "colorScheme" : "GitBash"
            },
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl",
                "commandline": "wsl ~"
            }
       ]
}
Enter fullscreen mode Exit fullscreen mode

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up