Skip to content

Claude Code 从官方 Claude 登录切回第三方 API 后,残留的 Claude Code 缓存状态会导致 WebSearch 失败 #2570

@flystar1231

Description

@flystar1231

Self Checks / 自检

CC Switch Version / 版本号

3.14.1

Operating System / 操作系统

Windows

Related App / 涉及应用

Claude Code

Steps to Reproduce / 重现步骤

  1. 在 Claude Code 中登录官方 Anthropic 账号。
  2. 使用 CC Switch 将 Claude Code 切回第三方 API,例如 DeepSeek:
   ```json
   {
     "env": {
       "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
       "ANTHROPIC_MODEL": "deepseek-v4-pro[1m]"
     }
   }
  1. 启动一个新的 Claude Code session。
  2. 确认 /status 显示的是预期的第三方模型和 base URL。
  3. 要求 Claude Code 使用 WebSearch

Expected Behavior / 期望行为

  • 从官方 Claude 登录 切换到第三方 API 后,Claude Code 的运行状态应当与当前选中的 provider 兼容。
  • 如果当前 provider 不支持某些官方第一方工具路径,CC Switch 不应保留会导致 Claude Code 发送不兼容工具请求的官方缓存状态。

Actual Behavior / 实际行为

/status 显示的模型和 base URL 都是正确的第三方 provider,但 WebSearch 失败:

WebSearch returned API Error: 400
deepseek-reasoner does not support this tool_choice

这会造成一种状态:provider 看起来已经切换成功,但 WebSearch 仍然受到旧的官方 Claude Code 缓存状态影响。

Additional Context / 补充信息

CC Switch 正确恢复了 Claude 的 live settings 文件:

~/.claude/settings.json

但在登录过官方 Anthropic 账号后,Claude Code 还会在下面这个状态文件里写入官方缓存字段:

~/.claude.json

观察到会影响该问题的字段包括:

cachedGrowthBookFeatures
cachedExperimentFeatures
closedIssuesLastChecked
claudeAiMcpEverConnected
clientDataCache
additionalModelOptionsCache
additionalModelCostsCache
penguinModeOrgEnabled

手动清理 ~/.claude.json 中这些官方 Claude 缓存字段后问题可以恢复。
单独执行 claude auth logout 在我的测试中不足以解决该问题。

一个可能的修复方向:

  • 在 CC-Switch 切换时,写入 ~/.claude/settings.json 后,检查 env.ANTHROPIC_BASE_URL
  • 如果 base URL host 不是 anthropic.com 或其子域名,则认为当前是第三方 API。
  • 在这种情况下,从 ~/.claude.json 中移除上述官方 Claude 缓存字段。
  • 修改前为 ~/.claude.json 创建备份。
  • 保留无关状态,例如 MCP servers、onboarding flags 等。

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions