TeSSH Features

This is a list of key features in TeSSH. For a more complete list, see the Feature Reference section of the Documentation.

Command Line

Command Line
TeSSH has a Command Line separate from the main server window.  This Command Line can be used for client-side editing, tab completion, command history, and spell checking.  You can easily toggle between the command line and the main window using Shift-Tab.  Scripting commands can also be executed directly on this Command Line.   Read more »

Multiple Sessions

SessionsThe Sessions window shows an icon for each remote session you have defined.  You can open multiple sessions are one time and can save "super sessions" that assign a single icon to multiple sessions allowing you to log into multiple sessions with a single click.  Sessions can share packages or can be independent.  A master password can be assigned to encrypt your saved passwords for the highest level of security.   Read more »

Docked Windows

Multiple Window dockingWhether you are logging information to other "child windows" or creating multiple windows to connect to multiple servers, TeSSH supports a sophisticated Docking system that allows you to combine windows and position them exactly how you want. This system is very similar to the docking system used in professional software development systems such as Microsoft Visual Studio.  Windows can be docked, tabbed, floating, or hidden with mouse-over fly-out.   Read more »

Script Editor

Syntax highlightingThe editor used to modify your scripts is based upon the industry-standard Scintilla editor.  This is the same programmer's editor used in popular programs such as NotePad++.  It includes full color syntax highlighting of multiple languages, collapsible code sections, matching brace/parenthesis highlighting, code-completion, code call hints, variable linking, search/replace, and many more features expected in a modern code editor.   Read more »

Script Wizard

Script WizardTeSSH contains a powerful Script Wizard that helps you create simple scripts with very little knowledge of programming.  The Wizard splits the script into multiple "steps" and pre-defines several useful types of steps, such as sending data to the server, coloring text on the screen, substituting text on the screen, playing sounds, etc.  You can easily switch between the Wizard and the full Script Text to see exactly how the wizard is handling certain steps to help you learn how programming works.   Read more »


Alias exampleAn Alias is a shortcut name that contains a list of commands to be executed. In terms of other programming languages, an Alias is like a Procedure or Method call. When the Alias name is entered on the command line, any script assigned to the Alias is executed.   Read more »


Trigger exampleA Trigger allows you to execute a script based upon the text received from the server. TeSSH supports a simple pattern matching syntax, along with powerful regular expression patterns. TeSSH also supports multiple trigger states for very advanced scripting. A Trigger Pattern Wizard is included to make it easier to create trigger patterns and test to see what text from the server they match.   Read more »

Trigger Wizard

Trigger Pattern wizardA Trigger Wizard can be used to help build regular-expression-like patterns.  Wildcards for matching different types of text, such as digits, words, etc can be easily added from a dropdown menu.  Text from the server can be tested against the trigger to see if it matches and any subpatterns captured from the text are shown.  Multiple lines of text from the server can be "merged" and automatically create the pattern that matches both lines.   Read more »


Macro exampleA Macro is a script assigned to a specific key on your keyboard. When you press the key, the script assigned to that key is executed.    Read more »


Variable exampleLike in traditional programming languages, Variables are containers that hold a value.  Variable types include: 64-bit integers, Double-precision floating point, strings with other embedded variables and functions, literal strings, string lists (arrays), tables (associative arrays), JSON objects, and COM object references.  Variables can be persistent across sessions or can be Local to a specific script for high performance.   Read more »


Event exampleAn Event is similar to a trigger, but instead of firing when text from the server is received, it is fired internally by TeSSH when a certain situation occurs. For example, the "onConnect" event is fired when TeSSH connects to the server. There are several Pre-defined Events within TeSSH. You can also create your own user-defined events.   Read more »


Function exampleFunctions are similar to Aliases except that they can return a value like a variable. In fact, a Function is called like a variable, using the @ character, with an optional list of arguments separated by commas and enclosed in parenthesis.   Read more »


Button exampleA Button is a graphical "button" that will execute a script when you click the mouse on it. This is very similar to a macro except that it is done visually with the mouse.  Buttons can be grouped into different Buttons Bars, or it can float over the main session window. Buttons can be simple push buttons (click to execute the script), or can be Toggle buttons (on or off, and clicking the button in each state can execute a different script). Buttons can also be assigned a drop-down menu of options to be selected using a Multistate button.  Graphical gauges can also be created with buttons to show a progress bar within the button frame.   Read more »


TeSSH supports a large number of standards and protocols.  For Telnet, TeSSH supports both raw connections as well as full Telnet option negotiation.  Both Character Mode and Line Mode Telnet are supported.  The full extended keyboard is supported, allowing you to use PgUp/PgDn, Function Keys, and other keys within editors such as "vim".  TeSSH supports both SSH1 and SSH2 with full support for all encryption protocols, keyboard authentication, public/private key authentication and full SSH session variables.  In addition, TeSSH fully supports ANSI color, ANSI cursor control, VT100 (including full scrolling region support), XTerm, XTerm Mouse, 256-color mode, compression (MCCP), HTML (via MXP), FTP, SFTP and more.   Read more »

Lua Scripting

Starting in TeSSH v2.0, integrated Lua scripting was added. Lua is a very popular scripting language because of it's high speed and small size. While zScript remains as the main supported scripting language in TeSSH, Lua can be used in many situations for higher speed.  Most zScript commands, functions, and variables can be directly accessed within a Lua script.   Read more »