1176 字
6 分钟
如何获取 Claude OAuth Token:从课堂到部署的折腾记

如何获取 Claude OAuth Token:从课堂到部署的折腾记#

最近在配置 Claude Code 的 GitHub Action 时,遇到了一个让人头疼的问题:API 不断返回 401 错误,提示 bearer token 无效。解决这个问题需要一个长期有效的 OAuth Token,但获取过程远比想象中曲折,甚至还赶上了一次 Claude 服务的全线故障。

起因:一个简单的 401 错误#

事情的起因很简单。我在尝试让 GitHub Action 调用 Claude Code 时,workflow 日志里反复出现这样的报错:

API Error: 401 Invalid bearer token

显然,问题出在认证环节。查阅文档后发现,需要通过 Claude Code CLI 工具生成一个 OAuth Token,然后配置到 GitHub Secrets 中。文档中提到 Token 会保存在 ~/.claude/credential.json 文件中,但这个信息已经过时了——实际操作后我发现这个文件根本不存在。

一开始我以为需要用的是 claude login 命令,那个会让你从浏览器中复制一次性验证码粘贴到终端里。但后来发现,那只是普通的登录验证,并不会生成我需要的长期 OAuth Token。真正的解决方案另有其法。

第一步:安装 Claude Code CLI#

首先需要安装官方的命令行工具。通过 npm 全局安装即可:

Terminal window
npm install -g @anthropic-ai/claude-code

安装完成后,运行 claude --help 确认工具可用。在命令列表中,有一个关键命令引起了我的注意:

claude setup-token

这就是生成 OAuth Token 的入口。按照设计,这个命令会启动一个 OAuth 授权流程,最终返回一个有效期为一年的 Token。

第二步:一次不合时宜的下课#

当天我在学校上 AI 相关的课程,课程提前结束后,我收拾好东西准备回家继续操作。从教室到家大约需要 30 分钟,这段时间里我还在想着回去就把 Token 配置好。

然而,当我到家打开电脑,准备运行 claude setup-token 时,却发现 Claude 的所有服务都无法访问。不仅 CLI 工具返回错误,就连 Claude.ai 官网也完全打不开。

最开始我还很慌,以为是自己的账号因为在短时间内反复登录被封禁了。

意外插曲:Claude 全线故障#

命令行里返回的错误信息让我意识到问题的严重性:

501 rate exceeded

这是普通的限流,似乎是整个服务出现了问题。我赶紧查看 Claude 的状态页面,果然看到了事故通知:

Oct 3, 2025
Investigating - We are currently investigating this issue
Monitoring - A fix has been implemented and we are monitoring the results
Resolved - This incident has been resolved.

Claude 正在经历一次大规模的服务中断。从时间线来看,这次故障发生的时机恰好是我从学校回到家的这段时间。如果我当时没有下课,或者提前几分钟操作,可能就不会遇到这个问题。但事已至此,只能耐心等待服务恢复。

峰回路转:成功获取 Token#

大约一个小时后,Claude 的服务逐步恢复。我再次尝试运行 claude setup-token,这次终于顺利完成了 OAuth 授权流程。

有一个细节需要注意:生成的 Token 并没有自动保存到 ~/.claude/settings.json 配置文件中,而是直接输出在了终端里。这是一串以 sk-ant-oat01- 开头的长字符串,格式大概是这样:

sk-ant-oat01-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

这个 Token 的有效期是一年,足够长期使用。拿到它之后,剩下的就是配置环节了。

最后一步:配置到 GitHub Secrets#

有了 Token,就可以将它添加到 GitHub 仓库的 Secrets 中。具体路径是:

Settings → Secrets and variables → Actions → New repository secret

创建一个新的 Secret,名称可以设置为 CLAUDE_CODE_OAUTH_TOKEN,值就是刚才获取的那串 Token。保存后,GitHub Action 的 workflow 就能通过环境变量读取这个 Token,用于 Claude Code 的 API 认证。

重新运行 workflow,这次 401 错误终于消失了。整个配置流程到此完成。

回顾与总结#

回顾整个过程,获取 Claude OAuth Token 的核心步骤其实很简单:安装 CLI 工具,运行 claude setup-token,然后把生成的 Token 配置到需要的地方。但实际操作中却充满了意外,老旧的文档,和限流的服务,造成了很多不必要的麻烦。 但是正如程序员说过的:我最讨厌两种人,一种是不写文档的,一种是让我写文档的。

[!quote] If you let go a little, you will have a little peace. If you let go a lot, you will have a lot of peace. — Ajahn Chah

如何获取 Claude OAuth Token:从课堂到部署的折腾记
https://blog.lishuyu.top/posts/how_to_get_claude_oath_token/
作者
猫猫魔女
发布于
2025-10-03
许可协议
CC BY-NC-SA 4.0