1 概述
主要可以通过以下方式来避免 Claude Code 误删数据。
- 在一个新文件夹下使用该工具,避免删除电脑中的历史数据。
- 开发代码时,即时提交已开发好或者基本开发好的功能模块,不要等所有功能都开发好了或者测试没问题了才提交。多次提交代码,确保代码能被即时保存到代码仓库。
- 通过设置 Claude Code 权限配置(permissions 或 hooks),确保执行危险命令前弹出人工确认或直接拒绝执行。
2 设置 Claude Code 权限配置
在 Claude Code 的配置文件中 ~/.claude/settings.json 设置 permissions 或 hooks。简单使用可以只设置 permissions,不设置 hooks。
Hook 先跑,能直接拦;Hook 放过 / 失效,才走 permissions
- PreToolUse Hook :自定义脚本 ,拦截
permissions识别不到的复杂绕过高危命令(eval、变量拼接等),兜底防护。 - permissions :静态简单规则 ,针对
rm/shred这类常规高危命令,触发弹窗让你手动确认。
案例如下:
bash
{
"env": {
// 自定义配置
},
"theme": "auto",
"permissions": {
"ask": [
"Bash(rm *)",
"Bash(rmdir *)",
"Bash(shred *)",
"Bash(git clean *)",
"Bash(git reset --hard *)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "/path/to/test.sh(此处为自定义脚本文件路径等)"
}
]
}
]
}
}
3 参考文献
(1) Claude Code 权限系统主文档
https://code.claude.com/docs/en/permissions#permission-system
(2) Claude Code Hooks 参考文档(PreToolUse 生命周期)
https://code.claude.com/docs/en/hooks
(3) Claude Code Hooks 使用指南