How to Change Default Shell in Windows Terminal

In Windows Terminal, you can change the default shell it opens with. Follow these steps to change Windows Terminal default shell from PowerShell to anything you want.

By default, PowerShell is the default shell in Windows Terminal. That is, when you open the Windows Terminal, the first thing you see is PowerShell. When needed, you can choose another console from the dropdown menu. This is great. However, if you are not a PowerShell user, you can change the default console to anything you want. For instance, if you are a web developer who heavily uses a Linux shell, you can set it as the default console in Windows Terminal.

This is pretty helpful because you don’t have to switch or open a new console tab every time you open Windows Terminal.

I assume you have already added your favorite console to the Windows Terminal. For example, if you want to set Ubuntu as the default, you should first add Ubuntu shell to Windows Terminal.

Change default shell in Windows Terminal

The new Settings page in the Windows Terminal makes it a breeze to change default startup shell.

Follow these steps to change default shell in Windows Terminal.

  1. Open Windows Terminal.
  2. Click on the dropdown menu on the title bar.
  3. Select the “Settings” option.
  4. Select “Startup” on the sidebar.
  5. Choose a shell from the “Default profile” dropdown menu.
  6. Click “Save.”
change default shell in Windows terminal

With that, you have changed the default profile or shell in Windows Terminal. For example, I changed the default shell from PowerShell to Ubuntu.

Use setting.json file to change default shell

To set a default console, we can use the GUID (Globally Unique Identifier). Since GUID is a unique string, Windows Terminal can differentiate the console you target from other consoles and open it by default.

1. First, open Windows Terminal by searching for it in the start menu.

2. After opening the Terminal, click on the drop-down menu and select “Settings.”

Change-default-console-windows-terminal-select-settings

3. Now, click on the “Open JSON file” option on the sidebar.

4. This action will open the “settings.json” file in the default text or code editor. Once opened, scroll down till you find the Profiles array.

4. In there, find the console profile you want to set as the default and copy the GUID value. For example, I want to set Ubuntu as the default terminal. So, I copied the “guid” value of the Ubuntu profile.

Change-default-console-windows-terminal-copy-guid

5. Now, scroll to the top and replace the “defaultProfile” value with the copied GUID value.

Change-default-console-windows-terminal-paste-guid-in-defaultvalue

6. Save the file and close it.

7. Relaunch Windows Terminal and you should see the new default console.

Change-default-console-windows-terminal-featured

That is it. It is that simple to change the default terminal in Windows Terminal.

If you are stuck or need some help, comment below and I will try to help as much as possible.

7 thoughts on “How to Change Default Shell in Windows Terminal”

  1. Avatar for Michal

    I would like to know if i can start Windows Terminal with more then 1 default tab. I tried to change that Settings notepad but no success. I can only choose one tab. I would like to run default Linux, Powershell and CMD tab there. Thank you

    1. Avatar for Bashkarla

      I don’t think you can set up multiple default tabs. For the most part, it’s not that useful, at least for me. Even when you set up multiple default tabs, you still need to click on the tab to go to the tab. Comparing that to the drop-down method, it’s just one less click.

  2. Avatar for marque

    Hai! How do you get the ASCII graphics and system information on step 7? The ubuntu logo is cool. Thanks.

    1. Avatar for Bashkarla

      I used a small tool called ScreenFetch. Just install the tool in Ubuntu and use the “screenfetch” command. It will show the system info with that cool ASCII art.

      Have a nice day.

  3. Avatar for Joseph

    Thanks this article helped me do exactly what I wanted to do: make Linux the default console that runs when the Windows Terminal is opened.

  4. Avatar for Arnold Schwarzenegger
    Arnold Schwarzenegger

    The term “console” refers to the window like conhost.exe. What you are using is called a “shell” like cmd or powershell.

Leave a Comment

Scroll to Top