Can't remove default profiles #6856

Closed
opened 2026-01-31 00:48:59 +00:00 by claunia · 5 comments
Owner

Originally created by @maximousblk on GitHub (Mar 13, 2020).

Setup

Terminal version:

Windows Terminal (Preview)
Version: 0.9.433.0

profile.json:

{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{9695D2D6-65E7-4DB5-9AE9-C857416E9ABA}",

    "profiles": {
        "defaults": {
            "useAcrylic": true,
            "acrylicOpacity": 0.7,
            "padding": "16",
            "colorScheme": "Dracula",
            "fontSize": 12
        },
        "list": [
            {
                "guid": "{9695D2D6-65E7-4DB5-9AE9-C857416E9ABA}",
                "name": "Cmder",
                "commandline": "cmd.exe /k cmdr.bat",
                "icon": "%cmder_root%/icons/cmder.ico",
                "hidden": false,
                "startingDirectory": "%USERPROFILE%",
                "closeOnExit": "graceful"
            },
            {
                "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
                "hidden": false,
                "name": "PowerShell",
                "source": "Windows.Terminal.PowershellCore",
                "icon": "C:/Program Files/PowerShell/7/assets/Powershell_avatar.ico"
            },
            {
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "cmd",
                "commandline": "cmd.exe",
                "hidden": false
            },
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]
    },
    "schemes": [
        {
            "name": "Dracula",
            "background": "#282A36",
            "black": "#21222C",
            "blue": "#BD93F9",
            "brightBlack": "#6272A4",
            "brightBlue": "#D6ACFF",
            "brightCyan": "#A4FFFF",
            "brightGreen": "#69FF94",
            "brightPurple": "#FF92DF",
            "brightRed": "#FF6E6E",
            "brightWhite": "#FFFFFF",
            "brightYellow": "#FFFFA5",
            "cyan": "#8BE9FD",
            "foreground": "#F8F8F2",
            "green": "#50FA7B",
            "purple": "#FF79C6",
            "red": "#FF5555",
            "white": "#F8F8F2",
            "yellow": "#F1FA8C"
        }
    ],
    "keybindings": []
}

Issue

  1. I recently switched to powershell 7. I wanted to remove the old Powershell 5 from the profile. When I removed the old powershell profile from the list array, all that happened was the powershell option went to the last slot and did not go away even though the profile is not there in the list.

  2. I also tried to remove the azure cloud shell which did something weirder. When I removed the azure profile and saved, it reappeared.

Expected

Only 4 profiles that I would actually use

expected

Actual

useful ones + 2 zombie profiles that also work

actual

My thoughts

I am really a beginner so this could easily be me throwing words around.

I think the problem in case of azure shell is the schema. Maybe the azure profile is required object. For the powershell issue, I really don't know what's happening.

Originally created by @maximousblk on GitHub (Mar 13, 2020). ## Setup Terminal version: ``` Windows Terminal (Preview) Version: 0.9.433.0 ``` profile.json: ```json { "$schema": "https://aka.ms/terminal-profiles-schema", "defaultProfile": "{9695D2D6-65E7-4DB5-9AE9-C857416E9ABA}", "profiles": { "defaults": { "useAcrylic": true, "acrylicOpacity": 0.7, "padding": "16", "colorScheme": "Dracula", "fontSize": 12 }, "list": [ { "guid": "{9695D2D6-65E7-4DB5-9AE9-C857416E9ABA}", "name": "Cmder", "commandline": "cmd.exe /k cmdr.bat", "icon": "%cmder_root%/icons/cmder.ico", "hidden": false, "startingDirectory": "%USERPROFILE%", "closeOnExit": "graceful" }, { "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", "hidden": false, "name": "PowerShell", "source": "Windows.Terminal.PowershellCore", "icon": "C:/Program Files/PowerShell/7/assets/Powershell_avatar.ico" }, { "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", "name": "cmd", "commandline": "cmd.exe", "hidden": false }, { "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl" }, { "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}", "hidden": false, "name": "Azure Cloud Shell", "source": "Windows.Terminal.Azure" } ] }, "schemes": [ { "name": "Dracula", "background": "#282A36", "black": "#21222C", "blue": "#BD93F9", "brightBlack": "#6272A4", "brightBlue": "#D6ACFF", "brightCyan": "#A4FFFF", "brightGreen": "#69FF94", "brightPurple": "#FF92DF", "brightRed": "#FF6E6E", "brightWhite": "#FFFFFF", "brightYellow": "#FFFFA5", "cyan": "#8BE9FD", "foreground": "#F8F8F2", "green": "#50FA7B", "purple": "#FF79C6", "red": "#FF5555", "white": "#F8F8F2", "yellow": "#F1FA8C" } ], "keybindings": [] } ``` ## Issue 1. I recently switched to powershell 7. I wanted to remove the old Powershell 5 from the profile. When I removed the old powershell profile from the list array, all that happened was the powershell option went to the last slot and did not go away even though the profile is not there in the list. 2. I also tried to remove the azure cloud shell which did something weirder. When I removed the azure profile and saved, it reappeared. ### Expected Only 4 profiles that I would actually use ![expected](https://user-images.githubusercontent.com/28438021/76660341-b4284e80-659e-11ea-88a7-758585abda78.png) ### Actual useful ones + 2 zombie profiles that also work ![actual](https://user-images.githubusercontent.com/28438021/76660349-b68aa880-659e-11ea-8340-b74893c24249.png) ## My thoughts I am really a beginner so this could easily be me throwing words around. I think the problem in case of azure shell is the schema. Maybe the azure profile is required object. For the powershell issue, I really don't know what's happening.
claunia added the Issue-QuestionNeeds-Tag-FixResolution-Answered labels 2026-01-31 00:49:00 +00:00
Author
Owner

@carlos-zamora commented on GitHub (Mar 13, 2020):

Ah yes. These are some dynamic profiles so they get detected and added automatically. You can hide them by changing the "hidden" property on those profiles to true. Feel free to read more of @cinnamon-msft 's blog posts like this one for more info on how some of these features work.

@carlos-zamora commented on GitHub (Mar 13, 2020): Ah yes. These are some dynamic profiles so they get detected and added automatically. You can hide them by changing the `"hidden"` property on those profiles to `true`. Feel free to read more of @cinnamon-msft 's blog posts like [this one](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1910-release/) for more info on how some of these features work.
Author
Owner

@carlos-zamora commented on GitHub (Mar 13, 2020):

Ah derp. The Windows Powershell profile is actually from the defaults.json file. So if you get the guid for that profile, you can add something like this to your profiles.json file to hide it:

        {
            "name": "Classic Powershell",
            "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "hidden": true
        }
@carlos-zamora commented on GitHub (Mar 13, 2020): Ah derp. The Windows Powershell profile is actually from the defaults.json file. So if you get the guid for that profile, you can add something like this to your profiles.json file to hide it: ``` { "name": "Classic Powershell", "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", "hidden": true } ```
Author
Owner

@maximousblk commented on GitHub (Mar 14, 2020):

So, if I uninstalled powershell 5, does that profile still comes back?

Edit: can I even uninstall powershell 5

@maximousblk commented on GitHub (Mar 14, 2020): So, if I uninstalled powershell 5, does that profile still comes back? Edit: can I even uninstall powershell 5
Author
Owner

@maximousblk commented on GitHub (Mar 14, 2020):

This issue is resolved for me and can be closed, but...

Does hiding a profile count as removing.

Maybe not make the profiles required and make options for the profiles required if the profile exists.

Anyways thanks a lot

@maximousblk commented on GitHub (Mar 14, 2020): This issue is resolved for me and can be closed, but... Does hiding a profile count as removing. Maybe not make the profiles required and make options for the profiles required if the profile exists. Anyways thanks a lot
Author
Owner

@DHowett-MSFT commented on GitHub (Mar 19, 2020):

So, to go into a bit more detail on dynamic and "default" profiles:

  • There are no required options for a profile except its name! This is to make it really easy for users to customize things -- they can leave out anything they don't care about and have it turn into a sensible value.
  • "Dynamic" profiles, like all WSL, all PowerShell Core, and the Azure Cloud Shell are only created if you have those things available to you. They can be suppressed with hidden=true.
  • "Default" profiles refers to the two we ship in-box, because they exist on all versions of windows. They're here to give users a reasonable out-of-box experience and provide a set of "reference" settings for them to look at. It's partly for usability and partly for education.
  • Setting a profile to hidden completely removes it. It'll be inaccessible.
  • You cannot uninstall Powershell 5, because it lives in the Windows system32 folder. It's a critical system component. You can suppress its profile by setting hidden. 😄
@DHowett-MSFT commented on GitHub (Mar 19, 2020): So, to go into a bit more detail on dynamic and "default" profiles: * There are no required options for a profile except its name! This is to make it really easy for users to customize things -- they can leave out anything they don't care about and have it turn into a sensible value. * "Dynamic" profiles, like all WSL, all PowerShell Core, and the Azure Cloud Shell are only created if you have those things available to you. They can be suppressed with `hidden=true`. * "Default" profiles refers to the two we ship in-box, because they exist on all versions of windows. They're here to give users a reasonable out-of-box experience and provide a set of "reference" settings for them to look at. It's partly for usability and partly for education. * Setting a profile to `hidden` _completely removes it_. It'll be inaccessible. * You cannot uninstall Powershell 5, because it lives in the Windows `system32` folder. It's a critical system component. You can suppress its profile by setting `hidden`. :smile:
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#6856