MCP OAuth 令牌另有一份仓库,不是 auth.json

mcp_oauth_credentials_store 管 MCP 登录。默认 auto 走钥匙串,回退 ~/.codex/.credentials.json。没有 ephemeral。不要和 CLI 登录缓存抄成一把钥匙。

MCP 登录令牌不走 auth.json。单独设顶层键:

mcp_oauth_credentials_store = "keyring"

三种值,默认 auto

  • auto:优先操作系统凭据库,失败才写 CODEX_HOME/.credentials.json
  • file:强制写 .credentials.json
  • keyring:只要钥匙串,读不到就登录失败

这里没有 ephemeral。把 cli_auth_credentials_store = "ephemeral" 当成 MCP 令牌也只在内存,是抄错键。

.credentials.jsonauth.json 是两份文件。拷登录缓存不会带上 MCP OAuth;反过来,清掉 MCP 令牌也不会登出 ChatGPT。dotfiles、同步盘、CI 日志两边都不要带。

回调地址和监听端口仍由 mcp_oauth_callback_url / mcp_oauth_callback_port 管,和这份存储无关。改存储后端之后,对每个要 OAuth 的服务器重新 codex mcp login

来源