Windows上使用cc cli需要开启的几个功能

Tuso 2026-06-13 23:10 1

我也是最近开始嫖opus和febal才开始用cc cli的,现在还在摸索,现在的AI Agent全是在Linux和unix下设计的,感觉完全没有考虑Windows,用起来太折磨了。


首当其冲的就是 ^-^


powershell 狗屎一样的渲染




直接不要犹豫,换Windows Terminal + powershell 7


详见教程 《 Claude Code 终极版 FAQ 指南 》 ,这里面有教,我就懒得写了


Win自带的蓝绿powershell我早都已经扔了


接着就是 乱码




执行什么powershell 全是乱码,都是中文字乱码,问了一下说是系统是GB2312


要到 区域 (搜索就能出来) —> 管理 —> 区域设置 —> 启用最下面的UTF-8


保存后需要重启才生效,以前说是开启后,有些旧软件会不得行,现在也管不了这么多了,老东西就淘汰掉吧



接下来就是 Claude Code 自带非要执行git bash




BYD这几天整天给我用git bash,每次生成什么临时文件就要跑到Linux下的/tmp,每次找东西就是先跑去找Linux下的目录,然后发现找不到,又思考了一下发现是Windows,又换一种方法,用什么 /C/目录 /D/目录




解决方法


//"C:\Users\用户\.claude\settings.json"

"env": {
"DISABLE_INSTALLATION_CHECKS": "1",
"ENABLE_TOOL_SEARCH": "1",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "0",
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
"CLAUDE_CODE_USE_POWERSHELL_TOOL": "1" //在你的环境变量里加上这条,优先使用powershell
},

关掉重新开Claude,就直接用powershell了,我两次都是在不同的全新目录 运行的



通知提醒




从codex app换到 Claude Code,每次完成或者需要权限都不通知我,搞得我每次都得去看


使用Claude的原生的hook,可以在需要手动操作或完整后使用Windows11通知你


//"C:\Users\用户\.claude\settings.json"
//加上下面的,我使用的是powershell 7写的,而且需要安装一个BurntToast进行推送,具体方法问AI就行
![claude|500x500](upload://ps5uuAixF5gTwbzvUvztEbhQ3bz.png)

"hooks": {
"Notification": [
{
"matcher": "permission_prompt",
"hooks": [
{
"type": "command",
"command": "pwsh.exe -NoProfile -ExecutionPolicy Bypass -Command \"Import-Module BurntToast; New-BurntToastNotification -Text 'Claude Code', 'Claude Code 需要审批' -AppLogo 'C:\\Users\\用户\\.claude\\claude.png'\""
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "pwsh.exe -NoProfile -ExecutionPolicy Bypass -Command \"Import-Module BurntToast; New-BurntToastNotification -Text 'Claude Code', 'Claude Code 已完成' -AppLogo 'C:\\Users\\用户\\.claude\\claude.png'\""
}
]
}
]
},


图片自己保存



最新回复 (7)
  • Tuso 楼主 06-13 23:15
    1

    漏写了一个


    Windows下 换行问题




    这里有解决方法,不知道为啥Windows上变成了Ctrl + enter 才能换行,改完用shift + enter就行了


    https://linux.do/t/topic/1428167

  • Crixs 06-13 23:25
    2

    乱码问题 pwsh7 应该少了,本身就支持 UTF-8,除非运行非 UTF-8 的程序。全局改成 UTF8 如果运行一些旧的程序会碰到编码问题。


    个人特别喜欢用 bash,tmp目录的问题我是加了这个解决的,重定向一下


    "TEMP": "C:/Users/Username/AppData/Local/Temp",
    "TMP": "C:/Users/Username/AppData/Local/Temp",
    "TMPDIR": "C:/Users/Username/AppData/Local/Temp"
  • fimmy 06-13 23:26
    3

    其实cc在windows上使用是直接在powershell中使用好,还是在wsl中使用好?


    还有windows使用utf8编码有遇到什么问题吗,目前只知道解压gbk的zip文件,文件名会乱码。

  • 哈雷彗星 06-13 23:32
    4

    CLAUDE_CODE_USE_POWERSHELL_TOOL



    CLAUDE_CODE_USE_POWERSHELL_TOOL 这个在windows不是已经默认了吗?

  • Tuso 楼主 06-13 23:39
    5

    没有,我的不知道为啥不走,我还是开了一个新目录测试的。



    乱码问题 pwsh7 应该少了,本身就支持 UTF-8,除非运行非 UTF-8 的程序。全局改成 UTF8 如果运行一些旧的程序会碰到编码问题。



    还有他说的这个,我在我的电脑上测试也不行,我的是ltsc win11最新版。必须得在powershell里写明使用utf-8才行,否则在Claude里对话显示的就是乱码,我让Claude自己排查,他是这样说的


    你现在看一下我们显示的是什么编码

    Thought for 7s (ctrl+o to expand)

    ● 我来查一下当前各层的编码设置。这条是纯查询、跟终端环境无关,我直接跑。

    ● Bash(pwsh -NoProfile -Command "
    \$OutputEncoding | Format-List EncodingName, CodePage, WebName;…)
    ⎿ EncodingName : Unicode (UTF-8)
    CodePage : 65001
    WebName : utf-8
    … +14 lines (ctrl+o to expand)

    Thought for 14s (ctrl+o to expand)

    ● 找到根因了。

    问题:编码不匹配。

    ┌───────────────────────────────────────┬─────────────────┐
    │ 层 │ 编码 │
    ├───────────────────────────────────────┼─────────────────┤
    │ $OutputEncoding(PowerShell 内部) │ UTF-8 ✅ │
    ├───────────────────────────────────────┼─────────────────┤
    │ [Console]::OutputEncoding(控制台输出) │ GB2312 (936) ⚠️ │
    ├───────────────────────────────────────┼─────────────────┤
    │ 终端/读取方期望 │ UTF-8 │
    └───────────────────────────────────────┴─────────────────┘
  • 哈雷彗星 06-13 23:40
    6

    CLAUDE_CODE_USE_POWERSHELL_TOOL



    不是我在说 Bash Tool 的类型


    Powershell Tool 是前二三十多个版本就加来 打算替换 Bash 的

    现在已经是首选了吧


    至于乱码我也写过啊

  • Tuso 楼主 06-13 23:48
    7

    你的意思,不就是Claude 现在已经在Windows上默认 powershell运行命令了吗?


    我第一条就是回复你的。我开了一个新目录,用的git bash,Claude是三四天前装的。


    后面回复的是另一个人的,我的意思是,你说powershell这个功能是默认,他也说UTF-8是默认,但在我的电脑上,还是出现了这种问题。


    我也不知道Claude它咋搞的了,反正我是手动修了。


    我在想,也许刚装的时候Claude是有这个配置的,然后我抄了你的 ~/.claude/settings.json 的配置时候直接覆盖掉了?



    3s内报403 你就等 别瞎琢磨哪配错了

    L站都快成Any牌路由器反馈地了
    只要一波动一报错就有人问
    “我不行 你行不行 你咋配的 为啥我不行 看看你配置 我4xx/5xx 我屯屯鼠 我是猪”
    哇脑阔噶痛啊
    某日 某 快问快答 下的系统推荐帖列表 (竟恐怖如斯)
    [image]
    现在!立刻!全方位!排除所有疑问 写一个说明书
    必须傻瓜版 多问一句都叉(我)出去!
    基础要点
    不讲…
* 帖子来源Linux.do
返回