问题描述:
Windows 下在终端中运行 Claude,如果尝试让它在磁盘中查找文件,很容易因为缺少 cgypath 导致 Claude 进程出错
⎿ Error: Command failed: cygpath -u 'C:\Users\liutao\AppData\Local\Temp'/usr/bin/bash: line 1: cygpath: command not found
运气不好就会 ERROR 然后失去响应了
解决方案:
这个 cgypath 在 windows 下好像没法安装,Claude 又一根筋总爱用它来转换路径,网上有资料建议通过创建一个 shell 脚本来模拟执行,
在Git Bash 创建 /usr/bin/cgypath 文件
#!/bin/bashif [[ "$1" == "-u" ]]; theninput_path="$2"# 转换逻辑:c:\Users\liutao → /c/Users/liutaoecho "$input_path" | sed -E 's#^([a-zA-Z]):\\#/\L\1/#; s#\\#/#g' elif [[ "$1" == "-w" ]]; theninput_path="$2"# 反向转换:/c/Users → C:\Usersecho "$input_path" | sed -E 's#^/([a-z])#\U\1:#' | sed 's#/#\\#g' else# 其他参数,原样返回空(避免报错)echo "" fi
并赋予执行权限
chmod +x /usr/bin/cgypath
最重要的是一定要通过 Git bash 运行 Claude
PS:前文提到的右键菜单快速启动 Claude 的注册表设置,也最好改成
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\ClaudeCode] @="用 Claude Code 打开" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\ClaudeCode\command] @="wt -d \"%1\" \"C:\\Program Files\\Git\\bin\\bash.exe -c claude\""
