settings.json 被重置 - Claude Code
Quick fix
将插件、hooks 等共享字段写入「通用配置」并在切换时勾选写入;接管模式异常时先关闭后切换供应商再开启。
Symptom
Section titled “Symptom”安装插件或者添加一些其他配置之类的会修改 settings.json 内的内容,但是 开启/关闭 代理就会重置该文件,导致所有的自定义变更丢失。cc-switch 的 Claude 代理接管及供应商同步会写入 `settings.json`。部分版本与场景中,写入基底是供应商保存的 `settings_config` 或较早的恢复备份,而不是当前 live 文件,因此 `enabledPlugins`、`hooks`、`permissions`、`statusLine` 等未包含在供应商配置或通用配置中的字段会丢失。已有报告表明,即使代理接管关闭,应用部分 Claude provider 配置时也可能发生整文件覆盖。
维护者说明,请求地址和 API Key 属于供应商独有配置;插件、hooks 等共享配置应通过「通用配置」在供应商间传递。v3.12.2 曾调整代理接管的备份恢复流程以保留自定义字段,但后续 3.19.1 与 3.20.0 的开放报告仍描述了全量覆盖,因此该修复并未覆盖所有写入场景。
编辑 Claude 供应商,在「通用配置」面板点击「从当前供应商提取」,将需要跨供应商保留的插件、hooks、权限和状态栏配置纳入通用配置。
新建或切换 Claude 供应商时,勾选「写入通用配置」(维护者说明该选项默认勾选),以写回共享配置。
如果开启接管模式后恢复了旧配置,先关闭接管模式,切换到其他供应商再切回当前供应商,确认完整配置已写入后重新开启接管模式。
需要直接修改本地 `settings.json` 字段时,先关闭本地代理;代理接管会修改该文件的请求地址、key 和模型映射字段。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 12 个真实 issue
- #445请问下 为什么我开启代理后 本地settings.json里面的配置文件无法变化,无法切换代理商
- #938plugin失效问题
- #989严重 issue 开启代理服务后,claude code 本地 settings.json 被统一替代,固定环境变量不方便添加,目前 ccs 中没有入口,只能手动添加
- #1118.claude/settings.json 在开启/关闭 代理后被重置问题
- #1437【BUG】V3.12在开启本地代理时切换cluade供应商配置文件不会切换
- #1540Claude 接管模式可能会恢复旧的 `~/.claude/settings.json`,导致 `statusLine` 等自定义字段丢失
- #1691settings.json 文件会因为cc switch代理模式重置,导致plugin每次重启都是禁用,因为enabledPlugins 配置没了
- #1827代理打开情况下切换/修改 provider 不会更新 .claude/settings.json
- #2027OpenAI Chat Completions 模式下,开启本地代理后模型映射会被自动清空
- #4274CC Switch overwrites entire settings.json on agent takeover, destroying user plugins/config
- #6901切换供应商时全量覆盖 ~/.claude/settings.json,抹掉第三方工具(如 Orca)写入的 hooks 等字段
- #6902[Bug] Applying a partial Claude provider config destructively overwrites ~/.claude/settings.json even with takeover disabled
- 不开代理,切换模型也会清空吗?
- 有用户报告不开代理切换模型也会清空配置;另有 v3.20.0 报告称代理、接管和故障转移均关闭时,应用部分供应商配置仍会整文件覆盖 live `settings.json`。
- 没有切换 provider,为什么 Claude HUD 插件重启后也会失效?
- 线程中有用户报告,即使不切换 provider,重启后配置仍可能被覆写,导致已安装插件无法识别。
- 把 hooks 这些配置加入通用配置呢?
- 维护者建议将 hooks 等共享配置写入「通用配置」,并在切换供应商时启用「写入通用配置」。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。