注意:この記事はAIが作成しています
参照元の存在、参考元のリンクの信頼度、事実の歪曲がないかをAIによりセルフチェックしています
Claude Code settings.json 初学者向け設定ガイド - 安全で効率的な開発環境の構築
概要
Claude Codeの設定システムは階層的な権限管理により、個人設定からエンタープライズポリシーまで柔軟に制御できる強力なメカニズムです。適切な設定により、セキュリティを保ちながら効率的な開発環境を構築できます。
Claude Code settings.jsonとは
Claude Codeは、ターミナル上で動作するAI駆動の開発支援ツールで、settings.json
による公式の設定システムを提供しています。このファイルでは権限管理、モデル設定、環境変数、カスタムフックなどの重要な設定を行えます。
重要な注意: 2025年5月以降、claude config
コマンドは段階的に廃止予定となり、設定はsettings.json
ファイルによる管理に移行しています。
引用
"The settings.json file is our official mechanism for configuring Claude Code through hierarchical settings"
和訳
settings.jsonファイルは、Claude Codeを階層設定によって構成する公式メカニズムです
参照先リンク:https://docs.anthropic.com/en/docs/claude-code/settings
信頼度5:★★★★★(Anthropic公式ドキュメント、最新の正確な技術仕様)
1. 同一階層の設定ファイルの統合
プロジェクト内の2つのファイルがどのように統合されるかを示します:
引用
"Settings are applied in order of precedence: Enterprise policies, Command line arguments, Local project settings, Shared project settings, User settings"
和訳
設定は優先順位に従って適用されます:エンタープライズポリシー、コマンドライン引数、ローカルプロジェクト設定、共有プロジェクト設定、ユーザー設定
参照先リンク:https://docs.anthropic.com/en/docs/claude-code/settings
信頼度5:★★★★★(Anthropic公式ドキュメント)
2. 権限システムの詳細解説
permissions(権限設定)
Claude Codeの最も重要な設定項目が権限管理です。以下の3種類のルールで細かく制御できます:
ルールタイプ | 優先度 | 動作 | 用途 |
---|---|---|---|
deny |
最高 | 完全拒否 | 機密ファイル保護 |
ask |
中 | 確認要求 | 重要操作の手動承認 |
allow |
最低 | 自動許可 | 安全なツールの自動実行 |
allowedTools(許可ツール)
ツール名 | 説明 | セキュリティリスク |
---|---|---|
Read |
ファイル読み取り | 低 |
Write(src/**) |
src配下の書き込み | 中 |
Edit(src/**) |
src配下の編集 | 中 |
Bash(git *) |
Gitコマンドのみ | 低 |
Bash(npm run *) |
NPMスクリプトのみ | 中 |
LS , Grep , Glob
|
検索系ツール | 低 |
deny(拒否ルール)
重要: denyルールは他のすべてのルールより優先されます。プロジェクト設定でdenyされている操作は、ユーザー設定でallowしても実行できません。
拒否パターン | 保護対象 | 理由 |
---|---|---|
Read(./.env*) |
環境変数ファイル | APIキー・DB接続情報の保護 |
Read(./secrets/**) |
機密ディレクトリ | 証明書・秘密鍵の保護 |
Bash(rm *) |
ファイル削除コマンド | データ破損防止 |
Bash(sudo *) |
管理者権限コマンド | システム改変防止 |
引用
"Deny rules take precedence over allow and ask rules"
和訳
拒否ルールは許可ルールと確認ルールより優先されます
参照先リンク:https://docs.anthropic.com/en/docs/claude-code/iam
信頼度5:★★★★★(Anthropic公式IAMドキュメント)
3. 動作モードとdefaultMode
3つの動作モード
Claude Codeには以下の3つの動作モードがあります:
モード | 設定値 | 表示 | 動作 |
---|---|---|---|
通常モード |
"ask" または未設定 |
表示なし | 毎回確認 |
自動承認モード | "acceptEdits" |
⏵⏵ accept edits on |
allowedTools自動実行 |
プランモード | "plan" |
⏸ plan mode on |
読み取りのみ |
権限設定との相互作用
重要な原則: 権限の階層は動作モードに関係なく適用されます。
引用
"Default mode controls Claude's permission behavior when encountering new requests"
和訳
デフォルトモードは、新しいリクエストに遭遇したときのClaudeの権限動作を制御します
参照先リンク:https://docs.anthropic.com/en/docs/claude-code/iam
信頼度5:★★★★★(Anthropic公式IAMドキュメント)
4. その他の主要設定項目
model(使用モデル指定)
モデル名 | 特徴 | 適用シーン | コスト |
---|---|---|---|
claude-sonnet-4-20250514 |
バランス重視 | 一般的な開発作業 | 中 |
claude-opus-4-20250514 |
高性能 | 複雑な問題解決 | 高 |
claude-3-5-haiku-20241022 |
高速・軽量 | 簡単なタスク | 低 |
env(環境変数)
各セッションに適用される環境変数の設定例:
{
"env": {
"NODE_ENV": "development",
"DEBUG": "app:*",
"DISABLE_TELEMETRY": "1"
}
}
hooks(カスタムフック)
ツール実行前後での自動処理設定:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write(*.js)|Write(*.ts)",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $file"
}
]
}
]
}
}
参照先リンク:https://docs.anthropic.com/en/docs/claude-code/settings
信頼度5:★★★★★(Anthropic公式設定ドキュメント)
5. セキュリティのベストプラクティス
最小権限の原則
基本方針: 必要最小限の権限のみを付与し、段階的に権限を拡張する
セキュリティレベル | 推奨設定 | 説明 |
---|---|---|
高セキュリティ | 読み取りのみ | 機密プロジェクト |
標準セキュリティ | プロジェクト内書き込み | 一般的な開発 |
低セキュリティ | 広範囲アクセス | 実験・学習環境 |
危険な設定例と安全な設定例
設定項目 | 🚨 危険な例 | ✅ 安全な例 | 理由 |
---|---|---|---|
Bashコマンド | "Bash" |
"Bash(git *)" |
システムコマンド制限 |
ファイル書き込み | "Write" |
"Write(src/**)" |
範囲制限 |
システムアクセス | "Read(/etc/**)" |
"Read(./)" |
システムファイル保護 |
引用
"Files matching these patterns will be completely invisible to Claude Code, preventing any accidental exposure of sensitive data"
和訳
これらのパターンにマッチするファイルは、Claude Codeから完全に見えなくなり、機密データの偶発的な露出を防ぎます
参照先リンク:https://docs.anthropic.com/en/docs/claude-code/settings
信頼度5:★★★★★(Anthropic公式設定ドキュメント)
6. 実用的な設定例
推奨設定テンプレート(プロジェクト用)
{
"model": "claude-sonnet-4-20250514",
"permissions": {
"defaultMode": "ask",
"allow": [
"Read",
"Write(src/**)",
"Edit(src/**)",
"Write(docs/**)",
"Edit(docs/**)",
"Write(tests/**)",
"Edit(tests/**)",
"Bash(git add *)",
"Bash(git commit *)",
"Bash(git push *)",
"Bash(npm run *)",
"Bash(npm install)",
"Bash(npm test)",
"LS",
"Grep",
"Glob"
],
"deny": [
"Read(./.env*)",
"Read(./secrets/**)",
"Read(./**/*key*)",
"Read(./node_modules/**)",
"Write(./package*.json)",
"Bash(rm *)",
"Bash(sudo *)",
"Bash(curl *)",
"Bash(wget *)",
"Bash(chmod +x *)"
]
},
"env": {
"NODE_ENV": "development",
"DISABLE_TELEMETRY": "1"
},
"hooks": {
"PostToolUse": [
{
"matcher": "Write(*.js)|Write(*.ts)",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $file"
}
]
}
]
}
}
この設定の特徴
- セキュリティ重視: 機密ファイルと危険なコマンドを明示的に拒否
- 開発効率: 一般的な開発作業に必要なツールを許可
- 自動化: TypeScript/JavaScriptファイルの自動フォーマット
- 段階的承認: 新しい権限要求時は確認を求める
引用
"This hierarchy ensures that organizational policies are always enforced while still allowing flexibility at the project and user levels where appropriate"
和訳
この階層は、適切な場合にプロジェクトレベルやユーザーレベルでの柔軟性を保ちながら、組織のポリシーが常に適用されることを保証します
参照先リンク:https://docs.anthropic.com/en/docs/claude-code/iam
信頼度5:★★★★★(Anthropic公式IAMドキュメント)
7. トラブルシューティング
よくある問題と解決方法
問題 | 原因 | 解決方法 |
---|---|---|
設定が反映されない | ファイル配置ミス | 正しいディレクトリに配置確認 |
権限エラー | deny設定の競合 | 権限階層の確認 |
環境変数が効かない | 設定ファイルの構文エラー | JSON構文の検証 |
設定の確認方法
Claude Code内で以下のコマンドを使用して設定を確認できます:
-
/permissions
- 権限設定の表示 -
claude config list
- 全体設定の確認(段階的廃止中)
注意: claude config
コマンドは現在段階的に廃止されており、今後はsettings.json
ファイルでの直接設定が推奨されます。
引用
"Deprecated claude config commands in favor of editing settings.json"
和訳
settings.jsonの編集を優先し、claude configコマンドは廃止予定です
参照先リンク:https://github.com/anthropics/claude-code/issues/1202
信頼度4:★★★★☆(公式GitHubリポジトリのissue、実装状況の報告)
8. エンタープライズ向け設定
管理ポリシー設定
システム管理者は以下の場所にエンタープライズポリシーを配置できます:
OS | 設定ファイルパス |
---|---|
macOS | /Library/Application Support/ClaudeCode/managed-settings.json |
Linux/WSL | /etc/claude-code/managed-settings.json |
Windows | C:\ProgramData\ClaudeCode\managed-settings.json |
エンタープライズ設定例
{
"permissions": {
"deny": [
"WebFetch",
"Bash(curl *)",
"Bash(wget *)",
"Read(./.env*)",
"Read(./secrets/**)"
],
"defaultMode": "ask"
},
"env": {
"DISABLE_TELEMETRY": "1"
}
}
参照先リンク:https://docs.anthropic.com/en/docs/claude-code/iam
信頼度5:★★★★★(Anthropic公式IAMドキュメント)
まとめ
Claude Codeのsettings.json
は、階層的権限システムによる強力で柔軟な設定メカニズムを提供します。セキュリティを保ちながら効率的な開発環境を構築するために重要なのは:
- 階層的権限管理の理解と適切な活用
- 最小権限の原則に基づく段階的な権限付与
- 機密ファイルの明示的保護設定
- プロジェクトディレクトリ配下への制限
- 危険なシステムコマンドの慎重な許可
-
設定の移行対応(
claude config
からsettings.json
へ)
これらのベストプラクティスに従い、公式ドキュメントを参照しながら設定することで、Claude Codeの恩恵を最大限に活用しつつ、安全な開発環境を維持できます。
参考リンク
- Claude Code 公式設定ドキュメント - 信頼度5:★★★★★
- Claude Code IAM ドキュメント - 信頼度5:★★★★★
- Claude Code ベストプラクティス - 信頼度5:★★★★★
- Claude Code セキュリティガイド - 信頼度5:★★★★★