← 返回信息流
Agent SkillLINUX DO · AI·2 小时前

Windows使用Claude Code CLI的优化配置指南

原标题:Windows上使用cc cli需要开启的几个功能

速览

本文分享了在Windows环境下使用Claude Code CLI的实战经验与优化方案。针对PowerShell渲染差和中文乱码问题,建议更换Windows Terminal并启用系统UTF-8支持。同时,通过修改settings.json禁用Git Bash强制调用,优先使用PowerShell,并配置Hook实现任务完成时的Windows 11桌面通知,提升开发体验。

AI 深度解读

背景

随着 AI Agent 技术的快速发展,以 Claude Code 为代表的命令行 AI 编程助手逐渐成为开发者工作流中的重要组成部分。然而,这类工具在设计之初主要面向 Linux 和 Unix 环境,导致其在 Windows 平台上的适配性较差,用户体验存在显著痛点。

许多 Windows 用户在使用 cc cli(即 Claude Code CLI)时,面临着终端渲染异常、编码乱码、路径解析混乱以及缺乏系统级通知机制等问题。这不仅增加了操作门槛,也影响了开发效率。本文基于 LINUX DO 社区的技术分享,深入解析在 Windows 环境下优化 Claude Code 使用体验的关键配置与解决方案,旨在帮助 Windows 用户克服环境差异带来的阻碍,实现更流畅的 AI 辅助开发体验。

核心内容

终端环境的现代化替换

Windows 自带的传统 PowerShell 或 CMD 在渲染复杂输出时存在缺陷,且对现代终端特性支持不足。为解决“渲染狗屎”般的问题,建议放弃系统默认终端,转而使用 Windows Terminal 搭配 PowerShell 7

PowerShell 7 提供了更好的跨平台兼容性、现代化的 UI 渲染引擎以及对 Unicode 的更优支持。这一组合能够显著提升 Claude Code 在 Windows 上的视觉呈现和交互稳定性。

解决系统编码导致的乱码问题

在 Windows 环境下执行 PowerShell 命令时,常出现中文乱码现象。其根本原因通常在于系统区域设置仍沿用旧的 GB2312 编码标准,而非国际通用的 UTF-8

解决步骤如下:

  1. 进入 Windows 区域 设置。
  2. 导航至 管理 -> 区域设置
  3. 启用“Beta: 使用 Unicode UTF-8 提供全球语言支持”选项。
  4. 重启计算机使配置生效。

尽管开启 UTF-8 可能导致部分老旧软件兼容性下降,但在当前开发环境下,这是解决编码冲突的必要手段,建议淘汰不再维护的旧软件。

强制优先使用 PowerShell 而非 Git Bash

Claude Code 有时会自动调用 Git Bash 执行临时文件操作,这会导致路径解析混乱(如尝试访问 Linux 下的 /tmp 目录,或在 Windows 下使用 /C//D/ 等混合路径),造成文件查找困难。

通过在用户配置文件 C:\Users\用户\.claude\settings.json 中添加环境变量配置,可以强制 Claude Code 优先使用 PowerShell:

{
  "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"
  }
}

设置 CLAUDE_CODE_USE_POWERSHELL_TOOL1 后,重启 Claude Code 即可确保其始终在 PowerShell 环境中运行,避免跨平台路径解析错误。

集成 Windows 11 原生通知系统

从 Codex App 迁移至 Claude Code 的用户可能会发现,任务完成或需要权限审批时缺乏系统级通知,导致用户需频繁检查终端状态。

通过配置 Hooks(钩子)并调用 PowerShell 模块 BurntToast,可以实现 Windows 11 的原生桌面通知。具体配置如下:

  1. 安装 PowerShell 模块 BurntToast
  2. settings.json 中配置 hooks,监听 permission_prompt(权限请求)和 Stop(任务完成)事件。

示例配置:

{
  "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'\""
          }
        ]
      }
    ]
  }
}

该配置利用 pwsh.exe 调用 New-BurntToastNotification,在需要审批或任务结束时弹出 Windows 原生通知,并支持自定义应用图标,极大提升了后台运行的便利性。

关键要点

  • 终端升级:弃用 Windows 自带终端,采用 Windows Terminal + PowerShell 7 组合以获得最佳渲染效果和兼容性。
  • 编码统一:在系统区域设置中启用 UTF-8 支持,解决 PowerShell 执行时的中文乱码问题,并重启生效。
  • 路径隔离:通过设置环境变量 CLAUDE_CODE_USE_POWERSHELL_TOOL: "1",强制 Claude Code 使用 PowerShell,避免与 Git Bash 的路径解析冲突。
  • 通知集成:利用 settings.json 中的 hooks 机制,结合 BurntToast PowerShell 模块,实现 Windows 11 的原生桌面通知,覆盖权限请求和任务完成场景。
  • 配置位置:所有相关配置均位于用户目录下的 C:\Users\用户\.claude\settings.json 文件中。

意义与影响

这篇分享揭示了当前 AI 编程工具在跨平台适配上的普遍短板。尽管 AI Agent 的设计哲学倾向于 Unix-like 环境,但 Windows 拥有庞大的开发者基数。通过社区驱动的配置优化,Windows 用户完全可以弥补原生支持的不足。

这些配置不仅解决了具体的技术痛点(如乱码、路径错误、缺乏通知),更代表了一种“本地化适配”的工程思维。它表明,即使工具本身未原生支持某一平台,通过深入理解其配置机制(如环境变量、Hooks),用户仍能构建出高效、流畅的开发工作流。这对于推动 AI 辅助编程工具在 Windows 生态中的普及具有重要意义,也为其他类似工具在 Windows 上的优化提供了参考范式。

查看原文 →linux.do