権限と権限モード
権限は、Claude Code が、あなたに確認するために止まることなく行えること を決めます。うまく調整すれば、制御を失わずに作業の流れが得られます。下手に調整すれば、すべてを機械的に承認するか、確認の洪水に溺れるかのどちらかになります。
3 つの判定
すべての潜在的なアクションは、次のいずれかに解決されます。
- allow — 実行する。確認なし。
- ask — 一時停止してあなたに確認する(明示的に allow/deny されていないものすべてのデフォルト)。
- deny — 決して行わない。たとえ求められても。
ルールは通常、ツールとパターンの組み合わせに一致します。例: Bash(npm run test:*) を allow、Read(./.env) を deny。
権限モード
モードは、セッション全体の姿勢を設定します。
| モード | 挙動 | 使うとき |
|---|---|---|
| default / ask | 事前に allow されていないものすべてについて確認する | 日々の作業 |
| plan | 読み取り専用。提案はするが決して実行しない | 大規模・リスクの高いタスク — プランモード を参照 |
| acceptEdits | ファイル編集を自動承認する | 信頼でき、範囲が明確な編集セッション |
| bypass / yolo | 確認を完全にスキップする | サンドボックス/CI のみ — シークレットのあるマシンでは 絶対に 使わない |
:::warning bypass はサンドボックスに置くべき 実機ですべての確認をオフにして実行することは、エージェントが触れてはいけないものに触れてしまう原因になります。使い捨ての環境のために取っておきましょう。自律実行のハードニング を参照してください。 :::
まともな出発点となる allowlist
目標: 安全で反復的なものは事前に allow し、破壊的なものは ask または deny に保つこと。
- Allow: ファイルの読み取り、テスト/lint/ビルドコマンドの実行、git status/diff。
- Ask: 依存関係のインストール、プロジェクト外へのファイル書き込み、ネットワーク呼び出し。
- Deny: シークレットファイル(
.env、鍵ファイル)の読み取り、force-push、rm -rf。
プロジェクトルールは settings.json(共有)に、個人の上書きは settings.local.json に保存します。
:::tip 確認から学ばせよう 同じ安全なコマンドを数回承認すれば、何を allowlist に追加すべきかが正確にわかります — 繰り返される確認を、一度きりのルールに変えられます。 :::
次に
- settings.json: 設定システム
- フック — allow/deny を超えて、ルールを決定論的に強制する
- セキュリティと責任ある利用