Document shell integration running on SSH host #9789
Unanswered
nihaals
asked this question in
Feature Requests, Ideas
Replies: 1 comment 2 replies
-
|
|
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Something that changed when updating from NixOS 25.05 to 25.11 on a SSH host was my fish prompt cursor not changing with the Ghostty shell integration.
Relevant Nix snippet:
Ghostty is on v1.1.3 on 25.05 and (currently) v1.2.3 on 25.11. After diffing the shell integrations I noticed that it went from not using the cursor feature only if
GHOSTTY_SHELL_INTEGRATION_NO_CURSORis set to only enabling it ifGHOSTTY_SHELL_FEATURESincludescursor. Since this is a headless server, I wasn't running Ghostty on it, soGHOSTTY_SHELL_FEATURESwasn't being set. For context, to fix the issue I addedset -g GHOSTTY_SHELL_FEATURES cursor,...(has to be global since the env var isn't read at source time).I assumed Ghostty's shell integrations were officially supported on servers, especially as it ran fine previously, but I realised from this experience that this doesn't seem to be documented in either direction. Are users using Ghostty's shell integration "wrong" if they're running it on SSH hosts?
If yes, it might be worth adding this to the docs (currently it's assumed that you're getting the shell integration from your GUI Ghostty install but for example nixpkgs exposes it without needing to install the Ghostty GUI so you could still unknowingly do this). Since some of the features like the prompt cursor make sense and work well over SSH, maybe a more minimal shell integration could be made for servers that people can install separately?
If not,
GHOSTTY_SHELL_FEATURESshould be documented and the shell integration scripts might need to be aware of breaking changes like this one (this also wasn't mentioned in the changelog outside of "shell-integration: now uses a singleGHOSTTY_SHELL_INTEGRATION_FEATURESenv var to specify enabled features instead of multiple env vars" in the full changelog). Maybe it could just be made clear that it's the user's responsibility to not use a shell integration that is significantly older/newer than the active GUI version?GHOSTTY_SHELL_FEATUREScould also be passed withssh-envas some kind of way to keep them in sync (although I personally didn't includepathon my server despite having it set locally).Beta Was this translation helpful? Give feedback.
All reactions