Updates
ThinkTerm never installs an update on its own. It checks, it tells you, and it waits for you to decide.
Checking
Settings → Software Update holds the whole picture: the version you are running, the latest release, when the check last ran, and what changed.
Check for Updatesruns a check immediately.Automatic UpdatesandCheck Frequencydecide how often that happens by itself —Off,Daily,Weekly, or an interval measured in days, hours or minutes.What's Newopens the release notes for the version being offered.View All Releasesopens the full list.
When a check finds something, a dot appears rather than a window taking over the screen. A notification is posted alongside it — ThinkTerm update available — and clicking it lands on the same page.
Installing
Install Update replaces the files in place. The window in front of you keeps working while that happens, and ThinkTerm goes on running the version it started with.
That last part is the one people misread, so the confirmation says it outright: Installed ThinkTerm x.y.z. Quit and reopen ThinkTerm to use it. Nothing switches underneath a running session.
Who is allowed to replace the files
ThinkTerm only updates copies it installed itself — the ones that came from the install script. Every other way of installing has an owner: a package manager, Homebrew, Nix, the AppImage's own updater, or the person who ran cargo build. For those, ThinkTerm names the owner instead of writing over its files.
| How this copy was installed | What ThinkTerm does |
|---|---|
| Install script | Installs the update, keeping the same variant |
ThinkTerm.app placed by hand | Replaces it where it sits, and adds the command-line tools under ~/.local/bin |
| AppImage | Points you at AppImageUpdate, or the new AppImage on the releases page |
| Homebrew | Tells you to run brew upgrade thinkterm |
| Nix | Tells you to update through your Nix configuration |
| System package manager | Tells you to install the new package with apt, dnf, or whatever installed this one |
| Windows installer | Downloads the new installer and runs it |
| Built from source | Tells you to pull the repository and build again |
| Not recognised | Refuses to replace it, and says to update it the way it was installed |
From the command line
thinkterm update follows exactly the same rules as the button in Settings.
thinkterm update # check, then ask before installing
thinkterm update --check # report whether a newer release exists, install nothing
thinkterm update -y # install without asking
thinkterm update --version X # install release X instead of the latest, downgrades allowedNeither path reimplements the installer. Both hand the job to install.sh, which is the one place that knows the archive layouts and the swap between the desktop and server variants. The script is fetched from the default branch rather than from the release being installed, so a fix to the installer reaches every existing install at once instead of waiting for the next release.
Updating a remote server
A client and a server refuse to talk across a protocol change. The usual way that happens is your desktop being upgraded while the server on some host keeps running last month's build.
ThinkTerm already holds an SSH session to that host, so it can repair the mismatch itself rather than sending you off to log in by hand. On a version mismatch during attach, it offers to install its own release on the host, reads the host's install manifest first so a desktop install there keeps its GUI, and runs the installer over a second SSH session with the output relayed into the connection window.
What happens to the running sessions then depends on one setting:
Keep sessions when updating a remote server — the running server hands its panes to the new version instead of stopping; nothing running in them ends.
With it off, ThinkTerm asks before stopping the old server, because stopping it ends every session it holds. That is never done unasked.
The handover itself is the same mechanism described in Remote — a running server passing its panes to a new binary without the sessions noticing.
Related
- Remote — how sessions survive disconnects, restarts and upgrades
- Command Line — the rest of the
thinktermsubcommands
