authorgravatar for soorria.ss@gmail.comSoorria Saruva <soorria.ss@gmail.com> 2026-06-19 13:45:04+08:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-06-18 22:45:04-07:00
log804d44cfb153d264e4abc9adb9c958dd6720cfa5
treedc6ff29c31f4a2e30c06d17b4050b0d49a435c09
parent0651af92b88728785a39bd16e8d411ad741b681f
signature Signed by PGP key B5690EEEBB952194

fix(ssh): fix support for remotes that use fnm (#2641)

Co-authored-by: Cursor <cursoragent@cursor.com>

2 files changed, 5 insertions(+), 2 deletions(-)

packages/ssh/src/tunnel.test.ts+3-1
......@@ -105,7 +105,9 @@ describe("ssh tunnel scripts", () => {
105105 assert.include(script, 'prepend_path_if_dir "$VOLTA_HOME/bin"');
106106 assert.include(script, 'prepend_path_if_dir "$HOME/.asdf/shims"');
107107 assert.include(script, 'prepend_path_if_dir "$HOME/.local/share/mise/shims"');
108 assert.include(script, 'eval "$(fnm env --use-on-cd --shell sh)"');
108 assert.include(script, 'eval "$(fnm env --shell bash)"');
109 assert.include(script, "fnm use --silent-if-unchanged");
110 assert.include(script, "fnm use default");
109111 assert.include(script, 'prepend_path_if_dir "$HOME/.nodenv/shims"');
110112 assert.include(script, 'NVM_DIR="$HOME/.nvm"');
111113 assert.include(script, "nvm use --silent default");
packages/ssh/src/tunnel.ts+2-1
......@@ -398,7 +398,8 @@ ensure_remote_node_path() {
398398 prepend_path_if_dir "$FNM_DIR"
399399 prepend_path_if_dir "$HOME/.fnm"
400400 if ! command -v node >/dev/null 2>&1 && command -v fnm >/dev/null 2>&1; then
401 eval "$(fnm env --use-on-cd --shell sh)" >/dev/null 2>&1 || eval "$(fnm env --shell sh)" >/dev/null 2>&1 || true
401 eval "$(fnm env --shell bash)" >/dev/null 2>&1 || true
402 fnm use --silent-if-unchanged >/dev/null 2>&1 || fnm use default >/dev/null 2>&1 || true
402403 fi
403404
404405 prepend_path_if_dir "$HOME/.nodenv/bin"