Skip to content

原文(日本語に翻訳)

自動モード:拒否されたコマンドが通知として表示され、/permissions → Recent タブに表示されるようになりました。r キーでリトライできます

原文(英語)

Auto mode: denied commands now show a notification and appear in /permissions → Recent tab where you can retry with r

概要

自動モード(Auto mode)でコマンドが拒否された際、ユーザーへの通知が表示されるようになりました。また /permissions コマンドの新しい「Recent」タブに拒否されたコマンドの履歴が記録され、r キーを押すだけで手動リトライを実行できます。どのコマンドが拒否されているかを把握し、必要に応じて権限設定を調整するワークフローが大幅に改善されます。

基本的な使い方

bash
# /permissions コマンドで権限管理画面を開く
/permissions

権限管理画面のタブ構成:

  • Settings: 権限の設定・管理
  • Recent: 最近拒否されたコマンドの履歴 ← 新機能

Recentタブでのリトライ

/permissions を開いて Recent タブを選択:

最近拒否されたコマンド:
  ✗ [10:23] Bash: rm -rf ./temp_files
  ✗ [10:25] Bash: curl https://example.com/data
  ✗ [10:31] Bash: npm publish

[r] リトライ  [Enter] 詳細  [q] 終了

実践例

拒否されたコマンドの確認と権限付与

bash
# ステップ1: Claudeが自動モードでコマンドを実行しようとして拒否される
# → 画面に通知が表示される

# ステップ2: /permissions で確認
/permissions
# → Recent タブで拒否されたコマンドを確認

# ステップ3: 適切であればリトライ(r キー)
# または settings.json に権限を追加

# ステップ4: 権限を永続的に付与する場合
# settings.json に追加:
{
  "permissions": {
    "allow": [
      "Bash(rm -rf ./temp_files)"
    ]
  }
}

開発ワークフローでの活用

bash
# 1. 新しいプロジェクトでClaudeを起動
claude

# 2. Claudeが必要なコマンドを実行しようとして拒否された場合
# 通知: "Bash(npm install) が自動モードにより拒否されました"

# 3. /permissions → Recent タブで確認
/permissions
# Recent タブに表示:
#   ✗ Bash: npm install
#   ✗ Bash: npx create-react-app

# 4. r キーでリトライ(一時的な許可)
# または /permissions の Settings でルールを追加

PermissionDeniedフックとの組み合わせ

json
// settings.json
{
  "hooks": {
    "PermissionDenied": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "log-denied.sh"
          }
        ]
      }
    ]
  }
}
bash
#!/bin/bash
# log-denied.sh
# 拒否ログをファイルに記録(/permissions Recent タブと合わせて確認)
echo "$(date): 拒否 - $CLAUDE_TOOL_NAME: $CLAUDE_TOOL_INPUT" >> ~/claude-denials.log

注意点

  • Recent タブへの記録は 自動モードの分類器による拒否のみが対象です。PreToolUse フックによる拒否は別途 PermissionDenied フックで処理します
  • r キーによるリトライは一時的なものです。永続的な権限設定は settings.jsonpermissions.allow に追記してください
  • 拒否されたコマンドの通知は画面上に表示されますが、ヘッドレスモード(-p)では PermissionDenied フックを使用してください
  • セキュリティ上の理由から、リトライ前に拒否されたコマンドの内容を必ず確認することを推奨します

関連情報