
Claude Code 권한 모드 완전 가이드【2026】|6가지 모드의 차이점과 안전한 자동 승인 선택법
요약
Claude Code의 6가지 권한 모드(permission-mode)를 상세히 비교하고, 사용자의 숙련도와 안전 요구사항에 따른 최적의 설정 방법을 가이드합니다.
핵심 포인트
- 초보자는 모든 작업을 확인하는 'default' 모드 사용 권장
- 파일 편집의 번거로움을 줄이려면 'acceptEdits' 모드가 적합
- 위험한 '--dangerously-skip-permissions' 모드 사용 주의
- 작업 전 계획을 확인하고 싶다면 'plan' 모드 활용
Claude Code를 사용하다 보면, 무언가를 할 때마다 "이 파일을 편집해도 될까요?" "이 명령어를 실행해도 될까요?"라고 물어봅니다. 처음에는 안심이 되지만, 진행할수록 이 확인 과정이 번거로워집니다.
그래서 흔히 저지르는 실수가 블로그나 X(구 트위터)에서 본 "--dangerously-skip-permissions를 붙이면 전부 묻지 않게 된다"라는 내용을 의미도 모른 채 복사해서 붙여넣는 것입니다. 저 역시 바로 그랬고, 계속해서 "전부 건너뛰기" 상태로 사용해 왔습니다. 하지만 이것은 Claude Code에서 가장 위험한 모드였습니다.
결론: 고민된다면 이것
먼저 요점만 말씀드립니다.
- 이제 막 사용을 시작하는 사람 → 우선은
default(표준) 상태로 유지. 질문을 받으면 내용을 확인하고 "예/아니오"를 선택합니다. 이를 통해 Claude Code의 동작에 익숙해지세요. - 확인 과정이 번거로워졌다면 →
acceptEdits(파일 편집만 자동). 이것이 가장 무난한 "다음 단계"입니다. - 더 자동화하고 싶고, 조건을 충족한다면 →
auto(배경에서 안전 점검을 하며 거의 자동). bypassPermissions(또는--dangerously-skip-permissions). 이것은 안전 점검을 전부 끄는 격리 환경 전용 모드입니다. 제가 했던 "의미도 모른 채 상용하는 것"은 잘못된 방식이었습니다.--dangerously-skip-permissions(=bypassPermissions)는 평소에 사용해서는 안 됩니다.
6가지 권한 모드를 하나씩
claude --help를 보면, --permission-mode로 선택할 수 있는 모드는 6가지가 있습니다.
--permission-mode <mode> (choices: "acceptEdits", "auto", "bypassPermissions", "default", "dontAsk", "plan")
안전한 순서(확인이 많은 순서)대로 하나씩 살펴보겠습니다. 동작은 모두 Claude Code 공식 문서(퍼미션 모드 선택하기)에서 확인한 내용입니다.
1. default (표준) — 모두가 이것으로 시작
- 한 줄 요약: 읽기는 자동, 쓰기는 매번 확인.
- 자동으로 되는 것: 파일을 "읽는" 작업이나,
ls·cat와 같이 아무것도 파괴하지 않는 명령어. - 멈추는 것: 파일 편집·신규 생성, 파일을 수정하는 계열의 명령어.
- 이럴 때: Claude Code를 처음 접할 때. 무엇이 일어날지 모르는 동안에는 매번 내용을 확인하고 승인하는 것이 가장 안전합니다.
2. plan (계획 모드) — 먼저 계획을 보여줌
- 한 줄 요약: 실제로 수정하기 전에, Claude가 "앞으로 할 일의 계획"을 문장으로 제시합니다.
- 자동으로 되는 것: 읽기 전용. 애초에 편집하지 않습니다.
- 멈추는 것: 파일 편집. 먼저 계획을 작성하고, 당신이 "OK"라고 말한 후에 실행 단계로 넘어갑니다.
- 이럴 때: 큰 변경을 요청하기 전에, "AI가 엉뚱한 방향으로 가고 있지는 않은지"를 미리 확인하고 싶을 때.
3. acceptEdits (편집은 자동) — 번거로움을 해소하는 첫걸음
- 한 줄 요약: 파일 편집만 알아서 해도 됩니다. 그 외의 명령어는 확인을 거칩니다.
- 자동으로 되는 것: 작업 폴더 내의 파일 편집·생성과
mkdir·rm등 일반적인 파일 조작 명령어. - 멈추는 것: 상기 이외의 명령어(빌드, 설치, git 조작 등)는 확인 창이 뜹니다.
- 이럴 때: "편집은 맡겨두고, 나중에 한꺼번에
git diff로 확인하면 된다"라고 생각되는 단계.
4. auto (자동 모드) — 배경에서 안전 점검을 하며 거의 자동
- 한 줄 요약: 거의 모든 것을 자동으로 진행하지만, 배경에서 별도의 AI (분류기)가 하나씩 위험 여부를 판정하여 위험한 것만 멈춥니다.
- 자동으로 되는 것: 읽기·작업 폴더 내의 편집은 그대로 자동. 그 외의 명령어도 내부 체크를 통과하여 안전하다면 자동 실행됩니다.
- 멈추는 것 (자동으로 차단): 운영 환경(Production)으로의 배포, 클라우드 대량 삭제,
curl | bash, 기밀 데이터의 외부 전송,main브랜치로의 직접 푸시 등. - ⚠ 중요한 주의사항: 공식적으로
auto는 "리서치 프리뷰 (시험 제공)" 단계이며, "프롬프트를 줄여주지만, **안전성을 보장하는 것은 아니다"**라고 명시되어 있습니다.
5. dontAsk (사전 허가만) — CI · 자동 실행용
한 줄 요약: 사전에 "이것은 OK"라고 리스트에 등록한 것만 실행. 그 외에는 확인 없이 거부.
이럴 때: CI 등, 사람이 보고 있지 않은 환경에서 예상치 못한 동작을 일절 일으키고 싶지 않을 때.
6. bypassPermissions (전체 스킵) — 내가 실수로 상용했던 위험한 모드
한 줄 요약: 안전 점검을 전부 OFF 하고 무엇이든 즉시 실행. --dangerously-skip-permissions와 동일한 것.
공식 경고: 이 모드는 "프롬프트 인젝션 (Prompt Injection)이나 의도하지 않은 조작에 대한 보호를 제공하지 않는다". 컨테이너, VM, 네트워크가 차단된 환경 등, 망가져도 피해가 없는 격리된 환경에서만 사용해야 함.
나의 실수: "물어보는 게 귀찮다"라는 이유만으로 이 모드를 평소 작업에서 상용했습니다. 공식 문서 자체에서도 "프롬프트를 크게 줄이고 싶다면, bypass 대신 auto를 사용하라"고 명시되어 있습니다.
빗나간 가설: "bypass는 전면 허용이니까 편리하고 빠르다" → 실제로는 안전 점검을 모두 꺼버린 가장 위험한 모드. 공식 권장 사항은 auto.
플랜이나 모델에 따라 사용할 수 있는 모드가 달라질까?
결론: 6가지 모드 중 5가지(default/plan/acceptEdits/dontAsk/bypassPermissions)는 플랜에 따른 제한이 없습니다.
예외는 auto (자동 모드)뿐입니다. auto는 다음 조건을 모두 만족할 때 사용할 수 있습니다.
모델: Anthropic API라면 Opus 4.6 이후 또는 Sonnet 4.6. Amazon Bedrock / Google Vertex AI를 경유한다면 Opus 4.7·4.8만 가능. 오래된 모델은 어떤 경로로도 지원되지 않음.
- 버전: Claude Code v2.1.83 이후.
- 관리자: Team·Enterprise 플랜에서는 관리자가 활성화하기 전까지는 사용할 수 없습니다 (개인 플랜은 불필요).
즉 "플랜에 의해 결정된다"기보다, 사용 중인 모델과 버전에 따라 auto 사용 가능 여부가 결정됩니다. claude --permission-mode auto를 입력해도 작동하지 않는다면 이 부분이 원인입니다. 그럴 때는 위험한 bypass로 돌아가지 말고, acceptEdits를 사용하는 것이 안전한 타협점입니다.
내가 bypass → auto로 바꾼 판단
나의 수정 사항은 실행 별칭(alias)의 이 한 줄뿐입니다.
# ~/.zshrc
- alias cc='claude --dangerously-skip-permissions'
+ alias cc='claude --permission-mode auto'
이유는 간단합니다. "확인을 줄이고 싶다"라는 당초의 목적은 유지하면서, bypass에 있었던 '무방비함'을 auto의 배경 점검(background check)으로 채울 수 있기 때문입니다. 솔직히 말하자면, 변경한 시점은 집필 당시(2026년 6월)이며, 운용 효과는 아직 실측하지 않았습니다. 지금 말할 수 있는 것은 "의미도 모른 채 전면 허용하던 상태를 그만두고, 배경 점검이 포함된 자동화로 바꿨다"라는 설정의 사실뿐입니다.
어떤 것을 사용해야 할까? (초보자용 플로우)
Claude Code를 막 사용하기 시작했다 → default 그대로 유지
큰 변경 전에 방침을 확인하고 싶다 → plan
확인이 번거롭고 편집은 맡기고 싶다 → acceptEdits (가장 무난한 다음 단계)
...
오늘 할 일 (3가지)
- 자신의 실행 명령어나 별칭(alias)에
--dangerously-skip-permissions가 포함되어 있는지 확인한다. 포함되어 있고 격리 환경도 아니라면, 그것은 "전면 허용"을 상용하고 있는 것이다. --permission-mode auto(사용할 수 없다면acceptEdits)로 변경한다. 별칭을 사용 중이라면 그 부분을 한 줄 수정하기만 하면 된다.- 매번 그 상태로 시작하고 싶다면, 사용자 설정
~/.claude/settings.json에 기본 모드를 작성한다.
{
"permissions": {
"defaultMode": "auto"
...
}
}
주의: defaultMode: "auto"는 사용자 설정(~/.claude/)에만 적용됩니다. 프로젝트 측(.claude/settings.json
)에 작성해도 무시됩니다. AI 도구를 업무에 도입하는 설계 실험 로그를 작성하고 있습니다. https://masatoman.net
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기