原文(日本語に翻訳)
プラグインがデフォルト設定のために settings.json を同梱できるようになりました。
原文(英語)
Plugins can ship settings.json for default configuration
概要
Claude Codeのプラグインに settings.json ファイルを含めることで、プラグインのインストール時にデフォルト設定を自動的に提供できるようになりました。これにより、プラグイン開発者はユーザーが手動で設定を行う必要なく、最適なデフォルト値をあらかじめ定義でき、プラグインのセットアップ体験が向上します。
基本的な使い方
プラグインのディレクトリ構造に settings.json を追加します。
my-plugin/
├── .claude/
│ ├── agents/
│ │ └── my-agent.md
│ ├── skills/
│ │ └── my-skill.md
│ └── settings.json ← 追加json
// .claude/settings.json の例
{
"defaultModel": "claude-sonnet-4-6",
"permissions": {
"allow": ["Bash(npm:*)", "Read(**/*.ts)"]
}
}実践例
ユースケース1: 開発ツールプラグインのデフォルト設定
TypeScript開発向けのプラグインにデフォルト設定を含める場合。
json
// typescript-dev-plugin/.claude/settings.json
{
"permissions": {
"allow": [
"Bash(npm:*)",
"Bash(npx:*)",
"Bash(tsc:*)",
"Read(**/*.ts)",
"Read(**/*.tsx)",
"Write(**/*.ts)",
"Write(**/*.tsx)"
]
},
"env": {
"NODE_ENV": "development"
}
}bash
# プラグインをインストール
claude plugin install ./typescript-dev-plugin
# インストール後、自動的に上記のデフォルト設定が適用される
# ユーザーは追加設定なしで TypeScript 開発を開始できるユースケース2: セキュリティ設定の強制
企業向けプラグインでセキュリティポリシーを事前設定する場合。
json
// enterprise-security-plugin/.claude/settings.json
{
"permissions": {
"deny": [
"Bash(curl:*)",
"Bash(wget:*)",
"WebFetch(*)"
]
},
"autoApprove": false
}bash
# エンタープライズプラグインをインストール
claude plugin install ./enterprise-security-plugin
# セキュリティ制約が自動的に適用される
# ネットワーク接続系のコマンドが制限されるユースケース3: MCPサーバー設定の自動化
MCPサーバーを含むプラグインの設定を自動化する場合。
json
// mcp-database-plugin/.claude/settings.json
{
"mcpServers": {
"database-server": {
"command": "node",
"args": ["./mcp-server/index.js"],
"env": {
"DB_TYPE": "postgresql"
}
}
}
}bash
# MCPサーバーを含むプラグインをインストール
claude plugin install ./mcp-database-plugin
# MCPサーバーの設定が自動的に追加される
# 手動でMCPサーバーを設定する必要がない注意点
- プラグインの
settings.jsonはデフォルト設定として機能します。ユーザーが手動で変更した設定は上書きされません。 - 設定の優先順位: ユーザー設定 > プロジェクト設定 > プラグインのデフォルト設定
plugin enableおよびplugin disableコマンドはv2.1.49から--scopeを省略した場合に自動的にスコープを検出します。- プラグインの
settings.jsonに機密情報(APIキーなど)を含めないでください。 - 設定ファイルの形式はClaude Codeの標準的な
settings.json形式に従ってください。