“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”也属于同一条警告。该怎么做,取决于你是否想用连接器。

首先要决定:想用哪种凭据运行

去掉密钥还是保留密钥,路线就此分开

不记得设置过 API 密钥
旧密钥可能还留在 shell 配置或 .env 中
→ 查找来源
用 /status 和环境变量确认
想用连接器(想用订阅运行)
让 claude.ai 登录重新成为生效的凭据
→ 去掉密钥后重新启动
登录并没有消失,仍然保存着
明知按 API 计费,仍在使用密钥
运行没有问题,只是用不了连接器
→ 会失去什么,有什么替代办法
本地的 MCP 服务器照样能用
根据官方认证文档和 MCP 文档的说明,按情况选择排查方向的图。

1. 这条警告在说什么

把警告文字拆开来读,意思如下。

登录没有消失,只是没有被使用

claude.ai connectors are disabled
这个会话没有加载你在 claude.ai 中添加的连接器
because ANTHROPIC_API_KEY or another auth source is set
设置了 API 密钥,或者其他凭据
and takes precedence over your claude.ai login
这个凭据在优先级上排在 claude.ai 登录之前
Unset it to load your organization's connectors
把它去掉,就会加载你所在组织的连接器(在 claude.ai 中添加的那些)
警告文字根据 Claude Code v2.1.275 程序本体中包含的字符串确认,并于 2026 年 9 月 26 日确认 v2.1.281 中的文字相同。

什么是 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 种中的任何一种生效,登录就会一直保存着而不被使用。

能获取连接器的,只有排在最后的那一种

1
云服务商
设置了 CLAUDE_CODE_USE_BEDROCK 等变量时
连接器 ×
2
ANTHROPIC_AUTH_TOKEN
面向 LLM 网关或代理的 Bearer 令牌
连接器 ×
3
ANTHROPIC_API_KEY
Claude Console 的 API 密钥。交互模式下仅在你批准后才生效
连接器 ×
4
apiKeyHelper
写在设置文件中、用来返回密钥的脚本
连接器 ×
5
CLAUDE_CODE_OAUTH_TOKEN
用 claude setup-token 生成的长期令牌,仅用于向模型发送请求
连接器 ×
6
Anthropic 的配置文件、联合身份
ANTHROPIC_PROFILE 或联合身份用的变量等
连接器 ×
7
通过 /login 保存的订阅登录
Pro、Max、Team、Enterprise 的默认认证
连接器 ○
出处:Claude Code 官方认证文档“Authentication precedence”和 MCP 文档。第 6 项中,没有用 ANTHROPIC_PROFILE 指定的活动配置文件,视认证方式不同,可能排在登录之后。

官方 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,删除之前请先确认它的用途。

01

删除密钥的来源

从第 3 章找到的位置删除相应的行。如果是 shell 配置文件,就删 export 行;如果是 .env,就删密钥那一行;如果是 Claude Code 的设置文件,就删 env 中的变量或 apiKeyHelper。不改这里的话,下次打开的 shell 又会加载密钥。

02

也从当前打开的 shell 中去掉

即使改了文件,已经打开的 shell 中变量仍然存在。macOS 和 Linux 用 unset ANTHROPIC_API_KEY,PowerShell 用 Remove-Item Env:ANTHROPIC_API_KEY。重新打开一个新的 shell 也能达到同样的效果。

03

重新启动 Claude Code

正在运行的会话仍然使用启动时的凭据。官方故障排除的步骤也是在去掉密钥之后重新启动 claude。连接器列表同样是在会话开始时获取的,所以请重新启动后再进行下一步。

04

用 /status 确认,必要时 /login

看 API key 那一行是否消失,或者是否带上了 · not in use。如果已保存的登录过期了,Login 行会显示 Expired — log in again。遇到这种情况,或者当前账号不是登记连接器的那个账号时,用 /login 重新选择 claude.ai 账号。

05

用 /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 也解决不了。先从设置文件中删除它,再 /login
  • CLAUDE_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 的非交互模式下,只要设置了密钥就总会使用它,所以这个方法无效。

参考的一手资料