“claude.ai connectors are disabled because ANTHROPIC_API_KEY or another auth source is set and takes precedence”是 Claude Code 发出的警告,告诉你它在这个会话中没有加载你在 claude.ai 中添加的连接器。原因是环境变量 ANTHROPIC_API_KEY 等凭据的优先级高于已保存的 claude.ai 登录。Claude Code 本身不会停止运行,但如果正在使用的是 API 密钥,费用就不计入订阅额度,而是按用量计费给这个密钥所属的组织。
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 organization's connectors
后半句“· Unset it to load your organization's connectors”也属于同一条警告。该怎么做,取决于你是否想用连接器。
首先要决定:想用哪种凭据运行
去掉密钥还是保留密钥,路线就此分开
旧密钥可能还留在 shell 配置或 .env 中
让 claude.ai 登录重新成为生效的凭据
运行没有问题,只是用不了连接器
目录
1. 这条警告在说什么
把警告文字拆开来读,意思如下。
登录没有消失,只是没有被使用
什么是 claude.ai 的连接器
根据 Claude Code 官方 MCP 文档,在 claude.ai 的连接器设置页面中添加的 MCP 服务器(连接器),只要你用 claude.ai 账号登录了 Claude Code,在 Claude Code 中也能自动使用。打开 /mcp,它们会带着表示来自 claude.ai 的标记出现在列表中。在 Team 和 Enterprise 方案中,只有管理员才能在 claude.ai 中添加连接器。在官方 CHANGELOG 中,这项功能记在 v2.1.46 条目下,写的是“可以在 Claude Code 中使用 claude.ai 的 MCP 连接器”(npm 上没有同一版本号的发布记录,前后版本分别发布于 2026 年 2 月 17 日和 18 日)。
通过这个机制送达的,是终端、VS Code、JetBrains、Agent SDK 的会话中由 Claude Code 自己从 claude.ai 获取的连接器。云端会话由主机传递连接器,Claude 桌面应用的本地会话和 SSH 会话由应用传递连接器,路径不同。根据官方认证文档,桌面应用和云端会话不使用 ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、apiKeyHelper,使用第三方推理设置的桌面会话除外。可以认为,遇到这条警告时,你是在终端或 IDE 中启动了 claude。
是警告,不是错误
出现这条提示时,Claude Code 不会停止。它会用优先的凭据继续向模型发送请求,你在本地设置的 MCP 服务器(通过 .mcp.json 或 claude mcp add 添加的)也照样能用。缺少的只有 claude.ai 的连接器,/mcp 的列表中不会出现 claude.ai 的项目。
这种行为从什么时候开始
CHANGELOG 的 v2.1.139(在 npm 上发布于 2026 年 5 月 11 日,UTC)写道:“设置了 ANTHROPIC_API_KEY、apiKeyHelper、ANTHROPIC_AUTH_TOKEN 时,即使有 claude.ai 登录,也会停用 Remote Control、/schedule、claude.ai 的 MCP 连接器和通知设置。要使用这些功能,请去掉 API 密钥”。另一方面,加入这条警告文字的版本在 CHANGELOG 中没有记载。截至 2026 年 9 月 26 日,官方错误参考中也没有这段文字的条目。
2. 为什么有 API 密钥时连接器会停用——认证的优先级
当存在多种凭据时,Claude Code 会按照官方认证文档中写明的顺序,只选用其中一种。通过 /login 保存的订阅登录排在第 7 位,也就是最后一位。只要上面 6 种中的任何一种生效,登录就会一直保存着而不被使用。
能获取连接器的,只有排在最后的那一种
设置了 CLAUDE_CODE_USE_BEDROCK 等变量时
面向 LLM 网关或代理的 Bearer 令牌
Claude Console 的 API 密钥。交互模式下仅在你批准后才生效
写在设置文件中、用来返回密钥的脚本
用 claude setup-token 生成的长期令牌,仅用于向模型发送请求
ANTHROPIC_PROFILE 或联合身份用的变量等
Pro、Max、Team、Enterprise 的默认认证
官方 MCP 文档也说明,只有“生效的认证方式是 claude.ai 订阅登录时”才会获取 claude.ai 的连接器,并把相当于上图 1~6 的凭据列为即使以前 /login 过也不会加载连接器的条件。各自的去掉方法整理在第 4 章。
关键在于,登录并没有消失。凭据仍然保存着,只是因为优先级而没有被使用,所以去掉优先级更高的凭据后,已保存的登录就会被使用。至于为什么有登录也要连连接器一起停用,官方没有说明理由。
在交互模式下,只有批准过的密钥才会优先
在交互模式下,第一次发现 ANTHROPIC_API_KEY 时,Claude Code 只会询问一次是否使用,并记住你的回答。被拒绝的密钥不会被使用。也就是说,如果在交互模式下出现这条警告,要么你在某个时候批准过这个密钥,要么设置了其他优先级更高的凭据(ANTHROPIC_AUTH_TOKEN 或 apiKeyHelper 等)。在非交互模式(-p)下,只要设置了 ANTHROPIC_API_KEY,就总会使用它。API 密钥覆盖订阅而引起的其他错误(This organization has been disabled、Invalid API key 等),整理在 Claude Code 认证、登录错误(Not logged in/Invalid API key)一文中。
3. 确认正在使用哪种凭据
首先要看的是 /status。根据官方认证文档,同时存在登录和 API 密钥时,没有被使用的一方会带有标记。这是 CHANGELOG 中 v2.1.260(在 npm 上发布于 2026 年 9 月 3 日,UTC)修正的显示,在此之前两者会并列显示,看起来像是都在生效。
Auth token: claude.ai · not in use
API key: ANTHROPIC_API_KEY
如果是上面这样,说明正在使用 API 密钥,claude.ai 登录没有被使用。反过来,如果 API key 那一行带有 · not in use,说明正在使用的是登录。这个示例是根据 v2.1.275 程序本体中包含的项目名组合出来的,实际上还会显示 Login method、Organization、Email 等行。官方写明,使用配置文件时,会显示 Profile 行来代替 Login method。
查找环境变量
如果显示了 API key 那一行,而你对这个密钥没有印象,就在启动 claude 的同一个 shell 中确认环境变量。官方错误参考给出的命令如下。
# macOS、Linux
env | grep ANTHROPIC
# Windows(PowerShell)
Get-ChildItem Env:ANTHROPIC*
还有一些变量不会出现在这些命令的结果中,例如 CLAUDE_CODE_OAUTH_TOKEN,以及像 CLAUDE_CODE_USE_BEDROCK 这样以 CLAUDE_CODE_USE_ 开头的云服务商变量。请用同样的方法确认,有没有属于第 2 章图中 1~6 的变量。
密钥是从哪里进来的
如果在 shell 中 unset 之后,下次打开的 shell 里它又出现了,说明每次都有地方在加载它。官方文档中写到的来源有以下 5 处。
shell 配置文件
~/.zshrc、~/.bashrc、~/.profile 中的 export ANTHROPIC_API_KEY=... 行。可能残留着上一家公司或其他项目的密钥
Windows 的设置
PowerShell 配置文件($PROFILE)和用户环境变量
项目的 .env
direnv、dotenv 的 shell 插件、IDE 的终端,可能会从项目的 .env 中加载旧密钥。即使你不记得自己设置过,它也会进来
设置文件中的 env
Claude Code 设置文件中的 env 会把环境变量传给所有会话。即使 shell 中没有,只要写在这里就会生效
设置文件中的 apiKeyHelper
返回密钥的命令的设置,可以写在任何一个设置文件中。只要它还在,即使 /login,也会优先于已保存的登录
Claude Code 的设置文件有 4 处:~/.claude/settings.json(自己的所有项目)、.claude/settings.json(项目内共享)、.claude/settings.local.json(仅自己、仅此项目),以及组织分发的托管设置。通过 /status 的 Status 标签页中的 Setting sources 行,可以知道这个会话加载了哪些设置文件。不过,它不会显示哪个密钥来自哪个文件,所以要打开可能相关的文件,查找 env 和 apiKeyHelper。
4. 让连接器可用的步骤
下面是用订阅登录运行 Claude Code、让它加载 claude.ai 连接器的步骤。其他工具或自己写的脚本可能也在使用同一个 ANTHROPIC_API_KEY,删除之前请先确认它的用途。
删除密钥的来源
从第 3 章找到的位置删除相应的行。如果是 shell 配置文件,就删 export 行;如果是 .env,就删密钥那一行;如果是 Claude Code 的设置文件,就删 env 中的变量或 apiKeyHelper。不改这里的话,下次打开的 shell 又会加载密钥。
也从当前打开的 shell 中去掉
即使改了文件,已经打开的 shell 中变量仍然存在。macOS 和 Linux 用 unset ANTHROPIC_API_KEY,PowerShell 用 Remove-Item Env:ANTHROPIC_API_KEY。重新打开一个新的 shell 也能达到同样的效果。
重新启动 Claude Code
正在运行的会话仍然使用启动时的凭据。官方故障排除的步骤也是在去掉密钥之后重新启动 claude。连接器列表同样是在会话开始时获取的,所以请重新启动后再进行下一步。
用 /status 确认,必要时 /login
看 API key 那一行是否消失,或者是否带上了 · not in use。如果已保存的登录过期了,Login 行会显示 Expired — log in again。遇到这种情况,或者当前账号不是登记连接器的那个账号时,用 /login 重新选择 claude.ai 账号。
用 /mcp 确认连接器
打开 /mcp,如果 claude.ai 的标题下列出了连接器,就完成了。确认方法的细节整理在第 5 章。
# 从当前打开的 shell 中去掉(macOS、Linux)
unset ANTHROPIC_API_KEY
# 从当前打开的 shell 中去掉(Windows PowerShell)
Remove-Item Env:ANTHROPIC_API_KEY
# 重新启动,并在 Claude Code 的输入框中确认
claude
/status
/mcp
保留密钥,只让交互模式回到登录
如果有不想删除环境变量的理由,也可以只在交互模式下切换为不使用密钥的设置。根据官方认证文档,交互模式下对密钥的批准,之后可以用 /config 中的“Use custom API key”开关更改。这个开关只在环境中存在 ANTHROPIC_API_KEY 时才会显示。关闭后,请重新启动 Claude Code,再确认 /mcp。不过在 -p 的非交互模式下,只要设置了密钥就总会使用它,所以这个方法无效。
排在前面的不是 API 密钥时
ANTHROPIC_AUTH_TOKEN:用于经由 LLM 网关或代理的令牌。如果要继续通过网关使用,就要当作用不了连接器。不需要的话就去掉这个变量apiKeyHelper:官方错误参考写道,只要这个设置还在,即使/login也解决不了。先从设置文件中删除它,再/loginCLAUDE_CODE_OAUTH_TOKEN:在保留这个变量的情况下/login,该会话会切换到新的登录。不过,在从 shell 配置或设置文件的env中删除这个变量之前,每个新会话都会再次加载它- 配置文件、联合身份:去掉
ANTHROPIC_PROFILE或联合身份用的变量中的任意一个。活动配置文件如果是不创建密钥、直接登录 Console 时写入的,可以用/logout去掉;如果是用ant auth login写入的,可以用ant auth logout去掉。两种情况都可以直接删除配置文件的文件 - 云服务商:去掉
CLAUDE_CODE_USE_BEDROCK、CLAUDE_CODE_USE_VERTEX、CLAUDE_CODE_USE_FOUNDRY。如果是按公司的方针在使用云服务商,去掉之前请先向管理员确认
5. 确认是否已经解决
不要因为警告有一次没出现就认为完成了,请用下面 3 点确认。
/status 的显示
没有 API key 那一行,或者带有 · not in use。Login method 显示的是登记连接器的 claude.ai 账号的方案
/mcp 的列表
claude.ai 的标题下列出连接器。从未登录过的连接器,被折叠在末尾的 Show unused connectors 行中
启动时的警告
重新启动后也不再出现这条警告。🟡 它显示的时间很短,要在启动后立刻看
官方 MCP 文档写道,在 claude.ai 中还没有连接过的连接器,只能从 claude.ai 的设置页面连接。连接过一次的连接器登录失效时,可以在 /mcp 中选择该服务器重新登录(官方错误参考)。如果刚启动时因为网络暂时不稳定而没能获取连接器列表,Claude Code 会在后台最多重新获取 3 次,成功时连接器就会出现。如果仍然没有出现,就重新启动,再获取一次。
6. 决定继续使用 API 密钥时
比如团队把费用统一到 Claude Console 的 API 计费时,用 API 密钥运行是官方提供的用法。这种情况下,这条警告只是“连接器用不了”的通知,不理会也不影响运行。不过,它与订阅登录在可用功能和计费方式上有所不同。
| 项目 | claude.ai 登录(Pro、Max、Team、Enterprise) | API 密钥(ANTHROPIC_API_KEY) |
|---|---|---|
| 计费 | 包含在方案的用量额度内。超出额度使用时用使用额度(usage credits) | 按 token 向密钥所属的 Console 组织收费 |
| 防止用得过多的上限 | 方案的使用上限(5 小时、每周的额度等) | Console 工作区的支出上限 |
| claude.ai 的连接器 | 可以使用 | 不会加载 |
本地的 MCP 服务器(.mcp.json、claude mcp add) | 可以使用 | 可以使用 |
Remote Control、/schedule、通知设置 | 可以使用 | 停用(v2.1.139 起) |
使用额度的管理(/usage-credits) | 可以使用 | 不能使用 |
非交互模式(-p) | 没有密钥时用登录运行 | 只要有密钥,不论是否批准,总是使用密钥 |
出处为 Claude Code 官方的成本管理文档(计费、上限、使用额度)、认证文档(非交互模式)、MCP 文档(连接器)和 CHANGELOG 的 v2.1.139(Remote Control 等)。Team 和 Enterprise 的用量额度按成员的席位分配,并与 claude.ai 的聊天共享。
在本地添加 MCP 服务器,代替连接器
如果同一个服务公开了远程 MCP 服务器,用 claude mcp add 直接添加,即使使用 API 密钥也能用。连接地址请查看各服务的说明。
# 格式:claude mcp add --transport http <名称> <URL>
claude mcp add --transport http notion https://mcp.notion.com/mcp
不过根据官方 MCP 文档,像 Microsoft 365、Gmail、Google Calendar 这样由 Anthropic 托管的部分连接器,不支持从 Claude Code 在本地登录(OAuth)。原因是上游的认证服务只接受 claude.ai 登记的重定向地址。如果把这类服务添加到本地并尝试登录,会显示 is Anthropic-hosted and doesn't support local OAuth,并提示你在 claude.ai 中连接。也就是说,对这些服务,在使用 API 密钥的情况下没有替代办法。MCP 服务器连接不上时的排查方法,在 Claude Code 中 MCP 服务器连接不上时的文章中有讲解。
不让警告出现
如果已经决定不用连接器,把设置 disableClaudeAiConnectors 设为 true,Claude Code 就不再获取、也不再连接 claude.ai 的连接器。如果只针对一次启动,用环境变量 ENABLE_CLAUDEAI_MCP_SERVERS=false 也是一样的。
要在自己的所有项目中停用,就在 ~/.claude/settings.json 中这样写。
{
"disableClaudeAiConnectors": true
}
# 只在一次启动中停用(macOS、Linux)
ENABLE_CLAUDEAI_MCP_SERVERS=false claude
🟡 官方文档没有提到这个设置与警告的关系。在 v2.1.275 的程序本体中,这个设置的判断在 API 密钥的判断之前进行,符合条件时就在那里停止获取,所以警告也不会出现。这个设置在订阅登录下也能用,因此没有必要只为了停用连接器而放一个 API 密钥。
在 CI 或脚本(-p)中使用时
在非交互模式下,只要设置了 ANTHROPIC_API_KEY 就总会使用它,而 claude setup-token 的长期令牌也无法获取连接器。在自动化流程中,应避免依赖 claude.ai 连接器的设计,需要的 MCP 服务器用 .mcp.json 或 --mcp-config 传入。官方认证文档也写明,即使使用长期令牌,本地设置的 MCP 服务器也能用。
7. 去掉密钥后连接器仍不出现时
如果 /status 显示正在使用登录,/mcp 中却没有连接器,原因就不在优先级。请确认官方文档中写到的以下几点。
某处停用了连接器
disableClaudeAiConnectors 只要在任何一个设置文件中为 true 就会生效。即使在项目中设为 false,也无法抵消自己的设置或托管设置中的 true
单独停用了
在 deniedMcpServers 中按名称或 URL 写了进去。在 /mcp 中按项目关闭的连接器,在该项目中也不会连接
在本地添加了同一 URL 的服务器
本地添加的服务器优先,连接器会以隐藏状态出现在列表中。要用连接器,就删除本地的重复项
session token rejected
如果连接器显示为 connected · session token rejected,说明 claude.ai 拒绝了 Claude Code 的登录。多数情况是登录过期且没能更新。先 /login,再用 /mcp 重新连接
组织的管理
在 Team 和 Enterprise 中,只有管理员才能添加连接器。组织把某个工具设为 blocked 后,这个工具就会从列表中去掉
桌面应用的 WSL
官方写明,在桌面应用的 WSL 会话中,暂时还不能使用连接器
导致 session token rejected 的登录过期问题,在 “Login expired · Please run /login”一文中有详细说明。根据官方错误参考,重新进行连接器的认证解决不了这种状态。因为被拒绝的不是连接器的认证,而是 Claude Code 的登录。
8. GitHub 上的相关报告
我们在 2026 年 9 月 22 日打开并阅读了 Claude Code GitHub 仓库中的 2 份相关报告。两份都不包含本文这条警告文字本身。在读到的范围内,两份都没有来自 Anthropic 的缺陷说明。
- #58453(2026 年 5 月 12 日提交,功能请求):在 claude.ai 中关联的连接器(Canva、Gmail、Google Drive、Google Calendar)会被加载到 Claude Code 的所有会话中,工具定义会加进每一轮的输入,因此希望能在 Claude Code 一侧的设置中停用。5 月 14 日的评论指出,v2.1.139 之后放一个
ANTHROPIC_API_KEY就能停用连接器,但/schedule和 Remote Control 也会停用,计费也会转到 API。5 月 23 日,一个拥有仓库 Collaborator 权限的账号把它合并到提出相同请求的 #29368 后关闭。现在的官方文档中已经有disableClaudeAiConnectors,但加入的版本未能在 CHANGELOG 中确认 - #50537(2026 年 4 月 18 日提交,Windows,v2.1.113):报告出现了另一条警告
Auth conflict: Both a token (claude.ai) and an API key (ANTHROPIC_API_KEY) are set.,以及错误Auth error: No API key available。只有用户的评论,5 月 26 日因为没有进展被自动关闭。笔者确认的 v2.1.275 程序本体中,没有找到与这条警告相同的字符串
两份报告的共同点是,同一个环境中同时存在 API 密钥和 claude.ai 登录。只要先决定打算用哪一种,两种情况的处理就是一样的:去掉不用的那一方,或者用 /status 确认选中的是你想用的那一方。
9. 总结
“claude.ai connectors are disabled because ANTHROPIC_API_KEY or another auth source is set and takes precedence”是一条警告,告诉你 API 密钥等凭据的优先级高于已保存的 claude.ai 登录,因此没有加载 claude.ai 的连接器。登录并没有消失,只是因为优先级而没有被使用。用 /status 的 API key 行确认正在使用的凭据;想用连接器的话,删除密钥的来源后重新启动,再用 /mcp 确认,就完成了。
如果你是有意使用 API 密钥,可以不理会这条警告。不过计费会变成按 token 向 Console 组织收费,Remote Control 和 /schedule 也用不了。如果只想停用连接器,请使用 disableClaudeAiConnectors,而不是 API 密钥。其他错误整理在 Claude Code 常见错误与解决方法汇总中。
FAQ
Q. “claude.ai connectors are disabled”是什么意思?
A. 这是 Claude Code 发出的警告,表示它在这个会话中没有加载你在 claude.ai 中添加的连接器。原因是 ANTHROPIC_API_KEY 等凭据的优先级高于已保存的 claude.ai 登录。Claude Code 本身会继续用那个凭据运行。
Q. 不理会警告继续使用,会有问题吗?
A. 运行会继续。但如果正在使用 API 密钥,费用不计入订阅额度,而是向密钥所属的 Console 组织收费。如果是你不记得设置过的密钥,请用 /status 确认后去掉。
Q. 重新 /login 就能解决吗?
A. 只要优先级更高的凭据还在,就解决不了。官方文档也说明,已批准的 ANTHROPIC_API_KEY 和 apiKeyHelper 优先于登录,/login 不会替换它们。请先去掉密钥或设置,必要时再 /login。
Q. 有没有不删除 API 密钥、只使用连接器的方法?
A. 仅限交互模式的话,把 /config 中的“Use custom API key”关闭,密钥会留在环境中但不再被使用。在 -p 的非交互模式下,只要设置了密钥就总会使用它,所以这个方法无效。
参考的一手资料
- Claude Code — Connect Claude Code to tools via MCP(官方文档):claude.ai 的连接器、不会加载的 4 个条件、送达的路径、disableClaudeAiConnectors、由 Anthropic 托管的连接器与本地登录、session token rejected
- Claude Code — Authentication(官方文档):认证的优先级、API 密钥的批准与“Use custom API key”、/status 的标记、配置文件、长期令牌、桌面应用与云端会话
- Claude Code — Error reference(官方文档):确认环境变量的方法、apiKeyHelper 与 /login、设置文件中的 env、claude.ai rejected the session token(没有本文警告文字的条目)
- Claude Code — Troubleshoot installation and login(官方文档):去掉 API 密钥的步骤和 shell 配置文件的位置
- Claude Code — Settings(官方文档):设置文件的 4 个位置和 Setting sources
- Claude Code — Manage costs(官方文档):订阅与 Console 的计费、工作区的支出上限、/usage-credits
- anthropics/claude-code — CHANGELOG(官方):v2.1.46(支持 claude.ai 的连接器)、v2.1.139(有 API 密钥时停用连接器等)、v2.1.260(/status 的标记)、v2.1.261(连接器获取的重试)
- Claude Code v2.1.275 的程序本体(Claude 桌面应用附带):警告文字全文与显示条件(2026 年 9 月 22 日确认,9 月 26 日在 v2.1.281 中再次确认)
- GitHub Issue:#58453、#50537(均为用户报告。2026 年 9 月 22 日确认)