尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

【报错笔记】安装ClaudeCode遇到“因为在此系统上禁止运行脚本”:PowerShell执行策略与TaoToken配置排查

发布时间:2026/9/26 9:52:13

资讯中心
01
ARTICLE

【报错笔记】安装ClaudeCode遇到“因为在此系统上禁止运行脚本”:PowerShell执行策略与TaoToken配置排查

【报错笔记】安装ClaudeCode遇到“因为在此系统上禁止运行脚本”:PowerShell执行策略与TaoToken配置排查
1. 这个报错到底卡在哪一步如果你在 Windows 上装 ClaudeCode命令行里突然蹦出一句「因为在此系统上禁止运行脚本」别急着怀疑自己装错了版本。这个提示的意思是PowerShell 当前的安全策略不允许执行.ps1脚本文件而 ClaudeCode 的安装脚本、启动脚本恰好就是这类文件。它跟网络、跟 Node 版本、跟 npm 源都没关系纯粹是 Windows 自带的一道门禁。我把它类比成小区门禁PowerShell 默认只让你「看」脚本内容不让你「跑」脚本。你双击一个.ps1它拦你你在终端里执行安装命令它照样拦你。报错原文一般长这样无法加载文件 C:\Users\xxx\AppData\Roaming\npm\claude.ps1因为在此系统上禁止运行脚本。 有关详细信息请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_Execution_Policies。 CategoryInfo : SecurityError: (:) []PSSecurityException FullyQualifiedErrorId : UnauthorizedAccess注意关键词claude.ps1——说明 ClaudeCode 其实已经装上了只是启动入口被策略挡住。所以这篇笔记的顺序是先解掉 PowerShell 执行策略这道锁再把 ClaudeCode 的模型通道接到 TaoToken 上最后用一段验证脚本确认「脚本能跑 模型能答」。适合刚在 Windows 上折腾 ClaudeCode、被这句报错劝退的人也适合想统一管理 API Key、不想每个工具各配一份的开发者。整篇的操作都在 PowerShell 里完成不需要额外装什么工具。你只要跟着命令走遇到确认提示输Y就行。2. 先把 TaoToken 的 Key 和通道准备好ClaudeCode 装好之后要能对话得有一个模型服务入口。我这边习惯用 TaoToken 做统一通道一个 Key 管多个模型ClaudeCode、Coding Plan、控制台都走同一套凭证省得每换一个工具就翻一次配置。你需要提前拿到两样东西第一是 API Key。登录 TaoToken 控制台在 API Keys 页面新建一个复制出来形如sk-xxxxxxxx。这个 Key 只显示一次建议先粘到记事本里备用。第二是接入地址。TaoToken 的 API 根地址是https://taotoken.net/api注意这里不带任何查询参数配置里填这个就行。官网入口是https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content注册、看文档、进控制台都从这走。相关页面我列一下方便你按需跳转模型对话体验https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewriteCoding Plan长期编码/Agent 场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewriteAPI Keys 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewriteClaudeCode 专用接入说明https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite注意Key 属于敏感凭证别写进会提交到 Git 的文件里。后面配置我会用环境变量 本地 settings.json 的方式尽量降低泄露风险。3. 可复制的 PowerShell 执行策略修复3.1 先看清当前策略是什么打开 PowerShell普通窗口即可不用管理员先查现状Get-ExecutionPolicy -List输出会列出多个作用域常见的是MachinePolicy、UserPolicy、CurrentUser、LocalMachine。如果CurrentUser或LocalMachine显示Restricted那就是它在拦你。Restricted是 Windows 客户端的默认值意思是「任何脚本都不许跑」。3.2 用 RemoteSigned 放开当前用户推荐只改当前用户作用域不动系统全局影响面最小Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser系统会弹一句确认执行策略更改 执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险…… 是否要更改执行策略? [Y] 是 [A] 全是 [N] 否 [L] 全否 [S] 暂停 [?] 帮助 (默认值为“N”):输入Y回车。RemoteSigned的含义是本地自己写的脚本可以直接跑从网络下载的脚本必须带可信签名。对 ClaudeCode 这种本地安装的.ps1来说正好放行。改完再查一次确认Get-ExecutionPolicy -Scope CurrentUser返回RemoteSigned就对了。3.3 如果还是被拦检查更上层策略有时候你改了CurrentUser但MachinePolicy或UserPolicy是域控下发的Restricted它会覆盖你的设置。再跑一次Get-ExecutionPolicy -List看这两行Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser RemoteSigned LocalMachine Undefined只要MachinePolicy和UserPolicy是Undefined你的CurrentUser就生效。如果它们被设成了Restricted那多半是公司设备管理策略个人机器上一般不会出现。3.4 临时绕过仅当次会话如果你只是想在当前这个终端窗口里跑一次不想改持久策略可以用进程级设置Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process这个设置只对当前 PowerShell 会话有效关掉窗口就恢复。适合临时验证但不建议长期这么干每次开新窗口都得重设。4. ClaudeCode 的 settings.json 与 TaoToken 接入4.1 确认 ClaudeCode 装在哪执行策略放开后先确认 ClaudeCode 的启动脚本位置Get-Command claude正常会返回类似CommandType Name Version Source ----------- ---- ------- ------ Application claude.ps1 0.0.0.0 C:\Users\xxx\AppData\Roaming\npm\claude.ps1看到claude.ps1就说明入口在。如果提示找不到命令说明 npm 全局目录没进 PATH先处理 PATH 再回来。4.2 写 settings.json 骨架ClaudeCode 的配置一般放在用户目录下的.claude文件夹里。先建目录New-Item -ItemType Directory -Force -Path $env:USERPROFILE\.claude然后创建settings.json。你可以用记事本打开编辑路径是C:\Users\你的用户名\.claude\settings.json。骨架如下{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoToken密钥 }, model: claude-sonnet-4-20250514 }这里两个关键字段ANTHROPIC_BASE_URL指向 TaoToken 的 API 根地址ANTHROPIC_API_KEY填你在控制台新建的那个 Key。model按你实际可用的模型名填不确定就先留默认启动后用/model命令查看。注意JSON 里不能有多余逗号最后一项后面不要加,否则解析会报错。这是新手最容易踩的坑。4.3 用环境变量兜底如果你不想把 Key 写进文件也可以在 PowerShell 里设环境变量ClaudeCode 会优先读环境变量$env:ANTHROPIC_BASE_URL https://taotoken.net/api $env:ANTHROPIC_API_KEY sk-你的TaoToken密钥这种方式只对当前会话有效。想持久化就写进用户环境变量[Environment]::SetEnvironmentVariable(ANTHROPIC_BASE_URL, https://taotoken.net/api, User) [Environment]::SetEnvironmentVariable(ANTHROPIC_API_KEY, sk-你的TaoToken密钥, User)设完要重开一个 PowerShell 窗口才生效。5. 验证脚本能跑、模型能答5.1 先验证执行策略真的放行了写一个最小.ps1测试文件确认脚本能执行Set-Content -Path $env:TEMP\test-policy.ps1 -Value Write-Output policy ok $env:TEMP\test-policy.ps1如果输出policy ok说明执行策略这道锁已经解开。如果还报「禁止运行脚本」回到第 3 节检查MachinePolicy和UserPolicy。5.2 再验证 ClaudeCode 能启动claude --version能打印版本号说明claude.ps1已经可以正常执行。接着进入交互模式claude首次启动可能会让你确认一些设置按提示走。进入后输入一句简单的话比如「用一句话说明你是什么模型」看它是否正常回复。5.3 用 curl 单独验证 TaoToken 通道如果 ClaudeCode 里回复异常可以先用 curl 直接打 TaoToken 的接口排除是通道问题还是客户端问题curl.exe https://taotoken.net/api/v1/messages -H x-api-key: sk-你的TaoToken密钥 -H anthropic-version: 2023-06-01 -H content-type: application/json -d {\model\:\claude-sonnet-4-20250514\,\max_tokens\:64,\messages\:[{\role\:\user\,\content\:\ping\}]}注意 Windows 上要用curl.exe而不是curl后者在 PowerShell 里是Invoke-WebRequest的别名参数格式不一样。返回里带content字段就说明通道通了。5.4 成功结果长什么样一切正常时claude交互界面里你发消息它会流式返回内容curl.exe那条命令会返回一段 JSON包含id、model、content等字段。到这一步执行策略和 TaoToken 接入就都验证完了。6. 本篇常见错排查6.1 改了策略还是报禁止运行脚本最常见的原因是改了CurrentUser但MachinePolicy覆盖了它。跑Get-ExecutionPolicy -List逐行看只要MachinePolicy或UserPolicy不是Undefined就以它们为准。个人机器上这两项通常是Undefined如果被设了值多半是设备管理策略需要联系管理员。另一个原因是你在改策略之前就打开了终端改完没重开。PowerShell 会话启动时会缓存策略改完关掉窗口重开一次。6.2 claude 命令找不到Get-Command claude报错说明 npm 全局 bin 目录不在 PATH 里。先查 npm 全局目录npm config get prefix把返回的路径加进用户 PATH$prefix npm config get prefix [Environment]::SetEnvironmentVariable(Path, $env:Path ; $prefix, User)重开终端再试。6.3 settings.json 解析失败JSON 语法错误是高频问题。用 PowerShell 自检一下Get-Content $env:USERPROFILE\.claude\settings.json -Raw | ConvertFrom-Json能正常输出对象就说明语法没问题报错就按提示找多余逗号或缺失引号。另外注意文件编码用 UTF-8别用带 BOM 的格式某些版本会读出错。6.4 模型回复 401 或 403多半是 Key 不对或没生效。先确认环境变量和 settings.json 里的 Key 一致再确认ANTHROPIC_BASE_URL填的是https://taotoken.net/api末尾不要多加/v1或斜杠。如果还不行去控制台重新生成一个 Key 替换试试。6.5 改了环境变量但 ClaudeCode 没读到用户级环境变量要重开终端才生效。如果你是在同一个窗口里设的$env:变量那只对当前会话有效关掉就没了。想确认当前会话读到没有echo $env:ANTHROPIC_BASE_URL echo $env:ANTHROPIC_API_KEY输出为空就说明没设上。如果你后面要长期用 ClaudeCode 做编码或跑 Agent建议直接看 Coding Plan 那套方案Key 和通道统一管理省得每次换工具重配https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite。接入细节和字段说明以官方文档为准https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite。Key 在 API Keys 页面管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。