テック技報最新号へ →
AIコーディング

Claude Code: CI やスクリプトの claude -p には --bare を付ける(信頼していないリポジトリの hook・MCP を動かさない)

--bare なしの claude -p は、初めて開くフォルダでも、そのリポジトリの .claude/settings.json の hook を実行し、.mcp.json の MCP サーバーにつなぐ。信頼確認のダイアログもサーバーごとの承認も出ない。他人のリポジトリや PR を CI で読ませるときは --bare で自動読み込みを止め、必要なものだけフラグで渡す。

@oswrav · 投稿 2026-10-22
#claude-code#ci#セキュリティ#mcp#hooks

どんな場面で使う?

  • CI で外部からの PR のブランチに対して claude -p でレビューや要約をさせる
  • 手元のスクリプトで、クローンしたばかりのリポジトリに claude -p を走らせる
  • マシンによって結果が変わる(誰かの ~/.claude の hook が効いている)のを避けたい

手順

bash
export ANTHROPIC_API_KEY=...   # bare モードは購読ログイン(OAuth)やキーチェーンを読まない
claude --bare -p "README.md を要約して" --allowedTools "Read"
  • 必要なものは明示して渡す: システムプロンプトの追加は --append-system-prompt/--append-system-prompt-file、MCP は --mcp-config(コマンドラインで渡したサーバーだけつながる)、設定は --settings
  • 使えるツールは Bash・ファイルの読み取り・編集のみ

--bare で読み込まれなくなるもの

hook、スキル、カスタムコマンド、サブエージェント、インストール済みプラグイン、MCP サーバー、自動メモリ、CLAUDE.md。実行中も、システムリマインダー(ファイルが変わった通知など)は送られず、バックグラウンドのコマンドやサブエージェントも使えない(タイムアウトしたコマンドは裏に回らず止まる)。

注意点

出典

X の元の投稿を開く