Claude Codeを使っていて、毎回「このコマンドを実行してもよろしいですか?」的なことを聞かれて毎回イライラしていませんか?
作業が頻繁に中断されて、せっかくの便利なAIツールが使いづらくなってしまいますよね。
確かに公式には --dangerously-skip-permissions というオプションがあり、これを起動コマンドに追加することで権限確認をスキップできます。
# 通常の起動 claude # 権限確認をスキップする起動 claude --dangerously-skip-permissions
しかし、このコマンドの最大の弱点は、その名前の通り「危険」が伴うことにあります。
この記事は2026年8月時点の最新のClaude Code仕様に合わせて更新しました。以前の記事で紹介していた設定ファイル名(claude_config.json)は現在使われておらず、正しくは settings.json です。この記事では、--dangerously-skip-permissions(通称・デンジャラスモード)のリスクを踏まえたうえで、2026年時点でおすすめの安全な使い方を、優先度が高い順にご紹介します。
参考資料
詳細については、Anthropicの公式ベストプラクティスガイドやセキュリティドキュメントをご確認ください。
そもそも、なぜClaude Codeは毎回確認してくるのか?
Claude Codeが権限確認を求める理由は、ユーザーのシステムを保護するためです。
AIが自動でコマンドを実行することで、以下のような重大な問題が起こる可能性があります:
- 重要なファイルの削除
- システム設定の変更
- 不正なソフトウェアのインストール
- セキュリティホールの作成
そのため、安全性を重視して毎回確認を求める仕様になっています。
--dangerously-skip-permissions(デンジャラスモード)の危険性
公式オプションの --dangerously-skip-permissions を使えば確認をスキップできますが、文字通りデンジャラス(危険)です。
このオプションを使うと、Claude Codeはすべてのコマンドを無制限に実行できるようになります。最悪の場合、以下のようなことが起こり得ます。
- システムファイルの削除:
rm -rf /でシステム全体が消去される - 管理者権限の取得:
sudoコマンドで不正な権限昇格 - マルウェアのダウンロード: 危険なスクリプトの自動実行
- 個人情報の流出: 機密ファイルの外部送信
- システムの完全破壊: 復旧不可能な状態に陥る
一度実行されれば取り返しがつかないため、このオプションをそのまま使うのは非常に危険です。
なお現在は、--dangerously-skip-permissions を使っていても、ホームディレクトリやルートディレクトリを丸ごと削除するような一部の破壊的操作には追加の確認が入るセーフティネットが用意されています。とはいえ、それ以外のコマンドはノーチェックで実行されるため、油断は禁物です。
【2026年版・まずはここから】permission-modeで確認頻度を調整する
以前は「デンジャラスモード+設定ファイルで危険なコマンドだけ制限する」という力技が主な対策でしたが、現在のClaude Codeには --permission-mode という、もっと手軽な選択肢が用意されています。まずはこちらを試すのがおすすめです。
# ファイル編集は自動承認、それ以外(コマンド実行など)は都度確認 claude --permission-mode acceptEdits # 提案は出すが、編集・実行は一切行わない(コードレビューや調査に最適) claude --permission-mode plan # 確認を全てスキップ(--dangerously-skip-permissionsと同じ意味) claude --permission-mode bypassPermissions
主なモードは次の通りです。
| モード | 動作 |
|---|---|
default | 各ツールを初めて使う時にプロンプトで確認(標準) |
acceptEdits | ファイル編集は自動承認、それ以外は確認 |
plan | 読み取り専用。編集・実行は行わない |
bypassPermissions | 確認を全てスキップ(--dangerously-skip-permissionsと同義) |
普段使いなら acceptEdits、コードを読ませて提案だけ欲しい時は plan で十分なケースがほとんどです。それでも確認が多いと感じる場合に、次の設定ファイルによる制限と組み合わせて bypassPermissions を検討する、という順番がおすすめです。
本格的に制限したい人向け: settings.jsonで許可ルールを作る
それでも bypassPermissions(--dangerously-skip-permissions)を使いたい場合は、「危険なコマンドだけを制限する設定ファイル」を用意しましょう。
Claude Codeの設定ファイルは settings.json という名前で、次の3箇所に置くことができます。
| 種類 | パス | 用途 |
|---|---|---|
| ユーザー設定 | ~/.claude/settings.json | 自分の全プロジェクト共通 |
| プロジェクト設定 | .claude/settings.json | チームで共有(Git管理) |
| ローカル設定 | .claude/settings.local.json | 自分専用(Git管理外) |
個人利用なら、まずは ~/.claude/settings.json に以下のように記述します。permissions の中に allow(許可)・ask(確認)・deny(拒否)を配列で指定でき、「ツール名(パターン)」という書き方でコマンドを指定します。評価は deny → ask → allow の順で判定されます。
{
"permissions": {
"deny": [
"Bash(rm -rf /*)",
"Bash(rm -rf ~/*)",
"Bash(sudo *)",
"Bash(su *)",
"Bash(chmod -R 777 /*)",
"Bash(dd *)",
"Bash(mkfs *)",
"Bash(shutdown *)",
"Bash(reboot *)",
"Bash(curl * | bash)",
"Bash(curl * | sh)",
"Bash(wget * | bash)",
"Bash(wget * | sh)",
"Bash(gh repo delete *)"
],
"ask": [
"Bash(git push *)",
"Bash(npm publish *)"
]
}
}
重要
denyに登録したコマンドは、--dangerously-skip-permissions(bypassPermissions)を使っている時でも実行がブロックされるのが基本的な設計です。「速度は欲しいが、この操作だけは絶対にやらせたくない」というものをdenyに、「実行前に一声だけ欲しい」ものをaskに入れる、という使い分けがおすすめです。
これで bypassPermissions を使っても、重要なシステム操作は保護されたまま、それ以外は確認なしでサクサク進められます。
完了を通知で受け取る(hooksの活用)
Claude Codeで長時間の処理を実行していると、いつ作業が完了したか分からず、定期的に画面を確認する必要があります。他の作業をしている間にタスクが終わっていることも多く、完了通知がないと効率的な並行作業ができません。
作業完了時に通知を受け取りたい場合は、settings.json の hooks を使います。イベント名(Stop など)を先頭大文字で指定し、その中に matcher と hooks の配列を書く形式です。
Mac:
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Codeのタスクが完了しました\" with title \"完了通知\" sound name \"Glass\"'"
}
]
}
]
}
}
Windows:
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "powershell -Command \"Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.MessageBox]::Show('Claude Codeのタスクが完了しました', '完了通知')\""
}
]
}
]
}
}
これで、毎回の確認で作業が中断されるストレスから解放され、より快適な開発環境が手に入ります。
長いオプション名をエイリアスで短縮する
--permission-mode acceptEdits や --dangerously-skip-permissions は毎回入力するには長すぎます。エイリアス(ショートカット)で解決しましょう。
Mac/Linux(.zshrc または .bashrc):
# 普段使い用(編集は自動承認、それ以外は確認) alias claude-safe='claude --permission-mode acceptEdits' # デンジャラスモード用(リスクを理解した上で) alias claude-skip='claude --dangerously-skip-permissions'
設定後は source ~/.zshrc(zshの場合)で反映されます。
Windows(PowerShell Profile):
function claude-safe { claude --permission-mode acceptEdits $args }
function claude-skip { claude --dangerously-skip-permissions $args }
これで claude-safe や claude-skip という短いコマンドで実行できるようになります。名前は自由に変更してかまいません。
まとめ
Claude Codeの権限確認は、2026年現在は次の順番で対策するのがおすすめです。
- まず
--permission-mode(acceptEdits/plan)を試す — 設定ファイル不要で手軽 - それでも足りなければ、
settings.jsonのdeny/askで危険なコマンドだけ制限 - エイリアスで入力の手間を減らす
hooksで完了通知を受け取り、待ち時間を有効活用する
--dangerously-skip-permissions をそのまま使うのは危険ですが、適切な制限をかけることで安全に活用できます。この設定により、Claude Codeの真の力を引き出しながら、システムの安全性も確保できるでしょう。
毎回の確認で作業が中断されるストレスから解放され、より快適な開発環境を手に入れてください。
では!


コメント