Claude Code auto 모드 기본값 변경 및 권한 설정 가이드
2026년 8월 14일부터 Claude Code의 auto 모드가 기본값으로 적용됩니다. 서버 환경에서 권한 프롬프트가 차단되는 문제를 방지하기 위해 각 모드의 동작 방식과 설정 유지 방법을 확인하십시오. 기존 설정값은 유지되나 원격 서버 운영 시 주의가 필요합니다.
2026년 8월 14일 auto 모드 변경 사항
Claude Code의 auto 모드는 도구 호출 시 사용자에게 묻지 않고 바로 실행하며, 각 동작을 사전에 검토하기 위해 별도의 분류 모델로 전송합니다. 2026년 8월 14일부터 Pro, Max, Team 플랜의 새로운 세션은 이 모드로 시작됩니다. 모드는 언제든지 전환할 수 있으며, 사용자가 이미 설정한 기본값은 덮어쓰이지 않습니다.
문서에서는 이 변경 사항을 다음과 같이 명시합니다.
2026년 8월 14일부터 Pro, Max, Team 플랜의 새로운 세션에서 auto 모드가 기본 권한 모드가 됩니다. 모드는 언제든지 전환할 수 있습니다. 사용자가 직접 설정한 기본값은 일회성 전환 프롬프트를 수락하지 않는 한 유지되며, 조직에서 관리하는 기본값도 변경되지 않습니다.
위 내용 중 날짜보다 중요한 조항은 두 가지입니다. 사용자의 설정 파일에 지정된 defaultMode은 이번 변경 이후에도 유지됩니다. 조직이 관리형 설정을 통해 배포한 기본값 역시 그대로 유지됩니다. 공지 게시물에 따르면, 롤아웃 초기 단계에서 Enterprise 플랜과 API를 사용하는 계정의 경우 auto 모드는 선택 사항으로 유지됩니다.
VPS(가상 사설 서버)에서 Claude Code를 실행하는 경우, 변경 사항이 적용되기 전에 내용을 숙지하는 것이 좋습니다. 권한 프롬프트는 사용자가 키보드 앞에 있어야 하는 확인 지점입니다. 원격 서버에서는 사용자가 자리를 비우는 경우가 많으므로, 세션이 시작된 모드가 몇 시간 동안 그대로 유지됩니다.
Claude Code 권한 모드: 관리 수준별 분류
6가지 모드가 존재합니다. 각 줄의 시작 부분에 있는 이름은 설정 파일에 입력하거나 --permission-mode에 전달하는 값입니다.
default: Claude가 새로운 도구를 사용할 때마다 사용자에게 확인을 요청합니다. 작업 디렉터리 내부의 읽기 작업은 여전히 확인 없이 수행됩니다. CLI(명령줄 인터페이스)에서는 이 모드를 Manual로 표시하며, Claude Code v2.1.200부터는manual을 별칭으로 사용할 수 있습니다.plan: Claude가 파일을 읽고 명령을 실행하여 탐색을 수행하지만, 소스 코드는 수정하지 않습니다. 수정 작업은 사용자가 계획을 승인할 때까지 차단됩니다.acceptEdits: 파일 수정 작업이 확인 없이 실행되며, 파일 시스템 명령인mkdir,touch,rm,rmdir,mv,cp,sed도 마찬가지입니다. 이는 작업 디렉터리 내부 또는additionalDirectories내의 경로에만 적용됩니다. 그 외의 모든 셸 명령은 여전히 확인을 요청합니다.auto: 모든 작업이 실행되며, 분류기가 각 동작을 사전에 검사합니다. 명시적인ask규칙은 여전히 강제로 확인을 요청합니다.dontAsk: Claude Code는 확인이 필요한 모든 작업을 자동으로 거부합니다. 사용자의allow규칙, 내장된 읽기 전용 Bash 명령, 그리고PreToolUse훅이 승인한 호출만 실행됩니다. 세션은 입력을 기다리지 않습니다.bypassPermissions: 확인 절차와 안전 검사를 건너뜁니다..git및.claude과 같은 보호된 경로에 대한 쓰기 작업도 포함됩니다.
세션 중에 Shift+Tab를 누르면 default에서 acceptEdits, plan 순으로 모드가 전환됩니다. 상태 표시줄에 ⏵⏵ auto mode on 또는 회색 ⏸ manual mode on와 같이 현재 모드가 표시됩니다. 다른 모드는 기본적으로 이 순환에 포함되지 않습니다. auto는 계정이 요구 사항을 충족하면 순환에 추가됩니다. bypassPermissions은 세션이 --permission-mode bypassPermissions 또는 --dangerously-skip-permissions로 시작된 경우에만 순환에 포함됩니다. dontAsk는 순환에 나타나지 않으므로 claude --permission-mode dontAsk을 사용하여 설정해야 합니다.
Auto 모드는 최신 모델을 필요로 하며, 모드가 나타나지 않는 주된 이유는 모델 버전 때문입니다. 2026년 8월 기준 문서에 따르면 Anthropic API에서 Claude Opus 4.6 이상, Sonnet 4.6 이상, Fable 5를 지원하며, Sonnet 4.5와 같은 이전 모델은 어떤 공급자에서도 지원되지 않습니다. Claude Code가 Auto 모드를 사용할 수 없다고 보고한다면, 이러한 요구 사항 중 하나가 충족되지 않은 것입니다. 이는 일시적인 장애가 아니므로 기다려도 해결되지 않습니다.
bypassPermissions을 포함한 모든 모드에서 두 가지 제어 기능은 항상 유지됩니다. 바로 deny 규칙과 명시적인 ask 규칙입니다. 어떤 모드로 세션을 시작하든 이 규칙들은 사용자가 제어권을 유지하는 수단입니다.
자동 모드 분류기가 차단하는 작업
분류기는 보류 중인 작업을 읽고 사용자의 요청에 부합하는지 판단하는 두 번째 모델입니다. 문서에서는 이 모델의 역할을 다음과 같이 한 문장으로 설명합니다.
별도의 분류기 모델이 작업 실행 전 내용을 검토하여, 요청 범위를 벗어난 작업, 인식되지 않는 인프라를 대상으로 하는 작업, 또는 Claude가 읽은 악성 콘텐츠에 의해 유도된 것으로 보이는 작업을 차단합니다.
서버 운영자가 가장 자주 접하는 범주에서 기본적으로 차단되는 작업은 다음과 같습니다.
curl | bash와 같이 코드를 다운로드하고 실행하는 행위- 프로덕션 배포 및 마이그레이션
- Force push
- 공유 인프라 수정
- 로컬 서비스를 공용 인터넷에서 접근할 수 있게 만드는 터널 또는 리버스 셸 열기
- 실시간 자격 증명이나 토큰을 대화 기록 또는 파일에 출력하는 행위
기본적으로 허용되는 작업은 다음과 같습니다.
- 작업 디렉터리 내의 로컬 파일 작업
- 잠금 파일(lock files) 또는 매니페스트에 선언된 의존성 설치
- 읽기 전용 HTTP 요청
- 작업 중인 저장소의 모든 브랜치로 푸시하는 행위
위와 같은 요약본에만 의존하지 마십시오. claude auto-mode defaults를 실행하여 전체 규칙 목록을 JSON 형식으로 출력하고, 설치된 버전에 포함된 규칙 세트를 직접 확인하십시오.
이 기능을 활용하기 전에 알아두어야 할 두 가지 제한 사항이 있습니다. 첫째, 분류기는 사용자의 메시지, 도구 호출, CLAUDE.md 콘텐츠를 확인하지만 도구 결과는 제외됩니다. 따라서 Claude가 읽은 파일이나 웹 페이지 내부의 텍스트로는 분류기에 직접적인 영향을 줄 수 없습니다. 둘째, 분류기가 작업을 연속으로 3회 또는 한 세션에서 20회 차단하면 자동 모드가 일시 중지되고 Claude Code는 다시 사용자에게 입력을 요청합니다. 이 임계값은 설정할 수 없습니다. -p 플래그를 사용한 비대화형 모드에서는 입력을 요청할 대상이 없으므로, 반복적인 차단 발생 시 세션이 즉시 중단됩니다.
두 번째 동작은 원격 서버에서 작업할 때 문제가 될 수 있습니다. 무인 실행 중 임계값에 도달하면 작업이 멈추고 터미널을 확인하지 않는 사용자를 기다리게 됩니다. 에이전트가 수행할 작업을 좁히는 것이 해결책의 절반이며, 작동 가능한 가장 작은 변경 사항을 수행하도록 에이전트를 유도하는 기술을 사용하면 세션이 분류기에 의해 차단되는 광범위한 작업으로 흐르는 것을 방지할 수 있습니다.
settings.json에서 모드가 위치하는 곳
위의 모든 내용은 설정 파일 내의 하나의 객체입니다.
{
"permissions": {
"defaultMode": "auto",
"allow": [
"Bash(npm run test *)",
"Bash(git status)"
],
"ask": [
"Bash(git push *)",
"Bash(docker compose up *)"
],
"deny": [
"Read(./.env)",
"Read(./secrets/**)",
"Bash(curl *)"
]
}
}규칙은 거부(deny), 질문(ask), 허용(allow) 순서로 평가됩니다. 해당 순서에서 가장 먼저 일치하는 규칙이 결과를 결정하며, 더 좁은 범위의 규칙이 앞선 더 넓은 범위의 규칙을 무효화하지 않습니다. Bash(aws *)에 대한 거부 규칙은 동일한 명령을 허용했더라도 aws s3 ls를 차단하므로, 거부 규칙에는 예외를 둘 수 없습니다.
ask은 자동(auto) 모드에서 유용한 규칙 유형입니다. 자동 모드는 일상적인 프롬프트를 제거하지만, ask 규칙을 사용하면 특정 명령에 대해 다시 프롬프트를 표시할 수 있습니다. 배포 명령은 여기에 해당합니다. 코드가 서버를 떠나기 전에 확인이 필요하다면 Bash(git push *)도 마찬가지입니다. 자격 증명 파일을 deny에 보관하는 것은 그 절반에 해당하며, 이는 애초에 에이전트가 접근할 수 없는 곳에 자격 증명 보관하기와 함께 사용됩니다.
설정 파일 자체의 우선순위는 낮은 순서부터 다음과 같습니다.
~/.claude/settings.json: 모든 프로젝트에 적용되는 사용자 설정입니다..claude/settings.json: 저장소에 커밋되는 프로젝트 설정입니다..claude/settings.local.json: 특정 저장소에 대해 git-ignored 처리된 개인 설정입니다.- 관리자가 배포하는 관리형 설정입니다. Linux에서 해당 파일은
/etc/claude-code/managed-settings.json입니다. 명령줄 플래그를 포함하여 그 어떤 것도 관리형 권한 규칙을 재정의할 수 없습니다.
여기에는 문서화된 원인이 있는 함정이 하나 있습니다. Claude Code v2.1.142 버전부터 .claude/settings.json 또는 .claude/settings.local.json에서 설정된 defaultMode: "auto"은 무시됩니다. 이는 저장소가 설정 파일을 포함하는 방식으로 스스로 자동 모드 권한을 부여할 수 없도록 하기 위함입니다. 해당 위치에 설정하면 세션은 아무런 오류 메시지 없이 default 모드로 시작됩니다. 해당 줄을 ~/.claude/settings.json로 옮기십시오. /permissions을 실행하면 활성화된 모든 규칙을 해당 규칙이 정의된 파일과 함께 나열할 수 있습니다.
모드를 비활성화하는 두 가지 스위치
관리자는 두 개의 킬 스위치를 사용할 수 있으며, 두 스위치 모두 불리언(boolean) 값 대신 "disable" 문자열을 인자로 받습니다.
{
"permissions": {
"disableAutoMode": "disable",
"disableBypassPermissionsMode": "disable"
}
}문서에는 해당 스위치를 어디에 배치해야 하는지 명확히 기술되어 있습니다.
bypassPermissions또는auto모드가 사용되지 않도록 하려면, 설정 파일에서permissions.disableBypassPermissionsMode또는permissions.disableAutoMode을"disable"로 설정하십시오. 이는 사용자가 설정을 재정의할 수 없는 관리형 환경에서 가장 유용합니다.
disableAutoMode은 auto을 Shift+Tab 주기에서 제거하고 시작 시 --permission-mode auto을 거부합니다. disableBypassPermissionsMode는 바이패스 모드에 대해 동일한 작업을 수행하며, 모든 범위(scope)에서 작동합니다. 따라서 운영 중인 서버에서 새벽 2시에 실수로 해당 모드에 접근하는 것을 방지하고 싶다면, 본인의 ~/.claude/settings.json에 이 설정을 추가하여 접근을 차단할 수 있습니다. 다른 사용자와 함께 사용하는 서버라면 두 설정 모두 /etc/claude-code/managed-settings.json에 배치하십시오. 사용자 설정 파일은 사용자의 소유이지만, 관리형 설정 파일은 그렇지 않기 때문입니다.
VPS에서 자동 모드에 격리 경계가 필요한 이유
분류기는 한 번에 하나의 작업만 검토합니다. 승인된 작업이 그 이후에 무엇을 수행하는지는 포함하지 않습니다. 문서는 이 경계를 명확히 규정합니다.
분류기는 작업별 제어 장치일 뿐 격리 경계가 아닙니다. 따라서 무인 실행 시에는 여전히 격리 경계를 통해 심층 방어를 추가해야 하며, --dangerously-skip-permissions의 경우처럼 필수적인 것은 아닙니다.
그러므로 원격 서버를 위한 조합은 자동 모드와 '잃어도 상관없는 환경'이어야 하며, bypassPermissions과 '희망'을 조합해서는 안 됩니다. 우회 모드는 컨테이너, 가상 머신, 인터넷 접속이 차단된 개발 컨테이너와 같이 Claude Code가 호스트 시스템을 손상시킬 수 없는 격리된 환경에서만 사용하도록 문서화되어 있습니다. 데이터베이스와 리버스 프록시를 실행 중인 VPS는 이러한 환경에 해당하지 않습니다.
서버에서는 세 가지 사항이 가장 중요합니다. Claude Code는 절대 root가 아닌 일반 사용자로 실행하십시오. 해당 사용자에게는 작업 디렉터리 외에 읽을 가치가 있는 어떠한 데이터도 제공하지 마십시오. 서버를 수리하기보다는 재구축하십시오. 이것이 바로 작업 후 폐기하는 일회용 VM을 사용하는 이유입니다. 사용자 생성부터 방화벽 규칙까지, 이러한 보안 강화의 세부 사항은 VPS에서 Claude Code를 실행하기 위한 전체 안전 지침에서 다루고 있으므로 여기서는 반복하지 않습니다.
Claude Code는 root 실행 금지 규칙을 자체적으로 강제합니다. Linux 및 macOS에서 sudo 환경이거나 root 계정으로 우회 모드를 시작하려고 하면 실행이 거부됩니다.
--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons이 검사는 인식된 샌드박스 내부에서는 건너뜁니다. 이것이 바로 자율적인 컨테이너 작업을 위한 문서화된 해답이 root가 아닌 사용자로 Claude Code를 실행하는 개발 컨테이너인 이유입니다. 휴대폰이나 노트북에서 SSH를 통해 에이전트를 제어하는 경우에도 tmux에서 장시간 유지되는 Claude Code 세션에 동일한 논리가 적용됩니다. 세션이 실행되는 동안에는 아무도 프롬프트를 지켜보고 있지 않기 때문입니다.
Ubuntu VPS에서 Bash 샌드박스 설정하기
내장 샌드박스는 Claude가 실행하는 모든 Bash 명령의 파일 시스템 및 네트워크 접근을 제한하며, 운영 체제는 이를 자식 프로세스에도 동일하게 적용합니다. Linux 환경에서는 두 개의 패키지가 필요합니다.
sudo apt-get install bubblewrap socatClaude Code를 시작하고 /sandbox을 실행합니다. 패널이 열리면 Mode 탭과 Overrides 탭, 그리고 누락된 항목을 나열하는 Dependencies 탭이 표시됩니다. 의존성 검사는 시작 시점에 수행되므로, 패키지를 설치한 후에는 Claude Code를 재시작해야 패널에서 정상적으로 인식합니다.
Ubuntu 24.04 이상 버전에서는 기본 AppArmor 정책이 bubblewrap의 사용자 네임스페이스 생성을 차단하여 샌드박스가 시작되지 않습니다. 해당 문제가 시스템에 적용되는지 확인하십시오.
sysctl kernel.apparmor_restrict_unprivileged_userns0이 출력되거나 키가 존재하지 않는다는 오류가 발생하면 별도의 조치가 필요하지 않습니다. 1가 출력된다면 bwrap에 별도의 프로필이 필요하다는 의미입니다.
sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'
abi <abi/4.0>,
include <tunables/global>
profile bwrap /usr/bin/bwrap flags=(unconfined) {
userns,
include if exists <local/bwrap>
}
EOF
sudo systemctl reload apparmor이 프로필은 샌드박스 내부에서 실행되는 명령이 아닌 bwrap 자체에 적용됩니다. 그 후 설정에서 경계를 좁히십시오.
{
"sandbox": {
"enabled": true,
"filesystem": {
"denyRead": ["~/"],
"allowRead": ["."]
},
"network": {
"allowedDomains": ["github.com", "*.npmjs.org"]
}
}
}이 블록은 프로젝트의 .claude/settings.json에 포함되어야 합니다. .은 프로젝트 설정에서만 프로젝트 루트로 해석되기 때문입니다. 동일한 내용을 ~/.claude/settings.json에 넣으면 .이 ~/.claude로 해석되므로, denyRead 규칙에 의해 프로젝트 파일이 차단되어 모든 명령이 편집 대상 코드를 읽지 못하고 실패하게 됩니다.
이 설정이 다루지 않는 범위를 숙지하십시오. 샌드박스는 Bash와 그 자식 프로세스만을 제한합니다. 내장 파일 도구는 Claude Code 프로세스 내부에서 실행되며, MCP(Model Context Protocol) 서버와 훅은 호스트에서 제한 없이 실행되는 별도의 프로세스입니다. 이들 모두를 하나의 경계 안에 두려면 Claude Code 프로세스 전체를 컨테이너, 가상 머신 또는 작성 시점 기준으로 베타 연구용 프리뷰인 @anthropic-ai/sandbox-runtime 패키지 내부에서 실행하십시오.
각 설정에는 어떤 모드가 적합합니까?
개인 노트북의 단일 저장소
auto를 사용하고, 실행을 원하는 작업에는 ask 규칙을 적용하십시오. 사용자가 직접 키보드 앞에 있고 분류기(classifier)의 폴백(fallback)이 사용자에게 도달할 수 있으며, 피해 범위가 제어 가능한 단일 머신으로 제한되기 때문입니다. 8월 14일 기본 설정은 바로 이 경우를 위해 작성되었습니다.
공유 VPS
사용자별로 auto를 사용하고, 각 사용자의 ~/.claude/settings.json에 설정하십시오. 이때 Claude Code를 실행하는 계정은 root가 아니어야 하며 다른 사용자의 작업 내용을 읽을 수 없어야 합니다. disableBypassPermissionsMode를 /etc/claude-code/managed-settings.json 내의 "disable"로 배포하고, 공유 경로를 보호하는 거부(deny) 규칙을 함께 적용하십시오. 공유 서버는 bypassPermissions가 부적절한 가장 명확한 사례입니다. 해당 모드가 가정하는 격리 경계가 존재하지 않으며, 다른 사용자들이 그 경계 내부에 있기 때문입니다.
CI 및 무인 세션
작업에 필요한 명령을 명시한 allow 목록과 함께 dontAsk를 사용하십시오. 프롬프트를 확인할 사람이 없는 환경에서는 자동 거부(auto-deny)가 올바른 실패 모드입니다. Auto 모드도 비대화형으로 실행되지만, 분류기가 반복적으로 차단하면 -p 세션이 중단되므로 작업 도중 실패하여 결과물이 불완전해질 수 있습니다. bypassPermissions는 이미지로부터 재구축하는 컨테이너나 가상 머신에서만 사용하고, 중요한 작업이 실행 중인 호스트에서는 사용하지 마십시오.
FAQ
Claude Code에서 자동 모드가 기본값이 되는 시점은 언제입니까?
2026년 8월 14일부터 Pro, Max, Team 플랜의 새 세션에 적용됩니다. 문서에 따르면 언제든지 모드를 전환할 수 있으며, 사용자가 직접 설정한 기본값은 일회성 전환 프롬프트를 수락하지 않는 한 유지됩니다. 조직에서 관리하는 기본값은 변경되지 않습니다. 공지 사항에 따르면 Enterprise 플랜과 롤아웃 초기 단계에서 API를 사용하는 계정의 경우 자동 모드는 계속 선택 사항으로 남습니다. 현재 세션이 어떤 모드인지 확인하려면 상태 표시줄을 보십시오. 자동 모드일 때는 ⏵⏵ auto mode on라고 표시됩니다.
VPS에서 자동 모드와 bypassPermissions 중 무엇을 사용해야 합니까?
격리 경계와 함께 자동 모드를 사용하십시오. 분류기는 각 작업을 실행하기 전에 검토하지만, 문서는 이것이 작업별 제어일 뿐 격리 경계는 아니라고 명시합니다. 따라서 무인 실행 시에는 컨테이너, 가상 머신 또는 언제든 재구축할 수 있는 환경이 필요합니다. bypassPermissions는 검사를 완전히 건너뛰며 격리된 환경에서만 사용하도록 문서화되어 있습니다. Claude Code는 Linux에서 root 권한으로 해당 모드를 시작하는 것을 거부하며 --dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons을 출력합니다.
서버의 사용자가 자동 모드나 우회 모드를 사용하지 못하게 하려면 어떻게 해야 합니까?
/etc/claude-code/managed-settings.json에서 permissions.disableAutoMode 및 permissions.disableBypassPermissionsMode을 "disable" 문자열로 설정하십시오. 관리형 설정은 다른 모든 범위보다 우선하므로 사용자 설정 파일이나 명령줄 플래그로 이를 재정의할 수 없습니다. disableAutoMode은 Shift+Tab 주기에서 auto를 제거하고 시작 시 --permission-mode auto를 거부합니다. disableBypassPermissionsMode 역시 모든 범위에서 작동하므로, 개별 사용자가 자신의 ~/.claude/settings.json에 설정할 수도 있습니다.
왜 defaultMode: "auto" 설정이 무시됩니까?
잘못된 파일에 설정되어 있기 때문입니다. Claude Code v2.1.142부터는 저장소가 설정 파일을 포함하는 방식으로 스스로 자동 모드 권한을 부여할 수 없도록, .claude/settings.json나 .claude/settings.local.json에서 가져온 defaultMode: "auto"은 무시됩니다. 세션은 default 모드로 시작되며 오류는 출력되지 않습니다. 설정을 ~/.claude/settings.json로 옮긴 다음 /permissions을 실행하여 각 활성 규칙이 어떤 파일에서 적용되었는지 확인하십시오. 여전히 자동 모드를 사용할 수 없다면 모델 요구 사항을 확인하십시오. Sonnet 4.5와 같은 구형 모델은 어떤 공급자에서도 지원되지 않습니다.