notes
Tools

Claude Code の system prompt を書き換える方法

セッションごとの system prompt の有無と、ユーザーが注入・置換できる経路 (CLI フラグ / CLAUDE.md / output style) の一覧

要点: system prompt はセッションごとに存在するが、対話中に直接編集する手段はない。書き込みは起動時の CLI フラグ (--append-system-prompt / --system-prompt) のみ。CLAUDE.md は system prompt ではなく user message として注入される。

経路の一覧#

経路system prompt に入るかタイミング
--append-system-prompt "text"入る (既定に追記)起動時。interactive と -p 両対応
--append-system-prompt-file <path>入る (ファイルから追記)同上
--system-prompt "text" / --system-prompt-file入る (全置換。既定の指示が消える)同上
~/.claude/CLAUDE.md, ./CLAUDE.md, ./CLAUDE.local.md入らない (user message として注入)起動時
/output-style (built-in: default, Proactive, Concise, Explanatory, Learning)入らない (指示として追加)セッション中に切替可
settings.json該当キーなし (systemPrompt キーは存在しない。outputStyle のみ)—
  • subagent 用の追記: --append-subagent-system-prompt (v2.1.205+)、--append-subagent-system-prompt-file (v2.1.261+)。どちらも -p のみ
  • --exclude-dynamic-system-prompt-sections (-p のみ): 作業ディレクトリ等の機械固有部を system prompt から外し、prompt cache のヒット率を上げる

使い分け#

  • 恒常的なルール → CLAUDE.md (system prompt でなくても実用上は同等に効く。ただし文法上は user message なので保証はない。強制したい 1〜2 個は hook)
  • そのセッション限りの役割指定 → claude --append-system-prompt "..."
  • 既定の挙動ごと差し替えたいエージェント用途 → --system-prompt-file (置換なので副作用大)

セッション中にできること#

system prompt 自体は変えられない。代替:

  • /output-style <style> — 口調・形式の指示を切替
  • /memory — CLAUDE.md を編集して再注入
  • /config <key>=<value> — 設定の切替

関連#

最終更新:

On this page