Legacy Console mode
Legacy Console mode is a compatibility tool designed to help users of older command-line tools on Windows 10. For any command-line tool that is not displaying or operating correctly in the default Windows 10 console experience, this mode provides a coarse-grained solution to stepping the system back to an older version of the console hosting experience.
Using Legacy Console Mode
Right-click on the application title bar and choose the
Properties menu option. Choose the first tab,
Options. Then check the box at the bottom of the page describing
Use legacy console. Press the
OK button to apply.
The setting can be reverted by returning to the same property sheet menu and unchecking the box then pressing
This setting is globally applied to all sessions that start after the preference is changed. Sessions that are already open will not be changed.
Differences between modes
The Console Host team strives to minimize differences between the Legacy and current modes of the console to ensure that as many customers as possible can run the most up-to-date version. If you experience an issue that requires you to use the legacy console that is not documented here, please contact the team on the microsoft/terminal GitHub repository or via the Feedback Hub for assistance.
16-bit applications on 32-bit Windows
Some 16-bit applications on 32-bit Windows use a virtual machine technology to operate called NTVDM. Often these applications use a graphical screen buffering mode in conjunction with the console hosting environment to operate. Only the legacy console experience supports these graphical buffering modes and the additional console API support required to power these applications. The system will automatically select the legacy console environment when one of these applications is launched.
The legacy Console Host embedded the suggestion portion of the IME inside the hosting window by reserving a line at the bottom of the screen for suggestions. The current Console Host environment instead delegates this activity to the IME subsystem to display an overlay window above the console host with suggestions. In an environment where overlay windows are not possible (like with certain remoting tools), the legacy console host may be required.
The major known difference between legacy and current is the implementation of UTF-8. The legacy host has extremely rudimentary and often incorrect support of UTF-8 with code page 65001. The current console host contains incremental improvements release-over-release of Windows 10 to improve this support. Applications that are attempting to rely on predicting "known incorrect" interpretations of UTF-8 from the legacy console will find themselves receiving different answers as support is improved.