
把 Codex 和 Claude Code 都装进 Windows这件事我前后折腾了三天。不是这两个工具本身有多难而是网上教程要么只讲 macOS/Linux要么把 VSCode 接入部分一笔带过真正踩到坑的时候找不到人问。这篇文章把我实际跑通的流程、卡住的问题、以及最后怎么把两个工具一起接进 VSCode 的方法全写出来照着做基本能避开我踩过的那些雷。如果你手头已经有 Node.js 环境整个流程大概二十分钟如果是从零开始多花半小时装环境也算不上折腾。先说明一下我为什么非要留在 Windows 上搞这事。Codex 是 OpenAI 的命令行编程代理它能在终端里读你的仓库、拆解任务、改代码、跑测试像一个会自己动手的结对程序员。Claude Code 是 Anthropic 出的终端编程代理强项是理解长上下文的代码库、跨多个文件做改动、执行复杂重构。两个都是命令行工具但侧重点不同我日常写业务代码时经常两个切换着用互补性很强。1. 为什么我决定在 Windows 上同时跑 Codex 和 Claude Code市面上推荐用这两个工具的人十有八九都让你先装 WSL 或者换 Linux。我不否认 Linux 环境更干净但“在 Windows 上跑不了”这个结论显然不太准确。实际我试下来只要把 Node.js、Git 和终端环境配好Codex 和 Claude Code 在 Windows 原生环境下跑得很稳完全没有必要为了一个命令行工具改变整个开发习惯。1.1 两个工具到底解决什么问题先说 Codex。它的核心价值是“把模糊需求变成具体代码改动”。你可以在项目目录里运行codex 帮我看看这个登录接口为什么返回 401它会先扫描仓库理解相关文件然后给出诊断甚至在确认后直接修改代码。这个体验比在网页聊天框里来回复制粘贴代码片段高效太多因为工具本身有仓库上下文。Claude Code 则是另一个思路。它更像一个可以长时间驻留在项目里的协作者特别擅长处理跨文件的重构和长链路逻辑。比如“把这个模块从 CommonJS 迁移到 ESM并确保所有 import 路径正确”Claude Code 会自己列出要改的文件清单逐个修改最后还会跑测试验证。这种耐心和连贯性是我在纯聊天界面里很难得到的。下面是我个人对两个工具的定位对比对比项CodexClaude Code开发方OpenAIAnthropic安装方式npm 全局安装npm 全局安装核心强项任务拆解、仓库级诊断、快速迭代多文件重构、长上下文理解、复杂问题追踪交互方式终端命令 交互式确认终端命令 交互式确认适合场景日常功能开发、Bug 修复、快速原型架构调整、技术债清理、大范围代码迁移1.2 为什么是 Windows 而不是 WSLWSL 确实解决了 Linux 工具链的问题但很多 Windows 用户的开发环境已经跑在原生系统上比如 Java、.NET、MySQL、Docker Desktop这些服务在 WSL 里反而要额外配置网络和文件系统映射。Codex 和 Claude Code 本质上都是 Node.js 写的命令行工具通过 npm 安装后就是几个.cmd文件和.js脚本Windows 原生环境完全能支持。还有一点是文件路径。Windows 的C:\work\project在 WSL 里变成/mnt/c/work/project如果你要把同一个项目在 Windows 原生终端和 WSL 之间来回切换路径转换很容易出问题。既然如此直接把两个 CLI 工具跑在原生 PowerShell 里反而是最省事的选择。当然如果你的团队已经全面使用 WSL那在 WSL 里安装流程也大同小异只是终端和 PATH 配置稍有不同。2. 安装前的环境准备把地基打牢在动手安装 Codex 和 Claude Code 之前建议先把 Node.js、Git、VSCode 三个基础环境装好。这三个东西缺一个后面都会出现奇怪的报错而排错时间往往比安装时间还长。2.1 Node.js 安装与环境变量验证Codex 和 Claude Code 都依赖 Node.js 运行时所以必须保证系统里有可用的 Node 和 npm。在 Node 官网下载 LTS 版本即可注意选择 Windows Installer.msi而不是源码包。安装过程中有一步会问是否“Add to PATH”务必勾选。这一步很多人没注意导致后面node -v和npm -v都提示找不到命令。安装完以后打开一个新的 PowerShell 窗口运行node -v npm -v能看到版本号就说明环境变量已经生效。看不到版本号的话先检查安装时是否勾选了 PATH然后重启终端再试。还有一个小细节安装路径尽量不要带空格也不要把 Node.js 装到C:\Program Files下虽然通常情况下没问题但有些 npm 全局工具会在路径解析上翻车。如果你是非管理员用户安装时选择“安装在当前用户目录”会更省事这样 npm 全局包的写入权限不会被 Windows 的 UAC 挡住。我最开始用管理员权限装的 Node 和全局包后来发现普通终端里执行codex时偶尔会有权限提示切换成普通用户重装一遍就清静了。2.2 Git 与 VSCode 安装Git 的作用有两个一是 Codex 和 Claude Code 需要用 Git 来理解仓库的改动状态二是在交互式会话中工具可以生成补丁或提交代码。安装 Git 时保持默认选项即可但注意在“Selecting the default editor”那一步如果你已经装了 VSCode就选 Visual Studio Code否则保持 Vim 也行。安装完 Git 后验证一下git --versionVSCode 本身不一定要装但如果你想把 Codex 和 Claude Code 变成 IDE 协作者VSCode 是目前体验最顺的容器。安装 VSCode 时建议在“Select additional tasks”里勾选“添加到 PATH重启后生效”和“在终端中打开”。这样你后面在任何项目目录里输入code .就能直接打开当前文件夹。2.3 账号准备与服务可用性说明Codex 需要 OpenAI 账号Claude Code 需要 Anthropic 账号。这两个服务都需要你的网络环境能正常访问其官网和 API。具体怎么保证网络可用这里我不展开因为这涉及各个地区的网络政策和个人网络环境差异你自己按最稳妥的方式来处理即可。登录认证时通常走浏览器授权所以务必保证系统默认浏览器能正常打开登录页面并且不要关闭防火墙提示。如果你在学校、公司内网或者某些公共服务网络里可能会遇到登录回调被拦截的情况这时候最直接的办法是临时切换到手机热点或者其他可正常访问外网的网络环境。等认证完成后再切回原来的网络token 已经存在本地配置文件里了不需要反复登录。3. 核心实操Codex 和 Claude Code 的安装与配置环境准备好了之后剩下的就是安装 CLI、登录授权、初始化配置这三步。这两个工具的核心命令很相似安装走 npm登录走浏览器初始化走init子命令。3.1 Codex 安装与登录配置打开 PowerShell运行全局安装命令npm install -g openai/codex这一步如果没报错说明 npm 源没有问题。安装完成后新开一个终端窗口运行codex --version能看到版本号说明 Codex 已经进入 PATH。如果没有进入 PATH多半是 npm 全局安装目录没有注册到系统环境变量排查方法我在第五部分详细写。接下来进入一个真实项目目录比如cd D:\workspace\my-api codex initcodex init会在当前目录生成一个配置文件通常是.codex/config.toml里面记录模型选择、权限确认策略等信息。生成完之后登录codex login命令会弹出一个浏览器窗口让你授权 OpenAI 账号。授权成功后终端会显示“Login successful”。这时候你可以直接跑第一条指令试水codex 这个项目的 README 里说的启动命令是什么Codex 会扫描仓库并给出回答。如果它需要读写文件会先提示你确认输入y就继续输入n就跳过。这里有个容易踩的坑Codex 首次运行后会在用户目录生成授权缓存之后不再需要反复登录。但如果你换了电脑或者切换了系统用户就必须重新登录。另外codex init只在当前目录生效如果你在别的项目里需要不同的配置可以再次执行codex init单独设置。3.2 Claude Code 安装与登录配置Claude Code 的安装命令类似npm install -g anthropic-ai/claude-code装完以后同样确认版本claude --version注意命令名是claude不是claude-code。我第一次跑claude-code --version直接提示找不到命令后来才反应过来。接着登录claude login它会让你选择登录方式一般是浏览器授权。登录成功后直接进入项目目录运行claude这时候会进入一个交互式终端界面你可以在里面直接对话比如总结一下这个仓库的模块划分再找出所有 TODO 标记。Claude Code 会把结果列出来并且会询问是否需要执行代码改动。相比 CodexClaude Code 的会话连续性更强你可以在一次会话里连续追问“继续”“改成这样行不行”。用完以后输入/exit退出。Claude Code 会为每个项目生成一个.claude/目录里面存放项目级配置、会话历史和权限记录。如果你不想让这些文件被 Git 跟踪记得在.gitignore里加上.claude/。3.3 配置项的细节模型选择、预算上限与权限确认两个工具默认都用官方模型但在长期实践中我发现有些场景需要调整配置来降低成本和减少确认次数。Codex 的配置文件在.codex/config.tomlClaude Code 的配置文件在.claude/settings.json。这两个文件不是必须手动创建的工具在首次运行时通常会生成默认版本你只需要在里面微调。以 Claude Code 为例一个简单的.claude/settings.json可以这样写{ model: claude-sonnet-4-5, maxTokens: 4096, permissions: { allow: [Read, Glob, Edit, Bash] } }这里model控制使用哪个模型“maxTokens”限制单次生成的 token 数量用于控制成本“permissions”则定义了哪些操作不需要每次都确认。这个文件是项目级别的如果你在其他项目里用同样的配置可以复制过去也可以把它放到用户目录的.claude/下作为全局默认。Codex 的配置类似但它的格式是 TOML。一般我不建议新手一开始就改配置因为默认配置已经足够安全——所有危险操作都会询问确认。等你熟悉了工具的交互节奏之后再放开权限限制会更好。3.4 接入第三方兼容模型与本地模型实践除了官方模型还有不少人关心能不能接 DeepSeek 这类第三方模型或者用本地推理引擎跑。说实话这两个工具在这方面的支持程度不完全一样而且版本迭代很快所以我只讲一个通用思路。Codex 的配置里通常允许你指定自定义 API 端点只要对方服务兼容 OpenAI 的接口格式理论上就可以把请求转发到该服务。具体配置项名称在不同版本里可能叫model_provider也可能叫base_url你需要用codex --help查看当前版本的选项或者查官方文档不要直接照抄网上的过时配置。Claude Code 也有类似机制比如通过设置环境变量ANTHROPIC_BASE_URL把请求指向一个兼容 Anthropic 接口格式的服务。这在连接企业内部网关时很有用。但我要强调一点如果你只是拿本地推理工具来跑务必确认对方服务的接口协议是否兼容。LM Studio、Ollama 这类工具通常提供的是 OpenAI 兼容接口如果想接进 Claude Code需要选对适配层不能直接硬塞。我的建议是日常开发还是用官方模型稳定性最好功能也最完整。第三方模型适合学习自定义模型路由、测试特定能力时使用不适合当作主力。无论用哪种都要注意在配置里隐藏好 API Key不要把密钥提交到 Git 仓库。4. VSCode 接入从“终端工具”升级为“IDE 协作者”Codex 和 Claude Code 本身就是终端工具在 VSCode 里接入的核心思路无非两种一种是把 VSCode 的集成终端当作它们的运行环境另一种是安装官方或第三方扩展把对话界面搬到侧边栏。我个人建议先掌握第一种因为它最通用不会因为扩展版本变动而失灵。4.1 方案 AVSCode 集成终端直接使用在 VSCode 中按快捷键Ctrl ~打开集成终端确认里面能正常输入codex和claude。如果你能做到那么你已经完成了最基本的接入。打开一个项目文件夹在集成终端里运行codex 帮我看看 src 目录下哪个函数没有单元测试或者claude你会发现VSCode 的编辑器和终端可以同时工作工具给出的文件路径可以直接点击跳转报错信息也能通过Ctrl点击定位到对应代码行。这种体验比单独开一个 PowerShell 窗口要好很多。这里有个关键细节VSCode 集成终端默认使用 PowerShell但有些用户电脑上 PowerShell 的执行策略会阻止 npm 全局脚本运行。如果遇到“无法加载文件因为在此系统上禁止运行脚本”的报错解决办法是打开一个管理员权限的 PowerShell执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser然后重启 VSCode。这个设置只影响当前用户的脚本执行策略相对安全也是官方建议的常用缓解方案。4.2 方案 B安装扩展把对话界面搬进侧边栏如果你更喜欢图形界面交互可以在 VSCode 扩展市场里搜索“Codex”和“Claude Code”。Claude Code 官方有 VSCode 扩展安装后在侧边栏会多出一个图标点开就能进入对话界面和终端里的claude会话是同一套机制。Codex 目前也在推进 IDE 集成你可以搜索“Codex OpenAI”看有没有对应扩展。安装扩展以后通常还需要在 VSCode 的“Accounts”或“登录”入口里关联对应的服务账号。这一步其实是在调用你本地的 CLI 登录态所以如果你已经在终端里完成了codex login或claude login扩展一般能自动识别不需要重复登录。如果你用的是第三方兼容模型扩展里可能不直接提供切换入口还是得通过修改配置文件或环境变量来指定端点。扩展只是将终端交互封装成图形界面底层能力并不会改变。4.3 自定义任务与快捷键这一步是效率提升的关键。很多时候你会反复运行同一类指令比如“跑测试”“修复 lint 错误”“整理 import 顺序”每次都手敲命令有点浪费时间。利用 VSCode 的任务系统可以把 Codex 和 Claude Code 的调用封装成快捷键。在项目根目录创建.vscode/tasks.json示例{ version: 2.0.0, tasks: [ { label: Codex: 分析当前仓库, type: shell, command: codex, args: [分析当前仓库结构并列出关键模块], presentation: { reveal: always, panel: dedicated } }, { label: Claude Code: 打开会话, type: shell, command: claude, presentation: { reveal: always, panel: dedicated } } ] }保存后按CtrlShiftP输入“Run Task”就能看到这两个自定义任务。用CtrlShiftB可以绑定到默认构建任务不过我这里建议保留给“运行测试”这类命令更合理。你还可以给代码片段设置右键菜单或快捷键但考虑到 Codex 和 Claude Code 的指令往往带有上下文快捷键不一定比手动输入更灵活。对这个工具来说最核心的接入体验是“编辑器-终端-工具”三者之间的上下文联动这一点 VSCode 已经天然支持了。5. 常见问题与排查技巧实录这部分是我自己实际踩坑的记录。两个工具本身报错不算复杂但 Windows 环境下的路径、权限和网络问题会交叉出现排查思路比单个命令更重要。5.1 “无法将 codex 识别为 cmdlet、函数、脚本文件或可运行程序的名称”这个提示的本质是 npm 全局安装目录没有加入 PATH。安装完 Codex 后先运行npm prefix -g输出的目录就是 npm 全局包所在位置通常是C:\Users\你的用户名\AppData\Roaming\npm也可能是D:\nodejs\npm。把这个目录加到系统环境变量 PATH 中然后完全关掉并重开所有终端窗口。注意VSCode 也要完全重启因为 VSCode 在启动时读取环境变量终端里新加的 PATH 不会自动同步。如果你改完环境变量以后 VSCode 还是认不出来就把窗口全部关掉再打开不要只关终端面板。5.2 npm install 速度慢或报 ETIMEDOUT这通常和网络连接到 npm 官方源不稳定有关。在国内网络环境下最直接的办法是把 npm 源切换为镜像站npm config set registry https://registry.npmmirror.com再重新执行安装命令。装完后如果在意速度可以保持镜像源如果更希望与官方完全一致可以用npm config set registry https://registry.npmjs.org/切回官方源。这只影响 npm 的包下载来源不影响 Codex 和 Claude Code 登录后的模型请求。需要注意的是镜像源偶尔会有同步延迟如果某个包刚发布找不到可以等几分钟再试。5.3 登录时浏览器无法回调或网页打不开codex login和claude login都依赖浏览器进行授权。正常的流程是命令弹出一个本地回环地址的链接浏览器打开后完成登录然后通过回调地址把 token 交还给 CLI。如果浏览器报错“无法连接”或一直转圈先检查系统默认浏览器是否正常、有没有开启严格隐私模式拦截了弹窗。其次公司或学校的网络经常限制本地回环地址的通信这种情况下可以尝试临时切换到手机热点。还有一个办法是查看codex login --help或claude login --help看当前版本是否支持手动输入 token。很多 CLI 工具版本都提供了 fallback 模式允许你把浏览器里的授权码复制回终端。5.4 VSCode 集成终端提示找不到 npm 或 PATH 失效这个问题和 5.1 有点类似但原因可能更隐蔽。VSCode 启动时使用的环境变量可能和你在系统设置里看到的不一样尤其是如果你通过快捷方式而不是从“开始菜单”启动 VSCode继承的环境变量可能没有刷新。处理方法很强力先完全退出 VSCode包括托盘图标再重新打开。如果还不行就在settings.json里手动指定终端环境变量{ terminal.integrated.env.windows: { PATH: C:\\Users\\你的用户名\\AppData\\Roaming\\npm;${env:PATH} } }这个配置展示的是一个思路实际上你把npm prefix -g得到的路径拼进去就行。配置完成后重启 VSCode集成终端里就能正常识别codex和claude命令了。5.5 文件权限不足导致工具无法创建配置文件如果你安装 Node.js 时选择了默认安装在C:\Program Files\nodejs那么 npm 全局包默认写入这个目录普通用户没有写权限安装时会报 EACCES 错误。这个问题在 Windows 上的典型表现是 npm install 显示权限错误或安装完成后工具无法写入缓存。解决办法有两个方向。一个是用管理员权限打开 PowerShell 再执行npm install -g这样全局安装不会有权限问题但同时意味着以后每次升级或卸载都要用管理员权限。另一个更推荐的办法是把 npm 全局目录换到当前用户目录下执行npm config set prefix $env:APPDATA\npm然后重新安装全局包。这样不需要管理员权限所有工具和缓存都集中在用户目录里升级也方便。5.6 工具运行时出现“local proxy failed”类似报错我在实践过程中遇到过几次和本地服务通信相关的报错提示文字里可能有 local、endpoint、responses 之类的词。遇到这类问题先不要急着猜测是网络问题而是检查三件事一是本机是否有安全软件拦截了 CLI 的本地回环端口二是 VSCode 或终端里是否设置了奇怪的全局环境变量三是工具版本是否过旧更新到最新版通常会修复这类本地通信问题。最有效的排查方法是在干净的 PowerShell 窗口里直接运行codex --debug或者查看claude --verbose看工具输出里到底卡在哪一步。如果是防火墙弹窗选择允许即可。如果问题依旧去 GitHub 的 Issue 区搜索完整报错关键字常常能找到已经修复的版本说明。最后分享一点个人经验折腾完这一整套环境之后我最大的体会是这类命令行编程代理的成败不在于安装过程而在于你能不能在日常工作流里坚持用下去。我给自己的规矩是小改动交给 Codex因为它回应快、执行果断大范围重构交给 Claude Code因为它有耐心能维护更长的会话上下文。两个工具共用一套 Git 工作区配合 VSCode 的任务系统基本能做到“描述需求-评审改动-确认提交”一条龙。最后再分享一个小技巧给每个项目都建好.gitignore把.codex/、.claude/和所有本地配置文件都忽略掉。这样你的配置不会污染团队仓库也避免在多台电脑同步时把不同账号的 token 混在一起。工具是很好但工程习惯还是得靠自己守住。