问题
在 Windows 上,设置页的 Claude Code CLI 检测显示已找到本地 claude,但聊天界面发送消息时会报:
Error: Claude Code CLI not found. Install claude (https://www.anthropic.com/claude-code) or pick a different provider.
根因
检测路径和实际聊天调用路径不一致:
- 设置页检测通过
which::which("claude") 找到 npm 安装生成的 shim。
- 聊天发送时后端使用
Command::new("claude") 裸启动。
- Windows 上用户实际能在终端跑通的通常是
claude.cmd / claude.ps1 / 真实的 claude.exe,但 Rust/Tauri 的原生进程启动不会按 PowerShell 的规则解析 claude.ps1,裸 claude 也可能找不到。
因此会出现“检测通过,但实际 spawn 失败”的错位。
期望修复
让设置页检测和聊天发送共用同一套 CLI 路径解析逻辑,并在 Windows 下优先解析 claude.cmd / claude.exe。
相关背景:#86 处理的是 macOS Dock/Finder 启动时 PATH 不完整的问题;本 issue 聚焦 Windows npm shim 解析。
问题
在 Windows 上,设置页的 Claude Code CLI 检测显示已找到本地
claude,但聊天界面发送消息时会报:根因
检测路径和实际聊天调用路径不一致:
which::which("claude")找到 npm 安装生成的 shim。Command::new("claude")裸启动。claude.cmd/claude.ps1/ 真实的claude.exe,但 Rust/Tauri 的原生进程启动不会按 PowerShell 的规则解析claude.ps1,裸claude也可能找不到。因此会出现“检测通过,但实际 spawn 失败”的错位。
期望修复
让设置页检测和聊天发送共用同一套 CLI 路径解析逻辑,并在 Windows 下优先解析
claude.cmd/claude.exe。相关背景:#86 处理的是 macOS Dock/Finder 启动时 PATH 不完整的问题;本 issue 聚焦 Windows npm shim 解析。