이 페이지의 목차
이 페이지의 목차
확인 날짜 안내
원본 날짜 미상. 공식 문서 수집일(2026-10-18) 기준이다. "(2026-10-21 기준)"으로 표시한 문장은 그날 수집한 공식 문서 기준이다. 버전 조건과 모드 이름은 몇 주 단위로 바뀔 수 있다.
Claude Code에서 "Claude가 무엇을 묻고 무엇을 묻지 않는가"를 모드별로 정리하고, 상황에 맞는 모드를 고르는 순서다. 개념과 분류기(사람 대신 동작을 검토하는 두 번째 모델) 동작은 권한 모드, 조직 단위 통제는 Claude Code 관리자 권한 통제에 있다. 표의 영어 모드 이름(acceptEdits, plan, bypassPermissions 등)은 용어 사전에 쉬운 풀이가 있다.
준비물(필요한 것)#
| 필요한 것 | 내용 |
|---|---|
| Claude Code를 쓰는 곳 하나 | 터미널 |
| 버전 확인 | 시작 모드의 기본값이 버전에 따라 다르다. v2.1.283 이상은 대화형 터미널· |
| 자동 모드를 쓰려면 | 지원 모델·permissions.로 끌 수 있다 Claude Code 권한 모드 |
| 샌드박스 auto-allow를 쓰려면 | macOS, Linux, WSL2 |
확인을 건너뛰는 모드bypassPermissions)를 쓰려면 | 격리된 컨테이너· |
| 기본값을 고정하려면 | 내 사용자 설정 파일 ~/. |
1. 모드별로 묻는 것과 묻지 않는 것#
| 동작 | Manual (default) | acceptEdits | plan | auto | dontAsk | bypassPermissions |
|---|---|---|---|---|---|---|
| 작업 디렉터리 안 파일 읽기 | 묻지 않음 | 묻지 않음 | 묻지 않음 | 묻지 않음 | 묻지 않음 | 묻지 않음 |
| 작업 디렉터리 안 파일 편집 | 묻는다 | 묻지 않음 | 계획 승인 전까지 막힘 | 묻지 않음 | 거부PreToolUse 훅 승인분은 실행) | 묻지 않음 |
| 그 밖의 셸 명령 | 묻는다 | 흔한 파일 명령mkdir, touch, rm, rmdir, mv, cp, sed)은 범위 안에서 묻지 않음, 나머지는 묻는다 | 자동 모드를 쓸 수 있으면 분류기, 아니면 묻는다 | 분류기가 판정 | 거부PreToolUse 훅 승인분은 실행) | 묻지 않음 |
보호 경로 쓰기., ., . 등) | 묻는다 | 묻는다 | 분류기 또는 묻기 | 분류기 | 거부 | 허용 |
치명 경로 rm·rmdir | 묻는다 | 묻는다 | 묻는다auto와 같이 처리) | 터미널에서 2분 제한으로 묻고, 그 밖에서는 거부 | 거부 | 묻는다 |
| ask 규칙에 걸린 도구 | 묻는다 | 묻는다 | 묻는다 | 묻는다 | 거부 | 묻는다 |
| deny 규칙에 걸린 도구 | 막힘 | 막힘 | 막힘 | 막힘 | 막힘 | 막힘 |
근거: Claude Code 권한 모드. 표의 "분류기 또는 묻기"는 원본의 plan 모드 규칙(자동 모드를 쓸 수 있으면 분류기, 아니면 묻기)을 줄인 것이다. (주) 치명 경로 행의 auto·bypassPermissions 처리는 v2.1.281 이상이다. Claude Code를 띄우는 환경에서 CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1이면 auto에서는 분류기로 넘어가고 bypassPermissions에서는 시간 제한이 없어진다. 일부 대상의 검사는 CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT, CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT로 끌 수 있다. Claude Code 권한 모드 bypass를 쓸 수 있는 대화형 터미널에서 시작한 plan 세션은 계획 중 편집·명령도 묻지 않고 돈다(ask 규칙과 치명 경로 삭제는 예외). Claude Code 권한 모드
표 밖의 예외 몇 가지:
- 작업 디렉터리 밖 경로, 심볼릭 링크로 범위 밖을 가리키는 쓰기는
acceptEdits에서도 자동 승인되지 않는다. Claude Code 권한 모드 bypassPermissions도 권한 모드의 "어떤 모드도 자동 승인하지 않는 것"(ask 규칙,requiresUserInteractionMCP 도구, 치명 경로 삭제 등)은 묻는다. 비대화형-p실행에서는 그 몇 가지가 묻는 대신 거부된다. Claude Code 권한 모드- 자동 모드는 Read·Grep·Glob 도구가 작업 디렉터리 밖 경로를 처음 읽을 때 한 번 묻는다(
blockReadsOutsideWorkingDirectories가 꺼져 있을 때). 비대화형-p실행과 백그라운드 세션에서는 이 질문이 뜨지 않고 그대로 읽는다. Claude Code 권한 모드
2. 상황별 시작 설정#
원본의 "Common setups" 표를 옮긴다. 출발점으로 제시된 것이다. Claude Code 권한 모드
| 하고 싶은 것 | 시작 방법 | 필요한 격리 | 메모 |
|---|---|---|---|
| 모든 동작을 직접 검토 | claude --permission-mode default | 없음 | 민감한 작업, 낯선 코드 |
| 분류기 없이 확인 창을 줄여 로컬 반복 | Manual로 시작한 뒤 /에서 auto-allow 선택 | 내장 Bash 샌드박스 | deny 규칙은 그대로 적용되고, Bash(git push *)처럼 명령을 지정한 ask 규칙은 여전히 묻는다. 설정 파일로 켜려면 sandbox.. (2026-10-21 기준) 샌드박스는 셸 명령만 감싸고 파일 도구· |
| 바꾸기 전에 탐색 | claude --permission-mode plan | 없음 | 계획을 승인할 때까지 편집이 막힌다 |
| 손을 떼고 자동 모드로 | claude --permission-mode auto (v2.1.283 이상은 기본 시작 모드) | 없음. 샌드박스나 컨테이너를 더하면 심층 방어 | 지원 모델이 필요하고, 조직이 끌 수 있다 |
| CI에서 정확한 허용 목록으로 | claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" | CI 러너가 주는 것 이상 없음 | 클라우드 세션은 설정 파일의 dontAsk를 무시 |
| 컨테이너 안에서 완전 무인 실행 | claude -p "<prompt>" --dangerously-skip-permissions | 필수: 컨테이너, VM, 또는 sandbox runtime. Linux· | 클라우드 세션은 설정 파일의 이 모드를 무시 |
3. 모드 바꾸기#
- CLI 세션 중:
Shift+Tab으로 돈다.auto에서 첫 번째로 누르면default, 그다음acceptEdits→plan순서다.bypassPermissions는 그 모드를 켜고 시작했을 때만,auto는 쓸 수 있을 때만 순환에 들어가고,dontAsk는 순환에 없어--permission-mode dontAsk로만 켠다. Claude Code 권한 모드 - Bash 확인 창에서: Manual·
acceptEdits에서 자동 모드를 쓸 수 있으면 Yes, and switch to auto mode가 붙는다(v2.1.247 이상). ask 규칙이나 훅이 띄운 확인 창에는 붙지 않는다. 자동 모드에서도 그 창은 뜨기 때문이다. Claude Code 권한 모드 - 시작할 때:
claude --permission-mode plan. 같은 플래그가-p비대화형 실행에도 통한다. Claude Code 권한 모드 공식 CLI 문서(2026-10-21 기준)는 받는 값을default,acceptEdits,plan,auto,dontAsk,bypassPermissions와default의 별칭manual(v2.1.200 이상,claude --help는default대신 이것을 보여 준다)로 적고, 이 플래그가 설정 파일의defaultMode를 덮는다고 한다.--allow-dangerously-skip-permissions는bypassPermissions를Shift+Tab순환에 넣되 그 모드로 시작하지는 않아, 예컨대plan으로 시작해 나중에 바꿀 수 있게 한다. Claude Code CLI 레퍼런스 → Claude Code CLI 플래그 - 무인
-p실행에서 확인 창에 아무도 답할 수 없을 때 (2026-10-21 기준):claude -p --permission-prompts none "query"면 확인 창을 거부로 처리한다. 기본값host는 Agent SDK 호스트나--permission-prompt-tool로 보낸다. v2.1.259 이상.--permission-prompt-tool로 지정한 MCP 도구는 사용자 상호작용이 필요하다고 표시된 MCP 도구를 승인하지 못한다(v2.1.199 이상). Claude Code CLI 레퍼런스 - VS Code: 프롬프트 상자 아래 모드 표시를 누른다(Manual, Edit automatically, Plan, Auto, Bypass permissions). 시작 모드는
claudeCode.initialPermissionMode로 고정하는데auto는 받지 않는다. 확장은 프로젝트.claude/settings.json을 시작 모드로 읽지 않는다. Claude Code 권한 모드 - JetBrains: IDE 터미널에서 돌므로 CLI와 같다. Claude Code 권한 모드
- 확인 창에 메모 달기 (2026-10-21 기준): Bash·PowerShell·파일·MCP 도구 확인 창 대부분에서 Yes나 No로 옮겨
Tab을 누르면 그 선택지에 메모 칸이 열린다.Enter는 메모와 함께 답하고(비우면 메모 없이),Tab은 답하지 않고 칸을 닫되 쓴 글은 그 선택지로 답할 때 보낸다. Yes면 실행 결과 뒤에 메모가 Claude에게 가고, No면 거부 이유로 가서 Claude가 계속 일한다(메인 대화에서 메모 없이 No만 고르면 턴이 멈춘다). WebFetch·브라우저 확인 창과 세션 내내 허용하거나 규칙을 저장하는 선택지에는 메모 칸이 없다. 파일 확인 창 메모 칸에서Shift+Tab은 v2.1.235 이상에서Tab처럼 닫히고, 그 전에는 세션 허용을 골라 메모를 버렸다. Claude Code 권한 설정 - "Yes, and don't ask again"이 저장하는 것: Bash 명령·WebFetch 도메인·WebSearch는 저장소 단위로 영구 저장되고(git 저장소 루트의
.claude/settings.local.json, v2.1.211 이상), 파일 수정 승인은 세션 끝까지만 간다. 상시 선택지가 없고 일회 승인만 있는 확인 창도 있다. 규칙 문법과 저장 규칙은 Claude Code 권한 규칙 문법. Claude Code 권한 설정 - 데스크톱 앱 Code 탭: 보내기 버튼 옆 모드 선택기. 고른 모드는 폴더별로 기억되고
defaultMode보다 우선한다(Plan은 그 세션만). Claude Code 권한 모드 - 웹(claude.ai/code)·모바일: 클라우드 세션은 Accept edits, Plan, Auto만 있고 Bypass permissions는 없다. Remote Control 세션은 Manual, Accept edits, Plan, Auto이고 앱에서 Bypass permissions를 고를 수 없다. Claude Code 권한 모드
기본값으로 두려면 ~/.claude/settings.json에 넣는다. 다음 세션 상태 표시줄에 ⏸ manual mode on이 뜬다. Claude Code 권한 모드
{
"permissions": {
"defaultMode": "default"
}
}됐는지 확인하는 법#
- CLI·JetBrains: 상태 표시줄에 지금 모드가 뜬다.
⏸ manual mode on(Manual),⏵⏵ accept edits on,⏸ plan mode on,⏵⏵ auto mode on,⏵⏵ don't ask on,⏵⏵ bypass permissions on.Shift+Tab을 누를 때마다 바뀌는 것으로 확인한다. Claude Code 권한 모드 - 기본값을 바꿨을 때: 위 예시처럼
~/.claude/settings.json에"defaultMode": "default"를 넣으면 다음에 시작하는 세션의 상태 표시줄에⏸ manual mode on이 뜬다. Claude Code 권한 모드 - VS Code·데스크톱 앱: VS Code는 프롬프트 상자 아래 모드 표시, 데스크톱 앱 Code 탭은 보내기 버튼 옆 모드 선택기에 지금 모드가 보인다. Claude Code 권한 모드
- 자동 모드가 기본으로 켜졌을 때: 내장 기본값이 처음 자동 모드로 세션을 시작하면, 터미널에서는 세션 맨 위에 한 번, VS Code에서는 새 대화 화면의 카드로 안내가 뜬다. Claude Code 권한 모드
- 자동 모드를 골랐는데 Manual로 시작했을 때: 그 세션에서 자동 모드를 쓸 수 없다는 뜻이다(설정 파일·모델·조직 조건). 6절 표로 원인을 찾는다. Claude Code 권한 모드
- 무엇이 막혔는지: 자동 모드가 막은 동작은
/permissions의 Recently denied 탭에 남는다(5절). 다만 분류기가 판정을 내지 못해 막힌 동작은 이 탭에 남지 않는다. Claude Code 권한 모드 그런 동작은 대화의 그 호출 아래Not run줄로 보이고, 트랜스크립트 보기Ctrl+O로 전문을 본다(2026-10-21 기준). Claude Code 자동 모드 설정
4. plan 모드로 먼저 계획 받기#
Shift+Tab으로 들어가거나, 프롬프트 하나에만/plan을 붙인다. Claude Code 권한 모드- Claude는 파일을 읽고 탐색 명령을 돌려 계획을 쓰지만 소스는 고치지 않는다. Claude Code 권한 모드
- 계획이 나오면 고른다: Yes, and use auto mode(자동 모드를 못 쓰면 Yes, auto-accept edits), Yes, manually approve edits, No, keep planning. 승인하면 plan 모드를 나가 그 선택지의 모드로 바뀐다. Claude Code 권한 모드
- 진행 전에
Ctrl+G로 계획을 기본 텍스트 편집기에서 직접 고칠 수 있다. Claude Code 권한 모드
프로젝트 터미널 세션의 기본을 plan으로 두려면 .claude/settings.json에 defaultMode: "plan"을 둔다. Claude Code 권한 모드
계획 승인 확인 창을 매번 받기 싫으면 ExitPlanMode에만 맞춘 PermissionRequest 훅으로 자동 승인할 수 있다. 승인되면 plan 모드 전의 권한 모드로 돌아가고, 트랜스크립트에는 "Allowed by PermissionRequest hook"이 보인다. 이 훅 경로는 현재 대화를 항상 유지해, 확인 창처럼 컨텍스트를 비우고 새 구현 세션을 시작하지 못한다. matcher를 비우거나 .*로 두면 모든 도구 확인을 자동 승인하므로 좁게 둔다. 설정 원문은 Claude Code 훅 설정 레시피. Claude Code 훅 가이드
5. 자동 모드를 쓸 때#
- 무엇이 막히는지 미리 본다:
claude auto-mode defaults가 기본 차단·허용 규칙 전체를 JSON으로 출력한다. Claude Code 권한 모드 - 사람 확인 지점을 남긴다: 자동 모드에서 작업 저장소로 push와 요청에 맞는 PR 생성은 차단 목록에 걸리지 않는 한 묻지 않고 돈다. 그 앞에 사람 확인을 두려면
permissions.ask규칙(예:Bash(git push *))을 더한다. 규칙은 명령을 쓰인 그대로 맞춘다. Claude Code 권한 모드 (2026-10-21 기준) 공식 자동 모드 설정 문서의 세부:Bash(git push *)·Bash(gh pr create *)는 그 말로 시작하는 명령만 맞춰서,git -C <dir> push나git -c <key>=<value> push로 쓴 push는 확인 지점을 거치지 않는다. 명령 전체를 검사하려면PreToolUse훅을 더한다.production·release·gh-pages처럼 배포·공개 대상 이름의 브랜치는 기본 허용에서 빠져 분류기가 따로 판단한다. Claude Code 자동 모드 설정 → Claude Code 자동 모드 설정하기 4절 - 막힌 동작을 허용할 때는 구체적으로 말한다: "force push해도 돼"처럼 동사만 말하면 아무것도 풀리지 않는다. 동작과 위험 요소(어느 브랜치인지)를 함께 말해야 하고, 승인은 그 동작 하나에만 미친다. 일상적인 패턴이면
autoMode.allow에 더한다. Claude Code 권한 모드 (2026-10-21 기준) "저장소 정리해 줘" 같은 일반 요청은 의도로 치지 않고,hard_deny규칙은 사용자 의도로도 풀리지 않는다. Claude Code 자동 모드 설정 - "하지 마"는 대화가 아니라 규칙으로: 대화로 말한 경계는 컴팩션으로 사라질 수 있다. 확실히 막으려면 deny 규칙을 쓴다. Claude Code 권한 모드 → 장기 작업 컨텍스트 관리
- 막혔을 때: 알림이 뜨고
/permissions의 Recently denied 탭에 남는다(분류기가 판정을 내지 못해 막힌 동작은 알림도 탭 항목도 없다).r로 수동 승인해 다시 시도한다. 반복 차단은 대개 분류기가 인프라 맥락을 모른다는 뜻이므로/feedback으로 오탐을 알리거나 관리자에게 신뢰 인프라 설정을 요청한다. Claude Code 권한 모드 (2026-10-21 기준) 개인도 고칠 수 있다: 작업 내내 필요한 목적지는~/.claude/settings.json의autoMode.environment에, 검토 없이 돌릴 명령은allow규칙에 더하고, 일회성이면 다음 메시지에서 의도를 말한다./auto-mode-setup이 프로젝트와 최근 세션에서 항목 초안을 만들어 주고,/permissions의 Auto mode 탭에서도 고친다. 정확히 무엇이 막혔는지는Ctrl+O트랜스크립트 보기나PermissionDenied훅으로 본다. Claude Code 자동 모드 설정 → Claude Code 자동 모드 설정하기
6. 시작 모드가 예상과 다를 때#
| 증상 | 확인할 것 |
|---|---|
defaultMode: "auto"가 무시되고 내장 기본값으로 시작 | 값이 .이나 .에 있다. 거기서 auto는 효과가 없고, 이때 ~/.의 defaultMode가 아니라 내장 기본값을 쓴다. 내장 기본값은 v2.1.228 이상auto, 그 전 버전에서는 Manual이다. ~/.으로 옮기고, 한 세션만이면 --permission-mode를 쓴다 Claude Code 설정 파일과 우선순위Claude Code 권한 모드 |
프로젝트 설정의 bypassPermissions가 무시됨 | 같은 두 파일의 bypassPermissions도 효과가 없고 Manual로 시작한다. Settings 문서 |
| 자동 모드를 쓸 수 없다고 나옴 | 플랜·disableAutoMode, 서버 측에서 꺼졌는지. 그런 답을 받은 세션은 끝날 때까지 꺼져 있으니 새 세션을 연다 |
| "cannot determine the safety" 메시지 | 분류기 요청 실패. 대개 일시적이지만 Bedrock에서는 계정이 해당 모델을 호출할 수 있을 때까지 반복될 수 있다 |
| VS Code에서 프로젝트 설정의 시작 모드가 안 먹음 | 확장은 프로젝트 설정을 시작 모드로 읽지 않는다. claudeCode.를 쓴다 |
언제 쓰고 언제 쓰지 않는가#
- 쓴다: 교육생에게 "Claude Code는 무엇을 묻고 무엇을 안 묻나"를 설명할 때, 새 저장소나 CI에서 시작 모드를 정할 때, 확인 창이 너무 많거나 너무 적다고 느낄 때.
- 쓰지 않는다: 확인 창은 그대로 두고 Claude가 일상적인 결정을 덜 묻게만 하려면 권한 모드가 아니라 Proactive 출력 스타일이다. Proactive는 권한 모드를 바꾸지 않고, 파괴적 동작 전에 대화로 확인하라는 것도 스타일 지시일 뿐 권한 확인 창과는 별개다(2026-10-18 기준). Claude Code 출력 스타일, Claude Code 권한 모드 → Claude Code 출력 스타일 설정·만들기
- 쓰지 않는다: 조직 전체 정책을 정하는 일이면 Claude Code 관리자 권한 통제가 먼저다. Claude Cowork는 이 모드를 쓰지 않는다. Claude Code 권한 모드 → Claude Cowork 시작 세팅
- 모드를 고를 때 되돌릴 수 있는지도 본다(2026-10-18 기준): 체크포인트는 Claude가 편집한 파일만 되감고, 데이터베이스·API·배포 같은 원격 시스템에 미친 동작은 되돌리지 못한다. 공식 작동 방식 문서는 그쪽을 권한 모드와 규칙으로 통제하라고 한다. Claude Code 작동 방식 → Claude Code 세션·체크포인트 다루기
- 주의: 원본은 자동 모드가 안전을 보장하지 않으며 민감한 작업의 검토를 대신하지 않는다고 경고하고,
bypassPermissions는 인터넷 없는 컨테이너·VM 같은 격리 환경에서만 쓰라고 한다. Claude Code 권한 모드