Claude Code CLI 完整使用指南
Claude Code - 专业的 AI 辅助编程命令行工具
目录
快速开始
安装
claude install stable claude install latest claude install 1.0.0
基本使用
claude claude -p "帮我分析这个代码文件" claude -c claude --help
第一个示例
claude -p "创建一个读取 CSV 文件的 Python 脚本" claude
核心概念
1. 交互式会话模式
默认模式 ,适合复杂的开发任务:
特点:
持续的对话上下文
多轮交互
工作区权限管理
会话可恢复
2. 非交互模式(Print Mode)
适合脚本化和批量处理 :
claude -p "你的问题" claude -p "分析代码" --output-format json echo "重构这个函数" | claude -p
特点:
一次性执行
可输出 JSON 格式
适合集成到 CI/CD
跳过工作区信任对话框(仅在可信目录使用)
3. 会话持久化
claude -c claude --continue claude -r <session-id> claude --resume claude --resume "代码审查"
4. 工作区与权限
Claude Code 使用工作区概念管理文件访问权限:
首次访问目录 :会弹出信任对话框
权限模式 :可通过 --permission-mode 配置
工具白名单 :使用 --allowed-tools 限制可用工具
命令详解
mcp - MCP 服务器配置管理
MCP(Model Context Protocol)服务器让 Claude 能够访问外部服务和 API。
可用子命令
claude mcp --help claude mcp list claude mcp get <name> claude mcp add --transport http sentry https://mcp.sentry.dev/mcp claude mcp add --transport sse asana https://mcp.asana.com/sse claude mcp add --transport stdio airtable --env AIRTABLE_API_KEY=YOUR_KEY -- npx -y airtable-mcp-server claude mcp add-json <name> <json> claude mcp add-from-claude-desktop claude mcp remove <name> claude mcp reset-project-choices claude mcp serve
配置示例
claude --mcp-config ./mcp-servers.json claude --mcp-config ./server1.json ./server2.json claude --mcp-config '{"name":"my-server","command":"node","args":["./server.js"]}' claude --strict-mcp-config --mcp-config ./my-server.json
传输类型说明
MCP 服务器支持三种传输类型:
HTTP 传输 - 通过 HTTP 端点连接
SSE 传输 - 通过 Server-Sent Events 连接
stdio 传输 - 通过标准输入输出连接(本地进程)
实际使用示例 :
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp claude mcp add --transport sse asana https://mcp.asana.com/sse claude mcp add --transport stdio airtable --env AIRTABLE_API_KEY=your_key -- npx -y airtable-mcp-server claude mcp add --transport stdio my-server -- node /path/to/server.js
plugin - 插件管理
管理 Claude Code 的插件扩展。
可用子命令
claude plugin --help claude plugin validate <path> claude plugin marketplace claude plugin install <plugin> claude plugin install <plugin>@<marketplace> claude plugin i <plugin> claude plugin uninstall <plugin> claude plugin remove <plugin> claude plugin enable <plugin> claude plugin disable <plugin> claude plugin update [plugin]
插件市场管理
claude plugin marketplace claude plugin install my-plugin claude plugin install my-plugin@custom-marketplace claude plugin validate ./path/to/plugin
插件启用/禁用
claude plugin enable my-plugin claude plugin disable my-plugin
setup-token - 设置认证令牌
配置长期认证令牌(需要 Claude 订阅)。
doctor - 健康检查
检查 Claude Code 自动更新器的健康状态。
update - 更新检查
检查并安装更新。
install - 安装原生版本
安装 Claude Code 原生构建版本。
基本用法
claude install claude install stable claude install latest claude install 1.2.0 claude install --force claude install --help
选项参考
输出格式选项
控制输出格式和行为的选项。
-p, --print
非交互模式,打印响应后退出。
claude -p "解释这段代码" cat main.py | claude -p "添加注释" claude -p "分析代码" --output-format json > result.json
注意事项 :
跳过工作区信任对话框,仅在可信目录使用
适合脚本化和自动化
指定输出格式(仅配合 --print 使用)。
可选值 :
text - 纯文本(默认)
json - JSON 格式(单个结果)
stream-json - 实时流式 JSON
claude -p "分析项目结构" --output-format json claude -p "长任务处理" --output-format stream-json claude -p "生成代码" --output-format json > output.json
--json-schema <schema>
JSON Schema 验证,确保输出符合指定结构。
claude -p "提取 API 信息" --output-format json \ --json-schema '{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"]}' claude -p "分析依赖" --output-format json \ --json-schema '{ "type": "array", "items": { "type": "object", "properties": { "name": {"type": "string"}, "version": {"type": "string"}, "license": {"type": "string"} } } }'
--include-partial-messages
包含部分消息块(仅配合 --print 和 --output-format=stream-json)。
claude -p "生成大量代码" \ --output-format stream-json \ --include-partial-messages
输入格式(仅配合 --print 使用)。
可选值 :
text - 纯文本(默认)
stream-json - 实时流式 JSON 输入
cat input.json | claude -p --input-format stream-json \ --output-format json
--replay-user-messages
重新发送来自 stdin 的用户消息(配合流式输入输出)。
cat input.json | claude -p \ --input-format stream-json \ --output-format stream-json \ --replay-user-messages
调试选项
用于调试和问题排查。
-d, --debug [filter]
启用调试模式,支持类别过滤。
claude -d claude -d "api,hooks" claude -d "!statsig,!file" claude -d "api,!network"
常见调试类别 :
api - API 调用
hooks - 钩子执行
statsig - 统计分析
file - 文件操作
network - 网络请求
--verbose
覆盖详细模式设置。
claude --verbose claude --verbose -p "详细分析"
--mcp-debug
已弃用 ,请使用 --debug 代替。
claude --mcp-debug claude -d mcp
会话管理选项
控制和恢复会话的选项。
-c, --continue
继续最近的会话。
claude -c claude --continue claude -c "继续优化代码"
-r, --resume [value]
恢复指定会话,或打开交互式选择器。
claude -r claude -r "代码审查" claude -r abc123-def456-ghi789
--fork-session
创建新会话 ID 而不是重用原会话(配合 --resume 或 --continue)。
claude -r --fork-session claude -c --fork-session
--no-session-persistence
禁用会话持久化(仅配合 --print)。
claude -p "临时任务" --no-session-persistence
--session-id <uuid>
使用指定的会话 ID。
claude --session-id 550e8400-e29b-41d4-a716-446655440000 uuidgen | xargs -I {} claude --session-id {}
工具权限选项
控制工具访问权限的选项。
允许的工具列表(逗号或空格分隔)。
claude --allowed-tools Bash,Edit,Read claude --allowed-tools "Bash,Edit,Read" claude --allowed-tools "Bash(git:*)" "Edit" claude --allowed-tools Read,Write,Edit claude -p "检查 Git 状态" \ --allowed-tools "Bash(git:status)" \ --print
指定可用工具集(仅 --print 模式)。
claude -p "任务" --tools default claude -p "纯文本任务" --tools "" claude -p "任务" --tools "Bash,Edit,Read"
拒绝的工具列表(逗号或空格分隔)。
claude --disallowed-tools "Bash(rm:*),Bash(dd:*)" claude --disallowed-tools "Bash(curl:*),Bash(wget:*)" claude --disallowed-tools "Edit(*.config)"
--dangerously-skip-permissions
绕过所有权限检查(仅推荐用于无网络访问的沙箱环境)。
claude --dangerously-skip-permissions
--allow-dangerously-skip-permissions
启用跳过权限检查的选项,但默认不启用。
claude --allow-dangerously-skip-permissions
模型配置选项
控制 AI 模型行为的选项。
--model <model>
指定会话使用的模型。
claude --model sonnet claude --model opus claude --model haiku claude --model claude-sonnet-4-5-20250929 claude --model claude-opus-4-5-20251101 claude -p "快速任务" --model haiku --print
常用模型别名 :
sonnet - 平衡性能和速度
opus - 最高质量
haiku - 最快响应
--fallback-model <model>
启用默认模型过载时的自动降级(仅 --print 模式)。
claude -p "重要任务" \ --model opus \ --fallback-model sonnet \ --print
--agent <agent>
指定会话使用的代理(覆盖 ‘agent’ 设置)。
claude --agent code-reviewer claude --agents '{"reviewer":{"description":"Reviews code","prompt":"你是代码审查专家"}}' \ --agent reviewer
--agents <json>
定义自定义代理的 JSON 对象。
claude --agents '{ "reviewer": { "description": "Reviews code for bugs and style issues", "prompt": "You are a code reviewer. Focus on clarity and correctness." }, "optimizer": { "description": "Optimizes code for performance", "prompt": "You are a performance optimization expert." } }' claude --agent reviewer
MCP 配置选项
MCP(Model Context Protocol)相关配置。
--mcp-config <configs...>
从 JSON 文件或字符串加载 MCP 服务器(空格分隔)。
claude --mcp-config ./servers/server1.json claude --mcp-config ./server1.json ./server2.json claude --mcp-config '{"name":"my-server","command":"node","args":["./server.js"]}' claude --mcp-config ./config.json '{"name":"temp-server","command":"python"}'
配置文件格式示例 (server.json):
{ "name" : "my-server" , "command" : "node" , "args" : [ "./server.js" ] , "env" : { "API_KEY" : "your-key" } }
--strict-mcp-config
仅使用 --mcp-config 指定的 MCP 服务器,忽略其他配置。
claude --strict-mcp-config \ --mcp-config ./my-server.json
系统提示词选项
控制系统提示词的选项。
--system-prompt <prompt>
使用自定义系统提示词。
claude --system-prompt "你是一个 Rust 专家" \ -p "帮我优化这段代码" claude --system-prompt "你是代码审查专家,专注于安全性和性能" \ -p "审查这个文件"
--append-system-prompt <prompt>
追加系统提示词到默认提示词。
claude --append-system-prompt "始终包含单元测试" \ -p "创建一个函数" claude --append-system-prompt "所有代码必须包含详细注释" \ -p "实现快速排序"
权限模式选项
控制权限检查行为。
--permission-mode <mode>
指定会话的权限模式。
可选值 :
default - 默认权限模式
acceptEdits - 自动接受编辑
bypassPermissions - 绕过权限检查
delegate - 委托权限决策
dontAsk - 不询问权限
plan - 计划模式
claude --permission-mode acceptEdits claude --permission-mode bypassPermissions claude --permission-mode delegate claude --permission-mode dontAsk claude --permission-mode plan claude -p "批量重构" \ --permission-mode acceptEdits \ --print
设置和配置选项
--settings <file-or-json>
从文件或 JSON 字符串加载额外设置。
claude --settings ./my-settings.json claude --settings '{"model":"sonnet","temperature":0.7}' claude --settings ./config.json \ --permission-mode acceptEdits
--setting-sources <sources>
指定要加载的设置源(逗号分隔)。
可选值 :
user - 用户设置
project - 项目设置
local - 本地设置
claude --setting-sources user claude --setting-sources user,project claude --setting-sources user,project,local claude --setting-sources project
--plugin-dir <paths...>
仅为此会话从指定目录加载插件(可重复)。
claude --plugin-dir ./custom-plugins claude --plugin-dir ./plugins1 ./plugins2 claude --plugin-dir ~/.claude/plugins \ -p "使用自定义插件"
Beta 和测试选项
--betas <betas...>
在 API 请求中包含 Beta 标头(仅 API 密钥用户)。
claude --betas new-feature claude --betas feature1,feature2
IDE 集成选项
--ide
启动时自动连接到 IDE(如果有恰好一个有效 IDE)。
claude --ide claude --ide -c "继续调试"
--no-chrome
禁用 Chrome 集成。
--chrome
启用 Chrome 集成。
目录和会话选项
--add-dir <directories...>
允许工具访问的额外目录(可重复)。
claude --add-dir /path/to/project claude --add-dir ./src ./tests ./docs claude --add-dir ~/projects/shared \ -p "访问共享目录"
其他选项
--max-budget-usd <amount>
API 调用的最大美元金额(仅 --print 模式)。
claude -p "大型分析任务" \ --max-budget-usd 5.00 \ --print claude -p "生成大量代码" \ --model opus \ --max-budget-usd 10.00 \ --print
--disable-slash-commands
禁用所有斜杠命令。
claude --disable-slash-commands
-v, --version
输出版本号。
claude -v claude --version
-h, --help
显示帮助信息。
claude --help claude mcp --help claude plugin --help
使用场景与示例
场景 1:代码审查
claude --agent reviewer > 请审查 src/main.py 文件 claude -p "审查 src/ 目录下的所有 Python 文件" \ --allowed-tools "Read,Grep" \ --print claude -p "审查代码并输出问题" \ --output-format json \ --json-schema '{ "type": "array", "items": { "type": "object", "properties": { "file": {"type": "string"}, "line": {"type": "integer"}, "issue": {"type": "string"}, "severity": {"type": "string"} } } }' \ > review-results.json
场景 2:批量代码生成
claude -p "为以下模块创建单元测试:auth, user, payment" \ --allowed-tools "Write,Read" \ --print claude -p "生成完整的 API 文档" \ --output-format stream-json \ --include-partial-messages \ --print
场景 3:CI/CD 集成
#!/bin/bash echo "检查代码风格..." claude -p "检查 src/ 目录的代码风格" \ --output-format json \ --allowed-tools "Read,Grep" \ > style-check.json echo "运行测试..." claude -p "分析测试覆盖率报告" \ --input-format text \ --output-format json \ < coverage.txt \ > test-analysis.json echo "生成变更日志..." claude -p "基于 git log 生成变更日志" \ --allowed-tools "Bash(git:*)" \ --print \ > CHANGELOG.md
场景 4:MCP 服务器集成
claude --mcp-config '{ "name": "postgres", "command": "npx", "args": ["@modelcontextprotocol/server-postgres"], "env": { "DATABASE_URL": "postgresql://localhost/mydb" } }' -p "查询用户表" claude \ --mcp-config ./postgres-server.json \ --mcp-config ./filesystem-server.json \ -p "从数据库读取用户数据并保存到文件系统" claude --strict-mcp-config \ --mcp-config ./my-server.json \ -p "执行自定义任务"
场景 5:会话恢复与分支
claude > 开始实现用户认证功能... claude -c claude -r "用户认证" claude -r --fork-session > 让我们尝试使用 JWT 而不是 Session
场景 6:成本控制
claude -p "分析大型代码库" \ --model haiku \ --fallback-model sonnet \ --max-budget-usd 3.00 \ --print claude -p "简单任务" --model haiku --max-budget-usd 0.50 --print claude -p "复杂任务" --model opus --max-budget-usd 10.00 --print
场景 7:多模型策略
claude -p "创建基本结构" \ --model haiku \ --print claude -p "优化代码性能" \ --model sonnet \ --print claude -p "深度代码审查" \ --model opus \ --print
场景 8:自定义代理工作流
claude --agents '{ "analyzer": { "description": "分析代码结构和依赖", "prompt": "你是代码分析专家" }, "optimizer": { "description": "优化代码性能", "prompt": "你是性能优化专家" }, "tester": { "description": "生成测试用例", "prompt": "你是测试专家" } }' claude --agent analyzer -p "分析项目结构" --print claude --agent optimizer -p "优化瓶颈代码" --print claude --agent tester -p "生成集成测试" --print
高级用法
自定义系统提示词
claude --system-prompt "你是 Rust 专家,专注于性能和安全性" \ -p "实现并发数据结构" claude --append-system-prompt "所有代码必须包含文档注释和单元测试" \ -p "创建二叉搜索树"
工具权限精细控制
claude --allowed-tools "Bash(git:status),Bash(git:log),Bash(git:diff)" claude --disallowed-tools "Bash(rm:*),Bash(dd:*)" claude \ --allowed-tools "Bash(git:*),Read,Edit" \ --disallowed-tools "Bash(git:push)" \ -p "审查代码但不推送"
多源设置加载
claude --setting-sources project,local claude --setting-sources project claude \ --settings ./override.json \ --setting-sources user,project
流式数据处理
cat large-dataset.json | claude -p \ --input-format stream-json \ --output-format stream-json \ --replay-user-messages \ > processed-output.json claude -p "处理大规模数据" \ --output-format stream-json \ --include-partial-messages \ --print
调试复杂问题
claude -d "api,hooks" -p "调试 MCP 连接" claude -d "!statsig,!file" -p "专注 API 调用" claude --verbose -d "all" -p "完整调试信息"
故障排除
常见问题
1. MCP 服务器连接失败
claude -d "mcp" --mcp-config ./server.json -p "测试连接" claude mcp list cat ./server.json | jq .
2. 权限被拒绝
claude --permission-mode default -p "检查权限" claude --permission-mode bypassPermissions -p "任务" claude --allowed-tools "Read,Edit" -p "受限任务"
3. 会话无法恢复
claude -r claude --session-id <your-uuid> -p "测试" claude -c --fork-session
4. 模型过载
claude -p "重要任务" \ --model opus \ --fallback-model sonnet \ --print claude -p "任务" --model sonnet --print
5. 插件加载失败
claude --plugin-dir ./custom-plugins -p "测试插件" claude plugin list claude plugin install <plugin-name> --reinstall
调试技巧
claude --verbose -d "all" -p "调试任务" claude --settings ~/.claude/settings.json -p "验证配置" claude --allowed-tools "Bash(echo:*)" -p "echo 'test'" claude mcp list claude -d "mcp" -p "测试 MCP" claude doctor
最佳实践
1. 性能优化
claude -p "小任务" --model haiku --print claude -p "任务" --max-budget-usd 5.00 --print claude -p "关键任务" \ --model opus \ --fallback-model sonnet \ --print
2. 安全性
claude --allowed-tools "Read,Grep" -p "只读任务" claude --disallowed-tools "Bash(rm:*),Bash(dd:*)" -p "安全任务" claude -p "任务" --print
3. 自动化集成
claude -p "任务" --output-format json --print claude -p "任务" \ --output-format json \ --json-schema '{"type":"object","properties":{"result":{"type":"string"}}}' \ --print
4. 会话管理
claude claude -r "重要任务" claude -c --fork-session
附录
快速参考卡片
claude claude -p "任务" claude -c claude -r [id ] --model <name> --output-format json --allowed-tools <list> --mcp-config <file> -d <filter> --verbose --permission-mode <mode> claude mcp list claude plugin list claude doctor claude update claude install stable
相关资源
版本信息
本文档基于 Claude Code CLI 的当前版本编写。使用 claude --version 查看安装的版本。
文档更新日志
2025-12-24
修正内容 :
✅ 更新 mcp 命令文档,添加所有实际子命令(serve, get, add-json, add-from-claude-desktop, reset-project-choices)
✅ 修正 add 命令的参数格式(add [options] <name> <commandOrUrl> [args...])
✅ 添加 --transport 选项说明(支持 http、sse、stdio)
✅ 添加实际 MCP 服务器配置示例(Sentry HTTP、Asana SSE、Airtable stdio)
✅ 更新 plugin 命令文档,添加所有子命令(validate, marketplace, enable, disable)
✅ 修正插件安装命令格式(支持 plugin@marketplace 格式)
✅ 添加 --force 选项到 install 命令
✅ 添加 plan 到 --permission-mode 可选值
验证方法 :
所有命令和选项均已通过实际 claude --help 和子命令帮助验证。
最后更新 : 2025-12-25