「このコマンドは毎回確認しなくていい」「このファイルには絶対に触らせない」——こうした線引きは、AIにお願いするのではなく、ファイルに書いて決める。その置き場所が settings.json である。この章を読むと、設定をどこに書けば自分の全作業に効くのか、このプロジェクトだけに効かせるにはどうするかが分かる。
目次
| 章 | タイトル |
|---|---|
| 1 | 設定ファイルとは |
| 2 | settings.json の置き場所 |
| 3 | 置き場所ごとの優先順位 |
| 4 | settings.json ファイルの書き方 |
| 5 | settings.json で設定できること |
| 6 | settings.json を実際に書く |
| 7 | 書くときの注意点 |
1. 設定ファイルとは
settings.json は、Claude Codeというツール自体の動作を決めるファイルである。
書かれた内容は、AIの判断を経ずにClaude Code自体が読んで動作に反映する。ここで禁止した操作は、AIがどう判断しても実行されない。
形式はJSONという決まった書式で、普通の文章ではない。「このコマンドは確認なしで実行してよい」「このファイルには触らせない」といった設定を、決まった書き方で並べていく。
最初は存在しない
Claude Codeをインストールしても、このファイルは作られない。自分で作るか、Claude Codeが必要になったタイミングで作る。
「見当たらない」のは正常である。設定を変える必要が出たときに初めて登場する。
2. settings.json の置き場所
置き場所によって、どの範囲に効くかが変わる。
まず2つだけ覚える
置き場所は4つあるが、一人で使う場合に関係するのは2つだけである。
【自分専用】パソコンの中の、自分のユーザーフォルダー
~/.claude/settings.json ← どのフォルダーで作業しても効く
【プロジェクト専用】
資料/
└── .claude/
└── settings.local.json ← 資料フォルダーで作業するときだけ効く
先頭の ~ は、自分のユーザーフォルダーを表す記号になる。Windowsなら C:\Users\自分の名前、Macなら /Users/自分の名前 にあたる。~/.claude/ と書いてあれば、そのユーザーフォルダーの中の .claude を指している。
使い分けは1行で決まる。
- どの作業でもそうしたいこと → ユーザー用(
~/.claude/settings.json) - このプロジェクトだけの設定 → プロジェクト個人用(
.claude/settings.local.json)
残り2つは、人と共有するとき
4つの全体は次の通りである。下2つは、チームで共有する場合や会社が配布する場合に使う。個人利用なら意識しなくてよい。
| 置き場所 | ファイル | 効く範囲 |
|---|---|---|
| ユーザー用 | ~/.claude/settings.json | 自分の全作業 |
| プロジェクト個人用 | .claude/settings.local.json | そのフォルダーでの作業(自分だけ) |
| プロジェクト共有用 | .claude/settings.json | そのフォルダーでの作業(全員) |
| 組織用 | (管理者が配布) | 組織全体 |
プロジェクト用に2種類あるのは、共有するかどうかの違いになる。settings.local.json は自分だけのもので、settings.json はチーム全員で同じものを使う。一人で使う間は、前者だけでよい。
3. 置き場所ごとの優先順位
同じ項目が複数の場所に書かれていると、どれか1つが選ばれる。順位は次の通りである。
強い
↑ ① 組織用(管理者が配布)
│ ② プロジェクト個人用(.claude/settings.local.json)
│ ③ プロジェクト共有用(.claude/settings.json)
↓ ④ ユーザー用(~/.claude/settings.json)
弱い
上にあるものが勝つ。
たとえばユーザー用に「モデルA」、プロジェクト個人用に「モデルB」と書いてあれば、そのフォルダではBが使われる。
なぜ順位があるか
範囲が狭い設定ほど優先されるという考え方になっている。
全体の方針をユーザー用に書いておき、特定のフォルダだけ例外にしたい場合はプロジェクト側に書く。こうすると、例外のために全体の設定を書き換えなくて済む。
組織用が最も強いのは、会社が定めた方針を個人が上書きできないようにするためである。
4. settings.json ファイルの書き方
置き場所が決まったので、中身をどう書くかに移る。
このファイルは JSON という形式で書く。プログラミングの知識は要らないが、書式を外すとファイル全体が読まれなくなるため、最低限の決まりを押さえる。
3つの決まり
{
"model": "claude-sonnet-5",
"permissions": {
"allow": ["Bash(npm test)"]
}
}
- 全体を波括弧
{ }で囲む - 項目名も値も、ダブルクォート
"で囲む - 項目が複数あるときはカンマ
,で区切る
これだけである。
入れ子になることがある
上の例の permissions のように、項目の中にさらに項目が入ることがある。その場合も決まりは同じで、内側にもう1組の { } が増えるだけになる。
深く考えなくてよい。書く場所は以降の章がそれぞれ示すため、この章では「こういう形をしている」と分かれば足りる。
5. settings.json で設定できること
設定できる項目は多いが、よく使うものは限られる。詳細はそれぞれの章で扱う。
| 項目 | 何が変わるか | 扱う章 |
|---|---|---|
permissions | 許可する操作・禁止する操作 | Permissions |
hooks | 決まったタイミングで走る処理 | Hooks |
model | 使用するAIモデル | 基本的なコマンド(/model で変えられる) |
env | 環境変数 | (本シリーズでは扱わない) |
この章で全部を覚える必要はない。 「こういう項目がここに書かれる」という位置づけだけ分かればよい。
実際に触るのは、次の「Permissions — 確認を減らしつつ、危険な操作だけ止める」の permissions が最初になる。
6. settings.json を実際に書く
4章「settings.json ファイルの書き方」と5章「settings.json で設定できること」を使って、実際に1つ書いてみる。
ファイルを開く
VSCode拡張版では、ファイルを直接開いて編集する。
1. VSCodeで作業フォルダーを開く
2. .claude/settings.local.json を開く
(無ければ .claude フォルダーごと作る)
3. 編集して保存する
「無い」と思ったら、「.claude フォルダー — Claude Codeの持ち物が集まる場所」で見た性質を思い出す。 ドットで始まるフォルダーはパソコンの標準設定では表示されないため、すでに在るのに見えていないことがある。VSCodeの左側のファイル一覧には出るので、そちらで確かめてから作る。
ユーザー用を編集する場合は、~/.claude/settings.json を開く。VSCodeの「ファイル → ファイルを開く」から辿ればよい。
保存すればすぐ効く
編集して保存すると、多くの設定はその場で反映される。Claude Codeを再起動する必要はない。
ただし一部の設定は、会話を開始したときに一度だけ読まれる。使用するモデルの設定などがこれにあたり、変更を反映するには会話を切り替える必要がある。
Claude Code自身が書き込むこともある
このファイルは、Claude Codeが自分で作ることもある。
次の「Permissions — 確認を減らしつつ、危険な操作だけ止める」で扱うが、確認画面で「今後は確認しない」を選ぶと、その内容が settings.local.json に自動で保存される。
覚えのないファイルができていても、故障ではない。自分が承認した内容が記録されたものになる。
7. 書くときの注意点
書式を外すと、そのファイルは丸ごと読まれなくなる。 1文字の違いで全部の設定が無効になるため、先に2つだけ押さえておく。
コメントは書けない
// によるメモは書けない。 書くとファイル全体が読まれなくなる。
(✕ 壊れる)
{
// モデルの設定
"model": "claude-sonnet-5"
}
何のための設定かを書き残したくなるが、JSONでは不可能である。
末尾のカンマは書けない
最後の項目の後ろにカンマを付けてはいけない。 これも壊れる原因になる。
(✕ 壊れる)
{
"model": "claude-sonnet-5",
}
(○ 正しい)
{
"model": "claude-sonnet-5"
}
項目を削ったときに起きやすい。この2つが、書式ミスのほぼ全部になる。
壊れたときは知らせてくれる
書式を外すと、Claude Codeが起動時に知らせてくる。
| 表示 | 意味 | 対処 |
|---|---|---|
| Settings Error | ファイル全体が読めない | 上の2点(コメント・末尾カンマ)を確認する |
| Settings Warning | 一部の項目だけ無効 | 該当項目の書き方を確認する |
Settings Error が出たときは、その画面からClaude Codeに直させることもできる。 自分で原因を探さなくてよい。
心配であれば、編集する前にファイルの内容をコピーしておくとよい。戻したいときに貼り直せば済む。
次のページ
設定ファイルの置き場所と書き方が分かった。次は、そこに何を書くかを決める段階になる。
次の「Permissions — 確認を減らしつつ、危険な操作だけ止める」では、どの操作を自動で許可し、どの操作は毎回確認させるかを決める設定を扱う。「基本操作 — 指示を出し、変更を確認して承認する」で「最初はManualを勧める」と書いたが、すべてを確認し続けるのは現実的ではない。安全を保ったまま確認の回数を減らす方法を見ていく。この章で出てくる設定が、まさに settings.json の permissions に書かれるものになる。