コンテンツにスキップ

【VSCode】SSH で zsh が見つからずエラーが出る時の対処法

VSCode のターミナルと Remote-SSH 拡張を使ってリモートサーバに接続しようとした時に、zsh が見つからずエラーが出る場合の対処法を備忘録として残しておく。

状況

  • Homebrew で zsh をインストールしていたが、Homebrew を辞めて Devbox でインストールした zsh を使うようになった
  • VSCode のターミナルから ssh コマンドを実行した時と Remote-SSH 拡張を使ってリモートサーバに接続しようとした時にエラーが出る
    • 実行すると homebrew の zsh path が見つからないというエラーが出る
  • Mac のターミナルから ssh コマンドを実行すると問題なく接続できた
  • VSCode のターミナルで$SHELL を確認すると homebrew の zsh path が設定されている
  • ~/.zshrc に$SHELL を上書きする設定をしても解決しない

解決法

VSCode の設定で変数設定を上書きすることで解決した。 settings.json に次の設定を追加する。

1
2
3
  "terminal.integrated.env.osx": {
    "SHELL": "<path to zsh>"
  }

追記

上記の方法で解決できたと思ったが、再発した。関連する issueが 2019 年に開かれており、2024 年末現在も解決されていない。エラー内容が brew の zsh path が見つからないというものであるため、brew で zsh をインストールして問題を解決した。