Many remote systems detect terminal capabilities using the TERM value provided by the SSH client, and mismatched values commonly cause broken colors, incorrect line drawing, or unusable full-screen apps such as vim, tmux, and text-based installers.

When PuTTY opens an interactive SSH session with a pseudo-terminal, it sends a terminal type string to the server. The server uses that value to set TERM, and applications use the terminfo database to decide which control sequences and features (colors, cursor movement, alternate screen) are safe to use.

Changing the terminal type string only changes what the remote host assumes about the terminal emulator, and it does not modify authentication or encryption. A value such as xterm-256color works well only when the remote host has a matching terminfo entry, and the new value only takes effect after reconnecting because the string is negotiated at session start.

Steps to set the terminal type string in PuTTY:

  1. Launch PuTTY.
  2. Select the saved session name or Default Settings under Saved Sessions.

    Selecting Default Settings and saving updates the default for new sessions.

  3. Click Load to apply the selected session settings.
  4. Open ConnectionData in the category tree.
  5. Enter a terminal type value in Terminal-type string.

    Use xterm-256color for 256-color support, and use xterm as a compatibility fallback if the remote host lacks matching terminfo.

  6. Return to the Session category.
  7. Click Save to store the updated terminal type for the selected session name.
  8. Click Open to reconnect with the updated terminal type string.

    Existing sessions keep the old TERM value until a new connection is opened.

  9. Confirm the remote session received the expected TERM value.
    $ echo "$TERM"
    xterm-256color

    If full-screen apps report an unknown terminal type, verify remote support with infocmp xterm-256color and switch to xterm if needed.