危険なコマンドを禁止したい
4. 権限・セキュリティコマンド / 機能
settings.json に deny を追加絶対に実行させないコマンドを指定
概要
deny ルールで特定のツールやコマンドを完全に禁止できます。deny は allow より優先され、bypassPermissions モードでも有効です。
設定例
// settings.json
{
"permissions": {
"deny": [
"Bash(rm -rf *)", // 再帰削除を禁止
"Bash(rm -r *)", // 同上
"Bash(sudo *)", // sudo を禁止
"Bash(chmod 777 *)", // 危険な権限変更を禁止
"Bash(git push --force*)", // force push を禁止
"Bash(curl * | sh)", // パイプでシェル実行を禁止
"Bash(wget * | sh)" // 同上
]
}
}こんな時に使う
- 破壊的なコマンドを絶対に実行させたくない時
- チームで安全なルールを共有したい時
使い方
- 1settings.json に permissions.deny 配列を追加
- 2禁止したいツール/コマンドパターンを列挙
- 3bypassPermissions でも deny は有効
Tips
- deny は最優先で適用される
- チームで共有する場合は .claude/settings.json に記述
- enterprise 設定で組織全体に強制することも可能