命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
最小化模式,跳过自动发现以加快脚本调用启动
--bareclaude --bare -p "query"--bare 是 Claude Code CLI 的精简(最小化)模式 flag。开启后,Claude Code 会跳过对 hooks、skills、custom commands、subagents、plugins、MCP servers、auto memory、CLAUDE.md 的自动发现,目的是让脚本化调用(尤其是配合 -p)启动更快。
默认情况下(不带 --bare),-p 会像交互式会话一样加载完整上下文,包括工作目录或 ~/.claude 中配置的一切。开启 --bare 后,Claude 仍可使用 Bash、文件读取(Read)、文件编辑(Edit)三个内置工具。通过 --add-dir 传入的目录是部分例外:该目录下 .claude/skills/ 里的 skills 仍会加载,但 .claude/commands/ 和 .claude/agents/ 依旧被跳过。
官方文档明确标注:
--bareis the recommended mode for scripted and SDK calls, and will become the default for-pin a future release.
也就是说,目前仍需手动指定 --bare,官方计划未来将其设为 -p 的默认行为(尚未成为默认)。
claude --bare -p "query"
官方示例(预先批准 Read 工具,避免弹出权限提示,并需要在环境中设置 ANTHROPIC_API_KEY):
claude --bare -p "Summarize README.md" --allowedTools "Read"
--bare 主要与 -p(--print)搭配使用,用于 CI 和脚本场景。由于它会跳过 MCP servers、plugins、CLAUDE.md 等自动加载,若仍需要这些上下文,需显式通过对应 flag 补充:
| 想加载的内容 | 使用的 flag |
|---|---|
| System prompt 附加内容 | --append-system-prompt、--append-system-prompt-file |
| Settings | --settings <file-or-json> |
| MCP servers | --mcp-config <file-or-json> |
| 自定义 agents | --agents <json> |
| 插件 | --plugin-dir <path>、--plugin-url <url> |
| 约束 | 原因 |
|---|---|
| bare 模式下 Claude Code 不读取 OAuth 凭证或系统 keychain | 官方文档明确写明 "never reads OAuth credentials or the system keychain" |
使用 Anthropic API 时必须显式设置 ANTHROPIC_API_KEY(在 Claude Console 创建的 key),或通过 --settings JSON 提供 apiKeyHelper | bare 模式不使用订阅登录 |
| Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 仍照常读取各自的 provider 凭证 | 这几条渠道的鉴权方式不受 bare 模式影响 |
| bare 模式下只能使用 Bash、文件读取、文件编辑三个内置工具 | 其余工具依赖 hooks / skills / plugins / MCP 等自动发现机制,均被跳过 |
官方文档指出该模式 "useful for CI and scripts where you need the same result on every machine":不带 --bare 时,队友 ~/.claude 里的 hook、项目 .mcp.json 里的 MCP server 都可能在不同机器上产生不同结果;--bare 完全不读取这些内容,从而保证可复现性。官方也建议脚本化 / SDK 调用优先使用该模式。
--bare 时 -p 也会静默加载陌生仓库的内容:官方文档强调,没有 --bare,claude -p 不会弹出 workspace trust 对话框,也没有逐个 MCP server 的审批提示——即便在从未信任过的文件夹里运行也是如此。这意味着队友 .claude/settings.json 里的 hook、项目 .mcp.json 里的 MCP server 都会被静默执行 / 连接,容易造成误解为"-p 更安全"。ANTHROPIC_API_KEY(或 apiKeyHelper)会导致鉴权失败,因为 bare 模式完全不读取 OAuth 凭证或 keychain。--add-dir 的加载是不完整的例外:容易误以为 --add-dir 传入的目录会把该目录下的 commands/agents 也一并加载,但官方文档明确只有 .claude/skills/ 会加载,.claude/commands/ 和 .claude/agents/ 依然被跳过。修复 bare 模式通知仍提示去掉 --bare 重启的问题,以及 --bare 会话漏掉 --channels 请求的 constructor 或 prototype MCP server 的问题。
修复 --bare 会话中 /login 命令的问题
改为仅连接命令行上指定的 MCP 服务器、不向模型发送系统提醒并不启动后台任务
背景会话现在在 retire→wake 和 respawn 过程中保留此参数
修复了在 subagent 中被忽略的问题
修复 --bare 模式在交互式会话中丢弃 MCP 工具的问题
改进 SDK 模式性能,提升约 14% 的 API 请求速度
为脚本化 -p 调用添加标志,跳过钩子、LSP、插件同步和技能目录遍历