
在使用 Claude CodeAnthropic 推出的命令行 AI 编程助手时不少开发者会遇到这样一段警告信息Both ANTHROPIC_AUTH_TOKEN and ANTHROPIC_API_KEY set · auth may not work as expected · to use ANTHROPIC_AUTH_TOKEN: Unset the ANTHROPIC_API_KEY environment variable, or claude /logout then say No to the API key approval before login. · to use ANTHROPIC_API_KEY: Unset the ANTHROPIC_AUTH_TOKEN environment variable. claude.ai connectors are disabled because ANTHROPIC_API_KEY or another auth source is set and takes precedence over your claude.ai login · Unset it to load your organizations connectors尤其当你像我一样开发了一个本地代理用于灵活切换后端模型比如通过代理将请求转发到 DeepSeek、智谱或其他兼容 API 的模型时这个问题几乎必然出现。为什么会出现冲突Claude Code 支持两种认证方式认证方式环境变量来源适用场景OAuth 订阅登录ANTHROPIC_AUTH_TOKEN执行claude login后自动生成使用 Claude Pro/Max 订阅账号API Key 直连ANTHROPIC_API_KEY手动设置格式sk-ant-...使用官方 API 或第三方代理/中转当你在系统中同时设置了这两个变量时Claude Code 会优先读取ANTHROPIC_AUTH_TOKEN但又检测到ANTHROPIC_API_KEY的存在导致认证逻辑混乱。结果就是认证行为不可预测可能出现奇怪的权限错误依赖订阅账号的功能如组织 Connectors、远程控制、计划任务等被禁用对于使用本地代理的用户来说典型场景是你之前用claude login登录过 Pro 账号 → 留下了ANTHROPIC_AUTH_TOKEN后来为了使用本地代理又设置了ANTHROPIC_API_KEYsk-your-proxy-key两个变量并存 → 冲突爆发解决方案二选一根据你的实际需求选择其中一种方案并彻底清理另一个。方案一使用本地代理 API Key推荐给需要灵活换模型的用户如果你像大多数高级用户一样希望绕过官方限制通过本地代理自由切换模型如 DeepSeek、Qwen、GLM 等那么你应该走API Key 路线。操作步骤# 1. 清除 OAuth 登录凭证 unset ANTHROPIC_AUTH_TOKEN claude /logout # 2. 确认你的 API Key 环境变量已正确设置 echo $ANTHROPIC_API_KEY # 应显示你的代理 key # 3. 重启 Claude Code claude启动时如果出现提示“Detected ANTHROPIC_API_KEY, use it?”选择Yes。如果弹出浏览器登录链接选择 No 跳过。注意事项完成上述操作后connectors disabled的警告仍然会存在。这是正常的——API Key 模式下Claude Code 不会加载 claude.ai 的组织 Connectors。这个警告可以安全忽略不影响代码编辑、对话、文件读写等核心功能。如果你把 API Key 写在了 shell 配置文件如.bashrc、.zshrc、.env中确保不要同时导出ANTHROPIC_AUTH_TOKEN。方案二使用 Claude Pro/Max 订阅 Connectors如果你需要使用组织的 Connectors、远程控制等功能且拥有有效的订阅账号则应走OAuth 订阅路线。操作步骤# 1. 清除 API Key 环境变量当前终端 unset ANTHROPIC_API_KEY # 2. 从 shell 配置文件中永久删除 export ANTHROPIC_API_KEY 的行 # 检查 ~/.zshrc、~/.bashrc、~/.profile、.env、direnv 等 # 3. 清除所有持久化认证 claude /logout # 4. 重新启动 Claude Code执行登录 claude # 按照提示在浏览器中登录你的 claude.ai 账号Pro/Max 订阅 # 5. 验证状态 claude /status # 应显示活跃凭证为 OAuth tokenConnectors 可用重要提醒即使清除了环境变量Claude Code 可能在首次运行时已将 API Key 持久化到内部存储。因此claude /logout这一步必不可少。如果之后又想切回 API Key 模式需要再次执行unset ANTHROPIC_AUTH_TOKEN claude /logout。如何快速判断当前状态运行以下命令一眼看清问题所在printenv | grep ANTHROPIC # 查看当前终端的环境变量 claude /status # 查看 Claude Code 内部认证状态如果看到两个变量同时存在或者/status显示非预期的凭证就说明需要清理。关于你的 settings.json很多用户担心是配置文件出了问题。实际上settings.json中的插件、主题、TUI 模式等设置与认证完全无关。下面是一个典型的配置示例无需修改{ enabledPlugins: { rust-analyzer-lspclaude-plugins-official: true }, autoUpdatesChannel: latest, tui: fullscreen, theme: light, autoCompactEnabled: false, skipWorkflowUsageWarning: true }总结你的目标保留的变量清除的变量是否忽略 connectors 警告使用本地代理灵活换模型ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKENclaude /logout✅ 忽略使用订阅账号 Connectors无走 OAuth 登录ANTHROPIC_API_KEY 持久化 key❌ 不应出现警告记住核心原则两个认证源不能共存必须二选一并彻底清除另一个。只要遵循上述步骤无论是本地代理玩家还是订阅用户都能稳定运行 Claude Code。1、我开发了一款本地代理客户端专门针对编码智能体运行时管理你可以添加多个模型提供商添加使用不同账号的运行时可以灵活切换智能体背后使用的模型。2、除了在客户端切换还可以在命令行工具中使用命令设置模型可以临时切换当前命令窗口使用何种模型。不影响之前设置的默认运行时新开命令行不设置运行时的情况下就会使用原来设置的默认运行时。如下下图3、支持token用量的实时统计缓存命中情况4、上下文重复度检测告诉你在和编码智能体对话方式的健康情况。后续功能迭代计划1、智能帮你优化使用智能体什么情况下用便宜的模型比如deepseek什么情况下用更强的模型(claude,codex等)。用户无感用户直观使用路由的问题交给系统。最终帮你省更多的token让你的账单不再失控2、后面计划增强这方面的智能化分析开发更细力度第告诉你到底是哪个地方发送的消息重复了是message,还是tool等。想要这个客户端安装包的留言给我客户端数据完全本地存储不上报到服务器绝对安全