Anthropic突然上线全新CLI:一行命令操控Claude全部API
Anthropic 终于给 Claude 平台推出了专属 CLI 工具,名字就叫 ant。简单来说,这就是一个命令行神器,让你直接在终端里跟 Claude API 打交道——好比微信突然出了个命令行版本,你在黑窗口里敲一句"发消息给张三:明天见",消息就真的发出去了。ant 干的也是类似的事,只不过它发送的对象不是微信好友,而是给 Claude 下指令、管理 AI Agent、上传文件、跑自动化任务。
登录认证,不用手动管 API Key
装好之后,运行 ant auth login,浏览器就会自动弹出 OAuth 授权流程。选好组织和工作区,凭证自动存好,接下来就能直接用。
这个 token 会自动绑定到对应的工作区,CLI 和 SDK 共用一套凭证,省去了重复配置的麻烦。如果你在远程机器上操作,没有浏览器界面,加个 --no-browser 参数,它会打印出授权 URL,把返回的 code 粘贴回终端就行。当然,想用老办法也行——把 API Key 设到环境变量 ANTHROPIC_API_KEY 里,CLI 会自动识别。
想知道当前用的是哪套凭证、绑定的是哪个工作区?运行 ant auth status 就能看到完整信息,排查问题很方便。
需要同时操作多个工作区?可以用命名 profile 分别登录,然后用 ant profile activate 切换,或者在单条命令里用 --profile 临时指定。
每个 API 资源都是一个子命令
命令结构非常直观:资源 + 动作。嵌套资源用冒号分隔:
ant [:] [flags]
举个例子,发一条消息:
ant messages create \
--model claude-opus-4-8 \
--max-tokens 1024 \
--message '{role: user, content: "Hello, Claude"}'
返回完整的 API 对象,在终端里会自动格式化展示出来。
目前支持的资源包括 messages、models、files,以及尚在 beta 阶段的 agents、sessions、environments 等。后者统一放在 beta: 前缀下,CLI 会自动带上对应的 beta 请求头,不用手动传。
输出格式随心切换
默认情况下,终端里是交互式的折叠浏览器(TUI),可以展开折叠 JSON 节点、按 / 搜索、按 q 退出。如果需要接入脚本,指定 --format 切换到 json、yaml、jsonl 等格式,也支持直接管道输出。
更贴心的是 --transform 参数,支持 GJSON 路径语法,可以在命令里直接提取字段,省掉额外装 jq 的麻烦:
ant beta:agents list \
--transform "{id,name,model}" \
--format jsonl
配合 --raw-output,可以把某个字段提取成裸字符串,直接赋值给 shell 变量:
AGENT_ID=$(ant beta:agents create \
--name "My Agent" \
--model '{id: claude-sonnet-4-6}' \
--transform id --raw-output)
传请求体的三种方式
flags 方式
ant beta:sessions create \
--agent '{type: agent, id: agent_011CYm1BLqPXpQRk5khsSXrs, version: 1}' \
--environment-id env_01595EKxaaTTGwwY3kyXdtbs \
--title "CLI docs test session"
stdin 方式
ant beta:agents create <<'YAML'
name: Research Agent
model: claude-opus-4-8
system: |
You are a research assistant. Cite sources for every claim.
tools:
- type: agent_toolset_20260401
YAML
@文件引用
@,CLI 会自动读取文件内容填进去,二进制文件自动 base64 编码。比如直接把 PDF 发给 Messages API:
ant messages create \
--model claude-opus-4-8 \
--max-tokens 1024 \
--message '{role: user, content: [
{type: document, source: {type: base64, media_type: application/pdf, data: "@./scan.pdf"}},
{type: text, text: "Extract the text from this scanned document."}
]}' \
--transform 'content.0.text' --raw-output
用 CLI 管理托管 Agent
ant 可以直接创建和更新 Claude 托管 Agent。
推荐的做法是把 Agent 定义写成 YAML 文件,提交到 Git 仓库,再让 CI 跑 ant beta:agents update 来同步到 Claude 平台。这样一来,Agent 配置就跟代码一样有版本记录、可以做 Code Review。具体流程如下:
第一步,写 agent 定义文件 summarizer.agent.yaml:
name: Summarizer
model: claude-sonnet-4-6
system: |
You are a helpful assistant that writes concise summaries.
tools:
- type: agent_toolset_20260401
第二步,创建 agent:
ant beta:agents create < summarizer.agent.yaml
会返回一个 agent id,记下来后面要用。
第三步,写 environment 定义文件 summarizer.environment.yaml,指定沙箱配置,然后创建 environment,同样会返回一个 id。
第四步,启动 session:
ant beta:sessions create \
--agent agent_011CYm1BLqPXpQRk5khsSXrs \
--environment-id env_01595EKxaaTTGwwY3kyXdtbs \
--title "Summarization task"
第五步,发消息:
ant beta:sessions:events send \
--session-id session_01JZCh78XvmxJjiXVy3oSi7K \
--event '{type: user.message, content: [{type: text, text: "Summarize the benefits of type safety in one sentence."}]}'
第六步,读对话结果:
ant beta:sessions:events list \
--session-id session_01JZCh78XvmxJjiXVy3oSi7K \
--transform 'content.0.text' --format auto --raw-output
如果要实时监看 session 运行过程,用 ant beta:sessions:events stream,事件会随到随打印。Agent 执行完之后,所有的 events、tool 调用、决策过程都可以从 CLI 里拉出来,全程可追踪。
Claude Code 原生支持 ant
Claude Code 内置了 /claude-api 技能,知道怎么用 ant。装好 CLI 并完成认证之后,直接告诉 Claude Code:
- 列出我最近的 agent session,汇总哪些出错了
- 把
./reports目录下的所有 PDF 上传到 Files API,打印出对应的 ID - 拉取 session session_01... 的 events,告诉我 agent 在哪里卡住了
Claude Code 会自动调用 ant,解析结构化输出,然后给出结论——完全不需要写任何胶水代码。
脚本里怎么用
CLI 设计上跟标准 shell 工具结合得很好。比如,--transform id --raw-output 配合 head 和 xargs,可以拿到第一个结果的 ID 然后传给下一条命令:
FIRST_AGENT=$(ant beta:agents list \
--transform id --raw-output | head -1)
ant beta:agents:versions list \
--agent-id "$FIRST_AGENT" \
--transform "{version,created_at}" --format jsonl
调试的时候加 --debug,会把完整的 HTTP 请求和响应打到 stderr,API Key 自动脱敏:
ant --debug beta:agents list
Shell 补全也支持,bash、zsh、fish、PowerShell 都有,一条命令安装好:
# zsh
ant @completion zsh > "${fpath[1]}/_ant"
安装方式
三种方式可选:
macOS 用 Homebrew:
brew install anthropics/tap/ant
Linux/WSL 用 curl:
VERSION=1.10.0
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/')
curl -fsSL "https://github.com/anthropics/anthropic-cli/releases/download/v${VERSION}/ant_${VERSION}_${OS}_${ARCH}.tar.gz" \
| sudo tar -xz -C /usr/local/bin ant
用 Go 从源码编译:
go install github.com/anthropics/anthropic-cli/cmd/ant@latest
需要 Go 1.22 或更高版本。装完验证:
ant --version