Skip to content

v2.15.3 — Ghostty ssh no longer breaks remote terminals

Latest

Choose a tag to compare

@Rynaro Rynaro released this 23 Jun 22:34
e3336ac

A quiet but annoying one: sshing from Ghostty into a host that lacks the xterm-ghostty terminfo entry left the remote shell unusable — garbled line editing, then 'xterm-ghostty': unknown terminal type. on exit. The Potions-managed ghostty.conf was disabling the very feature that prevents this.

🐛 Root cause

Ghostty ships ssh-env / ssh-terminfo shell-integration features that fix remote TERM mismatches automatically — install the terminfo on the remote, or fall back to xterm-256color. But the generated ghostty.conf hardcoded a full replacement set:

shell-integration-features = cursor,sudo,title

…which silently disabled both ssh features. Every ssh session then shipped TERM=xterm-ghostty to remotes that had never heard of it, breaking zsh's line editor.

✨ Fix

The theme adapter (the generator of record) now emits:

shell-integration-features = cursor,sudo,title,ssh-env,ssh-terminfo
  • ssh-terminfo — Ghostty auto-installs the xterm-ghostty terminfo on the remote host on first connect.
  • ssh-env — falls back to TERM=xterm-256color for hosts where that install can't run.

The generated file carries a self-documenting comment explaining both.

✅ Testing

269/269 tests pass across Ubuntu, macOS, Fedora, and Termux — including a new regression assertion that the generated ghostty.conf keeps ssh terminfo integration enabled.

⬆️ Upgrading

Existing installs pick this up after the next potions theme set <variant> (or potions upgrade) regenerates ghostty.conf.