TermRoad

Hosts, groups and inheritance

Organise hosts in nested groups, and set things once on a group for every host inside it.

Hosts

A host is a server you connect to. Its editor opens in the panel on the right; empty fields show the value the host would inherit, dimmed, with where it comes from.

Field What it does
Label The name shown in your list.
Hostname A name or an IP address.
Port 22 unless the host or one of its groups sets another.
Username, password, key, identity How to sign in. See credentials below.
Group Where the host is filed, and what it inherits.
Jump hosts Saved hosts to connect through, in order.
Agent forwarding Lets the server use your vault’s keys to sign in onward.
Startup snippet A snippet run after you sign in.
Theme The terminal theme for this host.
Proxy and environment Coming See proxies and environment variables.
Tags Separated by commas; use the tag filter to narrow the list.
Notes Anything you want to remember.

Hosts can be shown as a grid or a list, and Duplicate copies one as a starting point.

Groups

Groups hold hosts and other groups, nested as deep as you like. Click a group to open it (the path above the list takes you back up), and use New Group to add one. Deleting a group moves its hosts and subgroups up a level; nothing else is deleted.

What groups pass down

A group can set the port, username, password, key, identity, jump hosts, agent forwarding, startup snippet, theme, proxy and environment variables. A host uses:

  1. its own value, if it sets one;
  2. otherwise the value from its group, then that group’s parent, and so on: the nearest group that sets it wins;
  3. otherwise the default: port 22, no jump hosts, agent forwarding off, no proxy, the app’s theme.

Setting a field to “None” or “Off” on a host counts as setting it, so it stops a group’s value from applying: for example, jump hosts set to None connect directly even if the group uses a jump host.

Environment variables are merged rather than replaced: the host gets every variable its groups set, and where two set the same name, the nearest wins.

Credentials

The username, password and key work slightly differently, because an identity keeps them together:

  1. A username, password or key set on the host itself always wins, one field at a time.
  2. Otherwise, if the host has an identity (its own, or one inherited from a group), the identity supplies the username, password and key together. A field the identity doesn’t have stays empty.
  3. Otherwise, the nearest group’s username, password and key.

If there’s still no username, your Mac’s user name is used. When signing in, the app tries the key first, then the password; if neither is saved, or the server refuses them, it asks for a password.

Vaults

Hosts, groups, keys, identities and snippets can be filed in separate vaults, such as Work and Personal. Choose the vault from the switcher; Manage Vaults… renames them, changes their icons and deletes them, and New Vault… adds one.

  • Everything starts in Personal.
  • A group and its hosts stay in the same vault, and moving a group moves everything in it.
  • Keys and identities can be used from any vault.
  • Deleting a vault moves its contents to Personal; nothing is deleted.

Every vault is encrypted the same way and syncs to all your devices.

When something is deleted elsewhere

If a group, identity or key that a host uses is deleted on another device, the host’s editor shows it as missing instead of quietly dropping it, so you can choose another. Deleting anything that’s in use asks first and says what uses it.