ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Windows下Claude Code插件消失?CC Switch无法保留 enabledPlugins 的排查与修复

Windows下Claude Code插件消失?CC Switch无法保留 enabledPlugins 的排查与修复 1. Windows 下 Claude Code 插件消失的真实场景如果你在 Windows 上用 Claude Code同时用 CC Switch 管理模型通道和本地路由大概率会遇到这个让人抓狂的现象插件明明装好了/plugin里也能看到但只要重启一次 CC Switch 的本地路由官方插件就集体消失/plugin列表空空如也。更迷惑的是手动丢进~/.claude/skills的独立 Skill 却一直好好的这就很容易让人误判成插件被删了或者GitHub 又连不上了。我实测下来这个问题的本质不是插件丢失也不是网络问题而是CC Switch 的通用配置里没有持久化enabledPlugins字段。Claude Code 的插件系统分两层一层是装没装由installed_plugins.json和插件缓存目录决定另一层是启没启用由enabledPlugins决定。CC Switch 重启本地路由时会重写 Claude Code 的配置骨架如果它写入的settings.json里没有带上enabledPlugins插件文件还在、安装记录还在但 Claude Code 启动时读不到启用列表就表现为插件消失。这篇内容适合三类人一是 Windows 上用 Claude Code CC Switch 的开发者二是被enabledPlugins覆盖问题坑过、想彻底搞懂配置写入冲突的人三是想把模型通道统一到 TaoToken、又不想每次重启都重装插件的同学。下面我会从settings.json和config.toml骨架入手给出可复制的 CC Switch 配置片段、TaoToken 统一 Key/API 通道接入示例以及重启后的插件校验与回滚步骤。2. 前置准备TaoToken 统一 Key 与 API 通道在动手改配置之前先把模型通道理顺。Claude Code 需要一个ANTHROPIC_BASE_URL和一个ANTHROPIC_AUTH_TOKEN如果你同时用多个模型或想让 CC Switch 统一管理建议把 Key 和 Base URL 都指向 TaoToken 的 API 通道这样 CC Switch 重写配置时只需要维护一套环境变量减少字段冲突的概率。TaoToken 的 API 入口是https://taotoken.net/api官网是https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。你需要先在控制台创建一个 API Key然后把它填到 CC Switch 的通用配置里。这里的关键点是Key 和 Base URL 放在env里enabledPlugins放在顶层两者不要混在一起否则 CC Switch 重写时容易把插件字段一起冲掉。创建 Key 的入口在控制台的 API Keys 页面模型对话可以在模型对话页验证通道是否通长期编码或 Agent 场景可以看 Coding Plan。这几个入口分别是模型对话https://taotoken.net/api配合 Key 直接调用Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteAPI Keyshttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite拿到 Key 之后先别急着改 CC Switch先用一条 curl 确认通道可用避免后面把网络问题和配置问题混在一起排查。curl.exe -X POST https://taotoken.net/api/v1/messages ^ -H Content-Type: application/json ^ -H x-api-key: sk-你的TaoTokenKey ^ -H anthropic-version: 2023-06-01 ^ -d {\model\:\claude-sonnet-4-20250514\,\max_tokens\:64,\messages\:[{\role\:\user\,\content\:\ping\}]}如果返回里有正常的content字段说明 Key 和通道都没问题可以进入下一步配置。3. 可复制配置settings.json 与 config.toml 骨架Claude Code 在 Windows 下的配置主要落在两个位置%USERPROFILE%\.claude\settings.json和 CC Switch 自己的config.toml。CC Switch 重启本地路由时会根据自己的config.toml重新生成或覆盖settings.json这就是enabledPlugins丢失的根源。所以修复思路是在 CC Switch 的通用配置里显式写入enabledPlugins让它每次重写时都带上这个字段。先看 Claude Code 侧的settings.json骨架重点是env和enabledPlugins平级{ env: { ANTHROPIC_AUTH_TOKEN: sk-你的TaoTokenKey, ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_MODEL: claude-sonnet-4-20250514 }, model: sonnet, enabledPlugins: { frontend-designclaude-plugins-official: true, superpowersclaude-plugins-official: true, code-reviewclaude-plugins-official: true, context7claude-plugins-official: true, skill-creatorclaude-plugins-official: true, code-simplifierclaude-plugins-official: true, githubclaude-plugins-official: true } }再看 CC Switch 侧的config.toml骨架。不同版本字段名略有差异但核心是找到通用配置或Claude Code 配置这一段把enabledPlugins作为一段独立的 JSON 片段塞进去。下面是一个可参考的骨架[claude_code] base_url https://taotoken.net/api api_key sk-你的TaoTokenKey model claude-sonnet-4-20250514 [claude_code.settings] enabledPlugins { frontend-designclaude-plugins-official: true, superpowersclaude-plugins-official: true, code-reviewclaude-plugins-official: true, context7claude-plugins-official: true, skill-creatorclaude-plugins-official: true, code-simplifierclaude-plugins-official: true, githubclaude-plugins-official: true } 注意如果你的 CC Switch 版本没有[claude_code.settings]这种嵌套写法就在通用配置的 JSON 编辑框里直接合并enabledPlugins不要覆盖原有的env和model字段。合并的原则是只加不删。改完之后先别重启用 PowerShell 确认一下settings.json里确实写进去了Get-Content $env:USERPROFILE\.claude\settings.json | ConvertFrom-Json | Select-Object -ExpandProperty enabledPlugins如果能看到那七个插件名说明配置已经落盘。4. 验证请求与插件列表校验配置写好后按顺序重启并验证。顺序很重要先重启 CC Switch再重启 Claude Code最后执行/plugin。如果顺序反了Claude Code 可能读到的是旧配置。第一步重启 CC Switch 本地路由然后检查settings.json是否被重写、enabledPlugins是否还在Get-Content $env:USERPROFILE\.claude\settings.json | Select-String enabledPlugins第二步重启 Claude Code在会话里执行/plugin正常情况下frontend-design、superpowers、code-review、context7、skill-creator、code-simplifier、github这些官方插件应该都能列出来。第三步做一次压力验证再次重启 CC Switch 本地路由然后再执行一次/plugin。如果插件列表依然完整说明enabledPlugins已经被正确持久化问题彻底解决。这一步是区分临时生效和真正修复的关键很多人只做一次重启就以为好了结果下次重启又翻车。第四步顺手验证模型通道是否也正常。在 Claude Code 里发一条简单请求或者用前面的 curl 再打一次 TaoToken 的 API确认ANTHROPIC_BASE_URL指向https://taotoken.net/api后请求能正常返回。这样插件和模型两条线都验证过了。5. 本篇常见错排查排查过程中有几个高频误判点我踩过的坑基本都在这。误判一插件文件存在就等于插件被启用。installed_plugins.json和插件缓存目录都存在只能说明插件装过不能说明当前会话启用了。真正的开关是enabledPlugins。检查安装记录用Get-Content $env:USERPROFILE\.claude\plugins\installed_plugins.json误判二/reload-plugins --force能根治。如果底层enabledPlugins没写对reload 只能让当前会话临时恢复重启 CC Switch 后照样丢。根治手段永远是修配置不是反复 reload。误判三看到插件消失就重装。重装会重新走一遍下载和注册但如果 CC Switch 重写配置时还是不带enabledPlugins重装多少次都一样。先查配置再决定要不要重装。误判四把插件缓存复制到~/.claude/skills。官方插件是插件 - Marketplace - Skills三层结构和独立 Skill 的~/.claude/skills/name/SKILL.md不是一套机制。复制过去不会被插件系统识别反而会让目录变乱。独立 Skill 不依赖enabledPlugins所以它一直正常这恰恰是两套机制并存的证据。误判五把网络端口当成 CC Switch 本地路由端口。CC Switch 的全局出站网络配置和本地路由是两个层面。全局出站留空、某些端口没监听都不代表本地路由异常。判断网络是否通直接用git ls-remote测 GitHub 更靠谱git ls-remote https://github.com/anthropics/claude-plugins-official.git HEAD能返回 commit hash 就说明 GitHub 侧没问题可以把排查重心放回配置层。如果排查中需要重新生成 Key 或核对通道去 API Keys 页面接入细节看接入文档想先验证模型通不通用模型对话页最直接。6. 长期编码场景的通道与配置建议如果你不只是偶尔用 Claude Code而是长期拿它做编码或跑 Agent建议把模型通道和插件配置分开管理模型通道统一走 TaoToken 的 APIKey 和 Base URL 只维护一份插件启用列表单独放在enabledPlugins里每次 CC Switch 升级或重装后第一件事就是检查这个字段还在不在。长期编码或 Agent 场景可以看 Coding Plan它更适合高频调用日常接入和排障参考接入文档需要新建或轮换 Key 就去 API Keys。把这几件事固定成习惯后CC Switch 重启导致插件消失的问题基本不会再出现——因为你知道问题从来不在插件本身而在那份被覆盖的配置骨架里。
返回列表