跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

CLI 参考

Claude Code 命令行界面的命令与标志速查:会话、认证、MCP、插件、权限、输出格式、系统提示等。

CLI 命令

可以用这些命令启动会话、管道传入内容、恢复对话和管理更新:

命令说明示例
claude启动交互式会话claude
claude "query"带初始提示启动交互式会话claude "explain this project"
claude -p "query"通过 SDK 查询,然后退出claude -p "explain this function"
cat file | claude -p "query"处理通过管道传入的内容cat logs.txt | claude -p "explain"
claude -c继续当前目录里最近的对话claude -c
claude -c -p "query"通过 SDK 继续claude -c -p "Check for type errors"
claude -r "<session>" "query"按 ID 或名字恢复会话claude -r "auth-refactor" "Finish this PR"
claude update更新到最新版本claude update
claude install [version]安装或重新安装原生二进制文件,接受版本号(如 2.1.118)、stable 或 latestclaude install stable
claude auth login登录 Anthropic 账号;--email 预填邮箱,--sso 强制 SSO,--console 用 Anthropic Console 登录以按 API 用量计费claude auth login --console
claude auth logout退出 Anthropic 账号claude auth logout
claude auth status以 JSON 显示认证状态,--text 输出可读文本;已登录时退出码为 0,否则为 1claude auth status
claude agents打开智能体视图,监控和派发并行的后台会话claude agents
claude attach <id>在当前终端里附加到某个后台会话claude attach 7c5dcf5d
claude doctor不启动会话,从终端打印只读的安装和设置诊断claude doctor
claude import [source]启动运行 /import 的交互式会话,把其他编码智能体的配置导入 Claude Codeclaude import
claude logs <id>打印某个后台会话最近的输出claude logs 7c5dcf5d
claude mcp配置 MCP 服务器见 MCP 文档
claude mcp login <name> / claude mcp logout <name>在不打开交互式 /mcp 面板的情况下,运行 / 清除某个已配置 MCP 服务器的 OAuth 凭据claude mcp login sentry
claude plugin管理 Claude Code 插件(别名 claude plugins)claude plugin install code-review@claude-plugins-official
claude project purge [path]删除某个项目的所有本地 Claude Code 状态:转录、任务列表、调试日志、文件编辑历史、提示历史和 ~/.claude.json 里的项目条目claude project purge
claude remote-control启动 Remote Control 服务器,从 Claude.ai 或 Claude App 控制 Claude Codeclaude remote-control
claude setup-token为 CI 和脚本生成长期 OAuth 令牌(打印到终端而不保存,需要 Claude 订阅)claude setup-token
claude stop <id>停止某个后台会话(也接受 claude kill)claude stop 7c5dcf5d
claude ultrareview [target]非交互地运行 ultrareview,把发现打印到 stdout;成功退出码 0,失败 1claude ultrareview

如果你拼错了子命令,Claude Code 会建议最接近的匹配并退出,而不启动会话。例如 claude udpate 会打印 Did you mean claude update?。

CLI 标志

用这些命令行标志定制 Claude Code 的行为。claude --help 不会列出所有标志,所以某个标志没出现在 --help 里并不意味着它不可用。

会话与模型

标志说明
--continue、-c加载当前目录里最近的对话
--resume、-r按 ID 或名字恢复特定会话,或显示交互式选择器;也可传会话 .jsonl 转录文件的绝对路径
--fork-session恢复时创建新会话 ID,而不是复用原来的(与 --resume 或 --continue 搭配)
--name、-n为会话设置显示名,显示在 /resume 和终端标题里;可用 claude --resume <name> 恢复
--session-id为对话使用特定的会话 ID(必须是有效的 UUID)
--from-pr打开按特定 PR 过滤的会话选择器,接受 PR 号、GitHub 或 GitHub Enterprise 的 PR URL、GitLab 合并请求 URL 或 Bitbucket PR URL
--model用模型别名(sonnet、opus、haiku、fable)或完整模型名设置当前会话的模型
--effort设置当前会话的努力等级:low、medium、high、xhigh、max 或 ultracode
--fallback-model主模型过载或不可用(如已退役)时自动回退到指定模型,接受逗号分隔的列表,按顺序尝试
--worktree、-w在 <repo>/.claude/worktrees/<name> 的隔离 git worktree 里启动 Claude;不给名字时 Claude Code 自动生成
--add-dir添加 Claude 可读取和编辑文件的额外工作目录
--cloud带任务描述时创建新的云端会话;带会话 ID 或 claude.ai/code URL 时,把消息排入那个已有会话
--teleport在本地终端里恢复云端会话
--remote-control、--rc启动启用了 Remote Control 的交互式会话,让你也能从 claude.ai 或 Claude App 控制它
--bg、--background把会话作为后台智能体启动并立即返回,打印会话 ID 和管理命令

权限与安全

标志说明
--permission-mode以指定的权限模式开始:default、acceptEdits、plan、auto、dontAsk、bypassPermissions,或作为 default 别名的 manual
--dangerously-skip-permissions跳过权限提示,等价于 --permission-mode bypassPermissions
--allow-dangerously-skip-permissions把 bypassPermissions 加入 Shift+Tab 的模式循环,但不以它开始
--allowedTools、--allowed-tools不经权限提示就执行的工具
--disallowedTools、--disallowed-toolsdeny 规则;裸工具名把匹配的工具从 Claude 的上下文里移除:"Edit" 移除 Edit,"*" 移除每个工具,"mcp__*" 移除每个 MCP 工具
--tools限制 Claude 能用哪些内置工具:用 "" 禁用全部,"default" 用默认集,或写工具名如 "Bash,Edit,Read"
--permission-prompt-tool指定一个 MCP 工具来在非交互模式下处理权限提示
--permission-prompts设置打印模式下谁来回答权限提示;传 none 表示没有人能回答
--restricted以受限模式启动,用于评估框架在共享机器上驱动 claude 的场景

配置与诊断

标志说明
--settings设置 JSON 文件的路径或内联 JSON 字符串;这里设的值在本会话里覆盖你 settings.json 文件里的同名键
--setting-sources逗号分隔的要加载的设置来源列表(user、project、local)
--mcp-config从 JSON 文件或字符串加载 MCP 服务器(空格分隔)
--strict-mcp-config只使用 --mcp-config 里的 MCP 服务器,忽略所有其他 MCP 配置
--agent为当前会话指定一个智能体(覆盖 agent 设置)
--agents用 JSON 动态定义自定义子智能体
--plugin-dir / --plugin-url只为本会话从目录、.zip 归档或 URL 加载插件
--disable-slash-commands对本会话禁用所有 Skill 和命令
--safe-mode在所有自定义项被禁用的情况下启动,用来排查损坏的配置
--debug / --debug-file <path>启用调试模式(可带类别过滤,如 --debug='mcp,startup')/ 把调试日志写到指定文件
--verbose启用详细日志,显示完整的逐回合输出
--version、-v输出版本号
--chrome / --no-chrome启用 / 禁用 Chrome 浏览器集成
--ide恰好有一个有效 IDE 可用时启动后自动连接 IDE

打印模式(-p)

标志说明
--print、-p不进入交互模式,直接打印响应
--output-format指定打印模式的输出格式:text、json、stream-json
--input-format指定打印模式的输入格式:text、stream-json
--json-schema在智能体完成工作流后,获得与 JSON Schema 匹配的经过验证的 JSON 输出(仅打印模式)
--include-partial-messages在输出里包含部分流式事件(需要 --print 和 --output-format stream-json)
--max-turns限制智能体回合数(仅打印模式),达到限制时以错误退出,默认无限制
--max-budget-usd停止之前在 API 调用上花费的最大美元数(仅打印模式),子智能体的花费也计入上限
--no-session-persistence禁用会话持久化,会话不保存到磁盘且无法恢复(仅打印模式)
--bare最小模式:跳过 Hook、Skill、自定义命令、子智能体、已安装插件、MCP 服务器、自动记忆和 CLAUDE.md 的自动发现,让脚本调用启动更快

系统提示标志

标志行为示例
--system-prompt用自定义文本替换整个系统提示claude --system-prompt "You are a Python expert"
--system-prompt-file从文件加载系统提示,替换默认提示claude --system-prompt-file ./custom-prompt.txt
--append-system-prompt把自定义文本追加到默认系统提示末尾claude --append-system-prompt "Always use TypeScript"
--append-system-prompt-file从文件加载额外的系统提示文本并追加到默认提示claude --append-system-prompt-file ./extra-rules.txt

用 --append-system-prompt 在保留 Claude Code 内置能力的同时增加指令(多数场景推荐);只有想完全控制系统提示时才用 --system-prompt 替换它。