帖子

  • ExplorerQvQ

    如题,但也不如题。我只是想让ai编辑下一我的工作区…经历了:

    图片

    图片

    图片

    图片

    图片

    图片

    图片

    图片

    真的是每天至少看到三五次「apply_patch」失败+「改用powershell修改」+「powershell语法错误」…windows用户真的是犯了天条吗?????

    至于为什么不用WSL,可以暂时理解成当前项目迁移难度巨大吧,不妨假定有500G重要项目文件只能存在E盘但是WSL默认已经装在C盘跨盘读写I/O开销大,切换风险高收益低。不作为本帖子讨论的核心话题。

    主楼
  • susiddhi

    已经准备找一个老的台式机安装kubuntu试试了。现在也是在wsl2中每天纠结

    #1
  • Herielx

    可以用git bash

    或者配置好pw的使用引导词

    不用引导词参考其他佬的方法也可以

    写在前面
    中文圈里很多 Windows 用户解决 Claude Code 的 pwsh 适配问题,是在 CLAUDE.md 或全局 prompt 里塞约束 —— “请用 pwsh 不要用 cmd”、“输出 UTF-8”、“不要用反引号转义”。这套办法能用,但是 prompt 层的 workaround:每次启动消耗 token、模型还会忘、对长命令仍然抗不住引号嵌套。
    其实 Anthropic …

    #2
  • YAiOra

    是Codex吗 我用的好像也有这种问题 GPT像是和Powershell相性不好一样(

    不过可以试试看Linux双系统 这个性能好像比wsl好一点

    #3
  • kkkqkx

    现在cc好像已经是默认git bash了,主要是codex还没跟进

    #4
  • JXMs

    还是装wsl吧,我一直用wsl,比较舒服的

    #5
  • ExplorerQvQ

    是Codex吗 我用的好像也有这种问题 GPT像是和Powershell相性不好一样(

    是的。

    不过可以试试看Linux双系统 这个性能好像比wsl好一点

    对我目前的电脑来说,不敢,也不太想…一会周一直接不用上班了 ^-^

    #6
  • ExplorerQvQ

    可以用git bash

    你这么说我倒想起来一个,据说omp自带bash,遇到这种情况的几率低很多…

    github.com

    图片

    GitHub - can1357/oh-my-pi: ⌥ AI Coding agent for the terminal —...

    ⌥ AI Coding agent for the terminal — hash-anchored edits, optimized tool harness, LSP, Python, browser, subagents, and more

    #7
  • Herielx

    对pwsh是没招了,没调之前每次能打好几轮对话才开始工作

    #8
  • ExplorerQvQ

    一个大前提是目前不合适…

    至于为什么不用WSL,可以暂时理解成当前项目迁移难度巨大吧,不妨假定有500G重要项目文件只能存在E盘但是WSL默认已经装在C盘跨盘读写I/O开销大,切换风险高收益低。不作为本帖子讨论的核心话题。

    我真的担心哪里迁移不当,给我整个电脑搞坏了,周一直接被离职 ^-^

    #9
  • Herielx

    那佬可以先配置个引导词将就着用吧,毕竟这样基本不影响

    #10
  • randname

    wsl2 的磁盘镜像其实是可以无损且几乎无成本的转移到不同盘上的,以及 claude code 默认用 git bash,除了没沙箱用起来差别不大

    说起来不知道你是用啥编辑器,如果是 idea 的话,配一个 mcp 的话可以让 codex 用 mcp 搜索代码,这样即使是在 wsl 里面跨系统搜索文件速度也很快

    #11
  • ExplorerQvQ

    wsl2 的磁盘镜像其实是可以无损且几乎无成本的转移到不同盘上的

    有无链接,我观摩一下 ^-^

    以及 claude code 默认用 git bash

    我有看到在这里claudecode有一些操作:

    CLAUDE_CODE_USE_POWERSHELL_TOOL=1 是什么

    PowerShell 工具预览。开启后启动 Claude Code,终端 footer 会出现 Anthropic 的内置提示,说明这是它们的官方预览功能,不是社区魔改。

    实际变化:

    维度 |
    默认(关) |
    开启后 |

    调用方式 |
    pwsh -c "..." 包装 |
    原生 pwsh 命令直接调用 |

    中文输出 |
    经常乱码(CP936 默认) |
    原生 UTF-8(pwsh 7) |

    引号嵌套 |
    多层转义地狱 |
    大幅减少 |

    长命令 |
    字符串拼接易出错 |
    直接写脚本块 |

    前提是装了 pwsh 7+(不是系统自带的 Windows PowerShell 5.1):

    winget install Microsoft.PowerShell
    ```>
    收益最明显的场景
    
    **1. 中文项目**
    
    文件名带中文 + 内容带中文,默认包装层会把 UTF-8 转成 GBK 再转回来,乱码概率极高。开了之后稳定 UTF-8,再也不用看到 `鏂囦欢` 这种东西。
    
    **2. 带管道和脚本块的命令**
    
    跑这类命令:

    Get-ChildItem -Recurse | Where-Object { $_.Length -gt 1MB } | Select-Object Name, Length
    ```>
    默认模式下 Claude 会反复试错引号 —— 先用单引号、报错、换双引号、再报错、最后加转义。开了 PowerShell tool 之后一次过,因为它直接把这段当成 pwsh 脚本块送进去,不再经过 shell 字符串拼接。

    3. 多行操作

    if/else、foreach、try/catch 这类多行结构,默认模式基本写不出来,开了之后 Claude 直接生成原生 pwsh 脚本块。

    怎么开

    放在 ~/.claude/settings.json:

    {
    "env": {
    "CLAUDE_CODE_USE_POWERSHELL_TOOL": "1"
    }
    }
    ```>
    或者临时试一下,pwsh 里直接:

    $env:CLAUDE_CODE_USE_POWERSHELL_TOOL=1
    claude
    ```>
    启动后看终端 footer,如果有 PowerShell tool 相关提示就是生效了。


    Windows + pwsh 7 用户加这一行收益就到手了,没什么折腾成本。如果你挖到过其他真正有用的 CLAUDE_CODE_* flag,欢迎在评论里贴出来。

    但是codex并没有…

    说起来不知道你是用啥编辑器

    vscode

    #12
  • JXMs

    不是跨盘IO开销大,是跨文件系统,你不行试试在E盘开一块区域配置一下ext4,或者干脆申请一笔资金买块新盘,然后配文件系统,再复制过去

    这属于选长痛还是短痛的问题

    #13
  • 方勾勾

    我让codex自己改配置解决的这个问题,让他去搜索了一下解决方案什么的。记得当时改完重启好像就正常了

    #14
  • ExplorerQvQ

    这属于选长痛还是短痛的问题

    从个人风险考量的角度,我会更考虑等这阵子任务过去了换个mac ^-^

    有些东西少动还是好的

    #15
  • あ

    买台MacBook,你让你的agents折腾一下这个问题呗,不然就是wsl或者git bash吧,其他好像就没什么比较好的办法了吧

    #16
  • zuowuxiuer

    给指令的时候加一句提示词,或者让AI自己总结这个过程写到规则里面去

    #17
  • blaumeer

    装pwsh 7,然后Agent.md里写入检查并强制使用pwsh 7的提示词,能解决90%的问题

    #18
  • ExplorerQvQ

    哦我正在用的就是pwsh7,而且我的全局 Agents.md 已经是:

    图片

    可惜,我还是遇到了上面截图的那么些问题 ^-^

    #19

发表回复

登录后回复