Skip to content

原文(日本語に翻訳)

パス安全性と作業ディレクトリブロックのパーミッションプロンプトを改善し、制限の理由を表示するようにしました(これまでは理由なしの空白のプロンプトが表示されていました)。

原文(英語)

Improved permission prompts for path safety and working directory blocks to show the reason for the restriction instead of a bare prompt with no context

概要

ファイルパスのアクセス制限や作業ディレクトリ外のブロックが発生した際に表示されるパーミッションプロンプトが改善されました。これまでは文脈なしの空白プロンプトが表示されていましたが、今後は制限が発生した理由が明確に表示されます。ユーザーが何が起きているのかを理解し、適切な対応を取るのに役立ちます。

基本的な使い方

この改善は自動的に適用されます。パーミッション確認が必要な操作を実行すると、理由が表示されます。

bash
claude

# 制限されたパスへのアクセスを試みた場合の例
> /etc/passwdを読み込んで

# 改善前: 空白のプロンプト
# 許可しますか? [y/N]

# 改善後: 理由付きのプロンプト
# ⚠️ このファイルへのアクセスはパス安全ポリシーにより制限されています
# 理由: /etc/passwd はシステム設定ファイルで、通常の作業ディレクトリ外にあります
# 許可しますか? [y/N]

実践例

ユースケース1: 作業ディレクトリ外へのアクセス

プロジェクトディレクトリの外にあるファイルへのアクセスを試みた場合。

bash
# プロジェクトディレクトリ: ~/projects/my-app
claude

> ~/Documents/credentials.json を読み込んで
# パーミッションプロンプト(改善後):
# ⚠️ 作業ディレクトリ外のファイルにアクセスしようとしています
# 理由: ~/Documents/credentials.json は現在の作業ディレクトリ (~/projects/my-app) の外にあります
# 許可しますか? [y/N]

ユースケース2: システムファイルへのアクセス

システムの重要ファイルへのアクセスが試みられた場合。

bash
claude

> /usr/local/bin/ のファイルを一覧表示して
# パーミッションプロンプト(改善後):
# ⚠️ システムディレクトリへのアクセスがブロックされています
# 理由: /usr/local/bin はシステムディレクトリです。このディレクトリへのアクセスは
# セキュリティポリシーにより確認が必要です
# 許可しますか? [y/N]

ユースケース3: パーミッションルールの確認

設定されたパーミッションルールに基づく制限の場合。

bash
# settings.json に以下が設定されている場合
# "permissions": { "deny": ["Read(~/.ssh/**)", "Read(~/.aws/**)" ] }

claude

> ~/.ssh/config を確認して
# パーミッションプロンプト(改善後):
# ⚠️ このファイルはパーミッション設定によりブロックされています
# 理由: 設定ファイルのルール 'deny: Read(~/.ssh/**)' によりアクセスが制限されています
# [ブロックされました]

注意点

  • この改善はパス安全チェックと作業ディレクトリブロックに適用されます。
  • 表示される理由の具体的な内容はブロックの種類によって異なります。
  • SDKコンシューマー向けには、安全チェックがask応答をトリガーした際にパーミッション選択肢も提供されるようになりました(v2.1.49で追加)。
  • パーミッションプロンプトへの応答は設定ファイルで自動化することも可能です。

関連情報