原文(日本語に翻訳)
パーミッションプロンプトのUXを改善し、Tabヒントをフッターに移動、Yes/Noの入力ラベルをより明確にし、コンテキストに応じたプレースホルダーを追加しました
原文(英語)
Improved permission prompt UX with Tab hint moved to footer, cleaner Yes/No input labels with contextual placeholders
概要
Claude Code v2.1.0で改善された、パーミッション確認プロンプトのUI/UX機能です。以前のバージョンでは、Tabキーでの詳細表示ヒントがメインエリアに表示され、Yes/Noの入力も分かりにくいレイアウトでした。この改善により、Tabヒントがフッターに移動し、入力ラベルがクリーンになり、コンテキストに応じた説明が表示されるようになり、より直感的に操作できるようになりました。
改善前の動作
煩雑なUI
bash
# Claudeがコマンド実行を要求
claude "Delete temporary files"
# 修正前のプロンプト:
┌─────────────────────────────────┐
│ Execute: rm -rf /tmp/*.tmp │
│ │
│ Press Tab to see full command │ ← メインエリアに表示
│ │
│ Allow? [Y/n]: │ ← 分かりにくい
└─────────────────────────────────┘
# 問題点:
# - Tabヒントが邪魔
# - Yes/Noが分かりにくい
# - プレースホルダーなし改善後の動作
クリーンなUI
bash
# 同じ操作
claude "Delete temporary files"
# 修正後のプロンプト:
┌─────────────────────────────────┐
│ Execute bash command: │
│ rm -rf /tmp/*.tmp │
│ │
│ Allow this command? │
│ > [yes/no/always]: │ ← クリーンで明確
└─────────────────────────────────┘
Tab: Show full command details ← フッターに移動
# ✓ メインエリアがクリーン
# ✓ 選択肢が明確
# ✓ コンテキスト説明あり実践例
ファイル削除の確認
危険な操作の警告。
bash
# 危険なコマンド
claude "Clean up old logs"
# パーミッションプロンプト:
┌─────────────────────────────────┐
│ ⚠️ Potentially dangerous │
│ Execute bash command: │
│ rm -rf /var/log/old/* │
│ │
│ This will delete files │
│ > [yes/no/always]: │
└─────────────────────────────────┘
Tab: Show full command and affected files
# ✓ 危険性が明確
# ✓ 影響範囲が分かる
# ✓ Tabで詳細確認可能ファイル編集の確認
変更内容のプレビュー。
bash
# ファイル編集
claude "Update configuration"
# パーミッションプロンプト:
┌─────────────────────────────────┐
│ Edit file: │
│ config/settings.json │
│ │
│ Changes: │
│ - "apiUrl": "old-url" │
│ + "apiUrl": "new-url" │
│ │
│ Apply these changes? │
│ > [yes/no/always]: │
└─────────────────────────────────┘
Tab: Show full diff
# ✓ 変更内容が見える
# ✓ 承認前に確認可能パッケージインストール
依存関係の確認。
bash
# パッケージ追加
claude "Add React to project"
# パーミッションプロンプト:
┌─────────────────────────────────┐
│ Execute: │
│ npm install react react-dom │
│ │
│ This will install 2 packages │
│ and 50 dependencies │
│ │
│ Continue? │
│ > [yes/no]: │
└─────────────────────────────────┘
Tab: Show package details and license info
# ✓ インストール内容が明確
# ✓ 依存関係数が分かるGit操作の確認
コミット内容の確認。
bash
# Gitコミット
claude "Commit changes"
# パーミッションプロンプト:
┌─────────────────────────────────┐
│ Execute git command: │
│ git commit -m "feat: add login" │
│ │
│ Files to commit: │
│ • src/auth.ts (modified) │
│ • src/login.tsx (new) │
│ • tests/auth.test.ts (modified) │
│ │
│ Proceed with commit? │
│ > [yes/no]: │
└─────────────────────────────────┘
Tab: Show full diff of changes
# ✓ コミット対象が明確
# ✓ ファイルの状態が分かる注意点
- Claude Code v2.1.0(2026年1月7日リリース)で実装
- UI改善のポイント:
- Tabヒント: メインエリアからフッターに移動
- 入力ラベル:
[yes/no/always]の形式で明確に - プレースホルダー: コンテキストに応じた説明を表示
- クリーンなレイアウト: 必要な情報のみ表示
- 入力オプション:
- yes (y): 今回のみ許可
- no (n): 拒否
- always (a): 常に許可(このパターンを記憶)
- never: 常に拒否(設定に応じて)
- キーボード操作:
- Tab: 詳細情報を表示(diff、影響範囲など)
- Enter: デフォルトオプションを選択(通常は "no")
- y/n/a: 対応するオプションを選択
- Esc: キャンセル("no" と同じ)
- コンテキスト別のプレースホルダー:bash
# Bashコマンド > [yes/no/always]: Execute this command? # ファイル編集 > [yes/no/always]: Apply these changes? # パッケージインストール > [yes/no]: Install packages? # Git操作 > [yes/no]: Proceed with git operation? - Tabで表示される詳細:
- Bashコマンド: 完全なコマンド、環境変数、影響範囲
- ファイル編集: 完全なdiff、変更行数
- パッケージ: ライセンス情報、依存関係ツリー
- Git: フルdiff、コミット対象ファイル一覧
- 危険な操作の警告:bash
# 危険レベル別の表示 ⚠️ Potentially dangerous # 黄色 🚨 Very dangerous # 赤色 # 例: # rm -rf / → 🚨 Very dangerous # rm -rf /tmp → ⚠️ Potentially dangerous - デフォルト選択:
- 安全側("no")がデフォルト
- Enterキーで "no" を選択
- 明示的に "yes" を入力する必要あり
- 自動承認モード:bash
# すべて自動承認(危険) claude --yes "Task" # 特定パターンのみ自動承認 # ~/.claude/permissions.json { "autoApprove": [ "git status", "git diff", "npm test" ] } - 色とアイコン:
- 緑: 安全な操作
- 黄色: 注意が必要な操作
- 赤: 危険な操作
- アイコン: ✓(安全)、⚠️(注意)、🚨(危険)
- レスポンシブデザイン:
- ターミナル幅に応じて自動調整
- 狭い画面でも読みやすく表示
- デバッグモード:bash
claude --debug "Task" # プロンプトの詳細情報を表示: # [DEBUG] Permission prompt shown # [DEBUG] Command: rm -rf /tmp/*.tmp # [DEBUG] Risk level: medium # [DEBUG] User response: yes - 関連する改善:
- index 85: sedコマンドのdiffプレビュー