
Claude Code使いこなし術「settings.json」見られたくないファイルを確実に守る
かに🦀です!
以前、Claude へのお願いを書いておくファイル「CLAUDE.md」を紹介しました。今回はその相棒にあたる「settings.json」。Claude Code の動きのルールを決めるファイルです。読み終わるころには、見られたくないファイルを守る設定と、毎回の確認を減らす設定が作れるようになります。
settings.json は「動きのルール」を決めるファイル
CLAUDE.md と何が違うの?と思いますよね。役割がはっきり分かれています。
CLAUDE.md は「お願い」。文章で伝えて、Claude が読んで守ってくれる
settings.json は「ルール」。Claude Code という道具そのものに効いて、必ず守られる
お願いは、ごくたまに忘れられてしまうことがあります。ルールは忘れようがありません。廊下に貼った「走らないでね」の張り紙が CLAUDE.md、扉に付けた鍵が settings.json。そんなイメージです。
JSON(ジェイソン)は、設定を書くときによく使われる文章の形式です。かっこと引用符の決まった書き方で並べるだけで、プログラムが読める設定書になります。
置き場所は3つ。効く範囲が違う
settings.json は、置く場所によって効く範囲が変わります。

ホームの .claude フォルダに置くと、どのプロジェクトでも効く
プロジェクトの .claude フォルダに置くと、そのプロジェクトだけに効く
同じ場所の settings.local.json は「自分専用」。プロジェクトを仲間と共有していても、このファイルは自分の環境だけに効く
まずは「パソコン全体か、このプロジェクトだけか」の2択で覚えれば十分です。3つ目の settings.local.json は、実はアプリが勝手に作ってくれるファイル。あとで登場します。
ホームは、あなたのユーザー名がついた、パソコンの大元のフォルダのことです。設定の説明では ~ という記号で書かれることもあります。
例1。見られたくないファイルを「deny」で守る
いちばん分かりやすくて、いちばん役に立つ例から。プロジェクトの .claude/settings.json にこう書きます。
{
"permissions": {
"deny": [
"Read(./himitsu.txt)"
]
}
}意味は「himitsu.txt を読むこと(Read)を禁止(deny)」。この状態で Claude に中身を聞いてみると、

きっぱり断られました。お願いと違って、ここに書いた禁止事項は Claude の判断ではくつがえせません。
ためしにモードを「自動」に切り替えて、もう一度おねだりしてみます。

それでも読めないうえ、「別のコマンドで読み取りを回避することも避けます」とまで言ってくれました。パスワードのメモなど、絶対に見られたくないファイルがある人は、この deny をまず覚えておけば安心です。
例2。「常に許可」で毎回の確認を減らす(allow)
Claude Code は、ファイルを変えるようなコマンドを動かす前に、こんな画面で確認してきます(最初の設定である「手動」モードのとき)。

安全のための仕組みですが、同じ確認が何度も出ると少し面倒。そこで真ん中の「常に許可」です。このボタンを押すと、プロジェクトの .claude/settings.local.json にこんな内容が自動で保存されます。
{
"permissions": {
"allow": [
"Bash(cp kakeibo.py backup.py)"
]
}
}意味は「このコマンドは許可(allow)済み。もう聞かなくていい」。実際、新しいセッションで同じお願いをすると、今度は確認なしでスッと実行されました。

つまり僕たちは、ボタンを押すだけで settings ファイルを育てているわけです。慣れてきたら、自分で直接書き足してもかまいません。
自分で書くときの注意
編集するときは、3つだけ気をつけてください。
コメント(メモ書き)は書けない。JSON にメモを混ぜると、ファイル全体が読めなくなる
引用符は必ずダブルクォート " を使う
deny と allow が同じものを指していたら、必ず deny が勝つ
書き方が合っているか不安なときは、Claude 本人に「この settings.json、おかしいところない?」と見てもらうのが早いです。
まとめ
settings.json は Claude Code の「動きのルール」を決めるファイル。お願い(CLAUDE.md)と違って必ず効く
置き場所は3つ。パソコン全体、プロジェクト、自分専用(settings.local.json)
見られたくないファイルは deny に書く。自動モードでも読まれない
確認画面の「常に許可」を押すと、allow のルールが settings.local.json に自動で貯まる
このファイルには、もっと高度な設定(決まったタイミングで自動でコマンドを動かす hooks など)も書けます。そのあたりは、またの機会に紹介しますね。
なお、この記事の画面はデスクトップアプリの「Code」タブのものです。ターミナル版の Claude Code でも、settings.json の置き場所と書き方は同じです。
関連記事
それでは、かに🦀からは以上です。