Claude Code の設定方法は?settings.json の場所とおすすめ設定
Claude Code の設定は settings.json に書くよ。4つのファイルの場所と優先順位、日本語で返事させる設定、.env を読ませない安全な設定、権限モードの選び方を公式ドキュメントで整理したよ。
この記事の要点
- Claude Code の設定は JSON の settings.json に書く。自分全体は ~/.claude/settings.json、チームで共有するなら .claude/settings.json、そのプロジェクトで自分だけなら .claude/settings.local.json(Claude Code 公式、2026年10月23日確認)。
- 同じ項目が複数のファイルにあると、会社の管理設定 → 起動時の --settings → settings.local.json → プロジェクトの settings.json → ~/.claude/settings.json の順で上が勝つ。permissions.allow のような一覧は上書きではなく足し合わされる。
- 日本語で返事させるなら "language": "japanese"、APIキーの入った .env を読ませないなら permissions.deny に Read(./.env) を足す。ただし deny は grep -r のように名前を出さずに読むコマンドは止めないので、確実にするならサンドボックスも有効にする。
- 権限モードは6つ。ターミナルと VS Code は v2.1.283 以降、何も決めていないと auto モード(別のAIが操作を見張って進める)で始まる。全部自分で確かめたいなら permissions.defaultMode を "default"(Manual)にする。
やっほー、ぼくてんびん丸!
「Claude Code の設定ってどこに書くの?」って調べに来たきみへ、先に答えを言うね。
Claude Code の設定は、settings.json という JSON のファイルに書くんだ。 自分のぜんぶのプロジェクトに効かせるなら ~/.claude/settings.json、チームで共有するならプロジェクトの .claude/settings.json、そのプロジェクトで自分だけなら .claude/settings.local.json だよ。日本語で使う人がまず入れたいのは、返事を日本語にする設定と、APIキーの入ったファイルを読ませない設定の2つ。
ここに書いた設定名と既定値は、ぜんぶ2026年10月23日に Claude Code の公式ドキュメントで確かめたものだよ。
設定ファイルはどこ?4つの場所と使い分け
Claude Code が読む設定ファイルは4種類あって、どのファイルに書くかで「誰に効くか」が決まるんだ。
| ファイル | 誰に効く? | 何を書く? |
|---|---|---|
~/.claude/settings.json | 自分。このパソコンのすべてのプロジェクト | 好みのモデル、テーマ、自分用の許可ルール |
.claude/settings.json(プロジェクトの中) | そのフォルダで作業する全員。git にコミットすればチームに配れる | チームの許可ルール、フック、プラグイン |
.claude/settings.local.json(プロジェクトの中) | 自分。そのプロジェクトだけ | チームの設定を自分だけ変えたいとき |
| 管理設定(managed-settings.json など) | 会社が配った全員 | セキュリティの決まりごと。自分では変えられない |
~ はホームフォルダのことで、Windows なら %USERPROFILE%\.claude になるよ。環境変数 CLAUDE_CONFIG_DIR を設定すると、置き場所を別のフォルダに変えられるんだ。
インストールしただけでは、どのファイルも作られないよ。~/.claude/settings.json は、/config でテーマなどを変えたときに Claude Code が作る。.claude/settings.local.json は、確認画面で「Yes, and don't ask again」(今後は聞かない)を選んだときに作られて、そのとき git の対象からも自動で外してくれるんだ。自分の手で作ったときは、.gitignore に足すのを忘れないでね。
【2026年11月8日 追記】 自動で外すのは、その PC 全体の git の除外リスト(
~/.config/git/ignoreなど)だけで、リポジトリの.gitignoreには書かれない。別の PC で clone したときや、後から git 管理にしたフォルダでは外れないので、リポジトリの.gitignoreにも.claude/settings.local.jsonを足しておこう。「今後は聞かない」で承認したコマンドがパスワードごとこのファイルに残り、公開 GitHub で見つかった件は settings.local.json の情報漏洩の記事にまとめたよ。
もう1つ、~/.claude.json(.claude フォルダの中ではなく、ホームフォルダ直下のファイル)があるけど、これは Claude Code が自分用に書くファイルで、アカウントや MCP の接続、プロジェクトの信頼の記録が入っている。自分で編集しなくていいと公式に書いてあるよ。

settings.json とは?
settings.json は、Claude Code の動き方を決める設定ファイルだよ。 どのモデルで始めるか、何を確認なしで動かしてよいか、どのファイルを読ませないか、を「"項目": 値」の形で書く。たとえるなら、新しく来たアシスタントに渡す「やっていいこと・だめなことの紙」なんだ。
書き方はこんな感じ。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"language": "japanese",
"permissions": {
"allow": ["Bash(npm run lint)", "Bash(npm run test *)"],
"deny": ["Read(./.env)", "Read(./.env.*)"]
}
}
1行目の $schema は、VS Code や Cursor で項目名の入力補完と書き間違いのチェックを効かせるための行だよ。
ここで一番つまずきやすいのは、JSON がとても厳しいこと。 // のメモ書きを入れたり、最後の項目のあとにカンマを残したりすると、それだけで文法エラーになって、次に起動したときに「Settings Error」と出るんだ。メモを残したいときは、別のファイルに書いておこう。
まず入れたいおすすめ設定は?
公式の見本ファイルは「推奨の土台ではない」と断ったうえで、個人用・チーム用・組織用の例を出している。そこから、日本語で使う人に効くものを選んだよ。
| 項目 | 書き方の例 | 何が変わる? |
|---|---|---|
language | "japanese" | 返事がいつも日本語になる。音声入力の言語もこれに合わせる |
model | "claude-opus-5-5" | 起動したときに使うモデル |
permissions.allow | ["Bash(npm run test *)"] | 書いたコマンドは確認なしで動く |
permissions.ask | ["Bash(git push *)"] | 書いたコマンドは毎回確認が入る |
permissions.deny | ["Read(./.env)", "Read(./.env.*)"] | 書いたファイルを読ませない・書き換えさせない |
cleanupPeriodDays | 20 | 会話の記録を何日で消すか。既定は30日 |
language は、日本語で使うなら真っ先に入れたい項目だよ。Claude Code はこの値を「いつもこの言葉で返事して」という指示としてそのまま渡すので、"japanese" と書けば日本語になる。値の確認はしないから、つづりを間違えると、そのまま間違った名前で渡されるんだ。
cleanupPeriodDays は見落としがちな項目なんだ。既定の30日を過ぎた会話は、知らせなしで消えて /resume の一覧に出なくなる。長く残したいなら 3650 のように大きな値にしよう(0 はエラーになる)。
権限モードはどれにする?6つのモードの違い
権限モードは、Claude が何を確認なしでやってよいかの基本線だよ。ターミナルでは Shift+Tab、VS Code では画面のモード表示、デスクトップアプリではモードの切り替えから変えられる。
| モード(設定に書く値) | 確認なしで動くもの | 向いている場面 |
|---|---|---|
Manual(default) | 読むことだけ | 全部自分で確かめたい、大事な作業 |
acceptEdits | 読む・ファイルの編集・mkdir や mv などのよく使うコマンド | 書かせたコードをその場で見ながら進める |
plan | 読むこと(auto モードが使えるときは見張り役が通したコマンドも) | 直す前に、まず全体を調べさせたい |
auto | ほぼ全部。裏で別のAIが安全確認をする | 長い作業、確認が多くてわずらわしいとき |
dontAsk | 作業フォルダ内の読み取りと、許可済みのものだけ。それ以外は断る | 自動実行(CI)やスクリプト |
bypassPermissions | 全部 | 隔離したコンテナや仮想マシンの中だけ |
知っておきたいのは、何も決めていないときの始まり方が変わったこと。 v2.1.283 以降、ターミナルと VS Code のセッションは、何も設定していないと auto モードで始まるんだ。毎回自分で確かめたいなら、~/.claude/settings.json にこう書いておけば Manual モードで始まるよ。
{
"permissions": {
"defaultMode": "default"
}
}
1つ落とし穴がある。プロジェクトの .claude/settings.json や settings.local.json に "auto" や "bypassPermissions" を書いても効かないんだ。誰かが配ったリポジトリで、勝手に確認なしのモードにされないための仕組みだよ。
セキュリティで気をつけることは?
いちばん大事なのは、deny(読ませない設定)だけでは穴があると知っておくこと。
Read(./.env)は、Claude が.envを開いたりcat .envのように名前を出して読んだりするのは止める。でも、grep -rでフォルダごと検索するような、ファイル名を出さずに読むコマンドは止めない。- だから公式は、確実に守りたいならサンドボックス(コマンドを囲いの中で動かす仕組み)を有効にするよう書いている。
"sandbox": {"enabled": true}を足すと、deny に書いたファイルは囲いの中のどのコマンドからも読めなくなる。 Bash(git push *)のようなルールは書いたとおりにしか当たらない。git -C . pushのように書き方を変えたコマンドはすり抜けるんだ。
そのうえで、覚えておくと安心な決まりが3つあるよ。
| 決まり | 中身 |
|---|---|
| deny はどのモードでも効く | bypassPermissions モードでも、deny に書いたものは止まる |
| チームの allow は信頼してから | プロジェクトの settings.json の allow は、そのフォルダを信頼すると答えるまで効かない。deny と ask は信頼の前から効く |
| bypass は隔離した中だけ | --dangerously-skip-permissions は、公式がコンテナや仮想マシンの中だけで使うものとしている |
知らないページの文章に「AIへの命令」がまぎれこむプロンプトインジェクションのような手口もあるから、確認を減らす設定ほど、deny とサンドボックスを先に入れておくのがいいと思うよ。
CLAUDE.md との違いは?
settings.json は「Claude Code という道具の設定」、CLAUDE.md は「Claude に渡す作業のメモ」だよ。
- settings.json:モデル・権限・読ませないファイルなど、決まりとして必ず守られるもの
- CLAUDE.md:「テストを回してから終えて」「API の処理は src/api に置く」など、毎回説明したくない約束ごと
公式は、CLAUDE.md は「強制される設定ではなく、読む材料」だと書いている。だから「絶対に消させたくない」ようなことは CLAUDE.md ではなく、settings.json の deny やフック(決まった操作の前に自動で走らせるチェック)で止めるんだ。
CLAUDE.md の置き場所は、自分全体なら ~/.claude/CLAUDE.md、プロジェクトなら ./CLAUDE.md か ./.claude/CLAUDE.md、自分だけなら ./CLAUDE.local.md。1ファイル200行までを目安に短く書くのがいいとされていて、/init を打つと最初の版を作ってくれるよ。
CLAUDE.md の書き方は、Anthropic 公式の無料コース「Claude Code 101」でも扱っているよ。設定だけじゃなく使い方を最初から順番に覚えたいなら、Claude Code を学べる講座の選び方に、無料のコースと有料の講座の違いをまとめたよ。
設定が効かないときは?
まず優先順位を知っておくと迷わないよ。上ほど強いんだ。
- 会社の管理設定(自分では上書きできない)
- 起動するときの
--settings指定(そのセッションだけ) .claude/settings.local.json.claude/settings.json(プロジェクト)~/.claude/settings.json
permissions.allow のような一覧の項目は、上が下を消すのではなく足し合わされるよ。
よくあるつまずきを、症状ごとにまとめたよ。
| 症状 | ありそうな原因 | 最初の一手 |
|---|---|---|
| 起動時に Settings Error と出る | JSON の書き間違い(// のメモ、最後の余計なカンマ) | 出てきた画面で Claude に直してもらうか、該当の行を消す |
| 書いた設定が効かない | 上のファイルや環境変数(ANTHROPIC_MODEL など)が同じ項目を上書き | /status の Setting sources に自分のファイルが出ているか見る |
| モデルを変えても変わらない | model は起動時にしか読まない | 途中で変えるなら /model、考える量は /effort |
| チームの allow が効かない | そのフォルダをまだ信頼していない | 信頼すると答えると効き始める |
| どうしても変えられない項目がある | 会社の管理設定で決められている | /status で管理元を確かめ、管理者に聞く |
ほとんどの項目は、ファイルを保存すれば再起動しなくても今のセッションに反映されるよ。何が読み込まれなかったかの詳細は、claude doctor で一覧にできるんだ。
ぼくの見解
ぼくが一番大事だと思うのは、auto モードが既定になったぶん、設定ファイルを1つも持たないまま使い始める人が増えそうってことなんだ。
Codex の設定を調べたときは、公式の標準は「作業フォルダの中は自動、外への書き込みとネット接続は確認」という、つまみ2つの組み合わせだった。Claude Code の auto モードは、確認そのものを別のAIに任せる作りで、考え方がちょっと違う。手間はぐっと減るけど、何を止めるかの最後の線は、きみが settings.json に書いた deny とサンドボックスになる。
このサイトの AIモデル一覧でも、Claude Code の初心者向け度は5段階の2にしているよ。できることが多いぶん、最初に決めておくことも多い道具なんだ。だから、最初の5分で language と .env の deny だけでも入れておくと、そのあとずっと安心して任せられると思うな。インストールやログインでつまずいたときは、Claude Code ができないときの直し方も見てね。
まとめ
~/.claude/settings.jsonを作る(無ければ自分で作っていい)"language": "japanese"を書いて、返事を日本語にするpermissions.denyにRead(./.env)とRead(./.env.*)を足し、確実にするならsandbox.enabledもtrueにする- 全部自分で確かめたいなら
permissions.defaultModeを"default"にする - 効かないときは
/statusで、どのファイルが読み込まれているかを見る
設定は一度書けば毎回効くから、最初にほんの少し時間を使うだけで、Claude Code に安心して仕事を任せられるようになるよ。
よくある質問
- Q.Claude Code の設定ファイルの場所は?
- A.自分の全プロジェクトに効く設定は ~/.claude/settings.json(Windows は %USERPROFILE%\.claude\settings.json)です。チームで共有する設定はプロジェクトの .claude/settings.json、そのプロジェクトで自分だけに効かせる設定は .claude/settings.local.json に書きます。インストールしただけではどのファイルも作られないので、無ければ自分で作ります(Claude Code 公式、2026年10月23日確認)。
- Q.Claude Code のおすすめ設定は?
- A.日本語で使うなら "language": "japanese" で返事を日本語にし、permissions.deny に Read(./.env) と Read(./.env.*) を入れて APIキーの入ったファイルを読ませないのが手堅い始め方です。よく使う npm run test などは permissions.allow に入れると、毎回の確認が減ります。公式の見本ファイルも「推奨の土台ではない」と書いているので、必要な項目だけを足します。
- Q.Claude Code の設定方法は?
- A.ターミナルで Claude Code を起動して /config を打つと、テーマや表示などの一部の項目を画面から変えられ、~/.claude/settings.json に保存されます。それ以外の項目は settings.json をエディタで直接書きます。1回だけ試したいときは claude --settings '{"model": "claude-opus-5-5"}' のように起動時に渡せます。VS Code のチャット画面とデスクトップアプリでは /config は開けません。
- Q.Claude Code の設定でセキュリティのために何をすればいい?
- A.permissions.deny で .env や秘密鍵のフォルダを読めなくし、git push などは permissions.ask で毎回確認させます。deny は grep -r のように名前を出さずに読むコマンドを止めないので、sandbox.enabled を true にしてサンドボックスでも守ります。--dangerously-skip-permissions(bypassPermissions モード)は、公式が隔離したコンテナや仮想マシンの中だけで使うものとしています。
- Q.Claude Code の設定が反映されないのはなぜ?
- A.まず Claude Code の中で /status を打ち、Setting sources の行に自分のファイルが出ているか確かめます。出ていなければ JSON の書き間違い(// のコメントや最後の余計なカンマ)が多い原因です。出ているのに効かないなら、より上のファイルや会社の管理設定、ANTHROPIC_MODEL などの環境変数が同じ項目を上書きしています。model と effortLevel は起動時にしか読まないので、途中で変えるなら /model と /effort を使います。
参考・一次ソース
- → Claude Code 公式:Settings files and precedence(4つの設定ファイル・優先順位・反映の確かめ方。2026-10-23 確認)
- → Claude Code 公式:Choose a permission mode(6つの権限モードと、セッションがどのモードで始まるか。2026-10-23 確認)
- → Claude Code 公式:Example settings files(個人・チーム・組織の settings.json の見本。2026-10-23 確認)
- → Claude Code 公式:All settings(language・cleanupPeriodDays・permissions.deny などの各項目と既定値。2026-10-23 確認)
- → Claude Code 公式:How Claude remembers your project(CLAUDE.md の置き場所と書き方。2026-10-23 確認)
この記事に出てきた用語・モデル
関連 AI モデル
まとめて読む
このテーマの動きは、時系列で1ページに整理しています。
この記事をシェア
引用文は「『タイトル』 - ai-garage.jp URL」の形でコピーされます。出典として URL を残したまま貼れます。
関連記事



