Agent SDK で CLAUDE.md を読み込む|設定の範囲

公開 更新 著者 永上裕之導入とルール
AIエージェントの前に、会社のルールブックと手順書が3段の棚に並び、どの段を読ませるかをスイッチで選んでいるイメージ

この記事の要点

  • 何も指定しないと、Agent SDK はふだんの Claude Code と同じく、ユーザー・プロジェクト・ローカルの3つの設定と CLAUDE.md を読む
  • settingSources で読む範囲を選べる。空の一覧にすると、コードで渡したものだけで動く
  • 会社が配る管理用の設定・自動メモリなどは、settingSources に関係なく読まれる。お客さまごとに分けるなら別の仕組みが要る

Claude Code で使っている CLAUDE.md の社内ルールや、スキル・フックを、自分で作る AI エージェントでもそのまま使いたい という時に知っておきたいのが、Agent SDK の「設定の読み込み元」です。何をどこから読むかを決めておかないと、「手元では守られたルールが、別の環境では守られない」ということが起きます。

この記事では、公式ドキュメント「Use Claude Code features in the SDK」(2026年11月12日確認)にもとづいて整理します。CLAUDE.md の書き方そのものは CLAUDE.mdの書き方 で解説しています。

結論:何も書かなければ、ふだんの Claude Code と同じものを読む

settingSources を指定しないと、Agent SDK は Claude Code と同じ範囲を読みます。 つまり、ユーザー・プロジェクト・ローカルの3つの設定、CLAUDE.md、.claude の中のスキル・エージェント・コマンドです。

逆に 空の一覧を渡すと、これらを読まずに、コードで渡したものだけで動きます。 決まった動きだけをさせたい時はこちらを使います。

左の3段の棚から、真ん中のスイッチで選んだ段だけがAIに届く流れの図
左の3段の棚から、真ん中のスイッチで選んだ段だけがAIに届く流れの図(イメージ)

3つの読み込み元

読み込み元読むもの場所の目安
projectプロジェクトの設定とフック・CLAUDE.md とルール・スキルなど作業フォルダの .claude と、その上のフォルダ
user自分の設定・自分の CLAUDE.md とルール・スキルなどホームの .claude
localCLAUDE.local.md・ローカルの設定ファイル作業フォルダの .claude など

どこを「プロジェクト」とみなすかは、作業フォルダ(cwd)で決まります。 プロジェクトの settings.json は作業フォルダの .claude からだけ読まれ、上のフォルダまでは探しに行きません。一方、CLAUDE.md とルールは上のフォルダからも読まれます。

CLAUDE.md はどこから読まれるか

どれも足し算で、どれかが勝つという決まりはありません。 プロジェクトと自分の CLAUDE.md で指示がぶつかると、どちらに従うかは Claude の読み方しだいになります。ぶつからないように書くか、細かいほうのファイルに「こちらを優先する」と書いておくのが公式のすすめです。

指定に関係なく読まれるもの

settingSources を空にしても、次のものは読まれます。 ここを知らないと「何も読ませていないはず」が成り立ちません。

読まれるもの止め方
会社が配る管理用の設定止められない(会社の方針)
ホームの .claude.json の全体設定置き場所を環境変数で変える
自動メモリ(プロジェクトごとのメモ)設定で autoMemoryEnabled を false にするか、環境変数で止める
claude.ai でつないだコネクタclaude.ai のログインで動いている時に読まれる

公式は、お客さまごとにエージェントを分ける使い方(マルチテナント)では、既定の設定に頼らないように と注意しています。お客さまごとに別のファイルの置き場所で動かし、settingSources を空にして、自動メモリも止める形です。安全に置く方法は Agent SDK の安全な置き方 で解説しています。

フックは2つの書き方を一緒に使える

書き方向いていること
ファイル(settings.json)画面の Claude Code と SDK で同じフックを使い回す
コード(query に渡す関数)アプリの中の処理と組み合わせる・細かく判断して返す

ファイルのフックは、読み込み元に入れた時だけ動きます。コードのフックは、どのエージェントが動かしたかの情報も受け取れます。コードでの書き方は Agent SDK のフック にまとめています。

やりたいことから選ぶ

やりたいこと使うもの
いつも守らせるルールCLAUDE.md(project を読み込む)
必要な時だけ読ませる手順スキル(読み込み元+skills の指定)
別の担当に分けて作業させるサブエージェント
道具を使う前後に決まった処理フック
外のサービスとつなぐMCP

機能を足すほど、そのぶん会話の文脈を使います。 必要なものだけを読み込むのが、速さと費用の両方に効きます。スキルの絞り方は Agent SDK でスキルを使う を見てください。

よくある質問

CLAUDE.md を使わずに、ルールを渡すことはできますか?

できます。 システムプロンプトにルールを書いて渡す方法があります。画面の Claude Code と SDK で同じルールを共有したい時は CLAUDE.md、SDK だけで完結させたい時はシステムプロンプト、と使い分けます。書き方は Agent SDK のシステムプロンプト で解説しています。

手元では守られたルールが、サーバーでは守られません

作業フォルダ(cwd)がプロジェクトのフォルダを指しているかと、settingSources に project が入っているかを確かめます。サーバーでは、ホームの CLAUDE.md が無いことも多いので、必要なルールはプロジェクト側に書いておきます。

まとめ

出典

永上裕之

ユニコスクール株式会社 代表取締役。AIエージェント専門のスクール&コミュニティを運営しています。

この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。

関連する記事