Claude Codeを使い始めた頃、 settings.jsonにどう書けばいいか分からない まま放置していました。
放置していても普通に動くから、 「とりあえず後でいいや」 と思っていたのですが、実はここを整えるだけで 毎日の作業時間が地味に短くなる ことに気づいたのが先月。
非エンジニア視点で「これだけ入れておけば9割楽になる」設定を6つに絞って共有します。
まず — settings.jsonとCLAUDE.mdは別物
混同しやすいので最初に整理します。
ファイル | 役割 |
|---|---|
settings.json | Claude Codeの 動作設定(言語、権限、Hooks、MCPサーバーなど) |
CLAUDE.md | プロジェクト固有の 指示書(ルール、用語、口調、文脈) |
「動作のチューニング」が settings.json、「依頼内容の常駐指示」がCLAUDE.md。役割が違うので、両方を書く前提で考えます。
CLAUDE.mdの書き方は別記事で扱っているので、今日はsettings.jsonに専念します。
設定ファイルの階層 — 3つを使い分ける
settings.jsonは 3つの場所 に書けます。
場所 | 用途 | 優先度 |
|---|---|---|
| 自分専用のグローバル設定 | 中 |
| チームで共有する設定 | 高 |
| 自分専用のプロジェクト固有設定 | 最高 |
迷ったら、 個人用は ~/.claude/settings.json、チーム共有は .claude/settings.json、自分のローカル上書きは .claude/settings.local.json という棲み分けがシンプル。
settings.local.json は .gitignore に追加しておく前提です(個人設定をリポジトリに上げない)。
設定1 — 言語を日本語に固定
最初に入れるべきはこれ。
{
"language": "japanese"
}
Claude Codeはデフォルトだと、たまに英語で返してくることがあります。これを書いておくと 常に日本語応答 になります。
地味ながら、業務効率が 5%くらい上がる 設定。「英語で返ってきたから日本語にしてもらう」という1往復が消えるのが大きい。
設定2 — $schema で補完を有効化
これは見落とされがちですが、 後でハマらないために重要。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json"
}
VS Codeなどのエディタで .claude/settings.json を開いた時、 設定キーの補完とバリデーション が効くようになります。
タイプミスで設定キーを間違えても、即座に赤線で教えてくれる。私もこれを入れていなかった頃、 permissions を permission(複数形忘れ)と書いて30分悩んだことがあります。
設定3 — 自動更新をstableチャネルに
毎日のように出るアップデートを、自動で当ててほしい場合。
{
"autoUpdatesChannel": "stable"
}
stable を指定すると 安定版のみ自動取得。テスター気質の人は latest でもいいですが、業務で使うなら stable が無難です。
不要な手動アップデートが消えるので、 作業の中断が減る 効果があります。
設定4 — 権限の事前承認(permissions.allow)
ここが効率にもっとも影響します。
{
"permissions": {
"allow": [
"Bash(npm install:*)",
"Bash(npm run build:*)",
"Bash(git status)",
"Bash(git diff:*)",
"Read(~/.claude/**)",
"Edit(./src/**)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(git push:*)",
"Edit(./.env*)"
]
}
}
allow に書いたコマンド・操作は、 毎回承認を求められずに自動実行 されます。 deny に書いたものは絶対に実行されません。
毎日叩くコマンド(npm install, git status, ファイル読み込みなど)を allow に入れておくと、 承認ダイアログが減って作業のテンポが上がる。
逆に git push や .env 書き換えなど、 危険な操作 は deny に入れて、絶対に通らないようにしておくのが安全。
設定5 — Hooksで作業終了時の自動処理
Hooksは 特定のイベント が起きたときに自動でコマンドを実行する仕組み。
代表例として、セッション終了時に会話ログを自動保存する設定。
{
"hooks": {
"Stop": [
{
"matcher": ".*",
"hooks": [
{
"type": "command",
"command": "/export ~/Documents/claude-logs/$(date +%Y-%m-%d-%H%M).md"
}
]
}
]
}
}
これで claude を終了するたびに、Markdownの会話ログが自動生成されます。 業務記録が勝手に積み上がる ので、月末の振り返りや引き継ぎ資料に使える。
他にも PostToolUse(ツール実行後)、 PreToolUse(ツール実行前)、 Notification(通知時)など複数のフックポイントがあります。
設定6 — MCPサーバーの登録
MCP(Model Context Protocol)サーバーを使うと、Claude Codeから 外部サービス を直接操作できます。
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_TOKEN": "ntn_xxxxxxxxxxxx"
},
"alwaysLoad": true
},
"figma": {
"transport": "http",
"url": "https://mcp.figma.com/mcp"
}
}
}
毎日使うMCPサーバー(Notion・Figma・GSCなど)は、 alwaysLoad: true を付けると 起動直後から即座に呼べる 状態になります(v2.1.121以降の機能)。
Notion MCPやFigma MCPの具体的な使い方は別記事で扱っているので、そちらも併せて参照してください。
完成形のサンプル(コピペ可)
ここまでの6設定をまとめると、こんな感じになります。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"language": "japanese",
"autoUpdatesChannel": "stable",
"permissions": {
"allow": [
"Bash(git status)",
"Bash(git diff:*)",
"Bash(npm install:*)",
"Read(~/.claude/**)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(git push:*)",
"Edit(./.env*)"
]
},
"hooks": {
"Stop": [
{
"matcher": ".*",
"hooks": [
{
"type": "command",
"command": "/export ~/Documents/claude-logs/$(date +%Y-%m-%d-%H%M).md"
}
]
}
]
},
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": { "NOTION_TOKEN": "ntn_xxxxxxxxxxxx" },
"alwaysLoad": true
}
}
}
これを ~/.claude/settings.json に貼り付けて、自分の環境に合わせて編集すれば、 最低限のチューニングが完了 します。
注意点 — 機密情報の扱い
NOTION_TOKEN や API キーなどを settings.json に直接書くのは便利ですが、 このファイルをGitに上げると漏洩 します。
対策は2つ。
A. 環境変数経由で読ませる
settings.json には ${NOTION_TOKEN} のように書いて、シェル設定で export NOTION_TOKEN=xxx する形。
B. settings.local.json に分離
機密情報は .claude/settings.local.json に書いて、 .gitignore で除外する。
私はAの方が運用が楽なのでこっち派ですが、好みで選んでください。
まとめ
- settings.jsonとCLAUDE.mdは 役割が違う(動作設定 vs 指示書)
- 設定は3階層(global / project / local)、
localは.gitignore必須 - 入れておきたい6つは 言語 / $schema / 自動更新 / 権限 / Hooks / MCPサーバー
permissions.allowで承認ダイアログを減らすのが、 体感速度を上げる最大の効果StopHookで会話ログを自動保存すると、業務記録が勝手に貯まる- 機密情報は環境変数 or
settings.local.jsonに分離
「Claude Code、便利だけど毎日の操作が地味にだるい」と感じている方は、今週のうちにこの6設定を入れてみてください。月曜の朝、 作業の感触がワンランク変わる はずです。





