Appearance
Windows 下斜杠命令自动补全失效或崩溃
问题
在 Windows 环境(PowerShell 或 CMD)运行 Gemini CLI 时,输入 / 触发命令自动补全(如 /help、/stats 等斜杠命令)时出现以下异常:
- 补全列表不显示,按 Tab 无反应
- 出现乱码或命令文本错误拼接
- 偶发崩溃,终端报错并退出
根本原因:packages/cli/src/ui/hooks/useCommandAutocomplete.ts 中,在命令片段替换阶段对 Windows 路径分隔符(反斜杠 \)处理有回归 bug,导致子命令匹配逻辑失败。此问题是 Windows 独占,macOS/Linux 不受影响。
解决方案
方案一:升级到最新版本(推荐)
社区贡献者已提交 PR 修复此问题(PR #24040),升级到已合并该 PR 的版本即可解决:
bash
npm install -g @google/gemini-cli@latest
gemini --version # 确认版本已更新方案二:切换到 WSL 环境(临时规避)
如果无法立即升级版本,在 WSL 中运行 Gemini CLI 可绕过该 Windows 路径处理 bug:
bash
wsl
npm install -g @google/gemini-cli # WSL 内独立安装
geminiWSL 使用 Linux 路径处理逻辑,不受此 bug 影响。
方案三:手动输入完整命令(不依赖补全)
在补全失效期间,直接手动输入完整的斜杠命令代替自动补全:
/help
/stats model
/clear不使用 Tab 触发补全,直接回车执行。
参考
社区补充方法
粘贴含 @ 符号的内容时 CLI 崩溃或卡死(Issue #24898)
在输入框中粘贴含 @ 的内容(如邮件地址、@user 引用、git 提交引用等)时,@ 会被解析为文件引用触发符,导致 CLI 崩溃。
解决方法:在 settings.json 中启用粘贴转义:
json
{
"escapePastedAtSymbols": true
}设置后,粘贴时 @ 符号会自动转义为字面量,不再触发文件引用弹窗。