How to Change Default Directory in Windows Subsystem for Linux WSL

Table of Contents

WSL starting directory

Starting directory is the directory the shell starts in when it is loaded. When starting directory is not defined, the default value will be set to “%USERPROFILE%” (the path relative to your user settings, for example this may be C:Users<your username>).

Default behavior:When the startingDirectory value is not specified, you will get different results depending on where you launch Terminal:

  • If you run Windows Terminal from the Start menu: %WINDIR%System32
  • If you run wt.exe from the Start menu: %WINDIR%System32
  • If you run wt.exe from Win+R: %USERPROFILE%
  • If you run wt.exe from the explorer address bar: whatever folder you were looking at.

Start WSL Instance In The User’s Home Directory

For example, WSL starts in the home folder of the current logon Windows user.

How to Change Default Directory in Windows Subsystem for Linux WSL

To automatically starts the shell in the user’s home directory. From PowerShell or CMD run wsl ~ command instead of wsl only. Run wsl without any distribution name will start the default instance.

wsl ~

As you can see in the below screenshot, when using the wsl ~ command, the WSL instance starts in the user’s home directory automatically without navigate to it manually with cd ~ in bash.

How to Change Default Directory in Windows Subsystem for Linux WSL

If you’ve multiple instances, for example, the below command for Debian:

wsl ~ -d debian
How to Change Default Directory in Windows Subsystem for Linux WSL

Using the environment variable

Alternatively, if you don’t want to type wsl ~ command every time you start an WSL instance. You can use the environment variables in the profile.

1. Start an WSL instance, the shell will start in /mnt/c/Users/username

2. In the shell, navigate to the user’s home directory using cd ~ command.

cd ~

3. Run the below command to add cd ~ to the .bashrc file. Aliases and functions are put into .bashrc to ensure that these are loaded every time a shell is launched.

echo cd ~ >> ~/.bashrc
How to Change Default Directory in Windows Subsystem for Linux WSL

4. Exit the shell → Terminate the instance then open it again to verify it works.

How to Change Default Directory in Windows Subsystem for Linux WSL

Leave a Comment

Required fields are marked *