ターミナル環境を見直していたところ Cursor でコマンド実行されない現象に遭遇したので原因と解決策を遺しておく。
現象
Cursor ターミナルを開くと正常に表示されるが AI エージェントがコマンド実行しようとするとコマンドが実行されず、ハングアップしてしまう現象が発生した。
原因
ターミナルのプロンプトを starship から powerlevel10k に移行したのが原因だった。検証できていないが Zellij も影響している可能性がある。
Cursor の Forum にもこの問題のトピックが立っている。
解決策
Cursor のトピックではいくつか解決方法が示されている。ここでは、現時点で私の環境で上手く動いている設定を記す。
余計な設定が入っている気がする検証できていない。
powerlevel10k が有効になってしまっているのが原因らしいので Cursor の AI エージェントがコマンドを実行するときは powerlevel10k が読み込まれないように zsh の設定ファイルに以下の設定が読み込まれるようにする。
1POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true2if [[ -n $CURSOR_TRACE_ID ]]; then3ZSH_THEME=""4else5ZSH_THEME="powerlevel10k/powerlevel10k"6fi78if [[ -n $CURSOR_TRACE_ID ]]; then9PROMPT='%n@%m:%~%# '10RPROMPT=""11else12[[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh13source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme14fi
Cursor の AI エージェントから実行されているか否かは環境変数の CURSOR_TRACE_ID で判断している。
${pkgs.zsh-powerlevel10k} は Nix で設定を管理しているためパスを pkgs.zsh-powerlevel10k で取得するようにしているが、自身の環境に合わせてパスを変える必要がある。