命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
显示身份认证状态为 JSON
claude auth status [--text]claude auth statusclaude auth status 是 Claude Code CLI 的身份认证子命令,属于 claude auth 子命令组(包含 login、logout、status 三个子命令)。它在交互式会话启动之前独立运行于 shell,用于查询当前存储的认证凭证状态和帐号信息。
该命令已在 code.claude.com 官方 CLI 文档中确认收录。注意:认证状态 JSON 输出的完整字段结构在截至本文可访问的官方文档页面中未详细展开。
claude auth status [--text]
| Flag | 类型 | 说明 |
|---|---|---|
--text | boolean(无值) | 以人类可读的纯文本格式输出,替代默认 JSON 输出 |
不带任何 flag 时,输出为 JSON;加 --text 后切换为纯文本格式。
默认输出为 JSON;加 --text 后为人类可读文本。
JSON 字段的完整结构在当前可访问的官方文档中未列出。根据认证文档所描述的认证维度,输出内容应涵盖当前生效的认证方式(OAuth 订阅 / API Key / apiKeyHelper / Bedrock / Vertex / Foundry 等)和帐号标识信息,具体字段名以实际命令输出为准。
退出码官方文档未记录,本节不覆盖。
# 快速人类可读检查
claude auth status --text
# CI 脚本中用作前置防护
claude auth status --text || { echo "未认证,请先运行 claude auth login" >&2; exit 1; }
# JSON 输出可直接传给 jq 进行后续处理
# (字段名请以实际命令输出为准,勿依赖本文猜测)
claude auth status | jq .
Claude Code 同时存在两个功能相近但运行层不同的命令:
| 命令 | 调用方式 | 运行时机 | 典型场景 |
|---|---|---|---|
claude auth status | Shell / 终端 | 会话启动前 | 脚本、CI、快速诊断 |
/status | 交互式会话内斜杠命令 | 会话运行中 | 交互式排查当前活跃凭证 |
官方认证文档明确建议使用会话内 /status 命令来确认当前实际生效的认证方式——例如,当 ANTHROPIC_API_KEY 与 OAuth 订阅凭证同时存在时,用 /status 验证哪一个正在被使用。
CI/CD 前置检查:在执行 claude -p 非交互式任务前先验证凭证有效性:
#!/bin/bash
claude auth status --text || { echo "认证失败,终止流程"; exit 1; }
claude -p "生成本次发布的 changelog" > changelog.md
认证冲突排查:当多种认证方式共存(如同时设置了 ANTHROPIC_API_KEY 和 CLAUDE_CODE_OAUTH_TOKEN)时,用此命令快速确认实际生效的凭证。
ANTHROPIC_API_KEY 静默覆盖 OAuth 订阅:如果环境变量 ANTHROPIC_API_KEY 已设置,Claude Code 按认证优先级会优先使用它而非 OAuth 订阅凭证。若该 API Key 对应的组织已禁用或过期,即便订阅仍然有效,操作也会认证失败。遇到此类情况,先运行 unset ANTHROPIC_API_KEY,再用 claude auth status 确认凭证变化。(来源:官方认证文档)
--enable-auth-status 与本命令无关:--enable-auth-status 是一个仅在 SDK 模式下生效的隐藏 flag,用于在 SDK 调用链中启用认证状态消息,与 claude auth status 子命令是完全独立的机制,不要混淆。
新增 CLI 子命令查看认证状态