---
title: "Windows terminal compatibility for the ACLI Shell"
canonical: "https://support.appfire.com/space/SUPPORT/306315404/Windows%20terminal%20compatibility%20for%20the%20ACLI%20Shell"
format: markdown
---
## \uD83E\uDD14 Problem

Many terminal apps utilize the Windows-native Console Host (`conhost.exe`) executable for implementation.  Under Windows 10, `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) capable of running on Windows 10.

## \uD83C\uDF31 Solution

The Windows terminal compatibility table shows how to handle environment variables on Windows 10 and Windows 11 for ACLI 10.6 and earlier and ACLI 11.0

**Windows terminal compatibility**

| **Windows Version** | **Terminal App** | **ACLI Version** | **Solution** |
| --- | --- | --- | --- |
| Windows 10 | 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*<br>(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.

Remember that the shell proper functioning depends on the correct implementation of the VT100 specification of the terminal emulator.   
Setting the `WT_SESSION` environment variable alone may not be sufficient for the shell to function correctly.

If the terminal emulator still uses the broken `conhost` exe, users may notice that the terminal renders garbage on the screen as soon as the app provides completions. 

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**.

### Other terminal applications

The supported terminal emulators on Windows 10 are:

- Windows Terminal
- WezTerm
- Alacritty
- ConEmu
- CMDER

If you know of another VT100-compliant terminal on Windows 10, you can test it using the instructions given for ACLI 10.6.0 and earlier.  

If the shell works, contact us so that we can add official support for that terminal.

### Additional environment variables

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`.<br>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).<br>**NOTE**<br>- 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:<br>- 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.<br>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` .<br>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` |

## \uD83D\uDCCE Related articles

> Macro (contentbylabel)