To open a terminal in the current Windows Explorer folder, you can use built-in keyboard shortcuts or configure context menu entries for Cygwin and MinGW. Pressing
Alt + D followed by
Ctrl + Shift + Enter opens PowerShell directly in the selected directory. For command-line tools like Cygwin, adding registry keys allows right-click access to launch terminals with the working directory already set correctly.
Using Built-in Windows Shortcuts
Windows 10 and Windows 11 provide native ways to open various shells without navigating through menus. This is the fastest method for standard development tasks that do not require specific toolchains like GCC via MinGW or Bash via Cygwin immediately.
For PowerShell, which is available on all modern Windows systems, you can use a simple key sequence. Click into the address bar of Windows Explorer using
Alt + D. Then press
Ctrl + Shift + Enter. This combination opens a new PowerShell window where the current working directory is automatically set to the path shown in the address bar. If you prefer Command Prompt (cmd), the same shortcut works if your system settings default to cmd for elevated privileges, though PowerShell is the modern standard.
If you want to open the terminal from anywhere in the file list rather than just the address bar, you can select the folder and press
Shift + F10 to open the context menu, then choose "Open in Terminal" in newer versions of Windows. However, the address bar method is more consistent across different Explorer views.
Configuring Cygwin Context Menu
Cygwin provides a powerful environment but does not always register its terminal in the Windows Explorer context menu by default. To fix this, you need to modify the Windows Registry. This process allows you to right-click any folder and select "Cygwin Bash Here" or similar options.
First, locate the installation path of your Cygwin terminal executable. It is typically found at
C:\cygwin64\bin\mintty.exe or
C:\cygwin\bin\mintty.exe. You will also need the path to the bash script, usually
C:\cygwin64\bin\bash.exe.
Create a new text file and add the following registry entries. Save it as
cygwin.reg.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\Cygwin]
@="Cygwin Bash Here"
"Icon"="C:\\cygwin64\\bin\\mintty.exe"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Cygwin\command]
@="\"C:\\cygwin64\\bin\\mintty.exe\" -e /bin/bash --login -c \"cd '%V' && exec bash\""
[HKEY_CLASSES_ROOT\Directory\shell\Cygwin]
@="Cygwin Bash Here"
"Icon"="C:\\cygwin64\\bin\\mintty.exe"
[HKEY_CLASSES_ROOT\Directory\shell\Cygwin\command]
@="\"C:\\cygwin64\\bin\\mintty.exe\" -e /bin/bash --login -c \"cd '%V' && exec bash\""
Double-click the
.reg file to merge it into your registry. Adjust the paths if your installation directory differs. After merging, right-clicking on an empty space in a folder or on a folder itself will show the "Cygwin Bash Here" option. The
-e flag tells mintty to execute the command, and
cd '%V' changes the directory to the one you clicked. Note that
%V represents the value of the directory path passed by Explorer.
Setting Up MinGW Shell Access
MinGW (Minimalist GNU for Windows) users often need to run
gcc or
make from the directory containing their source files. Similar to Cygwin, you can add a context menu entry for the MinGW shell.
Identify your MinGW bin directory, such as
C:\msys64\mingw64\bin\mintty.exe for MSYS2 environments or
C:\MinGW\bin\mintty.exe for older setups. Create a registry file named
mingw.reg with the following content:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\MinGW]
@="MinGW Shell Here"
"Icon"="C:\\msys64\\mingw64\\bin\\mintty.exe"
[HKEY_CLASSES_ROOT\Directory\Background\shell\MinGW\command]
@="\"C:\\msys64\\mingw64\\bin\\mintty.exe\" -e /bin/bash --login -c \"cd '%V' && exec bash\""
[HKEY_CLASSES_ROOT\Directory\shell\MinGW]
@="MinGW Shell Here"
"Icon"="C:\\msys64\\mingw64\\bin\\mintty.exe"
[HKEY_CLASSES_ROOT\Directory\shell\MinGW\command]
@="\"C:\\msys64\\mingw64\\bin\\mintty.exe\" -e /bin/bash --login -c \"cd '%V' && exec bash\""
Merge this file into the registry. This adds a right-click option that launches the MinGW environment in the current folder. This is particularly useful when compiling C or C++ projects where the build scripts expect to run relative to the source location. For more details on managing files within these shells, see
Automatically Generate List Files with Filename and Folder Names using Windows CMD or PowerShell.
Troubleshooting Path Issues
Sometimes the terminal opens but the directory is incorrect. This usually happens if the registry variable used does not match the Explorer context. In the examples above,
%V is used for directories. If you are trying to open a terminal from a file context, you might need to use
%L or extract the parent directory using batch logic within the command string.
Ensure that the paths in the registry do not contain spaces unless they are properly quoted. The quotes around the executable path in the
@= value are crucial. Also, verify that the shell you are launching supports the
--login flag, as some minimal shells may not source profile scripts correctly without it. If you encounter permission errors when creating files in these terminals, refer to
Unable to Create/Delete Files/Folders in CMD PowerShell on Windows 11 Pro 64-bit for resolution steps.
Frequently Asked Questions
Can I open a terminal from the desktop?
Yes, if you add the context menu entries to
HKEY_CLASSES_ROOT\DesktopBackground instead of
Directory. This allows you to right-click anywhere on the desktop background and open a terminal rooted at
C:\Users\YourName\Desktop.
How do I remove the custom context menu entries?
You can delete the added keys from the Registry Editor under
HKEY_CLASSES_ROOT\Directory\shell and
HKEY_CLASSES_ROOT\Directory\Background\shell. Alternatively, create a
.reg file with
- before the key names to uninstall them cleanly.
Why does my Cygwin terminal close immediately after opening?
This often occurs if the
bash command fails or the path is incorrect. Ensure the
mintty.exe path is correct and that you are using
exec bash at the end of the command chain to keep the window open. Check that the
--login flag is present to load environment variables.
Is there a way to open PowerShell as Administrator from Explorer?
Yes, pressing
Ctrl + Shift + Enter while focused on the address bar opens PowerShell with administrator privileges. You will be prompted by the User Account Control (UAC) dialog. This is safer than manually searching for the admin console.
Can I use these methods with WSL (Windows Subsystem for Linux)?
While WSL has its own integration, you can also add context menu entries for
wsl.exe. Use
wsl.exe -d Ubuntu in the command field to launch a specific distribution in the current folder path, mapping the Windows drive to the Linux filesystem automatically.