Auto mode 설정
기준일: 2026-10-23
공식 기준: Configure auto mode · Auto mode classifier request charges
개요
Auto mode는 도구 호출을 분류기에 통과시켜 되돌릴 수 없거나 파괴적이거나 환경 밖을 겨냥한 동작을 막고, 일상적인 권한 프롬프트 없이 실행합니다. Deny 규칙과 명시적 ask 규칙은 분류기보다 먼저 평가되어 여전히 차단·프롬프트합니다. autoMode 설정 블록으로 분류기에 조직이 신뢰하는 repo, 버킷, 도메인을 알려 일상적인 내부 작업을 막지 않게 합니다.
- 이 페이지는 설정 레퍼런스입니다. 켜고 끄는 방법은 Permission modes 페이지(모드 전환, 특정 모드로 세션 시작)를 보세요.
- Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud Agent Platform, Microsoft Foundry, 로그인된 Claude apps gateway 세션 등 모든 프로바이더의 모든 사용자에게 제공됩니다.
- 기본으로 분류기는 작업 디렉터리와 현재 repo의 설정된 remote만 신뢰합니다. 회사 소스 컨트롤 org로의 push나 팀 클라우드 버킷 쓰기는
autoMode.environment에 추가하기 전까지 차단됩니다.
핵심 개념
| 필드 | 역할 |
|---|---|
autoMode.environment |
신뢰하는 repo/버킷/도메인과 조직 컨텍스트. 대부분 이것만 설정하면 됨 |
autoMode.hard_deny |
무조건 차단하는 보안 경계 (사용자 의도·allow 예외 무시) |
autoMode.soft_deny |
사용자 의도로 해제될 수 있는 파괴적 동작 차단 |
autoMode.allow |
soft_deny 규칙에 대한 예외 |
autoMode.classifyAllShell |
true면 auto mode 중 모든 Bash/PowerShell allow 규칙을 중지하고 모든 셸 명령을 분류 |
"$defaults" |
배열에 넣으면 그 위치에 기본 항목을 끼워 넣음 |
분류기가 autoMode를 읽는 scope:
| Scope | 파일 | 용도 |
|---|---|---|
| 개발자 1명 | ~/.claude/settings.json |
개인 신뢰 인프라 |
| 조직 전체 | Managed settings | 모든 개발자에 배포되는 신뢰 인프라 |
--settings 플래그 / Agent SDK |
인라인 JSON | 자동화의 호출별 override |
프로젝트 설정(.claude/settings.json, .claude/settings.local.json)의 autoMode는 읽지 않습니다. 체크인된 repo나 빌드 단계가 자기 allow 규칙을 주입할 수 있기 때문입니다. .claude/settings.local.json의 autoMode 블록은 ~/.claude/settings.json으로 옮기세요. scope별 항목은 합쳐집니다. 개발자는 environment, allow, soft_deny, hard_deny를 개인 항목으로 확장할 수 있지만 managed settings가 제공한 항목은 제거할 수 없고, allow가 soft block의 예외로 동작하므로 개발자가 추가한 allow가 조직 soft_deny를 override할 수 있습니다(가산적이며 엄격한 정책 경계가 아님). 절대 실행되면 안 되는 동작은 managed settings의 permissions.deny를 쓰세요(분류기보다 먼저 차단되고 override 불가).
상세
일반적인 경계와 사람 체크포인트
Auto mode는 작업 중인 repo의 모든 브랜치(기본 브랜치 포함)로의 push와 pull request 생성을 기본 허용합니다. production, release, gh-pages처럼 이름이 배포·게시 대상을 나타내는 기본이 아닌 브랜치는 기본 허용에서 빠지며 분류기가 production 배포 등으로 따로 판단합니다. push 내용도 여전히 검사되어 force push, 커밋에 들어간 시크릿, CI/배포 파이프라인이 실행하면 시크릿을 repo 밖으로 보낼 변경은 차단됩니다.
push와 PR 명령 앞에 사람 체크포인트를 두려면 permissions.ask를 씁니다. 내용 범위의 ask 규칙은 분류기보다 먼저 평가되어 auto mode에서도 항상 프롬프트를 띄웁니다(명시적 ask 규칙이 프롬프트를 원한다는 의사 표시이므로).
{
"permissions": {
"ask": [
"Bash(git push *)",
"Bash(gh pr create *)"
]
}
}
이 규칙은 git push 또는 gh pr create로 시작하는 명령에 매치됩니다. git -C <dir> push, git -c <key>=<value> push처럼 다르게 쓴 push는 규칙에 매치되지 않아 체크포인트가 걸리지 않으므로 전체 명령 텍스트를 검사하려면 PreToolUse hook을 추가하세요.
| 경계 | 메커니즘 | auto mode 동작 |
|---|---|---|
| 동작 전 프롬프트 | permissions.ask |
위 레시피 같은 내용 범위 규칙에 매치되는 명령은 항상 프롬프트. 분류기가 자동 승인 불가 |
| 절대 실행 안 함 | permissions.deny |
분류기 조회 전에 차단. 분류기도 사용자 의도도 override 불가 |
| 이 세션 한정 경계 | 대화로 "don't push until I review" | 분류기가 매치되는 동작을 차단하나 컨텍스트 compaction이 해당 메시지를 지우면 경계가 사라질 수 있음. 확실한 보장은 ask/deny 규칙 |
분류기는 Claude 자신이 로드하는 CLAUDE.md 내용도 읽으므로 "never force push" 같은 지시는 Claude와 분류기를 동시에 조향합니다. 프로젝트 규칙과 행동 규칙은 CLAUDE.md에서 시작하세요.
신뢰 인프라 정의 (autoMode.environment)
분류기가 "외부"의 의미를 판단하는 기준이며 목록에 없는 목적지는 잠재적 유출 대상입니다. claude auto-mode defaults는 세 종류의 environment 항목을 출력합니다.
- Context slots: 조직, 스택, 보안 자세를 설명해 분류기가 다른 규칙을 맥락에서 읽게 함. 기본은
None configured또는 옆의 보수적 가정입니다.- Organization / Primary use of Claude Code(기본 소프트웨어 개발) / Cloud provider(s)
- Repository visibility: 원격 호스트·이름이 달리 나타내거나 분류기가 앞선 대화에서 공개임을 보여주는 확인을 읽지 않는 한 비공개로 가정. Claude Code가 보내는 분류기 요청에서 분류기는 사용자 메시지와 Claude가 실행한 명령은 읽지만 출력은 읽지 않음(예: 저장소가 공개라고 말한 사용자 메시지는 근거가 되지만
gh repo view출력만으로는 분류기에 닿지 않음) - Internal sharing / snippet hosting: 이름을 지정하기 전까지 공개 paste/gist 서비스는 신뢰 경계 밖
- Org-specific CLIs / Secrets management / CI/CD deploy targets / Network posture
- Host containment: 기본은 열린 인터넷의 일반 개발자 머신 또는 CI 러너. egress allow-list가 있거나 건드리면 안 되는 이웃이 있는 컨테이너/VM/파드에서 실행하면 허용 호스트, 클라우드 metadata 엔드포인트 도달 가능 여부, 작업이 쓰는 클라우드 프로젝트·클러스터·레지스트리와 그 ID를 명시. 이 항목이 그 ID를 명명하기 전에는 분류기가 호스트 자체 자격 증명 요청을 차단합니다(2.1.257+)
- Protected deployment namespaces / environments: 명명하기 전에는 Sensitive remote targets 휴리스틱 사용
- Data retention / declassification
- Trust slots: 분류기가 경계 안으로 보는 것. Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services, Internal package registry. repo와 source-control은 작업 repo와 설정된 remote가 기본이고 나머지는
None configured라 추가하기 전엔 아무것도 신뢰하지 않습니다. repo visibility는 기밀 자료만 범위 지정하며, 비공개 repo는 기밀 자료의 허용 목적지지만 repo를 비공개로 만든다고 시크릿·개인/위탁 데이터가 정리되지는 않고, 작업 repo 밖에서 가져오거나 옮기거나 처음 읽은 콘텐츠는 그 repo 자체 작업으로 보지 않습니다. - Sensitivity slots: 보호 규칙이 고위험으로 보는 것. Sensitive data locations & audiences, Sensitive remote targets, Protected IaC scopes. 각각
prod/production이 이름에 든 호스트·네임스페이스를 민감 원격 대상으로 보는 식의 넓은 휴리스틱이 기본이라 설정 전에도 보호 규칙이 활성입니다. 구체적 대상을 명명하면 휴리스틱 대신 그 대상에 규칙이 적용됩니다.
기본 항목과 함께 쓰려면 배열에 리터럴 "$defaults"를 넣습니다(그 위치에 기본 항목이 삽입됨).
{
"autoMode": {
"environment": [
"$defaults",
"Source control: github.example.com/acme-corp and all repos under it",
"Trusted cloud buckets: s3://acme-build-artifacts, gs://acme-ml-datasets",
"Trusted internal domains: *.corp.example.com, api.internal.example.com",
"Key internal services: Jenkins at ci.example.com, Artifactory at artifacts.example.com"
]
}
}
저장 후 claude auto-mode config로 유효 규칙에 항목이 포함됐는지 확인합니다. 항목은 정규식이나 도구 패턴이 아니라 자연어 규칙입니다. 새 엔지니어에게 인프라를 설명하듯 쓰세요. 충실한 environment는 조직과 주 용도, 소스 컨트롤 org(GitHub/GitLab/Bitbucket), 클라우드 프로바이더와 신뢰 버킷, 신뢰 내부 도메인(*.internal.example.com), 핵심 내부 서비스(CI, 아티팩트 레지스트리, 내부 패키지 인덱스, 인시던트 도구), 내부 패키지 레지스트리(설치가 거쳐야 할 비공개 npm/PyPI 등, 공개 레지스트리 우회 설치를 차단), 민감 데이터 위치와 대상, 민감 원격 대상(production 네임스페이스·호스트·컨테이너, 원격 셸·포트포워드에 명시 승인 필요), 보호 IaC 범위(apply/destroy 시 항상 변경을 명명해야 하는 리소스), 규제 산업·멀티테넌트·컴플라이언스 같은 추가 컨텍스트를 다룹니다. 시작 템플릿(해당 없는 줄은 삭제):
{
"autoMode": {
"environment": [
"$defaults",
"Organization: {COMPANY_NAME}. Primary use: {PRIMARY_USE_CASE, e.g. software development, infrastructure automation}",
"Source control: {SOURCE_CONTROL, e.g. GitHub org github.example.com/acme-corp}",
"Cloud provider(s): {CLOUD_PROVIDERS, e.g. AWS, GCP, Azure}",
"Trusted cloud buckets: {TRUSTED_BUCKETS, e.g. s3://acme-builds, gs://acme-datasets}",
"Trusted internal domains: {TRUSTED_DOMAINS, e.g. *.internal.example.com, api.example.com}",
"Key internal services: {SERVICES, e.g. Jenkins at ci.example.com, Artifactory at artifacts.example.com}",
"Additional context: {EXTRA, e.g. regulated industry, multi-tenant infrastructure, compliance requirements}"
]
}
}
한 번에 다 채울 필요는 없습니다. 기본값에서 시작해 소스 컨트롤 org와 핵심 내부 서비스를 추가하면 자기 repo로의 push 같은 흔한 오탐이 해소되고, 다음으로 신뢰 도메인과 클라우드 버킷, 나머지는 차단이 생길 때 채웁니다.
/auto-mode-setup으로 environment 항목 생성
/auto-mode-setup은 프로젝트와 그 프로젝트의 최근 세션을 읽어 autoMode.environment 항목(때로 규칙 항목도)을 Claude Code가 초안으로 작성하게 합니다. 초안을 수락하면 ~/.claude/settings.json에 씁니다.
- 가용성: Pro, Max, Team, Enterprise 플랜과 Claude Console API 키. Pro/Max/Team은 v2.1.228+(네이티브 Windows는 v2.1.233+), Enterprise와 Console API 키는 v2.1.283+ 필요. 2.1.304부터 Bedrock, Vertex, Foundry, Claude apps gateway, 텔레메트리 비활성 세션에서도 사용 가능(이전에는 feature-flag fetching이 꺼진 세션에서 불가)
~/.claude/settings.json에 이미 autoMode 항목이 있으면 environment 목록에 추가할지 교체할지 먼저 묻고 어느 쪽이든 직접 쓴 규칙은 유지합니다. 이후 프로젝트 사용 방식을 묻고 스캔 전에 선택적 스캔 두 가지를 제안합니다. 스캔은 항상 다음을 읽습니다.
- 이 프로젝트의
CLAUDE.md,README.md, config 파일, git remote autoMode와permissions.allow설정- 이 프로젝트의 최근 세션에서 Claude가 실행한 명령의 호스트, 버킷, 명령 이름(사용자 메시지는 읽지 않음)
선택적 스캔은 각각 하나의 소스를 추가합니다. 셸 히스토리의 명령 첫 단어, 홈 디렉터리 아래 저장소의 원격 호스트와 이름.
백그라운드로 스캔한 뒤 초안을 보여주며 전체를 수락하거나 폐기합니다(개별 항목 조정은 이후 ~/.claude/settings.json 편집). 수락하면 기존 설정과 조정해 씁니다.
environment목록은"$defaults"없이 작성(초안이 바꾸지 않은 기본 항목을 풀어 적기 때문)- 초안이 항목을 추가하는
allow,soft_deny,hard_deny목록에는"$defaults"를 포함(이미$defaults없이allow목록을 직접 쓴 경우 제외)해 교체하지 않은 기본 규칙이 유지됨 - 저장 후
~/.claude/settings.json에서 auto mode가 무시하는permissions.allow규칙(Bash(*)등)이나 파괴적 명령을 자동 승인하는 규칙의 제거를 제안
그 뒤 claude auto-mode config로 유효 결과를 봅니다.
끄기: auto mode가 여러 동작을 차단했는데도 autoMode.environment 항목이 없으면 턴 끝에 "Teach auto mode about your environment?" 대화상자로 /auto-mode-setup 실행을 제안합니다. 제안만 끄려면 Don't show again을 선택하고, 명령과 제안을 모두 끄려면 ~/.claude/settings.json에 skillOverrides를 추가합니다.
{
"skillOverrides": {
"auto-mode-setup": "off"
}
}
/auto-mode-setup은 번들 skill이 아니라 내장 명령이지만 이 skillOverrides 항목은 적용됩니다. disableBundledSkills로는 꺼지지 않습니다.
Unknown command: /auto-mode-setup: 설치·업그레이드 후 첫 세션이면 새 세션을 시작하고, 그래도 없으면 env-vars 문서의 "first session after an install or upgrade" 항목을 보세요. 버전이 플랜별 최소 미만이면 업데이트합니다. 텔레메트리 off / 서드파티 프로바이더 / Claude apps gateway에서 v2.1.304 미만이면 사용 불가이므로 업데이트합니다. 클라우드 세션에서는 /auto-mode-setup isn't available in this environment.가 출력되며 터미널의 대화형 세션에서 실행하세요.
차단·허용 규칙 override
세 필드로 분류기의 내장 규칙 목록을 교체할 수 있습니다: autoMode.hard_deny(무조건 보안 경계), autoMode.soft_deny(사용자 의도로 해제 가능한 파괴적 동작), autoMode.allow(soft block 규칙의 예외). 각각 자연어 규칙 배열입니다. 도구 패턴 기반 hard block은 분류기 전에 실행되는 permissions.deny를 씁니다.
분류기 안의 우선순위는 4단계입니다.
hard_deny: 무조건 차단. 사용자 의도와allow예외 적용 안 됨soft_deny: 다음으로 차단. 사용자 의도와allow예외가 override 가능allow: 매치되는soft_deny규칙을 예외로 override- 명시적 사용자 의도: 사용자 메시지가 Claude가 하려는 정확한 동작을 직접·구체적으로 설명하면
soft_deny가 매치돼도 허용
일반적 요청은 명시적 의도가 아닙니다. "repo를 정리해"는 force push를 허가하지 않지만 "이 브랜치를 force-push해"는 허가합니다. 완화하려면 기본 예외가 다루지 않는 일상 패턴을 분류기가 반복해 플래그할 때 allow에 추가하고, 강화하려면 기본이 놓친 환경 특유의 파괴적 위험을 soft_deny에, 절대 넘으면 안 되는 보안 경계를 hard_deny에 추가합니다. 내장 규칙을 유지하며 추가하려면 "$defaults"를 넣어 기본 규칙이 그 위치에 삽입되고 릴리스에 따른 내장 목록 갱신을 계속 상속하게 합니다. 네 목록 모두 기본을 유지하고 각각 조직 규칙을 추가하는 예:
{
"autoMode": {
"environment": [
"$defaults",
"Source control: github.example.com/acme-corp and all repos under it"
],
"allow": [
"$defaults",
"Deploying to the staging namespace is allowed: staging is isolated from production and resets nightly",
"Writing to s3://acme-scratch/ is allowed: ephemeral bucket with a 7-day lifecycle policy"
],
"soft_deny": [
"$defaults",
"Never run database migrations outside the migrations CLI, even against dev databases",
"Never modify files under infra/terraform/prod/: production infrastructure changes go through the review workflow"
],
"hard_deny": [
"$defaults",
"Never send repository contents to third-party code-review APIs"
]
}
}
주의:
environment,allow,soft_deny,hard_deny중 하나를"$defaults"없이 설정하면 그 섹션의 기본 목록 전체가 교체됩니다.soft_deny면 force push,curl | bash, production 배포, auto-mode 우회를 포함한 모든 내장 soft block 규칙이,hard_deny면 내장 데이터 유출 규칙이 사라집니다.
섹션은 독립적으로 평가되므로 environment만 설정해도 기본 allow, soft_deny, hard_deny는 그대로입니다. 목록을 완전히 소유하려는 경우에만 "$defaults"를 생략하고, 안전하게 하려면 claude auto-mode defaults로 내장 규칙을 출력해 settings 파일에 복사하고 각 규칙을 자기 파이프라인과 위험 허용도에 맞게 검토하세요.
/permissions에서 규칙 편집 (2.1.246+)
/permissions의 Auto mode 탭에서 분류기 규칙과 environment 항목을 설정 파일 없이 보고 편집합니다. 이 탭은 auto mode를 쓸 수 있는 세션에만 나타나며, managed settings 또는 --settings 플래그의 항목은 읽기 전용이고 탭에서의 모든 변경은 ~/.claude/settings.json에 저장됩니다.
모든 셸 명령을 분류기로
기본으로 Bash(npm test) 같은 좁은 Bash/PowerShell allow 규칙은 auto mode에서도 유지되어 분류기보다 먼저 해결됩니다(명령별 allowed domains가 있는 명령 제외). Claude Code가 중지하는 것은 임의 코드 실행을 허용하는 Bash(*)나 와일드카드 인터프리터 같은 넓은 규칙과, Monitor 명령이 셸을 거치므로 Monitor를 명명한 모든 규칙뿐입니다. 따라서 규칙의 접두사가 예상하지 못한 스크립트 경로나 플래그 같은 파괴적 인자가 분류기 검토 없이 통과할 수 있습니다. autoMode.classifyAllShell을 true로 두면 auto mode가 활성인 동안 모든 Bash/PowerShell allow 규칙을 중지해 critical-path 제거를 제외한 모든 셸 명령을 분류기가 평가합니다.
{
"autoMode": {
"classifyAllShell": true
}
}
지연을 대가로 커버리지를 얻습니다. allow 규칙이 즉시 승인하던 명령이 분류기 판정을 기다리고 각 셸 명령이 분류기 호출 1회로 집계됩니다. auto mode가 활성일 때만 적용되며 다른 permission mode에서 allow 규칙은 정상 동작합니다.
기본값과 유효 설정 확인 (claude auto-mode)
내장 environment, allow, soft_deny, hard_deny 규칙을 JSON으로 출력:
claude auto-mode defaults
한 규칙의 전문은 --label에 규칙 라벨의 앞부분을 전달해 jq 없이 읽습니다(예: claude auto-mode defaults --label 'Git Destructive'). 라벨 접두사 대소문자 무시 매치이고 매치 없는 섹션은 빈 목록으로 출력됩니다.
설정을 적용한 분류기의 실제 사용 규칙(설정한 곳은 설정값, 아니면 기본값):
claude auto-mode config
defaults와 config 모두 네 규칙 목록을 prose 문자열 규칙의 단일 JSON 객체로 출력합니다(allow, soft_deny, hard_deny, environment; 공식 문서의 예시는 일부만 보여줌).
커스텀 allow, soft_deny, hard_deny, environment 항목에 대한 AI 피드백:
claude auto-mode critique
직접 쓴 규칙을 검토해 모호하거나 중복되거나 오탐을 낼 가능성이 있는 항목을 표시합니다. 커스터마이징을 버리고 내장 기본으로 돌아가려면 사용자 설정 파일에서 autoMode 섹션을 제거하는 reset 서브커맨드:
claude auto-mode reset
제거할 내용을 요약하고 Reset auto mode configuration to defaults?를 묻습니다. --yes로 확인을 건너뜁니다. reset은 ~/.claude/settings.json만 바꾸며 managed settings나 --settings의 autoMode 규칙은 계속 적용됩니다.
거부 검토
분류기가 거부한 동작은 /permissions의 Recently denied 탭에 기록됩니다. 거부된 동작에서 r을 누르면 재시도로 표시되고, 대화상자를 나갈 때 Claude Code가 모델에 해당 도구 호출을 재시도해도 된다는 메시지를 보내 대화를 재개합니다(2.1.307+: 거부된 셸 명령이 표시되고 재시도 시 로컬 분류기가 그 승인을 반영하며 승인 행에 설명이 아니라 명령이 나옴). 분류기가 동작에 대한 판정 없음을 낸 경우(auto mode와 별개의 안전 검사가 분류기 요청을 거부했거나 응답이 파싱되지 않음) Claude Code는 동작을 거부하되 Recently denied에는 기록하지 않습니다.
bash denied by auto mode · [Data Exfiltration] · /permissions 같은 알림 뒤의 명령·URL은 다음에서 확인합니다.
- Recently denied 탭:
/permissions대화상자에서 거부된 Bash/PowerShell 동작을 하이라이트하면 목록 아래에 명령이 표시됩니다(screen reader 모드에서는 목록 앞에 모든 명령 표시) - Hook:
PermissionDeniedhook이tool_input으로 정확한 입력을 받음 - 대화: 도구 호출을 찾고
Ran 3 shell commands같은 요약 줄로 접혔으면Ctrl+O로 transcript viewer를 열어 펼침
호출 아래 텍스트가 고칠 것이 있는지 알려 줍니다. 흐린 Not run · auto mode's check had no usable answer 행이나 Auto mode could not evaluate this action 같은 분류기 자체 문제는 분류기 판정 없이 호출이 차단된 것입니다(Not run 행은 Ctrl+O로 전체 메시지를 읽고 errors 문서의 "Auto mode cannot determine the safety of an action" 또는 "The server returned no safety verdict" 참고). 그 외 Denied by auto mode classifier + [Production Deploy] 같은 이유 또는 Blocked by classifier는 분류기가 안전하지 않다고 판단한 것이므로 호출이 닿으려던 대상에 맞춰 고칩니다.
- 작업 내내 Claude가 필요한 목적지(패키지 레지스트리, 내부 도메인, 저장소 호스트):
autoMode.environment에 추가 - 지금부터 검토 없이 실행하려는 명령:
allow규칙 추가 - 의도한 일회성 동작: 다음 메시지에 의도를 밝히고 Claude가 재시도하게 함
환경 항목이나 allow 규칙은 /permissions 대화상자의 Auto mode 탭에서 추가할 수 있습니다. 대괄호 안 [Data Exfiltration]은 매치된 규칙 이름이며 전문은 claude auto-mode defaults로 읽습니다. 같은 목적지에 대한 반복 거부는 대개 분류기에 컨텍스트가 없다는 뜻입니다. 그 목적지를 autoMode.environment에 추가하거나 /auto-mode-setup으로 초안을 만든 뒤 claude auto-mode config로 반영을 확인하세요.
분류기 요청 과금 알림
Auto mode에서 분류기는 셸 명령, 네트워크 요청 같은 동작을 실행 전에 검사합니다. 서버 측 검사가 켜진 곳에서는 서버가 세션 자체의 모델 요청의 일부로 무료로 검사합니다. 아래 알림은 서버의 검사가 세션에 닿지 않아 Claude Code가 자체 분류기 요청을 보내며 그 요청이 계정의 토큰 사용량에 집계된다는 뜻입니다.
We're changing auto mode to no longer charge for classifier requests in Claude Code. However, this session isn't eligible.
프롬프트에서 Claude Code는 이렇게 검사하려던 첫 동작을 답할 때까지 보류합니다. auto mode는 계속 동작하며 분류기 요청은 이전처럼 과금됩니다. 가장 흔한 원인은 Claude Code와 API 사이의 LLM gateway/proxy이며, 식별되면 알림이 이름을 명시합니다.
알림에 응답:
- Enter: 보류된 동작과 세션 나머지가 Claude Code 자체 분류기 요청(토큰 사용량으로 과금)을 쓰고 그 세션에서 알림이 다시 안 뜸. 알림이 gateway를 명명했다면 확인 시 이 머신에서 24시간 동안 다시 안 뜸. 명명하지 않았다면 다음 폴백 때 다시 뜸
- Esc / Ctrl+C: 보류 동작이 실행되지 않고 현재 턴이 멈추며 세션은 auto mode 유지. 기억하지 않아 다음 검사 동작 전에 다시 뜸
auto mode 사용을 멈추려면 응답 후 Shift+Tab으로 permission mode를 전환합니다. 알림이 응답을 기다릴 수 없는 곳(-p 비대화형 모드는 stderr에 텍스트 출력, stream-json 출력은 system warning 메시지 방출로 Agent SDK 앱이 스트림에서 읽음)에서는 같은 텍스트를 보고하고 auto mode로 계속하며, 이 머신에서 24시간 이내 gateway 확인이 있었다면 억제됩니다.
세션을 자격 있게 만들기: gateway가 원인이면 회사 관리자나 gateway 제공자에게 요청·응답을 변경 없이 통과시키도록 요청합니다. 요청 헤더와 본문 필드를 그대로 전달(safeguards 요청 필드처럼 gateway가 모르는 것 포함)하고 응답·스트리밍 이벤트에서 safeguard_results 필드 같은 키를 빼거나 tool-use ID를 재작성하지 않는 것입니다(gateway 호환 가이드). 이렇게 통과시키는 gateway는 이 기능과 이후 기능에서도 계속 동작하며 새 세션은 서버 검사를 다시 사용합니다. gateway가 서버 검사를 제공할 수 없음을 이미 안다면 세션 시작 전에 셸 또는 env 설정 키에서 CLAUDE_CODE_AUTO_MODE_SERVER를 0으로 설정합니다.
export CLAUDE_CODE_AUTO_MODE_SERVER=0
그러면 분류기 요청은 항상 Claude Code 자체 요청이고 같은 방식으로 과금되며 알림이 뜨지 않습니다. Anthropic API 직접 연결에서는 이 변수에 **v2.1.281+**가 필요합니다. CLAUDE_CODE_AUTO_MODE_SERVER가 unset인 채 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1을 설정해도 서버 검사가 꺼집니다(예외는 gateway 호환 가이드의 "Disable pre-release capabilities"). CLAUDE_CODE_AUTO_MODE_SERVER는 임시 설정이며 이후 릴리스에서 제거될 수 있습니다.
알림이 뜨는 이유: Pro, Max, Team 플랜은 알림이 뜨지 않습니다. 원인은 보통 다음 둘입니다.
- LLM gateway/proxy가 경로에 있음: 요청 헤더를 제거·재작성하거나, 모르는 요청 필드를 버리거나, 응답을 편집하는 경우입니다. 서버가 검사 요청을 못 받거나 Claude Code가 결과를 못 받습니다. 설정이나 응답이 gateway를 식별하면 알림이 이름을 명시합니다.
- 서버 측 검사가 아직 플랫폼·리전·자격 증명에 도달하지 않음: 플랫폼이나 리전이 검사를 수행하는지는 그 플랫폼의 롤아웃에 달렸습니다. gateway/proxy가 경로에 없는데 계속 뜬다면 이 원인일 가능성이 높으며 지원팀·관리자에게 문의하거나
/feedback으로 보고합니다.
auto mode 세션은 /status의 Auto mode server 행으로 확인합니다. 서버 검사가 세션 동작을 결정하는 동안 Enabled, 폴백한 뒤 Disabled입니다. gateway가 응답을 중간에 끊거나 Claude Code가 읽을 수 없는 형태로 결과를 재작성하면 이 알림 대신 판정 없는 거부가 나옵니다(Server-side classifier review 참고).
버전별 참고
- 2.1.246:
/permissions의 Auto mode 탭 - 2.1.257: Containment Escape 규칙(클라우드 metadata 자격 증명 fetch, egress 회피, cross-tenant 도달은 환경이 예상된 것으로 표시하지 않는 한 자동 승인 안 됨), Host containment environment 슬롯
- 2.1.278:
/status의Auto mode server행, Claude API·Enterprise와 Bedrock/Vertex/Foundry/gateway에서 서버 측 분류기 기본(분류기 오버헤드 무과금) - 2.1.281:
CLAUDE_CODE_AUTO_MODE_SERVER가 Anthropic API 직접 연결에도 적용(0opt-out,1opt-in) - 2.1.302:
CLAUDE_CODE_AUTO_MODE_MODEL로 클라이언트 측 auto mode 분류기 모델 선택(서버 측에는 영향 없음) - 2.1.304:
/auto-mode-setup이 Bedrock/Vertex/Foundry/Claude apps gateway/텔레메트리 비활성 세션에서도 사용 가능 - 2.1.307:
claude_code.safety_eventOpenTelemetry 이벤트