권한 모드 (default · acceptEdits · auto · dontAsk · bypassPermissions · plan)
별칭: permission mode · auto mode · bypassPermissions
정의
Claude Code 가 도구 사용 권한 프롬프트 를 처리하는 6 가지 모드. CLI 플래그 (--permission-mode <mode>) · 설정 (permissions.defaultMode) · subagent frontmatter (permissionMode) 로 지정.
6 모드 표
| 모드 | 동작 |
|---|---|
default | 표준 권한 확인 (프롬프트 표시) |
acceptEdits | 파일 편집 + 일반 파일시스템 명령 자동 수락 |
auto | 분류기 모델이 명령 검토 — 위험 (범위 확대·알 수 없는 인프라·적대적 콘텐츠) 만 차단 |
dontAsk | 권한 프롬프트 자동 거부 (명시 허용 도구만 작동) |
bypassPermissions | 권한 프롬프트 건너뛰기 (위험) |
plan | Plan mode (읽기 전용 탐색) |
★ Subagent 부모 우선 규칙
- 부모가
bypassPermissions/acceptEdits→ 우선 (subagent 재정의 ❌) - 부모가
auto mode→ 자식도 상속 + frontmatterpermissionMode무시
★ Hooks 와의 관계
"PreToolUse hooks 는 모든 권한 모드 확인 전 발생.
permissionDecision: 'deny'→ bypassPermissions 모드·--dangerously-skip-permissions에서도 도구 차단."*
→ Hooks 는 권한 모드를 우회해서 강제 차단 가능. CLAUDE.md 가 권고적인 반면, Hook 은 결정론적.
★ bypassPermissions 의 한계
.git·.claude·.vscode·.idea·.husky쓰기 → 여전히 회로 차단기 프롬프트- 루트·홈 디렉토리 제거 (
rm -rf /) → 여전히 회로 차단기
강의 활용
- Ch6 §6.4 — 4 층 인프라 중 권한 시스템 (헌법의 시행규칙 등가)
- Ch8 —
claude-md-improver의allowed-tools사전 승인 메커니즘