🫥

Clineが実行したコマンドの結果がCline自身で読み込めない場合の対処法

2025/02/27に公開

Clineにコマンドを実行させた場合に通常であればVSCode内のshellが立ち上がり、コマンド実行してその結果を元に次のフローに進む。

しかし自分の環境ではコマンドの実行結果をClineが読めないというエラーが出てた(コマンドの実行結果が表示されていないようです。というメッセージがClineから返ってくる。)。

色々調べると下記のTroubleshootingにあるようにVSCodeのshell integrationを有効にしてVSCodeを立ち上げさせるような設定([[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path zsh)")を.zshrcなどに追記すればいいらしい。
https://github.com/cline/cline/wiki/Troubleshooting-‐-Shell-Integration-Unavailable#still-having-trouble

まず自分はこれを試したがダメだった。

原因を調べるとcode --locate-shell-integration-path zshの実行結果がまず空だった。ということでcodeがなんかおかしい気がしたのでwhich codeするとなんと.zshrccodeがエイリアスで直接アプリケーション配下のVSCodeを呼ぶようになっていた...

なのでそのエイリアスを削除し、↓に書いてある通りにcodeコマンドをinstallしたところClineがコマンドの実行結果を読むようになってくれた。
https://code.visualstudio.com/docs/setup/mac#_configure-the-path-with-vs-code

ちなみにcursorの場合は以下。$TERM_PROGRAMvscodeというところがミソ。

[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(cursor --locate-shell-integration-path zsh)"

余談だけどClineがコードの実行結果を読んでくれたかどうかは下記のプロンプトで確認してた。

`tree .`のコマンド実行結果はなんですか?
`python --version`のコマンド実行結果はなんですか?

追記
その後も確率的にコマンド実行結果を読み取ってくれなかったけど.zshrcの下記の設定が悪さをしてたっぽい。プロンプトを2行表示させるために入れてたけどこれだとうまく読み取れないんだな...。多分シェルの表示関係のスタイリングとか弄ってる人は一旦全部コメントアウトして試してみると良いかも。

PROMPT="%(?.%{${fg[green]}%}.%{${fg[red]}%})%n${reset_color}%~
%# "

Discussion