启动参数看官方文档运行Setup和SessionStart hooks后退出Syntax--init-only示例claude --init-only全网调研整理典型场景CI/CD 流水线中执行环境初始化(安装依赖、生成配置),无需启动交互式会话企业级仓库准备:确保代码库「Claude-ready」(生成 .mcp.json、建索引)后让开发者开始工作无头/容器环境中的 bootstrap,后续再执行其他 claude 命令一次性依赖安装脚本,与普通会话启动逻辑完全隔离自动化测试前的环境预热,清洁退出码可被 CI 工具直接判断成功/失败实用技巧Setup hook 的 matcher 须设为 `init`,SessionStart hook 的 matcher 须设为 `startup`,两者都会在 --init-only 时执行在 hook 脚本中写入 `$CLAUDE_ENV_FILE` 可把环境变量传给同一进程内的后续 Bash 命令与 `--init` 的区别:`--init` 执行 Setup hook 后仍进入交互式 REPL,`--init-only` 则立即退出hook 脚本返回 exit code 2 会触发阻断错误并显示 stderr,可用于 CI 硬失败场景Setup hook 的 `timeout` 建议设 300 秒以上,避免大型依赖安装被提前杀死常见坑Setup hook 在普通 `claude` 启动时不触发,只有 `--init-only` 或 `-p --init` / `-p --maintenance` 才会激活仅支持 `type: command` 和 `type: mcp_tool` 类型的 hook,prompt/agent 类型在此不生效`CLAUDE_ENV_FILE` 写入的变量仅在当前进程内有效,退出后不会自动带入后续独立的 `claude` 会话来源Hooks reference - Claude Code Docs[DOCS] Missing documentation for Setup hook and --init-only flags · Issue #18724 · anthropics/claude-codeClaude Code Setup Hooks: Automate Onboarding and Maintenance - claudefa.stclaude-code-best-practice: claude-cli-startup-flags.mdClaude Code Session Hooks: Auto-Load Context Every Time - claudefa.st创建于v2.1.10最近更新v2.1.10变化次数1新增 1变化时间线(按版本倒序)新增v2.1.10· 2026/01/17 · 2026/01/17添加 --init-only flag 以仅执行初始化操作上一个--init回到命令字典下一个--json