이 페이지의 목차
확인 2026-10-18근거 자료 9건갱신 2026-10-26언급 18곳
이 페이지의 목차
확인 날짜 안내

원본 날짜 미상. 공식 문서 수집일(2026-10-18) 기준이다. "(2026-10-21 기준)"으로 표시한 문장은 그날 수집한 공식 문서 기준이다. 버전 조건과 모드 이름은 몇 주 단위로 바뀔 수 있다.

Claude Code에서 "Claude가 무엇을 묻고 무엇을 묻지 않는가"를 모드별로 정리하고, 상황에 맞는 모드를 고르는 순서다. 개념과 분류기(사람 대신 동작을 검토하는 두 번째 모델) 동작은 권한 모드, 조직 단위 통제는 Claude Code 관리자 권한 통제에 있다. 표의 영어 모드 이름(acceptEdits, plan, bypassPermissions 등)은 용어 사전에 쉬운 풀이가 있다.

준비물(필요한 것)#

필요한 것내용
Claude Code를 쓰는 곳 하나터미널(CLI), VS Code 확장, JetBrains(IDE 터미널), 데스크톱 앱 Code 탭, 웹(claude.ai/code) 중 하나. 모드를 바꾸는 자리가 곳마다 다르다(3절) Claude Code 권한 모드. 설치 절차는 이 페이지의 원본이 다루지 않는다
버전 확인시작 모드의 기본값이 버전에 따라 다르다. v2.1.283 이상은 대화형 터미널·VS Code 세션이 자동 모드로 시작하고, 그 전 버전은 Pro·Max·Team 플랜에서만 그렇다(자동 모드를 쓸 수 없으면 Manual, 세부 조건은 6절) Claude Code 권한 모드
자동 모드를 쓰려면지원 모델·제공자. Team·Enterprise는 관리자가 permissions.disableAutoMode로 끌 수 있다 Claude Code 권한 모드
샌드박스 auto-allow를 쓰려면macOS, Linux, WSL2(내장 Bash 샌드박스) Claude Code 권한 모드 → Claude Code 샌드박스 설정하기
확인을 건너뛰는 모드(bypassPermissions)를 쓰려면격리된 컨테이너·VM. Linux·macOS에서는 non-root 사용자로 Claude Code 권한 모드
기본값을 고정하려면내 사용자 설정 파일 ~/.claude/settings.json(3절 끝 예시) Claude Code 권한 모드

1. 모드별로 묻는 것과 묻지 않는 것#

동작Manual (default)acceptEditsplanautodontAskbypassPermissions
작업 디렉터리 안 파일 읽기묻지 않음묻지 않음묻지 않음묻지 않음묻지 않음묻지 않음
작업 디렉터리 안 파일 편집묻는다묻지 않음계획 승인 전까지 막힘묻지 않음거부(allow 규칙·PreToolUse 훅 승인분은 실행)묻지 않음
그 밖의 셸 명령묻는다(내장 읽기 전용 명령 제외)흔한 파일 명령(mkdir, touch, rm, rmdir, mv, cp, sed)은 범위 안에서 묻지 않음, 나머지는 묻는다(내장 읽기 전용 명령 제외)자동 모드를 쓸 수 있으면 분류기, 아니면 묻는다분류기가 판정거부(내장 읽기 전용 명령, allow 규칙·PreToolUse 훅 승인분은 실행)묻지 않음
보호 경로 쓰기(.git, .claude, .bashrc 등)묻는다묻는다분류기 또는 묻기분류기거부허용
치명 경로 rm·rmdir(루트, 홈, 작업 디렉터리 등)묻는다묻는다묻는다(계획 중 분류기가 명령을 검토하고 bypass를 쓸 수 없으면 auto와 같이 처리)터미널에서 2분 제한으로 묻고, 그 밖에서는 거부(주)거부묻는다(터미널에서는 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 규칙, requiresUserInteraction MCP 도구, 치명 경로 삭제 등)은 묻는다. 비대화형 -p 실행에서는 그 몇 가지가 묻는 대신 거부된다. Claude Code 권한 모드
  • 자동 모드는 Read·Grep·Glob 도구가 작업 디렉터리 밖 경로를 처음 읽을 때 한 번 묻는다(blockReadsOutsideWorkingDirectories가 꺼져 있을 때). 비대화형 -p 실행과 백그라운드 세션에서는 이 질문이 뜨지 않고 그대로 읽는다. Claude Code 권한 모드

2. 상황별 시작 설정#

원본의 "Common setups" 표를 옮긴다. 출발점으로 제시된 것이다. Claude Code 권한 모드

하고 싶은 것시작 방법필요한 격리메모
모든 동작을 직접 검토claude --permission-mode default없음민감한 작업, 낯선 코드
분류기 없이 확인 창을 줄여 로컬 반복Manual로 시작한 뒤 /sandbox에서 auto-allow 선택내장 Bash 샌드박스(macOS, Linux, WSL2)deny 규칙은 그대로 적용되고, Bash(git push *)처럼 명령을 지정한 ask 규칙은 여전히 묻는다. 설정 파일로 켜려면 sandbox.enabled: true. (2026-10-21 기준) 샌드박스는 셸 명령만 감싸고 파일 도구·MCP·훅은 밖에서 돌며, 샌드박스가 못 뜨면 기본으로 샌드박스 없이 돈다. 설정 절차: Claude Code 샌드박스 설정하기
바꾸기 전에 탐색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·macOS에서는 non-root 사용자로클라우드 세션은 설정 파일의 이 모드를 무시

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 권한 모드

json
{
  "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 모드로 먼저 계획 받기#

  1. Shift+Tab으로 들어가거나, 프롬프트 하나에만 /plan을 붙인다. Claude Code 권한 모드
  2. Claude는 파일을 읽고 탐색 명령을 돌려 계획을 쓰지만 소스는 고치지 않는다. Claude Code 권한 모드
  3. 계획이 나오면 고른다: Yes, and use auto mode(자동 모드를 못 쓰면 Yes, auto-accept edits), Yes, manually approve edits, No, keep planning. 승인하면 plan 모드를 나가 그 선택지의 모드로 바뀐다. Claude Code 권한 모드
  4. 진행 전에 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"가 무시되고 내장 기본값으로 시작값이 .claude/settings.json이나 .claude/settings.local.json에 있다. 거기서 auto는 효과가 없고, 이때 ~/.claude/settings.json의 defaultMode가 아니라 내장 기본값을 쓴다. 내장 기본값은 v2.1.228 이상(네이티브 Windows v2.1.233 이상)에서 auto, 그 전 버전에서는 Manual이다. ~/.claude/settings.json으로 옮기고, 한 세션만이면 --permission-mode를 쓴다 Claude Code 설정 파일과 우선순위Claude Code 권한 모드
프로젝트 설정의 bypassPermissions가 무시됨같은 두 파일의 bypassPermissions도 효과가 없고 Manual로 시작한다. Settings 문서(2026-10-21): v2.1.257 전에는 어느 파일에서든 효과가 있었다. Claude Code 설정 파일과 우선순위Claude Code 권한 모드
자동 모드를 쓸 수 없다고 나옴플랜·조직·모델·제공자 조건, 설정 파일의 disableAutoMode, 서버 측에서 꺼졌는지. 그런 답을 받은 세션은 끝날 때까지 꺼져 있으니 새 세션을 연다
"cannot determine the safety" 메시지분류기 요청 실패. 대개 일시적이지만 Bedrock에서는 계정이 해당 모델을 호출할 수 있을 때까지 반복될 수 있다
VS Code에서 프로젝트 설정의 시작 모드가 안 먹음확장은 프로젝트 설정을 시작 모드로 읽지 않는다. claudeCode.initialPermissionMode를 쓴다

근거: Claude Code 권한 모드

언제 쓰고 언제 쓰지 않는가#

  • 쓴다: 교육생에게 "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 권한 모드