🦁

"Shell Integration Unavailable" の原因が Amazon Q CLI かもしれなかった件

に公開

Problem

Cline による VScode 内のコマンド実行が Shell Integration Unavailable で失敗するようになってしまった。 VScode 1.99.2 on macOS です。

Investigation

すでに同様のエラーの記事を見つけていたが、ここで案内されている code --locate-shell-integration-path zsh を実行する方法でも解決せず困ってしまった。

https://zenn.dev/jtechjapan_pub/articles/de02f0f2652366

.zshrc を見ていると Amazon Q CLI が先頭と末尾にそれぞれ zshrc.pre.zshzshrc.post.zsh をロードしており、これは Cline の動作に影響していそうな雰囲気を感じたため、以下のように修正したところエラーが解消しました!

.zshrc.zprofile にて vscode の場合はスキップするようにしています。

# Amazon Q pre block. Keep at the top of this file.
if [[ "$TERM_PROGRAM" != "vscode" ]]; then
  [[ -f "${HOME}/Library/Application Support/amazon-q/shell/zshrc.pre.zsh" ]] && builtin source "${HOME}/Library/Application Support/amazon-q/shell/zshrc.pre.zsh"
fi

...

# Amazon Q post block. Keep at the bottom of this file.
if [[ "$TERM_PROGRAM" != "vscode" ]]; then
  [[ -f "${HOME}/Library/Application Support/amazon-q/shell/zshrc.post.zsh" ]] && builtin source "${HOME}/Library/Application Support/amazon-q/shell/zshrc.post.zsh"
fi

Conlusion

Amazon Q CLI は日本語サポートしたし非常に便利で好きですが、Cline の動作に影響が出るとは思いもしなかったです・・

Discussion