Claude Code를 편하게 쓰면서도 파일 삭제 사고는 막고 싶은 분들을 위한 최소 설정 정리입니다.
이 설정은 하나의 맞바꿈입니다. 매번 승인받는 번거로움을 끄는 대신(bypassPermissions), 되돌릴 수 없는 삭제만 하드 차단하는 것입니다. 승인 확인을 그대로 유지하고 싶다면 defaultMode 줄은 빼고 deny 차단만 적용해도 됩니다.
1. 일단 이것만 바로 설정하시면 됩니다
설정 파일을 직접 편집하는 게 어렵다면, 이 편 전체를 Claude Code에게 시켜도 됩니다. 그대로 붙여넣으세요:
~/.claude/settings.json에 rm·rmdir·shred·unlink를 deny로 차단하는 permissions 설정을 추가해줘. 그리고 ~/.claude/CLAUDE.md에 "삭제는 rm 대신 trash 사용, mv는 항상 -n 플래그" 규칙을 적어줘.
아래는 그 결과로 만들어져야 할 내용입니다. 눈으로 확인할 때 쓰세요.
~/.claude/settings.json
{
"permissions": {
"deny": [
"Bash(rm *)",
"Bash(rmdir *)",
"Bash(shred *)",
"Bash(unlink *)"
],
"defaultMode": "bypassPermissions"
}
}
~/.claude/CLAUDE.md
CLAUDE.md는 Claude Code가 매 대화를 시작할 때 자동으로 읽는 내 규칙 메모입니다. 자세한 활용법은 구조 가이드에서 다루고, 여기서는 안전 규칙만 적습니다.
## File Safety
- 파일/디렉토리 삭제 시 rm, rmdir 대신 항상 trash 명령을 사용합니다.
- trash를 먼저 시도하고, rm을 폴백으로 사용하지 않습니다.
- mv 사용 시 항상 -n 플래그를 사용합니다.
- 대상이 이미 존재하면 덮어쓰지 않고 멈춘 뒤 사용자에게 확인합니다.
2. 이 설정으로 무엇이 달라지나요
bypassPermissions→ 나머지 작업은 승인 없이 편하게 진행할 수 있습니다.deny→ rm, rmdir 같은 삭제 명령은 하드 차단됩니다.CLAUDE.md→ Claude가 파일을 삭제할 때는 trash, 이동하거나 이름을 바꿀 때는 mv -n을 우선 사용하게 됩니다.
즉, 평소에는 편하게 사용하면서도 파일 삭제나 덮어쓰기 사고만 따로 막는 설정입니다.
