本文档基于 Claude Code 官方文档(code.claude.com/docs)核实整理,整理日期 2026-07-29。每节末尾附来源链接,可点击查看最新版本。
1. CLI 命令与常用 Flags
1.1 启动方式
方式 | 命令 | 说明 |
交互模式 | claude | 启动交互式会话 |
交互 + 初始提示 | claude "query" | 启动会话并附加初始提示 |
无头模式 | claude -p "query" | 执行后退出,返回结果 |
管道输入 | cat file.txt | claude -p "query" | 从 stdin 读取,处理后退出 |
继续最近会话 | claude -c / claude --continue | 继续最近对话 |
恢复指定会话 | claude -r "session-id" / claude --resume | 恢复指定会话或显示选择器 |
1.2 核心 Flags
会话管理
Flag | 短形式 | 说明 |
--continue | -c | 加载最近对话 |
--resume | -r | 按 ID 或名称恢复会话 |
--name | -n | 设置会话显示名称 |
--session-id | — | 使用特定 UUID 会话 |
--fork-session | — | 恢复时创建新会话 ID,不覆盖原会话 |
输入 / 输出
Flag | 说明 |
--print / -p | 非交互模式,打印结果后退出 |
--output-format | text / json / stream-json |
--input-format | text / stream-json |
--json-schema | 用 JSON Schema 约束结构化输出 |
--verbose | 详细日志 |
模型与推理深度
Flag | 说明 | 有效值 |
--model | 指定模型 | 完整模型名或别名 opus / sonnet / haiku |
--effort | 推理努力级别 | low / medium / high / xhigh / max |
--fallback-model | 主模型不可用时的备用模型 | 逗号分隔模型名 |
权限与安全
Flag | 说明 |
--permission-mode | default / acceptEdits / plan / auto / dontAsk / bypassPermissions |
--dangerously-skip-permissions | 跳过所有权限提示,等同 bypassPermissions,仅在完全信任输入时使用 |
--allowedTools | 无需提示即可执行的工具,支持前缀匹配,如 "Bash(git diff *),Read" |
--disallowedTools | 禁用指定工具 |
--tools | 限制可用的内置工具集 |
流控制与自动化
Flag | 说明 |
--max-turns | 限制 agent 轮次(无头模式常用) |
--max-budget-usd | 最大支出限制,超过即停止 |
--bare | 跳过 hooks / skills / MCP / CLAUDE.md 等自动发现,用于 CI 可重现执行 |
--mcp-config | 指定 MCP 配置文件或 JSON |
--strict-mcp-config | 只用指定的 MCP 配置,忽略自动发现 |
工作树与并行
Flag | 说明 |
--worktree / -w | 创建或进入隔离 git worktree |
--tmux | 为工作树创建 tmux 会话 |
--background / --bg | 启动后台会话 |
1.3 实用组合示例
# 无头 + 限定工具 + 限制轮次:一次性修复任务 claude -p "Find and fix type errors in src/" \ --allowedTools "Bash,Read,Edit" \ --max-turns 5 # 无头 + JSON 输出 + 成本追踪 claude -p "Analyze this codebase" \ --output-format json | jq '.total_cost_usd' # 工作树隔离 + 计划模式:大改动前先出方案 claude --worktree feature-x --permission-mode plan # 管道处理日志 cat error.log | claude -p "解释这个报错的根因"
2. 交互模式进阶
2.1 常用内置斜杠命令
命令 | 说明 |
/init | 生成或改进项目 CLAUDE.md |
/clear | 清空上下文开始新对话(保留项目记忆) |
/compact [说明] | 总结压缩上下文,可附压缩侧重点 |
/context | 可视化当前上下文占用 |
/memory | 编辑 CLAUDE.md 与自动记忆 |
/model [name] | 切换模型 |
/effort [level] | 设置推理努力级别 |
/plan | 切换到计划模式 |
/rewind | 回滚代码与对话到检查点 |
/resume | 会话选择器 |
/fork | 复制当前对话到新后台会话 |
/diff | 交互式差异查看器 |
/code-review [--fix] | 审查当前差异,可自动应用修复 |
/security-review | 检查差异中的安全问题 |
/usage / /cost | 查看 token 使用与成本 |
/permissions | 管理批准规则 |
/mcp | MCP 服务器管理 |
/hooks | 查看 hook 配置 |
/doctor | 环境诊断 |
/export [文件名] | 导出对话为纯文本 |
/add-dir <path> | 添加额外工作目录 |
/config | 打开设置界面 |
2.2 键盘与输入技巧
操作 | 说明 |
!<command> | 直接在会话内执行 bash 命令,输出进入上下文 |
#<note> | 添加记忆备注(写入自动记忆) |
@<filepath> | 引用文件,缩小问题空间 |
Esc | 中断当前生成 |
Shift+Tab | 循环切换权限模式 |
Ctrl+R | 搜索命令历史 |
Ctrl+G | 用外部编辑器编辑当前输入 |
Ctrl+V | 粘贴图像 |
Ctrl+T | 切换待办列表显示 |
Ctrl+O | 切换详细转录 |
Tab | 补全命令、文件路径 |
Vim 模式:
/config 中 Editor mode 设为 vim;用 vimInsertModeRemaps 可配置如 jj 映射 Escape。来源:https://code.claude.com/docs/en/interactive-mode.md 、https://code.claude.com/docs/en/keybindings.md
3. 记忆体系(CLAUDE.md)
3.1 层级与加载顺序(优先级从低到高)
优先级 | 作用域 | 位置 |
1 | 用户全局 | ~/.claude/CLAUDE.md |
2 | 项目 | ./CLAUDE.md(随 git 提交,团队共享) |
3 | 项目本地 | ./CLAUDE.local.md(gitignored,个人私有) |
4 | 嵌套目录 | <subdir>/CLAUDE.md(读到该目录文件时按需加载) |
5 | 项目规则 | ./.claude/rules/*.md(支持路径作用域) |
6 | 用户规则 | ~/.claude/rules/*.md |
7 | 托管策略 | IT 管理下发,不可排除 |
3.2 Import 语法
@README.md # 相对路径 @~/.claude/shared-rules.md # 主目录展开
- 最大递归 4 层;代码块和反引号内的 @ 视为字面量
- 项目目录之外的导入首次加载需确认
3.3 自动记忆
- 存储位置:
~/.claude/projects/<project>/memory/,MEMORY.md为索引
- 每次会话只加载索引前 200 行或 25 KB(先到为准),主题文件按需读取
- 用
/memory管理,或设置autoMemoryEnabled: false关闭
4. Skills(自定义斜杠命令)
- 自定义命令已合并进 Skills;
.claude/commands/仍向后兼容,但推荐用 Skills
- 位置:
.claude/skills/<name>/SKILL.md(项目级)或~/.claude/skills/(用户级),可带支持脚本和子目录
--- name: deploy description: 何时触发的说明,Claude 据此自动调用 model: haiku # 可选,专用模型 tools: ["Read", "Bash"] # 可选,限制工具 invocation: user # auto 自动触发 / user 仅手动 / never 禁用 --- 技能正文:具体指令与流程...
5. Subagents(子代理)
- 位置:
.claude/agents/<name>.md或~/.claude/agents/
- Claude 遇到匹配 description 的任务时自动派发;子代理有独立上下文、工具集与权限,完成后只把摘要带回主会话
- 典型场景:探索性搜索(隔离上下文污染)、代码审查、并行实现
--- name: code-reviewer description: 审查代码改动时使用 model: sonnet tools: ["Read", "Bash"] isolation: worktree # 可选,独立工作树防止文件冲突 --- 代理系统提示...
6. Hooks(钩子)
6.1 常用事件
事件 | 触发时机 | exit 2 行为 |
PreToolUse | 工具执行前 | 阻止该工具调用 |
PostToolUse | 工具成功后 | 不阻止,stderr 反馈给 Claude |
UserPromptSubmit | 用户提交提示前 | 阻止该提示处理 |
Stop | Claude 准备结束响应时 | 阻止停止,强制继续 |
SessionStart / SessionEnd | 会话开始 / 结束 | 不可阻止 |
SubagentStop | 子代理完成 | 可阻止 |
PreCompact / PostCompact | 上下文压缩前后 | — |
PermissionRequest | 需要权限决策时 | 拒绝权限 |
Notification | Claude 发送通知时 | — |
6.2 配置格式(settings.json)
{ "hooks": { "PreToolUse": [ { "matcher": "Bash|Edit|Write", "hooks": [ { "type": "command", "command": "/path/to/check.sh" } ] } ] } }
- matcher 支持精确名(
Bash)、多选(Bash|Edit)、正则(mcp__.*__write.*)、全部(*)
- hook 类型:
command(本地脚本)与http(POST 到远程 URL)
- 输入通过 stdin 传 JSON(含
session_id、tool_name、tool_input等)
6.3 Exit code 语义
Exit code | 含义 |
0 | 成功,解析 stdout 中的 JSON |
2 | 阻止性错误,stderr 内容作为原因 |
其他 | 非阻止错误,继续执行 |
提示:CLAUDE.md 里的规则是「建议」,Claude 可能遗忘;hooks 是「硬约束」,由 harness 强制执行。硬性纪律(如禁止 push main、提交前必须 lint)应沉淀为 hooks。
7. MCP(Model Context Protocol)
7.1 常用命令
claude mcp add <name> stdio -- node /path/to/server.js # 本地 stdio claude mcp add <name> http https://example.com/mcp # 远程 HTTP claude mcp add <name> sse https://example.com/sse # 远程 SSE claude mcp list # 列出服务器 claude mcp login <name> # OAuth 认证 claude mcp remove <name> # 移除
7.2 作用域
Scope | 位置 | 共享方式 |
local | ~/.claude.json | 个人所有项目 |
project | .mcp.json(随 git 提交) | 团队共享 |
managed | 服务器下发 | IT 管理 |
7.3 .mcp.json 示例
{ "mcpServers": { "github": { "type": "stdio", "command": "node", "args": ["/path/to/github-mcp/index.js"], "env": { "GITHUB_TOKEN": "$GITHUB_TOKEN" } }, "remote-api": { "type": "sse", "url": "https://api.example.com/mcp" } } }
8. 设置与权限(settings.json)
8.1 层级优先级(从低到高)
~/.claude/settings.json(用户全局)
.claude/settings.json(项目,git 提交)
.claude/settings.local.json(项目本地,gitignored)
--settings参数
- 托管设置(IT 下发,最高)
CLI flags(
--model 等)临时覆盖当次调用。8.2 权限规则语法
{ "permissions": { "allow": [ "Bash(npm run lint)", "Bash(npm run test *)", "Read(~/.zshrc)" ], "deny": [ "Bash(curl *)", "Read(./.env)", "Read(./.env.*)" ] } }
- Bash 规则用前缀匹配(
*通配参数);文件规则支持 glob(Edit(src/**))
- deny 优先于 allow;敏感文件(.env、密钥)建议显式 deny
- MCP 工具可整体匹配:
mcp__github__*
9. 无头模式与自动化
9.1 Print mode 脚本化
# 结构化输出 claude -p "Extract all function names" \ --output-format json \ --json-schema '{"type":"object","properties":{"functions":{"type":"array","items":{"type":"string"}}}}' # 流式输出(适合接入其他程序) claude -p "Explain" --output-format stream-json --include-partial-messages # 批量并行任务 for f in $(cat files.txt); do claude -p "迁移 $f" --allowedTools "Edit,Bash" & done
JSON 输出包含
structured_output、session_id、total_cost_usd 等字段,方便脚本消费。9.2 Bare mode(CI 推荐)
--bare 跳过 hooks、skills、MCP 自动发现、auto memory、CLAUDE.md 加载,保证 CI 中行为可重现;需要的配置用 --settings / --mcp-config / --append-system-prompt 显式传入。9.3 GitHub Actions
在 Claude Code 交互模式运行
/install-github-app 一键安装,或手动配置:jobs: review: runs-on: ubuntu-latest steps: - uses: anthropics/claude-code-action@v1 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} prompt: "Review this PR for security issues" claude_args: "--max-turns 5 --model claude-sonnet-5"
10. 其他进阶技巧
10.1 Worktree 并行开发
claude -w feature-auth # 创建或进入隔离工作树 claude -w feature-auth --tmux # 配合 tmux
- 多个功能互不干扰,可同时开多个 Claude 会话并行开发
- gitignored 但构建必需的文件(如 .env、嵌入资源)可通过
.worktreeinclude声明自动复制
- settings.json 中
worktree.baseRef控制基于远程默认分支(fresh)还是当前 HEAD
10.2 Plan mode
大改动前用
/plan 或 --permission-mode plan:先只读探索并产出方案,批准后再动手,避免方向错了浪费轮次。10.3 成本控制
/cost查看当前会话花费;--max-budget-usd给无头任务设硬上限
- 模型选择:简单任务用 Haiku,日常用 Sonnet,复杂推理和审查用 Opus
- 上下文优化:
/context看占用、/compact主动压缩、不相关任务之间/clear
10.4 会话管理
claude -n "auth-refactor" # 命名当前会话 claude --resume "auth-refactor" # 按名称恢复 claude --resume abc123 --fork-session # 恢复并分叉,不影响原会话
来源:https://code.claude.com/docs/en/worktrees.md 、https://code.claude.com/docs/en/sessions.md 、https://code.claude.com/docs/en/costs.md
附:官方文档索引
主题 | URL |
文档地图 | |
CLI 参考 | |
交互模式 | |
记忆系统 | |
Skills | |
Subagents | |
Hooks | |
MCP | |
设置 | |
权限 | |
无头模式 | |
GitHub Actions | |
Worktrees | |
Agent SDK |
评论加载中…