Repository navigation
shell-integration: invoke resolved Ghostty CLI path - #115
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughGhostty now resolves and exports an exact CLI executable path, including embedded-runtime helpers. Shell SSH integrations require ChangesSSH CLI integration
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested reviewers: ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR makes shell integration use Ghostty’s resolved CLI path. The main changes are:
Confidence Score: 4/5The fish SSH wrapper gate needs a fix before merging.
src/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish Important Files Changed
Reviews (1): Last reviewed commit: "shell-integration: invoke resolved Ghost..." | Re-trigger Greptile |
| # feature flags into command options. | ||
| set -l features (string split ',' -- "$GHOSTTY_SHELL_FEATURES") | ||
| if contains ssh-env $features; or contains ssh-terminfo $features | ||
| if test -n "$GHOSTTY_BIN"; and contains ssh-env $features; or test -n "$GHOSTTY_BIN"; and contains ssh-terminfo $features |
There was a problem hiding this comment.
Fish Feature Gate Skips Wrapper
When GHOSTTY_BIN is set and only ssh-env is enabled, this fish chain can still continue into the trailing and contains ssh-terminfo $features check and leave the whole if false. That skips installing the SSH wrapper, so ssh-env users silently get plain ssh instead of ghostty +ssh.
| if test -n "$GHOSTTY_BIN"; and contains ssh-env $features; or test -n "$GHOSTTY_BIN"; and contains ssh-terminfo $features | |
| if test -n "$GHOSTTY_BIN"; and begin; contains ssh-env $features; or contains ssh-terminfo $features; end |
Summary
GHOSTTY_BINexecutable path for shell integrationThis fixes manaflow-ai/cmux#8093, where embedded Ghostty derived
/Applications/cmux.app/Contents/MacOS/ghosttyfrom the cmux GUI executable even though the CLI helper lives inContents/Resources/bin.Verification
Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.Summary by cubic
Export and use the exact Ghostty CLI path for shell integration so SSH wrappers call the correct binary, including when Ghostty runs inside an embedded host app. Prevents wrong-path derivation and disables the SSH wrapper when no helper is available.
GHOSTTY_BIN(exact CLI path) and keepGHOSTTY_BIN_DIR; append its directory toPATH.GHOSTTY_BINand only install when it’s set.ghosttyor an embedded helper, fixing incorrect paths in hosts like cmux.Written for commit b4b6d69. Summary will update on new commits.
Summary by CodeRabbit
New Features
Bug Fixes