-
Notifications
You must be signed in to change notification settings - Fork 8.4k
Frequently Asked Questions (FAQ)
This page serves as a list of some of the more commonly encountered issues while using the Terminal.
In addition to this FAQ, please make sure to refer to the official docs. There you can find more detailed info on features of the Terminal, the available settings and how they work, and various tips and tricks for using the Terminal.
The settings file can be found in the following location:
- Windows Terminal (Stable):
%localappdata%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
- Windows Terminal (Preview):
%localappdata%\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json
Additionally in that directory is the state.json
file, which contains additional state that the Terminal generates at runtime.
Before filing a bug, please check your settings file to see if you have "closeOnExit": "always"
set. It's possible that the Terminal window is closing when the shell application closed immediately, or it's possible that the commandline failed to launch entirely. "closeOnExit": "graceful"
will help debug if that's the case.
Unfortunately no, and we have no plans to make the Terminal available on operating systems below version 1903. There are some important operating system features we depend on. Namely:
- XAML Islands is the technology we use to host our XAML UI in a Win32 process. Without that, we'd be unable to display anything. Since XAML Islands is only complete as of 1903, there's nothing we can do about it.
- 1903 Also added support for side-by-side WinRT component activation, something deep in the COM stack that lets us find our DLLs when they're right next to our EXE.
These are unfortunately features that aren't going to be back-ported to earlier versions of Windows, so we won't be able to bring the Terminal to those versions either.
The answer is actually basically the same as the above. Windows Terminal requires a good number of Windows-specific technologies. We unfortunately won't be supporting it on Mac or anywhere else any time soon. There are some really good terminals on OS X, including iTerm and Hyper, and an uncountable number of good terminals on Linux.
This is something that can happen intermittently whenever the Terminal is updated. Something in the upgrade process causes the execution alias to stop working correctly. You might get an error message like:
Windows cannot find 'C:\Users\username\AppData\Local\Microsoft\WindowsApps\wt.exe'. Make sure you've typed the name correctly, then try again.
Most of the time, you can resolve this by toggling the App Execution Alias for WT off then on the screen at https://stackoverflow.com/a/66539884/1743
This can happen often if you're running the Terminal from a user profile that is not an administrator, AND the Terminal isn't installed for your Admin account on this machine. You might see an error message like:
This happens because packaged applications need to be installed for the Admin account to be able to be run elevated. To fix this: install the Terminal for your Admin account as well. There are more details in #7806. We're working with the platform team to try and fix this issue, and get the fix brought to downlevel Windows versions. We'll update this if this issue is resolved.
Every couple of weeks (time permitting), one of our team members merges the changes from this repository's main
branch into an internal mirror's inbox
branch. Once that happens, another tool called git2git
migrates the tree from that internal mirror into a directory on our team's branch in the Windows OS git repository. Some weeks later, that branch's content has made its way to main
, which is approximately where Insider builds come from. The time it takes to get from our team's branch to the Windows main
branch is dependent on many factors, so it can range from 2-6 weeks.
Currently, this is by design. You can set the Preview version of the Windows Terminal as the Default Terminal, but not the Stable version. We're currently working through a few more bugs that we'd like to get sorted before allowing the Stable version to be set as the Default Terminal on Windows.
As a system-wide policy, acrylic is only enabled for the foreground window. So if you activate any other window than the Terminal, the Terminal's acrylic will turn off.
There are other system policies that control when acrylic is or isn't enabled. For example, if your laptop is in power saver mode, or you're accessing your machine through RDP, then acrylic will be disabled. Before filing a bug, make sure that acrylic works in other apps, like Calculator, or the Start Menu.
We're currently using #7158 to track adding support for "enable acrylic even for inactive Terminal windows" - if you're passionate about this, we'd love your contribution!
At the moment, no. The thread with the most up-to-date investigation tracking this is #603. In #603 (comment), we experimented with whole-window unblurred transparency, but as you can see, the prototype wasn't particularly polished.
At current, the Terminal team is waiting until after Terminal 2.0 to migrate to WinUI 3. We're working with the WinUI team to get this added in to WinUI 3.0. Upstream, this is being tracked in microsoft/microsoft-ui-xaml#1247. This is the path we'll be pursuing to get this feature added to the Terminal, because driving this solution also means driving an important dev platform feature for the entire platform, one that'll help improve other applications on Windows as well. This solution will allow us to make individual elements of the Terminal window transparent, rather than the entire window.
Please make sure to check out #8888, which is tracking all the quake-mode and globalSummon
related issues.
"Global Summon" refers to the globalSummon
action. This action allows you to bind a shortcut systemwide to activate the Terminal window. This means that you can bind something like win+`, and press that anywhere in the OS to instantly activate the Terminal window. globalSummon
supports a ton of different parameters to control its behavior, so please make sure to check out the docs.
"Quake Mode" is a specific version of globalSummon
. It summons a window that's named _quake
, and the window named _quake
has certain special properties. Check out the docs for more details.
That's correct - the Terminal needs to be running to be able to register the global hotkeys. You can configure the Terminal to launch on machine startup with "startOnUserLogin": true
. We're also using #9996 to track "Allow the Terminal to start up and process global hotkeys without creating a window".
Right now, you can't. The window named _quake
will always open on the top half of the monitor.
What you can do, though, is rebind win+` to a different globalSummon
action. The following will be equivalent to the quakeMode
action, but without the requirement that the window's name is _quake
:
{ "keys": "win+`", "command": { "action": "globalSummon", "dropdownDuration": 200, "toggleVisibility": true, "monitor": "toCursor", "desktop": "toCurrent" } }
Then, your window will still obey your standard initalPosition
, initialRows
, etc. settings.
Additionally, #9992 is the issue we're tracking for "Allow configuring global settings per-window name". That means you'll be able to use that to change the settings for the window named _quake
.
The _quake
window always opens in "focus mode" by default. That doesn't mean that the quake window doesn't have tabs, just that they're hidden. You can use the Command Palette to disable focus mode if you want to see the tabs again.
If you don't want the global hotkey to summon the window in quake mode, there are two options:
- Either re-bind it to a different
globalSummon
action, like the above, without"name": "_quake"
. - Wait patiently for #9992 to allow changing the settings of the
_quake
window name.
This is another scenario that'll have to wait for #9992. What you'd end up with is different window names for each profile you want a specific hotkey for. The defaultProfile
for those windows would be set to whatever profile you want. Then, you'd bind globalSummon
actions, with the name
set to each of those window names.
This is a feature that's commonly associated with Quake Mode. Unfortunately, it didn't quite make the cut for 1.9. Never fear! We're working on it currently. Please follow #5727 for updates on adding this functionality to the Terminal.
This is a small list of FAQ-like questions that have had lengthy replies in the past. They're all preserved in the doc niksa.md
- Why do we avoid changing CMD.exe?
- Why is typing-to-screen performance better than every other app?
- How are the Windows graphics/messaging stack assembled?
- Output Processing between "Far East" and "Western"
- Why do we not backport things?
- Why can't we have mixed elevated and non-elevated tabs in the Terminal?
- What's the difference between a shell and a terminal?