본문으로 건너뛰기

권한 & 권한 모드

중급
What you'll learn
  • 세 가지 권한 판정(allow / ask / deny)이 무엇을 의미하는지
  • 권한 규칙이 도구와 패턴을 어떻게 매칭하는지
  • 여섯 가지 권한 모드와 각각 언제 쓰는지
  • auto 모드가 어떻게 프롬프트를 안전 분류기로 대체하는지
  • 안전을 잃지 않고 프롬프트를 줄이는 합리적 시작 허용목록을 만드는 법
  • 프로젝트 vs 개인 권한 규칙을 어디에 저장하는지

권한은 Claude Code가 당신에게 묻기 위해 멈추지 않고 할 수 있는 것을 결정합니다. 잘 조정하면 제어를 잃지 않고 흐름을 얻고, 잘못 조정하면 모든 것을 고무도장 찍거나 프롬프트에 빠져 죽습니다.

세 가지 판정

모든 잠재적 동작은 다음 중 하나로 귀결됩니다:

Enter 또는 스페이스 키를 눌러 카드를 뒤집습니다. 좌우 화살표 키로 카드를 이동할 수 있습니다.용어가 표시되었습니다.
1 / 3

규칙은 보통 도구와 패턴을 매칭합니다, 예: allow Bash(npm run test:*) 또는 deny Read(./.env).

도구 + 패턴 허용

Bash(npm run test:*)

도구 + 패턴 거부

Read(./.env)

권한 모드

모드는 세션 전체의 자세를 설정합니다. 여섯 가지가 있습니다. 자주 쓰는 것들은 Shift+Tab으로 순환하거나, 설정에서 permissions.defaultMode를 지정하세요.

모드묻지 않고 실행하는 것사용 시점
default (Manual로 표시)읽기만일상 작업, 민감한 변경
acceptEdits읽기, 파일 편집, 일반적인 파일시스템 명령신뢰되고 범위가 잘 잡힌 편집 세션
plan읽기만; 제안하되 절대 편집 안 함크거나 위험한 작업 — 플랜 모드 참조
auto모든 것, 단 안전 분류기의 심사를 거침프롬프트 피로가 진짜 위험인 긴 작업
dontAsk미리 승인된 도구만; 나머지는 전부 거부잠긴 CI와 스크립트
bypassPermissions모든 것, 검사 없음샌드박스/컨테이너만 — 시크릿이 있는 머신에서는 절대 안 됨

Auto 모드

auto는 모든 것을 묻는 것과 안전장치를 끄는 것 사이의 중간 지점입니다. 당신에게 묻는 대신, 별도의 분류기 모델이 각 동작을 실행 전에 검토하여, 당신이 요청한 범위를 넘어 확대되거나, 알아보지 못하는 인프라를 건드리거나, Claude가 방금 읽은 적대적 콘텐츠에 의해 유도된 것처럼 보이는 동작을 차단합니다. 명시적인 ask 규칙은 여전히 멈추고 당신에게 묻습니다.

curl | bash, force push, 프로덕션 배포와 마이그레이션, 시크릿을 외부 엔드포인트로 전송하는 것 같은 일은 차단하고 — 일상적인 작업(로컬 편집, 선언된 의존성 설치, 읽기 전용 HTTP, 자기 브랜치에 push)은 그대로 통과시킵니다. 같은 동작을 반복해서 차단하게 되면, auto 모드는 일시 중지하고 프롬프트 권한을 당신에게 돌려줍니다.

Auto 모드는 안전 보장이 아닙니다 — 프롬프트를 줄여줄 뿐, 민감한 작업을 검토할 필요를 없애주지는 않습니다. 사용 가능 여부는 플랜, 모델, 그리고 (Team/Enterprise에서는) 관리자 토글에 따라 달라집니다.

Watch out
  • bypassPermissions는 샌드박스에 속합니다. 실제 머신에서 모든 프롬프트를 끄고 실행하는 것은 에이전트가 건드리면 안 되는 것을 건드리게 되는 방법입니다. 일회용 환경에만 남겨두세요 — 정말로 원하는 것이 프롬프트를 줄이는 것이라면, 대신 auto 모드를 쓰세요. /docs/security/hardening-autonomous-runs의 자율 실행 강화하기를 참조하세요.

합리적 시작 허용목록

목표: 안전하고 반복적인 것은 미리 허용하고; 파괴적인 것은 ask 또는 deny에 두기.

Guided walkthrough1 of 3
  1. 파일 읽기, 테스트/린트/빌드 명령 실행, git status/diff.

프로젝트 규칙은 settings.json(공유)에, 개인 오버라이드는 settings.local.json에 저장하세요.

Pro tip
  • 프롬프트에서 배우게 하세요: 같은 안전한 명령을 몇 번 승인하면 허용목록에 무엇을 추가할지 정확히 알게 됩니다 — 반복되는 프롬프트를 일회성 규칙으로 바꾸세요.
Key takeaways
  • 세 판정: allow(프롬프트 없음), ask(기본값 — 멈추고 확인), deny(절대 안 됨).
  • 규칙은 도구와 패턴을 매칭합니다, Bash(npm run test:*)나 Read(./.env)처럼.
  • 여섯 모드가 세션 자세를 설정합니다: default(Manual), acceptEdits, plan, auto, dontAsk, bypassPermissions.
  • auto 모드는 당신에게 묻는 대신 모든 동작을 안전 분류기로 심사합니다 — 프롬프트 피로의 해법은 bypassPermissions가 아니라 이것입니다.
  • 허용목록 만들기: 안전 + 반복적인 것 허용, 중간 위험은 묻기, 파괴적인 것 거부.
  • 공유 규칙은 settings.json에; 개인 오버라이드는 settings.local.json에.

스스로 점검하기

0/5
  1. 명시적으로 허용되거나 거부되지 않은 동작에 대해 기본 'ask' 판정은 무엇을 하나요?
  2. 어떤 권한 모드가 샌드박스나 컨테이너에서만 안전하고, 시크릿이 있는 머신에서는 절대 안 되나요?
  3. 긴 작업에서 권한 프롬프트를 훨씬 줄이고 싶지만 안전망은 유지하고 싶습니다. 어떤 모드인가요?
  4. 공유 프로젝트 권한 규칙과 개인 오버라이드는 각각 어디에 저장해야 하나요?
  5. 합리적 시작 허용목록에서 이 중 무엇이 'deny' 목록에 속하나요?

다음