使用手册

9. Claude Code 免重复登录:长期令牌

用 claude setup-token 生成一年有效的令牌,SSH、脚本、重启后都不用再登录。

在 Mac mini 上用 Claude Code,常见的麻烦是:重启后、换个终端、通过 SSH 或脚本运行时又要你去浏览器登录。按下面 4 步配一个长期令牌,一次设好,一年内都不用再登录。

需要 Claude 付费订阅(Pro / Max)。每台 Mac mini 做一次。

第 1 步:生成令牌

在 Mac mini 上打开“终端”(按 ⌘+空格,输入 Terminal 回车),运行:

claude setup-token

浏览器会打开 Claude 授权页,点同意。回到终端,会显示一串以 sk-ant-oat 开头的令牌,先复制下来(只显示这一次)。

第 2 步:存进只有你能读的文件

运行下面这行,然后粘贴令牌、回车(粘贴时屏幕不显示,是正常的):

read -rs T && printf 'export CLAUDE_CODE_OAUTH_TOKEN="%s"\n' "$T" > ~/.claude-token && chmod 600 ~/.claude-token && unset T && echo 已保存

这样令牌不会留在终端的历史记录里。chmod 600 表示只有你这个账号能读这个文件。

第 3 步:让每个终端自动读到

grep -q claude-token ~/.zshenv 2>/dev/null || echo '[ -f ~/.claude-token ] && source ~/.claude-token' >> ~/.zshenv

写在 ~/.zshenv(不是 ~/.zshrc):这样 ssh 机器 claude 这种非交互方式、定时任务和脚本也能读到令牌。重复运行不会写两遍。

第 4 步:试一下

关掉终端,重新打开,运行:

claude -p "你好"

直接回答、没让你登录,就设好了。从别的电脑 SSH 过来也可以试:ssh 用户名@机器地址 'claude -p "你好"'。

常见问题

情况怎么办
还是让我登录先看 echo ${CLAUDE_CODE_OAUTH_TOKEN:0:12} 有没有输出。没有:检查第 3 步那行在不在 ~/.zshenv 里,再开新终端。
用的是 API Key 计费,不是订阅环境里设了 ANTHROPIC_API_KEY 时会优先用它。只想用订阅,就把那行删掉。
一年后过期了重做第 1、2 步,第 3 步不用动。
换了 Claude 账号同上,重新生成并覆盖 ~/.claude-token。

安全

令牌就等于你的 Claude 账号:不要发给任何人、不要截图、不要放进 Git 仓库、网盘或群聊,我们的客服也不会问你要。
  • 退租前删掉:运行 rm -f ~/.claude-token,再把 ~/.zshenv 里那一行删掉。退租后这台机器会给下一位客户用。
  • 怀疑令牌泄露:马上删掉文件,修改 Claude 账号密码并退出其他设备的登录,再重新生成。