最近我把主力开发机从 macOS 换到 Windows 11第一件事就是把 Claude Code 装起来。这工具是 Anthropic 官方的命令行编程助手直接在终端里跑 Claude能读项目文件、改代码、执行终端命令甚至能帮你完成 Git 提交。之前我在 Mac 上用得挺顺手以为 Windows 上也就是一条 npm 命令的事结果发现真没这么省心Node.js 版本、PowerShell 执行策略、管理员终端权限、PATH 环境变量一个接一个地往外冒。这篇文章把我从零开始装到正常能用、再到接入本地模型和第三方模型的完整过程都整理出来包括我踩过的坑和真实解决方案给同样在 Windows 上折腾 Claude Code 的朋友一个可以直接照做的参考。1. Claude Code 到底是个什么东西1.1 一句话解释它和网页版 Claude 的区别Claude Code 本质上是一个跑在终端里的 AI 编程 Agent核心模型仍然是 Claude但使用方式和网页版有本质区别。网页版你只能一句一句问然后手动把答案粘回编辑器Claude Code 则拥有对当前项目目录的实际操作权限你可以让它读取某个源码文件、分析报错日志、批量修改代码、执行测试命令甚至直接帮你做git add、git commit。它不是问答机器人更像是一个坐在终端里、能真正动手干活的实习生。在 Windows 上安装 Claude Code 并不需要 Docker也不需要先装 WSL 虚拟子系统。它只需要 Node.js 环境就能跑这比很多开发工具都轻量。你装好之后打开 PowerShell、Windows Terminal 或者 VS Code 内置终端敲一个claude就能进入交互式会话。所有对话、文件修改记录、代码操作都会保留在你的项目目录或全局配置目录里随时可以回看。1.2 适合谁用如果你每天要在终端里跑大量命令、频繁改代码、处理日志文件Claude Code 可以说是刚需工具。前端开发、后端工程师、运维脚本党、CTF 学生、数据处理人员基本都能找到对应的使用场景。它特别擅长三件事读项目结构你可以让它先扫描整个仓库告诉你哪些文件互相依赖、哪段逻辑有问题。批量改动比如把项目里所有require改成import这种机械又容易漏的活儿它做得比人稳。执行与反馈循环让它跑一条命令看报错再改代码再跑来回迭代这正好是 Claude 模型的强项。如果你只是偶尔用 AI 写几句话那网页版完全够用没必要装 Claude Code但如果你是在真实项目里干活想在 IDE 和终端之间无缝调用 Claude 的完整能力那它值得你花十分钟装好。2. 安装前的环境准备2.1 Node.js 是必需品版本不能太老Claude Code 官方包是发布在 npm 仓库里的所以在 Windows 上安装的第一前提就是 Node.js。很多新手在这步就踩坑电脑上装了 Node但版本是 12 或 14运行claude命令时直接报语法错误或者装到一半就中断。Claude Code 需要 Node.js 18 及以上版本我个人建议直接上 20 LTS 或者 22 LTS稳定且兼容性好。打开 PowerShell输入下面两条命令查看当前版本node -v npm -v如果node -v报无法识别或者版本低于 18去 Node.js 官网下载 LTS 版本安装包一路下一步即可。安装完成后重新打开一个终端窗口再验证一次。这里有个 Windows 特有的坑安装 Node 之后如果旧终端没有关闭环境变量不会自动刷新导致你输入node -v仍然报错。所以装完 Node 必须新开终端窗口这点很重要。2.2 Git 装不装建议装Claude Code 本身不强制依赖 Git但它有两个功能需要 Git 配合一个是代码修改后的自动 diff 展示另一个是帮你执行git commit或git push类操作。如果你不装 Git项目里的版本管理功能就废了只能当纯文本生成器用。Windows 上安装 Git 很简单直接去官网下载标准安装包安装时保持默认选项即可。装完同样要重新打开终端。验证方式git --version能输出版本号就说明 Git 环境正常。我个人习惯把 Git 也装上 Git Bash因为部分 Linux 风格命令在 Git Bash 里行为更接近我熟悉的环境但 Claude Code 的主场景是 PowerShell所以 Git Bash 只是备用。2.3 Windows Terminal 和 PowerShell 的搭配虽然 Claude Code 能在 cmd 和 PowerShell 里跑但我强烈建议你装 Windows Terminal。它是微软官方出品的终端聚合工具对中文显示、颜色主题、自动换行、多标签的支持都比老旧的 conhost 窗口好太多。Claude Code 是交互式命令行工具聊天记录一多旧 cmd 窗口滚动起来简直折磨人Windows Terminal 可以自定义字体、定义多个 profile还支持 PowerShell 和 Git Bash 切换。如果你还在用 Windows 自带的 PowerShell 5.1也建议升级到 PowerShell 7。PowerShell 7 对 UTF-8 编码、外部命令管道、自动补全的处理都更现代Claude Code 在输出中文时不容易出现乱码。安装方式很简单winget install Microsoft.PowerShell装完之后记得在 Windows Terminal 的 profile 里把默认 shell 改成 PowerShell 7后面所有操作都会顺手很多。3. 完整安装流程CLI 和官方脚本两条路线3.1 通过 npm 全局安装最常用路线确认 Node 环境没问题后直接在 PowerShell 里执行npm install -g anthropic-ai/claude-code-g表示全局安装这样claude命令会在整个系统范围内可用。npm 安装包时会有一些网络同步时间耐心等它跑完看到类似added X packages in Ys的输出就说明成功。安装完成后先别急着用验证一下claude --version如果你看到版本号输出比如1.0.x说明命令已经被正确识别。如果提示claude不是内部或外部命令基本是 PATH 没配置好这个问题我在后面的报错排查章节里会详细写解决办法。3.2 官方原生安装脚本路线除了 npmAnthropic 官方也提供了 Windows 安装脚本。这条路线的优点是不需要手动处理全局 PATH脚本会自动把 Claude Code 放进当前用户目录并配置好环境变量。在 PowerShell 里执行irm https://claude.ai/install.ps1 | iexirm是Invoke-RestMethod的简写iex是Invoke-Expression意思就是下载远程脚本并执行。脚本会自动检测 Node.js 是否就绪然后安装到用户目录下的隐藏文件夹里。我试过这两条路线实际体验是npm路线对开发者的环境更透明卸载和升级都靠 npm 管理适合本来就在用 Node 做开发的人官方脚本路线更省心但后续如果你想把 Claude Code 从全局环境里清干净要手动找它装到哪个目录去删。我的建议是既然本身就是开发者用npm install -g是最可控的。3.3 安装后的验证和升级安装完 Claude Code 之后可以检查安装目录和配置文件是否正常生成。配置文件默认存放在用户主目录下的.claude文件夹里ls $env:USERPROFILE\.claude如果能看到目录结构说明已经初始化了一部分配置。未来升级版本很简单重跑一次 install 命令即可npm update -g anthropic-ai/claude-code或者直接再执行一次全局安装npm 会检测到更新并覆盖旧版本。4. 登录与初始化配置4.1 第一次运行 claude会发生什么安装完成后在终端输入claude首次运行会看到一段欢迎文本和登录提示。Claude Code 的认证方式是在浏览器里完成终端会显示一个登录页面链接或者二维码你需要在默认浏览器里打开并登录你的 Claude 账号然后终端自动进入可用状态。如果浏览器没有自动打开可以用终端里显示的完整链接手动复制到浏览器地址栏。登录完成后回到终端通常会出现类似Login successful的提示接着就可以直接开始对话。网络不通或者浏览器异常关闭都会导致登录失败此时重新运行claude再试一次即可。登录成功后所有认证信息会存在~/.claude目录中下次运行claude不需要再次登录除非你主动退出或清除本地配置。4.2 订阅方案与账号权限的说明Claude Code 使用时会校验当前账号的 Claude 订阅权限。如果你用的是免费账号、Pro 账号或者 Max 订阅它在 Claude Code 里能用的额度和功能会有差别这是 Anthropic 官方的订阅策略本地安装没法绕过。如果你的公司或组织账号收到类似 your organization has disabled Claude subscription access for Claude Code 的提示那不是电脑环境的问题是组织管理员在后台关掉了这项能力你需要联系管理员开通或者换成个人订阅账号登录。我不建议去找任何破解订阅、盗用激活码的办法一方面违反服务条款另一方面这类破解工具本身在 Windows 上就是木马的高发区为省几块钱把开发机搞成肉鸡完全不划算。正规订阅按需购买即可CLI 工具本身安装不花钱订阅只是买模型额度。5. 和 VS Code 深度配合使用5.1 直接在 VS Code 集成终端里跑Claude Code 最舒服的使用方式就是在 VS Code 内置终端里直接运行claude。打开 VS Code按快捷键打开终端面板输入claude它就会像一个普通终端程序一样出现在面板里。因为 VS Code 终端继承了当前项目的工作目录Claude Code 默认就能看到你打开的这个项目文件夹不需要手动 cd。在终端里跑 Claude Code 的好处是AI 改代码时会直接在终端中输出 diff你既能看清改动内容又不想采纳时按n直接跳过改动完全可控。VS Code 内置终端对claude的颜色高亮和交互键支持也很正常这是社区里最主流的用法之一。5.2 安装 Claude Code 官方扩展如果你更习惯 GUI 操作可以在 VS Code 扩展市场里搜索 Claude Code安装 Anthropic 官方扩展。安装后左侧会出现专门的 Claude Code 面板可以新建会话、查看历史会话、把当前打开的文件直接作为上下文发给 Claude。扩展本质上还是调用本地安装的 CLI 程序所以安装扩展之前你仍然要先把claude命令装好。扩展装完如果提示找不到 claude 命令多半是因为 VS Code 没有继承你登录用户的环境变量。解决方法是完全退出 VS Code然后重新从开始菜单或桌面图标启动让它重新读取系统 PATH。5.3 配置技巧让 Claude 更好地理解你的项目Claude Code 默认会读取项目目录里的CLAUDE.md文件作为长期记忆。你可以在项目根目录创建一个CLAUDE.md写清楚这个项目的语言、框架、启动命令、常见目录结构、代码风格要求。Claude Code 在每次对话时都会自动读取这份文件相当于给它一份团队新人手册回答质量和准确性会明显提升。另外你可以在 VS Code 设置里给 Claude Code 指定最大 token 或会话处理方式。日常开发中我建议把上下文尽量控制在当前项目范围内不要让它无限制地扫描全盘文件否则既费额度又容易因为信息太多产生误判。6. 常见报错与排查实录6.1 在管理员终端启动时报 daemon 错误高频我在 Windows 11 上遇到的第一道坎就是这条报错error: start the windows daemon from a non-elevated terminal; shared clients...这个报错的核心原因很明确Claude Code 更新后的 Windows daemon 增加了安全保护不允许从提升权限的管理员终端启动因为 daemon 会作为共享客户端连接被多个会话使用如果从 admin 终端启动可能会造成本地权限泄漏。也就是说你不需要管理员权限来运行这个工具反而要避免用管理员权限运行它。解决办法不是关防火墙也不是重装而是把当前 PowerShell 窗口关掉重新从开始菜单打开一个普通权限的终端再运行claude。如果你平时习惯右键以管理员身份运行 PowerShell这里请改掉这个习惯。开发目录如果有写入权限问题优先修复目录权限而不是给终端一直开管理员模式。6.2 PowerShell 执行策略禁止运行脚本Windows 默认对 PowerShell 脚本执行有严苛限制如果你安装时用了官方脚本或者后来要跑一些辅助脚本会看到类似因为在此系统上禁止运行脚本的提示。这其实是 Windows 的安全机制不是 Claude Code 的问题。解决方法是把当前用户的执行策略改成RemoteSigned意思是本地创建的脚本可以直接运行从网络下载的脚本需要有签名Set-ExecutionPolicy -Scope CurrentUser RemoteSigned执行后输入Y确认。这个设置在用户级别生效不会影响系统管理员的安全策略。改完之后再运行claude --version试试。6.3 明明装了 Node却提示 claude 不是内部或外部命令npm 全局安装包默认会把可执行程序放到 npm 的全局 bin 目录里也就是npm prefix -g显示的那个路径。如果这个路径没有被加进系统 PATH那么新开的终端就找不到claude命令。排查流程很直接npm prefix -g比如输出可能是C:\Users\你的用户名\AppData\Roaming\npm。接着检查 PATH 里有没有这个目录$env:PATH -split ; | Select-String npm如果看不到相关路径需要手动把它加进用户 PATH。图形化操作是系统属性 - 环境变量 - 用户变量 - Path - 新建粘贴 npm 的全局目录确定后重新打开终端。这是 Windows 上最常见的 npm 全局命令找不到Claude Code 不是例外。6.4 其他快速排查速查表现象大概率原因快速解法node能跑npm报错npm 版本太旧npm install -g npmlatest登录时浏览器一直转圈环境网络问题非本机故障稍后重试或检查系统网络claude进入会话后中文乱码终端编码非 UTF-8在 Windows Terminal 设置里改为 UTF-8对话过程中光标乱跳终端对 ANSI 转义序列支持不完整使用 Windows Terminal 或 VS Code 终端项目在中文路径下频繁异常部分系统工具对中文路径支持不友好把项目目录改到纯英文路径这里最想提醒的一个细节是如果你的项目文件名或路径里有很长的中文名Claude Code 在读写文件时偶尔会表现出卡死或找不到文件的假象。这不是 Claude Code 本身的问题而是 Node.js 与 Windows 文件系统在一些历史编码场景下的兼容问题。把项目根目录改成英文问题能消掉一大半。7. 进阶玩法让 Claude Code 调用本地模型或第三方 API7.1 用 LM Studio 把请求转到本地模型Claude Code 默认走 Anthropic 官方 API但很多人想在无网环境或隐私敏感的项目里把请求导向本地模型。常见方案是在本机装 LM Studio启动它的本地服务器以后把 Claude Code 的 API 地址改到http://localhost:1234/v1。需要注意Claude Code 原生走的是 Anthropic Messages API 格式而 LM Studio 通常提供 OpenAI 兼容接口两者不能直接互通。实际项目中大家会在中间加一个协议转换层或者用一个社区工具来做 endpoint 切换。Claude Code 本身支持通过ANTHROPIC_BASE_URL环境变量指定自定义 API 地址所以思路是先把环境变量指到本地转换服务再让转换服务把请求格式转给 LM Studio 或其他 OpenAI 兼容模型服务。如果你只是单纯想在 Claude Code 里用 LM Studio 里的一个大模型体验一下效果我建议直接用后面说的 CC Switch它把 endpoint 切换做成了图形化选择省去手写配置文件的时间。7.2 用 CC Switch 接入 DeepSeek、Qwen、GLMCC Switch 是社区里的一个开源小工具专门解决 Claude Code 的 provider 切换问题。它本质上会读取和改写 Claude Code 的配置文件让你在几个预设 provider 之间一键切换比如 DeepSeek、通义千问 Qwen、智谱 GLM以及 Anthropic 官方。使用 CC Switch 之前你需要先去对应平台注册账号并申请 API Key。比如用 DeepSeek就去 DeepSeek 开放平台拿 API Key用 Qwen 或 GLM就去对应厂商的模型服务页面创建 Key。拿到之后在 CC Switch 里新增 provider填写三样东西Provider 名称自己起个名字比如deepseekBase URL各平台提供的接口地址一般是https://api.deepseek.com/v1这类API Key刚才申请的密钥切换之后CC Switch 会重写 Claude Code 的本机配置下次启动claude请求就会发到你配置的第三方模型上。这样你在终端里还是同样的交互方式但背后跑的模型已经换成了别的厂商。使用第三方 API 时有几个常见坑模型名称必须精确填写不同平台的模型 ID 命名风格差异很大用第三方模型时Claude Code 的部分 Agent 能力比如调用官方专属工具链可能不可用这很正常另外某些第三方接口的 token 计算方式跟 Anthropic 不同会导致上下文长度显示不准不用太纠结。网络安全方面API Key 是敏感凭证切勿写进项目的 Git 仓库或者CLAUDE.md里不然一旦仓库外泄就等于把真金白银的额度送人了。7.3 我的日常启动姿势我目前的 Windows 工作流是这样的Windows Terminal 开两个标签页一个跑项目任务一个跑claude。日常用 Anthropic 官方订阅处理复杂代码任务到了大量机械式改动、消耗 token 比较多的时候就用 CC Switch 切到 DeepSeek 或 Qwen 这种成本更低的模型省着点用量。本地有一台带独立显卡的机器也会用 LM Studio 起一些小模型做私有化测试彻底断网也不慌。这套组合非常灵活唯一要注意的是切换 provider 之后最好重新开一个claude会话因为长会话里的模型上下文和工具限制是之前模型留下的混着用容易产生莫名其妙的行为。最后分享一个我个人的小经验在 Windows 上折腾 Claude Code绝大多数问题都不是工具本身的问题而是终端环境的问题。先把 Node.js 装成 LTS、把 Windows Terminal 和 PowerShell 7 配好、养成不用管理员终端的好习惯后面 90% 的报错都不会找上你。装好之后记得创建一个项目级的CLAUDE.md给它写清楚项目背景和命令规范你会发现它从能跑到好用的差距很大程度取决于你喂给它的项目上下文是否到位。这套环境配好之后我大概率不会再回到 Mac 上折腾了。