跳转到内容

settings.json 的 env 属性不生效 - Claude Code

Quick fix

Claude Code 仅在启动时读取 settings.json,切换节点后需重启 Claude Code 或手动在终端设置环境变量。

报错原文
After switching providers via cc-switch, the `settings.json` is updated, but Claude Code doesn't reload the `env` config - `/status` still shows the old URL.

这个问题的根本原因是因为 Claude Code 没有热重载 `settings.json` 配置文件的功能,它只有启动时加载一次 `settings.json` 配置文件。因此,通过 cc-switch 更换供应商后,虽然配置文件已更新,但 Claude Code 仍在使用旧的环境变量(如 `ANTHROPIC_MODEL`)。

  1. 重启 Claude Code,使其在启动时重新读取更新后的 `settings.json` 配置文件。

  2. 如果重启后仍未生效,请在终端中手动设置环境变量,然后再启动 Claude Code。

    PowerShell / Terminal
    export ANTHROPIC_MODEL="your-model-name"
  3. 作为替代方案,可以使用维护本地代理的工具(如 clash-for-ai),这样无需每次都修改配置文件即可切换。

ToolClaude Code
Version未知
PlatformsWindowsmacOS

本页汇总自 1 个真实 issue

在 IDE 查看配置文件 setting.json 是正常的,但在 PowerShell 中查看环境变量是空值,为什么?
因为 Claude Code 不会在运行时动态读取 `settings.json` 中的 `env` 字段并注入到当前终端环境中,它只在启动时加载一次。
有没有办法避免每次切换都要重启或手动 export?
可以使用像 clash-for-ai 这样通过维护本地代理来实现切换的工具,从而完美避开修改配置文件带来的热重载问题。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。