Skip to content

原文(日本語に翻訳)

--setting-sources user が動的に探索されたプロジェクトスキルをブロックしていなかった問題を修正しました

原文(英語)

Fixed --setting-sources user not blocking dynamically discovered project skills

概要

--setting-sources user フラグはユーザーレベルの設定のみを読み込み、プロジェクト固有の設定(.claude/ ディレクトリのスキルなど)を無視するためのオプションです。しかし、動的に探索される(自動検出される)プロジェクトスキルがこのフラグの制限を受けずに読み込まれてしまうバグがありました。修正後は --setting-sources user が動的に探索されたスキルを含むすべてのプロジェクトレベルのスキルを正しくブロックします。

基本的な使い方

bash
# ユーザー設定のみを使用(プロジェクトスキルを除外)
claude --setting-sources user

# 修正後: 動的に探索されたプロジェクトスキルも正しくブロックされる

実践例

--setting-sources フラグの用途

bash
# プロジェクト固有のスキルを無効化して起動
# (信頼できないプロジェクトを開く場合や、クリーンな環境でのデバッグに有用)
claude --setting-sources user

# user のみ: ユーザー設定(~/.claude/)のスキルのみ読み込む
# project: プロジェクト設定(.claude/)も読み込む(デフォルト)

修正前の問題シナリオ

シナリオ: セキュリティ上の懸念から --setting-sources user を使用

1. 信頼できないプロジェクトをクローン
   git clone https://example.com/untrusted-project

2. プロジェクトスキルを除外して起動
   claude --setting-sources user
   # 意図: .claude/ のスキルを読み込まない

3. 修正前:
   → 動的探索された .claude/commands/ のスキルが読み込まれてしまう
   → セキュリティ上の意図が達成できない

4. 修正後:
   → 動的探索スキルも含めてすべてプロジェクトスキルがブロックされる
   → ユーザー設定のスキルのみが利用可能

setting-sources オプションの使い分け

bash
# ユーザー設定のみ(プロジェクトスキルを全て除外)
claude --setting-sources user

# プロジェクト設定のみ
claude --setting-sources project

# 両方(デフォルト動作)
claude
# または
claude --setting-sources user,project

注意点

  • --setting-sources user は信頼できないプロジェクトで作業する際に有用なセキュリティオプションです
  • この修正により、フラグの意図した動作が正しく機能するようになりました
  • プロジェクトスキルが必要な場合は通常通り(フラグなしで)起動してください
  • 動的探索とは、Claude Code が自動的に .claude/commands/ 等を検索してスキルを見つける動作です

関連情報