Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

\uD83E\uDD14 Problem

Terminal Many terminal apps adopt utilize the Windows-native Console Host (conhost.exe) executable for implementation.
Under Windows 10, the conhost.exe exhibits a bug that limits ACLI Shell functionality.
In this environment, conhost.exe incorrectly interprets a critical VT100 control sequence as a VT52 sequence, which breaks the ACLI Shell interactive renderer. As a result, terminal apps that rely on conhost.exe executable under Windows 10 fail to function as designed.

The issue is rectified in the conhost.exe implementation shipped with Windows 11 as well as when running apps in Windows Terminal and other VT100-compliant terminal emulators (e.g., ConEmu, CMDER, Alacritty, and WezTerm) in capable of running on Windows 10.

\uD83C\uDF31 Solution

...

Windows terminal compatibility

Windows Version

Terminal App

ACLI Version

DescriptionSolution

Windows 10

In ACLI 10.6, set the WT_SESSION variable

Setting WT_session variable enables non-Windows terminal emulators on Windows 10 for ACLI v10.6 and earlier.

Windows 10

ACLI v11

The WT_SESSION variable is not required, when using one of these terminals:

  • Windows Terminal

  • WezTerm

  • Alacritty

  • ConEmu

  • CMDER

Windows 11

ACLI v11

No constraints on the choice of terminal, including the legacy Windows console (conhost.exe).

ACLI v10.6 and earlier
How to fix the conhost.exe interpreting of VT100 control sequence

...

Console Host (conhost.exe) and any terminals that depend on it

10.6.0 and earlier

Do not use!

Windows 10

Windows Terminal

10.6.0 and earlier

No special setup required

Windows 10

Any other VT100-compliant terminal

(WezTerm, Alacritty, ConEmu, CMDER, etc)

10.6.0 and earlier

Manually set WT_SESSION=1 (see below)

Windows 10

Windows Terminal, WezTerm, Alacritty, ConEmu, CMDER

11.0.0 and later

No special setup required

Windows 10

Any VT100-compliant terminal not listed above

11.0.0 and later

Manually set WT_SESSION=1 (see below)

Windows 11

Any terminal

11.0.0 and later

No special setup required

Applying the WT_SESSION workaround when indicated by the above table:

  1. Open the environment variables settings on your system.

  2. Create a new environment variable named WT_SESSION and set its value to any non-empty string (e.g., 1).

  3. Save the changes, and restart your terminal application.

  4. Launch the ACLI shell.

...

To ensure the best experience with the ACLI shell, it is recommended to use a fully VT100-compliant terminal emulator or upgrade to Windows 11 or to use Microsoft’s Windows Terminal.

ACLI 11.0.0
How to fix the conhost.exe interpreting of VT100 control sequence

...

Other terminal applications

The supported terminal emulators on Windows 10 are:

...

Depending on your requirements and specific cases, additional environment variables for Shell configuration are available and described in the Environment Variables Table.

Environment variable

Description

ACLI_SHELL_GLYPHS

Value is one of ascii, unicode, powerline, or nerdfont.

The shell automatically sets the glyph set to ascii when either the ConEmu or Cmder terminals are detected on Windows in ACLI v11

ACLI_SHELL_THEME

Value is one of the themes available in the shell (or a custom theme).

NOTE

  • Some terminals may have complex color schemes, you can create your own color scheme.

  • To display the available themes type /settings theme set .

ACLI_SHELL_CACHE_DIR

It allows you to specify where to store the shell cache files.

ACLI_SHELL_CONFIG_DIR

It allows you to specify where to store the shell config files.

ACLI_DEFAULT_TABLE_STYLE

This variable is useful, if you do not have full unicode support in the terminal:

  • set the value to TEXT to get acli to use ascii chars rather than unicode when rendering tables. It also forces the shell to act as if ACLI_SHELL_GLYPHS was set with the value ascii.

ACLI_SHELL_DEBUG

Set the value to 1 to generate debug output.

Set the value to 2 to add trace information.

ACLI_SHELL_LOG

It sends the debug to a log rather than a terminal. This environment variable is recommended if you use the debug variable ACLI_SHELL_DEBUG .

The value for this variable is the path to the log file where the debug and trace information is to be sent: an empty string value uses the default path acli-shell.log

...