主题
无头模式
概述
无头模式允许您从命令行脚本和自动化工具以编程方式运行 Claude Code,无需任何交互式 UI。
基本用法
使用 --print(或 -p)标志以非交互模式运行并打印最终结果:
bash
claude -p "explain this function"配置选项
| 标志 | 描述 | 示例 |
|---|---|---|
--print, -p | 以非交互模式运行 | claude -p "query" |
--output-format | 指定输出格式(text、json、stream-json) | claude -p --output-format json |
--resume, -r | 按会话 ID 恢复对话 | claude --resume abc123 |
--continue, -c | 继续最近的对话 | claude --continue |
--verbose | 启用详细日志记录 | claude --verbose |
--append-system-prompt | 附加到系统提示 | claude --append-system-prompt "Custom instruction" |
--allowedTools | 允许的工具列表 | claude --allowedTools mcp__slack |
--disallowedTools | 拒绝的工具列表 | claude --disallowedTools mcp__github |
--mcp-config | 从 JSON 文件加载 MCP 服务器 | claude --mcp-config servers.json |
--max-turns | 限制代理轮数 | claude -p --max-turns 3 "query" |
多轮对话
bash
# 继续最近的对话
claude --continue
# 使用特定提示继续
claude --continue --print "Show me our progress"
# 按 ID 恢复会话
claude --resume abc123 "Continue the task"输出格式
文本输出(默认)
bash
claude -p "query"JSON 输出
返回包含元数据的结构化数据:
bash
claude -p "query" --output-format json流式 JSON 输出
在接收到每条消息时流式传输:
bash
claude -p "query" --output-format stream-json输入格式
文本输入(默认)
bash
echo "explain this code" | claude -p流式 JSON 输入
通过 stdin 提供的消息流:
bash
claude -p --output-format stream-json --input-format stream-json代理集成示例
SRE 事件响应机器人
bash
claude -p "Analyze this error log and suggest fixes" < error.log自动化安全审查
bash
claude -p "Review this code for security vulnerabilities" < code.py多轮法律助手
bash
claude --continue -p "Continue reviewing the contract"最佳实践
- 使用
--output-format json进行程序化处理 - 使用
--max-turns限制长时间运行的任务 - 使用
--allowedTools和--disallowedTools控制工具访问 - 使用
--verbose进行调试