클로드 코드를 처음 쓰면 허락 요청이 자주 뜹니다. 며칠 지나면 "이것 좀 그냥 알아서 하지" 싶어지는데, 그렇다고 전부 허용해 버리면 불안합니다. 그 사이의 균형을 잡는 것이 권한 설정(permissions)입니다.
클로드 코드 권한 설정 정리: 허용·차단·확인 규칙으로 안전하게 맡기기
목차 (8)
📌 규칙 문법과 모드 이름은 버전에 따라 바뀔 수 있습니다. 정확한 형식은 공식 문서를 확인하세요.
권한 모드
세션 전체에 적용되는 기본 동작입니다. Shift + Tab으로 바꿀 수 있습니다.
| 모드 | 동작 |
|---|---|
| 기본 | 파일 수정·명령 실행 전에 확인 |
| 수정 자동 수락 | 파일 수정은 묻지 않고, 명령은 확인 |
| 플랜 모드 | 수정·실행 없이 계획만 (플랜 모드) |
규칙 세 가지: allow · ask · deny
모드 위에 개별 규칙을 얹어 세밀하게 조정합니다.
- allow: 묻지 않고 실행 — 안전하고 자주 쓰는 명령
- ask: 모드와 관계없이 항상 확인 — 되돌리기 어려운 명령
- deny: 아예 차단 — 절대 하면 안 되는 일
설정 방법
세션에서 /permissions를 입력하면 규칙을 보고 추가할 수 있습니다. 파일로 직접 관리할 수도 있습니다.
{
"permissions": {
"allow": ["Bash(npm run test:*)", "Bash(npm run lint)"],
"ask": ["Bash(git push:*)", "Bash(npm install:*)"],
"deny": ["Read(./.env)", "Read(./secrets/**)", "Bash(git push --force:*)"]
}
}
| 파일 | 범위 |
|---|---|
~/.claude/settings.json |
내 모든 프로젝트 |
.claude/settings.json |
이 프로젝트 (팀 공유) |
.claude/settings.local.json |
이 프로젝트, 나만 |
팀이 함께 지켜야 할 금지 규칙은 프로젝트 설정에, 개인 취향(내가 자주 쓰는 명령 허용)은 로컬 설정에 두면 깔끔합니다.
처음 쓰는 사람을 위한 추천 구성
- 처음 일주일은 기본 모드로 클로드가 무엇을 요청하는지 지켜봅니다.
- 여러 번 승인한 안전한 명령(테스트, 린트, 빌드)만 allow에 넣습니다.
- 패키지 설치, git push, 배포 명령은 ask에 둡니다.
.env, 키 파일 읽기와 강제 푸시·하드 리셋은 deny에 넣습니다.
자주 하는 실수
- 너무 넓은 allow:
Bash(*)처럼 모든 명령을 허용하면 규칙을 둔 의미가 없습니다. - deny만 믿기: 패턴은 우회될 수 있는 단순 규칙입니다. 중요한 보호는 훅과 함께, 그리고 백업과 깃으로 이중으로 지킵니다.
- 비밀 파일 방치: 프로젝트 폴더에 키 파일이 있다면 deny와 별개로
.gitignore에도 넣어야 합니다.
권한을 다듬으며 정한 원칙
제 기준은 단순합니다. "되돌릴 수 있으면 allow, 되돌리기 어려우면 ask, 되돌릴 수 없으면 deny." 테스트 실행은 몇 번을 돌려도 문제가 없으니 허용하고, 푸시는 되돌리기 번거로우니 묻게 하고, 강제 푸시처럼 기록을 지우는 일은 막습니다. 이 기준으로 정리하니 허락 요청은 줄고 불안감도 줄었습니다.
기억할 것 세 가지
- 권한 모드로 기본 동작을 정하고, allow·ask·deny 규칙으로 세밀하게 조정합니다.
- 처음엔 기본 모드로 지켜본 뒤 안전한 명령만 허용 목록에 넣으세요.
- 비밀 파일과 기록 삭제 명령은 deny, 중요한 보호는 훅·백업과 함께 지킵니다.
더 알아보기
자주 묻는 질문
- 매번 허락 버튼을 누르는 게 번거로운데 전부 허용하면 안 되나요?
- 전부 허용하면 편하지만 실수로 중요한 파일을 지우거나 원치 않는 명령이 실행될 위험이 커집니다. 테스트 실행처럼 안전한 명령만 허용 목록에 넣고, 나머지는 확인받는 방식을 권합니다.
- 권한 규칙은 어디에 저장되나요?
- 개인 전체 설정은 사용자 폴더의 settings.json, 팀과 공유할 프로젝트 설정은 .claude/settings.json, 나만 쓰는 프로젝트 설정은 .claude/settings.local.json에 저장됩니다.
- deny 규칙과 훅은 무엇이 다른가요?
- deny는 특정 도구·명령 패턴을 막는 간단한 규칙이고, 훅은 스크립트로 조건을 검사해 더 복잡한 판단을 할 수 있습니다. 간단한 차단은 deny, 경로나 내용에 따른 판단은 훅이 적합합니다.
이 글은 공개 자료와 직접 사용해 본 결과를 바탕으로 AI 도구를 활용해 초안을 만들고, AGPTEDU 편집부가 사실을 확인해 다듬었습니다. 앤트로픽(Anthropic)과 관계없는 비공식 가이드입니다.

