autoMode 설정 블록을 사용하여 분류기에 조직이 신뢰하는 저장소, 버킷 및 도메인을 알려주면, 분류기가 일상적인 내부 작업 차단을 중지합니다.
자동 모드는 Anthropic API의 모든 사용자가 사용할 수 있습니다. Amazon Bedrock, Google Cloud Vertex AI 및 Microsoft Foundry에서는 먼저
CLAUDE_CODE_ENABLE_AUTO_MODE를 설정해야 합니다. Claude Code가 계정에서 자동 모드를 사용할 수 없다고 보고하는 경우, 전체 요구사항을 확인하세요. 여기에는 지원되는 모델과 Team 및 Enterprise 플랜의 관리자 활성화도 포함됩니다.autoMode.environment에 추가할 때까지 차단됩니다.
자동 모드를 활성화하는 방법과 기본적으로 차단되는 항목에 대해서는 권한 모드를 참조하세요. 이 페이지는 구성 참조입니다.
이 페이지에서 다루는 내용:
- 규칙을 설정할 위치 선택 - CLAUDE.md, 사용자 설정 및 관리 설정 전체
- 신뢰할 수 있는 인프라 정의 -
autoMode.environment사용 - 차단 및 허용 규칙 재정의 - 기본값이 파이프라인에 맞지 않을 때
- 유효한 구성 검사 -
claude auto-mode하위 명령 사용 - 거부 검토 - 다음에 추가할 항목 파악
분류기가 구성을 읽는 위치
분류기는 Claude 자체가 로드하는 동일한 CLAUDE.md 콘텐츠를 읽으므로, 프로젝트의 CLAUDE.md에 있는 “절대 강제 푸시하지 마세요”와 같은 지시사항은 Claude와 분류기를 동시에 제어합니다. 프로젝트 규칙과 동작 규칙은 여기서 시작하세요. 신뢰할 수 있는 인프라나 조직 전체 거부 규칙과 같이 여러 프로젝트에 적용되는 규칙의 경우autoMode 설정 블록을 사용하세요. 분류기는 다음 범위에서 autoMode를 읽습니다:
| 범위 | 파일 | 용도 |
|---|---|---|
| 한 명의 개발자 | ~/.claude/settings.json | 개인 신뢰할 수 있는 인프라 |
| 한 프로젝트, 한 명의 개발자 | .claude/settings.local.json | 프로젝트별 신뢰할 수 있는 버킷 또는 서비스, gitignored |
| 조직 전체 | 관리 설정 | 모든 개발자에게 배포된 신뢰할 수 있는 인프라 |
--settings 플래그 또는 Agent SDK | 인라인 JSON | 자동화를 위한 호출별 재정의 |
.claude/settings.json의 공유 프로젝트 설정에서 autoMode를 읽지 않으므로, 체크인된 저장소는 자체 허용 규칙을 주입할 수 없습니다.
각 범위의 항목이 결합됩니다. 개발자는 개인 항목으로 environment, allow, soft_deny, hard_deny를 확장할 수 있지만 관리 설정이 제공하는 항목을 제거할 수 없습니다. 허용 규칙이 분류기 내의 차단 규칙에 대한 예외로 작동하기 때문에, 개발자가 추가한 allow 항목은 조직의 soft_deny 항목을 재정의할 수 있습니다. 조합은 가산적이며, 하드 정책 경계가 아닙니다.
분류기는 권한 시스템 이후에 실행되는 두 번째 게이트입니다. 사용자 의도나 분류기 구성에 관계없이 절대 실행되어서는 안 되는 작업의 경우, 관리 설정에서
permissions.deny를 사용하세요. 이는 분류기가 참조되기 전에 작업을 차단하며 재정의될 수 없습니다.신뢰할 수 있는 인프라 정의
대부분의 조직에서autoMode.environment는 설정해야 하는 유일한 필드입니다. 분류기에 신뢰할 수 있는 저장소, 버킷 및 도메인을 알려줍니다. 분류기는 이를 사용하여 “외부”가 무엇을 의미하는지 결정하므로, 나열되지 않은 모든 대상은 잠재적 정보 유출 대상입니다.
기본 환경 목록은 작업 저장소와 그 구성된 원격 저장소를 신뢰합니다. 기본값과 함께 자신의 항목을 추가하려면 배열에 리터럴 문자열 "$defaults"를 포함하세요. 기본 항목은 해당 위치에 삽입되므로, 사용자 정의 항목은 기본값 앞이나 뒤에 올 수 있습니다.
- 조직: 회사 이름 및 Claude Code가 주로 사용되는 용도(예: 소프트웨어 개발, 인프라 자동화 또는 데이터 엔지니어링)
- 소스 제어: 개발자가 푸시하는 모든 GitHub, GitLab 또는 Bitbucket 조직
- 클라우드 제공자 및 신뢰할 수 있는 버킷: Claude가 읽고 쓸 수 있어야 하는 버킷 이름 또는 접두사
- 신뢰할 수 있는 내부 도메인: 네트워크 내부의 API, 대시보드 및 서비스에 대한 호스트명(예:
*.internal.example.com) - 주요 내부 서비스: CI, 아티팩트 레지스트리, 내부 패키지 인덱스, 인시던트 도구
- 추가 컨텍스트: 규제 산업 제약, 다중 테넌트 인프라 또는 분류기가 위험으로 취급해야 할 사항에 영향을 미치는 규정 준수 요구사항
차단 및 허용 규칙 재정의
세 개의 추가 필드를 사용하여 분류기의 기본 제공 규칙 목록을 바꿀 수 있습니다:autoMode.hard_deny는 무조건적인 보안 경계를 위한 것이고, autoMode.soft_deny는 사용자 의도로 해제할 수 있는 파괴적인 작업을 위한 것이며, autoMode.allow는 예외를 위한 것입니다. 각각은 자연어 규칙으로 읽히는 산문 설명의 배열입니다. 분류기 이전에 실행되는 도구 패턴 기반의 하드 블록의 경우 permissions.deny를 사용하세요.
분류기 내에서 우선순위는 네 가지 계층으로 작동합니다:
hard_deny규칙은 무조건적으로 차단합니다. 사용자 의도와allow예외는 적용되지 않습니다.soft_deny규칙이 다음으로 차단합니다. 사용자 의도와allow예외가 이를 재정의할 수 있습니다.allow규칙이 일치하는soft_deny규칙을 예외로 재정의합니다.- 명시적 사용자 의도가 나머지 소프트 블록을 재정의합니다: 사용자의 메시지가 Claude가 수행하려는 정확한 작업을 직접적이고 구체적으로 설명하면,
soft_deny규칙이 일치하더라도 분류기가 이를 허용합니다.
allow에 추가하세요. 더 엄격하게 하려면, 기본값이 놓친 환경에 특정한 파괴적 위험에 대해 soft_deny에 추가하거나, 절대 넘어서는 안 되는 보안 경계에 대해 hard_deny에 추가하세요.
기본 제공 규칙을 유지하면서 자신의 규칙을 추가하려면 배열에 리터럴 문자열 "$defaults"를 포함하세요. 기본 규칙이 해당 위치에 삽입되므로, 사용자 정의 규칙이 앞이나 뒤에 올 수 있으며, 릴리스 전반에 걸쳐 기본 제공 목록이 변경되면서 업데이트를 계속 상속받습니다.
environment, allow, soft_deny 또는 hard_deny 중 하나를 "$defaults" 없이 설정하면 해당 섹션의 전체 기본 목록이 바뀝니다. "$defaults"가 없는 soft_deny 배열은 강제 푸시, curl | bash, 프로덕션 배포를 포함한 모든 기본 제공 소프트 블록 규칙을 버립니다. "$defaults"가 없는 hard_deny 배열은 기본 제공 데이터 유출 및 안전 검사 우회 규칙을 버립니다.environment만 설정하면 기본 allow, soft_deny 및 hard_deny 목록은 그대로 유지됩니다. "$defaults"를 생략하는 것은 목록의 전체 소유권을 가질 의도가 있을 때만 하세요. 이 경우 claude auto-mode defaults를 실행하여 기본 제공 규칙을 인쇄하고, 설정 파일에 복사한 다음, 각 규칙을 자신의 파이프라인 및 위험 허용도와 비교하여 검토하세요.
기본값 및 유효한 구성 검사
세 가지 CLI 하위 명령이 구성을 검사하고 유효성을 검사하는 데 도움이 됩니다. 기본 제공environment, allow, soft_deny 및 hard_deny 규칙을 JSON으로 인쇄합니다:
allow, soft_deny 및 hard_deny 규칙에 대한 AI 피드백을 받습니다:
claude auto-mode config를 실행하여 유효한 규칙이 예상한 것인지 확인하세요. "$defaults"가 제자리에 확장됩니다. 사용자 정의 규칙을 작성한 경우 claude auto-mode critique가 이를 검토하고 모호하거나 중복되거나 거짓 양성을 유발할 가능성이 있는 항목을 플래그합니다. 기본 제공 규칙을 추가하는 대신 제거하거나 다시 작성해야 하는 경우 claude auto-mode defaults의 출력을 파일에 저장하고, 목록을 편집한 다음, 결과를 설정 파일에 "$defaults" 대신 붙여넣으세요.
거부 검토
자동 모드가 도구 호출을 거부하면, 거부는/permissions 아래의 최근 거부 탭에 기록됩니다. 거부된 작업에서 r을 누르면 재시도 표시됩니다: 대화 상자를 종료하면 Claude Code가 모델에 해당 도구 호출을 재시도할 수 있음을 알리는 메시지를 보내고 대화를 재개합니다.
동일한 대상에 대한 반복된 거부는 일반적으로 분류기가 컨텍스트를 놓치고 있음을 의미합니다. 해당 대상을 autoMode.environment에 추가한 다음 claude auto-mode config를 실행하여 적용되었는지 확인하세요.
거부에 프로그래밍 방식으로 반응하려면 PermissionDenied 훅을 사용하세요.