環境
%which claude
/home/hoge/.local/bin/claude
%claude --version
2.1.42 (Claude Code)
結論
とりあえず自分の環境ではwsl側の環境変数USERPROFILEに適当な文字を入れると直った。
つまり
export USERPROFILE=a #または
USERPROFILE=a claude
もしくは
export USERPROFILE=C:/Users/hoge #または
USERPROFILE=C:/Users/hoge claude
が、これだとwindows側の.claude/ideを見ててあまり嬉しくない気がする。
wsl側からpowershell.exeを見えなくするのもありでした。とはいえ不便。
/etc/wsl.conf
#これを追記
[interop]
appendWindowsPath=false
詳細
%strace -f -T -E USERPROFILE claude 2>&1 |rg powershell.exe <<EOF
/exit
EOF
{省略}
[pid 2288] execve("/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/powershell.exe",["powershell.exe","-Command","$env:USERPROFILE"],0x558f12eaffff /* 60 vars*/ <unfinished ...>
わざわざwin側のpowershellを起動しているため遅い模様。
ちなみにこうするとwin側の設定を見に行ってることが分かる。
%strace -f -T -E USERPROFILE=C:/Users/hoge claude 2>&1 |rg Users/hoge <<EOF
/exit
EOF
{省略}
[pid 3319] access("/mnt/c/Users/hoge/.claude/ide", F_OK) = -1 ENOENT (No such file or wdirectory) <0.0004000>
詳細2
一ヶ月前にクローズされてるのにアプデしただけでは直らなかった。どうして、、、