Skip to content

Import sessions

If you’re coming from another tool or already track your hosts somewhere, you can bulk-import them into TermZ from a JSON file — no retyping.

Settings → Sessions: the Import sessions button and the “Imported X, updated Y” result summary.

  1. Open Settings (the gear in the activity rail, or /Ctrl+,).
  2. Expand the Sessions section and click Import sessions….
  3. Choose your .json file. TermZ parses it and shows a result summary — “Imported X, updated Y” — plus any per-row errors.
  • Same name + host as an existing session → that session is updated.
  • Same name on a different hostadded as a new session.

TermZ accepts either an envelope or a bare array.

Envelope (recommended)
{
"version": 1,
"exported_at": "2026-07-09T12:00:00Z",
"sessions": [
{ "name": "core-rtr-01", "host": "10.0.4.1", "kind": "ssh", "username": "netadmin" }
]
}
Bare array (also accepted)
[
{ "name": "core-rtr-01", "host": "10.0.4.1", "kind": "ssh", "username": "netadmin" }
]

Only name is required. Everything else is optional.

Field Type Notes
name string Required. Display name (also used for dedup).
kind string ssh (default), telnet, raw, serial, or local. Case-insensitive.
host string Hostname or IP. Used with name for dedup.
port number Defaults per protocol (SSH 22, Telnet 23, …).
username string Login user.
auth_method string Password, PublicKey, or Agent.
aux string Key-file path (for PublicKey) or serial-config JSON (for serial).
folder_path string POSIX-style, e.g. /Datacenter/Core. Missing folders are auto-created.
equipment_type string Device type label (router, switch, …); custom types allowed.
tags string[] Freeform labels.
notes string Freeform notes.
password string Inline secret — encrypted into the vault on import and never re-exported.
credential string Name of an existing stored credential to link — a saved password or an SSH key. An unknown name makes that row error.
  • password — an inline secret. It’s written into the encrypted vault on import; it is never included when you export.
  • credential — the name of a credential already in your vault (see Named credentials) — either a saved password or an imported SSH key. The session links to it by reference, so rotating that credential updates every session that uses it. If the name doesn’t exist yet, that row fails — create the credential first, or use password.
{
"version": 1,
"sessions": [
{
"name": "dist-sw-04",
"host": "10.0.8.4",
"kind": "ssh",
"port": 22,
"username": "netadmin",
"auth_method": "PublicKey",
"aux": "~/.ssh/id_ed25519",
"folder_path": "/Datacenter/East",
"equipment_type": "switch",
"tags": ["prod", "core"],
"notes": "Aggregation switch",
"credential": "netadmin-prod"
}
]
}

If your inventory lives in a CSV/spreadsheet, you don’t have to hand-write JSON — see Bulk import from a CSV for a helper that converts a device list into exactly this format.

To move sessions out of TermZ (metadata only, no secrets), see Export sessions.