リファレンス
設定
ツールの権限、フックの配線、環境変数、ステータスラインのテンプレートを扱う、settings.json における Claude Code ハーネスの設定。
settings.json は、Claude Code ハーネスの設定を保持します: フックの配線、ツールの権限、環境変数、ステータスラインの設定です。
完全な正規リファレンスは settings-reference.md にあります。このページは契約を要約し、より詳しいリファレンスを案内します。
セクション
| セクション | 目的 |
|---|---|
permissions | マッチャーごとのツールのホワイトリストとブラックリスト |
hooks | イベントをキーとするフックコマンドの表(正規の配線) |
env | セッションごとの環境変数 |
statusLine | ホストがレンダリングするステータスラインのテンプレート |
単一テンプレートの不変条件
Claude Code アダプターは、1 つの settings.json テンプレートを出荷します。フックコマンドはシェル固有のコマンド文字列ではなく exec 形式(command と args)を使用するため、OS をまたぐ動作は 1 つのファイルの中でレビューされます。新しい権限エントリとフックイベントは、そのファイルにアトミックに追加されます。
自分の設定ファイルへのマージ
settings.json はあなた自身のファイルでもあります。インストールはテンプレートでファイルを置き換えるのではなく、テンプレートをファイルにマージし、どのキーとリストエントリを追加したかをインストール台帳(~/.apothem/state/<harness>/ledger.jsonl)に正確に記録します:
permissions.allowとpermissions.denyは和集合としてマージされます: あなたのルールが先頭に残り、Apothem のルールが末尾に追加されます。あなたが書いた拒否ルールは必ず残り、Claude Code は許可ルールより前に拒否ルールを適用します。- あなた自身のフックハンドラーはそのまま残ります。ハンドラーが Apothem のものとみなされるのは、Apothem がハーネスルート配下にインストールしたスクリプトを実行する場合だけです。そのため、ほかの
hooks/dispatch.pyを呼び出すハンドラーはあなたのものです。 - 再インストールでは、Apothem が前回追加したものだけが置き換えられます。そのため、テンプレートから外れたエントリは削除され、あなたが追加したエントリは保持されます。
- アンインストールでは、台帳が Apothem のものとして記録しているエントリだけが削除されます。たまたま Apothem のルールと同じであるルール(たとえば、最初のインストールより前にあなた自身の
allowリストにあったRead)は残ります。ファイルが削除されるのは、Apothem がそのファイルを作成し、あなたのものが何も残っていない場合だけです。
同じルールは、Qwen Code の settings.json や OpenCode の opencode.json にある MCP サーバーのマップなど、Apothem がマージする他の設定ファイルにも適用されます。