How to change default profile #1978

Closed
opened 2026-01-30 22:43:20 +00:00 by claunia · 37 comments
Owner

Originally created by @elswerky on GitHub (Jun 23, 2019).

I Want to have option to change default Terminal Windows

now when i open it it opens by default on powershell

i want to change this to open say "Arch"

image

Originally created by @elswerky on GitHub (Jun 23, 2019). I Want to have option to change default Terminal Windows now when i open it it opens by default on powershell i want to change this to open say "Arch" ![image](https://user-images.githubusercontent.com/26687459/59974876-5e93b800-95b1-11e9-9233-e4af38f47b99.png)
claunia added the Issue-QuestionNeeds-Tag-FixResolution-AnsweredProduct-Terminal labels 2026-01-30 22:43:20 +00:00
Author
Owner

@Shorotshishir commented on GitHub (Jun 23, 2019):

open settings. in the global, change the value of the "defaultProfile" to any "guid" in your case the Arch guid
image

@Shorotshishir commented on GitHub (Jun 23, 2019): open settings. in the global, change the value of the "defaultProfile" to any "guid" in your case the Arch guid ![image](https://user-images.githubusercontent.com/16465879/59975053-86951280-95d5-11e9-9e72-79454c64c532.png)
Author
Owner

@DHowett-MSFT commented on GitHub (Jun 23, 2019):

Yep, that’s how you do it.

@DHowett-MSFT commented on GitHub (Jun 23, 2019): Yep, that’s how you do it.
Author
Owner

@elswerky commented on GitHub (Jun 23, 2019):

Where can I find profiles.json file
Path of it

Also I asked for this feature to be available in wi does terminal settings app

Also when I try to open window terminal settings it tells me no app installed can open it and ask me to choose which app to use to open settings

@elswerky commented on GitHub (Jun 23, 2019): Where can I find profiles.json file Path of it Also I asked for this feature to be available in wi does terminal settings app Also when I try to open window terminal settings it tells me no app installed can open it and ask me to choose which app to use to open settings
Author
Owner

@DHowett-MSFT commented on GitHub (Jun 23, 2019):

When it asks, select a text editor. That’s how you open profiles.json.

@DHowett-MSFT commented on GitHub (Jun 23, 2019): When it asks, select a text editor. That’s how you open `profiles.json`.
Author
Owner

@elswerky commented on GitHub (Jun 23, 2019):

When it asks, select a text editor. That’s how you open profiles.json.
Thanks

@elswerky commented on GitHub (Jun 23, 2019): > When it asks, select a text editor. That’s how you open `profiles.json`. Thanks
Author
Owner

@JSPware commented on GitHub (Oct 11, 2019):

Hi. Is there a way to open Windows Terminal without loading a default profile? I tried to comment "defaultProfile" but it still opens up Windows PowerShell by default. Thanks.

@JSPware commented on GitHub (Oct 11, 2019): Hi. Is there a way to open Windows Terminal without loading a default profile? I tried to comment "defaultProfile" but it still opens up Windows PowerShell by default. Thanks.
Author
Owner

@DHowett-MSFT commented on GitHub (Oct 11, 2019):

You want to launch Windows Terminal with no profile? We've never considered this. What's your use case?

@DHowett-MSFT commented on GitHub (Oct 11, 2019): You want to launch Windows Terminal with _no profile_? We've never considered this. What's your use case?
Author
Owner

@rudiantotiofan commented on GitHub (Oct 15, 2019):

Hi. Is there a way to open Windows Terminal without loading a default profile? I tried to comment "defaultProfile" but it still opens up Windows PowerShell by default. Thanks.

same for me, i tried but not working too.

@rudiantotiofan commented on GitHub (Oct 15, 2019): > Hi. Is there a way to open Windows Terminal without loading a default profile? I tried to comment "defaultProfile" but it still opens up Windows PowerShell by default. Thanks. same for me, i tried but not working too.
Author
Owner

@DHowett-MSFT commented on GitHub (Oct 15, 2019):

Y'all keep saying that but nobody has explained why they would possibly want to launch an empty terminal?

@DHowett-MSFT commented on GitHub (Oct 15, 2019): Y'all keep saying that but nobody has explained why they would possibly want to launch _an empty terminal_?
Author
Owner

@dseven commented on GitHub (Oct 21, 2019):

I can see it being useful in a case where the user has a number of different profiles and there is not any one of them that they use the majority of the time. As it is, they always get a tab with the deemed default profile. They must then create another tab with the profile that they want to actually use, then close the tab with the default profile, which they didn't want in the first place. It's only an extra click, I suppose, but could be kindof annoying.

@dseven commented on GitHub (Oct 21, 2019): I can see it being useful in a case where the user has a number of different profiles and there is not any one of them that they use the majority of the time. As it is, they always get a tab with the deemed default profile. They must then create another tab with the profile that they want to actually use, then close the tab with the default profile, which they didn't want in the first place. It's only an extra click, I suppose, but could be kindof annoying.
Author
Owner

@BaconTentacles commented on GitHub (Mar 10, 2020):

Maybe if they pick no default profile, it opens with a basic window that lists all the profiles, and they can then click the one they want - similar to what MobaXTerm does, IIRC.

@BaconTentacles commented on GitHub (Mar 10, 2020): Maybe if they pick no default profile, it opens with a basic window that lists all the profiles, and they can then click the one they want - similar to what MobaXTerm does, IIRC.
Author
Owner

@ccapeng commented on GitHub (Apr 2, 2020):

The other day, I just learned I could create a profile without guid.

        {
            "hidden": false,
            "name": "project",
            "commandline": "C://Windows//SysWOW64//cmd.exe",
            "startingDirectory": "d://dvp//project",
            "icon": "D:/dvp/project/favicon.ico"
        }

In this case, can I still make this one as default?

@ccapeng commented on GitHub (Apr 2, 2020): The other day, I just learned I could create a profile without guid. { "hidden": false, "name": "project", "commandline": "C://Windows//SysWOW64//cmd.exe", "startingDirectory": "d://dvp//project", "icon": "D:/dvp/project/favicon.ico" } In this case, can I still make this one as default?
Author
Owner

@AraHaan commented on GitHub (Apr 2, 2020):

Where do I find or use the terminal for everything on the latest fast ring insider build? Currently on my computer it still is like it was from before the terminal change with tabs and stuff.

@AraHaan commented on GitHub (Apr 2, 2020): Where do I find or use the terminal for everything on the latest fast ring insider build? Currently on my computer it still is like it was from before the terminal change with tabs and stuff.
Author
Owner

@zadjii-msft commented on GitHub (Apr 2, 2020):

@ccapeng You'll have to give the profile a GUID if you want to be able to set it as the default. I recommend https://www.guidgenerator.com/

@AraHaan The Terminal doesn't come pre-installed on Windows - you'll have to manually download it from the store. What you're seeing is still the legacy console, conhost.exe. If you want the Terminal to auto-launch for commandline applications like conhost does, you'll want to follow #492

@zadjii-msft commented on GitHub (Apr 2, 2020): @ccapeng You'll have to give the profile a GUID if you want to be able to set it as the default. I recommend https://www.guidgenerator.com/ @AraHaan The Terminal doesn't come pre-installed on Windows - you'll have to manually download it from the store. What you're seeing is still the legacy console, `conhost.exe`. If you want the Terminal to auto-launch for commandline applications like `conhost` does, you'll want to follow #492
Author
Owner

@AraHaan commented on GitHub (Apr 2, 2020):

Interesting so some people inject dlls into windows explorer to intercept it on executing programs (and to do things like open them in a new tab). Me on the other hand a way I do it is basically to have to process to gain ownership of that instance and embed it in without it's window frame like I did 1 time with notepad on tabs in a windows form.

Perhaps if there was a Windows API function that lists only processes that run in the console (has only a console window like python for example) so then it could be embeded the same way I did it before. Ye it might seem hacky but avoids dll injection.

Edit: Another option:

  1. Get full path of all executing programs.
  2. Open programs and see if the type of program is set to console and not Windows GUI on the entrypoint type.
  3. for each one of type set to console embed it in the terminal like I did before on my notepad test.
@AraHaan commented on GitHub (Apr 2, 2020): Interesting so some people inject dlls into windows explorer to intercept it on executing programs (and to do things like open them in a new tab). Me on the other hand a way I do it is basically to have to process to gain ownership of that instance and embed it in without it's window frame like I did 1 time with notepad on tabs in a windows form. Perhaps if there was a Windows API function that lists only processes that run in the console (has only a console window like python for example) so then it could be embeded the same way I did it before. Ye it might seem hacky but avoids dll injection. Edit: Another option: 1. Get ``full path`` of all executing programs. 2. Open programs and see if the type of program is set to ``console`` and not ``Windows GUI`` on the entrypoint type. 3. for each one of type set to ``console`` embed it in the terminal like I did before on my notepad test.
Author
Owner

@zadjii-msft commented on GitHub (Apr 2, 2020):

@AraHaan that discussion is probably best had in #492, but we're definitely not in the business of hacking a solution together for this problem. Since our team owns the entire console infrastructure, we can actually build a proper system within Windows to allow users to not only use Windows Terminal as the default terminal emulator on Windows, but others as well 😄

@zadjii-msft commented on GitHub (Apr 2, 2020): @AraHaan that discussion is probably best had in #492, but we're definitely not in the business of hacking a solution together for this problem. Since our team owns the entire console infrastructure, we can actually build a proper system within Windows to allow users to not only use Windows Terminal as the default terminal emulator on Windows, but others as well 😄
Author
Owner

@AraHaan commented on GitHub (Apr 2, 2020):

Nice because I would like for all console applications to be more like edge or firefox on tabs when someone passes an url to any methods of starting a process.

Even if it means LKLM or LKCU registry entries.

@AraHaan commented on GitHub (Apr 2, 2020): Nice because I would like for all console applications to be more like edge or firefox on tabs when someone passes an url to any methods of starting a process. Even if it means ``LKLM`` or ``LKCU `` registry entries.
Author
Owner

@lamuertepeluda commented on GitHub (Apr 25, 2020):

Guys do you know if this was broken in latest version?

Windows Terminal
Version: 0.11.1121.0

I was using defaultProfile as per @Shorotshishir comment, but since I updated to this version (via Microsoft Store) it keeps opening PowerShell by default, although my default profile exists, is set, was working and can still work when selected...

@lamuertepeluda commented on GitHub (Apr 25, 2020): Guys do you know if this was broken in latest version? ``` Windows Terminal Version: 0.11.1121.0 ``` I was using `defaultProfile` as per @Shorotshishir comment, but since I updated to this version (via Microsoft Store) it keeps opening PowerShell by default, although my default profile exists, is set, was working and can still work when selected...
Author
Owner

@lamuertepeluda commented on GitHub (Apr 25, 2020):

Nevermind, I see now it has been moved from globals.defaultProfile to defaultProfile in the root...

@lamuertepeluda commented on GitHub (Apr 25, 2020): Nevermind, I see now it has been moved from `globals.defaultProfile` to `defaultProfile` in the root...
Author
Owner

@pankgeorg commented on GitHub (Apr 25, 2020):

Nevermind, I see now it has been moved from globals.defaultProfile to defaultProfile in the root...
Thanks!

how about we include info like this in the update information?
lost 30 minutes searching for that..

@pankgeorg commented on GitHub (Apr 25, 2020): > Nevermind, I see now it has been moved from `globals.defaultProfile` to `defaultProfile` in the root... Thanks! how about we include info like this in the update information? lost 30 minutes searching for that..
Author
Owner

@DHowett-MSFT commented on GitHub (Apr 25, 2020):

@pankgeorg

Do you mean like this (from the release notes)

image

or like this (from the pinned issue at the top of the issues page)?

image

@DHowett-MSFT commented on GitHub (Apr 25, 2020): @pankgeorg Do you mean like this (from the [release notes](https://github.com/microsoft/terminal/releases/tag/v0.11.1121.0)) ![image](https://user-images.githubusercontent.com/14316954/80290616-47ef4d80-86fb-11ea-9bdd-7cf4c1c90783.png) or like this (from the [pinned issue at the top of the issues page](https://github.com/microsoft/terminal/issues/5458))? ![image](https://user-images.githubusercontent.com/14316954/80290629-61909500-86fb-11ea-856e-b1f15e3d5c16.png)
Author
Owner

@pankgeorg commented on GitHub (Apr 25, 2020):

@DHowett-MSFT yeap, exactly.
I'm feeling pretty stupid right now, mostly because I don't remember if it notified me before doing the update or after. VS Code does a great job letting us know what happens on each update, for example. I think it didn't but I may be wrong.
In any case, thank you.

@pankgeorg commented on GitHub (Apr 25, 2020): @DHowett-MSFT yeap, exactly. I'm feeling pretty stupid right now, mostly because I don't remember if it notified me before doing the update or after. VS Code does a great job letting us know what happens on each update, for example. I think it didn't but I may be wrong. In any case, thank you.
Author
Owner

@lamuertepeluda commented on GitHub (Apr 26, 2020):

@DHowett-MSFT I too couldn't find the breaking changes notification so easily, and I feel like @pankgeorg said and I was rescued by VS Code settings validation warnings.
Maybe, as a mere suggestion, also putting a link to the breaking changes in the Microsoft Store description card could help, for next times 😉

@lamuertepeluda commented on GitHub (Apr 26, 2020): @DHowett-MSFT I too couldn't find the breaking changes notification so easily, and I feel like @pankgeorg said and I was rescued by VS Code settings validation warnings. Maybe, as a mere suggestion, also putting a link to the breaking changes in the Microsoft Store description card could help, for next times :wink:
Author
Owner

@zachmu commented on GitHub (Apr 30, 2020):

@DHowett-MSFT I don't get it -- you already renamed the profiles.json to settings.json on the first launch, so why didn't you FIX people's settings at the same time so this wasn't a breaking change in the first place? At least for defaultProfile, which obviously impacted a lot of people. I don't read the release notes for most updates. I expect this kind of product to make reasonable attempts at backwards compatibility. There's no good reason that this update had to break people's default profile settings.

@zachmu commented on GitHub (Apr 30, 2020): @DHowett-MSFT I don't get it -- you already renamed the profiles.json to settings.json on the first launch, so why didn't you FIX people's settings at the same time so this wasn't a breaking change in the first place? At least for defaultProfile, which obviously impacted a lot of people. I don't read the release notes for most updates. I expect this kind of product to make reasonable attempts at backwards compatibility. There's no good reason that this update had to break people's default profile settings.
Author
Owner

@DHowett-MSFT commented on GitHub (Apr 30, 2020):

@zachmu You’ve been using a prerelease of Terminal. I’m sorry if the risks inherent in prerelease software aren’t acceptable ones for you.

We’ve heard the community’s dissatisfaction with this issue and will endeavour to not make unmigrated breaking settings changes after we ship 1.0.

@DHowett-MSFT commented on GitHub (Apr 30, 2020): @zachmu You’ve been using a prerelease of Terminal. I’m sorry if the risks inherent in prerelease software aren’t acceptable ones for you. We’ve heard the community’s dissatisfaction with this issue and will endeavour to not make unmigrated breaking settings changes after we ship 1.0.
Author
Owner

@BaconTentacles commented on GitHub (Apr 30, 2020):

Honestly, you would think that this was Bethesda, with all of the bitching and moaning going on here. It's a pre-release of a free piece of software that has saved me a metric crapton of time in the 2 or so months I've been using it. Even Scott Hanselman said "you will need to refresh your settings file or start from scratch" when one of the newer releases came out.

In the grand scheme of things, it takes 5-10 minutes to completely rebuild a settings file. Get over yourselves. FFS.

@BaconTentacles commented on GitHub (Apr 30, 2020): Honestly, you would think that this was Bethesda, with all of the bitching and moaning going on here. It's a **pre-release** of a **free** piece of software that has saved me a metric crapton of time in the 2 or so months I've been using it. Even Scott Hanselman said "you will need to refresh your settings file or start from scratch" when one of the newer releases came out. In the grand scheme of things, it takes 5-10 minutes to completely rebuild a settings file. Get over yourselves. FFS.
Author
Owner

@zachmu commented on GitHub (Apr 30, 2020):

Agree to disagree I guess. Being pre-release is not an excuse to break people unnecessarily. No, it's not the end of the world for a few thousand people to have wasted 20 minutes on this problem. It was, however, entirely avoidable.

Personally I find the attitude of the maintainers ("lol it was in the release notes!", "it's pre-release, sorry not sorry") to be pretty disrespectful. It's not how I interact with people experiencing issues in my own free, pre-release software projects. Just my $.02.

@zachmu commented on GitHub (Apr 30, 2020): Agree to disagree I guess. Being pre-release is not an excuse to break people unnecessarily. No, it's not the end of the world for a few thousand people to have wasted 20 minutes on this problem. It was, however, entirely avoidable. Personally I find the attitude of the maintainers ("lol it was in the release notes!", "it's pre-release, sorry not sorry") to be pretty disrespectful. It's not how I interact with people experiencing issues in my own free, pre-release software projects. Just my $.02.
Author
Owner

@pankgeorg commented on GitHub (Apr 30, 2020):

@zachmu well, your attitude is not better. I'm trying to understand the value of your .02 because I received 3 emails for your .02, opened the browser read this and all this has taken too much of the time. In Greece that I live and work, that's at least $0.025, a complete waste.

Jokes aside Windows Terminal rocks. One unfortunate honest mistake happend. Took me a while but got over it. Meet you on the 'got over it' train, when you get here.

@pankgeorg commented on GitHub (Apr 30, 2020): @zachmu well, your attitude is not better. I'm trying to understand the value of your $.02 because I received 3 emails for your $.02, opened the browser read this and all this has taken too much of the time. In Greece that I live and work, that's at least $0.025, a complete waste. Jokes aside Windows Terminal rocks. One unfortunate honest mistake happend. Took me a while but got over it. Meet you on the 'got over it' train, when you get here.
Author
Owner

@rohjay commented on GitHub (May 8, 2020):

Keep up the awesome work bringing a good CLI to Windows for the rest of us! I may not be able to speak for all (haha clearly!), but as for myself - I greatly appreciate it! Easy fix. Thanks again!

@rohjay commented on GitHub (May 8, 2020): Keep up the awesome work bringing a good CLI to Windows for the rest of us! I may not be able to speak for all (haha clearly!), but as for myself - I greatly appreciate it! Easy fix. Thanks again!
Author
Owner

@twwright commented on GitHub (May 16, 2020):

Changing the default profile seems like a good tip to add under Configuring Windows Terminal of the User Docs. Or at least maybe even just a quick call out, such as "The list of valid settings, including how to change your default profile, can be found in the settings.json documentation section."

I can imagine with the increase of WSL users as that becomes more mainstream, there will be plenty of folks out there looking to make their default something other than PowerShell... Any objections to adding this, @DHowett-MSFT?

@twwright commented on GitHub (May 16, 2020): Changing the default profile seems like a good tip to add under [Configuring Windows Terminal](https://github.com/microsoft/terminal/blob/master/doc/user-docs/index.md#configuring-windows-terminal) of the User Docs. Or at least maybe even just a quick call out, such as "The list of valid settings, including how to change your default profile, can be found in the settings.json documentation section." I can imagine with the increase of WSL users as that becomes more mainstream, there will be plenty of folks out there looking to make their default something other than PowerShell... Any objections to adding this, @DHowett-MSFT?
Author
Owner

@DHowett commented on GitHub (May 18, 2020):

@twwright we're actively working on our docs story, so I might recommend waiting a day or two 😄

@DHowett commented on GitHub (May 18, 2020): @twwright we're actively working on our docs story, so I might recommend waiting a day or two :smile:
Author
Owner
@DHowett commented on GitHub (May 21, 2020): https://docs.microsoft.com/en-us/windows/terminal/customize-settings/global-settings#default-profile !
Author
Owner

@jasursadikov commented on GitHub (Jan 8, 2021):

I have similar issue, I changed my default profile to cmd
When I launch terminal from icon, it starts with cmd, but when I launch it from Win+R wt it launches with PowerShell, same with wt -d . in Windows Explorer...

@jasursadikov commented on GitHub (Jan 8, 2021): I have similar issue, I changed my default profile to `cmd` When I launch terminal from icon, it starts with `cmd`, but when I launch it from Win+R `wt` it launches with PowerShell, same with `wt -d .` in Windows Explorer...
Author
Owner

@Don-Vito commented on GitHub (Jan 8, 2021):

I have similar issue, I changed my default profile to cmd
When I launch terminal from icon, it starts with cmd, but when I launch it from Win+R wt it launches with PowerShell, same with wt -d . in Windows Explorer...

@vmp1r3 - any chance you have both Terminal and Terminal Preview with different defaults?

@Don-Vito commented on GitHub (Jan 8, 2021): > > > I have similar issue, I changed my default profile to `cmd` > When I launch terminal from icon, it starts with `cmd`, but when I launch it from Win+R `wt` it launches with PowerShell, same with `wt -d .` in Windows Explorer... @vmp1r3 - any chance you have both Terminal and Terminal Preview with different defaults?
Author
Owner

@jasursadikov commented on GitHub (Jan 8, 2021):

@Don-Vito no, I just installed it from Microsoft Store

@jasursadikov commented on GitHub (Jan 8, 2021): @Don-Vito no, I just installed it from Microsoft Store
Author
Owner

@Don-Vito commented on GitHub (Jan 8, 2021):

@Don-Vito no, I just installed it from Microsoft Store

Can you please attach your settings file?

@Don-Vito commented on GitHub (Jan 8, 2021): > > > @Don-Vito no, I just installed it from Microsoft Store Can you please attach your settings file?
Author
Owner

@jasursadikov commented on GitHub (Jan 8, 2021):

@Don-Vito the problem was in Windows's Packages managing system, if it is called this way
I rebooted my PC and settings were reset, then I checked locations of files that I was changing and new that appeared after reboot:

Old C:\Users\User\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState
New C:\Users\User\AppData\Local\Microsoft\Windows Terminal\settings.json

@jasursadikov commented on GitHub (Jan 8, 2021): @Don-Vito the problem was in Windows's Packages managing system, if it is called this way I rebooted my PC and settings were reset, then I checked locations of files that I was changing and new that appeared after reboot: **Old** `C:\Users\User\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState` **New** `C:\Users\User\AppData\Local\Microsoft\Windows Terminal\settings.json`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#1978