FRL 自由研究ラボ

Macセットアップ手帖 — SETUP 03

settings.json

— 「やらせないこと」を最初に決める —

AI に作業させる前に、読ませないものを設定で塞いでおきます。一度会話に載った内容は、あとから取り消せないからです。この記事では、設定ファイルの重なり、個人用の分け方、秘密のファイルを読ませない書き方、そして許可の出し方(権限モード)の使い分けを順に決めます。

この記事を読むとできること

  • 設定ファイルが5段に重なっていて、どれが強いのかを説明できます
  • 自分だけの設定を、共有されない場所に分けられます
  • 秘密のファイル(.env など)を、AI に読ませない設定を書けます
  • Manual・Plan・Auto などの権限モードを、場面で使い分けられます

想定している使い方

デスクトップアプリの Claude の Code を使います。この手帖の SETUP 01 を終えている前提です。設定ファイルは文字のファイルなので、テキストエディタ、または AI に頼んで書き足します。説明はすべて Mac を前提にしています。

この記事の道順

  1. なぜ、許可を押す前に「読ませないもの」を決めるのか
  2. part 1 — 設定ファイルの重なりと強さ
  3. part 2 — 自分だけの設定を分ける
  4. part 3 — 読ませないものを deny で塞ぐ
  5. part 4 — 権限モードの使い分け
  6. つまずき集(症状から引く)
  7. 知っておくと便利な知識
  8. 次の一歩

読む目安:約10分 ・ 手を動かす目安:約19分(part 1〜4)・ 図1枚

なぜ、許可を押す前に「読ませないもの」を決めるのか

Claude Code は、作業の前に「この操作をしてよいか」とたずねます。たずねられるたびに許可を押していると、だんだん中身を読まなくなります。そのとき、秘密のファイル(パスワードや API キー(外部のサービスを使うための合言葉)が書かれた .env など)を読む操作を、うっかり許可してしまうかもしれません。

一度読まれた内容は、会話の一部として Anthropic に送られ、取り消せません。消せるのは画面の表示だけです。押し間違いを減らす努力より、読む操作そのものを最初から禁止しておくほうが確実です。禁止を書いておくのは数分で、書いていなかった期間の分は取り戻せません。

✕ 許可を押し続けて慣れると 許可を 押し続ける 秘密のファイルを うっかり許可 会話に載って 取り消せない ○ 先に禁止を書いておくと 読ませないものを 設定に書く 許可の前に 自動で止まる 読まれずに 済む AI の動きは同じです。違いは、読ませないものを先に設定へ書いたかどうかだけです。

図の見方:上の段は、許可を押し続けて慣れた場合です。秘密のファイルを読む操作をうっかり許可し、会話に載って取り消せなくなります。下の段は、先に禁止を書いておいた場合です。許可の画面が出る前に止まり、読まれずに済みます。

01

part 1 — 目安 5分

設定ファイルの重なりと強さ

設定は、次の5段に重なっています。上にあるほど強く、同じ項目が重なっていたら上が勝ちます。

  1. 管理設定(会社や学校の管理者が決める。個人で使うなら、ふつうは無い)
  2. 起動するときに渡す設定(その1回の起動だけ)
  3. 自分だけのプロジェクト設定:作業フォルダの .claude/settings.local.json
  4. 共有するプロジェクト設定:作業フォルダの .claude/settings.json(git =ファイルの変更履歴を管理し共有する仕組み、でチームに配る)
  5. ユーザー設定:ホームフォルダ(自分のユーザー名のフォルダ)の ~/.claude/settings.json(この Mac のすべての作業に効く)

個人で使うときに触るのは、3・4・5の3つです。「どの作業でも効かせたい自分のルール」は5、「このフォルダだけ」は4、「このフォルダだけで、自分だけ」は3に書きます。

.claude のように名前の先頭が点のフォルダは、Finder(Mac でファイルを見るアプリ)では隠されています。Finder のメニュー「移動」→「フォルダへ移動」を選び、~/.claude と入力すると開けます。ファイルを自分で編集するのが不安なら、AI に「~/.claude/settings.json に、次の設定を足して」と頼むこともできます。ただし、書き換えの許可の表示は、必ず中身を読みます。

設定は、Claude Code の起動時に読まれます。書き換えたら、アプリを開き直して、新しい会話から試します。いま開いている会話に、すぐ効くとは限りません。

後回しにすると:1台目の Mac で決めた設定は、2台目の Mac に付いてきません(~/.claude は Mac ごとのファイルです)。守りの設定が片方の Mac にだけ入った状態が、2週間気づかれずに続いた例があります。2台目の Mac を使い始める日に、同じ設定を入れ直します。

最初にやる理由:どれが強いかを知らないと、「書いたのに効かない」「別の Mac では効かない」の原因が分かりません。

✓ ここまでの確認:5段のうち、個人で使う3つ(3・4・5)の書き分けを説明できる。

02

part 2 — 目安 3分

自分だけの設定を分ける

自分だけの設定(接続先のメモ、自分の許可の履歴など)は、.claude/settings.local.json に分けます。このファイルは、チームに共有する settings.json とは別に、自分だけが持ちます。

Claude Code がこのファイルを自分で作るときは、git が共有しないように、Mac 全体の除外リストへ自動で登録します。自分で作ったときは、登録されません。その場合は、作業フォルダの .gitignore に、次の1行を足します。

.claude/settings.local.json

足したら、git の状態を見たときに、このファイルが「新しいファイル」として出てこないことを確かめます。

最初にやる理由:個人の設定を共有する設定と混ぜて置くと、他の人の動きを自分の許可で変えたり、自分の許可の履歴を人に渡したりします。最初から2つに分けておけば、共有の設定は短く保てます。

✓ ここまでの確認:.gitignore に除外の行があるか、または Claude Code が作ったと分かっている。

03

part 3 — 目安 6分

読ませないものを deny で塞ぐ

秘密のファイルを読ませない設定は、permissions の deny(禁止)に書きます。ユーザー設定(~/.claude/settings.json)に書けば、どの作業でも効きます。次が書き方の例です。

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(**/.env)",
      "Read(./secrets/**)"
    ]
  }
}

Read(./.env) は作業フォルダの直下の .env、Read(**/.env) は作業フォルダの中のどの深さの .env も、Read(./secrets/**) は secrets フォルダの中のすべてを指します。自分の秘密の置き場所に合わせて、同じ形で足していきます。すでに設定ファイルがあるときは、中身を消さず、deny の欄にだけ足します。

許可の判断は、禁止 → 確認 → 許可の順に見られ、禁止が当たった時点で止まります。どの層(ユーザー・プロジェクト)に書いた禁止でも、別の層の許可では覆せません。

禁止は、万能の壁ではありません。名前を指定して読む操作は止まりますが、grep -r のように名前を指定せず探す操作や、AI が書いたスクリプト(命令を並べた小さなプログラム)の中で開く操作は、止まらないことがあります。Bash(コマンドを実行する仕組み)の禁止も、書き方を変えた同じ操作までは止められない、と公式が断っています。守りの全体は、「①対象を禁止する ②やり方を確かめる ③OS(Mac 本体の基本ソフト)の囲いで最後を受ける」の重ね使いです。最初に①を書き、残りは慣れてから足します。

最初にやる理由:読まれてから消すことはできないので、禁止は読まれる前にしか意味がありません。最初に数行書くのが、いちばん安上がりです。

後回しにすると:秘密を一度読ませてしまったら、そのキーや合言葉は、使い回さず作り直す(無効にして新しくする)しかありません。作り直しは、禁止を書くより、はるかに手間がかかります。

✓ ここまでの確認:deny に .env の行を書き、アプリを開き直したあとで、AI に「.env を読んで」と頼むと断られる(頼むのは、中身の無いダミーのファイルで試します)。

04

part 4 — 目安 5分

権限モードの使い分け

Claude Code には、許可の出し方を決める権限モードがあります。入力欄の近くで切り替えます(ターミナル(文字で命令を打ち込むためのアプリ)版では Shift キーを押しながら Tab キー。場所や見た目は、アプリの版によって変わります)。

Manual(設定の名前は default)

ファイルの書き換えやコマンドの前に、毎回たずねます。最初はこれです。何が起きるかを見て覚えます。

acceptEdits

専用フォルダの中のファイルの書き換えは、たずねずに通します。コマンドは、たずねます。専用フォルダで、慣れた作業を続けるときに使います。

Plan

調べて計画を書くだけで、ファイルを変更しません。作業の前に、やり方を相談したいときに使います。

Auto

危険な操作かどうかを、別の判定役が見て、安全なものを自動で通します。慣れて、手間を減らしたいときに使います(使えるプランやモデルに条件があります)。

bypassPermissions

すべての許可を飛ばします。初心者は使わないことにします。

勧める順番は、Manual で始めて、調べものは Plan、慣れたら専用フォルダで acceptEdits か Autoです。Auto は、自分の設定(ユーザー設定)に書いたときだけ効き、プロジェクトの設定に書いても効きません。条件に合わない環境では選べません。

どのモードでも、part 3 の禁止は効いています。モードは「たずねるか、通すか」を決めるもので、禁止を外すものではありません。

最初にやる理由:Manual でたずねられる場面を見ておくと、のちに Auto や acceptEdits に進んだとき、通ってよい操作かどうかを判断できます。最初に Auto にすると、その経験が積めません。

✓ ここまでの確認:いまのモードが何で、どこで切り替えるかを言える。最初は Manual のままにしている。

つまずき集(症状から引く)

deny に書いたのに、読まれてしまった

アプリを開き直していない、または書き方の位置がずれている(./ の有無)ことが原因です。開き直して試し、書き方を見直します。名前を指定しない探し方(grep -r)は止まらないことがあります。

設定ファイルを書いたら、前の設定が消えた

ファイルを丸ごと置き換えたことが原因です。元のファイルのコピーから、消えた欄を戻して、足したい行だけを追加します。

もう1台の Mac では許可が出る

~/.claude は Mac ごとのファイルだからです。もう1台にも、同じ deny を入れます。

Auto が選べない

プランやモデルが条件に合わない、または組織が無効にしていることが原因です。Manual と acceptEdits で続けます。条件は公式の説明で確かめます。

許可の表示が多くて面倒

Manual は毎回たずねる作りだからです。場所だけ確かめて許可し、消す・上書きする表示だけ中身を読みます。全部を通すモードにはしません。

知っておくと便利な知識

ターミナル版での確かめ方

ターミナル(文字で命令を打ち込むためのアプリ)版では、会話の中で /status と打つと、どの設定ファイルが読まれているかが「Setting sources」の欄に出ます。また、claude doctor は、設定ファイルの診断をしてくれます(SETUP 04)。

allow(許可)は、慣れてから足す

同じ操作で何度もたずねられて面倒なときは、allow に書いて自動で通せます。ただし、範囲を広げすぎると、禁止より弱い穴になります。広い許可(たとえばコマンド全般)は書かず、「この1つのコマンドだけ」のように狭く書きます。

ほかの人と共有する設定

.claude/settings.json は、git で共有されるので、メンバー全員に効きます。個人の事情は書かず、全員が守る禁止だけを置きます。

NEXT

次の一歩

  • 設定は5段に重なり、上ほど強い。個人で触るのは3つ
  • 自分用はsettings.local.json。作ったら.gitignoreに足す
  • 秘密のファイルは読まれる前に deny で塞ぐ
  • モードはManual から。慣れても禁止は残る

SETUP 04

日常の点検 ―― 壊れてから直すより、月に一度見る

困ったときの診断の順番、会話が長くなったときの整え方、初期設定のチェックリストをまとめます。 →

※ 画面の名前やボタンの場所、プランの内容、設定の細かな仕様は、アプリの更新で変わることがあります。この記事は公式の説明(2026年10月時点)と実際に使っている環境をもとに書いていますが、動作を保証するものではありません。迷ったときは公式のドキュメントが正です。