사용 가능한 모드
각 모드는 편의성과 감시 사이에서 다른 절충을 합니다. 아래 표는 각 모드에서 Claude가 권한 프롬프트 없이 수행할 수 있는 작업을 보여줍니다.| 모드 | 묻지 않고 실행되는 작업 | 최적 사용 사례 |
|---|---|---|
default | 읽기만 | 시작, 민감한 작업 |
acceptEdits | 읽기, 파일 편집, 일반적인 파일 시스템 명령(mkdir, touch, mv, cp 등) | 검토 중인 코드 반복 |
plan | 읽기만 | 변경하기 전에 코드베이스 탐색 |
auto | 백그라운드 안전 검사를 포함한 모든 작업 | 장시간 작업, 프롬프트 피로 감소 |
dontAsk | 사전 승인된 도구만 | 잠금된 CI 및 스크립트 |
bypassPermissions | 모든 작업 | 격리된 컨테이너 및 VM만 |
bypassPermissions를 제외한 모든 모드에서 보호된 경로에 대한 쓰기는 절대 자동 승인되지 않으며, 리포지토리 상태와 Claude의 자체 구성을 우발적인 손상으로부터 보호합니다.
모드는 기본선을 설정합니다. 특정 도구를 사전 승인하거나 차단하기 위해 권한 규칙을 위에 계층화합니다. 거부 규칙과 명시적 요청 규칙은 bypassPermissions를 포함한 모든 모드에서 적용됩니다. 허용 규칙은 다른 모든 것이 이미 승인되었기 때문에 해당 모드에서는 효과가 없습니다.
권한 모드 전환
세션 중, 시작 시 또는 지속적인 기본값으로 모드를 전환할 수 있습니다. 모드는 채팅에서 Claude에게 요청하는 것이 아니라 이러한 제어를 통해 설정됩니다. 아래에서 인터페이스를 선택하여 변경 방법을 확인합니다.- CLI
- VS Code
- JetBrains
- Desktop
- Web and mobile
세션 중: 기본값으로: 설정에서 동일한
Shift+Tab을 눌러 default → acceptEdits → plan을 순환합니다. 현재 모드는 상태 표시줄에 나타납니다. 모든 모드가 기본 순환에 있는 것은 아닙니다:auto: 계정이 자동 모드 요구 사항을 충족할 때 나타나며, 자동 모드로 순환하면 확인 프롬프트 없이 모드를 전환합니다bypassPermissions:--permission-mode bypassPermissions,--dangerously-skip-permissions또는--allow-dangerously-skip-permissions로 시작한 후 나타나며,--allow-변형은 활성화하지 않고 순환에 모드를 추가합니다dontAsk: 순환에 절대 나타나지 않습니다.--permission-mode dontAsk로 설정합니다
plan 후에 슬롯되며, bypassPermissions가 먼저이고 auto가 마지막입니다. 둘 다 활성화된 경우, auto로 가는 길에 bypassPermissions를 순환합니다.시작 시: 플래그로 모드를 전달합니다.defaultMode를 설정합니다.--permission-mode 플래그는 비대화형 실행을 위해 -p와 함께 작동합니다.acceptEdits 모드로 파일 편집 자동 승인
acceptEdits 모드는 Claude가 프롬프트 없이 작업 디렉토리의 파일을 생성하고 편집할 수 있게 합니다. 상태 표시줄은 이 모드가 활성화되어 있는 동안 ⏵⏵ accept edits on을 표시합니다.
파일 편집 외에도, acceptEdits 모드는 일반적인 파일 시스템 Bash 명령을 자동 승인합니다: mkdir, touch, rm, rmdir, mv, cp, sed. 이러한 명령은 LANG=C 또는 NO_COLOR=1과 같은 안전한 환경 변수로 접두사가 붙거나 timeout, nice, nohup과 같은 프로세스 래퍼로 접두사가 붙을 때도 자동 승인됩니다. 파일 편집과 마찬가지로, 자동 승인은 작업 디렉토리 또는 additionalDirectories 내의 경로에만 적용됩니다. 해당 범위 외의 경로, 보호된 경로에 대한 쓰기, 기타 모든 Bash 명령은 여전히 프롬프트합니다.
PowerShell 도구가 활성화되면, acceptEdits 모드는 범위 내 경로에서 Set-Content, Add-Content, Clear-Content, Remove-Item을 자동 승인하며, 이들의 일반적인 별칭도 함께 자동 승인됩니다. 동일한 범위 및 보호된 경로 규칙이 적용됩니다.
변경 사항을 인라인으로 각각 승인하는 대신 편집기에서 또는 git diff를 통해 사후에 검토하려는 경우 acceptEdits를 사용합니다. 기본 모드에서 Shift+Tab을 한 번 눌러 입력하거나 직접 시작합니다:
계획 모드로 편집 전에 분석
계획 모드는 Claude에게 변경 사항을 연구하고 제안하도록 지시하지만 변경하지는 않습니다. Claude는 파일을 읽고, 셸 명령을 실행하여 탐색하고, 계획을 작성하지만 소스를 편집하지는 않습니다. 권한 프롬프트는 기본 모드와 동일하게 적용됩니다.Shift+Tab을 눌러 계획 모드에 들어가거나 단일 프롬프트 앞에 /plan을 붙입니다. CLI에서 계획 모드로 시작할 수도 있습니다:
Shift+Tab을 다시 누릅니다.
계획 검토 및 승인
계획이 준비되면, Claude는 이를 제시하고 진행 방법을 묻습니다. 해당 프롬프트에서 다음을 수행할 수 있습니다:- 승인하고 자동 모드로 시작
- 승인하고 편집 수락
- 승인하고 각 편집을 수동으로 검토
- 피드백으로 계획 유지
- Ultraplan으로 브라우저 기반 검토를 위해 개선
Shift+Tab으로 계획 모드로 돌아가거나 다음 프롬프트 앞에 /plan을 붙입니다.
Ctrl+G를 눌러 제안된 계획을 기본 텍스트 편집기에서 열고 Claude가 진행하기 전에 직접 편집할 수 있습니다. showClearContextOnPlanAccept가 활성화되면, 각 승인 옵션도 먼저 계획 컨텍스트를 지우도록 제안합니다.
계획을 수락하면 이미 --name 또는 /rename으로 이름을 설정하지 않은 경우 계획 내용에서 자동으로 세션 이름을 지정합니다.
계획 모드를 기본값으로 설정
프로젝트에 대해 계획 모드를 기본값으로 설정하려면.claude/settings.json에서 defaultMode를 설정합니다:
자동 모드로 권한 프롬프트 제거
자동 모드는 Claude Code v2.1.83 이상이 필요합니다.
- 플랜: 모든 플랜.
- 소유자: Team 및 Enterprise에서, 소유자는 사용자가 켜기 전에 Claude Code 관리자 설정에서 이를 활성화해야 합니다. 관리자는 관리 설정에서
permissions.disableAutoMode를"disable"로 설정하여 이를 잠금할 수도 있습니다. - 모델: Anthropic API에서 Claude Opus 4.6 이상 또는 Sonnet 4.6 이상. Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry, 그리고 로그인한 Claude 앱 게이트웨이 세션에서는 Claude Sonnet 5, Opus 4.7, 및 Opus 4.8만 해당합니다. Sonnet 4.5, Opus 4.5, Haiku, claude-3 모델을 포함한 이전 모델은 어떤 제공자에서도 지원되지 않습니다.
- 제공자: Anthropic API에서 기본적으로 사용 가능합니다. Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry, 그리고 로그인한 Claude 앱 게이트웨이 세션에서는
CLAUDE_CODE_ENABLE_AUTO_MODE를 설정할 때까지 자동 모드가 꺼져 있습니다.
defaultMode: "auto"를 설정했는데 세션이 오류 없이 default 모드로 시작하면, 설정이 .claude/settings.json 또는 .claude/settings.local.json에 있을 가능성이 높습니다. Claude Code v2.1.142 이상은 이러한 파일의 auto를 무시하므로 리포지토리가 자신에게 자동 모드를 부여할 수 없습니다. 이를 ~/.claude/settings.json으로 이동합니다.
Bedrock, Vertex AI, Foundry에서 자동 모드 활성화
Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry, 그리고 로그인한 Claude 앱 게이트웨이 세션에서는CLAUDE_CODE_ENABLE_AUTO_MODE가 1로 설정될 때까지 자동 모드가 Shift+Tab 사이클에 나타나지 않습니다. 변수는 Claude Code v2.1.158 이상에서 작동합니다. 이러한 제공자에서는 Claude Sonnet 5, Opus 4.7, 및 Opus 4.8만 지원됩니다.
한 명의 개발자에게 이를 활성화하려면, ~/.claude/settings.json의 env 블록에 변수를 추가합니다:
env 블록을 추가합니다.
변수가 설정되면, 자동 모드는 모든 세션의 Shift+Tab 사이클에 나타납니다. 이를 기본 시작 모드로 만들려면, 사용자 또는 관리 설정에서 "permissions": {"defaultMode": "auto"}도 설정합니다. 이러한 제공자에서는 CLAUDE_CODE_ENABLE_AUTO_MODE도 설정되지 않으면 Claude Code가 defaultMode: "auto"를 무시합니다.
개발자가 자동 모드를 활성화하지 못하도록 하려면, 관리 설정에서 disableAutoMode를 "disable"로 설정합니다. 이는 활성화 변수를 재정의합니다.
LLM 게이트웨이를 통해 ANTHROPIC_BASE_URL로 구성된 경우 연결하면, 게이트웨이가 요청을 Anthropic API를 통해 라우팅하기 때문에 자동 모드가 활성화 변수 없이 이미 도달 가능할 수 있습니다. 이는 로그인한 Claude 앱 게이트웨이 세션에는 적용되지 않으며, 이는 자체 제공자 클래스이고 활성화 변수가 필요합니다. disableAutoMode 설정은 어느 구성에서든 동일한 방식으로 적용됩니다.
분류기가 기본적으로 차단하는 항목
분류기는 작업 디렉토리와 리포지토리의 구성된 원격을 신뢰합니다. 다른 모든 것은 신뢰할 수 있는 인프라를 구성할 때까지 외부로 취급됩니다. 기본적으로 차단됨:curl | bash와 같은 코드 다운로드 및 실행- 외부 엔드포인트로 민감한 데이터 전송
- 프로덕션 배포 및 마이그레이션
- 클라우드 스토리지의 대량 삭제
- IAM 또는 리포지토리 권한 부여
- 공유 인프라 수정
- 세션 시작 전에 존재했던 파일을 되돌릴 수 없게 삭제
- 강제 푸시 또는
main에 직접 푸시 git reset --hard,git checkout -- .,git restore .,git clean -fd,git stash drop, 또는git stash clear. 분류기는 이들이 커밋되지 않은 변경 사항을 삭제할 것으로 추정합니다git commit --amend(HEAD의 커밋이 이 세션에서 생성되지 않은 경우)terraform destroy,pulumi destroy,cdk destroy, 또는terragrunt destroy, 그리고 리소스를 삭제하는 계획 적용
- 비밀 관리자에 쓰기, 또는 DNS 레코드 또는 TLS 인증서 변경
- 인간이 승인하지 않은 풀 요청 병합, Claude의 자체 풀 요청 승인, 또는 CI 검사 비활성화
atlantis apply또는 봇의/deploy또는/merge와 같은 자동화에 대한 명령 자체인 댓글 게시- 프로덕션 기능 플래그 토글, 램핑, 또는 삭제
- 보호된 IaC 범위에 인프라 변경 적용, 또는 클러스터 노드 드레이닝 및 제거
- 레이블 선택기 또는
--all과 같이 다른 사용자의 작업을 포착하는 공유 컴퓨팅 클러스터에 대한 쓰기 - DaemonSets 및 admission webhooks와 같이 모든 노드에서 실행되거나 클러스터 트래픽을 가로채는 Kubernetes 리소스 생성
- 민감한 원격 대상으로의 대화형 셸 또는 포트 포워드
- 로컬 서비스를 공개 인터넷에서 도달 가능하게 하는 터널 또는 역 셸 열기
- 기록 또는 파일에 라이브 자격 증명 또는 토큰 인쇄
- PII 또는 규제 데이터 위치 액세스, 또는 데이터를 외부로 복사
- 패키지 설치를 내부 패키지 레지스트리 주위로 라우팅하여 공개 레지스트리로 이동
--insecure와 같이 안전 가드를 해제하는 플래그로 명령 실행- Chrome의 Claude 브라우저 작업으로 페이지 콘텐츠, 쿠키, 또는 자격 증명을 원본 외부로 전송할 수 있음
- 작업 디렉토리의 로컬 파일 작업
- 잠금 파일 또는 매니페스트에 선언된 종속성 설치
.env읽기 및 자격 증명을 일치하는 API로 전송- 읽기 전용 HTTP 요청
- 시작한 분기 또는 Claude가 생성한 분기로 푸시
- 같은 세션에서 Claude가 이전에 생성한 정확한 작업 삭제
- 작업의 일부로 보안 관련 코드, 구성, 위협 모델 읽기, 검토, 또는 쓰기
- 같은 다중 에이전트 세션에서 함께 작업하는 에이전트 간의 메시지
environment에 나열한 신뢰할 수 있는 도메인, 버킷, 서비스로 데이터 전송. 이는 같은 인프라에 대한 파괴적이거나 자격 증명 작업이 아닌 데이터 흐름만 포함합니다- Chrome의 Claude를 신뢰할 수 있는 내부 도메인, localhost, 또는 이름을 지정한 URL로 탐색
claude auto-mode defaults를 실행하여 전체 규칙 목록을 확인합니다. 일상적인 작업이 차단되면, 관리자는 autoMode.environment 설정을 통해 신뢰할 수 있는 리포지토리, 버킷, 서비스를 추가할 수 있습니다: 자동 모드 구성을 참조합니다.
대화에서 명시한 경계
분류기는 대화에서 명시한 경계를 차단 신호로 취급합니다. Claude에게 “푸시하지 마”라고 말하거나 “배포하기 전에 검토할 때까지 기다려”라고 말하면, 분류기는 기본 규칙이 허용하더라도 일치하는 작업을 차단합니다. 경계는 나중 메시지에서 해제할 때까지 유효합니다. Claude의 조건이 충족되었다는 자체 판단은 이를 해제하지 않습니다. 경계는 규칙으로 저장되지 않습니다. 분류기는 각 검사에서 기록에서 이를 다시 읽으므로, 컨텍스트 압축이 경계를 명시한 메시지를 제거하면 경계가 손실될 수 있습니다. 하드 보장을 위해 대신 거부 규칙을 추가합니다.자동 모드가 폴백할 때
각 거부된 작업은 알림을 표시하고/permissions 아래의 최근 거부됨 탭에 나타나며, 여기서 r을 눌러 수동 승인으로 재시도할 수 있습니다.
분류기가 한 행에서 3번 또는 총 20번 작업을 차단하면, 자동 모드가 일시 중지되고 Claude Code는 프롬프트를 재개합니다. 프롬프트된 작업을 승인하면 자동 모드가 재개됩니다. 이러한 임계값은 구성할 수 없습니다. 모든 허용된 작업은 연속 카운터를 재설정하는 반면, 총 카운터는 세션 동안 유지되고 자체 제한이 폴백을 트리거할 때만 재설정됩니다.
비대화형 모드에서 -p 플래그를 사용하면, 프롬프트할 사용자가 없으므로 반복된 차단이 세션을 중단합니다.
반복된 차단은 일반적으로 분류기가 인프라에 대한 컨텍스트가 부족함을 의미합니다. /feedback을 사용하여 거짓 긍정을 보고하거나, 관리자가 신뢰할 수 있는 인프라를 구성하도록 합니다.
분류기가 작업을 평가하는 방식
분류기가 작업을 평가하는 방식
각 작업은 고정된 결정 순서를 거칩니다. 첫 번째 일치 단계가 승리합니다:
- 허용 또는 거부 규칙과 일치하는 작업은 즉시 해결됩니다. 보호된 경로에 대한 쓰기는 제외되며, 허용 규칙이 일치하더라도 분류기로 라우팅됩니다
- 읽기 전용 작업 및 작업 디렉토리의 파일 편집은 자동 승인됩니다. 보호된 경로에 대한 쓰기는 제외됩니다
- 다른 모든 것은 분류기로 이동합니다
- 분류기가 차단하면, Claude는 이유를 받고 대체 방법을 시도합니다
- 무제한
Bash(*) Bash(python*)과 같은 와일드카드 인터프리터- 패키지 관리자 실행 명령
Agent허용 규칙
Bash(npm test)과 같은 좁은 규칙은 유지됩니다. 삭제된 규칙은 자동 모드를 떠날 때 복원됩니다.분류기는 사용자 메시지, 도구 호출, CLAUDE.md 콘텐츠를 봅니다. 도구 결과는 제거되므로, 파일이나 웹 페이지의 적대적 콘텐츠는 이를 직접 조작할 수 없습니다. 별도의 서버 측 프로브가 들어오는 도구 결과를 스캔하고 Claude가 읽기 전에 의심스러운 콘텐츠에 플래그를 지정합니다. 이러한 계층이 함께 작동하는 방식에 대한 자세한 내용은 자동 모드 공지 및 엔지니어링 심층 분석을 참조합니다.자동 모드가 서브에이전트를 처리하는 방식
자동 모드가 서브에이전트를 처리하는 방식
분류기는 서브에이전트 작업을 세 지점에서 확인합니다:
- 서브에이전트가 시작되기 전에, 위임된 작업 설명이 평가되므로, 위험해 보이는 작업은 생성 시점에 차단됩니다.
- 서브에이전트가 실행되는 동안, 각 작업은 부모 세션과 동일한 규칙으로 분류기를 통해 이동하며, 서브에이전트의 프론트매터의 모든
permissionMode는 무시됩니다. - 서브에이전트가 완료되면, 분류기는 전체 작업 기록을 검토합니다. 반환 검사가 우려 사항에 플래그를 지정하면, 보안 경고가 서브에이전트의 결과에 앞에 붙습니다.
비용 및 지연
비용 및 지연
분류기는
/model 선택과 독립적인 서버 구성 모델에서 실행되므로, 모델을 전환해도 분류기 가용성이 변경되지 않습니다. 분류기 호출은 토큰 사용량으로 계산됩니다. 각 검사는 기록의 일부와 보류 중인 작업을 전송하여 실행 전에 왕복을 추가합니다. 읽기 및 보호된 경로 외의 작업 디렉토리 편집은 분류기를 건너뛰므로, 오버헤드는 주로 셸 명령 및 네트워크 작업에서 발생합니다.dontAsk 모드로 사전 승인된 도구만 허용
dontAsk 모드는 그렇지 않으면 프롬프트할 모든 도구 호출을 자동 거부합니다. permissions.allow 규칙과 일치하는 작업 및 읽기 전용 Bash 명령만 실행할 수 있습니다. 명시적 ask 규칙은 프롬프트하는 대신 거부됩니다. 이는 모드를 완전히 비대화형으로 만들어 CI 파이프라인 또는 Claude가 정확히 수행할 수 있는 작업을 사전 정의하는 제한된 환경에 적합합니다. Claude Code on the web의 클라우드 세션은 defaultMode: "dontAsk"를 무시합니다. 자세한 내용은 bypassPermissions를 참조하십시오.
시작 시 플래그로 설정합니다:
bypassPermissions 모드로 모든 검사 건너뛰기
bypassPermissions 모드는 권한 프롬프트 및 안전 검사를 비활성화하여 도구 호출이 즉시 실행되도록 합니다. v2.1.126부터 이는 보호된 경로에 대한 쓰기를 포함하며, 이전 버전은 여전히 프롬프트를 표시합니다. 명시적 요청 규칙은 여전히 이 모드에서 프롬프트를 강제하며, 파일 시스템 루트 또는 홈 디렉터리를 대상으로 하는 제거(예: rm -rf / 및 rm -rf ~)는 모델 오류에 대한 차단기로서 여전히 프롬프트를 표시합니다. 인터넷 액세스가 없는 컨테이너, VM 또는 개발 컨테이너와 같은 격리된 환경에서만 이 모드를 사용하십시오. 여기서 Claude Code는 호스트 시스템에 손상을 줄 수 없습니다.
활성화 플래그 중 하나로 시작한 세션에서 bypassPermissions에 들어갈 수 없습니다. 활성화하려면 다시 시작하십시오:
--dangerously-skip-permissions 플래그는 동등합니다.
Linux 및 macOS에서 Claude Code는 root로 실행되거나 sudo 아래에서 실행될 때 이 모드에서 시작하기를 거부합니다:
defaultMode: "bypassPermissions" 또는 "dontAsk"를 준수하지 않으므로, 리포지토리의 체크인된 설정은 클라우드 세션을 bypass-permissions 모드에서 시작할 수 없습니다. 설정은 자동으로 무시되며 세션은 모드 드롭다운에 표시된 모드에서 시작됩니다. 클라우드 세션이 제공하는 모드에 대해서는 권한 모드 전환을 참조하십시오.
보호된 경로
경로의 작은 집합에 대한 쓰기는bypassPermissions을 제외한 모든 모드에서 절대 자동 승인되지 않습니다. 이는 리포지토리 상태와 Claude의 자체 구성의 우발적인 손상을 방지합니다.
| 모드 | 보호된 경로 쓰기 |
|---|---|
default, acceptEdits, plan | 프롬프트 표시 |
auto | 분류기로 라우팅 |
dontAsk | 거부 |
bypassPermissions | 허용 |
permissions.allow 설정 파일의 규칙은 보호된 경로 쓰기를 사전 승인하지 않습니다. 안전 검사는 Claude Code가 설정에서 allow 규칙을 평가하기 전에 실행되므로, ~/.claude/settings.json 또는 .claude/settings.json의 Edit(.claude/**) 같은 항목은 위 표의 모드별 결과를 변경하지 않습니다. 프롬프트를 표시하는 모드에서 .claude/ 쓰기에 대한 프롬프트는 예, Claude가 이 세션에서 자신의 설정을 편집하도록 허용을 제공하며, 이는 해당 세션에서 나중의 .claude/ 쓰기를 다시 프롬프트하지 않고 승인합니다.
보호된 디렉토리:
.git.config/git.vscode.idea.husky.cargo.devcontainer.yarn.mvn.claude,.claude/worktrees제외 (Claude가 자신의 git worktrees를 저장하는 위치)
.gitconfig,.gitmodules.bashrc,.bash_profile,.bash_login,.bash_aliases,.bash_logout,.zshrc,.zprofile,.zshenv,.zlogin,.zlogout,.profile,.envrc.npmrc,.yarnrc,.yarnrc.yml,.pnp.cjs,.pnp.loader.mjs,.pnpmfile.cjs,bunfig.toml,.bunfig.toml.bazelrc,.bazelversion,.bazeliskrc.pre-commit-config.yaml,lefthook.yml,lefthook.yaml,.lefthook.yml,.lefthook.yamlgradle-wrapper.properties,maven-wrapper.properties.devcontainer.json.ripgreprc,pyrightconfig.json.mcp.json,.claude.json