SpyBara
Go Premium

Documentation 2026-11-01 23:57 UTC to 2026-11-02 23:57 UTC

43 files changed +761 −287. View all changes and history on the product overview
2026
Thu 12 21:00 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

20>20>

21> SDK가 모델링하는 청구 규칙 중 하나는 [데이터 거주지 가격 책정](https://platform.claude.com/docs/en/about-claude/pricing#data-residency-pricing)입니다. 응답의 `usage`가 `inference_geo: "us"`를 보고할 때, SDK는 해당 응답의 토큰 정가에 1.1을 곱합니다. 웹 검색과 같은 요청별 수수료는 곱해지지 않습니다. TypeScript Agent SDK v0.3.239 이상 또는 Python Agent SDK v0.2.144 이상이 필요합니다.21> SDK가 모델링하는 청구 규칙 중 하나는 [데이터 거주지 가격 책정](https://platform.claude.com/docs/en/about-claude/pricing#data-residency-pricing)입니다. 응답의 `usage`가 `inference_geo: "us"`를 보고할 때, SDK는 해당 응답의 토큰 정가에 1.1을 곱합니다. 웹 검색과 같은 요청별 수수료는 곱해지지 않습니다. TypeScript Agent SDK v0.3.239 이상 또는 Python Agent SDK v0.2.144 이상이 필요합니다.

22>22>

23> 이러한 필드는 개발 통찰력 및 대략적인 예산 책정을 위해 사용하십시오. 권위 있는 청구를 위해서는 [사용량 및 비용 API](https://platform.claude.com/docs/en/build-with-claude/usage-cost-api) 또는 [Claude 콘솔](https://platform.claude.com/usage)의 사용량 페이지를 사용하십시오. 이러한 필드에서 최종 사용자에게 청구하거나 재정적 결정을 내리지 마십시오.23> 이러한 필드는 개발 통찰력 및 대략적인 예산 책정을 위해 사용하십시오. 권위 있는 청구 정보는 [조직의 비용 관리](https://code.claude.com/docs/ko/costs.md#manage-costs-for-your-organization)를 참조하십시오. 이러한 필드에서 최종 사용자에게 청구하거나 재정적 결정을 내리지 마십시오.

24 24 

25## 토큰 사용량 이해하기25## 토큰 사용량 이해하기

26 26 

Details

52 52 

53애플리케이션이 Agent SDK를 자체 종속성과 함께 번들로 제공하는 경우 패키지 루트 대신 `@anthropic-ai/claude-agent-sdk/core`에서 가져오세요. `/core` 항목은 TypeScript Agent SDK v0.3.282 이상이 필요하며, 해당 타입은 TypeScript 5.0 이상이 필요합니다.53애플리케이션이 Agent SDK를 자체 종속성과 함께 번들로 제공하는 경우 패키지 루트 대신 `@anthropic-ai/claude-agent-sdk/core`에서 가져오세요. `/core` 항목은 TypeScript Agent SDK v0.3.282 이상이 필요하며, 해당 타입은 TypeScript 5.0 이상이 필요합니다.

54 54 

55`/core` 항목은 루트 항목과 동일한 `query()`, `startup()`, `tool()`, `createSdkMcpServer()`, `resolveSettings()`를 내보내며, 세션을 이름 바꾸기, 태그 지정 및 삭제하는 함수, `AbortError`, 런타임 상수 및 모든 타입을 내보냅니다. 자체 이름을 추가하지 않습니다. 애플리케이션이 로드하는 코드를 작게 유지하기 위해 `/core`는 `prewarm()`, `InMemorySessionStore` 클래스, 세션을 나열, 읽기, 포크, 가져오기 및 요약하는 헬퍼를 포함한 일부 루트 내보내기를 제외합니다. 이 중 하나가 필요한 경우 대신 루트 항목을 사용하세요.55애플리케이션이 로드하는 코드를 작게 유지하기 위해 `/core` 항목은 일부 루트 내보내기를 제외합니다:

56 

57* **내보내는 항목**: 루트 항목과 동일한 `query()`, `startup()`, [`prewarm()`](#prewarm), `tool()`, `createSdkMcpServer()`, `resolveSettings()`와 함께 세션 이름 바꾸기, 태그 지정 및 삭제 함수, `AbortError`, 런타임 상수 및 모든 타입을 내보냅니다. `/core`에서 알파 버전의 `prewarm()`을 가져오려면 Agent SDK v0.3.314 이상이 필요합니다.

58* **제외되는 항목**: `InMemorySessionStore` 클래스, 세션을 나열, 읽기, 포크, 가져오기 및 요약하는 헬퍼를 포함한 루트 내보내기입니다. 이 중 하나가 필요한 경우 대신 루트 항목을 사용하세요.

56 59 

57루트 항목은 `zod` 및 `@modelcontextprotocol/sdk`의 자체 복사본을 인라인합니다. `/core` 항목은 Agent SDK의 `peerDependencies`가 선언하는 범위에서 `node_modules`에서 이들을 가져오므로, 이미 포함된 번들은 두 번째 복사본을 전달하지 않습니다. 주어진 프로세스에서 루트 또는 `/core` 중 하나에서 가져오세요. 둘 다에서 가져오지 마세요. 이들은 별도의 번들이며, 둘 다 로드하면 Agent SDK의 클래스 및 상태의 두 복사본을 얻게 됩니다.60루트 항목은 `zod` 및 `@modelcontextprotocol/sdk`의 자체 복사본을 인라인합니다. `/core` 항목은 Agent SDK의 `peerDependencies`가 선언하는 범위에서 `node_modules`에서 이들을 가져오므로, 이미 포함된 번들은 두 번째 복사본을 전달하지 않습니다. 주어진 프로세스에서 루트 또는 `/core` 중 하나에서 가져오세요. 둘 다에서 가져오지 마세요. 이들은 별도의 번들이며, 둘 다 로드하면 Agent SDK의 클래스 및 상태의 두 복사본을 얻게 됩니다.

58 61 


2002 2005 

2003* Claude Code가 [세션을 해당 worktree로 되돌릴 수 없어](https://code.claude.com/docs/ko/worktrees.md#the-session-resumes-outside-its-worktree) 중단한 재개로, `worktree_unverified` 또는 `worktree_resume_refused`를 가집니다. 어떤 오류가 어떤 값을 가지는지는 해당 섹션에 설명되어 있습니다.2006* Claude Code가 [세션을 해당 worktree로 되돌릴 수 없어](https://code.claude.com/docs/ko/worktrees.md#the-session-resumes-outside-its-worktree) 중단한 재개로, `worktree_unverified` 또는 `worktree_resume_refused`를 가집니다. 어떤 오류가 어떤 값을 가지는지는 해당 섹션에 설명되어 있습니다.

2004* 백그라운드 세션이 보유한 대화에 대한 거부된 [`continue`](#options)로, `session_held_by_background`를 가집니다. 그러한 대화에 대한 거부된 [`resume`](#options)의 경우, Claude Code는 변수가 설정된 경우에만 결과를 기록합니다.2007* 백그라운드 세션이 보유한 대화에 대한 거부된 [`continue`](#options)로, `session_held_by_background`를 가집니다. 그러한 대화에 대한 거부된 [`resume`](#options)의 경우, Claude Code는 변수가 설정된 경우에만 결과를 기록합니다.

2008* [`failIfUnavailable`](#sandboxsettings)이 켜져 있고 샌드박스를 시작할 수 없어 Claude Code가 거부한 시작으로, `sandbox_required_unavailable`을 가집니다.

2009 

2010`SDKStartupFailureReason` 타입은 `startup_failure_reason`이 가질 수 있는 값을 나열합니다.

2005 2011 

2006```typescript theme={null}2012```typescript theme={null}

2007type SDKStartupFailureReason =2013type SDKStartupFailureReason =


2023 | "cli_version_too_old"2029 | "cli_version_too_old"

2024 | "bypass_root"2030 | "bypass_root"

2025 | "org_config_required_unavailable"2031 | "org_config_required_unavailable"

2026 | "org_config_refused";2032 | "org_config_refused"

2033 | "sandbox_required_unavailable";

2027```2034```

2028 2035 

2029각 값은 하나의 거부 사유를 나타냅니다.2036각 값은 하나의 거부 사유를 나타냅니다.


2049| `bypass_root` | root로 실행 중인 상태에서 bypass permissions 모드가 요청되었습니다 |2056| `bypass_root` | root로 실행 중인 상태에서 bypass permissions 모드가 요청되었습니다 |

2050| `org_config_required_unavailable` | 세션을 시작하려면 조직의 정책과 관리형 설정이 필요한데, 네트워크 장애나 Anthropic 서버 오류 등으로 인해 로드할 수 없습니다. Agent SDK v0.3.293 이상이 필요합니다 |2057| `org_config_required_unavailable` | 세션을 시작하려면 조직의 정책과 관리형 설정이 필요한데, 네트워크 장애나 Anthropic 서버 오류 등으로 인해 로드할 수 없습니다. Agent SDK v0.3.293 이상이 필요합니다 |

2051| `org_config_refused` | 로그인이 만료되었거나 취소되었거나, 조직이 이 계정에 Claude Code를 허용하지 않는 등의 이유로 Anthropic이 이 로그인에 대해 조직의 정책과 관리형 설정 제공을 거부했습니다. Agent SDK v0.3.293 이상이 필요합니다 |2058| `org_config_refused` | 로그인이 만료되었거나 취소되었거나, 조직이 이 계정에 Claude Code를 허용하지 않는 등의 이유로 Anthropic이 이 로그인에 대해 조직의 정책과 관리형 설정 제공을 거부했습니다. Agent SDK v0.3.293 이상이 필요합니다 |

2059| `sandbox_required_unavailable` | [`failIfUnavailable`](#sandboxsettings)이 켜져 있고 샌드박스를 시작할 수 없습니다. `errors`의 텍스트는 `Set sandbox.failIfUnavailable=false to allow unsandboxed execution.`으로 끝납니다. Agent SDK v0.3.314 이상이 필요합니다 |

2052 2060 

2053### `SDKSystemMessage`2061### `SDKSystemMessage`

2054 2062 

Details

308 308 

309Claude Code가 Amazon Bedrock으로 구성되어 시작될 때, 사용하려는 모델이 계정에서 액세스 가능한지 확인합니다.309Claude Code가 Amazon Bedrock으로 구성되어 시작될 때, 사용하려는 모델이 계정에서 액세스 가능한지 확인합니다.

310 310 

311이전 Claude Code 기본값보다 오래된 모델 버전을 고정했으며 계정에서 최신 버전을 호출할 수 있는 경우, Claude Code는 핀을 업데이트하도록 요청합니다. 수락하면 새 모델 ID가 [사용자 설정 파일](https://code.claude.com/docs/ko/settings.md)에 기록되고 Claude Code가 다시 시작됩니다. 거절하면 다음 기본 버전 변경까지 기억됩니다. [애플리케이션 추론 프로필 ARN](#map-each-model-version-to-an-inference-profile)을 가리키는 핀은 관리자가 관리하므로 건너뜁니다.311현재 Claude Code 기본값보다 오래된 모델 버전을 고정했을 수 있습니다. 계정에서 최신 버전을 호출할 수 있는 경우, Claude Code는 핀을 업데이트할지 묻습니다. 수락하면 새 모델 ID가 [사용자 설정 파일](https://code.claude.com/docs/ko/settings.md)에 기록되고 Claude Code가 다시 시작됩니다. 거절하면 다음 기본 버전 변경까지 기억됩니다.

312 

313Claude Code는 다음 핀에 대해서는 확인하거나 묻지 않습니다.

314 

315* [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)의 `env` 블록에 있는 핀

316* [애플리케이션 추론 프로필 ARN](#map-each-model-version-to-an-inference-profile)을 가리키는 핀(관리자가 관리하므로)

312 317 

313모델을 고정하지 않았으며 현재 기본값을 계정에서 사용할 수 없는 경우, Claude Code는 현재 세션에 대해 폴백하고 알림을 표시합니다. 먼저 기본 모델의 이전 버전을 시도하고, 기본값이 Opus 모델이며 사용 가능한 Opus 버전이 없을 때 기본 Sonnet 모델로 폴백합니다. 폴백은 유지되지 않습니다. Amazon Bedrock 계정에서 최신 모델을 활성화하거나 [버전을 고정](#4-pin-model-versions)하여 선택을 영구적으로 만듭니다.318모델을 고정하지 않았으며 현재 기본값을 계정에서 사용할 수 없는 경우, Claude Code는 현재 세션에 대해 폴백하고 알림을 표시합니다. 먼저 기본 모델의 이전 버전을 시도하고, 기본값이 Opus 모델이며 사용 가능한 Opus 버전이 없을 때 기본 Sonnet 모델로 폴백합니다. 폴백은 유지되지 않습니다. Amazon Bedrock 계정에서 최신 모델을 활성화하거나 [버전을 고정](#4-pin-model-versions)하여 선택을 영구적으로 만듭니다.

314 319 

315특정 Sonnet 또는 Opus 버전에서 세션을 시작할 때(예: `--model`, `ANTHROPIC_MODEL` 또는 [`model` 설정](https://code.claude.com/docs/ko/settings-reference#model)을 사용하여), 해당 버전은 일치하는 `sonnet` 또는 `opus` 별칭에 대한 세션의 고정된 기본값으로 작동합니다. Claude Code는 모델이 대체하는 기본 제공 기본값에 대한 가용성 확인을 건너뛰고 구성한 모델에서 시작하며, 폴백 알림이 없습니다.320특정 Sonnet 또는 Opus 버전에서 세션을 시작할 때(예: `--model`, `ANTHROPIC_MODEL` 또는 [`model` 설정](https://code.claude.com/docs/ko/settings-reference#model)을 사용하여), 해당 버전은 일치하는 `sonnet` 또는 `opus` 별칭에 대한 세션의 고정된 기본값으로 작동합니다. Claude Code는 모델이 대체하는 기본 제공 기본값에 대한 가용성 확인을 건너뛰고 구성한 모델에서 시작하며, 폴백 알림이 없습니다.

316 321 

317`opus`와 같은 모델 별칭은 핀으로 작동하지 않으며, Claude Code가 인식하지 못하는 모델 ID(예: 애플리케이션 추론 프로필 ARN)도 마찬가지입니다.322다음은 세션을 시작할 때 핀으로 작동하지 않습니다.

323 

324* `opus`와 같은 모델 별칭

325* Claude Code가 인식하지 못하는 모델 ID(예: 애플리케이션 추론 프로필 ARN)

318 326 

319이러한 확인에서 계정이 호출할 수 없는 모델을 찾으면, Claude Code는 이 머신에서 최대 하루 동안 거부를 기억하고, 그 시간 동안 기억된 모델을 건너뛰고 Amazon Bedrock에 다시 요청하지 않고 시작합니다. Claude Code는 마지막 확인 이후 10분이 경과하면 현재 기본 모델의 기억된 거부를 시작 시 다시 확인하므로, 관리자가 다시 활성화한 기본값이 돌아옵니다. 메모리를 끄려면 [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](https://code.claude.com/docs/ko/env-vars)을 설정합니다.327이러한 확인에서 계정이 호출할 수 없는 모델을 찾으면, Claude Code는 이 머신에서 최대 하루 동안 거부를 기억하고, 그 시간 동안 기억된 모델을 건너뛰고 Amazon Bedrock에 다시 요청하지 않고 시작합니다. Claude Code는 마지막 확인 이후 10분이 경과하면 현재 기본 모델의 기억된 거부를 시작 시 다시 확인하므로, 관리자가 다시 활성화한 기본값이 돌아옵니다. 메모리를 끄려면 [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](https://code.claude.com/docs/ko/env-vars)을 설정합니다.

320 328 

analytics.md +10 −10

Details

77* **CC가 포함된 코드 라인**: Claude Code 지원으로 작성된 모든 병합된 PR의 총 코드 라인 수입니다. "효과적인 라인"만 계산됩니다: 정규화 후 3자 이상의 라인, 빈 라인 및 괄호나 사소한 구두점만 있는 라인 제외.77* **CC가 포함된 코드 라인**: Claude Code 지원으로 작성된 모든 병합된 PR의 총 코드 라인 수입니다. "효과적인 라인"만 계산됩니다: 정규화 후 3자 이상의 라인, 빈 라인 및 괄호나 사소한 구두점만 있는 라인 제외.

78* **Claude Code가 포함된 PR (%)**: Claude Code 지원 코드를 포함하는 모든 병합된 PR의 백분율78* **Claude Code가 포함된 PR (%)**: Claude Code 지원 코드를 포함하는 모든 병합된 PR의 백분율

79* **제안 수락률**: 사용자가 Claude Code의 코드 편집 제안을 수락하는 횟수의 백분율(Edit, Write, NotebookEdit 도구 사용 포함)79* **제안 수락률**: 사용자가 Claude Code의 코드 편집 제안을 수락하는 횟수의 백분율(Edit, Write, NotebookEdit 도구 사용 포함)

80* **수락된 코드 라인**: 사용자가 세션에서 수락한 Claude Code로 작성된 총 코드 라인 수입니다. 거부된 제안은 제외되며 후속 삭제는 추적하지 않습니다.80* **수락된 코드 라인**: 수락된 편집에서 Claude Code의 Edit 및 Write 도구가 추가하거나 제거한 총 코드 라인 수입니다. 거부된 제안은 제외되며, 나중에 삭제된 라인은 합계를 줄이지 않습니다.

81 81 

82### 차트 탐색82### 차트 탐색

83 83 


192 192 

193## API 고객을 위한 분석 접근193## API 고객을 위한 분석 접근

194 194 

195Claude Console을 사용하는 API 고객은 [platform.claude.com/claude-code](https://platform.claude.com/claude-code)에서 분석에 접근할 수 있습니다. 대시보드에 접근하려면 UsageView 권한이 필요하며, 이는 Developer, Billing, Admin, Owner 및 Primary Owner 역할에 부여됩니다. 동일한 일일 사용자별 지표를 프로그래밍 방식으로 가져오려면 Admin API 키를 사용하여 [Claude Code Analytics API](https://platform.claude.com/docs/ko/build-with-claude/claude-code-analytics-api)를 사용합니다.195Claude Console을 사용하는 API 고객은 [platform.claude.com/claude-code](https://platform.claude.com/claude-code)에서 분석에 접근할 수 있습니다. 대시보드에 접근하려면 UsageView 권한이 필요하며, 이는 Developer, Billing, Admin, Owner 및 Primary Owner 역할에 부여됩니다. 일일 사용자별 지표를 프로그래밍 방식으로 가져오려면 Admin API 키로 [Claude Code Analytics API](https://platform.claude.com/docs/ko/build-with-claude/claude-code-analytics-api)를 사용합니다.

196 196 

197> [!NOTE]197> [!NOTE]

198>198>


200 200 

201Console 대시보드는 다음을 표시합니다:201Console 대시보드는 다음을 표시합니다:

202 202 

203* **수락된 코드 라인**: 사용자가 세션에서 수락한 Claude Code로 작성된 총 코드 라인 수입니다. 거부된 제안은 제외되며 후속 삭제는 추적하지 않습니다.203* **수락된 코드 라인**: 수락된 편집에서 Claude Code의 Edit 및 Write 도구가 추가하거나 제거한 총 코드 라인 수입니다. 거부된 제안은 제외되며, 나중에 삭제된 라인은 총합을 줄이지 않습니다.

204* **제안 수락률**: 사용자가 코드 편집 도구 사용을 수락하는 횟수의 백분율(Edit, Write, NotebookEdit 도구 포함).204* **제안 수락률**: 사용자가 코드 편집 도구 사용을 수락하는 횟수의 백분율(Edit, Write, NotebookEdit 도구 포함).

205* **활동**: 차트에 표시된 일일 활성 사용자 및 세션.205* **활성 사용자** 및 **세션**: 활성 사용자 및 Claude Code 세션의 일일 수.

206* **지출**: 사용자 수와 함께 일일 API 비용(달러).206* **지출**: 일일 API 비용(달러).

207 207 

208### 팀 인사이트 보기208### 팀 인사이트 보기

209 209 

210팀 인사이트 테이블은 사용자별 지표를 표시합니다:210팀 인사이트 테이블은 대시보드 상단에서 선택한 날짜 범위(기본값은 최근 30일)에 대해 다음과 같은 사용자별 열을 표시합니다:

211 211 

212* **구성원**: Claude Code에 인증한 모든 사용자. API 키 사용자는 키 식별자로 표시되고, OAuth 사용자는 이메일 주소로 표시됩니다.212* **구성원**: 해당 범위에 Claude Code 사용량이 보고된 사용자 및 API 키. API 키 사용자는 키 이름으로 표시되고, OAuth 사용자는 이메일 주소로 표시됩니다.

213* **이번 달 지출**: 현재 달의 사용자별 총 API 비용.213* **지출**: 사용자별 총 API 비용.

214* **이번 달 라인**: 현재 달의 사용자별 수락된 코드 라인의 총합.214* **수락된 라인**: 수락된 편집에서 Edit 및 Write 도구가 추가하거나 제거한 사용자별 라인의 총합.

215 215 

216> [!NOTE]216> [!NOTE]

217>217>

218> Console 대시보드의 지출 수치는 분석 목적의 추정치입니다. 실제 비용은 청구 페이지를 참조하세요.218> Console 대시보드의 지출 수치는 분석 목적의 추정치입니다. 실제 비용은 [비용 페이지](https://platform.claude.com/cost)를 참조하세요.

219 219 

220## 관련 리소스220## 관련 리소스

221 221 

Details

355 355 

356## 거부 검토356## 거부 검토

357 357 

358자동 모드 분류기가 거부한 작업을 검토하고 재시도하려면 `/permissions`를 열고 **Recently denied** 탭을 선택합니다. Claude Code는 이 탭에 각 거부 내역을 기록합니다. 거부된 작업에서 `r`을 누르면 재시도 대상으로 표시됩니다. 대화 상자를 나가면 Claude Code가 해당 도구 호출을 재시도해도 된다고 모델에 알리는 메시지를 보내고 대화를 재개합니다.358차단된 작업을 Claude가 재시도하도록 하려면 `/permissions`의 **Recently blocked** 탭을 사용합니다.

359 359 

360자동 모드와 별개인 안전 검사가 분류기 자체의 요청을 거부했거나 분류기의 응답을 파싱할 수 없어서 분류기가 [작업에 대한 판정을 내리지 못한](https://code.claude.com/docs/ko/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) 경우, Claude Code는 해당 작업을 **Recently denied**에 기록하지 않고 거부합니다. 링크된 오류 항목에서 Claude에게 전달되는 내용과 필요할 때 해당 작업을 실행하는 방법을 확인할 수 있습니다.360**1. 탭 열기**

361 

362세션에서 `/permissions`를 실행하여 권한 대화 상자를 연 다음 **Recently blocked** 탭을 선택합니다.

363 

364**2. 작업 확인하기**

365 

366작업의 행을 강조 표시하고 목록 아래에서 해당 명령이나 입력을 읽습니다. 행의 설명은 Claude나 도구가 작성한 것이므로, 설명이 아닌 명령이나 입력을 기준으로 판단합니다.

367 

368**3. 작업 승인하기**

369 

370`r`을 눌러 작업을 승인하고 Claude가 재시도하도록 합니다.

371 

372**4. 대화 상자 닫기**

373 

374`Esc`를 눌러 대화 상자를 닫고 승인을 적용합니다. `/permissions`를 열었을 때 Claude가 작업 중이었다면, Claude가 작업을 마친 후 메시지를 보내 Claude가 해당 작업을 재시도하도록 합니다. 그렇지 않은 경우에는 아무것도 보낼 필요가 없습니다. Claude는 바로 작업을 계속하며 해당 작업을 재시도할 수 있습니다. 재시도하지 않으면 [대화에서 밝히는 승인](https://code.claude.com/docs/ko/permission-modes.md#approvals-you-state-in-conversation)에 설명된 대로 다음 메시지에서 해당 작업을 언급합니다.

375 

376작업을 승인해도 권한 규칙이 추가되지는 않습니다. 자동 모드에서는 재시도된 작업도 다시 검사를 거치므로 다시 차단될 수 있습니다. 앞으로 명령이 통과되도록 하려면 [`allow` 규칙을 추가](#fix-a-denial-with-an-allow-rule-an-environment-entry-or-a-retry)합니다.

377 

378Claude가 바로 재시도하지 않기를 원한다면 작업을 나중을 위해 승인하거나, 승인을 취소하거나, 대화 상자를 닫고 승인을 폐기할 수 있습니다.

379 

380* **나중을 위해 승인하기**: 행에서 `Enter`를 누른 다음 `Esc`를 누릅니다. 해당 행이 탭에서 사라지며, Claude가 작업을 마친 후 다음 메시지를 보내면 Claude가 해당 작업을 재시도할 수 있습니다. 다른 행에서 `r`도 눌렀다면 `Enter`를 누른 행은 탭에 남고 Claude는 해당 작업에 대해 알림을 받지 않습니다. 다음에 탭을 열 때 해당 행을 승인하거나 두 행 모두에서 `r`을 누릅니다

381* **승인 취소하기**: `Esc`를 누르기 전에, `Enter`와 `r` 중 어느 것으로 승인했든 해당 행에서 `Enter`를 누릅니다

382* **대화 상자를 닫고 승인 폐기하기**: `Ctrl+C`를 두 번 누릅니다

383 

384행에 작업의 명령이나 입력을 모두 표시할 수 없거나 작업에 행이 없는 경우에는 탭에서 작업을 승인할 수 없습니다.

385 

386* **행에 `This row can't be approved here`라고 표시되는 경우**: 의도한 작업이라면 다음 메시지에서 Claude에게 알려 주면 Claude가 다시 시도할 수 있습니다

387* **행이 없고 대화에 `Not run` 또는 분류기 오류가 표시되는 경우**: 자동 모드의 분류기가 판정을 내리지 못한 것입니다. 해당 작업을 실행하는 방법은 [Auto mode cannot determine the safety of an action](https://code.claude.com/docs/ko/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)을 참조하십시오

361 388 

362### 허용 규칙, 환경 항목 또는 재시도로 거부 해결하기389### 허용 규칙, 환경 항목 또는 재시도로 거부 해결하기

363 390 

364`bash denied by auto mode · [Data Exfiltration] · /permissions`와 같은 알림의 원인이 된 명령이나 URL을 확인하려면 **Recently denied** 탭, 훅 또는 대화를 사용합니다.391알림은 `bash blocked by auto mode · /permissions · Auto mode: [Data Exfiltration]`과 같은 형태로 표시됩니다. 알림의 원인이 된 명령이나 URL을 확인하려면 **Recently blocked** 탭, 훅 또는 대화를 사용합니다.

365 392 

366* **Recently denied 탭**: `/permissions` 대화 상자에서 거부된 Bash 또는 PowerShell 작업을 강조 표시하면 목록 아래에서 해당 명령을 확인할 수 있습니다. [스크린 리더 모드](https://code.claude.com/docs/ko/accessibility.md)에서는 모든 명령이 목록 앞에 표시됩니다.393* **Recently blocked 탭**: 작업의 행을 강조 표시합니다. [스크린 리더 모드](https://code.claude.com/docs/ko/accessibility.md)에서는 모든 명령과 입력이 목록 앞에 표시됩니다.

367* **훅**: 거부된 작업의 정확한 입력을 프로그래밍 방식으로 캡처하려면 [`PermissionDenied` 훅](https://code.claude.com/docs/ko/hooks#permissiondenied)을 추가합니다. 이 훅은 입력을 `tool_input`으로 전달받습니다.394* **훅**: 거부된 작업의 정확한 입력을 프로그래밍 방식으로 캡처하려면 [`PermissionDenied` 훅](https://code.claude.com/docs/ko/hooks#permissiondenied)을 추가합니다. 이 훅은 입력을 `tool_input`으로 전달받습니다. 훅이 `reason`을 읽는 경우, `Auto mode:` 접두사가 없으며 `No reason provided` 대신 `Blocked by classifier`와 같은 텍스트가 전달된다는 점에 유의하십시오.

368* **대화**: 해당 도구 호출을 찾습니다. 호출이 축약되어 표시되거나 `Ran 3 shell commands`와 같은 요약 줄로 접혀 있다면 `Ctrl+O`를 눌러 [트랜스크립트 뷰어](https://code.claude.com/docs/ko/interactive-mode.md#transcript-viewer)를 열면 펼쳐서 볼 수 있습니다.395* **대화**: 해당 도구 호출을 찾습니다. 호출이 축약되어 표시되거나 `Ran 3 shell commands`와 같은 요약 줄로 접혀 있다면 `Ctrl+O`를 눌러 [트랜스크립트 뷰어](https://code.claude.com/docs/ko/interactive-mode.md#transcript-viewer)를 열면 펼쳐서 볼 수 있습니다.

369 396 

370호출 아래의 텍스트를 보면 해결할 것이 있는지 알 수 있습니다. 흐리게 표시된 `Not run · auto mode's check had no usable answer` 행이나 `Auto mode could not evaluate this action`처럼 분류기 자체의 문제를 알리는 텍스트는 Claude Code가 분류기의 판정 없이 호출을 차단했다는 뜻입니다. `Not run` 행의 경우 `Ctrl+O`를 눌러 전체 메시지를 읽은 다음, 대처 방법은 [Auto mode cannot determine the safety of an action](https://code.claude.com/docs/ko/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) 또는 [The server returned no safety verdict](https://code.claude.com/docs/ko/errors.md#the-server-returned-no-safety-verdict)를 참조하십시오.397호출 아래의 텍스트를 보면 해결할 것이 있는지 알 수 있습니다. 흐리게 표시된 `Not run · auto mode's check had no usable answer` 행이나 `Auto mode could not evaluate this action`처럼 분류기 자체의 문제를 알리는 텍스트는 Claude Code가 분류기의 판정 없이 호출을 차단했다는 뜻입니다. `Not run` 행의 경우 `Ctrl+O`를 눌러 전체 메시지를 읽은 다음, 대처 방법은 [Auto mode cannot determine the safety of an action](https://code.claude.com/docs/ko/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) 또는 [The server returned no safety verdict](https://code.claude.com/docs/ko/errors.md#the-server-returned-no-safety-verdict)를 참조하십시오.

371 398 

372그 외에 `[Production Deploy]` 또는 `Blocked by classifier`와 같은 사유와 함께 `Denied by auto mode classifier`라는 줄이 표시되면 분류기가 해당 호출을 안전하지 않다고 판단한 것이므로, 호출이 접근하거나 수행하려던 대상에 따라 해결 방법을 선택합니다.399그 외에 `Blocked by auto mode` 줄이 표시되면 분류기가 해당 호출을 안전하지 않다고 판단한 것입니다. 호출이 통과되도록 하려면 Claude가 접근하거나 수행하려던 대상에 따라 해결 방법을 선택합니다.

373 400 

374* 패키지 레지스트리, 내부 도메인, 저장소 호스트처럼 Claude가 작업 내내 필요로 하는 대상: `autoMode.environment`에 추가합니다.401* 패키지 레지스트리, 내부 도메인, 저장소 호스트처럼 Claude가 작업 내내 필요로 하는 대상: `autoMode.environment`에 추가합니다.

375* 앞으로 검토 없이 실행하려는 명령: `allow` 규칙을 추가합니다.402* 앞으로 검토 없이 실행하려는 명령: `allow` 규칙을 추가합니다.

Details

397* 외부 엔드포인트로 전송되는 민감한 데이터397* 외부 엔드포인트로 전송되는 민감한 데이터

398* 사용자가 아니라 Claude가 읽은 콘텐츠에 의해 유도된 것으로 보이는 작업398* 사용자가 아니라 Claude가 읽은 콘텐츠에 의해 유도된 것으로 보이는 작업

399 399 

400분류기가 무언가를 차단하면 알림이 표시되고, 해당 작업은 `/permissions`의 **Recently denied** 아래에 나타나며, 그곳에서 수동 승인으로 재시도할 수 있습니다. [연속 세 번 차단](https://code.claude.com/docs/ko/permission-modes.md#when-auto-mode-falls-back)(또는 총 20번)되면 자동 모드는 일시 중지되고 다시 확인을 요청하는 방식으로 돌아갑니다.400자동 모드가 작업을 차단하면 알림이 표시되고, 해당 작업은 `/permissions`의 **Recently blocked** 아래에 나타나며, 그곳에서 [작업을 승인하여 Claude가 재시도하도록](https://code.claude.com/docs/ko/auto-mode-config.md#review-denials) 할 수 있습니다. [연속 세 번 차단](https://code.claude.com/docs/ko/permission-modes.md#when-auto-mode-falls-back)(또는 총 20번)되면 자동 모드는 일시 중지되고 다시 확인을 요청하는 방식으로 돌아갑니다.

401 401 

402이 중 어느 것도 결정론적 통제를 대체하지 않습니다. 분류기는 그 *이후에* 실행되기 때문입니다. 거부 및 확인 규칙과 `PreToolUse` 훅은 분류기가 무엇이든 보기 전에 적용되므로, 거부 규칙은 다른 모든 곳과 똑같이 자동 모드에서도 차단합니다. 샌드박스는 여전히 [샌드박스가 감싸는 셸 명령](https://code.claude.com/docs/ko/sandboxing.md#what-runs-outside-the-sandbox)을 격리합니다.402이 중 어느 것도 결정론적 통제를 대체하지 않습니다. 분류기는 그 *이후에* 실행되기 때문입니다. 거부 및 확인 규칙과 `PreToolUse` 훅은 분류기가 무엇이든 보기 전에 적용되므로, 거부 규칙은 다른 모든 곳과 똑같이 자동 모드에서도 차단합니다. 샌드박스는 여전히 [샌드박스가 감싸는 셸 명령](https://code.claude.com/docs/ko/sandboxing.md#what-runs-outside-the-sandbox)을 격리합니다.

403 403 

Details

30[게이트웨이 개요](https://code.claude.com/docs/ko/gateways.md)는 게이트웨이가 무엇을 하는지, 왜 하나를 실행하는지 다룹니다. Claude 앱 게이트웨이는 Anthropic의 자체 게이트웨이로, `claude` 바이너리에 내장되어 있고 각 Claude Code 릴리스와 함께 테스트되므로, Claude Code가 보내는 `anthropic-beta` 값과 요청 필드를 운영자가 별도의 허용 목록을 유지하지 않고도 전달합니다. 배포되면 다음을 제공합니다:30[게이트웨이 개요](https://code.claude.com/docs/ko/gateways.md)는 게이트웨이가 무엇을 하는지, 왜 하나를 실행하는지 다룹니다. Claude 앱 게이트웨이는 Anthropic의 자체 게이트웨이로, `claude` 바이너리에 내장되어 있고 각 Claude Code 릴리스와 함께 테스트되므로, Claude Code가 보내는 `anthropic-beta` 값과 요청 필드를 운영자가 별도의 허용 목록을 유지하지 않고도 전달합니다. 배포되면 다음을 제공합니다:

31 31 

32* **자격증명**: 업스트림 API 키 또는 클라우드 자격증명은 인프라에만 존재합니다. 개발자는 회사 SSO로 인증하고 단기 베어러 토큰을 받으므로, 오프보딩은 IdP에서 발생합니다. 사용자를 프로비저닝 해제하면 게이트웨이 액세스는 기본값인 1시간 내에 세션 수명 내에 만료됩니다.32* **자격증명**: 업스트림 API 키 또는 클라우드 자격증명은 인프라에만 존재합니다. 개발자는 회사 SSO로 인증하고 단기 베어러 토큰을 받으므로, 오프보딩은 IdP에서 발생합니다. 사용자를 프로비저닝 해제하면 게이트웨이 액세스는 기본값인 1시간 내에 세션 수명 내에 만료됩니다.

33* **액세스 제어**: IdP 그룹은 모델 허용 목록 및 [관리 설정](https://code.claude.com/docs/ko/managed-settings.md) 정책에 매핑됩니다. 게이트웨이는 모델 액세스를 서버 측에서 적용하여 부여되지 않은 모델에 대한 요청을 거부하고, 각 그룹의 관리 설정 정책을 선택하며, CLI는 [관리 설정 계층](https://code.claude.com/docs/ko/settings.md#settings-precedence)에서 이를 적용합니다. 다른 팀은 다른 모델, 도구, 권한을 얻고, 개발자는 정책이 잠근 것을 재정의할 수 없습니다.33* **액세스 제어**: IdP 그룹은 모델 허용 목록, [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md) 정책, [업스트림](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#send-each-team-to-its-own-upstream)에 매핑됩니다. 게이트웨이는 모델 액세스를 서버 측에서 적용하여 부여되지 않은 모델에 대한 요청을 거부하고, 각 그룹의 관리형 설정 정책을 선택하며, CLI는 [관리형 설정 계층](https://code.claude.com/docs/ko/settings.md#settings-precedence)에서 이를 적용합니다. 다른 팀은 다른 모델, 도구, 권한을 얻고, 개발자는 정책이 잠근 것을 재정의할 수 없습니다.

34* **설정 전달**: 게이트웨이는 관리 설정을 로그인한 클라이언트에 자체적으로 전달하여 [서버 관리 설정](https://code.claude.com/docs/ko/server-managed-settings.md)을 대체합니다.34* **설정 전달**: 게이트웨이는 관리 설정을 로그인한 클라이언트에 자체적으로 전달하여 [서버 관리 설정](https://code.claude.com/docs/ko/server-managed-settings.md)을 대체합니다.

35* **텔레메트리**: 각 구성된 대상은 기본적으로 토큰 수, 모델, 사용자 ID 및 지연 시간이 포함된 [OpenTelemetry Protocol (OTLP) 메트릭](https://code.claude.com/docs/ko/monitoring-usage.md)을 받으며, 로그 및 추적은 대상별 옵트인입니다.35* **텔레메트리**: 각 구성된 대상은 기본적으로 토큰 수, 모델, 사용자 ID 및 지연 시간이 포함된 [OpenTelemetry Protocol (OTLP) 메트릭](https://code.claude.com/docs/ko/monitoring-usage.md)을 받으며, 로그 및 추적은 대상별 옵트인입니다.

36* **업스트림 라우팅**: 클라이언트는 Anthropic Messages API를 게이트웨이에 말하고, 게이트웨이는 Amazon Bedrock, [AWS의 Claude Platform](https://code.claude.com/docs/ko/claude-platform-on-aws.md), Google Cloud의 Agent Platform, Microsoft Foundry 또는 Anthropic API 중 각 업스트림에 대해 변환하며, 그들 사이에 장애 조치가 있습니다. 개발자가 알아차리거나 재구성하지 않고도 지역, 제공자 또는 장애 조치 순서를 변경할 수 있습니다.36* **업스트림 라우팅**: 클라이언트는 Anthropic Messages API를 게이트웨이에 말하고, 게이트웨이는 Amazon Bedrock, [AWS의 Claude Platform](https://code.claude.com/docs/ko/claude-platform-on-aws.md), Google Cloud의 Agent Platform, Microsoft Foundry 또는 Anthropic API 중 각 업스트림에 대해 변환하며, 그들 사이에 장애 조치가 있습니다. 개발자가 알아차리거나 재구성하지 않고도 지역, 제공자 또는 장애 조치 순서를 변경할 수 있습니다.

Details

113 113 

114**3. gateway.yaml에 키와 인증서 추가**114**3. gateway.yaml에 키와 인증서 추가**

115 115 

116`client_assertion` 블록에 개인 키와 인증서를 지정하십시오. `private_key_jwt`와 함께 `client_secret`이 설정되면 게이트웨이가 시작을 거부하므로 `client_secret`은 생략하십시오. 다음 `oidc` 블록은 인증서로 게이트웨이를 Microsoft Entra 테넌트에 인증합니다.116`client_assertion` 블록에 개인 키와 인증서를 지정하십시오. `client_secret`은 생략하십시오. `private_key_jwt`와 함께 설정되면 게이트웨이가 시작을 거부합니다. 다음 `oidc` 블록은 인증서로 Microsoft Entra 테넌트에 게이트웨이를 인증합니다.

117 117 

118```yaml theme={null}118```yaml theme={null}

119oidc:119oidc:


214 214 

215### `upstreams`215### `upstreams`

216 216 

217`upstreams`는 순서가 있는 목록입니다. 게이트웨이는 요청된 모델을 확인할 수 있는 첫 번째 업스트림으로 추론을 전달합니다.217`upstreams`는 순서가 있는 목록입니다. 게이트웨이는 요청된 모델을 확인하는 첫 번째 업스트림으로 추론을 전달하며, [`groups` 목록](#send-each-team-to-its-own-upstream)에 해당 개발자가 포함되지 않은 업스트림은 건너뜁니다.

218 218 

219`5xx`, `429`, `401`, `403`, `404` 또는 타임아웃이 발생하면 게이트웨이는 다음 업스트림으로 페일오버합니다. 그 외의 `4xx`는 업스트림이 아니라 요청에 원인이 있는 오류이므로 페일오버하지 않습니다. `401` 또는 `403`은 업스트림이 게이트웨이가 사용한 자격 증명을 거부했거나, 예를 들어 요청된 모델에 대한 액세스를 거부했다는 의미입니다. `404`는 해당 업스트림이 요청된 모델을 제공하지 않는다는 의미이므로, 목록의 뒤쪽 업스트림이 여전히 제공할 수 있습니다.219`5xx`, `429`, `401`, `403`, `404` 또는 타임아웃이 발생하면 게이트웨이는 다음 업스트림으로 페일오버합니다. 그 외의 `4xx`는 업스트림이 아니라 요청에 원인이 있는 오류이므로 페일오버하지 않습니다. `401` 또는 `403`은 업스트림이 게이트웨이가 사용한 자격 증명을 거부했거나, 예를 들어 요청된 모델에 대한 액세스를 거부했다는 의미입니다. `404`는 해당 업스트림이 요청된 모델을 제공하지 않는다는 의미이므로, 목록의 뒤쪽 업스트림이 여전히 제공할 수 있습니다.

220 220 


231게이트웨이는 업스트림의 응답 방식에 따라 한 업스트림의 오류 응답 또는 자체 `502`를 반환합니다.231게이트웨이는 업스트림의 응답 방식에 따라 한 업스트림의 오류 응답 또는 자체 `502`를 반환합니다.

232 232 

233* **업스트림이 게이트웨이가 [페일오버](#multiple-upstreams)하지 않는 상태를 반환한 경우**: 해당 업스트림의 응답입니다. 게이트웨이는 더 이상 다른 업스트림을 시도하지 않습니다.233* **업스트림이 게이트웨이가 [페일오버](#multiple-upstreams)하지 않는 상태를 반환한 경우**: 해당 업스트림의 응답입니다. 게이트웨이는 더 이상 다른 업스트림을 시도하지 않습니다.

234* **게이트웨이가 시도한 모든 업스트림이 [페일오버 대상](#multiple-upstreams)인 방식으로 실패한 경우**: 마지막 `429`입니다. `429`를 반환한 업스트림이 없으면 게이트웨이는 마지막 `401` 또는 `403`, 마지막 `404`, 마지막 `501` 순으로 우선합니다. 그중 어느 것도 반환되지 않았으면 게이트웨이 자체의 `502`인 `all upstreams failed (N attempted)`를 반환합니다. 여기서 N은 요청된 모델을 제공하지 않아 게이트웨이가 건너뛴 항목을 포함하여 [`upstreams`](#upstreams)의 모든 항목 수입니다.234* **게이트웨이가 시도한 모든 업스트림이 [장애 조치 대상](#multiple-upstreams)인 방식으로 실패한 경우**: 마지막 `429`를 반환합니다. `429`를 반환한 업스트림이 없으면 게이트웨이는 마지막 `401` 또는 `403`, 마지막 `404`, 마지막 `501` 순으로 우선합니다. 그중 아무것도 반환되지 않았으면 게이트웨이 자체의 `502`, `all upstreams failed (N attempted)`를 반환합니다. N은 건너뛴 항목을 포함한 [`upstreams`](#upstreams) 항목 수에서 [`groups`](#send-each-team-to-its-own-upstream) 목록에 해당 개발자가 포함되지 않은 항목을 뺀 값입니다.

235 235 

236게이트웨이가 업스트림의 응답을 반환할 때 업스트림의 상태 코드는 유지합니다. 업스트림의 메시지를 유지하는지는 공급자에 따라 다릅니다. Anthropic API 업스트림의 오류 본문은 변경 없이 개발자에게 전달됩니다.236게이트웨이가 업스트림의 응답을 반환할 때 업스트림의 상태 코드는 유지합니다. 업스트림의 메시지를 유지하는지는 공급자에 따라 다릅니다. Anthropic API 업스트림의 오류 본문은 변경 없이 개발자에게 전달됩니다.

237 237 


361 # keep the quotes: a bare 1 fails at boot361 # keep the quotes: a bare 1 fails at boot

362```362```

363 363 

364> [!WARNING]

365>

366> 게이트웨이는 가드레일 입력 태그를 지원하지 않습니다. 프롬프트에 가드 콘텐츠 태그를 추가하지 않으므로, Amazon Bedrock이 태그된 입력에만 적용하는 가드레일 필터는 게이트웨이를 통한 트래픽에서 실행되지 않습니다. 어떤 필터가 입력 태그에 의존하는지는 Amazon Bedrock 문서의 [입력 태그](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html)를 참조하십시오.

367 

368이 업스트림의 요청에 서명하는 주체, 즉 게이트웨이의 AWS 주체 또는 [`assume_role`](#bedrock-in-another-aws-account)을 사용하는 경우 `role_arn`에 지정된 역할에도 해당 가드레일에 대한 `bedrock:ApplyGuardrail`을 부여하십시오.364이 업스트림의 요청에 서명하는 주체, 즉 게이트웨이의 AWS 주체 또는 [`assume_role`](#bedrock-in-another-aws-account)을 사용하는 경우 `role_arn`에 지정된 역할에도 해당 가드레일에 대한 `bedrock:ApplyGuardrail`을 부여하십시오.

369 365 

370`guardrail`은 모든 `bedrock` 업스트림에 설정하거나 어디에도 설정하지 마십시오. 그렇지 않으면 [페일오버](#multiple-upstreams)가 가드레일이 없는 Bedrock 업스트림으로 요청을 보낼 수 있으므로, 게이트웨이는 혼합된 구성에서 시작을 거부합니다.366`guardrail`은 모든 `bedrock` 업스트림에 설정하거나 어디에도 설정하지 마십시오. 그렇지 않으면 [페일오버](#multiple-upstreams)가 가드레일이 없는 Bedrock 업스트림으로 요청을 보낼 수 있으므로, 게이트웨이는 혼합된 구성에서 시작을 거부합니다.


373 369 

374`amazon-bedrock-guardrailConfig` 같은 `amazon-bedrock-*` 필드를 본문에 담은 `/v1/messages` 요청이 `guardrail`이 설정된 Bedrock 업스트림에 도달하면, 게이트웨이는 요청을 전달하는 대신 400으로 응답합니다.370`amazon-bedrock-guardrailConfig` 같은 `amazon-bedrock-*` 필드를 본문에 담은 `/v1/messages` 요청이 `guardrail`이 설정된 Bedrock 업스트림에 도달하면, 게이트웨이는 요청을 전달하는 대신 400으로 응답합니다.

375 371 

372> [!WARNING]

373>

374> 기본적으로 게이트웨이는 프롬프트에 입력 태그를 추가하지 않으므로, Amazon Bedrock이 태그가 지정된 입력에만 적용하는 가드레일 필터는 게이트웨이를 통한 트래픽에서 실행되지 않습니다. 태그를 추가하려면 [`input_tagging`](#add-guardrail-input-tags)을 설정하십시오. 어떤 필터가 입력 태그에 의존하는지는 Amazon Bedrock 문서의 [입력 태그](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html)를 참조하십시오.

375 

376##### 가드레일 입력 태그 추가

377 

378Amazon Bedrock 가드레일의 [프롬프트 공격 필터](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-prompt-attack.html)에 필요한 입력 태그를 게이트웨이가 추가하도록 하려면, `guardrail` 블록에 `input_tagging`을 설정하고 게이트웨이를 재시작하십시오. 모든 `bedrock` 업스트림에 동일한 값을 설정해야 하며, 그렇지 않으면 게이트웨이가 시작을 거부합니다. 게이트웨이 서버에 Claude Code v2.1.316 이상이 필요합니다. 이 키를 지원하지 않는 버전의 게이트웨이는 시작 시 `Unrecognized key(s) in object: 'input_tagging'`과 함께 종료됩니다.

379 

380> [!WARNING]

381>

382> [Amazon Bedrock 문서](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html)에 따르면 요청에 입력 태그가 포함되면 가드레일의 모든 필터가 태그가 없는 콘텐츠에 대한 평가를 중단합니다. 개발자가 사용하는 게이트웨이에 설정하기 전에 테스트 게이트웨이에서 `input_tagging`을 시험해 보십시오.

383 

384`input_tagging`은 다음 값 중 하나를 받습니다.

385 

386| `input_tagging` | 게이트웨이가 텍스트에 태그를 지정하는 위치 | 가드레일이 프롬프트를 차단한 후 |

387| :- | :- | :- |

388| `last_message` | Claude의 마지막 응답 이후의 `user` 메시지 | Claude Code에서 다음 프롬프트는 통과할 수 있으며, Claude는 차단된 프롬프트를 대화의 일부로 받게 됩니다 |

389| `user_messages` | `user` 메시지 | 개발자가 차단된 프롬프트를 제거할 때까지 세션의 이후 프롬프트도 차단될 수 있습니다 |

390| `all_messages` | `user` 및 `assistant` 메시지 | `user_messages`와 동일 |

391| `all_messages_and_system` | 시스템 프롬프트와 [대화 중간 시스템 메시지](https://code.claude.com/docs/ko/llm-gateway-protocol.md#feature-pass-through)를 포함한 모든 메시지 | `user_messages`와 동일 |

392 

393`last_message`에서 Claude의 마지막 응답 이후 `user` 메시지에 태그를 지정할 텍스트가 없으면, 게이트웨이는 대신 그 응답 이후의 대화 중간 시스템 메시지에 태그를 지정합니다. 도구 호출도 응답으로 간주됩니다.

394 

395프롬프트 공격 필터에 대한 Amazon Bedrock의 지침은 [시스템 프롬프트를 제외하도록 사용자 입력에 태그를 지정](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-prompt-attack.html)하는 것입니다. `all_messages_and_system`을 설정하면 Claude Code 자체의 시스템 프롬프트를 플래그하는 필터가 요청을 차단할 수 있습니다.

396 

397아래 예시는 모든 `user` 메시지의 텍스트에 태그를 지정합니다.

398 

399```yaml theme={null}

400upstreams:

401 - provider: bedrock

402 region: us-east-1

403 auth: {}

404 guardrail:

405 id: gr-abc123

406 version: "1"

407 input_tagging: user_messages

408```

409 

410`user` 메시지에는 [시스템 리마인더](https://code.claude.com/docs/ko/glossary.md#system-reminder)처럼 Claude Code가 추가하는 텍스트도 포함될 수 있으므로, 테스트 게이트웨이에서 일반 요청이 차단되지 않는지 확인하십시오.

411 

412Anthropic의 테스트에서 태그가 지정된 세션은 프롬프트 간에 [프롬프트 캐시](https://code.claude.com/docs/ko/prompt-caching.md) 읽기를 유지했으며, 태그로 인한 입력 토큰 증가는 없었습니다.

413 

414##### 입력 태그가 다루지 않는 범위

415 

416어떤 `input_tagging` 값도 태그가 적용되지 않는 위치에 의도적으로 텍스트를 넣는 개발자를 막지 못합니다. 요청의 다음 부분은 가드레일이 평가할 것이라고 기대하지 마십시오.

417 

418* **게이트웨이가 태그를 지정하지 않는 콘텐츠**: `input_tagging` 값이 제외하는 메시지, 도구 정의, 도구 호출 입력, 이미지, PDF 등입니다. `all_messages_and_system`을 설정하지 않으면 시스템 프롬프트도 태그가 지정되지 않습니다.

419* **도구 결과**: 파일 내용이나 웹 페이지처럼 Claude의 도구가 반환하는 내용입니다. Anthropic의 테스트에서 단어 필터는 태그 유무와 관계없이 이를 평가하지 않았습니다.

420 

421AWS 계정이나 조직이 가드레일을 강제 적용하는 경우, 해당 가드레일이 입력 태그를 처리하는 방식은 [Amazon Bedrock 문서](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-enforcements.html)를 참조하십시오.

422 

423##### 어떤 가드레일 필터가 작동했는지 로그에 기록

424 

425어떤 Amazon Bedrock 가드레일 필터가 개발자의 요청을 차단했는지 확인하려면, Bedrock 업스트림에 `guardrail_trace: true`를 설정하고 게이트웨이를 재시작한 다음 개발자가 요청을 다시 보내도록 하십시오. 그런 다음 [감사 로그](https://code.claude.com/docs/ko/claude-apps-gateway-deploy.md#logs)에서 해당 요청의 `guardrail.trace` 이벤트를 찾으십시오. 게이트웨이 서버에 Claude Code v2.1.314 이상이 필요합니다. 이전 게이트웨이는 `guardrail_trace`를 발견하면 시작을 거부합니다.

426 

427```yaml theme={null}

428upstreams:

429 - provider: bedrock

430 region: us-east-1

431 auth: {}

432 guardrail:

433 id: gr-abc123

434 version: "1"

435 guardrail_trace: true # default false; beside guardrail, not inside it

436```

437 

438게이트웨이는 필터가 작동했거나 가드레일의 조치가 `INTERVENED`일 때, 일치한 텍스트 없이 `guardrail.trace` 이벤트를 기록합니다. `email` 또는 `sub`로 개발자의 이벤트를 찾으십시오. 스트리밍 요청 하나가 여러 이벤트를 생성할 수 있고 그중 하나는 `filters` 목록이 비어 있을 수 있으므로, 같은 `request_id`를 가진 모든 이벤트를 읽으십시오.

439 

440| 필드 | 내용 |

441| - | - |

442| `request_id` | 요청의 ID |

443| `sub`, `email` | 개발자의 사용자 ID와 이메일 |

444| `upstream` | 응답이 온 업스트림 |

445| `action` | `INTERVENED` 같은 가드레일의 조치 |

446| `filters` | 작동한 필터입니다. AWS가 필터 세부 정보를 보내지 않으면 목록이 비어 있습니다 |

447| `filters[].side` | `input` 또는 `output` |

448| `filters[].guardrail` | 가드레일의 ID |

449| `filters[].policy` | `contentPolicy.filters` 또는 `sensitiveInformationPolicy.piiEntities` 같은 Bedrock 정책과 목록 |

450| 그 밖의 `filters[]` 필드 | 항목에는 `action`, `name`, `type`, `confidence`, `filterStrength`, `score`, `threshold` 같은 필드도 포함될 수 있습니다 |

451 

452이 이벤트는 Bedrock 트레이스의 `match` 필드를 포함하여 필터가 일치시킨 텍스트를 제외합니다. 게이트웨이가 스트리밍 여부와 관계없이 각 응답에서 Bedrock의 트레이스 데이터를 제거하므로 개발자는 이를 받지 않습니다.

453 

454클라이언트가 `/v1/messages` 요청 본문에 `amazon-bedrock-*` 필드를 보내면, 게이트웨이는 `guardrail_trace`를 설정한 업스트림에서 400으로 응답합니다.

455 

376##### 다른 AWS 계정의 Bedrock456##### 다른 AWS 계정의 Bedrock

377 457 

378Bedrock 업스트림에 `assume_role`을 설정하면 게이트웨이는 자체 AWS ID를 지정된 역할에 대해 `sts:AssumeRole`을 호출하는 용도로만 사용하며, 이 역할은 게이트웨이와 다른 AWS 계정에 있을 수 있습니다. 해당 업스트림의 모든 Bedrock 요청은 STS가 반환한 1시간짜리 자격 증명으로 서명되므로, 장기 액세스 키가 계정 간에 오가지 않습니다.458Bedrock 업스트림에 `assume_role`을 설정하면 게이트웨이는 자체 AWS ID를 지정된 역할에 대해 `sts:AssumeRole`을 호출하는 용도로만 사용하며, 이 역할은 게이트웨이와 다른 AWS 계정에 있을 수 있습니다. 해당 업스트림의 모든 Bedrock 요청은 STS가 반환한 1시간짜리 자격 증명으로 서명되므로, 장기 액세스 키가 계정 간에 오가지 않습니다.


415* STS가 거부하거나 연결할 수 없는 경우, 게이트웨이는 업스트림 자체 자격 증명으로 요청을 보내지 않습니다. 확인할 사항과 함께 STS 오류를 로그에 기록한 다음, 나열된 다음 업스트림을 시도합니다. 성공한 업스트림이 없을 때 클라이언트가 받는 내용은 [업스트림 오류 메시지](#upstream-error-messages)에서 다룹니다. `assume_role`이 없는 뒤쪽 업스트림은 자체 자격 증명으로 요청을 처리하므로, 그것이 의도한 바일 때만 나열하십시오.495* STS가 거부하거나 연결할 수 없는 경우, 게이트웨이는 업스트림 자체 자격 증명으로 요청을 보내지 않습니다. 확인할 사항과 함께 STS 오류를 로그에 기록한 다음, 나열된 다음 업스트림을 시도합니다. 성공한 업스트림이 없을 때 클라이언트가 받는 내용은 [업스트림 오류 메시지](#upstream-error-messages)에서 다룹니다. `assume_role`이 없는 뒤쪽 업스트림은 자체 자격 증명으로 요청을 처리하므로, 그것이 의도한 바일 때만 나열하십시오.

416* 게이트웨이는 리전 STS 엔드포인트 `sts.<region>.amazonaws.com`을 호출하므로, 네트워크에서 여기에 도달할 수 있어야 합니다. FIPS 엔드포인트를 사용하려면 AWS 설정 파일의 `use_fips_endpoint` 대신 게이트웨이 환경에 `AWS_USE_FIPS_ENDPOINT=true`를 설정하십시오.496* 게이트웨이는 리전 STS 엔드포인트 `sts.<region>.amazonaws.com`을 호출하므로, 네트워크에서 여기에 도달할 수 있어야 합니다. FIPS 엔드포인트를 사용하려면 AWS 설정 파일의 `use_fips_endpoint` 대신 게이트웨이 환경에 `AWS_USE_FIPS_ENDPOINT=true`를 설정하십시오.

417* `assume_role`은 `provider: bedrock`에만 적용되며 SigV4 소스 자격 증명이 필요합니다. `aws_bearer_token`과 함께 설정되면 게이트웨이는 시작을 거부합니다.497* `assume_role`은 `provider: bedrock`에만 적용되며 SigV4 소스 자격 증명이 필요합니다. `aws_bearer_token`과 함께 설정되면 게이트웨이는 시작을 거부합니다.

418* 게이트웨이가 허용하는 모든 개발자가 이 업스트림을 사용할 수 있습니다. 어떤 개발자가 어떤 모델을 사용할 수 있는지는 [`managed`](#managed)가 관리합니다. 역할을 통해 제공되는 모델이 다른 계정에서도 제공되지 않도록 하려면, `upstream_model` 맵에 이 업스트림의 이름만 있는 사용자 지정 id를 부여하십시오. 그러한 id에 대해 게이트웨이는 다른 모든 업스트림을 건너뛰므로, 요청도 중단된 요청의 토큰 계산도 다른 계정으로 페일오버할 수 없습니다. 기본 제공 모델 이름에 대한 요청은 여전히 [이 업스트림에 도달](#multiple-upstreams)할 수 있으며, 게이트웨이는 같은 역할로 서명합니다. 이 계정이 해당 모델도 제공해야 하는 경우가 아니라면 이 업스트림을 마지막에 나열하십시오.498* [`groups` 목록](#send-each-team-to-its-own-upstream)이 없으면 게이트웨이가 허용하는 모든 개발자가 이 업스트림을 사용할 수 있습니다. 개발자가 사용할 수 있는 모델을 제한하려면 [`managed`](#managed) 정책에서 `availableModels`를 설정하십시오.

499* 역할을 통해 제공되는 모델이 다른 계정에서도 제공되지 않도록 하려면, `upstream_model` 맵에 이 업스트림의 이름만 있는 사용자 지정 ID를 부여하십시오. 이러한 ID의 경우 게이트웨이는 다른 모든 업스트림을 건너뛰므로, 요청도 중단된 요청의 토큰 계산도 다른 계정으로 장애 조치될 수 없습니다.

500* 기본 제공 모델 이름에 대한 요청은 여전히 [이 업스트림에 도달](#multiple-upstreams)할 수 있으며, 게이트웨이는 같은 역할로 서명합니다. 해당 계정에서 그러한 모델도 제공해야 하는 경우가 아니라면 이 업스트림을 마지막에 나열하십시오.

419 501 

420다음 예시는 격리된 업스트림만 제공하는 사용자 지정 id를 한 모델에 부여합니다.502다음 예시는 격리된 업스트림만 제공하는 사용자 지정 id를 한 모델에 부여합니다.

421 503 


627 709 

628`429`는 업스트림별 용량이므로, 프로비저닝된 처리량(PT)이 소진되면 온디맨드로 페일오버합니다. 업스트림에 [`forward_user_identity: true`](#per-user-identity-headers-for-a-proxy-you-run)를 설정하면, 개발자 이메일이 포함된 요청에 대한 `429`는 대신 사용자별 거부가 되어 페일오버하지 않습니다.710`429`는 업스트림별 용량이므로, 프로비저닝된 처리량(PT)이 소진되면 온디맨드로 페일오버합니다. 업스트림에 [`forward_user_identity: true`](#per-user-identity-headers-for-a-proxy-you-run)를 설정하면, 개발자 이메일이 포함된 요청에 대한 `429`는 대신 사용자별 거부가 되어 페일오버하지 않습니다.

629 711 

630모든 요청은 첫 번째 업스트림에서 시작합니다. 요청은 앞의 모든 업스트림이 실패했거나 요청된 모델을 제공하지 않을 때만 뒤쪽 업스트림에 도달합니다.712요청은 다음 경우에만 다음 업스트림으로 넘어갑니다.

713 

714* 업스트림이 실패한 경우

715* 업스트림이 요청된 모델을 제공하지 않는 경우

716* 업스트림에 해당 개발자를 포함하지 않는 [`groups` 목록](#send-each-team-to-its-own-upstream)이 있는 경우

631 717 

632게이트웨이는 실패한 업스트림을 기록하지 않으므로, 업스트림이 다운된 동안 그 업스트림에 도달하는 모든 요청은 여전히 해당 업스트림을 시도하고 실패할 때까지 기다린 후 다음으로 넘어갑니다.718게이트웨이는 실패한 업스트림을 기록하지 않으므로, 업스트림이 다운된 동안 그 업스트림에 도달하는 모든 요청은 여전히 해당 업스트림을 시도하고 실패할 때까지 기다린 후 다음으로 넘어갑니다.

633 719 


680| - | - |766| - | - |

681| 서로 다른 리전 | 리전마다 자체 `region:`을 가진 Amazon Bedrock 업스트림 하나씩을 둡니다. [`auto_include_builtin_models: true`](#models)를 사용하면 교차 리전 추론 프로필이 자동으로 라우팅되며, 리전에 고정된 배포에는 `models:` 블록을 사용하십시오. |767| 서로 다른 리전 | 리전마다 자체 `region:`을 가진 Amazon Bedrock 업스트림 하나씩을 둡니다. [`auto_include_builtin_models: true`](#models)를 사용하면 교차 리전 추론 프로필이 자동으로 라우팅되며, 리전에 고정된 배포에는 `models:` 블록을 사용하십시오. |

682| 서로 다른 계정 | 계정마다 Amazon Bedrock 업스트림 하나씩을 둡니다. 기본 체인(`auth: {}`)은 파드의 ID를 사용합니다. 두 번째 계정의 경우 [`assume_role`](#bedrock-in-another-aws-account)을 추가하여 단기 자격 증명으로 접근하거나, `auth:`에 명시적 자격 증명 또는 베어러 토큰을 설정하십시오. |768| 서로 다른 계정 | 계정마다 Amazon Bedrock 업스트림 하나씩을 둡니다. 기본 체인(`auth: {}`)은 파드의 ID를 사용합니다. 두 번째 계정의 경우 [`assume_role`](#bedrock-in-another-aws-account)을 추가하여 단기 자격 증명으로 접근하거나, `auth:`에 명시적 자격 증명 또는 베어러 토큰을 설정하십시오. |

769| 서로 다른 팀 | 각 팀의 업스트림에 `groups` 목록을 지정하여 해당 IdP 그룹에 속한 개발자만 접근하도록 합니다. [각 팀을 전용 업스트림으로 보내기](#send-each-team-to-its-own-upstream)를 참조하세요. |

683| 프로비저닝된 처리량 | 해당 업스트림 이름에 대해 `models:`에서 모델을 프로비저닝된 처리량 ARN에 매핑하십시오. 다른 업스트림은 온디맨드 ID를 유지하므로, 페일오버 전에 PT 용량이 먼저 소진됩니다. |770| 프로비저닝된 처리량 | 해당 업스트림 이름에 대해 `models:`에서 모델을 프로비저닝된 처리량 ARN에 매핑하십시오. 다른 업스트림은 온디맨드 ID를 유지하므로, 페일오버 전에 PT 용량이 먼저 소진됩니다. |

684| VPC / FIPS 엔드포인트 | 업스트림의 `base_url:`을 VPC 엔드포인트 또는 FIPS 엔드포인트 URL로 설정하십시오 |771| VPC / FIPS 엔드포인트 | 업스트림의 `base_url:`을 VPC 엔드포인트 또는 FIPS 엔드포인트 URL로 설정하십시오 |

685| 모델 범위 라우팅 | 기본 제공 Claude 모델이 아닌 사용자 지정 모델 `id`만 `upstream_model:` 맵에 없는 업스트림을 건너뜁니다. `mantle` 업스트림은 [`models` 필드](#amazon-bedrock-mantle-endpoint)에 나열된 모델에 대해서만 시도됩니다. 그 외의 모든 업스트림에서 게이트웨이는 기본 제공 모델을 순서대로 시도하고 맵에 항목이 없으면 공급자의 기본 ID를 사용합니다. 따라서 기본 제공 모델의 경우 맵은 업스트림을 시도할지 여부가 아니라 업스트림이 받는 ID를 바꿉니다. ID를 거부하는 업스트림은 다른 업스트림 오류와 같은 [페일오버 규칙](#upstreams)을 따릅니다. |772| 모델 범위 라우팅 | 기본 제공 Claude 모델이 아닌 사용자 지정 모델 `id`는 `upstream_model:` 맵에 없는 업스트림을 건너뜁니다. `models` 목록이 있는 업스트림은 해당 모델에 대해서만 시도되며, [`mantle` 업스트림](#amazon-bedrock-mantle-endpoint)에는 이 목록이 반드시 있어야 합니다. |

773| 기본 제공 모델 라우팅 | `models` 또는 `groups` 목록이 없는 업스트림에서는 게이트웨이가 기본 제공 모델을 순서대로 시도하며, `upstream_model:` 맵에 항목이 없으면 공급자의 기본 ID를 사용합니다. 공급자에 기본 ID가 있는 기본 제공 모델의 경우, 맵은 업스트림의 시도 여부가 아니라 업스트림이 받는 ID를 변경합니다. ID를 거부하는 업스트림은 다른 업스트림 오류와 동일한 [페일오버 규칙](#upstreams)을 따릅니다. |

686 774 

687클라우드 공급자 간 또는 직접 Anthropic API로 페일오버하면 요청에 적용되는 계약, 지역 및 기타 조건이 달라집니다.775클라우드 공급자 간 또는 직접 Anthropic API로 페일오버하면 요청에 적용되는 계약, 지역 및 기타 조건이 달라집니다.

688 776 

689CLI는 어떤 업스트림이 요청을 처리하든 게이트웨이에 같은 기능 제한을 적용하므로, 기본적으로 페일오버는 업스트림이 거부할 본문 필드를 보내지 않습니다. 정책에서 [1시간 캐시 TTL](#one-hour-prompt-cache)을 설정하면 목록의 모든 업스트림으로 전송되므로, 모든 업스트림이 이를 수락하는 경우에만 설정하십시오.777CLI는 어떤 업스트림이 요청을 처리하든 게이트웨이에 같은 기능 제한을 적용하므로, 기본적으로 페일오버는 업스트림이 거부할 본문 필드를 보내지 않습니다. 정책에서 [1시간 캐시 TTL](#one-hour-prompt-cache)을 설정하면 목록의 모든 업스트림으로 전송되므로, 모든 업스트림이 이를 수락하는 경우에만 설정하십시오.

690 778 

779#### 각 팀을 전용 업스트림으로 보내기

780 

781각 팀의 요청을 해당 팀의 AWS 계정 또는 Google Cloud 프로젝트로 보내려면, 팀마다 업스트림을 하나씩 나열하고 각각에 `groups` 목록을 지정합니다. 나열된 IdP 그룹에 속한 개발자만 첫 시도와 [페일오버](#multiple-upstreams) 시 해당 업스트림에 도달합니다. 모든 공급자가 `groups`를 지원합니다. 게이트웨이 서버에 Claude Code v2.1.314 이상이 필요합니다.

782 

783이 예시는 `payments-eng` 그룹과 `search-eng` 그룹에 각각 AWS 계정을 할당하고, 모든 개발자가 사용할 수 있도록 `groups` 목록이 없는 업스트림을 추가합니다.

784 

785```yaml theme={null}

786upstreams:

787 - name: bedrock-payments

788 provider: bedrock

789 region: us-east-1

790 auth: {}

791 assume_role:

792 role_arn: arn:aws:iam::111111111111:role/claude-gateway-bedrock

793 groups: [payments-eng]

794 - name: bedrock-search

795 provider: bedrock

796 region: us-east-1

797 auth: {}

798 assume_role:

799 role_arn: arn:aws:iam::222222222222:role/claude-gateway-bedrock

800 groups: [search-eng]

801 - name: bedrock-shared # no groups: open to everyone, so listed last

802 provider: bedrock

803 region: us-east-1

804 auth: {}

805```

806 

807예시 구성에서 각 개발자의 요청은 해당 행의 첫 번째 업스트림에서 시작하여 페일오버 시 다음 업스트림으로 이동합니다.

808 

809| 개발자의 그룹 | 업스트림(순서대로) |

810| - | - |

811| `payments-eng` | `bedrock-payments`, 그다음 `bedrock-shared` |

812| `search-eng` | `bedrock-search`, 그다음 `bedrock-shared` |

813| `payments-eng` 및 `search-eng` | `bedrock-payments`, 그다음 `bedrock-search`, 그다음 `bedrock-shared` |

814| 둘 다 아님 | `bedrock-shared` |

815 

816팀의 업스트림이 요청된 모델을 `403`으로 거부하면, 게이트웨이는 해당 팀의 행에서 그 모델을 제공하는 다음 업스트림을 시도합니다. 팀을 하나의 업스트림에 고정하려면 모든 업스트림에 `groups` 목록을 지정하고, 다른 업스트림이 해당 팀 개발자가 속한 그룹을 나열하지 않도록 합니다. 그러면 해당 팀에는 페일오버가 없으며, 나열된 그룹 어디에도 속하지 않은 개발자의 요청은 [`400`으로 실패합니다](#what-happens-when-a-developer-is-in-no-listed-group).

817 

818각 개발자가 의도한 업스트림에 도달하도록 하려면, 정확히 일치하는 항목을 작성하고 개방된 업스트림을 마지막에 배치합니다.

819 

820* **항목**: 각 그룹을 IdP가 [groups 클레임](#oidc)으로 보내는 값과 정확히 동일하게 작성합니다. [`match.groups`](#managed)도 이 클레임을 읽습니다. 게이트웨이는 빈 목록이나 빈 항목을 발견하면 시작을 거부합니다. 항목을 IdP와 대조하지는 않으므로, 아무와도 일치하지 않는 항목이 있어도 경고가 표시되지 않습니다.

821* **순서**: `groups` 목록이 없는 업스트림은 마지막에 배치합니다. 이 업스트림은 모든 사용자에게 제공되므로, 앞에 나열되면 팀 전용 업스트림보다 먼저 해당 팀의 요청을 가져갑니다.

822 

823> [!WARNING]

824>

825> v2.1.314 이전 버전의 게이트웨이는 `groups`를 발견하면 시작을 거부하므로, 이를 추가하기 전에 모든 레플리카를 업그레이드하세요.

826>

827> 롤백하기 전에 `groups` 목록이 있는 각 업스트림과 이를 참조하는 모든 `upstream_model` 키 또는 가격 재정의를 제거하고, 업스트림을 최소 하나 이상 유지하세요. `groups` 키만 제거하면 해당 업스트림이 모든 개발자에게 개방됩니다. 제거된 업스트림을 여전히 참조하는 키나 재정의가 있으면 게이트웨이가 `references unknown upstream` 오류와 함께 시작되지 않습니다.

828 

829##### 개발자가 나열된 그룹에 속하지 않은 경우

830 

831모든 업스트림에 `groups` 목록이 있으면, 해당 그룹 중 어디에도 속하지 않은 개발자에게는 다음 오류가 표시되며 게이트웨이는 어떤 공급자에도 연결하지 않습니다.

832 

833```text theme={null}

834API Error: 400 you aren't in a group that can use this gateway. Ask your administrator to add you to one

835```

836 

837IdP에서 개발자를 나열된 그룹에 추가하거나, `groups` 목록이 없는 업스트림을 추가하세요.

838 

839게이트웨이는 토큰을 갱신할 때마다 개발자의 그룹을 다시 읽습니다. IdP가 갱신 시 그룹을 누락하면 해당 개발자는 그룹이 없는 상태가 됩니다.

840 

841* **[`oidc.allowed_groups`](#oidc)가 설정된 경우**: 게이트웨이가 갱신을 거부하고 세션이 종료됩니다

842* **그렇지 않고 `groups` 목록이 없는 업스트림이 있는 경우**: 개발자의 요청이 해당 업스트림으로 이동합니다

843* **그렇지 않고 모든 업스트림에 `groups` 목록이 있는 경우**: 개발자의 요청이 위 오류와 함께 실패합니다

844 

845IdP의 userinfo 엔드포인트가 groups 클레임을 반환하고 `oidc.google_groups`가 설정되지 않은 경우, [`oidc.userinfo_fallback`](#oidc)을 `true`로 설정하면 해당 엔드포인트에서 그룹을 가져와 채웁니다.

846 

691## 선택 섹션847## 선택 섹션

692 848 

693### `admin`849### `admin`


727 883 

728| 필드 | 필수 여부 | 설명 |884| 필드 | 필수 여부 | 설명 |

729| - | - | - |885| - | - | - |

730| `fail_closed_on_error` | 아니요 | 기본값은 `false`입니다. Postgres 장애 시 지출 한도 적용은 fail-open으로 동작하므로 추론이 계속 가능합니다. fail-closed로 동작하게 하려면 `true`로 설정하십시오. 이 경우 한도를 초과한 개발자가 차단되지만, 저장소에 연결할 수 없으면 다른 모든 사용자도 차단됩니다. [`admin:`](#admin) 블록이 필요합니다. 지출 한도 적용은 `admin`이 구성된 경우에만 실행되며, `admin` 블록 없이 이 값을 `true`로 설정하면 게이트웨이가 시작되지 않습니다. |886| `fail_closed_on_error` | 아니요 | 기본값은 `false`입니다. Postgres 장애 시 지출 적용은 fail-open 방식으로 동작하므로 추론은 계속 가능합니다. fail-closed 방식으로 동작하게 하려면 `true`로 설정하세요. 이 경우 한도를 초과한 개발자가 차단되지만, 저장소에 접근할 수 없으면 다른 모든 사용자도 차단됩니다. [`admin:`](#admin) 블록이 필요합니다. 지출 적용은 `admin`이 구성된 경우에만 실행되며, 이 블록 없이 이 값을 `true`로 설정하면 게이트웨이가 시작을 거부합니다. |

731 887 

732### `pricing`888### `pricing`

733 889 


782 938 

783#### 로그인한 클라이언트에 요금 전송939#### 로그인한 클라이언트에 요금 전송

784 940 

785게이트웨이 서버에 v2.1.268 이상이 있으면 게이트웨이는 `pricing`의 요금을 자신이 제공하는 [`managed`](#managed) 정책에 [`modelPricing`](https://code.claude.com/docs/ko/settings-reference#modelpricing) 관리형 설정으로도 넣습니다. 그러면 정책과 매칭되는 개발자는 `/usage`, 상태줄, OpenTelemetry에서 각 모델 ID를 처리하는 첫 번째 업스트림의 `pricing` 요금을 보게 됩니다. 어떤 정책과도 매칭되지 않는 개발자는 관리형 설정을 받지 않으므로 수치가 정가로 유지됩니다. 클라이언트는 Claude Code v2.1.242 이상에서 이 설정을 적용합니다.941게이트웨이 서버에서 v2.1.268 이상을 사용하면, 게이트웨이는 `pricing`의 요금을 자신이 제공하는 [`managed`](#managed) 정책에 [`modelPricing`](https://code.claude.com/docs/ko/settings-reference#modelpricing) 관리형 설정으로 함께 넣습니다.

942 

943그러면 정책과 일치하는 개발자는 `/usage`, 상태줄, OpenTelemetry에서 `pricing` 요금을 보게 됩니다. 어떤 정책과도 일치하지 않는 개발자는 관리형 설정을 받지 않으므로 수치가 정가로 유지됩니다. 클라이언트는 Claude Code v2.1.242 이상에서 이 설정을 적용합니다.

786 944 

787* 게이트웨이가 추가하는 항목: 정책의 `cli` 블록에 이미 `modelPricing`이 설정되어 있지 않으면, 게이트웨이는 `multiplier`와, 클라이언트가 요청할 수 있는 모든 모델 ID에 대해 해당 ID를 처리하는 첫 번째 업스트림의 재정의 행을 추가합니다. 장애 조치 업스트림만 청구하는 요금은 게이트웨이에만 남습니다.945* 게이트웨이가 추가하는 항목: 정책의 `cli` 블록에 이미 `modelPricing`이 설정되어 있지 않으면, 게이트웨이는 `multiplier`와, 클라이언트가 요청할 수 있는 모든 모델 ID에 대해 해당 ID를 처리하는 첫 번째 업스트림의 재정의 행을 추가합니다. 장애 조치 업스트림만 청구하는 요금은 게이트웨이에만 남습니다.

946* [`groups` 목록](#send-each-team-to-its-own-upstream)이 있는 업스트림: 이런 업스트림이 특정 모델 ID를 처리하는 첫 번째 업스트림이면, 게이트웨이는 해당 ID에 대한 행을 추가하지 않습니다. 그러면 개발자는 해당 ID에 대한 Claude Code 자체 요금을 보게 되며, 이는 Claude Code가 ID를 인식하는 경우 모델의 표준 요금에 `multiplier`를 곱한 값입니다.

788* 특정 정책 제외: 해당 정책의 `cli` 블록에서 `modelPricing`을 `{}`로 설정하면 그 정책의 개발자는 정가로 유지됩니다.947* 특정 정책 제외: 해당 정책의 `cli` 블록에서 `modelPricing`을 `{}`로 설정하면 그 정책의 개발자는 정가로 유지됩니다.

789* 정책 자체 요금 유지: `cli` 블록에서 자체 `multiplier` 또는 `overrides`로 `modelPricing`을 설정한 정책은 해당 `modelPricing`을 그대로 유지하며, 게이트웨이는 자체 요금을 추가하지 않습니다.948* 정책 자체 요금 유지: `cli` 블록에서 자체 `multiplier` 또는 `overrides`로 `modelPricing`을 설정한 정책은 해당 `modelPricing`을 그대로 유지하며, 게이트웨이는 자체 요금을 추가하지 않습니다.

790 949 


808 967 

809### `managed`968### `managed`

810 969 

811`managed` 블록은 IdP 그룹 또는 이메일 도메인을 기준으로 하는 역할 기반 액세스 정책을 정의합니다. 정책은 순서대로 평가되며, 첫 번째로 매칭되는 정책이 선택된 후 `match: {}` 캐치올 기본 정책 위에 병합됩니다. 정책은 `GET /managed/settings`에서 사용자별로 ETag/304 캐싱과 함께 제공됩니다.970`managed` 블록은 IdP 그룹 또는 이메일 도메인을 기준으로 하는 역할 기반 접근 정책을 정의합니다. 정책은 순서대로 평가되며, 기본적으로 첫 번째로 매칭된 정책이 선택된 다음 `match: {}` 포괄 기본 정책 위에 병합됩니다. 두 역할 정책에 매칭되는 사용자는 첫 번째 정책만 받으므로, [매칭되는 모든 정책을 적용](#apply-every-matching-policy)하지 않는 한 두 번째 정책의 거부 규칙은 적용되지 않습니다. 정책은 ETag/304 캐싱과 함께 `GET /managed/settings`에서 사용자별로 제공됩니다.

812 971 

813```yaml theme={null}972```yaml theme={null}

814managed:973managed:


849 1008 

850어떤 정책과도 매칭되지 않는 인증된 사용자는 게이트웨이 기본값을 받으며, 이는 카탈로그의 모든 모델과 관리형 설정 없음을 의미합니다. 기본 정책을 보장하려면 마지막에 `match: {}` 캐치올을 추가하십시오.1009어떤 정책과도 매칭되지 않는 인증된 사용자는 게이트웨이 기본값을 받으며, 이는 카탈로그의 모든 모델과 관리형 설정 없음을 의미합니다. 기본 정책을 보장하려면 마지막에 `match: {}` 캐치올을 추가하십시오.

851 1010 

1011그룹 정책의 규칙은 사용자의 토큰에 해당 그룹이 포함된 동안에만 적용되므로, 조직 전체 거부 규칙은 `match: {}` 정책에 넣으세요.

1012 

852> [!NOTE]1013> [!NOTE]

853>1014>

854> 게이트웨이는 자체 사용자 디렉터리를 보관하지 않습니다. 사용자의 IdP 토큰으로 각 요청을 승인하며, 토큰의 `groups` 클레임에서 그룹 멤버십을 읽고 이를 기준으로 정책을 평가합니다. 열거할 명단도, 미리 생성할 계정도 없으므로 SCIM이 동기화할 대상이 없어 SCIM 엔드포인트도 없습니다.1015> 게이트웨이는 자체 사용자 디렉터리를 보관하지 않습니다. 사용자의 IdP 토큰으로 각 요청을 승인하며, 토큰의 `groups` 클레임에서 그룹 멤버십을 읽고 이를 기준으로 정책을 평가합니다. 열거할 명단도, 미리 생성할 계정도 없으므로 SCIM이 동기화할 대상이 없어 SCIM 엔드포인트도 없습니다.


862>1023>

863> Claude Desktop은 [자체 일정](#when-a-policy-change-reaches-claude-desktop)을 따릅니다.1024> Claude Desktop은 [자체 일정](#when-a-policy-change-reaches-claude-desktop)을 따릅니다.

864 1025 

1026#### 매칭되는 모든 정책 적용

1027 

1028여러 역할 정책에 매칭되는 사용자는 `policies` 옆에 `policy_mode: layered`를 설정하지 않는 한 첫 번째 정책만 받습니다. `layered`를 사용하면 첫 번째 `match: {}` 정책까지 사용자와 매칭되는 모든 정책이 적용됩니다.

1029 

1030`policy_mode`에는 게이트웨이 서버의 Claude Code v2.1.316 이상이 필요합니다. 이를 지원하지 않는 버전의 게이트웨이는 이 키를 발견하면 시작을 거부합니다. 키를 추가하기 전에 모든 복제본을 업그레이드하고, 이전 버전으로 롤백하기 전에 키를 제거하세요. 다음 예시에서는 한 그룹이 `WebFetch`를 잃고 다른 그룹이 Opus를 얻습니다.

1031 

1032```yaml theme={null}

1033managed:

1034 policy_mode: layered

1035 policies:

1036 - match: { groups: [no-web] }

1037 cli:

1038 permissions: { deny: ["WebFetch"] }

1039 - match: { groups: [opus-users] }

1040 cli:

1041 availableModels: [opus, sonnet]

1042 - match: {}

1043 cli:

1044 availableModels: [sonnet]

1045 enforceAvailableModels: true

1046```

1047 

1048다음 표는 `no-web`과 `opus-users`에 모두 속한 사용자가 기본값인 `first_match`와 `layered`에서 각각 무엇을 받는지 보여 줍니다.

1049 

1050| 설정 | `first_match` | `layered` |

1051| - | - | - |

1052| `availableModels` | `sonnet` | `opus`, `sonnet` |

1053| `enforceAvailableModels` | `true` | `true` |

1054| `permissions.deny` | `WebFetch` | `WebFetch` |

1055 

1056게이트웨이는 매칭되는 각 정책을 그 아래에 나열된 정책 위에 기본 계층과 같은 [병합 규칙](#managed)으로 병합합니다.

1057 

1058* **허용 목록, 단일 값, `sandbox` 같은 블록**: 각각 이를 설정한 정책 중 가장 먼저 나열된 매칭 정책에서 통째로 가져오므로, 두 그룹의 `availableModels` 목록은 합산되지 않습니다.

1059* **거부 목록과 훅 배열**: 매칭되는 모든 정책에 걸쳐 합산되므로, 두 그룹에 속한 사용자는 두 그룹의 거부 규칙을 모두 받습니다.

1060* **`env`, `modelOverrides`, `skillOverrides`**: 항목은 이름별로 병합되며, 해당 이름을 설정한 정책 중 가장 먼저 나열된 매칭 정책이 값을 제공합니다.

1061* **`desktop` 키**: [기본 `desktop` 블록에 대한 규칙](#how-a-role-policy-inherits-the-base-desktop-block)에 따라 병합됩니다.

1062 

1063> [!WARNING]

1064>

1065> 정책이 합쳐지면 어느 한 정책만으로는 주어지지 않는 더 느슨한 규칙이 될 수 있습니다. 예를 들어 `match: {}` 정책은 `sandbox.enabled: true`를 설정하고, 한 그룹의 정책은 `permissions.allow: ["Bash"]`를, 다른 그룹의 정책은 `sandbox.enabled: false`를 설정한다고 가정합니다. 두 그룹에 모두 속한 사용자는 샌드박스가 꺼진 상태로 `Bash`가 허용됩니다. 이 경우 `Bash`를 허용하는 정책을 맨 앞에 나열하고, `match: {}` 정책의 `sandbox` 블록 전체를 그 정책에 복사하세요.

1066 

1067`layered`를 사용하면 게이트웨이는 다음을 포함한 일부 설정에서 시작을 거부합니다.

1068 

1069* **`!` 패턴**: `match: {}` 정책을 포함한 모든 정책의 `permissions.deny` 또는 `permissions.ask` 목록에 있는 `Read` 또는 `Edit` 규칙의 [`!` 부정](https://code.claude.com/docs/ko/permissions#special-characters-and-negation)

1070* **포괄 정책 외부의 훅 제한**: `match: {}` 이외의 정책에 있는 `disableAllHooks`, `allowedHttpHookUrls`, `httpHookAllowedEnvVars`

1071 

865#### 정책이 허용하는 모델로 세션 시작1072#### 정책이 허용하는 모델로 세션 시작

866 1073 

867`availableModels`에 Claude Code의 기본 모델이 빠져 있으면, 개발자가 `/model` 등으로 목록에 있는 모델을 선택할 때까지 세션이 `400` 응답을 받습니다. 게이트웨이 세션에서 기본 모델은 `opus` 별칭이 가리키는 Opus 모델이며, `availableModels`만으로는 이를 바꾸지 않습니다.1074`availableModels`에 Claude Code의 기본 모델이 빠져 있으면, 개발자가 `/model` 등으로 목록에 있는 모델을 선택할 때까지 세션이 `400` 응답을 받습니다. 게이트웨이 세션에서 기본 모델은 `opus` 별칭이 가리키는 Opus 모델이며, `availableModels`만으로는 이를 바꾸지 않습니다.

Details

169 * `access.public_client`는 `access_control.allow_cidrs`가 비어 있는 동안 공개 주소에서 프로세스당 첫 번째 요청이 도착한 클라이언트 IP를 포함합니다. 게이트웨이는 요청을 정상적으로 처리합니다. 이벤트는 게이트웨이가 공개 인터넷에서 도달 가능할 수 있음을 나타냅니다. 공개로 간주되는 것과 권장 허용 목록에 대해서는 [`access_control` 참조](https://code.claude.com/docs/ko/claude-apps-gateway-config#http-tuning)를 참조하세요.169 * `access.public_client`는 `access_control.allow_cidrs`가 비어 있는 동안 공개 주소에서 프로세스당 첫 번째 요청이 도착한 클라이언트 IP를 포함합니다. 게이트웨이는 요청을 정상적으로 처리합니다. 이벤트는 게이트웨이가 공개 인터넷에서 도달 가능할 수 있음을 나타냅니다. 공개로 간주되는 것과 권장 허용 목록에 대해서는 [`access_control` 참조](https://code.claude.com/docs/ko/claude-apps-gateway-config#http-tuning)를 참조하세요.

170 * `inference`는 어느 업스트림이 요청을 처리했는지와 응답 상태를 기록합니다170 * `inference`는 어느 업스트림이 요청을 처리했는지와 응답 상태를 기록합니다

171 * `desktop_bootstrap.denied`는 거부된 Claude Desktop 부트스트랩 가져오기를 이유(`not_configured`, `policy_not_opted_in`, 또는 `no_policy_matched`)와 사용자의 신원으로 기록합니다171 * `desktop_bootstrap.denied`는 거부된 Claude Desktop 부트스트랩 가져오기를 이유(`not_configured`, `policy_not_opted_in`, 또는 `no_policy_matched`)와 사용자의 신원으로 기록합니다

172 * `guardrail.trace`는 일치한 텍스트 없이 [어떤 필터가 작동했는지](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#log-which-guardrail-filter-fired)를 기록합니다

172 * `admin.denied`는 거부된 관리자 API 인증 시도를 클라이언트 IP, 메서드, 경로 및 이유로 기록하며, 제시된 키 자료는 포함하지 않습니다: `x-api-key`가 제시되었지만 구성된 키와 일치하지 않을 때 `invalid_key`, `Authorization` 헤더만 제시되었고 `admin.admin_groups`의 게이트웨이 세션으로 검증되지 않을 때 `bearer_rejected`, 또는 두 헤더 모두 제시되지 않을 때 `no_credentials`173 * `admin.denied`는 거부된 관리자 API 인증 시도를 클라이언트 IP, 메서드, 경로 및 이유로 기록하며, 제시된 키 자료는 포함하지 않습니다: `x-api-key`가 제시되었지만 구성된 키와 일치하지 않을 때 `invalid_key`, `Authorization` 헤더만 제시되었고 `admin.admin_groups`의 게이트웨이 세션으로 검증되지 않을 때 `bearer_rejected`, 또는 두 헤더 모두 제시되지 않을 때 `no_credentials`

173* **운영 로그**: 부팅, 경고 및 업스트림 오류에 대한 인간이 읽을 수 있는 `[gateway]` 접두사가 있는 줄입니다. `CLAUDE_GATEWAY_LOG_LEVEL` 환경 변수는 상세도를 제어하며 `debug`, `info`, `warn` 또는 `error`를 허용하며, 기본값은 `info`입니다. `debug`에서는 각 로그인 및 새로고침도 id\_token의 클레임 이름(값이 아님)을 기록하고, `userinfo_fallback`이 제공한 경우 userinfo 클레임의 이름을 기록하므로, PII를 기록하지 않고 `email_claim` 및 `groups_claim` 설정을 진단할 수 있습니다. 감사 이벤트에는 영향을 주지 않으며, 감사 이벤트는 항상 발생합니다.174* **운영 로그**: 부팅, 경고 및 업스트림 오류에 대한 인간이 읽을 수 있는 `[gateway]` 접두사가 있는 줄입니다. `CLAUDE_GATEWAY_LOG_LEVEL` 환경 변수는 상세도를 제어하며 `debug`, `info`, `warn` 또는 `error`를 허용하며, 기본값은 `info`입니다. `debug`에서는 각 로그인 및 새로고침도 id\_token의 클레임 이름(값이 아님)을 기록하고, `userinfo_fallback`이 제공한 경우 userinfo 클레임의 이름을 기록하므로, PII를 기록하지 않고 `email_claim` 및 `groups_claim` 설정을 진단할 수 있습니다. 감사 이벤트에는 영향을 주지 않으며, 감사 이벤트는 항상 발생합니다.

174 175 


311 312 

312마이그레이션은 추가 전용이므로, 더 적은 마이그레이션을 알고 있는 이전 바이너리로 롤백하는 것은 안전합니다. 추가 행을 무시합니다. 롤백은 또한 YAML을 이전 바이너리의 스키마에 대해 다시 검증하므로, 최신 릴리스에서 도입된 키를 채택한 구성은 이전 바이너리에서 부팅에 실패합니다. 롤백하기 전에 새 키를 제거합니다.313마이그레이션은 추가 전용이므로, 더 적은 마이그레이션을 알고 있는 이전 바이너리로 롤백하는 것은 안전합니다. 추가 행을 무시합니다. 롤백은 또한 YAML을 이전 바이너리의 스키마에 대해 다시 검증하므로, 최신 릴리스에서 도입된 키를 채택한 구성은 이전 바이너리에서 부팅에 실패합니다. 롤백하기 전에 새 키를 제거합니다.

313 314 

315> [!WARNING]

316>

317> 업스트림에서 `groups` 키만 제거하면 해당 업스트림이 모든 개발자에게 열립니다. [롤백하기 전에 제거할 항목](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#roll-back-a-gateway-that-uses-groups)을 참조하세요.

318 

314게이트웨이의 버전을 자신의 이미지에 고정하기 때문에, 새 Claude Code 릴리스의 수정 사항(보안 수정 사항 포함)은 핀을 업데이트하고 재배포할 때만 배포에 도달합니다. 게이트웨이를 프로덕션 자격 증명을 보유한 다른 서비스에 사용하는 것과 동일한 패칭 주기에 포함합니다.319게이트웨이의 버전을 자신의 이미지에 고정하기 때문에, 새 Claude Code 릴리스의 수정 사항(보안 수정 사항 포함)은 핀을 업데이트하고 재배포할 때만 배포에 도달합니다. 게이트웨이를 프로덕션 자격 증명을 보유한 다른 서비스에 사용하는 것과 동일한 패칭 주기에 포함합니다.

315 320 

316## 보안321## 보안


422| 피크 로드에서 응답이 시작되기 느리거나 중단된 것처럼 보이거나, 업스트림이 정상인데도 502 `all upstreams failed`로 실패함 | 복제본이 업스트림으로 한 번에 보내는 것보다 더 많은 요청을 열어 두었으므로 추가 요청은 gateway 내부에서 대기함. `provider: anthropic` 업스트림에서 `timeouts.upstream_ttfb_ms`보다 오래 대기하는 요청은 해당 업스트림을 포기하며, 이후 업스트림이 제공하지 않으면 502를 생성함. 로그는 `client requests are open`을 포함하는 경고를 표시함. | 복제본을 추가하거나 각 복제본의 제한을 높이세요. [동시 업스트림 요청](#concurrent-upstream-requests)을 참조하세요. |427| 피크 로드에서 응답이 시작되기 느리거나 중단된 것처럼 보이거나, 업스트림이 정상인데도 502 `all upstreams failed`로 실패함 | 복제본이 업스트림으로 한 번에 보내는 것보다 더 많은 요청을 열어 두었으므로 추가 요청은 gateway 내부에서 대기함. `provider: anthropic` 업스트림에서 `timeouts.upstream_ttfb_ms`보다 오래 대기하는 요청은 해당 업스트림을 포기하며, 이후 업스트림이 제공하지 않으면 502를 생성함. 로그는 `client requests are open`을 포함하는 경고를 표시함. | 복제본을 추가하거나 각 복제본의 제한을 높이세요. [동시 업스트림 요청](#concurrent-upstream-requests)을 참조하세요. |

423| `provider: anthropic` 이외의 업스트림에서 긴 사고 일시 정지가 있는 턴이 실패함. 게이트웨이 앞의 프록시가 약 12.5분 동안 열려 있는 요청 하나와 이어지는 일련의 `504` 오류를 로그에 기록함 | Claude Code가 첫 번째 응답 이벤트를 전달한 후 keepalive ping만 전달하던 스트림을 종료함. 스트리밍 없이 요청을 다시 보냈고, 각 응답이 프록시의 타임아웃보다 오래 걸림. | 개발자의 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`를 높이세요. [긴 사고가 프록시 타임아웃으로 끝남](#long-thinking-ends-in-proxy-timeouts)을 참조하세요. |428| `provider: anthropic` 이외의 업스트림에서 긴 사고 일시 정지가 있는 턴이 실패함. 게이트웨이 앞의 프록시가 약 12.5분 동안 열려 있는 요청 하나와 이어지는 일련의 `504` 오류를 로그에 기록함 | Claude Code가 첫 번째 응답 이벤트를 전달한 후 keepalive ping만 전달하던 스트림을 종료함. 스트리밍 없이 요청을 다시 보냈고, 각 응답이 프록시의 타임아웃보다 오래 걸림. | 개발자의 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`를 높이세요. [긴 사고가 프록시 타임아웃으로 끝남](#long-thinking-ends-in-proxy-timeouts)을 참조하세요. |

424| `provider: anthropic`에서 긴 사고 일시 정지가 있는 턴이 실패함. 프록시가 약 20분 동안 열려 있는 요청 하나와 이어지는 `502` 또는 `504` 오류를 로그에 기록함 | Claude Code가 첫 번째 응답 이벤트를 전달한 후 keepalive ping만 전달하던 스트림을 종료함. 스트리밍 없이 요청을 다시 보냈고, 각 응답이 게이트웨이의 업스트림 대기 시간인 `timeouts.upstream_ttfb_ms` 또는 프록시의 타임아웃보다 오래 걸림. | 개발자의 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`를 높이세요. [Anthropic API 업스트림에서의 긴 사고](#long-thinking-on-an-anthropic-api-upstream)를 참조하세요. |429| `provider: anthropic`에서 긴 사고 일시 정지가 있는 턴이 실패함. 프록시가 약 20분 동안 열려 있는 요청 하나와 이어지는 `502` 또는 `504` 오류를 로그에 기록함 | Claude Code가 첫 번째 응답 이벤트를 전달한 후 keepalive ping만 전달하던 스트림을 종료함. 스트리밍 없이 요청을 다시 보냈고, 각 응답이 게이트웨이의 업스트림 대기 시간인 `timeouts.upstream_ttfb_ms` 또는 프록시의 타임아웃보다 오래 걸림. | 개발자의 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`를 높이세요. [Anthropic API 업스트림에서의 긴 사고](#long-thinking-on-an-anthropic-api-upstream)를 참조하세요. |

430| 개발자의 요청이 `API Error: 400 you aren't in a group that can use this gateway. Ask your administrator to add you to one`으로 실패함 | 모든 업스트림에 [`groups` 목록](https://code.claude.com/docs/ko/claude-apps-gateway-config#what-happens-when-a-developer-is-in-no-listed-group)이 있고, 개발자의 세션에 나열된 그룹이 하나도 없음. | IdP에서 개발자를 나열된 그룹에 추가하거나, `groups`가 없는 업스트림을 마지막에 나열하여 나머지 모든 사용자에게 제공하세요. 게이트웨이는 개발자의 다음 토큰 새로 고침 시 그룹을 다시 읽습니다. IdP가 그룹을 누락했고 userinfo 엔드포인트가 그룹을 반환하는 경우 [`oidc.userinfo_fallback: true`](https://code.claude.com/docs/ko/claude-apps-gateway-config#oidc)를 설정하세요. |

425| IdP 오류: unknown or unsupported scope | IdP가 인식하지 못하는 범위를 거부함 | `oidc.scopes`를 정확히 IdP가 수락하는 목록으로 설정하세요. `openid`를 포함해야 합니다. 기본값은 `openid profile email offline_access`입니다. |431| IdP 오류: unknown or unsupported scope | IdP가 인식하지 못하는 범위를 거부함 | `oidc.scopes`를 정확히 IdP가 수락하는 목록으로 설정하세요. `openid`를 포함해야 합니다. 기본값은 `openid profile email offline_access`입니다. |

426| `oidc.scopes` 설정 후 세션이 자동으로 갱신되지 않음 | `offline_access`가 재정의에서 삭제됨 | IdP가 지원하는 경우 `offline_access`를 다시 추가하세요. 새로 고침 토큰 없이 개발자는 매 `session.ttl_hours`마다 브라우저 로그인을 다시 실행합니다. |432| `oidc.scopes` 설정 후 세션이 자동으로 갱신되지 않음 | `offline_access`가 재정의에서 삭제됨 | IdP가 지원하는 경우 `offline_access`를 다시 추가하세요. 새로 고침 토큰 없이 개발자는 매 `session.ttl_hours`마다 브라우저 로그인을 다시 실행합니다. |

427| 브라우저가 "This request came from another site and was blocked"를 표시함 | 교차 사이트 양식 POST, CSRF 보호로 차단됨. 포함되거나 프록시된 페이지의 경우 예상됨 | 검증 링크를 직접 열기 |433| 브라우저가 "This request came from another site and was blocked"를 표시함 | 교차 사이트 양식 POST, CSRF 보호로 차단됨. 포함되거나 프록시된 페이지의 경우 예상됨 | 검증 링크를 직접 열기 |


449* **`limits.max_request_header_bytes`가 설정됨**: 값을 높이거나 키를 제거하세요455* **`limits.max_request_header_bytes`가 설정됨**: 값을 높이거나 키를 제거하세요

450* **둘 다 해당하지 않거나, 이후에도 `431`이 계속됨**: IdP가 더 적은 그룹을 내보내도록 하세요. Okta, Microsoft Entra ID, Google Workspace가 그룹을 제공하는 방법은 [Identity provider setup](#identity-provider-setup)에서 다룹니다456* **둘 다 해당하지 않거나, 이후에도 `431`이 계속됨**: IdP가 더 적은 그룹을 내보내도록 하세요. Okta, Microsoft Entra ID, Google Workspace가 그룹을 제공하는 방법은 [Identity provider setup](#identity-provider-setup)에서 다룹니다

451 457 

452groups 클레임을 줄일 때는 다음 설정에 지정한 그룹을 유지하세요. 이 설정들은 개발자의 액세스, 정책, 지출 한도를 결정합니다:458groups 클레임을 줄일 때는 다음 설정에 지정한 그룹을 유지하세요. 이 설정들은 개발자의 액세스, 정책, 업스트림, 지출 한도를 결정합니다:

453 459 

454* **[`oidc.allowed_groups`](https://code.claude.com/docs/ko/claude-apps-gateway-config#oidc)**: 로그인할 수 있는 사용자를 결정합니다460* **[`oidc.allowed_groups`](https://code.claude.com/docs/ko/claude-apps-gateway-config#oidc)**: 로그인할 수 있는 사용자를 결정합니다

455* **[`admin.admin_groups`](https://code.claude.com/docs/ko/claude-apps-gateway-config#admin)**: 게이트웨이 세션으로 관리자 API를 호출할 수 있는 사용자를 결정합니다461* **[`admin.admin_groups`](https://code.claude.com/docs/ko/claude-apps-gateway-config#admin)**: 게이트웨이 세션으로 관리자 API를 호출할 수 있는 사용자를 결정합니다

456* **[`managed.policies`](https://code.claude.com/docs/ko/claude-apps-gateway-config#managed)의 `match.groups`**: 개발자에게 적용되는 정책을 결정합니다462* **[`managed.policies`](https://code.claude.com/docs/ko/claude-apps-gateway-config#managed)의 `match.groups`**: 개발자에게 적용되는 정책을 결정합니다

463* **[업스트림](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#send-each-team-to-its-own-upstream)의 `groups`**: 개발자에게 어떤 업스트림이 제공되는지 결정합니다

457* **`rbac_group` [지출 한도](https://code.claude.com/docs/ko/claude-apps-gateway-spend-limits.md)**: 개발자에게 적용되는 그룹 한도를 결정합니다464* **`rbac_group` [지출 한도](https://code.claude.com/docs/ko/claude-apps-gateway-spend-limits.md)**: 개발자에게 적용되는 그룹 한도를 결정합니다

458 465 

459### 긴 사고가 프록시 타임아웃으로 끝남466### 긴 사고가 프록시 타임아웃으로 끝남

Details

620 620 

621개발자가 `claude --model data-claude-opus-4-8`과 같이 작업 대상 팀의 ID를 전달하도록 합니다.621개발자가 `claude --model data-claude-opus-4-8`과 같이 작업 대상 팀의 ID를 전달하도록 합니다.

622 622 

623게이트웨이는 [일치하는 첫 번째 정책](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#managed)을 적용하므로, 두 팀 그룹에만 속한 개발자는 `team-platform` 정책을 받습니다. 이 경우 데이터 팀의 ID로 시작한 세션은 `is not in your role's availableModels allowlist` 오류로 실패하며, 오류 메시지에는 입력한 ID가 아니라 Claude Code의 기본 모델이 표시됩니다. 대신 두 팀 그룹을 하나의 정책의 `groups`에 함께 나열하면, 어느 팀에 속한 사람이든 두 팀의 프로필 중 어느 쪽에나 청구할 수 있게 됩니다.623기본적으로 게이트웨이는 [일치하는 첫 번째 정책](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#managed)을 적용하므로, 두 팀 그룹에만 속한 개발자는 `team-platform` 정책을 받습니다. 이 경우 데이터 팀의 ID로 시작한 세션은 `is not in your role's availableModels allowlist` 오류로 실패하며, 오류 메시지에는 입력한 ID가 아니라 Claude Code의 기본 모델이 표시됩니다. 대신 두 팀 그룹을 하나의 정책의 `groups`에 함께 나열하면, 어느 팀에 속한 사람이든 두 팀의 프로필 중 어느 쪽에나 청구할 수 있게 됩니다.

624 624 

625게이트웨이 자체의 [지출 한도](https://code.claude.com/docs/ko/claude-apps-gateway-spend-limits.md#set-a-cap)에서 개발자는 세션이 어떤 ID를 사용하든 기간당 하나의 합계와 하나의 한도를 가지며, 기본값은 소속 그룹의 한도 중 가장 낮은 값입니다. 한 팀의 더 낮은 한도 때문에 다른 팀의 작업이 중단되지 않도록 하려면 해당 개발자에 대한 사용자별 한도를 설정하세요.625게이트웨이 자체의 [지출 한도](https://code.claude.com/docs/ko/claude-apps-gateway-spend-limits.md#set-a-cap)에서 개발자는 세션이 어떤 ID를 사용하든 기간당 하나의 합계와 하나의 한도를 가지며, 기본값은 소속 그룹의 한도 중 가장 낮은 값입니다. 한 팀의 더 낮은 한도 때문에 다른 팀의 작업이 중단되지 않도록 하려면 해당 개발자에 대한 사용자별 한도를 설정하세요.

626 626 

Details

99| `--init-only` | [Setup](https://code.claude.com/docs/ko/hooks.md#setup) 및 `SessionStart` 훅을 실행한 다음 대화를 시작하지 않고 종료합니다 | `claude --init-only` |99| `--init-only` | [Setup](https://code.claude.com/docs/ko/hooks.md#setup) 및 `SessionStart` 훅을 실행한 다음 대화를 시작하지 않고 종료합니다 | `claude --init-only` |

100| `--include-hook-events` | 훅 수명 주기 이벤트를 출력 스트림에 포함합니다. `SessionStart` 및 `Setup` 훅 이벤트는 항상 포함되며 이 플래그가 필요하지 않습니다. `Notification`, `SessionEnd`, `PreCompact` 및 `PostCompact`와 같은 일부 훅 이벤트는 이 플래그를 사용하더라도 `hook_started` 이벤트를 생성하지 않습니다. 이러한 이벤트의 경우 Claude Code는 여전히 `hook_progress`를 내보내며, 1초 이상 실행되는 명령 훅은 출력을 생성하고, [백그라운드에서 실행되는 훅](https://code.claude.com/docs/ko/hooks.md#run-hooks-in-the-background)이 완료될 때만 `hook_response`를 내보냅니다. `--output-format stream-json`이 필요합니다 | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |100| `--include-hook-events` | 훅 수명 주기 이벤트를 출력 스트림에 포함합니다. `SessionStart` 및 `Setup` 훅 이벤트는 항상 포함되며 이 플래그가 필요하지 않습니다. `Notification`, `SessionEnd`, `PreCompact` 및 `PostCompact`와 같은 일부 훅 이벤트는 이 플래그를 사용하더라도 `hook_started` 이벤트를 생성하지 않습니다. 이러한 이벤트의 경우 Claude Code는 여전히 `hook_progress`를 내보내며, 1초 이상 실행되는 명령 훅은 출력을 생성하고, [백그라운드에서 실행되는 훅](https://code.claude.com/docs/ko/hooks.md#run-hooks-in-the-background)이 완료될 때만 `hook_response`를 내보냅니다. `--output-format stream-json`이 필요합니다 | `claude -p --output-format stream-json --verbose --include-hook-events "query"` |

101| `--include-partial-messages` | 출력에 부분 스트리밍 이벤트를 포함합니다. `--print` 및 `--output-format stream-json`이 필요합니다 | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |101| `--include-partial-messages` | 출력에 부분 스트리밍 이벤트를 포함합니다. `--print` 및 `--output-format stream-json`이 필요합니다 | `claude -p --output-format stream-json --verbose --include-partial-messages "query"` |

102| `--input-format` | 인쇄 모드에 대한 입력 형식을 지정합니다(옵션: `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |102| `--input-format` | 인쇄 모드에 대한 입력 형식을 지정합니다(옵션: `text`, `stream-json`) | `claude -p --input-format stream-json --output-format stream-json --verbose` |

103| `--json-schema` | 에이전트가 워크플로우를 완료한 후 JSON 스키마와 일치하는 검증된 JSON 출력을 가져옵니다(인쇄 모드만 해당). [구조화된 출력](https://code.claude.com/docs/ko/agent-sdk/structured-outputs.md)을 참조하세요. Claude Code는 잘못된 스키마에서 오류로 종료되고 클라이언트 측 검증 없이 주석으로 `format` 키워드를 허용합니다 | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |103| `--json-schema` | 에이전트가 워크플로우를 완료한 후 JSON 스키마와 일치하는 검증된 JSON 출력을 가져옵니다(인쇄 모드만 해당). [구조화된 출력](https://code.claude.com/docs/ko/agent-sdk/structured-outputs.md)을 참조하세요. Claude Code는 잘못된 스키마에서 오류로 종료되고 클라이언트 측 검증 없이 주석으로 `format` 키워드를 허용합니다 | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

104| `--maintenance` | `maintenance` 매처를 사용하여 세션 전에 [Setup 훅](https://code.claude.com/docs/ko/hooks.md#setup)을 실행합니다(인쇄 모드만 해당) | `claude -p --maintenance "query"` |104| `--maintenance` | `maintenance` 매처를 사용하여 세션 전에 [Setup 훅](https://code.claude.com/docs/ko/hooks.md#setup)을 실행합니다(인쇄 모드만 해당) | `claude -p --maintenance "query"` |

105| `--max-budget-usd` | API 호출에 대한 예상 지출이 이 금액에 도달하면 실행을 중지합니다(인쇄 모드만 해당). Claude Code는 [클라이언트 측 비용 추정치](https://code.claude.com/docs/ko/agent-sdk/cost-tracking.md#estimates-not-billing)를 기준으로 한도를 확인하며, 이는 실제 청구 금액과 다를 수 있습니다. [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md)의 지출이 한도에 포함됩니다. 지출이 한도를 초과할 수 있으므로 [여유를 두세요](https://code.claude.com/docs/ko/agent-sdk/agent-loop.md#budget-headroom). `--continue` 또는 `--resume`으로 대화로 돌아올 때 [이전 실행에서 복원된](https://code.claude.com/docs/ko/agent-sdk/cost-tracking.md#accumulate-costs-across-multiple-calls) 합계는 이에 포함되지 않습니다. 지출이 한도에 도달하면 다른 서브에이전트를 생성하면 `Budget limit reached`로 실패하고 Claude Code는 여전히 실행 중인 백그라운드 서브에이전트를 중지합니다. 한도 적용 동작에는 Claude Code v2.1.217 이상이 필요합니다 | `claude -p --max-budget-usd 5.00 "query"` |105| `--max-budget-usd` | API 호출에 대한 예상 지출이 이 금액에 도달하면 실행을 중지합니다(인쇄 모드만 해당). Claude Code는 [클라이언트 측 비용 추정치](https://code.claude.com/docs/ko/agent-sdk/cost-tracking.md#estimates-not-billing)를 기준으로 한도를 확인하며, 이는 실제 청구 금액과 다를 수 있습니다. [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md)의 지출이 한도에 포함됩니다. 지출이 한도를 초과할 수 있으므로 [여유를 두세요](https://code.claude.com/docs/ko/agent-sdk/agent-loop.md#budget-headroom). `--continue` 또는 `--resume`으로 대화로 돌아올 때 [이전 실행에서 복원된](https://code.claude.com/docs/ko/agent-sdk/cost-tracking.md#accumulate-costs-across-multiple-calls) 합계는 이에 포함되지 않습니다. 지출이 한도에 도달하면 다른 서브에이전트를 생성하면 `Budget limit reached`로 실패하고 Claude Code는 여전히 실행 중인 백그라운드 서브에이전트를 중지합니다. 한도 적용 동작에는 Claude Code v2.1.217 이상이 필요합니다 | `claude -p --max-budget-usd 5.00 "query"` |

106| `--max-turns` | 에이전트 턴의 수를 제한합니다(인쇄 모드만 해당). 한도에 도달하면 오류로 종료됩니다. 기본적으로 제한이 없습니다. `--input-format stream-json`을 사용하면 한도가 턴을 끝낼 때 여전히 대기열에 있는 메시지는 대기열에 남아 있고 자체 한도로 새 턴을 시작합니다 | `claude -p --max-turns 3 "query"` |106| `--max-turns` | 에이전트 턴의 수를 제한합니다(인쇄 모드만 해당). 기본적으로 제한이 없습니다. `--input-format stream-json`을 사용하면 한도가 턴을 끝낼 때 여전히 대기열에 있는 메시지는 대기열에 남아 있고 자체 한도로 새 턴을 시작합니다 | `claude -p --max-turns 3 "query"` |

107| `--mcp-config` | JSON 파일 또는 문자열에서 MCP 서버를 로드합니다(공백으로 구분). 이 플래그를 `-p`와 함께 전달하면 Claude Code는 첫 번째 턴을 실행하기 전에 여전히 보류 중인 서버가 연결될 때까지 기다립니다. [`MCP_TIMEOUT`](https://code.claude.com/docs/ko/env-vars) 시작 타임아웃(기본값 30초)까지입니다. [캐시된 도구 목록](https://code.claude.com/docs/ko/mcp.md#managing-your-servers)이 있는 서버는 대기를 건너뛰고 처음 사용할 때 연결됩니다. [자체 호스팅 환경](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#connection-timing)에서는 대신 더 짧은 대기가 적용됩니다. 대기에는 Claude Code v2.1.221 이상이 필요합니다 | `claude --mcp-config ./mcp.json` |107| `--mcp-config` | JSON 파일 또는 문자열에서 MCP 서버를 로드합니다(공백으로 구분). 이 플래그를 `-p`와 함께 전달하면 Claude Code는 첫 번째 턴을 실행하기 전에 여전히 보류 중인 서버가 연결될 때까지 기다립니다. [`MCP_TIMEOUT`](https://code.claude.com/docs/ko/env-vars) 시작 타임아웃(기본값 30초)까지입니다. [캐시된 도구 목록](https://code.claude.com/docs/ko/mcp.md#managing-your-servers)이 있는 서버는 대기를 건너뛰고 처음 사용할 때 연결됩니다. [자체 호스팅 환경](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#connection-timing)에서는 대신 더 짧은 대기가 적용됩니다. 대기에는 Claude Code v2.1.221 이상이 필요합니다 | `claude --mcp-config ./mcp.json` |

108| `--model` | `sonnet`, `opus`, `haiku` 또는 `fable`과 같은 [모델 별칭](https://code.claude.com/docs/ko/model-config.md#model-aliases) 또는 모델의 전체 이름으로 현재 세션에 대한 모델을 설정합니다. [`model`](https://code.claude.com/docs/ko/settings-reference#model) 설정 및 [`ANTHROPIC_MODEL`](https://code.claude.com/docs/ko/model-config#environment-variables)을 재정의합니다 | `claude --model claude-sonnet-5` |108| `--model` | `sonnet`, `opus`, `haiku` 또는 `fable`과 같은 [모델 별칭](https://code.claude.com/docs/ko/model-config.md#model-aliases) 또는 모델의 전체 이름으로 현재 세션에 대한 모델을 설정합니다. [`model`](https://code.claude.com/docs/ko/settings-reference#model) 설정 및 [`ANTHROPIC_MODEL`](https://code.claude.com/docs/ko/model-config#environment-variables)을 재정의합니다 | `claude --model claude-sonnet-5` |

109| `--name`, `-n` | 세션의 표시 이름을 설정합니다. `/resume` 및 터미널 제목에 표시됩니다. `claude --resume <name>`으로 명명된 세션을 재개할 수 있습니다. [`/rename`](https://code.claude.com/docs/ko/commands)은 세션 중에 이름을 변경하고 프롬프트 표시줄에도 표시합니다 | `claude -n "my-feature-work"` |109| `--name`, `-n` | 세션의 표시 이름을 설정합니다. `/resume` 및 터미널 제목에 표시됩니다. `claude --resume <name>`으로 명명된 세션을 재개할 수 있습니다. [`/rename`](https://code.claude.com/docs/ko/commands)은 세션 중에 이름을 변경하고 프롬프트 표시줄에도 표시합니다 | `claude -n "my-feature-work"` |

Details

335| **C/C++** | GCC, Clang, cmake, ninja, conan |335| **C/C++** | GCC, Clang, cmake, ninja, conan |

336| **Docker** | docker, dockerd, docker compose |336| **Docker** | docker, dockerd, docker compose |

337| **데이터베이스** | PostgreSQL 16, Redis 7.0 |337| **데이터베이스** | PostgreSQL 16, Redis 7.0 |

338| **브라우저** | `/usr/bin/google-chrome`의 Chrome for Testing, `CHROME_PATH` 환경 변수가 해당 경로로 설정됨 |

338| **유틸리티** | git, gh, jq, yq, ripgrep, tmux, vim, nano |339| **유틸리티** | git, gh, jq, yq, ripgrep, tmux, vim, nano |

339 340 

340¹ Bun이 설치되어 있지만 패키지 페칭에 대해 알려진 [프록시 호환성 문제](#install-dependencies-with-a-sessionstart-hook)가 있습니다.341¹ Bun이 설치되어 있지만 패키지 페칭에 대해 알려진 [프록시 호환성 문제](#install-dependencies-with-a-sessionstart-hook)가 있습니다.

commands.md +2 −2

Details

35아래 표에는 Claude Code에 포함된 모든 명령이 나열되어 있습니다. 대부분은 동작이 CLI에 직접 구현된 기본 제공 명령입니다. 다음 두 종류의 항목은 별도로 표시됩니다.35아래 표에는 Claude Code에 포함된 모든 명령이 나열되어 있습니다. 대부분은 동작이 CLI에 직접 구현된 기본 제공 명령입니다. 다음 두 종류의 항목은 별도로 표시됩니다.

36 36 

37* **[스킬](https://code.claude.com/docs/ko/skills.md#bundled-skills)**: 번들 스킬입니다. 사용자가 직접 작성하는 스킬과 같은 방식으로 작동하며, Claude에게 전달되는 프롬프트입니다.37* **[스킬](https://code.claude.com/docs/ko/skills.md#bundled-skills)**: 번들 스킬입니다. 사용자가 직접 작성하는 스킬과 같은 방식으로 작동하며, Claude에게 전달되는 프롬프트입니다.

38 * `/verify`는 사용자가 호출할 때만 실행됩니다. v2.1.215 이전에는 Claude가 스스로 `/verify`를 실행할 수도 있었습니다.38 * `/verify`는 사용자가 호출할 때만 실행됩니다.

39* **[워크플로](https://code.claude.com/docs/ko/workflows.md#bundled-workflows)**: 작업을 여러 서브에이전트에 분산하여 백그라운드에서 실행하는 번들 [동적 워크플로](https://code.claude.com/docs/ko/workflows.md)입니다.39* **[워크플로](https://code.claude.com/docs/ko/workflows.md#bundled-workflows)**: 작업을 여러 서브에이전트에 분산하여 백그라운드에서 실행하는 번들 [동적 워크플로](https://code.claude.com/docs/ko/workflows.md)입니다.

40 * `/deep-research`는 사용자가 호출할 때만 실행됩니다.40 * `/deep-research`는 사용자가 호출할 때만 실행됩니다.

41 41 


114| `/model [model]` | AI 모델을 전환하고 새 세션의 기본값으로 저장합니다. 지원되는 모델의 경우 왼쪽/오른쪽 화살표를 사용하여 [effort 수준을 조정](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)합니다. 인수 없이 실행하면 선택기가 열리며, 행에서 `s`를 누르면 현재 세션에 대해서만 전환합니다. [새 모델이 적용되는 시점](https://code.claude.com/docs/ko/interactive-mode.md#when-claude-code-sends-what-you-queued)을 참조하세요. v2.1.242 이전에는 적용이 지연될 수 있었습니다. `-p`에서는 모델 인수를 전달하며, 이 모델은 기본값으로 저장되지 않습니다. v2.1.205 이상이 필요합니다 |114| `/model [model]` | AI 모델을 전환하고 새 세션의 기본값으로 저장합니다. 지원되는 모델의 경우 왼쪽/오른쪽 화살표를 사용하여 [effort 수준을 조정](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)합니다. 인수 없이 실행하면 선택기가 열리며, 행에서 `s`를 누르면 현재 세션에 대해서만 전환합니다. [새 모델이 적용되는 시점](https://code.claude.com/docs/ko/interactive-mode.md#when-claude-code-sends-what-you-queued)을 참조하세요. v2.1.242 이전에는 적용이 지연될 수 있었습니다. `-p`에서는 모델 인수를 전달하며, 이 모델은 기본값으로 저장되지 않습니다. v2.1.205 이상이 필요합니다 |

115| `/output-style [style]` | [출력 스타일](https://code.claude.com/docs/ko/output-styles.md)을 나열하거나 특정 스타일로 전환합니다(예: `/output-style concise`). [출력 스타일 변경](https://code.claude.com/docs/ko/output-styles.md#change-your-output-style)을 참조하세요. Claude Code v2.1.269 이상이 필요합니다 |115| `/output-style [style]` | [출력 스타일](https://code.claude.com/docs/ko/output-styles.md)을 나열하거나 특정 스타일로 전환합니다(예: `/output-style concise`). [출력 스타일 변경](https://code.claude.com/docs/ko/output-styles.md#change-your-output-style)을 참조하세요. Claude Code v2.1.269 이상이 필요합니다 |

116| `/passes` | 친구들과 Claude Code 무료 1주일 이용권을 공유합니다. 계정이 자격 요건을 충족하는 경우에만 표시됩니다 |116| `/passes` | 친구들과 Claude Code 무료 1주일 이용권을 공유합니다. 계정이 자격 요건을 충족하는 경우에만 표시됩니다 |

117| `/permissions` | 도구 권한에 대한 허용, 확인, 거부 규칙을 관리합니다. 범위별로 규칙을 확인하고, 규칙을 추가 또는 제거하고, 작업 디렉터리를 관리하고, [최근 자동 모드 거부 내역](https://code.claude.com/docs/ko/auto-mode-config.md#review-denials)을 검토할 수 있는 대화형 대화 상자를 엽니다. 대화 상자의 **Auto mode** 탭에서 [자동 모드 분류기 규칙](https://code.claude.com/docs/ko/auto-mode-config.md#edit-rules-from-permissions)을 확인하고 편집할 수도 있습니다. Claude가 응답하는 중에 실행하면 Claude Code가 즉시 대화 상자를 열고, 같은 턴에서 Claude의 다음 도구 호출부터 변경 사항을 적용합니다. v2.1.234 이전에는 Claude Code가 턴이 끝날 때까지 명령을 대기열에 두었습니다. 별칭: `/allowed-tools` |117| `/permissions` | 도구 권한에 대한 허용, 확인, 거부 규칙을 관리합니다. 범위별로 규칙을 확인하고, 규칙을 추가 또는 제거하고, 작업 디렉터리를 관리하고, [최근 자동 모드 거부 내역](https://code.claude.com/docs/ko/auto-mode-config.md#review-denials)을 검토할 수 있는 대화형 대화 상자를 엽니다. 대화 상자의 **Auto mode** 탭에서 [자동 모드 분류기 규칙](https://code.claude.com/docs/ko/auto-mode-config.md#edit-rules-from-permissions)을 확인하고 편집할 수도 있습니다. 별칭: `/allowed-tools` |

118| `/plan [description]` | 프롬프트에서 바로 플랜 모드로 전환합니다. 선택적으로 설명을 전달하면 플랜 모드로 전환하고 해당 작업을 즉시 시작합니다(예: `/plan fix the auth bug`) |118| `/plan [description]` | 프롬프트에서 바로 플랜 모드로 전환합니다. 선택적으로 설명을 전달하면 플랜 모드로 전환하고 해당 작업을 즉시 시작합니다(예: `/plan fix the auth bug`) |

119| `/plugin [subcommand]` | Claude Code [플러그인](https://code.claude.com/docs/ko/plugins/overview.md)을 관리합니다. 인수 없이 실행하면 플러그인 메뉴가 열리며, `list`, `install`, `enable`, `disable` 같은 하위 명령을 전달하면 바로 실행합니다. Claude Code는 설치 중에 플러그인을 활성화할 수 있으며, [설치 요약](https://code.claude.com/docs/ko/plugins/install.md#install-a-plugin)에서 활성화되었는지 또는 `/reload-plugins`를 실행해야 하는지 알려줍니다 |119| `/plugin [subcommand]` | Claude Code [플러그인](https://code.claude.com/docs/ko/plugins/overview.md)을 관리합니다. 인수 없이 실행하면 플러그인 메뉴가 열리며, `list`, `install`, `enable`, `disable` 같은 하위 명령을 전달하면 바로 실행합니다. Claude Code는 설치 중에 플러그인을 활성화할 수 있으며, [설치 요약](https://code.claude.com/docs/ko/plugins/install.md#install-a-plugin)에서 활성화되었는지 또는 `/reload-plugins`를 실행해야 하는지 알려줍니다 |

120| `/plugin-authoring` | Claude가 [mod를 작성](https://code.claude.com/docs/ko/plugins/mods/create.md#ask-claude-for-a-mod)할 때 참고하는 참조 자료를 로드합니다. mod를 요청하면 Claude가 스스로 로드할 수 있습니다. 이는 [기본 제공 플러그인](https://code.claude.com/docs/ko/plugins/mods/overview.md#mods-built-into-claude-code)의 스킬이며, `/plugin`에서 끌 수 있습니다. Claude Code v2.1.287 이상이 필요합니다 |120| `/plugin-authoring` | Claude가 [mod를 작성](https://code.claude.com/docs/ko/plugins/mods/create.md#ask-claude-for-a-mod)할 때 참고하는 참조 자료를 로드합니다. mod를 요청하면 Claude가 스스로 로드할 수 있습니다. 이는 [기본 제공 플러그인](https://code.claude.com/docs/ko/plugins/mods/overview.md#mods-built-into-claude-code)의 스킬이며, `/plugin`에서 끌 수 있습니다. Claude Code v2.1.287 이상이 필요합니다 |

costs.md +6 −4

Details

20>20>

21> `/usage`의 Session 블록은 API 토큰 사용량을 표시하며 API 사용자를 위한 것입니다. Claude Pro, Max 및 Ultra 구독자는 구독에 사용량이 포함되어 있으므로 세션 비용 수치는 청구 목적으로 관련이 없습니다. 구독자는 동일한 화면에서 요금제 사용량 막대, 활동 통계 및 사용량 분석을 볼 수 있습니다.21> `/usage`의 Session 블록은 API 토큰 사용량을 표시하며 API 사용자를 위한 것입니다. Claude Pro, Max 및 Ultra 구독자는 구독에 사용량이 포함되어 있으므로 세션 비용 수치는 청구 목적으로 관련이 없습니다. 구독자는 동일한 화면에서 요금제 사용량 막대, 활동 통계 및 사용량 분석을 볼 수 있습니다.

22 22 

23`/usage` 상단의 Session 블록은 현재 세션에 대한 자세한 토큰 사용량 통계를 표시합니다. Claude Code는 [`modelPricing`](https://code.claude.com/docs/ko/settings-reference#modelpricing) 테이블이 적용되지 않는 한 토큰 수에서 정가로 달러 수치를 로컬로 계산합니다. 관리자는 조직의 관리 설정에서 이를 설정하여 수치가 계약된 요금을 사용하도록 하며, 테이블이 적용되는 동안 `Total cost` 줄에는 `at your organization's configured rates` 메모가 표시됩니다. 수치는 추정치이므로 권위 있는 청구를 위해 [Claude Console](https://platform.claude.com/usage)의 사용량 페이지를 참조하십시오.23`/usage` 상단의 Session 블록은 현재 세션에 대한 자세한 토큰 사용량 통계를 표시합니다.

24 

25Claude Code는 [`modelPricing`](https://code.claude.com/docs/ko/settings-reference#modelpricing) 테이블이 적용되지 않는 한 토큰 수에서 정가로 달러 수치를 로컬로 계산합니다. 관리자는 조직의 관리형 설정에서 이를 설정하여 수치가 계약된 요금을 사용하도록 하며, 테이블이 적용되는 동안 `Total cost` 줄에는 `at your organization's configured rates` 메모가 표시됩니다. 수치는 추정치이므로 정확한 청구 정보는 [조직의 비용 관리](#manage-costs-for-your-organization)를 참조하십시오.

24 26 

25```text theme={null}27```text theme={null}

26Total cost: $0.5528Total cost: $0.55


138 140 

139이전 요청이 관리자를 기다리는 동안 `/usage-credits`를 다시 실행하면, Claude Code는 중복을 보내지 않고 요청이 이미 전송되었다고 알려줍니다. 관리자가 요청을 거부한 후 명령을 다시 실행하면 새 요청을 보냅니다. v2.1.222 이전에는 거부된 요청도 새 요청을 차단했습니다.141이전 요청이 관리자를 기다리는 동안 `/usage-credits`를 다시 실행하면, Claude Code는 중복을 보내지 않고 요청이 이미 전송되었다고 알려줍니다. 관리자가 요청을 거부한 후 명령을 다시 실행하면 새 요청을 보냅니다. v2.1.222 이전에는 거부된 요청도 새 요청을 차단했습니다.

140 142 

141Pro 및 Max 요금제에서 사용량 크레딧이 여전히 사용 가능한 상태에서 지출 한도에 도달하면, Claude Code는 CLI를 떠나지 않고 한도를 높이거나 제거하도록 메시지를 표시합니다. 서버가 변경을 거부하면 [Could not update your spend limit](https://code.claude.com/docs/ko/errors.md#could-not-update-your-spend-limit)를 참조하십시오.143Pro, Max 및 Ultra 요금제에서 사용량 크레딧이 남아 있는 상태로 지출 한도에 도달하면, Claude Code는 CLI를 떠나지 않고 한도를 높이거나 제거하도록 확인을 요청합니다. 서버가 변경을 거부하면 [Could not update your spend limit](https://code.claude.com/docs/ko/errors.md#could-not-update-your-spend-limit)를 참조하십시오.

142 144 

143## 조직의 비용 관리145## 조직의 비용 관리

144 146 


149| 설정 | 지출 확인 | 지출 상한 설정 | 사용자별 보고 |151| 설정 | 지출 확인 | 지출 상한 설정 | 사용자별 보고 |

150| :- | :- | :- | :- |152| :- | :- | :- | :- |

151| [Claude for Teams 또는 Enterprise](#claude-for-teams-and-enterprise) | [조직 분석의 지출 보고서](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) | 관리자 설정의 지출 한도 | [지출 보고서 CSV](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans), Enterprise의 경우 [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) |153| [Claude for Teams 또는 Enterprise](#claude-for-teams-and-enterprise) | [조직 분석의 지출 보고서](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans) | 관리자 설정의 지출 한도 | [지출 보고서 CSV](https://support.claude.com/en/articles/12883420-view-usage-analytics-for-team-and-enterprise-plans), Enterprise의 경우 [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics) |

152| [Claude Console (API)](#claude-console) | [Console 사용량 페이지](https://platform.claude.com/usage) | 워크스페이스 지출 한도 | [Console 대시보드](https://platform.claude.com/claude-code), [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) |154| [Claude Console (API)](#claude-console) | [Console 비용 페이지](https://platform.claude.com/cost) | 워크스페이스 지출 한도 | [Console 대시보드](https://platform.claude.com/claude-code), [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) |

153| [Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry](#cloud-providers) | 클라우드 청구 콘솔 | 클라우드의 예산 제어 | [OpenTelemetry](https://code.claude.com/docs/ko/monitoring-usage.md) 또는 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway) |155| [Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry](#cloud-providers) | 클라우드 청구 콘솔 | 클라우드의 예산 제어 | [OpenTelemetry](https://code.claude.com/docs/ko/monitoring-usage.md) 또는 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway) |

154 156 

155[OpenTelemetry 내보내기](https://code.claude.com/docs/ko/monitoring-usage.md)는 모든 설정에서 작동하며, 사용자별 토큰 및 비용 메트릭을 거의 실시간으로 자체 관측성 스택에 스트리밍하는 유일한 옵션입니다.157[OpenTelemetry 내보내기](https://code.claude.com/docs/ko/monitoring-usage.md)는 모든 설정에서 작동하며, 사용자별 토큰 및 비용 메트릭을 거의 실시간으로 자체 관측성 스택에 스트리밍하는 유일한 옵션입니다.


193>195>

194> 사용자 지정 속도 제한이 있는 조직의 경우, 이 워크스페이스의 Claude Code 트래픽은 조직 전체의 API 속도 제한에 포함됩니다. Claude Console에서 이 워크스페이스의 Limits 페이지에 [워크스페이스 속도 제한](https://platform.claude.com/docs/en/api/rate-limits#setting-lower-limits-for-workspaces)을 설정하면 Claude Code의 점유율을 제한하고 다른 프로덕션 워크로드를 보호할 수 있습니다.196> 사용자 지정 속도 제한이 있는 조직의 경우, 이 워크스페이스의 Claude Code 트래픽은 조직 전체의 API 속도 제한에 포함됩니다. Claude Console에서 이 워크스페이스의 Limits 페이지에 [워크스페이스 속도 제한](https://platform.claude.com/docs/en/api/rate-limits#setting-lower-limits-for-workspaces)을 설정하면 Claude Code의 점유율을 제한하고 다른 프로덕션 워크로드를 보호할 수 있습니다.

195 197 

196사용자별 보고의 경우, [Console 대시보드](https://platform.claude.com/claude-code)는 구성원별 지출과 수락된 줄 수를 보여 주며, [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api)는 [Admin API 키](https://platform.claude.com/settings/admin-keys)를 사용해 동일한 일일 사용자별 메트릭을 프로그래밍 방식으로 반환합니다. [API 고객을 위한 분석](https://code.claude.com/docs/ko/analytics.md#access-analytics-for-api-customers)을 참조하세요.198사용자별 보고의 경우, [Console 대시보드](https://platform.claude.com/claude-code)는 구성원별 지출과 수락된 줄 수를 보여 주며, [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api)는 [Admin API 키](https://platform.claude.com/settings/admin-keys)를 사용해 일일 사용자별 메트릭을 프로그래밍 방식으로 반환합니다. [API 고객을 위한 분석](https://code.claude.com/docs/ko/analytics.md#access-analytics-for-api-customers)을 참조하세요.

197 199 

198#### 속도 제한 권장 사항200#### 속도 제한 권장 사항

199 201 

desktop.md +23 −10

Details

131* Browser 패널 헤더의 **Dev servers** 메뉴에서 서버를 시작하거나 중지하거나, 모든 서버를 한 번에 중지합니다131* Browser 패널 헤더의 **Dev servers** 메뉴에서 서버를 시작하거나 중지하거나, 모든 서버를 한 번에 중지합니다

132* Browser 패널의 **⋮** 메뉴에 있는 **Keep cookies**로 앱을 종료한 후에도 Browser가 쿠키를 유지할지 선택하여 개발 중에 다시 로그인할 필요가 없도록 합니다132* Browser 패널의 **⋮** 메뉴에 있는 **Keep cookies**로 앱을 종료한 후에도 Browser가 쿠키를 유지할지 선택하여 개발 중에 다시 로그인할 필요가 없도록 합니다

133 133 

134SSH 세션에서는 Desktop을 종료하면 패널의 쿠키가 사라집니다. **Keep cookies**로는 이를 변경할 수 없습니다.

135 

134Claude는 프로젝트를 기반으로 초기 서버 구성을 만듭니다. 앱이 사용자 정의 개발 명령을 사용하는 경우 `.claude/launch.json`을 편집하여 설정과 일치시킵니다. 전체 참조는 [미리보기 서버 구성](#configure-preview-servers)을 참조하세요.136Claude는 프로젝트를 기반으로 초기 서버 구성을 만듭니다. 앱이 사용자 정의 개발 명령을 사용하는 경우 `.claude/launch.json`을 편집하여 설정과 일치시킵니다. 전체 참조는 [미리보기 서버 구성](#configure-preview-servers)을 참조하세요.

135 137 

136Browser에 저장된 데이터를 지우려면 Browser 패널의 **⋮** 메뉴에서 **Clear browsing data**를 선택합니다. Browser를 완전히 끄려면 **Settings > Code** 또는 **Settings > Claude Code**에서 **Browser tools**를 끕니다.138Browser에 저장된 데이터를 지우려면 Browser 패널의 **⋮** 메뉴에서 **Clear browsing data**를 선택합니다. Browser를 완전히 끄려면 **Settings > Code** 또는 **Settings > Claude Code**에서 **Browser tools**를 끕니다.


312 314 

313어느 레이아웃에서든 프롬프트 상자에 `/context`를 입력하면 이 세션의 컨텍스트 윈도우에 대한 범주별 분석이 채팅에 출력됩니다.315어느 레이아웃에서든 프롬프트 상자에 `/context`를 입력하면 이 세션의 컨텍스트 윈도우에 대한 범주별 분석이 채팅에 출력됩니다.

314 316 

315두 레이아웃 모두 모델 선택기 옆에 사용량 링이 있습니다. 이를 클릭하면 계획 사용량을 볼 수 있으며, 계획 사용량은 모든 Claude Code 사용 환경에서 공유됩니다.317두 레이아웃 모두 사용량 링은 프롬프트 상자 아래 행에 있습니다. 이를 클릭하면 계획 사용량을 볼 수 있으며, 계획 사용량은 모든 Claude Code 사용 환경에서 공유됩니다.

316 318 

317## Claude가 컴퓨터를 사용하도록 하기319## Claude가 컴퓨터를 사용하도록 하기

318 320 


409 411 

410#### 별도 worktree에서 세션 실행하기412#### 별도 worktree에서 세션 실행하기

411 413 

412Git 저장소인 프로젝트에서는 세션을 시작하기 전에 **Worktree**를 켜서 프로젝트의 격리된 사본인 별도의 [Git worktree](https://code.claude.com/docs/ko/worktrees.md)에서 세션을 실행할 수 있습니다. 기본적으로 **Worktree**는 꺼져 있으며 Claude는 프로젝트 폴더 자체에서 작업합니다. [현재 레이아웃](#check-which-layout-you-have)에서는 [프롬프트 상자 아래 행](#start-a-session)의 **Worktree** 버튼을 켭니다.414Git 저장소인 프로젝트에서는 세션을 시작하기 전에 **Worktree**를 켜면 프로젝트의 격리된 복사본인 자체 [Git worktree](https://code.claude.com/docs/ko/worktrees.md)에서 세션을 실행할 수 있습니다. 기본적으로 **Worktree**는 꺼져 있으며 Claude는 프로젝트 폴더 자체에서 작업합니다. [현재 레이아웃](#check-which-layout-you-have)에서는 [프롬프트 상자 아래 행](#start-a-session)에서 **Worktree**를 켭니다.

413 415 

414* **[서드 파티 공급자](https://code.claude.com/docs/ko/third-party-integrations.md) 사용 시**: 프롬프트 상자 아래 행에 프로젝트 폴더 컨트롤은 표시되지만 **Worktree** 버튼이 없으면 해당 컨트롤을 클릭하고 **Worktree**를 켭니다416* **[서드파티 제공업체](https://code.claude.com/docs/ko/third-party-integrations.md)를 사용하는 경우**: 프롬프트 상자 아래 행에 프로젝트 폴더 컨트롤은 표시되지만 **Worktree**가 표시되지 않으면 프로젝트 폴더 컨트롤을 클릭하고 **Worktree**를 켭니다

415* **[저장된 로컬 또는 SSH 환경](#create-a-saved-environment)의 기본값으로 설정 시**: 환경을 만들거나 편집할 때 **Worktree**를 설정합니다417* **[저장된 로컬 또는 SSH 환경](#create-a-saved-environment)의 기본값으로 설정 시**: 환경을 만들거나 편집할 때 **Worktree**를 설정합니다

416* **[이전 레이아웃](#check-which-layout-you-have)**: 프롬프트 상자 위의 브랜치 이름 옆에 있는 **worktree** 체크박스를 선택합니다418* **[이전 레이아웃](#check-which-layout-you-have)**: 프롬프트 상자 위의 브랜치 이름 옆에 있는 **worktree** 체크박스를 선택합니다

417 419 


1094 1096 

1095##### OpenSSH 클라이언트 없이 Windows에서 연결1097##### OpenSSH 클라이언트 없이 Windows에서 연결

1096 1098 

1097Windows에서 컴퓨터가 [OpenSSH 클라이언트 요구 사항](#use-your-ssh-configuration)을 충족하지 않으면 Desktop의 기본 제공 SSH 클라이언트를 통해 연결합니다. 서드 파티 제공업체를 사용하는 경우 기본적으로 기본 제공 클라이언트를 통해 연결하며, 관리자가 이를 변경할 수 있습니다. 해당 설정은 [3P의 Claude Desktop에서 SSH 원격 세션](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)을 참조하세요.1099Windows에서 사용자 컴퓨터가 [OpenSSH 클라이언트 요구 사항](#use-your-ssh-configuration)을 충족하지 않으면 Desktop의 내장 SSH 클라이언트를 통해 연결합니다. 서드파티 제공업체를 사용하는 경우 어떤 클라이언트를 통해 연결할지는 Desktop 버전과 관리자의 설정에 따라서도 달라집니다. [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)를 참조하십시오.

1098 1100 

1099기본 제공 클라이언트를 사용하는 경우에도 `PATH`에 `ssh` 명령이 있으면 **SSH host** 필드에 SSH 구성의 `Host` 이름을 입력할 수 있으며, 다음과 같은 제한이 있습니다:1101기본 제공 클라이언트를 사용하는 경우에도 `PATH`에 `ssh` 명령이 있으면 **SSH host** 필드에 SSH 구성의 `Host` 이름을 입력할 수 있으며, 다음과 같은 제한이 있습니다:

1100 1102 

1101* **항목의 설정**: Desktop은 `HostName`, `User`, `Port`, `IdentityFile`을 가져옵니다. `PATH`에 `sh` 셸이 있으면 `ProxyCommand`도 가져옵니다.1103* **항목의 설정**: Desktop은 `HostName`, `User`, `Port`, `IdentityFile`, `ConnectTimeout`을 가져옵니다. `PATH`에 `sh` 셸이 있으면 `ProxyCommand`도 가져옵니다.

1102* **SSH key (optional)**: 여기서 선택한 키 파일은 `IdentityFile`을 대체하므로, 항목의 `IdentityFile`을 유지하려면 이 필드를 비워 둡니다1104* **SSH key (optional)**: 여기서 선택한 키 파일은 `IdentityFile`을 대체하므로, 항목의 `IdentityFile`을 유지하려면 이 필드를 비워 둡니다

1103* **`CertificateFile` 및 `ProxyJump`**: Desktop은 `CertificateFile`을 무시하며, 항목에 `ProxyJump`가 설정되어 있으면 연결이 실패합니다. 두 설정 중 하나를 사용하려면 [OpenSSH 클라이언트를 통해 연결](#use-your-ssh-configuration)하세요.1105* **`CertificateFile` 및 `ProxyJump`**: Desktop은 `CertificateFile`을 무시하며, 항목에 `ProxyJump`가 설정되어 있으면 연결이 실패합니다. 두 설정 중 하나를 사용하려면 [OpenSSH 클라이언트를 통해 연결](#use-your-ssh-configuration)하세요.

1104 1106 


1198 1200 

1199##### SSH 연결 타임아웃 늘리기1201##### SSH 연결 타임아웃 늘리기

1200 1202 

1201SSH 구성에서 호스트에 `ConnectTimeout`을 설정하지 않은 경우 Desktop은 `ssh`에 연결 시간으로 30초를 줍니다. 점프 호스트나 `ProxyCommand`를 거치는 경우 이 시간에는 경로가 연결되는 데 걸리는 시간이 포함됩니다. 경로에 더 긴 시간이 필요하다면 항목에 더 높은 값을 추가합니다:1203점프 호스트나 `ProxyCommand`를 통해 연결하는 동안 세션이 시간 초과되면 `~/.ssh/config`의 원격 머신 항목에서 `ConnectTimeout`을 늘리십시오. 90초보다 길게 설정하십시오. 로그인 프롬프트나 휴대폰 푸시처럼 점프 호스트나 `ProxyCommand`가 사용자를 기다리는 시간도 더하십시오.

1202 1204 

1203```text ~/.ssh/config theme={null}1205```text ~/.ssh/config theme={null}

1204Host devbox1206Host devbox


1210 1212 

1211`ssh`는 호스트에 대해 처음 찾은 값을 사용하므로, 이 항목을 `ConnectTimeout`을 설정하는 `Host *` 항목보다 위에 두세요. 확인하려면 컴퓨터의 터미널에서 `ssh -G devbox`를 실행합니다. 출력에 `connecttimeout 120`이 포함됩니다. 값을 변경한 후에는 Desktop을 종료했다가 다시 엽니다.1213`ssh`는 호스트에 대해 처음 찾은 값을 사용하므로, 이 항목을 `ConnectTimeout`을 설정하는 `Host *` 항목보다 위에 두세요. 확인하려면 컴퓨터의 터미널에서 `ssh -G devbox`를 실행합니다. 출력에 `connecttimeout 120`이 포함됩니다. 값을 변경한 후에는 Desktop을 종료했다가 다시 엽니다.

1212 1214 

1213원격 머신 자체가 휴대폰에서의 승인을 기다리는 경우, 설정한 `ConnectTimeout`과 관계없이 45초 이내에 승인하세요. Desktop이 `ServerAliveInterval`과 `ServerAliveCountMax`를 직접 설정하며, 그러면 `ssh`는 원격 머신이 그 시간 동안 아무것도 보내지 않는 로그인을 닫기 때문에 이 제한은 늘릴 수 없습니다. 대신 점프 호스트나 `ProxyCommand`가 사용자를 기다리는 경우에는 원격 머신 항목의 `ConnectTimeout`을 늘려 그 시간을 포함하세요.1215SSH 구성에서 호스트에 `ConnectTimeout`을 설정하지 않으면 Desktop은 `ssh`에 연결 시간으로 30초를 줍니다. 점프 호스트나 `ProxyCommand`를 통하는 경우 이 시간에는 경로가 연결되는 데 걸리는 시간이 포함됩니다.

1216 

1217| `ConnectTimeout` | 연결 | 사용자에게 주어지는 시간 |

1218| - | - | - |

1219| 설정 안 됨 | macOS 또는 Linux의 Claude Desktop v4.4212.0 이상에서 점프 호스트나 `ProxyCommand`를 통해 세션을 시작하는 경우 | 30초, 이후 90초의 두 번째 시도. 첫 번째 시도 중에 Desktop이 프롬프트를 표시했다면 두 번째 시도는 없습니다. Desktop이 `ProxyJump` 호스트에 대해 표시하는 로그인 프롬프트에서 보낸 시간은 포함되지 않습니다. 경로상의 다른 대기 시간은 포함됩니다. |

1220| 설정 안 됨 | Windows의 Desktop 또는 이전 버전, `MaxSessions 1`을 설정한 원격 머신, 또는 Desktop이 자체적으로 시작하는 재연결 | 30초. 경로상의 모든 대기 시간이 포함됩니다. |

1221| 설정됨 | 모든 연결 및 재연결 | 설정한 값. 경로상의 모든 대기 시간이 포함됩니다. |

1222 

1223원격 머신 자체가 휴대폰에서의 승인을 기다리는 경우, 설정한 `ConnectTimeout`과 관계없이 45초 이내에 승인하십시오. Desktop이 `ServerAliveInterval`과 `ServerAliveCountMax`를 직접 설정하고, 원격 머신이 그 시간 동안 아무것도 보내지 않으면 `ssh`가 로그인을 닫기 때문에 이 한도는 늘릴 수 없습니다.

1214 1224 

1215##### Desktop에서만 적용되는 `Match host` 블록 수정1225##### Desktop에서만 적용되는 `Match host` 블록 수정

1216 1226 


1334>1344>

1335> 다음을 포함한 일부 경우에는 여전히 편집이 실패합니다:1345> 다음을 포함한 일부 경우에는 여전히 편집이 실패합니다:

1336>1346>

1337> * **기본 제공 SSH 클라이언트**: Desktop이 이를 사용하는 경우. 예를 들어 Microsoft Store 설치, Microsoft의 OpenSSH 9.4 이상이 없는 Windows 컴퓨터, 또는 타사 제공업체를 사용하는 Windows의 기본 동작1347> * **내장 SSH 클라이언트**: 예를 들어 Microsoft Store 설치나, Microsoft의 OpenSSH 9.4 이상이 없는 Windows 컴퓨터에서 Desktop이 내장 SSH 클라이언트를 사용하는 경우

1338> * **저장소 위치**: 저장소가 홈 디렉터리, 그 상위 폴더 또는 `~/.claude`인 경우1348> * **저장소 위치**: 저장소가 홈 디렉터리, 그 상위 폴더 또는 `~/.claude`인 경우

1339> * **macOS 경로**: macOS 원격 머신에서 저장소가 `/Volumes` 아래에 있거나, 저장소 또는 워크트리 경로의 폴더 이름에 `~` 또는 비ASCII 문자가 포함된 경우1349> * **macOS 경로**: macOS 원격 머신에서 저장소가 `/Volumes` 아래에 있거나, 저장소 또는 워크트리 경로의 폴더 이름에 `~` 또는 비ASCII 문자가 포함된 경우

1340> * **폴더 제한**: 조직에서 세션이 사용할 수 있는 폴더를 제한하는 경우1350> * **폴더 제한**: 조직에서 세션이 사용할 수 있는 폴더를 제한하는 경우


1369* **저장된 비밀번호**: Desktop이 기억하도록 허용한 비밀번호도 프롬프트 없이 작동하지만, 장기간 자리를 비우는 경우에는 SSH 에이전트가 보유한 키를 사용하는 것이 좋습니다. 해당 비밀번호로 로그인이 중단되거나 멈추면 Desktop은 다시 연결을 중단하고 사용자를 기다릴 수 있습니다.1379* **저장된 비밀번호**: Desktop이 기억하도록 허용한 비밀번호도 프롬프트 없이 작동하지만, 장기간 자리를 비우는 경우에는 SSH 에이전트가 보유한 키를 사용하는 것이 좋습니다. 해당 비밀번호로 로그인이 중단되거나 멈추면 Desktop은 다시 연결을 중단하고 사용자를 기다릴 수 있습니다.

1370* **기타 프롬프트**: 원격 머신이 일회용 코드와 같은 다른 항목을 요청하면 컴퓨터에서 알림을 받을 수 있습니다. 알림을 클릭하거나 세션에서 메시지를 보내면 Desktop이 프롬프트를 표시합니다.1380* **기타 프롬프트**: 원격 머신이 일회용 코드와 같은 다른 항목을 요청하면 컴퓨터에서 알림을 받을 수 있습니다. 알림을 클릭하거나 세션에서 메시지를 보내면 Desktop이 프롬프트를 표시합니다.

1371 1381 

1372> [accordion] 점프 호스트가 로그인을 요청하거나, 중단이 길거나, 출력이 누락되었거나, 프로세스가 사라진 경우1382> [accordion] 점프 호스트가 로그인을 요청하거나, 장애가 길거나, 메시지가 전송되지 않거나, 출력이 누락되거나, 프로세스가 사라진 경우

1373>1383>

1374> * **점프 호스트, 부재 중 푸시 중지**: macOS 또는 Linux의 Desktop에서 휴대폰 푸시와 같은 점프 호스트의 로그인 요청에 아무도 응답하지 않을 때 발생할 수 있습니다. 그러면 Desktop은 컴퓨터 앞에 아무도 없는 동안 다시 연결을 중단합니다. 컴퓨터 잠금을 해제하거나 컴퓨터를 사용하면 Desktop이 다시 시도할 수 있으므로 푸시를 다시 받을 수 있습니다. 응답 없는 시도가 세 번 이어지면 사용자가 재시도하거나 메시지를 보낼 때까지 기다립니다.1384> * **점프 호스트, 부재 중 푸시 중지**: macOS 또는 Linux의 Desktop에서 휴대폰 푸시와 같은 점프 호스트의 로그인 요청에 아무도 응답하지 않을 때 발생할 수 있습니다. 그러면 Desktop은 컴퓨터 앞에 아무도 없는 동안 다시 연결을 중단합니다. 컴퓨터 잠금을 해제하거나 컴퓨터를 사용하면 Desktop이 다시 시도할 수 있으므로 푸시를 다시 받을 수 있습니다. 응답 없는 시도가 세 번 이어지면 사용자가 재시도하거나 메시지를 보낼 때까지 기다립니다.

1375> * **점프 호스트, 푸시가 계속 옴**: Windows의 Desktop처럼 아무도 응답하지 않는다는 것을 Desktop이 알 수 없는 경우, 다시 합류할 프로세스가 있는 동안에는 해당 프로세스가 여전히 실행 중인지와 관계없이 계속 시도합니다. 시도할 때마다 푸시를 다시 받을 수 있습니다. 시도를 끝내려면 Desktop을 종료하세요. 단, 이로 인해 [실행 중인 작업을 잃을 수 있습니다](#reopen-a-session-after-you-quit-desktop).1385> * **점프 호스트, 푸시가 계속 옴**: Windows의 Desktop처럼 아무도 응답하지 않는다는 것을 Desktop이 알 수 없는 경우, 다시 합류할 프로세스가 있는 동안에는 해당 프로세스가 여전히 실행 중인지와 관계없이 계속 시도합니다. 시도할 때마다 푸시를 다시 받을 수 있습니다. 시도를 끝내려면 Desktop을 종료하세요. 단, 이로 인해 [실행 중인 작업을 잃을 수 있습니다](#reopen-a-session-after-you-quit-desktop).

1376> * **긴 중단**: Desktop은 약 5분마다 한 번 시도하도록 속도를 늦춥니다. 더 빨리 다시 연결하려면 세션에서 재시도하거나 메시지를 보내세요. 메시지는 Desktop이 연결되면 전달됩니다.1386> * **긴 장애**: Desktop은 약 5분에 한 번꼴로 시도 빈도를 줄입니다. 더 빨리 다시 연결하려면 세션에서 재시도하거나 메시지를 보내십시오. Desktop은 연결되면 메시지 전달을 시도합니다.

1387> * **메시지가 전송되지 않음**: 메시지 아래의 `Your organization's settings haven't loaded, so your message to <host> wasn't sent. Retry to send it.` 행은 Desktop이 다시 연결되었지만 조직의 설정이 아직 로드되지 않아 메시지를 보류했다는 의미입니다. 지금 메시지를 보내려면 **Retry**를 선택하십시오. 아무것도 하지 않으면 설정이 로드된 후 Desktop이 다시 시도합니다.

1377> * **누락된 출력**: Desktop 연결이 끊긴 동안 도우미는 각 세션의 가장 최근 Claude Code 출력을 16 MiB 버퍼에 보관하고 오래된 출력은 삭제합니다. Desktop이 다시 연결된 후 세션에 `Loading recent output from <host>…`가 표시될 수 있습니다. Desktop이 모든 출력을 불러올 수 없으면 `Some output produced while you were disconnected may be missing here.` 행이 표시됩니다. 이 행은 작업이 중지되었다는 의미가 아닙니다.1388> * **누락된 출력**: Desktop 연결이 끊긴 동안 도우미는 각 세션의 가장 최근 Claude Code 출력을 16 MiB 버퍼에 보관하고 오래된 출력은 삭제합니다. Desktop이 다시 연결된 후 세션에 `Loading recent output from <host>…`가 표시될 수 있습니다. Desktop이 모든 출력을 불러올 수 없으면 `Some output produced while you were disconnected may be missing here.` 행이 표시됩니다. 이 행은 작업이 중지되었다는 의미가 아닙니다.

1378> * **프로세스 사라짐**: 원격 머신이 다시 시작되는 경우처럼 Desktop 연결이 끊긴 동안 프로세스가 끝난 것입니다. 그러면 Desktop은 대화의 저장된 기록에서 새 프로세스를 시작하고 Claude에게 작업을 계속하도록 지시할 수 있습니다. 작업이 계속 중지된 상태이면 메시지를 보냅니다. 타사 제공업체를 사용하는 경우 Claude Desktop v2.42304.0 이상으로 업데이트합니다. 이전 버전은 작업을 자동으로 계속하지 않기 때문입니다.1389> * **프로세스 사라짐**: 원격 머신이 다시 시작되는 경우처럼 Desktop 연결이 끊긴 동안 프로세스가 끝난 것입니다. 그러면 Desktop은 대화의 저장된 기록에서 새 프로세스를 시작하고 Claude에게 작업을 계속하도록 지시할 수 있습니다. 작업이 계속 중지된 상태이면 메시지를 보냅니다. 타사 제공업체를 사용하는 경우 Claude Desktop v2.42304.0 이상으로 업데이트합니다. 이전 버전은 작업을 자동으로 계속하지 않기 때문입니다.

1379 1390 


2290| `<host> is out of disk space` | `[ENOSPC]` 또는 `[EDQUOT]` | 원격 머신의 홈 디렉터리 또는 `/tmp`에서 공간 또는 할당량을 확보합니다 |2301| `<host> is out of disk space` | `[ENOSPC]` 또는 `[EDQUOT]` | 원격 머신의 홈 디렉터리 또는 `/tmp`에서 공간 또는 할당량을 확보합니다 |

2291| `Free up disk space on this computer` | `Couldn't prepare the deploy locally`로 시작하는 메시지의 `[ENOSPC]` 또는 `[EDQUOT]` | 컴퓨터의 공간을 확보합니다 |2302| `Free up disk space on this computer` | `Couldn't prepare the deploy locally`로 시작하는 메시지의 `[ENOSPC]` 또는 `[EDQUOT]` | 컴퓨터의 공간을 확보합니다 |

2292| `Claude Code won't start on <host>` | `[CLI_UNRESPONSIVE]` | 1분 정도 기다린 후 다시 시도합니다. 계속 실패하면 원격 머신에서 메시지에 언급된 명령을 실행하여 Claude Code가 그곳에서 응답하는지 확인합니다. |2303| `Claude Code won't start on <host>` | `[CLI_UNRESPONSIVE]` | 1분 정도 기다린 후 다시 시도합니다. 계속 실패하면 원격 머신에서 메시지에 언급된 명령을 실행하여 Claude Code가 그곳에서 응답하는지 확인합니다. |

2304| `Ask <host>'s administrator to let Claude's server run` | `[SERVER_NOT_RUNNABLE]` 또는 `[SETUP_DIR_NOEXEC]` | [요구 사항](#remote-machine-requirements-for-ssh-sessions)에 명시된 대로 해당 머신의 `~/.claude/remote/`에서 프로그램을 실행할 수 있도록 허용해 달라고 원격 머신 관리자에게 요청합니다 |

2305| `Try again in a few minutes` | `[DOWNLOAD_BUSY]` | 몇 분 정도 기다린 후 다시 시도합니다. Anthropic의 다운로드 서버 또는 컴퓨터 네트워크의 프록시가 사용 중이라고 보고한 것입니다. 카드가 계속 다시 표시되면 해당 네트워크 관리자에게 프록시가 다운로드를 제한하는지 문의하세요. |

2293 2306 

2294그 외의 메시지는 [원격 머신 요구 사항](#remote-machine-requirements-for-ssh-sessions)을 확인합니다.2307그 외의 메시지는 [원격 머신 요구 사항](#remote-machine-requirements-for-ssh-sessions)을 확인합니다.

2295 2308 

env-vars.md +4 −5

Details

126> * `CLAUDE_CODE_TMUX_TRUECOLOR`126> * `CLAUDE_CODE_TMUX_TRUECOLOR`

127> * `IS_DEMO`127> * `IS_DEMO`

128>128>

129> 다른 한 변수는 자체 규칙을 따릅니다: `FORCE_HYPERLINK`는 숫자를 읽으므로 `0`만 이를 끕니다. 각 변수의 행에도 해당 변수의 규칙이 명시되어 있습니다.129> 각 변수의 행에도 해당 변수의 규칙이 명시되어 있습니다.

130 130 

131| 변수 | 용도 |131| 변수 | 용도 |

132| :- | :- |132| :- | :- |


239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | `1`로 설정하면 [슈퍼바이저](https://code.claude.com/docs/ko/agent-view.md#the-supervisor-process)가 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)의 프로세스를 중지, 재시작 또는 업데이트할 때 진행 중인 작업을 세션의 다음 프로세스로 넘기지 않고 중지합니다. 해당 작업은 세션에서 실행 중인 백그라운드 셸 명령이며, v2.1.198부터는 백그라운드 서브에이전트도 포함됩니다. 이 인계에만 영향을 줍니다. `←` 또는 [`/background`](https://code.claude.com/docs/ko/agent-view#from-inside-a-session)로 세션을 백그라운드로 전환하면 진행 중인 백그라운드 작업이 여전히 이어집니다. Claude Code v2.1.196 이상이 필요합니다 |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | `1`로 설정하면 [슈퍼바이저](https://code.claude.com/docs/ko/agent-view.md#the-supervisor-process)가 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)의 프로세스를 중지, 재시작 또는 업데이트할 때 진행 중인 작업을 세션의 다음 프로세스로 넘기지 않고 중지합니다. 해당 작업은 세션에서 실행 중인 백그라운드 셸 명령이며, v2.1.198부터는 백그라운드 서브에이전트도 포함됩니다. 이 인계에만 영향을 줍니다. `←` 또는 [`/background`](https://code.claude.com/docs/ko/agent-view#from-inside-a-session)로 세션을 백그라운드로 전환하면 진행 중인 백그라운드 작업이 여전히 이어집니다. Claude Code v2.1.196 이상이 필요합니다 |

240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | `1`로 설정하면 Claude Code가 시스템 메모리 부족 상황에서 [백그라운드 셸 명령](https://code.claude.com/docs/ko/interactive-mode.md#background-bash-commands)을 종료하지 않습니다. 기본적으로 macOS와 Linux에서 Claude Code는 운영 체제가 심각한 메모리 부족을 보고하고 세션이 실행 중인 턴이나 서브에이전트 없이 30분 동안 유휴 상태였을 때 백그라운드 셸을 종료합니다. Windows에는 메모리 부족 신호가 없으므로 이 변수는 효과가 없습니다. Claude Code v2.1.193 이상이 필요합니다 |240| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | `1`로 설정하면 Claude Code가 시스템 메모리 부족 상황에서 [백그라운드 셸 명령](https://code.claude.com/docs/ko/interactive-mode.md#background-bash-commands)을 종료하지 않습니다. 기본적으로 macOS와 Linux에서 Claude Code는 운영 체제가 심각한 메모리 부족을 보고하고 세션이 실행 중인 턴이나 서브에이전트 없이 30분 동안 유휴 상태였을 때 백그라운드 셸을 종료합니다. Windows에는 메모리 부족 신호가 없으므로 이 변수는 효과가 없습니다. Claude Code v2.1.193 이상이 필요합니다 |

241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | `1`로 설정하면 Claude Code에 포함된 [스킬](https://code.claude.com/docs/ko/skills.md)과 워크플로를 비활성화합니다: 번들 스킬과 워크플로는 완전히 제거되며, `/init` 같은 기본 제공 명령은 계속 입력할 수 있지만 모델에게는 숨겨집니다. `/doctor`는 기본 제공 명령처럼 계속 입력할 수 있으며, 숨기려면 대신 `DISABLE_DOCTOR_COMMAND`를 사용합니다. 플러그인, `.claude/skills/`, `.claude/commands/`의 스킬은 영향을 받지 않습니다. [`disableBundledSkills`](https://code.claude.com/docs/ko/settings-reference#disablebundledskills) 설정과 동일합니다 |241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | `1`로 설정하면 Claude Code에 포함된 [스킬](https://code.claude.com/docs/ko/skills.md)과 워크플로를 비활성화합니다: 번들 스킬과 워크플로는 완전히 제거되며, `/init` 같은 기본 제공 명령은 계속 입력할 수 있지만 모델에게는 숨겨집니다. `/doctor`는 기본 제공 명령처럼 계속 입력할 수 있으며, 숨기려면 대신 `DISABLE_DOCTOR_COMMAND`를 사용합니다. 플러그인, `.claude/skills/`, `.claude/commands/`의 스킬은 영향을 받지 않습니다. [`disableBundledSkills`](https://code.claude.com/docs/ko/settings-reference#disablebundledskills) 설정과 동일합니다 |

242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | `1`로 설정하면 [Claude in Chrome](https://code.claude.com/docs/ko/chrome.md) 브라우저 도구는 계속 사용할 수 있게 유지하면서 시스템 프롬프트의 Chrome 섹션과 `/claude-in-chrome` [번들 스킬](https://code.claude.com/docs/ko/skills.md#bundled-skills)을 생략합니다. Claude Code를 임베드하고 자체 브라우저 지침을 제공하는 호스트를 위한 것입니다. Claude Code v2.1.257 이상이 필요합니다 |242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Claude Code를 임베드하고 자체 브라우저 안내를 제공하는 호스트용입니다. `1`로 설정하면 [Claude in Chrome](https://code.claude.com/docs/ko/chrome.md) 브라우저 도구는 사용할 수 있게 유지하면서 시스템 프롬프트의 Chrome 섹션과 `/claude-in-chrome` [번들 스킬](https://code.claude.com/docs/ko/skills.md#bundled-skills)을 생략합니다. VS Code에서는 v2.1.314 이상의 확장 프로그램이 세션 메시지에서도 Claude in Chrome 지침을 제외합니다. Claude Code v2.1.257 이상이 필요합니다 |

243| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | `1`로 설정하면 사용자, 프로젝트, 자동 메모리 파일을 포함한 모든 CLAUDE.md 메모리 파일을 컨텍스트에 로드하지 않습니다 |243| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | `1`로 설정하면 사용자, 프로젝트, 자동 메모리 파일을 포함한 모든 CLAUDE.md 메모리 파일을 컨텍스트에 로드하지 않습니다 |

244| `CLAUDE_CODE_DISABLE_CRON` | `1`로 설정하면 [세션 범위 예약 작업](https://code.claude.com/docs/ko/scheduled-tasks.md)을 비활성화합니다. `/loop` 스킬과 cron 도구를 사용할 수 없게 되며, 세션 도중 이미 실행 중인 작업을 포함해 이미 예약된 모든 작업의 실행이 중지됩니다 |244| `CLAUDE_CODE_DISABLE_CRON` | `1`로 설정하면 [세션 범위 예약 작업](https://code.claude.com/docs/ko/scheduled-tasks.md)을 비활성화합니다. `/loop` 스킬과 cron 도구를 사용할 수 없게 되며, 세션 도중 이미 실행 중인 작업을 포함해 이미 예약된 모든 작업의 실행이 중지됩니다 |

245| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | `1`로 설정하면 중요 경로 삭제에 대한 `auto` 및 `bypassPermissions` [시간 제한 및 거부](https://code.claude.com/docs/ko/permission-modes.md#time-limits-and-denials-in-auto-and-bypasspermissions-modes)를 끕니다. 그러면 이러한 삭제는 `auto` 모드에서는 분류기로 전달되고, `bypassPermissions` 모드에서는 Claude Code가 프롬프트를 표시할 수 있는 곳이면 어디서든 시간 제한 없는 프롬프트가 표시됩니다. Claude Code는 설정의 `env` 블록을 통해 전달된 값을 무시하므로, Claude Code를 실행하는 환경에서 설정합니다. Claude Code v2.1.281 이상이 필요합니다 |245| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | `1`로 설정하면 중요 경로 삭제에 대한 `auto` 및 `bypassPermissions` [시간 제한 및 거부](https://code.claude.com/docs/ko/permission-modes.md#time-limits-and-denials-in-auto-and-bypasspermissions-modes)를 끕니다. 그러면 이러한 삭제는 `auto` 모드에서는 분류기로 전달되고, `bypassPermissions` 모드에서는 Claude Code가 프롬프트를 표시할 수 있는 곳이면 어디서든 시간 제한 없는 프롬프트가 표시됩니다. Claude Code는 설정의 `env` 블록을 통해 전달된 값을 무시하므로, Claude Code를 실행하는 환경에서 설정합니다. Claude Code v2.1.281 이상이 필요합니다 |


307| `CLAUDE_CODE_GIT_BASH_PATH` | Windows 전용: Git Bash 실행 파일(`bash.exe`)의 경로입니다. Git Bash가 설치되어 있지만 PATH에 없는 경우 사용합니다. 경로가 존재하지 않거나 파일 이름이 `bash.exe`, `sh.exe`, `bash`, `sh`가 아닌 경우 Claude Code는 변수를 무시하고 설정되지 않은 것처럼 Git Bash를 자동 감지하며, `--debug`로 확인할 수 있는 경고를 로그에 기록합니다. v2.1.219 이전에는 경로가 존재하지 않으면 Claude Code가 시작 시 종료되었고, bash나 sh인지 확인하지 않고 존재하는 모든 파일을 셸로 사용했습니다. [Windows 설정](https://code.claude.com/docs/ko/setup.md#set-up-on-windows)을 참조하세요 |307| `CLAUDE_CODE_GIT_BASH_PATH` | Windows 전용: Git Bash 실행 파일(`bash.exe`)의 경로입니다. Git Bash가 설치되어 있지만 PATH에 없는 경우 사용합니다. 경로가 존재하지 않거나 파일 이름이 `bash.exe`, `sh.exe`, `bash`, `sh`가 아닌 경우 Claude Code는 변수를 무시하고 설정되지 않은 것처럼 Git Bash를 자동 감지하며, `--debug`로 확인할 수 있는 경고를 로그에 기록합니다. v2.1.219 이전에는 경로가 존재하지 않으면 Claude Code가 시작 시 종료되었고, bash나 sh인지 확인하지 않고 존재하는 모든 파일을 셸로 사용했습니다. [Windows 설정](https://code.claude.com/docs/ko/setup.md#set-up-on-windows)을 참조하세요 |

308| `CLAUDE_CODE_GLOB_HIDDEN` | Claude가 [Glob 도구](https://code.claude.com/docs/ko/tools-reference.md#glob-tool-behavior)를 호출할 때 결과에서 dotfile을 제외하려면 `false`로 설정합니다. 기본적으로 포함됩니다. `@` 파일 자동 완성, `ls`, Grep, Read에는 영향을 주지 않습니다 |308| `CLAUDE_CODE_GLOB_HIDDEN` | Claude가 [Glob 도구](https://code.claude.com/docs/ko/tools-reference.md#glob-tool-behavior)를 호출할 때 결과에서 dotfile을 제외하려면 `false`로 설정합니다. 기본적으로 포함됩니다. `@` 파일 자동 완성, `ls`, Grep, Read에는 영향을 주지 않습니다 |

309| `CLAUDE_CODE_GLOB_NO_IGNORE` | [Glob 도구](https://code.claude.com/docs/ko/tools-reference.md#glob-tool-behavior)가 `.gitignore` 패턴을 따르도록 하려면 `false`로 설정합니다. 기본적으로 Glob은 gitignore된 파일을 포함한 모든 일치하는 파일을 반환합니다. 자체 [`respectGitignore` 설정](https://code.claude.com/docs/ko/settings-reference#respectgitignore)이 있는 `@` 파일 자동 완성에는 영향을 주지 않습니다 |309| `CLAUDE_CODE_GLOB_NO_IGNORE` | [Glob 도구](https://code.claude.com/docs/ko/tools-reference.md#glob-tool-behavior)가 `.gitignore` 패턴을 따르도록 하려면 `false`로 설정합니다. 기본적으로 Glob은 gitignore된 파일을 포함한 모든 일치하는 파일을 반환합니다. 자체 [`respectGitignore` 설정](https://code.claude.com/docs/ko/settings-reference#respectgitignore)이 있는 `@` 파일 자동 완성에는 영향을 주지 않습니다 |

310| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Glob 도구 파일 검색의 타임아웃(초)입니다. 대부분의 플랫폼에서 기본값은 20초이며 WSL에서는 60초입니다 |310| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | [Glob](https://code.claude.com/docs/ko/tools-reference.md#glob-tool-behavior) 및 Grep 도구 검색의 타임아웃(초)입니다. 대부분의 플랫폼에서 기본값은 20초이고 WSL에서는 60초입니다 |

311| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | 백그라운드 작업이 활성 목표를 몇 분 동안 대기시킬 수 있는지 지정하며, 이 시간이 지나면 Claude Code가 [Claude에게 확인을 요청합니다](https://code.claude.com/docs/ko/goal.md#background-work-defers-evaluation). 기본값은 `30`입니다. 확인을 끄려면 `0`으로 설정합니다. 정수 분을 숫자로만 지정하며, 최대값은 1주에 해당하는 `10080`입니다. Claude Code는 그 밖의 값을 설정되지 않은 것으로 간주하고 기본값을 사용합니다. Claude Code v2.1.234 이상이 필요합니다 |311| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | 백그라운드 작업이 활성 목표를 몇 분 동안 대기시킬 수 있는지 지정하며, 이 시간이 지나면 Claude Code가 [Claude에게 확인을 요청합니다](https://code.claude.com/docs/ko/goal.md#background-work-defers-evaluation). 기본값은 `30`입니다. 확인을 끄려면 `0`으로 설정합니다. 정수 분을 숫자로만 지정하며, 최대값은 1주에 해당하는 `10080`입니다. Claude Code는 그 밖의 값을 설정되지 않은 것으로 간주하고 기본값을 사용합니다. Claude Code v2.1.234 이상이 필요합니다 |

312| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | `api.anthropic.com`으로 전송되는 Claude API, 텔레메트리, [아티팩트](https://code.claude.com/docs/ko/artifacts.md) 게시 요청 본문의 gzip 압축을 끄려면 `0`으로 설정합니다. 기본적으로 Claude Code는 직접 연결에서 큰 요청 본문을 압축하며, 프록시를 통해 요청을 보내거나, 클라이언트 인증서를 구성하거나, `NODE_EXTRA_CA_CERTS`를 설정한 경우에는 압축을 건너뜁니다. Claude Code가 감지할 수 없는 [TLS 검사 프록시](https://code.claude.com/docs/ko/network-config.md#ca-certificate-store)가 압축된 요청을 잘못 처리하는 경우 `0`을 사용합니다 |312| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | `api.anthropic.com`으로 전송되는 Claude API, 텔레메트리, [아티팩트](https://code.claude.com/docs/ko/artifacts.md) 게시 요청 본문의 gzip 압축을 끄려면 `0`으로 설정합니다. 기본적으로 Claude Code는 직접 연결에서 큰 요청 본문을 압축하며, 프록시를 통해 요청을 보내거나, 클라이언트 인증서를 구성하거나, `NODE_EXTRA_CA_CERTS`를 설정한 경우에는 압축을 건너뜁니다. Claude Code가 감지할 수 없는 [TLS 검사 프록시](https://code.claude.com/docs/ko/network-config.md#ca-certificate-store)가 압축된 요청을 잘못 처리하는 경우 `0`을 사용합니다 |

313| `CLAUDE_CODE_HIDE_CWD` | 시작 로고에서 작업 디렉터리를 숨기려면 `1`로 설정합니다. 경로에 OS 사용자 이름이 노출되는 화면 공유나 녹화에 유용합니다 |313| `CLAUDE_CODE_HIDE_CWD` | 시작 로고에서 작업 디렉터리를 숨기려면 `1`로 설정합니다. 경로에 OS 사용자 이름이 노출되는 화면 공유나 녹화에 유용합니다 |


469| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | deprecated되었습니다. 대신 `ENABLE_PROMPT_CACHING_1H`를 사용하세요. 게이트웨이가 Amazon Bedrock으로 라우팅하는 경우에도 [Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway) 세션에는 효과가 없습니다 |469| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | deprecated되었습니다. 대신 `ENABLE_PROMPT_CACHING_1H`를 사용하세요. 게이트웨이가 Amazon Bedrock으로 라우팅하는 경우에도 [Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway) 세션에는 효과가 없습니다 |

470| `ENABLE_TOOL_SEARCH` | [MCP 도구 검색](https://code.claude.com/docs/ko/mcp.md#scale-with-mcp-tool-search)을 제어합니다. 설정하지 않거나 `true`이면 [도구 검색을 끈 상태로 유지하는 경우](https://code.claude.com/docs/ko/mcp.md#configure-tool-search)를 제외하고 MCP 도구를 지연 로드합니다. `auto`는 정의가 컨텍스트 윈도우의 10%에 도달하면 도구 검색을 켭니다. `auto:N`은 `auto:5`(5%)와 같이 사용자 지정 임계값을 설정합니다. `false`는 모든 도구를 미리 로드합니다. 게이트웨이가 도구 검색을 거부하는 경우 [LLM 게이트웨이를 통한 도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway)을 참조하십시오 |470| `ENABLE_TOOL_SEARCH` | [MCP 도구 검색](https://code.claude.com/docs/ko/mcp.md#scale-with-mcp-tool-search)을 제어합니다. 설정하지 않거나 `true`이면 [도구 검색을 끈 상태로 유지하는 경우](https://code.claude.com/docs/ko/mcp.md#configure-tool-search)를 제외하고 MCP 도구를 지연 로드합니다. `auto`는 정의가 컨텍스트 윈도우의 10%에 도달하면 도구 검색을 켭니다. `auto:N`은 `auto:5`(5%)와 같이 사용자 지정 임계값을 설정합니다. `false`는 모든 도구를 미리 로드합니다. 게이트웨이가 도구 검색을 거부하는 경우 [LLM 게이트웨이를 통한 도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway)을 참조하십시오 |

471| `FORCE_AUTOUPDATE_PLUGINS` | 메인 자동 업데이터가 `DISABLE_AUTOUPDATER`로 비활성화된 경우에도 플러그인 자동 업데이트를 강제하려면 `1`로 설정합니다 |471| `FORCE_AUTOUPDATE_PLUGINS` | 메인 자동 업데이터가 `DISABLE_AUTOUPDATER`로 비활성화된 경우에도 플러그인 자동 업데이트를 강제하려면 `1`로 설정합니다 |

472| `FORCE_HYPERLINK` | 터미널이 클릭 가능한 OSC 8 하이퍼링크를 지원하지만 자동으로 감지되지 않을 때 이를 활성화하려면 `1`로, 비활성화하려면 `0`으로 설정합니다. 설정하지 않으면 Claude Code는 터미널 지원을 감지한 경우에만 하이퍼링크를 활성화합니다. Claude Code는 이 값을 불리언이 아닌 숫자로 파싱하므로, `false`, `no`, `off` 같은 값은 하이퍼링크를 비활성화하는 대신 활성화합니다. 하단의 [PR 또는 병합 요청 배지](https://code.claude.com/docs/ko/interactive-mode.md#pr-review-status)는 SSH를 통한 경우처럼 Claude Code가 터미널 지원을 감지하지 못할 때에도 하이퍼링크로 렌더링됩니다. 배지를 일반 텍스트로 렌더링하려면 `0`으로 설정합니다 |472| `FORCE_HYPERLINK` | `1`로 설정하면 터미널이 지원하지만 자동으로 감지되지 않는 경우 클릭 가능한 OSC 8 하이퍼링크를 활성화합니다. 설정하지 않으면 Claude Code는 터미널 지원을 감지한 경우에만 대부분의 하이퍼링크를 활성화합니다. 푸터의 [PR 또는 병합 요청 배지](https://code.claude.com/docs/ko/interactive-mode.md#pr-review-status)와 긴 로그인 URL은 어느 경우든 링크로 표시됩니다. 모두 일반 텍스트로 렌더링하려면 `0`, `false`, `no`, `off`를 설정합니다. v2.1.314 이전에는 `false`, `no`, `off`가 오히려 하이퍼링크를 활성화했습니다 |

473| `FORCE_PROMPT_CACHING_5M` | 1시간 TTL이 적용되는 경우에도 5분 프롬프트 캐시 TTL을 강제하려면 `1`로 설정합니다. `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, 그리고 `promptCacheTtl` 및 `subagentPromptCacheTtl` 설정을 재정의합니다 |473| `FORCE_PROMPT_CACHING_5M` | 1시간 TTL이 적용되는 경우에도 5분 프롬프트 캐시 TTL을 강제하려면 `1`로 설정합니다. `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, 그리고 `promptCacheTtl` 및 `subagentPromptCacheTtl` 설정을 재정의합니다 |

474| `HTTP_PROXY` | 네트워크 연결을 위한 HTTP 프록시 서버를 지정합니다 |474| `HTTP_PROXY` | 네트워크 연결을 위한 HTTP 프록시 서버를 지정합니다 |

475| `HTTPS_PROXY` | 네트워크 연결을 위한 HTTPS 프록시 서버를 지정합니다 |475| `HTTPS_PROXY` | 네트워크 연결을 위한 HTTPS 프록시 서버를 지정합니다 |


586* [Claude가 초안을 작성한 피드백](https://code.claude.com/docs/ko/tools-reference.md#sendfeedback-tool-behavior) 받기. 이 기능은 Claude Code가 가져온 플래그를 통해 켭니다586* [Claude가 초안을 작성한 피드백](https://code.claude.com/docs/ko/tools-reference.md#sendfeedback-tool-behavior) 받기. 이 기능은 Claude Code가 가져온 플래그를 통해 켭니다

587* Claude가 [큰 붙여넣기를 입력한 텍스트가 아닌 붙여넣은 텍스트로 취급](https://code.claude.com/docs/ko/terminal-config.md#how-claude-treats-pasted-text)하도록 하기. `[Pasted text #N]` 플레이스홀더 뒤의 내용은 표시 없이 Claude에 전달됩니다587* Claude가 [큰 붙여넣기를 입력한 텍스트가 아닌 붙여넣은 텍스트로 취급](https://code.claude.com/docs/ko/terminal-config.md#how-claude-treats-pasted-text)하도록 하기. `[Pasted text #N]` 플레이스홀더 뒤의 내용은 표시 없이 Claude에 전달됩니다

588* Claude Code가 [API가 거부할 입력 스키마를 가진 MCP 도구를 제외](https://code.claude.com/docs/ko/mcp.md#tools-with-invalid-input-schemas)하도록 하기588* Claude Code가 [API가 거부할 입력 스키마를 가진 MCP 도구를 제외](https://code.claude.com/docs/ko/mcp.md#tools-with-invalid-input-schemas)하도록 하기

589* 1시간 프롬프트 캐시가 만료되기 직전에 Claude Code가 [터미널 세션이 유휴 상태인 동안 긴 대화를 압축](https://code.claude.com/docs/ko/settings-reference.md#idlecompaction)하도록 하기

590 589 

591### 설치 또는 업그레이드 후 첫 세션590### 설치 또는 업그레이드 후 첫 세션

592 591 

errors.md +71 −16

Details

59| `Could not resolve authentication method` | [인증](#could-not-resolve-authentication-method) |59| `Could not resolve authentication method` | [인증](#could-not-resolve-authentication-method) |

60| `Invalid API key` | [인증](#invalid-api-key) |60| `Invalid API key` | [인증](#invalid-api-key) |

61| `Your apiKeyHelper script is failing` | [인증](#your-apikeyhelper-script-is-failing) |61| `Your apiKeyHelper script is failing` | [인증](#your-apikeyhelper-script-is-failing) |

62| `Claude Code didn't send your claude.ai login, because the API key helper your administrator set isn't in effect` | [인증](#claude-code-didnt-send-your-claude-ai-login) |

62| `Invalid auth token · Fix external auth token` | [인증](#invalid-request-header-value) |63| `Invalid auth token · Fix external auth token` | [인증](#invalid-request-header-value) |

63| `Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable` | [인증](#invalid-request-header-value) |64| `Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable` | [인증](#invalid-request-header-value) |

64| `Invalid request header from the environment · Fix the environment variable` | [인증](#invalid-request-header-value) |65| `Invalid request header from the environment · Fix the environment variable` | [인증](#invalid-request-header-value) |


326| `MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit.` | [도구 오류](#mcp-tool-call-timed-out-with-the-servers-question-unanswered) |327| `MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit.` | [도구 오류](#mcp-tool-call-timed-out-with-the-servers-question-unanswered) |

327| `would be spawned with zero tools — refusing` | [도구 오류](#agent-would-be-spawned-with-zero-tools) |328| `would be spawned with zero tools — refusing` | [도구 오류](#agent-would-be-spawned-with-zero-tools) |

328| `File is covered by a Read deny rule in your permission settings` | [도구 오류](#file-is-covered-by-a-read-deny-rule) |329| `File is covered by a Read deny rule in your permission settings` | [도구 오류](#file-is-covered-by-a-read-deny-rule) |

330| `<path> is outside <dirs>; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories` | [도구 오류](#setting-blocks-writes-outside-the-working-directories) |

331| `<path>: Writes outside the working directories are blocked (permissions.blockWritesOutsideWorkingDirectories)` | [도구 오류](#setting-blocks-writes-outside-the-working-directories) |

332| `Writes to Claude Code settings files are blocked while permissions.blockWritesOutsideWorkingDirectories is on` | [도구 오류](#writes-to-claude-code-settings-files-are-blocked) |

329| `cannot contain null bytes (\0)` | [도구 오류](#path-cannot-contain-null-bytes) |333| `cannot contain null bytes (\0)` | [도구 오류](#path-cannot-contain-null-bytes) |

330| `Path contains null bytes` | [도구 오류](#path-cannot-contain-null-bytes) |334| `Path contains null bytes` | [도구 오류](#path-cannot-contain-null-bytes) |

331| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [도구 오류](#command-contains-an-invisible-character) |335| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [도구 오류](#command-contains-an-invisible-character) |


548 552 

549* [status.claude.com](https://status.claude.com) 또는 메시지에 명시된 제공자 상태 페이지에서 활성 인시던트를 확인합니다553* [status.claude.com](https://status.claude.com) 또는 메시지에 명시된 제공자 상태 페이지에서 활성 인시던트를 확인합니다

550* 1분 기다린 후 메시지를 다시 보냅니다. 원본 메시지는 여전히 대화에 있으므로 긴 프롬프트의 경우 전체를 다시 붙여넣는 대신 `try again`을 입력할 수 있습니다.554* 1분 기다린 후 메시지를 다시 보냅니다. 원본 메시지는 여전히 대화에 있으므로 긴 프롬프트의 경우 전체를 다시 붙여넣는 대신 `try again`을 입력할 수 있습니다.

551* [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)이 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 가리키고 모든 요청이 이런 방식으로 실패하면 게이트웨이가 Claude Code가 기본적으로 보내는 도구 검색 필드를 거부하는지 확인합니다. 확인하려면 [LLM 게이트웨이를 통한 도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway)에 설명된 대로 `ENABLE_TOOL_SEARCH=false`를 설정한 후 다시 시도합니다. v2.1.304 이전에는 `ENABLE_TOOL_SEARCH`로 켜지 않는 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.555* [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)이 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 가리키고 모든 요청이 이런 방식으로 실패하면 게이트웨이와 그 업스트림이 [도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway) 필드를 허용하는지 확인합니다. 기본적으로 Claude Code는 `defer_loading` 도구 필드와 `tool_reference` 블록을 이를 활성화하는 `anthropic-beta` 헤더와 함께 보냅니다. v2.1.304 이전에는 `ENABLE_TOOL_SEARCH`로 켜지 않는 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.

552* 오류가 게시된 인시던트 없이 계속되면 `/feedback`을 실행하여 Anthropic이 요청 세부 정보로 조사할 수 있도록 합니다. 환경에서 `/feedback`을 사용할 수 없는 경우 [오류 보고](#report-an-error)를 참조하세요.556* 오류가 게시된 인시던트 없이 계속되면 `/feedback`을 실행하여 Anthropic이 요청 세부 정보로 조사할 수 있도록 합니다. 환경에서 `/feedback`을 사용할 수 없는 경우 [오류 보고](#report-an-error)를 참조하세요.

553 557 

554### API 오류: 반복된 529 오버로드 오류558### API 오류: 반복된 529 오버로드 오류


672<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.676<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.

673```677```

674 678 

675대화형 세션에서는 이 메시지 대신 도구 호출 아래에 흐린 `Not run · auto mode's check had no usable answer` 행이 나타납니다. `Ctrl+O`를 눌러 [트랜스크립트 뷰어](https://code.claude.com/docs/ko/interactive-mode.md#transcript-viewer)에서 메시지를 확인합니다. [서버가 안전 판정을 반환하지 않음](#the-server-returned-no-safety-verdict) 아래의 `gave no verdict` 거부도 동일한 행을 표시합니다. v2.1.296 이전에는 메시지가 호출 아래에 빨간색 오류로 나타났습니다.679대화형 세션에서는 이 메시지 대신 도구 호출 아래에 흐린 `Not run · auto mode's check had no usable answer` 행이 나타납니다. 이 행은 [서버가 판정을 제공하지 않았다](#the-server-returned-no-safety-verdict)는 메시지나, 원격 세션이 아닌 경우 `Auto mode could not evaluate`로 시작하는 메시지를 대신할 수도 있습니다. `Ctrl+O`를 눌러 [트랜스크립트 뷰어](https://code.claude.com/docs/ko/interactive-mode.md#transcript-viewer)에서 해당 메시지를 확인합니다. v2.1.296 이전에는 메시지가 빨간색 오류로 나타났습니다.

676 680 

677Claude Code가 실패 범주를 결정할 수 있을 때 `temporarily unavailable` 뒤의 괄호에 범주를 명시합니다. 예를 들어 `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`입니다. 범주는 `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` 및 `(connection failed)`입니다. `(timed out)` 또는 `(connection failed)`가 반복되면 연결을 확인하세요. [API에 연결할 수 없음](#unable-to-connect-to-api)을 참조하세요. v2.1.229 이전에는 메시지가 범주를 명시하지 않았고 `Wait briefly and then try this action again`으로 읽혔습니다.681Claude Code가 실패 범주를 결정할 수 있을 때 `temporarily unavailable` 뒤의 괄호에 범주를 명시합니다. 예를 들어 `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`입니다. 범주는 `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` 및 `(connection failed)`입니다. `(timed out)` 또는 `(connection failed)`가 반복되면 연결을 확인하세요. [API에 연결할 수 없음](#unable-to-connect-to-api)을 참조하세요. v2.1.229 이전에는 메시지가 범주를 명시하지 않았고 `Wait briefly and then try this action again`으로 읽혔습니다.

678 682 


833* `/usage-credits`를 실행하여 Pro, Max 및 Ultra에서는 추가 사용량을 구매하거나, Team 및 Enterprise에서는 관리자에게 요청합니다. 청구 방식은 [유료 플랜의 사용량 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)을 참조하세요.837* `/usage-credits`를 실행하여 Pro, Max 및 Ultra에서는 추가 사용량을 구매하거나, Team 및 Enterprise에서는 관리자에게 요청합니다. 청구 방식은 [유료 플랜의 사용량 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)을 참조하세요.

834* 더 높은 기본 한도를 위해 플랜을 업그레이드하려면 [claude.com/pricing](https://claude.com/pricing)을 참조하세요838* 더 높은 기본 한도를 위해 플랜을 업그레이드하려면 [claude.com/pricing](https://claude.com/pricing)을 참조하세요

835 839 

836윈도우가 소진되기 전에 Claude Code는 `You've used 85% of your session limit · resets 3:45pm`과 같은 메시지로 대부분을 사용했다고 경고할 수 있습니다. 남은 허용량을 지속적으로 확인하려면 [사용자 지정 상태줄](https://code.claude.com/docs/ko/statusline.md#rate-limit-usage)에 `rate_limits` 필드를 추가하거나, Desktop 앱에서 모델 선택기 옆의 [사용량 링](https://code.claude.com/docs/ko/desktop.md#check-usage)을 클릭하세요.840윈도우가 소진되기 전에 Claude Code는 `You've used 85% of your session limit · resets 3:45pm`과 같은 메시지로 대부분을 사용했다고 경고할 수 있습니다. 남은 허용량을 지속적으로 확인하려면 [사용자 지정 상태줄](https://code.claude.com/docs/ko/statusline.md#rate-limit-usage)에 `rate_limits` 필드를 추가하거나, Desktop 앱에서 [사용량 링](https://code.claude.com/docs/ko/desktop.md#check-usage)을 클릭하세요.

837 841 

838### Usage credits required for 1M context842### Usage credits required for 1M context

839 843 


1074* `/status`를 실행하여 실패 내용을 확인하고 `apiKeyHelper`가 활성 자격 증명 소스인지 확인합니다. `apiKeyHelper` 행에는 `Failing`과 함께 종료 코드 및 명령의 오류 출력 같은 마지막 실패의 세부 정보가 표시되며, 다음 실행이 성공하면 사라집니다. v2.1.274 이전에는 `/status`가 실패 내용 없이 자격 증명 소스만 표시했습니다.1078* `/status`를 실행하여 실패 내용을 확인하고 `apiKeyHelper`가 활성 자격 증명 소스인지 확인합니다. `apiKeyHelper` 행에는 `Failing`과 함께 종료 코드 및 명령의 오류 출력 같은 마지막 실패의 세부 정보가 표시되며, 다음 실행이 성공하면 사라집니다. v2.1.274 이전에는 `/status`가 실패 내용 없이 자격 증명 소스만 표시했습니다.

1075* 명령이 실패할 때마다 종료 코드와 오류 출력이 터미널의 `Authentication` 패널에도 표시됩니다. v2.1.212 이전에는 패널 제목이 `Cloud authentication`이었습니다.1079* 명령이 실패할 때마다 종료 코드와 오류 출력이 터미널의 `Authentication` 패널에도 표시됩니다. v2.1.212 이전에는 패널 제목이 `Cloud authentication`이었습니다.

1076 1080 

1081### Claude Code didn't send your claude.ai login

1082 

1083이 메시지 전체를 관리자에게 보내십시오. 메시지에는 관리자가 적용할 수 있는 변경 사항이 나열되어 있습니다. 이 메시지는 Claude Code가 프롬프트를 거부했다는 의미입니다. claude.ai 로그인을 사용하는 동안 Claude Code는 다시 시작한 후에도 계속 프롬프트를 거부합니다:

1084 

1085```text theme={null}

1086Claude Code didn't send your claude.ai login, because the API key helper your administrator set isn't in effect. Your organization's managed settings may be overriding it. Ask your administrator to keep the key helper and its API address in effect, to name Anthropic's API address in those managed settings, or to remove the key helper. Run /status to see your setting sources.

1087```

1088 

1089**해결 방법:**

1090 

1091* 머신에 어떤 관리형 소스가 있는지 관리자에게 알리려면 Claude Code 프롬프트에서 `/status`를 실행하고 [`Setting sources` 줄](https://code.claude.com/docs/ko/managed-settings#read-the-source-in-/status)을 복사합니다. `Skipped sources` 줄이 표시되면 그것도 복사합니다

1092* 설정을 관리하는 경우 [머신의 키 헬퍼가 적용되지 않는 이유](https://code.claude.com/docs/ko/server-managed-settings.md#machine-apikeyhelper-not-in-effect)를 참조하십시오

1093 

1077### 유효하지 않은 요청 헤더 값1094### 유효하지 않은 요청 헤더 값

1078 1095 

1079Claude Code가 요청 헤더로 보내려던 값에 HTTP 헤더에 담을 수 없는 문자, 즉 줄바꿈, NUL 바이트, 또는 둥근 따옴표나 폭 없는 공백처럼 `U+00FF`보다 큰 문자가 포함되어 있습니다. Claude Code는 아무것도 전송하기 전에 요청을 중단하고 수정해야 할 변수나 설정의 이름을 알려줍니다. 보통 문서나 채팅에서 붙여 넣은 자격 증명에 보이지 않는 문자나 불필요한 줄바꿈이 들어간 것이 원인입니다.1096Claude Code가 요청 헤더로 보내려던 값에 HTTP 헤더에 담을 수 없는 문자, 즉 줄바꿈, NUL 바이트, 또는 둥근 따옴표나 폭 없는 공백처럼 `U+00FF`보다 큰 문자가 포함되어 있습니다. Claude Code는 아무것도 전송하기 전에 요청을 중단하고 수정해야 할 변수나 설정의 이름을 알려줍니다. 보통 문서나 채팅에서 붙여 넣은 자격 증명에 보이지 않는 문자나 불필요한 줄바꿈이 들어간 것이 원인입니다.


1333* `/status`에 로그인만 표시된다면 `/login`을 한 번 실행합니다. 자격 증명이 폐기된 경우 새 로그인이 이를 대체합니다.1350* `/status`에 로그인만 표시된다면 `/login`을 한 번 실행합니다. 자격 증명이 폐기된 경우 새 로그인이 이를 대체합니다.

1334* 같은 로그인 계정에 대해 같은 메시지가 다시 나타나면 계정이나 조직이 더 이상 활성 상태가 아닙니다. `/status`가 보고하는 계정과 조직을 확인하고, 조직 관리자에게 액세스 복원을 요청합니다.1351* 같은 로그인 계정에 대해 같은 메시지가 다시 나타나면 계정이나 조직이 더 이상 활성 상태가 아닙니다. `/status`가 보고하는 계정과 조직을 확인하고, 조직 관리자에게 액세스 복원을 요청합니다.

1335* [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)이 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 가리키는 경우, `401` 뒤의 텍스트는 Anthropic이 아닌 게이트웨이의 메시지이며 `/login`으로 바뀌지 않습니다. 대신 게이트웨이가 요구하는 자격 증명을 수정합니다.1352* [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)이 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 가리키는 경우, `401` 뒤의 텍스트는 Anthropic이 아닌 게이트웨이의 메시지이며 `/login`으로 바뀌지 않습니다. 대신 게이트웨이가 요구하는 자격 증명을 수정합니다.

1336* 게이트웨이에 필요한 자격 증명을 제공했는데도 모든 요청이 `401`로 실패한다면, Claude Code가 기본적으로 보내는 도구 검색 필드를 게이트웨이가 거부하고 있는지 확인합니다. 확인하려면 [LLM 게이트웨이를 통한 도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway)에 설명된 대로 `ENABLE_TOOL_SEARCH=false`를 설정한 다음 다시 시도합니다. v2.1.304 이전에는 `ENABLE_TOOL_SEARCH`로 켜지 않는 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.1353* 게이트웨이에 기대하는 자격 증명이 있는데도 모든 요청이 `401`로 실패한다면, 게이트웨이와 그 업스트림이 [도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway) 필드를 허용하는지 확인합니다. 기본적으로 Claude Code는 `defer_loading` 도구 필드와 `tool_reference` 블록을 이를 활성화하는 `anthropic-beta` 헤더와 함께 보냅니다. v2.1.304 이전에는 `ENABLE_TOOL_SEARCH`로 켜지 않는 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.

1337 1354 

1338### 로그인 만료1355### 로그인 만료

1339 1356 


1936* 동일한 셸에서 `curl -I https://api.anthropic.com`을 실행하여 API 호스트에 도달할 수 있는지 확인합니다. Windows PowerShell에서는 `curl.exe -I https://api.anthropic.com`을 사용하여 기본 제공 `Invoke-WebRequest` 별칭이 사용되지 않도록 합니다.1953* 동일한 셸에서 `curl -I https://api.anthropic.com`을 실행하여 API 호스트에 도달할 수 있는지 확인합니다. Windows PowerShell에서는 `curl.exe -I https://api.anthropic.com`을 사용하여 기본 제공 `Invoke-WebRequest` 별칭이 사용되지 않도록 합니다.

1937* 회사 프록시 뒤에 있는 경우, Claude Code를 시작하기 전에 `HTTPS_PROXY`를 설정하고 [네트워크 구성](https://code.claude.com/docs/ko/network-config.md)을 참조합니다.1954* 회사 프록시 뒤에 있는 경우, Claude Code를 시작하기 전에 `HTTPS_PROXY`를 설정하고 [네트워크 구성](https://code.claude.com/docs/ko/network-config.md)을 참조합니다.

1938* LLM 게이트웨이 또는 릴레이를 통해 라우팅하는 경우, [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)을 해당 주소로 설정합니다. 설정은 [Claude Code를 LLM 게이트웨이에 연결](https://code.claude.com/docs/ko/llm-gateway-connect.md)을 참조합니다.1955* LLM 게이트웨이 또는 릴레이를 통해 라우팅하는 경우, [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)을 해당 주소로 설정합니다. 설정은 [Claude Code를 LLM 게이트웨이에 연결](https://code.claude.com/docs/ko/llm-gateway-connect.md)을 참조합니다.

1939* `ANTHROPIC_BASE_URL`이 이미 게이트웨이를 가리키고 있는데 모든 요청이 `Connection dropped`로 끝나는 경우, Claude Code가 기본적으로 보내는 도구 검색 필드를 게이트웨이가 거부하고 있는지 확인합니다. 확인하려면 [LLM 게이트웨이를 통한 도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway)에 설명된 대로 `ENABLE_TOOL_SEARCH=false`를 설정한 다음 다시 시도합니다. v2.1.304 이전에는 `ENABLE_TOOL_SEARCH`로 켜지 않는 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.1956* `ANTHROPIC_BASE_URL`이 이미 게이트웨이를 가리키고 있는데 모든 요청이 `Connection dropped`로 끝나는 경우, 게이트웨이와 그 업스트림이 [도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway) 필드를 허용하는지 확인합니다. 기본적으로 Claude Code는 `defer_loading` 도구 필드와 `tool_reference` 블록을 이를 활성화하는 `anthropic-beta` 헤더와 함께 보냅니다. v2.1.304 이전에는 `ENABLE_TOOL_SEARCH`로 켜지 않는 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.

1940* 방화벽이 [네트워크 액세스 요구 사항](https://code.claude.com/docs/ko/network-config.md#network-access-requirements)에 나열된 호스트를 허용하는지 확인합니다.1957* 방화벽이 [네트워크 액세스 요구 사항](https://code.claude.com/docs/ko/network-config.md#network-access-requirements)에 나열된 호스트를 허용하는지 확인합니다.

1941* 간헐적 실패는 [자동으로 재시도](#automatic-retries)됩니다.1958* 간헐적 실패는 [자동으로 재시도](#automatic-retries)됩니다.

1942 1959 


2471**해결 방법:**2488**해결 방법:**

2472 2489 

2473* 메시지에 `context_management: Extra inputs are not permitted`가 포함되어 있으면 [Claude Code를 v2.1.304 이상으로 업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)하십시오. 업데이트 후에는 Claude Code가 이 거부에 대해 해당 필드 없이 요청을 한 번 더 보냅니다. v2.1.304 이전에는 Claude Code가 이 거부에 대해 재시도하지 않았습니다.2490* 메시지에 `context_management: Extra inputs are not permitted`가 포함되어 있으면 [Claude Code를 v2.1.304 이상으로 업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)하십시오. 업데이트 후에는 Claude Code가 이 거부에 대해 해당 필드 없이 요청을 한 번 더 보냅니다. v2.1.304 이전에는 Claude Code가 이 거부에 대해 재시도하지 않았습니다.

2474* 메시지에 `defer_loading` 또는 `tool_reference`가 명시되어 있으면 Claude Code를 업데이트하거나 [도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway)을 끄십시오.2491* 메시지에 `defer_loading` 또는 `tool_reference`가 표시되면 Claude Code를 v2.1.305 이상으로 [업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)하십시오. 그러면 Claude Code는 이 거부에 대해 도구 검색 필드 없이 [요청을 한 번 더 보냅니다](https://code.claude.com/docs/ko/llm-gateway-protocol.md#retry-without-tool-search).

2475 * [Claude Code를 v2.1.305 이상으로 업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)합니다. 그러면 Claude Code가 이 거부에 대해 도구 검색 필드 없이 요청을 한 번 더 보냅니다.

2476 * 업데이트할 수 없거나 업데이트 후에도 메시지가 계속 나타나면, 셸 또는 [설정 `env`](https://code.claude.com/docs/ko/settings-reference#env)에서 `ENABLE_TOOL_SEARCH=false`를 설정합니다. 설정 파일에서 이미 이 변수를 설정하고 있다면, 그 값이 [셸 export를 재정의할 수 있으므로](https://code.claude.com/docs/ko/settings-reference.md#how-env-values-interact-with-your-shell) 해당 파일에서 변경하십시오. 그러면 Claude Code는 MCP 도구를 미리 로드합니다.

2477* 게이트웨이가 헤더를 삭제하는 경우, `anthropic-beta` 헤더를 전달하도록 게이트웨이를 구성하십시오. 게이트웨이가 전달해야 하는 항목은 [기능 패스스루](https://code.claude.com/docs/ko/llm-gateway-protocol.md#feature-pass-through)를 참조하십시오.2492* 게이트웨이가 헤더를 삭제하는 경우, `anthropic-beta` 헤더를 전달하도록 게이트웨이를 구성하십시오. 게이트웨이가 전달해야 하는 항목은 [기능 패스스루](https://code.claude.com/docs/ko/llm-gateway-protocol.md#feature-pass-through)를 참조하십시오.

2478* 대안으로, 실행하기 전에 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](https://code.claude.com/docs/ko/env-vars)을 설정하십시오. 정확한 범위는 [사전 출시 기능 비활성화](https://code.claude.com/docs/ko/llm-gateway-protocol.md#disable-pre-release-capabilities)에서 다룹니다.2493* 대안으로, 실행하기 전에 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](https://code.claude.com/docs/ko/env-vars)을 설정하십시오. 정확한 범위는 [사전 출시 기능 비활성화](https://code.claude.com/docs/ko/llm-gateway-protocol.md#disable-pre-release-capabilities)에서 다룹니다.

2479 2494 


2552* 버전이 포함된 전체 ID 대신 `sonnet`이나 `opus` 같은 별칭을 사용하십시오. 별칭은 관리되는 기본값으로 해석되므로 오래되지 않습니다. [모델 구성](https://code.claude.com/docs/ko/model-config.md)을 참조하십시오.2567* 버전이 포함된 전체 ID 대신 `sonnet`이나 `opus` 같은 별칭을 사용하십시오. 별칭은 관리되는 기본값으로 해석되므로 오래되지 않습니다. [모델 구성](https://code.claude.com/docs/ko/model-config.md)을 참조하십시오.

2553* CLI에서 잘못된 모델이 계속 다시 나타난다면 어딘가에 오래된 ID가 설정되어 있는 것입니다. 모델을 설정할 수 있는 위치를 [우선순위 순서](https://code.claude.com/docs/ko/model-config.md#setting-your-model)대로 확인하고 오래된 값을 제거하십시오.2568* CLI에서 잘못된 모델이 계속 다시 나타난다면 어딘가에 오래된 ID가 설정되어 있는 것입니다. 모델을 설정할 수 있는 위치를 [우선순위 순서](https://code.claude.com/docs/ko/model-config.md#setting-your-model)대로 확인하고 오래된 값을 제거하십시오.

2554* Claude Code는 만료된 claude.ai 로그인을 이 오류가 아닌 [Login expired](#login-expired)로 보고합니다. v2.1.206 이전에는 더 이상 갱신할 수 없는 만료된 로그인이 모든 모델에서 이 오류로 실패했습니다. 이전 버전에서 이 현상이 나타나면 `/login`을 실행하십시오.2569* Claude Code는 만료된 claude.ai 로그인을 이 오류가 아닌 [Login expired](#login-expired)로 보고합니다. v2.1.206 이전에는 더 이상 갱신할 수 없는 만료된 로그인이 모든 모델에서 이 오류로 실패했습니다. 이전 버전에서 이 현상이 나타나면 `/login`을 실행하십시오.

2555* [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)이 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 가리키고 모든 모델이 이런 방식으로 실패한다면, 게이트웨이가 Claude Code가 기본적으로 보내는 도구 검색 필드를 거부하고 있는지 확인하세요. 확인하려면 [LLM 게이트웨이를 통한 도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway)에 설명된 대로 `ENABLE_TOOL_SEARCH=false`를 설정한 후 다시 시도하세요. v2.1.304 이전에는 `ENABLE_TOOL_SEARCH`로 켜지 않는 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.2570* [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)이 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 가리키고 모든 모델이 이렇게 실패한다면, 게이트웨이와 그 업스트림이 [도구 검색](https://code.claude.com/docs/ko/mcp.md#tool-search-through-a-gateway) 필드를 허용하는지 확인하십시오. 기본적으로 Claude Code는 `defer_loading` 도구 필드와 `tool_reference` 블록을 이를 활성화하는 `anthropic-beta` 헤더와 함께 보냅니다. v2.1.304 이전에는 `ENABLE_TOOL_SEARCH`로 켜지 않는 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.

2556* Google Cloud's Agent Platform 배포의 경우 [Google Cloud's Agent Platform 문제 해결](https://code.claude.com/docs/ko/google-vertex-ai.md#troubleshooting)을 참조하십시오.2571* Google Cloud's Agent Platform 배포의 경우 [Google Cloud's Agent Platform 문제 해결](https://code.claude.com/docs/ko/google-vertex-ai.md#troubleshooting)을 참조하십시오.

2557 2572 

2558### Model is not a recognized model id2573### Model is not a recognized model id


4173 4188 

4174등록된 마켓플레이스의 이름이 [공식 Anthropic 마켓플레이스를 사칭합니다](https://code.claude.com/docs/ko/plugins/marketplace-reference.md#reserved-names). 해당 섹션에 나열된 규칙에 따릅니다.4189등록된 마켓플레이스의 이름이 [공식 Anthropic 마켓플레이스를 사칭합니다](https://code.claude.com/docs/ko/plugins/marketplace-reference.md#reserved-names). 해당 섹션에 나열된 규칙에 따릅니다.

4175 4190 

4176마켓플레이스가 확인이 이를 차단하기 전에 이러한 이름으로 등록된 경우 마켓플레이스와 여기서 설치된 플러그인이 로드되지 않습니다. Claude Code는 마켓플레이스의 카탈로그를 읽을 때마다 이름을 확인하기 때문입니다. 이름이 공식 이름을 모방할 때 `claude plugin list` 및 `/plugin` **오류** 탭은 다음과 같이 시작하는 메시지와 함께 영향을 받는 각 플러그인을 보고합니다:4191마켓플레이스가 확인이 이를 차단하기 전에 이러한 이름으로 등록된 경우 마켓플레이스와 여기서 설치된 플러그인이 로드되지 않습니다. Claude Code는 마켓플레이스의 카탈로그를 읽을 때마다 이름을 확인하기 때문입니다. 이름이 공식 이름을 모방할 때 `claude plugin list` 및 `/plugin` **Errors** 탭은 다음과 같이 시작하는 메시지와 함께 영향을 받는 각 플러그인을 보고합니다:

4177 4192 

4178```text theme={null}4193```text theme={null}

4179Claude Code refuses the marketplace name "anthropic-plugins-v2"4194Claude Code refuses the marketplace name "anthropic-plugins-v2"


4187 4202 

4188* 설정 파일이 `"source": "settings"`로 인라인 선언한 마켓플레이스를 유지하려면 이전 이름을 제거하기 전에 이름을 바꾸십시오. 마켓플레이스를 제거하면 설정 파일에서도 해당 항목이 삭제되기 때문입니다. Claude Code v2.1.292 이상에서는 메시지에 다음 단계가 나열됩니다:4203* 설정 파일이 `"source": "settings"`로 인라인 선언한 마켓플레이스를 유지하려면 이전 이름을 제거하기 전에 이름을 바꾸십시오. 마켓플레이스를 제거하면 설정 파일에서도 해당 항목이 삭제되기 때문입니다. Claude Code v2.1.292 이상에서는 메시지에 다음 단계가 나열됩니다:

4189 1. `extraKnownMarketplaces` 아래에 마켓플레이스를 나열하는 각 설정 파일에서 항목의 키와 해당 `source.name`에 공식 이름처럼 보이지 않는 새로운 일반 ASCII 이름 하나를 지정하십시오. 관리자가 조직의 관리형 설정을 통해 마켓플레이스를 추가하는 경우 이 단계는 관리자가 수행합니다.4204 1. `extraKnownMarketplaces` 아래에 마켓플레이스를 나열하는 각 설정 파일에서 항목의 키와 해당 `source.name`에 공식 이름처럼 보이지 않는 새로운 일반 ASCII 이름 하나를 지정하십시오. 관리자가 조직의 관리형 설정을 통해 마켓플레이스를 추가하는 경우 이 단계는 관리자가 수행합니다.

4190 2. `claude plugin marketplace remove <old-name>`을 실행하거나 `/plugin`의 **마켓플레이스** 탭에서 이전 이름을 제거하십시오. 이렇게 하면 해당 플러그인도 제거되고 그 데이터, 옵션 및 비밀이 삭제됩니다.4205 2. `claude plugin marketplace remove <old-name>`을 실행하거나 `/plugin`의 **Marketplaces** 탭에서 이전 이름을 제거하십시오. 이렇게 하면 해당 플러그인도 제거되고 그 데이터, 옵션 및 비밀이 삭제됩니다.

4191 3. Claude Code를 다시 시작하십시오. 파일이 프로젝트의 설정 파일인 경우 해당 프로젝트 폴더에서 시작하십시오. 그런 다음 이름이 바뀐 마켓플레이스에서 플러그인을 설치하십시오.4206 3. Claude Code를 다시 시작하십시오. 파일이 프로젝트의 설정 파일인 경우 해당 프로젝트 폴더에서 시작하십시오. 그런 다음 이름이 바뀐 마켓플레이스에서 플러그인을 설치하십시오.

4192* 다른 마켓플레이스를 유지하려면 유지 관리자가 이름을 바꿀 때까지 기다린 다음 `claude plugin marketplace update <name>`을 실행하십시오.4207* 다른 마켓플레이스를 유지하려면 유지 관리자가 이름을 바꿀 때까지 기다린 다음 `claude plugin marketplace update <name>`을 실행하십시오.

4193* 마켓플레이스를 제거하려면 `claude plugin marketplace remove <name>`을 실행하십시오. 이렇게 하면 마켓플레이스에서 설치된 플러그인도 제거되고 그 데이터, 옵션 및 비밀이 삭제됩니다.4208* 마켓플레이스를 제거하려면 `claude plugin marketplace remove <name>`을 실행하십시오. 이렇게 하면 마켓플레이스에서 설치된 플러그인도 제거되고 그 데이터, 옵션 및 비밀이 삭제됩니다.


4302 4317 

4303### Plugin not loaded: its manifest was not read4318### Plugin not loaded: its manifest was not read

4304 4319 

4305Claude Code는 `.claude-plugin/plugin.json`에 있는 마켓플레이스 플러그인의 [매니페스트](https://code.claude.com/docs/ko/plugins/manifest-reference.md)가 플러그인 내부에 있는지 확인할 수 없었으므로 해당 플러그인에서 아무것도 로드하지 않습니다. [로컬 마켓플레이스](https://code.claude.com/docs/ko/plugins/loading.md#in-place-and-copied-plugins)의 플러그인의 경우 Claude Code는 매니페스트가 해당 마켓플레이스 내부에 있는지도 확인할 수 없었습니다. 메시지는 `/plugin` **오류** 탭에 나타나며, 끝부분의 이유는 Claude Code가 발견한 내용을 알려 줍니다.4320Claude Code는 `.claude-plugin/plugin.json`에 있는 마켓플레이스 플러그인의 [매니페스트](https://code.claude.com/docs/ko/plugins/manifest-reference.md)가 플러그인 내부에 있는지 확인할 수 없었으므로 해당 플러그인에서 아무것도 로드하지 않습니다. [로컬 마켓플레이스](https://code.claude.com/docs/ko/plugins/loading.md#in-place-and-copied-plugins)의 플러그인의 경우 Claude Code는 매니페스트가 해당 마켓플레이스 내부에 있는지도 확인할 수 없었습니다. 메시지는 `/plugin` **Errors** 탭에 나타나며, 끝부분의 이유는 Claude Code가 발견한 내용을 알려 줍니다.

4306 4321 

4307예를 들어 이 메시지는 `.claude-plugin` 폴더가 마켓플레이스 외부로 이어지는 심볼릭 링크인 로컬 마켓플레이스의 플러그인에 대한 것입니다:4322예를 들어 이 메시지는 `.claude-plugin` 폴더가 마켓플레이스 외부로 이어지는 심볼릭 링크인 로컬 마켓플레이스의 플러그인에 대한 것입니다:

4308 4323 


4394 4409 

4395### Plugin is required by your organization4410### Plugin is required by your organization

4396 4411 

4397`claude plugin disable`을 실행했거나 `/plugin` **설치됨** 탭을 사용하여 조직이 필수로 표시한 [claude.ai에서 동기화된](https://code.claude.com/docs/ko/plugins/loading.md#synced-plugins) 플러그인을 비활성화하려고 했습니다:4412`claude plugin disable`을 실행했거나 `/plugin` **Installed** 탭을 사용하여 조직이 필수로 표시한 [claude.ai에서 동기화된](https://code.claude.com/docs/ko/plugins/loading.md#synced-plugins) 플러그인을 비활성화하려고 했습니다:

4398 4413 

4399```text theme={null}4414```text theme={null}

4400Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.4415Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.


4410 4425 

4411### Plugin was not uninstalled4426### Plugin was not uninstalled

4412 4427 

4413[`claude plugin uninstall`](https://code.claude.com/docs/ko/plugins/cli-reference#plugin-uninstall)을 실행했거나 `/plugin` **설치됨** 탭에서 **제거**를 선택했으며 제거가 `"<plugin>" was not uninstalled:`로 시작하는 메시지와 함께 중지되었습니다. 그 뒤의 텍스트가 설정 파일 이름을 지정하는 대신 `installed_plugins.json`으로 시작하면 원인은 이 버전의 Claude Code가 읽을 수 없는 `installed_plugins.json`의 내용입니다. 해당 형식의 경우 [`installed_plugins.json` holds a record this version can't read](https://code.claude.com/docs/ko/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read)를 참조하십시오.4428[`claude plugin uninstall`](https://code.claude.com/docs/ko/plugins/cli-reference#plugin-uninstall)을 실행했거나 `/plugin` **Installed** 탭에서 **Uninstall**을 선택했으며 제거가 `"<plugin>" was not uninstalled:`로 시작하는 메시지와 함께 중지되었습니다. 그 뒤의 텍스트가 설정 파일 이름을 지정하는 대신 `installed_plugins.json`으로 시작하면 원인은 이 버전의 Claude Code가 읽을 수 없는 `installed_plugins.json`의 내용입니다. 해당 형식의 경우 [`installed_plugins.json` holds a record this version can't read](https://code.claude.com/docs/ko/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read)를 참조하십시오.

4414 4429 

4415Claude Code가 `enabledPlugins`에서 플러그인의 항목을 제거하고 해당 범위의 설정 파일을 다시 읽었을 때 플러그인이 여전히 켜져 있었거나 이를 켤 수 있는 파일을 읽거나 확인할 수 없었습니다. 설정 항목이 이를 다시 켤 수 있는 동안 플러그인의 저장된 옵션, 비밀 및 데이터를 삭제하면 이를 잃게 되므로 제거가 대신 중지됩니다: 플러그인은 설치된 상태로 유지되고 저장된 것은 삭제되지 않습니다.4430Claude Code가 `enabledPlugins`에서 플러그인의 항목을 제거하고 해당 범위의 설정 파일을 다시 읽었을 때 플러그인이 여전히 켜져 있었거나 이를 켤 수 있는 파일을 읽거나 확인할 수 없었습니다. 설정 항목이 이를 다시 켤 수 있는 동안 플러그인의 저장된 옵션, 비밀 및 데이터를 삭제하면 이를 잃게 되므로 제거가 대신 중지됩니다: 플러그인은 설치된 상태로 유지되고 저장된 것은 삭제되지 않습니다.

4416 4431 


4563* Claude가 파일을 변경할 수 있어야 한다면 `/permissions` 또는 [설정](https://code.claude.com/docs/ko/settings-reference.md#permission-settings)에서 `Read` 거부 규칙을 제거하거나 범위를 좁힙니다4578* Claude가 파일을 변경할 수 있어야 한다면 `/permissions` 또는 [설정](https://code.claude.com/docs/ko/settings-reference.md#permission-settings)에서 `Read` 거부 규칙을 제거하거나 범위를 좁힙니다

4564* 파일을 그대로 유지해야 한다면 규칙을 유지하고, NotebookEdit 도구도 차단되도록 같은 경로에 대한 `Edit` 거부 규칙을 추가합니다4579* 파일을 그대로 유지해야 한다면 규칙을 유지하고, NotebookEdit 도구도 차단되도록 같은 경로에 대한 `Edit` 거부 규칙을 추가합니다

4565 4580 

4581### Setting blocks writes outside the working directories

4582 

4583Claude가 파일을 쓰려고 할 때 도구 호출이 이 메시지와 함께 실패하면, 해당 경로가 세션의 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부에 있고 [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockwritesoutsideworkingdirectories)가 켜져 있는 것입니다.

4584 

4585```text wrap theme={null}

4586<path> is outside <dirs>; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories. Ask the user to add the directory with /add-dir, or to remove that setting.

4587```

4588 

4589Claude Code는 모든 권한 모드에서 해당 쓰기를 거부합니다. 거부 메시지는 다음과 같이 표시될 수도 있습니다.

4590 

4591```text wrap theme={null}

4592<path>: Writes outside the working directories are blocked (permissions.blockWritesOutsideWorkingDirectories). Add the directory with /add-dir, or remove that setting.

4593```

4594 

4595**조치 방법:**

4596 

4597* Claude가 그 위치에 쓰면 안 된다면 아무것도 하지 않습니다

4598* 경로를 포함하는 기존 디렉터리에 Claude가 쓸 수 있도록 하려면 Claude Code 프롬프트에서 `/add-dir <directory>`를 실행하거나, Claude Code를 시작할 때 `--add-dir <directory>`를 전달합니다

4599* 경로가 `~/.claude/settings.json` 같은 Claude Code 설정 파일이라면 직접 편집합니다. `/add-dir`로 해당 디렉터리를 추가해도 도움이 되지 않습니다. 그러면 Claude Code가 [설정 파일이라는 이유로](#writes-to-claude-code-settings-files-are-blocked) 쓰기를 거부하기 때문입니다.

4600* 모든 세션에서 디렉터리를 쓰기 가능하게 유지하려면 사용자 설정 또는 관리형 설정의 [`permissions.additionalDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-additionaldirectories) 아래에 해당 디렉터리를 나열합니다

4601* `permissions.blockWritesOutsideWorkingDirectories`를 끄려면 이를 설정하는 모든 설정 파일에서 제거한 다음 Claude Code를 다시 시작합니다

4602* 사용자의 설정 파일 중 어디에도 `permissions.blockWritesOutsideWorkingDirectories`가 없다면 `--settings` 또는 호스트 애플리케이션에서 온 설정일 수 있습니다. Claude Code는 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md#keys-that-fail-closed)의 `permissions`를 읽을 수 없는 동안에도 이러한 쓰기를 거부합니다. 세션을 시작하거나 관리하는 담당자에게 문의하세요.

4603 

4604### Writes to Claude Code settings files are blocked

4605 

4606Claude가 파일을 쓰려고 할 때 도구 호출이 이 메시지와 함께 실패하면, Claude Code가 해당 파일을 자신의 설정 파일 중 하나로 취급하고 있으며 [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockwritesoutsideworkingdirectories)가 켜져 있는 것입니다.

4607 

4608```text wrap theme={null}

4609<path>: Writes to Claude Code settings files are blocked while permissions.blockWritesOutsideWorkingDirectories is on, because a settings file can lift that block. While a managed settings folder cannot be resolved, any .json file counts as one.

4610```

4611 

4612**조치 방법:**

4613 

4614* 설정을 변경하려면 설정 파일을 직접 편집합니다

4615* Claude가 다시 설정 파일을 편집할 수 있도록 하려면 `permissions.blockWritesOutsideWorkingDirectories`를 설정하는 모든 설정 파일에서 이를 제거한 다음 Claude Code를 다시 시작합니다

4616* 해당 파일이 사용자의 설정 파일이 아니라면 Claude Code가 설정 파일로 취급하는 다른 파일 중에서 찾습니다.

4617 * **`--agents` 또는 `--mcp-config`에 전달한 파일**: 직접 편집합니다

4618 * **[서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md#security-considerations)의 저장된 사본 및 함께 보관되는 파일**: [Owner](https://code.claude.com/docs/ko/server-managed-settings.md#access-control)에게 서버 관리형 설정에서 해당 설정을 변경하도록 요청합니다.

4619 * **Claude Code가 [`managed-settings.d/`](https://code.claude.com/docs/ko/managed-settings#split-a-file-based-policy-across-teams) 폴더가 어디로 이어지는지 파악할 수 없는 동안의 모든 `.json` 파일**: 관리자에게 해당 폴더를 확인하도록 요청합니다

4620 

4566### Path cannot contain null bytes4621### Path cannot contain null bytes

4567 4622 

4568파일 도구 호출의 경로 또는 패턴 인수에 파일 시스템과 검색 도구가 허용하지 않는 null 바이트가 포함되어 있었습니다. Read, Write, Edit, NotebookEdit, Glob, Grep이 이를 검사하며, 메시지에는 도구와 인수가 표시됩니다.4623파일 도구 호출의 경로 또는 패턴 인수에 파일 시스템과 검색 도구가 허용하지 않는 null 바이트가 포함되어 있었습니다. Read, Write, Edit, NotebookEdit, Glob, Grep이 이를 검사하며, 메시지에는 도구와 인수가 표시됩니다.


6147stderr를 읽는 스크립트나 하네스에서는 `[claude-code:unrecognized_model]` 접두사로 일치시키세요. 접두사와 공백 하나 뒤에 Claude Code는 한 줄짜리 JSON 객체를 기록합니다. Claude Code는 이후 버전에서 필드를 추가할 수 있으므로 예상하지 못한 필드는 무시하세요. 최소한 다음 두 필드는 기록됩니다:6202stderr를 읽는 스크립트나 하네스에서는 `[claude-code:unrecognized_model]` 접두사로 일치시키세요. 접두사와 공백 하나 뒤에 Claude Code는 한 줄짜리 JSON 객체를 기록합니다. Claude Code는 이후 버전에서 필드를 추가할 수 있으므로 예상하지 못한 필드는 무시하세요. 최소한 다음 두 필드는 기록됩니다:

6148 6203 

6149* `model`: 구성된 그대로의 모델 문자열6204* `model`: 구성된 그대로의 모델 문자열

6150* `query_source`: 모델을 사용한 요청 경로. Claude Code는 `-p` 실행에 대해 `sdk`를, 서브에이전트에 대해 `agent:`로 시작하는 값을 보고합니다.6205* `query_source`: 모델을 사용한 요청 경로. 예를 들어 `-p` 실행의 주 대화에서는 값이 `sdk`이고, 서브에이전트의 경우 `agent:`로 시작합니다.

6151 6206 

6152Claude Code는 실행 방식에 따라 두 곳 중 하나에 이 줄을 기록합니다:6207Claude Code는 실행 방식에 따라 두 곳 중 하나에 이 줄을 기록합니다:

6153 6208 

6154* `-p`를 사용하는 [비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서는 모든 `--output-format`에서 stderr에 기록하므로, 이 줄을 걸러내지 않고도 stdout을 구문 분석할 수 있습니다.6209* `-p`를 사용하는 [비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서는 모든 `--output-format`에서 stderr에 기록하므로, 이 줄을 걸러내지 않고도 stdout을 구문 분석할 수 있습니다.

6155* 대화형 세션 또는 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)에서는 대신 디버그 로그에 기록합니다. `--debug`로 실행하면 `~/.claude/debug/<session-id>.txt`에서 확인할 수 있습니다.6210* 대화형 세션 또는 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)에서는 대신 디버그 로그에 기록합니다. `--debug`로 실행하면 `~/.claude/debug/<session-id>.txt`에서 확인할 수 있습니다.

6156 6211 

6157Claude Code는 프로세스당 모델 문자열마다 한 번씩 이 줄을 기록합니다. [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-a-model)나 [백그라운드 기능](https://code.claude.com/docs/ko/costs.md#background-token-usage)이 사용하는 것처럼 추가로 인식되지 않는 ID마다 별도의 줄을 기록합니다.6212Claude Code는 프로세스당 모델 ID마다 한 번씩 이 줄을 기록합니다. [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-a-model)나 [백그라운드 기능](https://code.claude.com/docs/ko/model-config.md#environment-variables)이 사용하는 것처럼 추가로 인식되지 않는 ID마다 별도의 줄을 기록합니다.

6158 6213 

6159Claude Code는 Amazon Bedrock `us.anthropic.claude-...` ID, `@` 버전 접미사가 있는 Google Cloud의 Agent Platform ID, Claude 모델 ID를 포함하는 Microsoft Foundry 배포 이름처럼 인식하는 모델로 해석되는 공급자 ID에 대해서는 이 줄을 기록하지 않습니다. Amazon Bedrock [애플리케이션 추론 프로필 ARN](https://code.claude.com/docs/ko/amazon-bedrock.md#map-each-model-version-to-an-inference-profile)의 경우 ARN 자체가 아니라 그 뒤의 모델을 확인합니다. 잘못 입력한 ARN처럼 해석할 수 없는 ARN에 대해서는 줄을 기록하지 않습니다.6214Claude Code는 Amazon Bedrock `us.anthropic.claude-...` ID, `@` 버전 접미사가 있는 Google Cloud의 Agent Platform ID, Claude 모델 ID를 포함하는 Microsoft Foundry 배포 이름처럼 인식하는 모델로 해석되는 공급자 ID에 대해서는 이 줄을 기록하지 않습니다. Amazon Bedrock [애플리케이션 추론 프로필 ARN](https://code.claude.com/docs/ko/amazon-bedrock.md#map-each-model-version-to-an-inference-profile)의 경우 ARN 자체가 아니라 그 뒤의 모델을 확인합니다. 잘못 입력한 ARN처럼 해석할 수 없는 ARN에 대해서는 줄을 기록하지 않습니다.

6160 6215 

fast-mode.md +8 −1

Details

14 14 

15빠른 모드는 다른 모델이 아닙니다. 비용 효율성보다 속도를 우선시하는 다른 API 구성을 사용하는 동일한 Claude Opus를 사용합니다. 동일한 품질과 기능을 얻으며, 응답만 더 빠릅니다. 빠른 모드는 Opus 5.5, Opus 5 및 Opus 4.8에서 지원됩니다. Sonnet, Haiku 또는 다른 모델에서는 사용할 수 없습니다.15빠른 모드는 다른 모델이 아닙니다. 비용 효율성보다 속도를 우선시하는 다른 API 구성을 사용하는 동일한 Claude Opus를 사용합니다. 동일한 품질과 기능을 얻으며, 응답만 더 빠릅니다. 빠른 모드는 Opus 5.5, Opus 5 및 Opus 4.8에서 지원됩니다. Sonnet, Haiku 또는 다른 모델에서는 사용할 수 없습니다.

16 16 

17> [!WARNING]

18>

19> Opus 4.8의 빠른 모드는 2026년 10월 30일에 deprecated되었으며 2026년 11월 30일에 제거될 예정입니다. 이 날짜 이후에도 빠른 모드가 켜진 상태로 Opus 4.8을 모델로 사용하고 있다면 API가 요청을 거부합니다. 해당 날짜까지 Opus 5.5로 전환하거나 세션에서 빠른 모드를 끄십시오.

20>

21> * **빠른 모드를 계속 사용하려면**: [`/model`](https://code.claude.com/docs/ko/model-config#setting-your-model)을 사용하여 [Opus 5.5](https://code.claude.com/docs/ko/model-config.md#model-aliases)로 전환합니다. 이를 위해서는 Claude Code v2.1.280 이상이 필요합니다. 전환 후에도 빠른 모드는 켜진 상태로 유지됩니다. 새 세션이 여전히 Opus 4.8로 시작된다면 [새 세션이 선택한 모델과 다른 모델로 시작되는 경우](https://code.claude.com/docs/ko/model-config.md#a-new-session-starts-on-a-different-model-than-you-picked)를 참조하십시오.

22> * **표준 속도로 Opus 4.8을 계속 사용하려면**: [`/fast off`](https://code.claude.com/docs/ko/commands)를 실행합니다.

23 

17Opus 4.7은 빠른 모드를 지원하지 않으므로, 이로 전환하면 빠른 모드가 꺼집니다. Opus 4.7의 빠른 모드는 2026년 6월 25일에 더 이상 사용되지 않으며 2026년 7월 24일에 제거되었습니다.24Opus 4.7은 빠른 모드를 지원하지 않으므로, 이로 전환하면 빠른 모드가 꺼집니다. Opus 4.7의 빠른 모드는 2026년 6월 25일에 더 이상 사용되지 않으며 2026년 7월 24일에 제거되었습니다.

18 25 

19알아야 할 사항:26알아야 할 사항:


88 95 

89* **Pro, Max 및 Ultra**: 사용량 크레딧에서 빠른 모드 비용을 지불합니다. claude.ai의 [**설정 > 사용**](https://claude.ai/settings/usage)으로 이동하면, **사용량 크레딧** 섹션에 이번 달 사용량 크레딧으로 얼마를 지출했는지 표시됩니다. 이 수치에는 빠른 모드가 포함되지만 별도로 분류되지 않습니다.96* **Pro, Max 및 Ultra**: 사용량 크레딧에서 빠른 모드 비용을 지불합니다. claude.ai의 [**설정 > 사용**](https://claude.ai/settings/usage)으로 이동하면, **사용량 크레딧** 섹션에 이번 달 사용량 크레딧으로 얼마를 지출했는지 표시됩니다. 이 수치에는 빠른 모드가 포함되지만 별도로 분류되지 않습니다.

90* **Team 및 Enterprise**: 조직이 사용 크레딧에서 빠른 모드 사용 비용을 지불합니다. 자신의 사용 크레딧 지출을 확인하려면 [`/usage`](https://code.claude.com/docs/ko/costs#check-your-usage-credits-spend)를 실행하십시오. 조직이 해당 지출을 확인하는 위치에 대해서는 [Claude for Teams and Enterprise](https://code.claude.com/docs/ko/costs.md#claude-for-teams-and-enterprise)를 참조하십시오.97* **Team 및 Enterprise**: 조직이 사용 크레딧에서 빠른 모드 사용 비용을 지불합니다. 자신의 사용 크레딧 지출을 확인하려면 [`/usage`](https://code.claude.com/docs/ko/costs#check-your-usage-credits-spend)를 실행하십시오. 조직이 해당 지출을 확인하는 위치에 대해서는 [Claude for Teams and Enterprise](https://code.claude.com/docs/ko/costs.md#claude-for-teams-and-enterprise)를 참조하십시오.

91* **Claude Console**: 조직이 나머지 API 사용과 함께 빠른 모드 비용을 지불합니다. Console [사용](https://platform.claude.com/usage) 및 [비용](https://platform.claude.com/cost) 페이지에서 **그룹화 기준** 메뉴의 \*\*속도 (연구 미리보기)\*\*를 선택하여 빠른 모드를 표준 속도 사용과 분리합니다. 선택한 날짜 범위에 빠른 모드 사용이 포함된 경우에만 해당 옵션이 표시됩니다.98* **Claude Console**: 조직이 나머지 API 사용과 함께 빠른 모드 비용을 지불합니다. Console [사용](https://platform.claude.com/usage) 및 [비용](https://platform.claude.com/cost) 페이지에서 **그룹화 기준** 메뉴의 \*\*속도 (리서치 프리뷰)\*\*를 선택하여 빠른 모드를 표준 속도 사용과 분리합니다. 선택한 날짜 범위에 빠른 모드 사용이 포함된 경우에만 해당 옵션이 표시됩니다.

92 99 

93## 빠른 모드 사용 시기 결정100## 빠른 모드 사용 시기 결정

94 101 

Details

192 192 

193Claude Code가 Google Cloud의 Agent Platform으로 구성되어 시작할 때 사용하려는 모델이 프로젝트에서 액세스 가능한지 확인합니다.193Claude Code가 Google Cloud의 Agent Platform으로 구성되어 시작할 때 사용하려는 모델이 프로젝트에서 액세스 가능한지 확인합니다.

194 194 

195현재 Claude Code 기본값보다 오래된 모델 버전을 고정했고 프로젝트가 최신 버전을 호출할 수 있으면 Claude Code는 고정을 업데이트하라는 메시지를 표시합니다. 수락하면 새 모델 ID를 [사용자 설정 파일](https://code.claude.com/docs/ko/settings.md)에 쓰고 Claude Code를 다시 시작합니다. 거절하면 다음 기본 버전 변경까지 기억됩니다.195현재 Claude Code 기본값보다 오래된 모델 버전을 고정했을 수 있습니다. 프로젝트가 최신 버전을 호출할 수 있으면 Claude Code는 고정을 업데이트할지 묻습니다.

196 

197* **수락하는 경우**: Claude Code가 새 모델 ID를 [사용자 설정 파일](https://code.claude.com/docs/ko/settings.md)에 쓰고 다시 시작합니다

198* **거절하는 경우**: Claude Code가 다음 기본 버전 변경까지 선택을 기억합니다

199 

200[관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)의 `env` 블록에 있는 고정에 대해서는 Claude Code가 확인을 실행하지 않으며 프롬프트도 표시하지 않습니다.

196 201 

197모델을 고정하지 않았고 현재 기본값을 프로젝트에서 사용할 수 없으면 Claude Code는 현재 세션에 대해 이전 버전으로 폴백하고 알림을 표시합니다. 기본값이 Opus 모델이고 사용 가능한 Opus 버전이 없으면 기본 Sonnet 모델로 폴백합니다. 폴백은 유지되지 않습니다. [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)에서 최신 모델을 활성화하거나 [버전을 고정](#5-pin-model-versions)하여 선택을 영구적으로 만듭니다.202모델을 고정하지 않았고 현재 기본값을 프로젝트에서 사용할 수 없으면 Claude Code는 현재 세션에 대해 이전 버전으로 폴백하고 알림을 표시합니다. 기본값이 Opus 모델이고 사용 가능한 Opus 버전이 없으면 기본 Sonnet 모델로 폴백합니다. 폴백은 유지되지 않습니다. [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)에서 최신 모델을 활성화하거나 [버전을 고정](#5-pin-model-versions)하여 선택을 영구적으로 만듭니다.

198 203 

hooks.md +3 −3

Details

580| 필드 | 필수 | 설명 |580| 필드 | 필수 | 설명 |

581| :- | :- | :- |581| :- | :- | :- |

582| `prompt` | 예 | 모델로 보낼 프롬프트 텍스트. hook 입력 JSON에 대한 자리 표시자로 `$ARGUMENTS`를 사용합니다. 리터럴 텍스트를 포함하려면 백슬래시로 이스케이프합니다: `\$1.00`은 `$1.00`으로 렌더링됩니다. |582| `prompt` | 예 | 모델로 보낼 프롬프트 텍스트. hook 입력 JSON에 대한 자리 표시자로 `$ARGUMENTS`를 사용합니다. 리터럴 텍스트를 포함하려면 백슬래시로 이스케이프합니다: `\$1.00`은 `$1.00`으로 렌더링됩니다. |

583| `model` | 아니요 | 평가에 사용할 모델. 기본값은 Claude Code가 [백그라운드 기능](https://code.claude.com/docs/ko/costs.md#background-token-usage)에 사용하는 모델입니다. |583| `model` | 아니요 | 평가에 사용할 모델. 기본값은 Claude Code가 [백그라운드 기능](https://code.claude.com/docs/ko/model-config.md#environment-variables)에 사용하는 모델입니다. |

584 584 

585### 경로별 스크립트 참조585### 경로별 스크립트 참조

586 586 


3914 3914 

3915프롬프트 기반 훅은 Bash 명령을 실행하는 대신 다음과 같이 작동합니다.3915프롬프트 기반 훅은 Bash 명령을 실행하는 대신 다음과 같이 작동합니다.

3916 3916 

39171. 훅 입력과 프롬프트를 Claude 모델로 전송합니다. 기본적으로 Claude Code가 [백그라운드 기능](https://code.claude.com/docs/ko/costs.md#background-token-usage)에 사용하는 모델이 사용됩니다39171. 훅 입력과 프롬프트를 Claude 모델로 전송합니다. 기본적으로 Claude Code가 [백그라운드 기능](https://code.claude.com/docs/ko/model-config.md#environment-variables)에 사용하는 모델이 사용됩니다

39182. LLM이 결정을 담은 구조화된 JSON으로 응답합니다39182. LLM이 결정을 담은 구조화된 JSON으로 응답합니다

39193. Claude Code가 결정을 자동으로 처리합니다39193. Claude Code가 결정을 자동으로 처리합니다

3920 3920 


3947| :- | :- | :- |3947| :- | :- | :- |

3948| `type` | 예 | 반드시 `"prompt"`여야 합니다 |3948| `type` | 예 | 반드시 `"prompt"`여야 합니다 |

3949| `prompt` | 예 | LLM에 전송할 프롬프트 텍스트입니다. 훅 입력 JSON의 플레이스홀더로 `$ARGUMENTS`를 사용합니다. `$ARGUMENTS`가 없으면 입력 JSON이 프롬프트 끝에 추가됩니다 |3949| `prompt` | 예 | LLM에 전송할 프롬프트 텍스트입니다. 훅 입력 JSON의 플레이스홀더로 `$ARGUMENTS`를 사용합니다. `$ARGUMENTS`가 없으면 입력 JSON이 프롬프트 끝에 추가됩니다 |

3950| `model` | 아니요 | 평가에 사용할 모델입니다. 기본값은 Claude Code가 [백그라운드 기능](https://code.claude.com/docs/ko/costs.md#background-token-usage)에 사용하는 모델입니다 |3950| `model` | 아니요 | 평가에 사용할 모델입니다. 기본값은 Claude Code가 [백그라운드 기능](https://code.claude.com/docs/ko/model-config.md#environment-variables)에 사용하는 모델입니다 |

3951| `timeout` | 아니요 | 초 단위 타임아웃입니다. 기본값: 30 |3951| `timeout` | 아니요 | 초 단위 타임아웃입니다. 기본값: 30 |

3952| `continueOnBlock` | 아니요 | 적용되는 이벤트에서 `true`로 설정하면 턴을 종료하는 대신 `ok: false` 사유를 Claude에 다시 전달하고 계속 진행합니다. 기본값: `false`. 이벤트별 동작은 [응답 스키마](#response-schema)를 참조하십시오 |3952| `continueOnBlock` | 아니요 | 적용되는 이벤트에서 `true`로 설정하면 턴을 종료하는 대신 `ok: false` 사유를 Claude에 다시 전달하고 계속 진행합니다. 기본값: `false`. 이벤트별 동작은 [응답 스키마](#response-schema)를 참조하십시오 |

3953 3953 

Details

708 708 

709연결된 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md#attach-to-a-session)에서 `Left`는 분리하고 에이전트 뷰로 돌아갑니다. 답변이 아직 도착 중이어도 분리됩니다. 곁질문은 떠나 있는 동안 계속 실행됩니다. 다음에 세션에 연결하면 오버레이는 곁질문 또는 그 답변으로 다시 열립니다. v2.1.257 이전에는 `Left`가 거기서 분리되지 않았습니다.709연결된 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md#attach-to-a-session)에서 `Left`는 분리하고 에이전트 뷰로 돌아갑니다. 답변이 아직 도착 중이어도 분리됩니다. 곁질문은 떠나 있는 동안 계속 실행됩니다. 다음에 세션에 연결하면 오버레이는 곁질문 또는 그 답변으로 다시 열립니다. v2.1.257 이전에는 `Left`가 거기서 분리되지 않았습니다.

710 710 

711`/btw`는 전체 대화를 보지만 도구가 없습니다. [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md)는 도구를 가지고 있으며 받은 프롬프트에서 시작하거나, [포크](https://code.claude.com/docs/ko/sub-agents.md#fork-the-current-conversation)의 경우 이 대화의 복사본에서 시작합니다. `/btw`를 사용하여 Claude가 이 세션에서 이미 알고 있는 것에 대해 질문하세요. 서브에이전트를 사용하여 새로운 것을 찾아내세요.711`/btw`는 전체 대화 또는 [열려 있는 서브에이전트 트랜스크립트](#ask-btw-about-a-subagent)를 보지만 도구가 없습니다. [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md)는 도구를 가지고 있으며 받은 프롬프트에서 시작합니다. [포크](https://code.claude.com/docs/ko/sub-agents.md#fork-the-current-conversation)는 이 대화의 복사본에서 시작합니다. `/btw`를 사용하여 Claude가 이 세션에서 이미 알고 있는 것에 대해 질문하세요. 서브에이전트를 사용하여 새로운 것을 찾아내세요.

712 

713### /btw로 서브에이전트에 대해 질문하기

714 

715[서브에이전트의 트랜스크립트가 열려 있으면](https://code.claude.com/docs/ko/sub-agents.md#observe-and-steer-running-forks) Claude는 메인 대화 대신 해당 트랜스크립트에서 `/btw`에 답변하므로, 서브에이전트가 무엇을 했는지 질문할 수 있습니다. 해당 트랜스크립트에서 이후에 실행하는 `/btw`는 그 트랜스크립트에서 질문한 곁질문만 봅니다. Claude Code v2.1.314 이상이 필요합니다.

716 

717[에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원의 트랜스크립트에서는 Claude가 메인 대화에서 답변합니다.

712 718 

713## 작업 목록719## 작업 목록

714 720 


749* **컴퓨터가 절전 모드로 전환된 후**: 약 30분 이상 절전 모드였고 절전 중에 한도가 재설정된 경우, 첫 번째 줄에 `Your usage limit has reset`, 두 번째 줄에 `Press enter to continue`가 표시됩니다. `Enter`를 눌러 계속하십시오. 절전 시간이 더 짧았거나 재설정 전에 절전이 끝난 경우에는 Claude Code가 자동으로 계속합니다.755* **컴퓨터가 절전 모드로 전환된 후**: 약 30분 이상 절전 모드였고 절전 중에 한도가 재설정된 경우, 첫 번째 줄에 `Your usage limit has reset`, 두 번째 줄에 `Press enter to continue`가 표시됩니다. `Enter`를 눌러 계속하십시오. 절전 시간이 더 짧았거나 재설정 전에 절전이 끝난 경우에는 Claude Code가 자동으로 계속합니다.

750* **조기**: `/usage-credits`로 [사용량 크레딧](https://code.claude.com/docs/ko/costs.md#add-usage-credits-to-your-subscription)을 추가하거나, `/upgrade` 후 다시 로그인하거나, 대기 중에 `/model`로 모델을 전환할 때, Claude Code는 사용량을 다시 사용할 수 있는지 확인하고 가능하면 즉시 계속합니다. 브라우저에서 직접 수행하는 업그레이드 또는 구매 후에는 확인하지 않습니다. [`opusplan`](https://code.claude.com/docs/ko/model-config#opusplan-model-setting) 및 다른 모델에서 플랜 모드를 다른 모델에서 실행하는 기타 모델 설정에서는 Claude Code가 재설정을 대기합니다.756* **조기**: `/usage-credits`로 [사용량 크레딧](https://code.claude.com/docs/ko/costs.md#add-usage-credits-to-your-subscription)을 추가하거나, `/upgrade` 후 다시 로그인하거나, 대기 중에 `/model`로 모델을 전환할 때, Claude Code는 사용량을 다시 사용할 수 있는지 확인하고 가능하면 즉시 계속합니다. 브라우저에서 직접 수행하는 업그레이드 또는 구매 후에는 확인하지 않습니다. [`opusplan`](https://code.claude.com/docs/ko/model-config#opusplan-model-setting) 및 다른 모델에서 플랜 모드를 다른 모델에서 실행하는 기타 모델 설정에서는 Claude Code가 재설정을 대기합니다.

751 757 

752계속된 작업은 다른 턴처럼 실행됩니다. Claude Code는 여전히 평소대로 [권한](https://code.claude.com/docs/ko/permissions.md)을 요청하므로 작업이 당신이 없는 동안 프롬프트에서 중단될 수 있습니다. 다시 제한에 도달하면, Claude Code는 최대 2번 연속으로 대기를 다시 활성화한 다음 중단하고 `Automatic continue stopped after repeated usage-limit hits · /rate-limit-options to try again`을 표시합니다.758계속된 작업에서도 Claude Code는 평소대로 [권한](https://code.claude.com/docs/ko/permissions.md)을 요청하므로 사용자가 자리를 비운 동안 작업이 프롬프트에서 멈출 수 있습니다. 작업이 다시 한도에 도달하면 대기가 다시 시작됩니다.

759 

760자동 계속이 세 번 실행되면 자동 계속이 중지되고 `Automatic continue stopped after repeated usage-limit hits` 알림이 표시됩니다. `/rate-limit-options`를 실행하여 다음에 할 작업을 선택하십시오. 다른 프롬프트를 보내거나 해당 메뉴에서 대기를 선택하면 횟수가 처음부터 다시 계산됩니다. 여러 재설정 창에 걸쳐 실행되는 [`/goal`](https://code.claude.com/docs/ko/goal) 또는 [세션 범위 예약 작업](https://code.claude.com/docs/ko/scheduled-tasks.md)에서도 자동 계속은 세 번 계속된 후 중지됩니다.

753 761 

754### 대기 취소762### 대기 취소

755 763 

Details

237* 업스트림이 `messages` 내부의 `role: "system"` 항목을 거부하면, Claude Code는 해당 대화 중간 시스템 메시지 없이 한 번 재시도하고 그 텍스트를 대신 사용자 메시지에 담아 전달합니다. 대화의 이후 요청은 개발자가 `/clear`를 실행하거나 대화가 압축될 때까지 그 형태를 유지합니다.237* 업스트림이 `messages` 내부의 `role: "system"` 항목을 거부하면, Claude Code는 해당 대화 중간 시스템 메시지 없이 한 번 재시도하고 그 텍스트를 대신 사용자 메시지에 담아 전달합니다. 대화의 이후 요청은 개발자가 `/clear`를 실행하거나 대화가 압축될 때까지 그 형태를 유지합니다.

238* 업스트림이 대화 중간 시스템 메시지의 `cache_control` 마커만 거부하면, Claude Code는 시스템 메시지를 유지하고 마커를 옮겨 한 번 재시도합니다. 해당 재시도와 Claude Code가 종료될 때까지의 이후 요청에서 마커는 `messages`에서 시스템 메시지가 아닌 마지막 항목에 붙습니다.238* 업스트림이 대화 중간 시스템 메시지의 `cache_control` 마커만 거부하면, Claude Code는 시스템 메시지를 유지하고 마커를 옮겨 한 번 재시도합니다. 해당 재시도와 Claude Code가 종료될 때까지의 이후 요청에서 마커는 `messages`에서 시스템 메시지가 아닌 마지막 항목에 붙습니다.

239* 업스트림이 [사고 서명](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)을 거부할 때, 블록이 `bound to a different conversation`이라는 `400`을 포함하여, Claude Code는 요청에서 이전 사고 블록을 제거하고, 재시도하며, 이후의 모든 요청에서 이들을 제외합니다. 새로운 응답은 여전히 사고를 포함합니다.239* 업스트림이 [사고 서명](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)을 거부할 때, 블록이 `bound to a different conversation`이라는 `400`을 포함하여, Claude Code는 요청에서 이전 사고 블록을 제거하고, 재시도하며, 이후의 모든 요청에서 이들을 제외합니다. 새로운 응답은 여전히 사고를 포함합니다.

240* 게이트웨이 또는 그 업스트림이 `tools`의 [어드바이저 도구](https://code.claude.com/docs/ko/advisor.md) 항목을 인식되지 않는 도구 유형으로 거부할 때, Claude Code는 해당 항목과 그 `anthropic-beta` 값 없이 요청을 한 번 재시도합니다. 이후 해당 기본 URL에 대한 요청은 Claude Code가 종료될 때까지 어드바이저를 제외하고, `/advisor`는 그 시간 동안 개발자에게 사용 불가능합니다. Claude Code는 `Input tag` 뒤에 도구 유형의 이름을 지정하는 `400` 또는 `422` 응답으로 이 거부를 인식합니다. 예를 들어 `Input tag 'advisor_20260301'`입니다. v2.1.280 이전에는 Claude Code가 이 거부를 재시도하지 않았습니다.240* 게이트웨이 또는 그 업스트림이 `tools`의 [어드바이저 도구](https://code.claude.com/docs/ko/advisor.md) 항목을 인식되지 않는 도구 유형으로 거부할 때, Claude Code는 해당 항목과 그 `anthropic-beta` 값 없이 요청을 한 번 재시도합니다. [이후 요청](#how-long-a-rejected-beta-value-stays-out)에서는 이들이 생략됩니다. Claude Code는 `Input tag` 뒤에 도구 유형의 이름을 지정하는 `400` 또는 `422` 응답으로 이 거부를 인식합니다. 예를 들어 `Input tag 'advisor_20260301'`입니다. v2.1.280 이전에는 Claude Code가 이 거부를 재시도하지 않았습니다.

241* 업스트림이 `output_config.effort` 또는 그 `anthropic-beta` 값을 거부하면, Claude Code는 재시도하고 Claude Code가 종료될 때까지 해당 모델에 대한 요청에 둘 다 추가하지 않습니다. 게이트웨이가 업스트림의 `400`을 수정하지 않고 전달하고 메시지가 다음 조건에 해당하면 게이트웨이를 변경할 필요가 없습니다:241* 업스트림이 `output_config.effort` 또는 그 `anthropic-beta` 값을 거부하면, 게이트웨이는 이들이 제외된 요청을 한 번 더 받습니다. [이후 요청](#how-long-a-rejected-beta-value-stays-out)에서는 이들이 생략됩니다. 게이트웨이가 업스트림의 `400`을 수정하지 않고 전달하고 메시지가 다음 조건에 해당하면 게이트웨이를 변경할 필요가 없습니다:

242 * `Extra inputs are not permitted`와 함께 `output_config.effort`의 이름을 지정합니다.242 * `Extra inputs are not permitted`와 함께 `output_config.effort`의 이름을 지정합니다.

243 * 모델이 노력 매개변수를 지원하지 않는다고 명시합니다.243 * 모델이 노력 매개변수를 지원하지 않는다고 명시합니다.

244 * `Unexpected value(s)`로 시작하고 `anthropic-beta` 헤더에 대해 `effort-2025-11-24`를 나열합니다. v2.1.310 이상이 필요합니다. [`ANTHROPIC_BETAS`](https://code.claude.com/docs/ko/env-vars)에 이 값이 나열된 개발자는 계속 이 값을 전송하여 `400`을 받게 되므로, 해당 항목을 제거하도록 합니다.244 * `Unexpected value(s)`로 시작하고 `anthropic-beta` 헤더에 대해 `effort-2025-11-24`를 나열합니다. v2.1.310 이상이 필요합니다. [`ANTHROPIC_BETAS`](https://code.claude.com/docs/ko/env-vars)에 이 값이 나열된 개발자는 계속 이 값을 전송하여 `400`을 받게 되므로, 해당 항목을 제거하도록 합니다.

245* 업스트림이 `context_management` 필드 또는 그 `anthropic-beta` 값을 거부하면, 게이트웨이는 이들이 제외된 요청을 한 번 더 받습니다. 이후 요청에서 게이트웨이가 이들을 다시 받고 업스트림이 다시 거부하면, 같은 재시도가 이어집니다. Claude Code는 메시지로 이 거부를 인식합니다. 예를 들어 `context_management: Extra inputs are not permitted`를 포함하는 메시지입니다. v2.1.304 이전에는 Claude Code가 이 거부를 재시도하지 않았습니다.245* 업스트림이 `context_management` 필드 또는 그 `anthropic-beta` 값을 거부하면, 게이트웨이는 이들이 제외된 요청을 한 번 더 받습니다. [이후 요청](#how-long-a-rejected-beta-value-stays-out)에서는 이들이 생략됩니다. Claude Code는 메시지로 이 거부를 인식합니다. 예를 들어 `context_management: Extra inputs are not permitted`를 포함하는 메시지입니다. v2.1.304 이전에는 Claude Code가 이 거부를 재시도하지 않았습니다.

246* `400`이 다른 `anthropic-beta` 값을 이름으로 지정하여 거부하면, [재시도가 해당 값을 다루는 경우](#retry-without-a-rejected-beta-value) 게이트웨이는 해당 값이 제외된 요청을 한 번 더 받습니다.

246* 업스트림이 `strict`와 같이 `defer_loading` 이외의 베타 도구 필드를 거부하면, `400`이 개발자에게 도달합니다. 그 전에 게이트웨이는 [도구 검색 필드 없이](#retry-without-tool-search) 요청을 다시 받을 수 있습니다. 이러한 필드의 전송을 중지하려면 개발자가 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities)을 설정하도록 합니다.247* 업스트림이 `strict`와 같이 `defer_loading` 이외의 베타 도구 필드를 거부하면, `400`이 개발자에게 도달합니다. 그 전에 게이트웨이는 [도구 검색 필드 없이](#retry-without-tool-search) 요청을 다시 받을 수 있습니다. 이러한 필드의 전송을 중지하려면 개발자가 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities)을 설정하도록 합니다.

247 248 

248`bound to a different conversation` 거부는 API의 [보존된 사고](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) 확인에서 나오며, `system`, `tools`, 또는 이전 `messages` 콘텐츠가 사고를 생성한 요청과 다를 때 실패합니다. 해당 콘텐츠를 다시 쓰는 게이트웨이는 거부 자체를 야기할 수 있습니다. [라이브러리, 프록시, 및 게이트웨이](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways)는 변경하지 않고 통과시켜야 할 것을 다룹니다.249`bound to a different conversation` 거부는 API의 [보존된 사고](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) 확인에서 나오며, `system`, `tools`, 또는 이전 `messages` 콘텐츠가 사고를 생성한 요청과 다를 때 실패합니다. 해당 콘텐츠를 다시 쓰는 게이트웨이는 거부 자체를 야기할 수 있습니다. [라이브러리, 프록시, 및 게이트웨이](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways)는 변경하지 않고 통과시켜야 할 것을 다룹니다.

249 250 

250이 재시도 로직의 대부분은 업스트림의 오류 표현과 일치하므로 오류 응답 본문을 수정하지 않고 전달합니다. 업스트림 오류를 자체 봉투로 래핑하는 게이트웨이는 상태 코드를 유지하더라도 복구 경로를 손상시킵니다. 단, 봉투의 메시지가 안정적인 `capability_rejected:` 토큰을 포함하는 경우는 예외입니다. [Claude 앱 게이트웨이는 클라우드 제공자의 오류 표현을 위해 해당 토큰으로 대체합니다](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#upstream-error-messages). 예를 들어 `capability_rejected: prompt_too_long`입니다.251이 재시도 로직의 대부분은 업스트림의 오류 표현과 일치하므로 오류 응답 본문을 수정하지 않고 전달합니다. 업스트림 오류를 자체 봉투로 래핑하는 게이트웨이는 상태 코드를 유지하더라도 복구 경로를 손상시킵니다. 단, 봉투의 메시지가 안정적인 `capability_rejected:` 토큰을 포함하는 경우는 예외입니다. [Claude 앱 게이트웨이는 클라우드 제공자의 오류 표현을 위해 해당 토큰으로 대체합니다](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#upstream-error-messages). 예를 들어 `capability_rejected: prompt_too_long`입니다.

251 252 

253#### 거부된 베타 값 없이 재시도

254 

255이 재시도가 다루는 `anthropic-beta` 값을 `400`이 이름으로 지정하여 거부하면, 게이트웨이는 해당 값이 제외된 요청을 한 번 더 받습니다. [이후 요청](#how-long-a-rejected-beta-value-stays-out)에서는 해당 값이 생략됩니다. 이 재시도가 다루는 대부분의 값은 v2.1.314 이상이 필요합니다.

256 

257게이트웨이가 반환하는 `400`의 메시지가 다음 형식 중 하나로 해당 값을 포함하면 게이트웨이를 변경할 필요가 없습니다:

258 

259* **API의 문장**: `anthropic-beta` 헤더에 대해 해당 값을 나열하는 `Unexpected value(s)` 문장

260* **`beta_header:` 토큰**: `capability_rejected: beta_header:` 뒤에 값이 오는 형식으로, [`capability_rejected:` 토큰](#automatic-retry-and-error-forwarding)의 일종입니다

261 

262이 재시도는 자체 재시도가 있는 값, Claude Code가 인식하지 못하는 값, 값의 이름을 지정하지 않는 메시지와 같은 경우를 다루지 않습니다:

263 

264* **어드바이저나 도구 검색처럼 자체 재시도가 있는 값**: 게이트웨이는 대신 [해당 기능의 자체 재시도](#automatic-retry-and-error-forwarding)를 받습니다.

265* **Claude Code가 인식하지 못하는 값**: 개발자가 `ANTHROPIC_BETAS`를 통해 설정한 값은 각 요청에 계속 남으므로, 개발자의 요청은 `400`으로 계속 실패합니다. 개발자가 해당 항목을 제거하도록 합니다.

266* **값이 없는 `invalid beta flag`**: Claude Code는 업스트림이 거부한 값을 추측합니다. 요청에 추측 대상 값이 포함되어 있었다면, 게이트웨이는 해당 값이 제외된 요청을 다시 받습니다. `400`이 여전히 개발자에게 도달하면, 게이트웨이가 거부된 값을 위 형식 중 하나로 명시하도록 합니다.

267 

268#### 거부된 베타 값이 제외되는 기간

269 

270| 업스트림이 거부한 항목 | 이를 생략하는 요청 | 기간 |

271| :- | :- | :- |

272| 어드바이저 도구 유형 또는 어드바이저의 `anthropic-beta` 값 | 같은 기본 URL에 대한 요청. `/advisor`는 사용할 수 없습니다 | Claude Code가 종료될 때까지 |

273| `output_config.effort` 또는 그 `anthropic-beta` 값 | 같은 모델에 대한 요청 | Claude Code가 종료될 때까지 |

274| `context_management` 또는 [이름 기반 재시도](#retry-without-a-rejected-beta-value)가 다루는 다른 `anthropic-beta` 값 | 같은 대화의 요청 | 대화가 끝나거나 메인 대화가 압축될 때처럼 Claude Code가 프롬프트를 다시 구성할 때까지 |

275| `context_management` 또는 해당 재시도가 다루는 다른 값으로, 오류 메시지가 `Unexpected value(s)`와 같이 거부에 대한 API 자체 문장으로 시작하거나 `beta_header:` 토큰을 포함하는 경우 | 거부된 요청이 지정한 모델의 새 대화에서도 생략되며, `/clear` 이후도 포함됩니다 | Claude Code가 종료될 때까지 |

276 

252#### 도구 검색 없이 재시도277#### 도구 검색 없이 재시도

253 278 

254v2.1.305 이상에서는 [`defer_loading` 필드와 `tool_reference` 블록](https://code.claude.com/docs/ko/mcp#tool-search-through-a-gateway)을 포함한 요청이 Claude Code가 원인을 인식하지 못하는 `400` 또는 `422` 이후에 이들 없이 다시 도착할 수 있습니다. 재시도가 성공하면 이후 요청에서도 이들이 생략됩니다.279v2.1.305 이상에서는 도구 검색을 명시하거나 Claude Code가 원인을 인식하지 못하는 `400` 또는 `422` 이후에, Claude Code가 [`defer_loading` 필드와 `tool_reference` 블록](https://code.claude.com/docs/ko/mcp#tool-search-through-a-gateway) 없이 요청을 다시 전송합니다. 재시도가 성공하면 해당 대화의 이후 요청에서도 이들이 생략됩니다.

255 280 

256게이트웨이를 변경하지 않아도 개발자의 요청은 계속 작동하며, MCP 도구는 미리 로드됩니다. Claude Code는 나중에 도구 검색을 다시 시도하므로, 게이트웨이는 또 다른 거부된 요청과 그 재시도를 받을 수 있습니다. 모든 요청에서 이 필드를 제외하려면 개발자가 `ENABLE_TOOL_SEARCH=false`를 설정하도록 합니다. 도구 검색 자체를 위해서는 Claude Code는 게이트웨이가 `defer_loading` 필드와 `tool_reference` 블록을 해당 `anthropic-beta` 값과 함께 전달할 것으로 기대합니다.281게이트웨이를 변경하지 않아도 개발자의 요청은 계속 작동하며, MCP 도구는 미리 로드됩니다. Claude Code가 도구 검색을 다시 시도하면, 게이트웨이는 또 다른 거부된 요청과 그 재시도를 받습니다. 도구 검색 자체를 위해서는 Claude Code는 게이트웨이가 `defer_loading` 필드와 `tool_reference` 블록을 해당 `anthropic-beta` 값과 함께 전달할 것으로 기대합니다.

257 282 

258### 사전 릴리스 기능 비활성화283### 사전 릴리스 기능 비활성화

259 284 

Details

166| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | 시작 시 게이트웨이의 `/v1/models`을 쿼리하고 반환된 이름을 `/model` 선택기에 추가합니다. | 게이트웨이가 `/v1/models`을 제공하고 개발자의 선택기를 게이트웨이에서 채우려는 경우 |166| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | 시작 시 게이트웨이의 `/v1/models`을 쿼리하고 반환된 이름을 `/model` 선택기에 추가합니다. | 게이트웨이가 `/v1/models`을 제공하고 개발자의 선택기를 게이트웨이에서 채우려는 경우 |

167| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Claude Code가 사전 릴리스 기능 헤더 및 본문 필드를 전송하지 않도록 중지합니다. [사전 릴리스 기능 비활성화](https://code.claude.com/docs/ko/llm-gateway-protocol.md#disable-pre-release-capabilities)는 정확한 범위를 다룹니다. | 게이트웨이가 베타 필드를 거부하는 Amazon Bedrock 또는 Google Cloud의 Agent Platform 업스트림으로 전달하는 경우. [게이트웨이 요구사항](#gateway-requirements) 참조 |167| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Claude Code가 사전 릴리스 기능 헤더 및 본문 필드를 전송하지 않도록 중지합니다. [사전 릴리스 기능 비활성화](https://code.claude.com/docs/ko/llm-gateway-protocol.md#disable-pre-release-capabilities)는 정확한 범위를 다룹니다. | 게이트웨이가 베타 필드를 거부하는 Amazon Bedrock 또는 Google Cloud의 Agent Platform 업스트림으로 전달하는 경우. [게이트웨이 요구사항](#gateway-requirements) 참조 |

168| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` 또는 `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md)를 복원합니다. 빠른 모드의 가용성 확인은 `ANTHROPIC_BASE_URL`을 따르지 않고 `api.anthropic.com`을 직접 호출하거나, 차단되거나, Anthropic 자격증명이 없어서 건너뛰어집니다. | 조직이 빠른 모드를 사용하고 개발자가 `ANTHROPIC_AUTH_TOKEN`만으로 인증하거나, `ANTHROPIC_API_KEY`의 게이트웨이 발급 키 또는 `apiKeyHelper`를 사용하거나, 네트워크가 `api.anthropic.com`에 대한 직접 요청을 차단하거나 가로채는 경우. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](https://code.claude.com/docs/ko/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)은 구성과 일치하는 두 변수 중 어느 것인지를 다룹니다. |168| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` 또는 `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md)를 복원합니다. 빠른 모드의 가용성 확인은 `ANTHROPIC_BASE_URL`을 따르지 않고 `api.anthropic.com`을 직접 호출하거나, 차단되거나, Anthropic 자격증명이 없어서 건너뛰어집니다. | 조직이 빠른 모드를 사용하고 개발자가 `ANTHROPIC_AUTH_TOKEN`만으로 인증하거나, `ANTHROPIC_API_KEY`의 게이트웨이 발급 키 또는 `apiKeyHelper`를 사용하거나, 네트워크가 `api.anthropic.com`에 대한 직접 요청을 차단하거나 가로채는 경우. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](https://code.claude.com/docs/ko/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)은 구성과 일치하는 두 변수 중 어느 것인지를 다룹니다. |

169| `ANTHROPIC_MODEL` 또는 [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](https://code.claude.com/docs/ko/model-config) | Claude Code가 주 세션 및 백그라운드 트래픽에 대해 요청하는 모델 이름을 설정합니다. | 게이트웨이가 Claude Code의 기본값과 일치하지 않는 모델 이름을 라우팅하거나 [백그라운드 기능](https://code.claude.com/docs/ko/costs.md#background-token-usage)을 다른 모델로 라우팅하는 경우. 게이트웨이에서 재정의 이름과 Claude Code의 기본 이름을 모두 라우팅하십시오. 일부 하위 호출은 재정의와 관계없이 기본 이름을 요청할 수 있기 때문입니다. [모델 구성](https://code.claude.com/docs/ko/model-config.md)은 세션의 각 부분이 사용하는 모델을 다룹니다. |169| `ANTHROPIC_MODEL` 또는 [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](https://code.claude.com/docs/ko/model-config) | Claude Code가 주 세션 및 백그라운드 트래픽에 대해 요청하는 모델 이름을 설정합니다. | 게이트웨이가 Claude Code의 기본값과 일치하지 않는 모델 이름을 라우팅하거나 [백그라운드 기능](https://code.claude.com/docs/ko/model-config.md#environment-variables)을 다른 모델로 라우팅하는 경우. 재정의 이름과, 재정의가 설정되지 않았을 때 Claude Code가 요청하는 기본 제공 모델 ID를 모두 라우팅하십시오. 일부 백그라운드 하위 호출은 재정의와 관계없이 기본 제공 ID를 요청하기 때문입니다. |

170| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`과 [해당 공급자의 변수](https://code.claude.com/docs/ko/llm-gateway-connect.md#route-to-a-cloud-provider-through-a-gateway) | Claude Code를 게이트웨이를 통해 공급자별 기본 URL로 가리킵니다. Amazon Bedrock 및 Google Cloud의 Agent Platform은 해당 공급자의 기본 요청 형식으로도 전환합니다. | 게이트웨이가 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform을 앞에 두는 경우. [API 형식](https://code.claude.com/docs/ko/llm-gateway-protocol.md#api-formats) 참조 |170| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`과 [해당 공급자의 변수](https://code.claude.com/docs/ko/llm-gateway-connect.md#route-to-a-cloud-provider-through-a-gateway) | Claude Code를 게이트웨이를 통해 공급자별 기본 URL로 가리킵니다. Amazon Bedrock 및 Google Cloud의 Agent Platform은 해당 공급자의 기본 요청 형식으로도 전환합니다. | 게이트웨이가 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform을 앞에 두는 경우. [API 형식](https://code.claude.com/docs/ko/llm-gateway-protocol.md#api-formats) 참조 |

171 171 

172#### 관리되는 설정을 통해 배포172#### 관리되는 설정을 통해 배포

mcp.md +20 −4

Details

952* `headers`에서 구성했거나 [`headersHelper`](#use-dynamic-headers-for-custom-authentication)를 통해 구성한 `Authorization` 헤더가 있는 서버의 경우, 연결 중 `401` 또는 `403`은 서버를 플래그하지 않습니다. 수정할 자격 증명은 구성한 것이기 때문입니다. Claude Code는 대신 연결이 실패했다고 보고합니다. 해당 헤더를 `${VAR}` 참조에서 설정한 경우, 해당 변수가 Claude Code가 [빈 값으로 읽는](#credential-variables-that-read-as-empty) 변수 중 하나인지 확인하세요.952* `headers`에서 구성했거나 [`headersHelper`](#use-dynamic-headers-for-custom-authentication)를 통해 구성한 `Authorization` 헤더가 있는 서버의 경우, 연결 중 `401` 또는 `403`은 서버를 플래그하지 않습니다. 수정할 자격 증명은 구성한 것이기 때문입니다. Claude Code는 대신 연결이 실패했다고 보고합니다. 해당 헤더를 `${VAR}` 참조에서 설정한 경우, 해당 변수가 Claude Code가 [빈 값으로 읽는](#credential-variables-that-read-as-empty) 변수 중 하나인지 확인하세요.

953* [클라우드 세션에 전달된](#how-connectors-reach-claude-code) 커넥터의 경우, Claude Code는 세션의 프록시가 claude.ai에서 부여한 인가로 커넥터에 인증하기 때문에 로그인 흐름을 실행하지 않습니다. 거기서 커넥터를 다시 인가해야 할 때는 세션이 아닌 [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 다시 연결하세요.953* [클라우드 세션에 전달된](#how-connectors-reach-claude-code) 커넥터의 경우, Claude Code는 세션의 프록시가 claude.ai에서 부여한 인가로 커넥터에 인증하기 때문에 로그인 흐름을 실행하지 않습니다. 거기서 커넥터를 다시 인가해야 할 때는 세션이 아닌 [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 다시 연결하세요.

954 954 

955이미 로그인한 OAuth 서버가 `401 Unauthorized`로 저장된 토큰을 거부하면, Claude Code는 토큰을 새로 고치고, 다시 연결하고, 요청을 한 번 재시도합니다. 해당 재시도도 실패한 경우에만 `/mcp`에서 서버를 플래그합니다. macOS의 `claude -p` 또는 Agent SDK 실행에서는 Claude Code가 저장된 토큰을 읽을 수 없는 동안 보낸 요청이 대신 [저장된 자격 증명 오류](https://code.claude.com/docs/ko/errors.md#couldnt-read-the-stored-credentials-for-mcp-server)로 실패합니다.955이미 로그인한 OAuth 서버가 `401 Unauthorized`로 저장된 토큰을 거부하면, Claude Code는 새 토큰을 사용하거나 사용하지 않고 다시 연결합니다.

956 

957* **저장된 로그인에 새로 고침 토큰이 있는 경우**: 토큰을 새로 고치고, 다시 연결하고, 요청을 한 번 재시도합니다. 해당 재시도도 실패한 경우에만 `/mcp`에서 서버를 플래그합니다.

958* **저장된 로그인에 새로 고침 토큰이 없는 경우**: 토큰 없이 한 번 연결합니다. 서버가 응답하면 로그아웃된 상태에서도 해당 서버의 도구가 작동하며, 거부된 토큰은 삭제됩니다. 서버가 해당 연결도 거부하면 `/mcp`에 서버에 인증이 필요하다고 표시됩니다.

959 

960macOS의 `claude -p` 또는 Agent SDK 실행에서는 Claude Code가 저장된 토큰을 읽을 수 없는 동안 보낸 요청이 [저장된 자격 증명 오류](https://code.claude.com/docs/ko/errors.md#couldnt-read-the-stored-credentials-for-mcp-server)로 실패합니다.

956 961 

957서버가 저장된 새로 고침 토큰을 거부하면, Claude Code는 즉시 `/mcp`를 가리키는 알림을 표시합니다. `/mcp`를 열고 서버에서 **Re-authenticate**를 선택하여 다음 도구 호출이 실패하기 전에 다시 로그인하세요.962서버가 저장된 새로 고침 토큰을 거부하면, Claude Code는 즉시 `/mcp`를 가리키는 알림을 표시합니다. `/mcp`를 열고 서버에서 **Re-authenticate**를 선택하여 다음 도구 호출이 실패하기 전에 다시 로그인하세요.

958 963 


1640 1645 

1641## MCP 유도 요청에 응답하기1646## MCP 유도 요청에 응답하기

1642 1647 

1643MCP 서버는 작업 중에 유도(elicitation)를 사용하여 구조화된 입력을 요청할 수 있습니다. 서버가 자체적으로 얻을 수 없는 정보가 필요할 때, Claude Code는 대화형 대화 상자를 표시하고 사용자의 응답을 서버에 다시 전달합니다. 사용자 측에서 구성할 필요가 없습니다. 유도 대화 상자는 서버가 요청할 때 자동으로 나타납니다.1648MCP 서버는 작업 중에 유도(elicitation)를 사용하여 사용자에게 구조화된 입력을 요청할 수 있습니다. 서버가 자체적으로 얻을 수 없는 정보가 필요할 때, Claude Code는 터미널에 대화형 대화 상자를 표시하고 사용자의 응답을 서버에 다시 전달합니다. 사용자 측에서 구성할 필요가 없습니다. 유도 대화 상자는 서버가 요청할 때 자동으로 나타납니다.

1644 1649 

1645서버는 두 가지 방식으로 입력을 요청할 수 있습니다.1650서버는 두 가지 방식으로 입력을 요청할 수 있습니다.

1646 1651 


1653 1658 

1654유도를 사용하는 MCP 서버를 구축하는 경우, 프로토콜 세부 정보 및 스키마 예제는 [MCP 유도 사양](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation)을 참조합니다.1659유도를 사용하는 MCP 서버를 구축하는 경우, 프로토콜 세부 정보 및 스키마 예제는 [MCP 유도 사양](https://modelcontextprotocol.io/docs/learn/client-concepts#elicitation)을 참조합니다.

1655 1660 

1661### 클라우드 세션에서 유도 요청에 응답하기

1662 

1663클라우드 세션에서 Claude의 작업이 MCP 서버의 요청을 기다리고 있다면, 서버가 값이나 로그인과 같은 무언가를 사용자에게 필요로 하는 것입니다. 요청이 claude.ai/code 또는 데스크톱 앱의 **Code** 탭에 카드로 표시되면 카드에서 응답합니다.

1664 

1665* **양식 모드**: 필드를 채운 다음 **Submit**을 클릭합니다

1666* **URL 모드**: **Open link**를 클릭하고, 열린 흐름을 완료한 다음, 카드에서 **I’m done, continue**를 클릭합니다

1667 

1668요청을 거부하려면 **Decline**을 클릭합니다. 서버가 응답하면 Claude가 작업을 계속합니다.

1669 

1670두 곳 모두에서 카드가 보이지 않으면 해당 위치에서 요청에 응답할 수 없습니다. 사용자 본인의 세션이라면 해당 세션에서 중지 버튼을 클릭하여 턴을 종료합니다.

1671 

1656### Claude Code가 선언하는 유도 모드1672### Claude Code가 선언하는 유도 모드

1657 1673 

1658MCP 서버를 구축하는 경우, Claude Code가 연결할 때 보내는 클라이언트 기능을 통해 서버가 요청할 수 있는 유도 모드를 알 수 있습니다. Claude Code는 다음 연결에서 `elicitation: {form: {}, url: {}}`을 선언하므로, 이러한 연결의 서버는 두 모드를 모두 요청할 수 있습니다.1674MCP 서버를 구축하는 경우, Claude Code가 연결할 때 보내는 클라이언트 기능을 통해 서버가 요청할 수 있는 유도 모드를 알 수 있습니다. Claude Code는 다음 연결에서 `elicitation: {form: {}, url: {}}`을 선언하므로, 이러한 연결의 서버는 두 모드를 모두 요청할 수 있습니다.


1815> * **`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`를 설정한 경우**: [도구 검색에 미치는 영향](#configure-tool-search)을 참조하세요1831> * **`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`를 설정한 경우**: [도구 검색에 미치는 영향](#configure-tool-search)을 참조하세요

1816> * **`defer_loading` 또는 `tool_reference`가 언급된 오류로 요청이 실패한 경우**: [Extra inputs are not permitted](https://code.claude.com/docs/ko/errors.md#extra-inputs-are-not-permitted)를 참조하세요1832> * **`defer_loading` 또는 `tool_reference`가 언급된 오류로 요청이 실패한 경우**: [Extra inputs are not permitted](https://code.claude.com/docs/ko/errors.md#extra-inputs-are-not-permitted)를 참조하세요

1817 1833 

1818`ANTHROPIC_BASE_URL`이 게이트웨이를 가리키는 경우에도 도구 검색은 기본적으로 켜져 있으므로, 요청에는 게이트웨이가 전달해야 할 `defer_loading` 도구 필드와 `tool_reference` 블록이 포함됩니다. 도구 검색이 켜져 있는 동안 MCP 도구는 [연기](#scale-with-mcp-tool-search)됩니다. 대신 모든 도구를 미리 로드하려면 셸 또는 [설정 `env`](https://code.claude.com/docs/ko/settings-reference#env)에서 `ENABLE_TOOL_SEARCH=false`를 설정하세요. v2.1.304 이전에는 `ENABLE_TOOL_SEARCH`가 `true`, `auto` 또는 `auto:N`이 아닌 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.1834`ANTHROPIC_BASE_URL`이 게이트웨이를 가리키는 경우, Claude Code는 게이트웨이가 `defer_loading` 도구 필드와 `tool_reference` 블록을 [`anthropic-beta` 헤더와 함께](https://code.claude.com/docs/ko/llm-gateway-protocol#beta-header-and-body-field-pairs) 전달할 것으로 예상합니다. 게이트웨이 뒤에서도 도구 검색은 기본적으로 켜져 있으므로, MCP 도구는 [연기](#scale-with-mcp-tool-search)되고 요청에는 해당 필드와 블록이 포함됩니다. v2.1.304 이전에는 `ENABLE_TOOL_SEARCH`가 `true`, `auto` 또는 `auto:N`이 아닌 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.

1819 1835 

1820v2.1.305 이상에서는 Claude Code가 원인을 인식하지 못하는 `400` 또는 `422` 이후에 [도구 검색 없이 요청을 재시도](https://code.claude.com/docs/ko/llm-gateway-protocol.md#retry-without-tool-search)할 수 있습니다. 재시도가 성공하면 화면에 아무것도 표시되지 않으며 별도로 조치할 필요가 없습니다. MCP 도구가 대신 미리 로드됩니다. Claude Code는 나중에 도구 검색을 다시 시도하며, 이때 거부되는 요청이 한 번 더 발생합니다. 이러한 요청을 건너뛰려면 `ENABLE_TOOL_SEARCH=false`를 설정하세요.1836v2.1.305 이상에서는 Claude Code가 `400` 또는 `422` 이후에 [도구 검색 없이 요청을 재시도](https://code.claude.com/docs/ko/llm-gateway-protocol.md#retry-without-tool-search)할 수 있습니다. 재시도가 성공하면 화면에 아무것도 표시되지 않으며 별도로 조치할 필요가 없습니다. MCP 도구가 대신 미리 로드됩니다. Claude Code는 나중에 도구 검색을 다시 시도하며, 이때 거부되는 요청이 한 번 더 발생합니다.

1821 1837 

1822#### `ENABLE_TOOL_SEARCH=auto` 임계값 미만에서도 연기된 상태로 유지되는 도구1838#### `ENABLE_TOOL_SEARCH=auto` 임계값 미만에서도 연기된 상태로 유지되는 도구

1823 1839 

memory.md +6 −5

Details

206- Include OpenAPI documentation comments206- Include OpenAPI documentation comments

207```207```

208 208 

209`paths` 필드가 없는 규칙은 무조건 로드되고 모든 파일에 적용됩니다. 경로 범위 규칙은 Claude가 일치하는 파일에 Read, Write 또는 Edit 도구를 사용할 때 로드됩니다. 또한 Claude가 단일 파일에 대한 `cat` 또는 `head`처럼 [읽기로 간주되는](https://code.claude.com/docs/ko/tools-reference.md#edit-tool-behavior) Bash 명령으로 일치하는 파일을 볼 때도 로드됩니다. 일치는 Claude가 프로젝트 디렉터리의 심볼릭 링크된 경로를 통해 파일에 도달할 때도 작동합니다(예: 심볼릭 링크된 체크아웃).209경로 범위 규칙은 Claude가 일치하는 파일에 Read, Write 또는 Edit 도구를 사용할 때 로드됩니다. 또한 Claude가 단일 파일에 대한 `cat` 또는 `head`처럼 [읽기로 간주되는](https://code.claude.com/docs/ko/tools-reference.md#edit-tool-behavior) Bash 명령으로 일치하는 파일을 볼 때도 로드됩니다. 일치는 Claude가 프로젝트 디렉터리의 심볼릭 링크된 경로를 통해 파일에 도달할 때도 작동합니다(예: 심볼릭 링크된 체크아웃).

210 210 

211각 패턴은 규칙의 기준 디렉터리를 기준으로 합니다:211각 패턴은 규칙의 기준 디렉터리를 기준으로 합니다:

212 212 


219 219 

220| 패턴 | 일치 |220| 패턴 | 일치 |

221| - | - |221| - | - |

222| `**/*.ts` | 모든 디렉터리의 모든 TypeScript 파일 |222| `**/*.ts` | 기준 디렉터리 아래 모든 위치의 `.ts` 파일 |

223| `src/**/*` | `src/` 디렉터리 아래의 모든 파일 |223| `src/**/*` | 기준 디렉터리의 `src/` 아래의 모든 파일 |

224| `*.md` | 프로젝트 루트의 마크다운 파일 |224| `*.md` | 기준 디렉터리 아래 모든 위치의 `.md` 파일 |

225| `src/components/*.tsx` | 특정 디렉터리의 React 컴포넌트 |225| `/*.md` | 하위 폴더가 아닌 기준 디렉터리에 바로 있는 `.md` 파일 |

226| `src/components/*.tsx` | 하위 폴더가 아닌 기준 디렉터리의 `src/components/`에 바로 있는 `.tsx` 파일 |

226 227 

227여러 패턴을 지정하고 중괄호 확장을 사용하여 한 패턴에서 여러 확장자를 일치시킬 수 있습니다:228여러 패턴을 지정하고 중괄호 확장을 사용하여 한 패턴에서 여러 확장자를 일치시킬 수 있습니다:

228 229 

model-config.md +1 −1

Details

933| `ANTHROPIC_DEFAULT_FABLE_MODEL` | `fable`에 사용할 모델이며, 서드파티 제공업체에서 [자동 모델 폴백](#automatic-model-fallback)을 위해 Claude Code가 Fable 모델로 인식하는 모델 ID입니다 |933| `ANTHROPIC_DEFAULT_FABLE_MODEL` | `fable`에 사용할 모델이며, 서드파티 제공업체에서 [자동 모델 폴백](#automatic-model-fallback)을 위해 Claude Code가 Fable 모델로 인식하는 모델 ID입니다 |

934| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus`에 사용할 모델 또는 플랜 모드가 활성화된 경우 `opusplan`에 사용할 모델입니다. |934| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus`에 사용할 모델 또는 플랜 모드가 활성화된 경우 `opusplan`에 사용할 모델입니다. |

935| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet`에 사용할 모델 또는 플랜 모드가 활성화되지 않은 경우 `opusplan`에 사용할 모델입니다. |935| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet`에 사용할 모델 또는 플랜 모드가 활성화되지 않은 경우 `opusplan`에 사용할 모델입니다. |

936| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku` 또는 [백그라운드 기능](https://code.claude.com/docs/ko/costs.md#background-token-usage)에 사용할 모델입니다 |936| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku` 또는 백그라운드 기능에 사용할 모델입니다 |

937| `CLAUDE_CODE_SUBAGENT_MODEL` | 다른 방식으로 모델이 지정되지 않은 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-a-model), [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md#specify-teammates-and-models) 팀원, [워크플로](https://code.claude.com/docs/ko/workflows.md) 에이전트의 기본 모델입니다. `haiku` 같은 별칭 또는 전체 모델 이름을 사용할 수 있습니다. 호출별 모델 또는 정의의 `model` 필드(`inherit` 포함)가 우선합니다. 이를 변경하려면 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](https://code.claude.com/docs/ko/sub-agents#run-every-subagent-on-one-model)를 설정합니다 |937| `CLAUDE_CODE_SUBAGENT_MODEL` | 다른 방식으로 모델이 지정되지 않은 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-a-model), [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md#specify-teammates-and-models) 팀원, [워크플로](https://code.claude.com/docs/ko/workflows.md) 에이전트의 기본 모델입니다. `haiku` 같은 별칭 또는 전체 모델 이름을 사용할 수 있습니다. 호출별 모델 또는 정의의 `model` 필드(`inherit` 포함)가 우선합니다. 이를 변경하려면 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](https://code.claude.com/docs/ko/sub-agents#run-every-subagent-on-one-model)를 설정합니다 |

938 938 

939서드파티 제공업체에서 `/model` 선택기의 고정된 모델 행에 무엇이 표시되는지는 [고정된 모델의 표시 및 기능 사용자 지정](#customize-pinned-model-display-and-capabilities)에서 설명합니다.939서드파티 제공업체에서 `/model` 선택기의 고정된 모델 행에 무엇이 표시되는지는 [고정된 모델의 표시 및 기능 사용자 지정](#customize-pinned-model-display-and-capabilities)에서 설명합니다.

Details

1559 1559 

1560> [!NOTE]1560> [!NOTE]

1561>1561>

1562> 비용 메트릭은 근사값입니다. 공식 청구 데이터는 API 제공자(Claude Console, Amazon Bedrock 또는 Google Cloud의 Agent Platform)를 참조하세요.1562> 비용 메트릭은 근사값입니다. 공식 청구 데이터는 [조직의 비용 관리](https://code.claude.com/docs/ko/costs.md#manage-costs-for-your-organization)를 참조하세요.

1563 1563 

1564Claude Code는 `ANTHROPIC_BASE_URL` 뒤의 게이트웨이 또는 프록시가 여러 프레임에 걸쳐 사용량을 점진적으로 스트리밍할 때를 포함하여 각 스트리밍 응답을 비용 및 토큰 메트릭에 정확히 한 번 계산합니다.1564Claude Code는 `ANTHROPIC_BASE_URL` 뒤의 게이트웨이 또는 프록시가 여러 프레임에 걸쳐 사용량을 점진적으로 스트리밍할 때를 포함하여 각 스트리밍 응답을 비용 및 토큰 메트릭에 정확히 한 번 계산합니다.

1565 1565 

permission-modes.md +145 −141

Details

41* [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)가 켜져 있는 동안 작업 디렉토리 외부의 읽기: 인식된 파일 읽기 Bash 명령어는 자동 모드 및 `bypassPermissions` 모드에서도 프롬프트하며, 샌드박스 외부에서 실행하기 위해 승인이 필요한 모든 [샌드박스 해제 재시도](https://code.claude.com/docs/ko/sandboxing.md#the-unsandboxed-retry-escape-hatch)도 마찬가지입니다. Claude Code v2.1.257 이상이 필요합니다.41* [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)가 켜져 있는 동안 작업 디렉토리 외부의 읽기: 인식된 파일 읽기 Bash 명령어는 자동 모드 및 `bypassPermissions` 모드에서도 프롬프트하며, 샌드박스 외부에서 실행하기 위해 승인이 필요한 모든 [샌드박스 해제 재시도](https://code.claude.com/docs/ko/sandboxing.md#the-unsandboxed-retry-escape-hatch)도 마찬가지입니다. Claude Code v2.1.257 이상이 필요합니다.

42 42 

43 셸 파서가 추적할 수 없는 명령어(예: 두 번 이상 디렉토리를 변경하거나 서브셸을 실행하는 명령어)는 외부 경로를 명명하지 않더라도 동일한 방식으로 프롬프트합니다. 이 프롬프트는 명령어가 [샌드박스](https://code.claude.com/docs/ko/sandboxing.md)에서 실행되고 샌드박스가 블록을 적용할 때는 적용되지 않습니다.43 셸 파서가 추적할 수 없는 명령어(예: 두 번 이상 디렉토리를 변경하거나 서브셸을 실행하는 명령어)는 외부 경로를 명명하지 않더라도 동일한 방식으로 프롬프트합니다. 이 프롬프트는 명령어가 [샌드박스](https://code.claude.com/docs/ko/sandboxing.md)에서 실행되고 샌드박스가 블록을 적용할 때는 적용되지 않습니다.

44* [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockwritesoutsideworkingdirectories)가 켜져 있는 동안 작업 디렉터리 외부의 쓰기: Claude Code는 [자체 파일 일부](https://code.claude.com/docs/ko/settings-reference.md#what-the-write-block-refuses-and-what-stays-writable)를 제외하고 해당 위치에 대한 `Write`, `Edit`, `NotebookEdit` 호출을 거부합니다. 이 키는 셸 명령, MCP 도구 또는 훅이 실행하는 프로그램을 제한하지 않으므로, 셸 명령이 쓰는 위치를 제한하려면 [샌드박싱](https://code.claude.com/docs/ko/sandboxing.md)을 사용하십시오. Claude Code v2.1.314 이상이 필요합니다.

44 45 

45## 일반적인 설정46## 일반적인 설정

46 47 


327 328 

328## 자동 모드로 권한 프롬프트 없애기329## 자동 모드로 권한 프롬프트 없애기

329 330 

330자동 모드를 사용하면 Claude가 일상적인 권한 프롬프트 없이 작업을 실행합니다. 별도의 분류기 모델이 작업 실행 전에 이를 검토하여, 사용자의 요청 범위를 넘어서는 작업, 인식되지 않은 인프라를 대상으로 하는 작업, 또는 Claude가 읽은 악의적인 콘텐츠에 의해 유도된 것으로 보이는 작업을 차단합니다. 명시적인 [ask 규칙](https://code.claude.com/docs/ko/permissions.md#manage-permissions)은 여전히 프롬프트를 강제합니다.331자동 모드를 사용하면 Claude가 일상적인 권한 프롬프트 없이 실행할 수 있습니다. 별도의 분류기 모델이 작업을 실행 전에 검토하여, 요청 범위를 넘어서는 작업, 인식되지 않은 인프라를 대상으로 하는 작업, 또는 Claude가 읽은 악의적인 콘텐츠에 의해 유도된 것으로 보이는 작업을 차단합니다. 명시적인 [ask 규칙](https://code.claude.com/docs/ko/permissions.md#manage-permissions)은 여전히 프롬프트를 강제합니다.

331 332 

332Claude Code v2.1.283 이상에서는 모든 플랜과 제공업체에서 대화형 터미널 및 VS Code 세션의 [기본 제공 시작 권한 모드](#which-mode-a-session-starts-in)가 자동 모드입니다. 이전 버전에서는 Pro, Max, Ultra, Team 플랜에서만 기본 제공 시작 권한 모드입니다.333Claude Code v2.1.283 이상에서는 모든 플랜과 제공자에서 자동 모드가 대화형 터미널 및 VS Code 세션의 [기본 제공 시작 권한 모드](#which-mode-a-session-starts-in)입니다. 이전 버전에서는 Pro, Max, Ultra, Team 플랜에서만 기본 제공 시작 권한 모드입니다.

333 334 

334분류기는 Claude가 [`SendMessage`](https://code.claude.com/docs/ko/tools-reference)로 다른 에이전트에 보내는 각 메시지도, 일반 텍스트이든 구조화된 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 메시지이든, Claude Code가 전달하기 전에 검토합니다. 이는 자동 모드와 [분류기가 명령을 검토하는 동안의 플랜 모드](#analyze-before-you-edit-with-plan-mode) 모두에서 적용되며, 전송 검토에는 Claude Code v2.1.222 이상이 필요합니다.335분류기는 Claude가 [`SendMessage`](https://code.claude.com/docs/ko/tools-reference)로 다른 에이전트에 보내는 각 메시지도 Claude Code가 전달하기 전에 검토합니다. 일반 텍스트든 구조화된 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 메시지든 마찬가지이며, 자동 모드와 [분류기가 명령을 검토하는 동안의 플랜 모드](#analyze-before-you-edit-with-plan-mode) 모두에서 적용됩니다. 전송 검토에는 Claude Code v2.1.222 이상이 필요합니다.

335 336 

336기본적으로 분류기는 `rm -rf /` 또는 `rm -rf ~`와 같이 인식된 `rm` 및 `rmdir` 중요 경로 삭제를 검토하지 않습니다. 각 권한 모드에서 이러한 삭제가 어떻게 처리되는지는 [중요 경로](#critical-paths)에서 다룹니다.337기본적으로 분류기는 `rm -rf /` 또는 `rm -rf ~`와 같이 인식된 `rm` 및 `rmdir` 핵심 경로 삭제를 검토하지 않습니다. [핵심 경로](#critical-paths)에서 각 권한 모드에서 이러한 삭제가 어떻게 처리되는지 설명합니다.

337 338 

338자동 모드는 또한 Claude가 명확히 하기 위한 질문으로 멈추지 않고 작업을 계속하도록 유도하지만, 사용자의 프롬프트나 스킬이 명시적으로 질문에 의존하는 경우에는 여전히 질문합니다. 여전히 확인을 요청하는 모드에서 더 강한 자율적 동작을 원한다면 대신 [Proactive 출력 스타일](https://code.claude.com/docs/ko/output-styles.md)을 설정하십시오.339자동 모드는 또한 Claude가 명확화 질문을 위해 멈추지 않고 계속 작업하도록 유도하지만, 프롬프트나 스킬이 명시적으로 질문에 의존하는 경우에는 Claude가 여전히 질문합니다. 여전히 확인을 요청하는 모드에서 더 강한 자율적 동작을 원한다면 대신 [Proactive 출력 스타일](https://code.claude.com/docs/ko/output-styles.md)을 설정하십시오.

339 340 

340> [!WARNING]341> [!WARNING]

341>342>

342> 자동 모드는 권한 프롬프트를 줄여 주지만 안전을 보장하지는 않습니다. 전반적인 방향을 신뢰할 수 있는 작업에 사용하고, 민감한 작업에 대한 검토를 대체하는 용도로 사용하지 마십시오.343> 자동 모드는 권한 프롬프트를 줄여 주지만 안전을 보장하지는 않습니다. 전반적인 방향을 신뢰할 수 있는 작업에 사용하고, 민감한 작업에 대한 검토를 대체하는 수단으로 사용하지 마십시오.

343 344 

344자동 모드는 계정이 다음 요구 사항을 모두 충족하는 경우에만 사용할 수 있습니다.345자동 모드는 계정이 다음 요구 사항을 모두 충족하는 경우에만 사용할 수 있습니다.

345 346 

346* **플랜**: 모든 플랜.347* **플랜**: 모든 플랜.

347* **조직**: Team 및 Enterprise에서는 자동 모드를 기본적으로 사용할 수 있습니다. 관리자는 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 `permissions.disableAutoMode`를 `"disable"`로 설정하여 조직 전체에서 이 기능을 끌 수 있습니다.348* **조직**: Team 및 Enterprise에서는 자동 모드를 기본적으로 사용할 수 있습니다. 관리자는 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 `permissions.disableAutoMode`를 `"disable"`로 설정하여 조직 전체에서 끌 수 있습니다.

348* **모델**: Anthropic API와 [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md)에서는 Claude Opus 4.6 이상, Sonnet 4.6 이상, Haiku 5.5 또는 [Fable 모델](https://code.claude.com/docs/ko/model-config.md#work-with-fable). Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 로그인된 [Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway) 세션에서는 Claude Sonnet 5 이상, Opus 4.7 이상, Haiku 5.5 및 Fable 모델만 지원됩니다. Sonnet 4.5, Opus 4.5, Haiku 4.5 및 claude-3 모델을 포함한 이전 모델은 어떤 제공업체에서도 지원되지 않습니다.349* **모델**: Anthropic API 및 [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md)에서는 Claude Opus 4.6 이상, Sonnet 4.6 이상, Haiku 5.5 또는 [Fable 모델](https://code.claude.com/docs/ko/model-config.md#work-with-fable). Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry 및 로그인된 [Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway) 세션에서는 Claude Sonnet 5 이상, Opus 4.7 이상, Haiku 5.5 및 Fable 모델만 지원됩니다. Sonnet 4.5, Opus 4.5, Haiku 4.5 및 claude-3 모델을 포함한 이전 모델은 어떤 제공자에서도 지원되지 않습니다.

349* **제공업체**: Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 로그인된 Claude apps gateway 세션에서 기본적으로 사용할 수 있습니다.350* **제공자**: Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry 및 로그인된 Claude apps gateway 세션에서 기본적으로 사용할 수 있습니다.

350 351 

351Claude Code에서 자동 모드를 사용할 수 없다고 보고하면, 먼저 이러한 요구 사항과 설정 파일에서 [`disableAutoMode`](https://code.claude.com/docs/ko/settings-reference#disableautomode)를 설정하고 있는지 확인하십시오. Anthropic이 서버 측에서 자동 모드를 꺼 두었거나, 서버가 해당 계정에 대해 자동 모드를 거부했을 수도 있습니다. 이러한 응답 중 하나를 받은 세션은 세션이 끝날 때까지 자동 모드가 꺼진 상태로 유지되므로, 나중에 새 세션을 시작하십시오.352Claude Code가 자동 모드를 사용할 수 없다고 보고하면, 먼저 이 요구 사항과 설정 파일 중 [`disableAutoMode`](https://code.claude.com/docs/ko/settings-reference#disableautomode)를 설정한 파일이 있는지 확인하십시오. Anthropic이 서버 측에서 자동 모드를 껐거나, 서버가 해당 계정에 대해 자동 모드를 거부했을 수도 있습니다. 이 중 하나의 응답을 받은 세션은 세션이 끝날 때까지 자동 모드를 끈 상태로 유지하므로, 나중에 새 세션을 시작하십시오.

352 353 

353모델 이름을 언급하며 자동 모드가 작업의 "안전성을 판단할 수 없다"고 알리는 별도의 메시지는 분류기 요청이 실패했음을 의미합니다. 이러한 실패는 대개 일시적이지만, Amazon Bedrock에서는 계정이 해당 모델을 호출할 수 있을 때까지 반복될 수 있습니다. 원인과 해결 방법은 [오류 참조](https://code.claude.com/docs/ko/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)를 참조하십시오.354모델 이름을 언급하며 자동 모드가 작업의 "안전성을 판단할 수 없다(cannot determine the safety)"고 알리는 별도의 메시지는 분류기 요청이 실패했다는 의미입니다. 이 실패는 대개 일시적이지만, Amazon Bedrock에서는 계정이 해당 모델을 호출할 수 있게 될 때까지 반복될 수 있습니다. 원인과 조치 방법은 [오류 참조](https://code.claude.com/docs/ko/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)를 참조하십시오.

354 355 

355[설정](https://code.claude.com/docs/ko/settings-reference.md#all-settings)에서 `defaultMode: "auto"`를 설정했는데 터미널 세션이 오류 없이 Manual 모드로 시작된다면, 해당 설정이 `.claude/settings.json` 또는 `.claude/settings.local.json`에 있을 가능성이 높습니다. `auto`는 이러한 파일에서는 적용되지 않습니다. `~/.claude/settings.json`으로 옮기십시오. VS Code 확장 프로그램이 시작한 대화의 경우에는 대신 [권한 모드 전환](#switch-permission-modes)에 있는 확장 프로그램 자체 목록을 확인하십시오.356[설정](https://code.claude.com/docs/ko/settings-reference.md#all-settings)에서 `defaultMode: "auto"`를 설정했는데 터미널 세션이 오류 없이 Manual 모드로 시작된다면, 해당 설정이 `.claude/settings.json` 또는 `.claude/settings.local.json`에 있을 가능성이 높습니다. `auto`는 이 파일들에서는 적용되지 않습니다. `~/.claude/settings.json`으로 옮기십시오. VS Code 확장 프로그램이 시작한 대화의 경우에는 대신 [권한 모드 전환](#switch-permission-modes)에 있는 확장 프로그램 자체의 목록을 확인하십시오.

356 357 

357### Bedrock, Agent Platform 또는 Foundry에서의 자동 모드358### Bedrock, Agent Platform 또는 Foundry에서의 자동 모드

358 359 

359[Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Google Cloud의 Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md) 및 로그인된 [Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway) 세션에서는 자동 모드를 기본적으로 사용할 수 있습니다. 이러한 환경에서 권한 모드를 설정하지 않으면 대화형 세션은 자동 모드로 시작되고, `claude -p` 또는 Agent SDK 실행은 구성 값이 `default`인 Manual 모드로 시작됩니다.360[Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md) 및 로그인된 [Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway) 세션에서는 자동 모드를 기본적으로 사용할 수 있습니다. 권한 모드를 설정하지 않으면 대화형 세션은 자동 모드로 시작되고, `claude -p` 또는 Agent SDK 실행은 구성 값이 `default`인 Manual 모드로 시작됩니다.

360 361 

361* **대화형 터미널 및 VS Code 세션**: 자동 이외의 권한 모드로 시작하려면 [다른 권한 모드로 시작하기](#start-in-a-different-mode)에 설명된 대로 `permissions.defaultMode`를 설정하거나, VS Code 확장 프로그램의 [모드 표시기](#switch-permission-modes)에서 모드를 선택하십시오. 이러한 세션을 자동 모드로 시작하는 Claude Code 버전은 [세션이 시작되는 모드](#which-mode-a-session-starts-in)에 나와 있습니다.362* **대화형 터미널 및 VS Code 세션**: 자동 모드가 아닌 다른 권한 모드로 시작하려면 [다른 권한 모드로 시작하기](#start-in-a-different-mode)에 설명된 대로 `permissions.defaultMode`를 설정하거나, VS Code 확장 프로그램의 [모드 표시기](#switch-permission-modes)에서 선택하십시오. [세션이 시작되는 모드](#which-mode-a-session-starts-in)에 이러한 세션을 자동 모드로 시작하는 Claude Code 버전이 나와 있습니다.

362* **`claude -p` 및 Agent SDK 실행**: 자동 모드로 시작하려면 `claude -p`에 `--permission-mode auto`를 전달하거나, TypeScript에서는 `permissionMode: "auto"`를, Python에서는 `permission_mode="auto"`를 전달하십시오. 권한 모드를 전달하지 않는 경우에는 [`claude -p` 및 Agent SDK 실행에서 거부되는 도구 호출](#which-mode-a-non-interactive-run-starts-in)을 참조하십시오. 이 섹션은 이전 Claude Code 버전도 다룹니다.363* **`claude -p` 및 Agent SDK 실행**: 자동 모드로 시작하려면 `claude -p`에 `--permission-mode auto`를 전달하거나, TypeScript에서는 `permissionMode: "auto"`, Python에서는 `permission_mode="auto"`를 전달하십시오. 권한 모드를 전달하지 않는 경우에는 [`claude -p` 및 Agent SDK 실행에서 거부되는 도구 호출](#which-mode-a-non-interactive-run-starts-in)을 참조하십시오. 이 섹션은 이전 Claude Code 버전도 다룹니다.

363 364 

364이러한 제공업체에서는 Claude Sonnet 5 이상, Opus 4.7 이상, Haiku 5.5 및 Fable 모델만 지원됩니다. 다른 모델에서는 세션이 대신 Manual로 시작됩니다. 이러한 제공업체에서 Haiku 5.5로 자동 모드를 사용하려면 Claude Code v2.1.293 이상이 필요합니다.365이 제공자들에서는 Claude Sonnet 5 이상, Opus 4.7 이상, Haiku 5.5 및 Fable 모델만 지원됩니다. 그 외의 모델에서는 세션이 대신 Manual로 시작됩니다. 이 제공자들에서 Haiku 5.5로 자동 모드를 사용하려면 Claude Code v2.1.293 이상이 필요합니다.

365 366 

366개발자가 자동 모드를 사용하지 못하도록 하려면 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 `disableAutoMode`를 `"disable"`로 설정하십시오. 이렇게 하면 `Shift+Tab` 순환에서 `auto`가 제거되고, `--permission-mode auto`로 시작한 세션은 대신 Manual로 시작됩니다. 이미 자동 모드로 실행 중인 세션은 이 설정이 [관리자가 배포한 소스](https://code.claude.com/docs/ko/managed-settings.md#which-managed-source-claude-code-uses)에서 해당 세션에 도달하면 자동 모드를 벗어나고 `auto mode disabled by settings`를 표시합니다. v2.1.251 이전에는 실행 중인 세션이 종료될 때까지 자동 모드를 유지했습니다.367개발자가 자동 모드를 사용하지 못하게 하려면 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 `disableAutoMode`를 `"disable"`로 설정하십시오. 그러면 `Shift+Tab` 순환에서 `auto`가 제거되고, `--permission-mode auto`로 시작한 세션은 대신 Manual로 시작됩니다. 이미 자동 모드로 실행 중인 세션은 [관리자가 배포한 소스](https://code.claude.com/docs/ko/managed-settings.md#which-managed-source-claude-code-uses)에서 이 설정이 해당 세션에 도달하면 자동 모드를 종료하고 `auto mode disabled by settings`를 표시합니다. v2.1.251 이전에는 실행 중인 세션이 종료될 때까지 자동 모드를 유지했습니다.

367 368 

368### 서버 측 분류기 검토369### 서버 측 분류기 검토

369 370 

370자동 모드에서 Claude Code는 자체 분류기 요청을 보내는 대신, 세션의 모델 요청의 일부로 [결정 순서](#how-the-classifier-evaluates-actions)가 검토 대상으로 보내는 작업을 확인하도록 서버에 요청할 수 있습니다. 다음 세션이 서버에 요청합니다.371자동 모드에서 Claude Code는 자체 분류기 요청을 보내는 대신, 세션의 모델 요청의 일부로 [결정 순서](#how-the-classifier-evaluates-actions)가 검토 대상으로 보내는 작업을 확인하도록 서버에 요청할 수 있습니다. 다음 세션이 서버에 요청합니다.

371 372 

372* **Anthropic API에 대한 직접 연결**: 플랜이나 계정 유형에 관계없이 대화형 터미널 세션과 `-p`, Agent SDK, [VS Code 확장 프로그램](https://code.claude.com/docs/ko/vs-code.md), [데스크톱 앱](https://code.claude.com/docs/ko/desktop.md) 세션에서, Anthropic이 순차적으로 배포함에 따라 적용됩니다. 세션 유형에 해당하는 최소 Claude Code 버전을 확인하십시오.373* **Anthropic API에 대한 직접 연결**: 대화형 터미널 세션과 `-p`, Agent SDK, [VS Code 확장 프로그램](https://code.claude.com/docs/ko/vs-code.md), [데스크톱 앱](https://code.claude.com/docs/ko/desktop.md) 세션에서, 플랜이나 계정 유형에 관계없이 Anthropic이 순차적으로 배포함에 따라 적용됩니다. 세션 유형에 따라 다음 최소 Claude Code 버전을 확인하십시오.

373 * 대화형 터미널 세션에서 서버에 요청하려면 Pro, Max, Ultra, Team 플랜의 경우 Claude Code v2.1.271 이상이 필요합니다. Enterprise 플랜과 Claude API 계정에서는 이러한 세션에 v2.1.278 이상이 필요합니다.374 * 대화형 터미널 세션에서 서버에 요청하려면 Pro, Max, Ultra, Team 플랜에서 Claude Code v2.1.271 이상이 필요합니다. Enterprise 플랜 및 Claude API 계정에서는 해당 세션에 v2.1.278 이상이 필요합니다.

374 * `-p`, Agent SDK, VS Code 확장 프로그램 및 데스크톱 앱 세션에서 서버에 요청하려면 Claude Code v2.1.281 이상이 필요합니다375 * `-p`, Agent SDK, VS Code 확장 프로그램 및 데스크톱 앱 세션에서 서버에 요청하려면 Claude Code v2.1.281 이상이 필요합니다

375 * v2.1.282부터는 예를 들어 텔레메트리를 꺼서 [기능 플래그를 가져오지 않는](https://code.claude.com/docs/ko/env-vars.md#features-that-need-feature-flag-fetching) 세션은 어떤 종류의 세션에서든 기본적으로 서버에 요청합니다376 * v2.1.282부터는 텔레메트리를 끈 경우 등 [기능 플래그를 가져오지 않는](https://code.claude.com/docs/ko/env-vars.md#features-that-need-feature-flag-fetching) 세션이 모든 종류의 세션에서 기본적으로 서버에 요청합니다

376* **클라우드 제공업체 또는 LLM 게이트웨이나 프록시**: [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서, 그리고 `ANTHROPIC_BASE_URL`을 [LLM 게이트웨이 또는 프록시](https://code.claude.com/docs/ko/llm-gateway)로 지정할 때마다, 플랜에 관계없이 적용됩니다. 기본적으로 요청하려면 Claude Code v2.1.278 이상이 필요합니다.377* **클라우드 제공자 또는 LLM 게이트웨이나 프록시**: [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry에서, 그리고 `ANTHROPIC_BASE_URL`을 [LLM 게이트웨이 또는 프록시](https://code.claude.com/docs/ko/llm-gateway)로 지정할 때마다, 플랜에 관계없이 적용됩니다. 기본적으로 요청하려면 Claude Code v2.1.278 이상이 필요합니다.

377* **로그인된 [Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway) 세션**: Claude Code v2.1.280 이상이 필요합니다378* **로그인된 [Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway) 세션**: Claude Code v2.1.280 이상이 필요합니다

378* **Anthropic 호스팅 환경의 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)**: 플랜에 관계없이, 웹, 모바일 앱 또는 **Cloud**를 선택한 데스크톱 앱에서 시작할 때 적용됩니다. [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md)으로 시작된 세션은 Anthropic이 순차적으로 배포함에 따라 서버에 요청합니다.379* **Anthropic 호스팅 환경의 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)**: 웹, 모바일 앱 또는 **Cloud**를 선택한 데스크톱 앱에서 시작하는 경우 플랜에 관계없이 적용됩니다. [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md)으로 시작된 세션은 Anthropic이 순차적으로 배포함에 따라 서버에 요청합니다.

379 380 

380서버가 작업을 검토하는 경우 서버의 판정이 작업을 결정합니다. 그 밖에 두 가지 결과가 가능합니다.381서버가 작업을 검토하는 경우 서버의 판정이 작업을 결정합니다. 그 밖에 두 가지 결과가 있을 수 있습니다.

381 382 

382* **서버가 세션을 검토하지 않는 경우**: 응답이 검토 결과 없이 완료되거나, 서버가 이 세션을 검토하지 않는다고 응답합니다. 가장 흔한 원인은 검토 요청이나 결과를 누락시키는 LLM 게이트웨이나 프록시, 그리고 아직 서버 측 확인을 지원하지 않는 플랫폼, 리전 또는 자격 증명입니다. Claude Code는 자체 분류기 요청으로 폴백합니다. 이 폴백이 세션의 나머지 기간 동안 유지되면, 해당 요청이 과금되는 계정에서는 [분류기 요청 요금에 대한 알림](https://code.claude.com/docs/ko/auto-mode-classifier-billing.md)을 표시합니다.383* **서버가 세션을 검토하지 않음**: 응답이 검토 결과 없이 완료되거나, 서버가 이 세션을 검토하지 않는다고 응답합니다. 가장 흔한 원인은 검토 요청이나 결과를 누락시키는 LLM 게이트웨이 또는 프록시, 그리고 아직 서버 측 검사를 지원하지 않는 플랫폼, 리전 또는 자격 증명입니다. Claude Code는 자체 분류기 요청으로 폴백합니다. 이 폴백이 세션의 나머지 기간 동안 유지되면, 해당 요청이 과금되는 계정에서 [분류기 요청 요금에 대한 알림](https://code.claude.com/docs/ko/auto-mode-classifier-billing.md)을 표시합니다.

383* **서버가 작업에 대한 판정을 내리지 않는 경우**: Claude Code는 검토되지 않은 작업을 실행하지 않고 거부합니다. 어떤 연결에서든 검토 결과가 도착하기 전에 응답이 끝나거나, Claude Code가 읽을 수 없는 형식으로 결과가 도착하면 이런 일이 발생합니다. 응답을 중간에 잘라내거나 결과를 다시 쓰는 LLM 게이트웨이나 프록시가 둘 다의 원인이 될 수 있습니다. Anthropic API에 직접 연결된 경우, 예를 들어 시간 초과로 인해 서버의 확인이 해당 작업에 대해 실패할 때도 이런 일이 발생합니다. 거부 메시지, 거부가 반복될 때 일어나는 일, 해결 방법은 [The server returned no safety verdict](https://code.claude.com/docs/ko/errors.md#the-server-returned-no-safety-verdict)에서 다룹니다.384* **서버가 작업에 대한 판정을 내리지 않음**: Claude Code는 검토되지 않은 상태로 실행하는 대신 작업을 거부합니다. 모든 연결에서 이는 검토 결과가 도착하기 전에 응답이 끝나거나, Claude Code가 읽을 수 없는 형식으로 결과가 도착할 때 발생합니다. 응답을 중간에 자르거나 결과를 다시 쓰는 LLM 게이트웨이 또는 프록시가 두 가지 모두의 원인이 될 수 있습니다. Anthropic API에 직접 연결된 경우에는 시간 초과 등으로 해당 작업에 대한 서버 검사가 실패할 때도 발생합니다. [서버가 안전 판정을 반환하지 않음](https://code.claude.com/docs/ko/errors.md#the-server-returned-no-safety-verdict)에서 거부 메시지, 거부가 반복될 때의 동작, 조치 방법을 설명합니다.

384 385 

385서버에 요청하지 않고 항상 Claude Code의 자체 분류기 요청을 사용하려면 [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](https://code.claude.com/docs/ko/env-vars)을 설정하십시오. Anthropic API에 직접 연결된 경우 이 변수에는 Claude Code v2.1.281 이상이 필요합니다. 여기서 이 변수를 `1`로 설정하면, `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`도 함께 설정하지 않은 한, 아직 서버 검토가 적용되지 않은 세션에서 서버 검토가 켜집니다. `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`을 설정하고 `CLAUDE_CODE_AUTO_MODE_SERVER`를 설정하지 않으면, [사전 출시 기능 비활성화](https://code.claude.com/docs/ko/llm-gateway-protocol.md#disable-pre-release-capabilities)에 설명된 경우를 제외하고 Claude Code는 서버에 요청하는 것도 중단합니다.386서버 요청을 건너뛰고 항상 Claude Code 자체 분류기 요청을 사용하려면 [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](https://code.claude.com/docs/ko/env-vars)을 설정하십시오. Anthropic API에 직접 연결된 경우 이 변수에는 Claude Code v2.1.281 이상이 필요합니다. 이 환경에서 값을 `1`로 설정하면, `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`도 함께 설정하지 않은 한 아직 서버 검토가 적용되지 않은 세션에서 서버 검토가 켜집니다. `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`을 설정하고 `CLAUDE_CODE_AUTO_MODE_SERVER`를 설정하지 않으면, [사전 출시 기능 비활성화](https://code.claude.com/docs/ko/llm-gateway-protocol.md#disable-pre-release-capabilities)에 설명된 경우를 제외하고 Claude Code도 서버 요청을 중단합니다.

386 387 

387### 기본 분류기 모델388### 기본 분류기 모델

388 389 

389기본적으로 분류기 요청은 Claude Sonnet 5로 전송됩니다. `/status`에 `Auto mode server`가 `Enabled`로 표시되면, 분류기 요청은 [서버의 검토](#server-side-classifier-review) 대상이 아닌 호출에 대해서만 전송됩니다.390기본적으로 분류기 요청은 Claude Sonnet 5로 전송됩니다. `/status`에 `Auto mode server`가 `Enabled`로 표시되면, [서버의 검토](#server-side-classifier-review) 범위 밖의 호출에 대해서만 요청이 전송됩니다.

390 391 

391이 표에서 세션과 일치하는 첫 번째 행을 찾으십시오. Sonnet 5 대신 해당 행의 모델이 사용됩니다.392이 표에서 세션에 해당하는 첫 번째 행을 찾으십시오. Sonnet 5 대신 해당 행의 모델이 사용됩니다.

392 393 

393| 세션 | 분류기 모델 |394| 세션 | 분류기 모델 |

394| - | - |395| - | - |

395| Anthropic이 구성한 분류기 모델이 있음 | 구성된 모델. 어떤 모델인지는 [디버그 로그를 확인](#classifier-model-check)하십시오 |396| Anthropic이 구성한 분류기 모델이 있음 | 구성된 모델. 어떤 모델인지 확인하려면 [디버그 로그를 확인](#classifier-model-check)하십시오 |

396| Claude Sonnet 4.6에서 실행됨 | Sonnet 4.6 |397| Claude Sonnet 4.6에서 실행 | Sonnet 4.6 |

397| [`ANTHROPIC_DEFAULT_SONNET_MODEL`](https://code.claude.com/docs/ko/model-config#environment-variables)이 설정됨 | 해당 값. 값이 Claude Sonnet 5.5 또는 Claude Opus 5.5이면 Sonnet 5 |398| [`ANTHROPIC_DEFAULT_SONNET_MODEL`](https://code.claude.com/docs/ko/model-config#environment-variables)이 설정됨 | 해당 값. 값이 Claude Sonnet 5.5 또는 Claude Opus 5.5이면 Sonnet 5 |

398 399 

399Sonnet 5 또는 `ANTHROPIC_DEFAULT_SONNET_MODEL`의 모델을 제공업체에서 사용할 수 없거나 조직의 [모델 정책](https://code.claude.com/docs/ko/model-config.md#restrict-model-selection)에서 제외한 경우, Claude Code는 대체 모델을 사용합니다. 이는 세션의 모델이며, [Fable 세션](https://code.claude.com/docs/ko/model-config.md#work-with-fable)에서는 Opus 모델입니다.400Sonnet 5 또는 `ANTHROPIC_DEFAULT_SONNET_MODEL`의 모델을 제공자에서 사용할 수 없거나 조직의 [모델 정책](https://code.claude.com/docs/ko/model-config.md#restrict-model-selection)에서 제외된 경우, Claude Code는 대체 모델을 사용합니다. 대체 모델은 세션의 모델이거나, [Fable 세션](https://code.claude.com/docs/ko/model-config.md#work-with-fable)에서는 Opus 모델입니다.

400 401 

401### 분류기 모델 선택402### 분류기 모델 선택

402 403 

403Claude Code v2.1.302 이상에서는 [`CLAUDE_CODE_AUTO_MODE_MODEL`](https://code.claude.com/docs/ko/env-vars)을 전체 모델 ID로 설정하여 [기본값](#default-classifier-model)이 아닌 모델에서 분류기를 실행할 수 있습니다. 클라우드 제공업체 자체의 전체 모델 ID도 사용할 수 있습니다. 다음 `~/.claude/settings.json` 예시는 Claude Sonnet 4.6을 설정합니다.404Claude Code v2.1.302 이상에서는 [`CLAUDE_CODE_AUTO_MODE_MODEL`](https://code.claude.com/docs/ko/env-vars)을 전체 모델 ID로 설정하여 [기본값](#default-classifier-model)이 아닌 모델에서 분류기를 실행할 수 있습니다. 클라우드 제공자 자체의 전체 모델 ID도 사용할 수 있습니다. 다음 `~/.claude/settings.json` 예시는 Claude Sonnet 4.6을 설정합니다.

404 405 

405```json theme={null}406```json theme={null}

406{407{


410}411}

411```412```

412 413 

413#### 설정한 모델이 검토하지 않는 경우414#### 지정한 모델이 검토하지 않는 경우

414 415 

415| 상황 | 결과 | 조치 |416| 상황 | 결과 | 조치 방법 |

416| - | - | - |417| - | - | - |

417| [디버그 로그](#classifier-model-check)에 Anthropic이 구성한 분류기 모델이 보고됨 | 해당 모델이 검토함 | 조치 필요 없음 |418| [디버그 로그](#classifier-model-check)에 Anthropic이 구성한 분류기 모델이 보고됨 | 해당 모델이 검토합니다 | 조치 필요 없음 |

418| Claude Opus 5, Sonnet 5.5, Opus 5.5 또는 조직의 [모델 정책](https://code.claude.com/docs/ko/model-config.md#restrict-model-selection)에서 제외한 모델을 설정함 | [기본 분류기 모델](#default-classifier-model)이 검토함 | 다른 모델 설정 |419| Claude Opus 5, Sonnet 5.5, Opus 5.5 또는 조직의 [모델 정책](https://code.claude.com/docs/ko/model-config.md#restrict-model-selection)에서 제외된 모델을 설정함 | [기본 분류기 모델](#default-classifier-model)이 검토합니다 | 다른 모델을 설정하십시오 |

419| 제공업체가 해당 모델을 제공할 수 없음 | 분류기 확인이 실패하므로 Claude Code가 [확인하는 각 작업을 거부함](https://code.claude.com/docs/ko/errors.md#auto-mode-cannot-determine-the-safety-of-an-action) | 제공업체가 제공하는 모델을 설정하거나 변수 제거 |420| 제공자가 해당 모델을 제공할 수 없음 | 분류기 검사가 실패하므로 Claude Code가 [검사하는 각 작업을 거부](https://code.claude.com/docs/ko/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)합니다 | 제공자가 제공하는 모델을 설정하거나 변수를 제거하십시오 |

420| 세션에서 `/status`에 [`Auto mode server`](#server-side-classifier-review)가 `Enabled`로 표시됨 | 설정한 모델 없이 서버가 검토함 | 조치 필요 없음 |421| 세션에서 `/status`에 [`Auto mode server`](#server-side-classifier-review)가 `Enabled`로 표시됨 | 지정한 모델 없이 서버가 검토합니다 | 조치 필요 없음 |

421 422 

422여러 상황이 해당하면 목록에서 먼저 나오는 상황을 따릅니다.423여러 상황에 해당하면 먼저 나열된 상황을 따릅니다.

423 424 

424#### 분류기가 사용한 모델 확인425#### 분류기가 사용한 모델 확인

425 426 


429claude --permission-mode auto --debug-file classifier-debug.log430claude --permission-mode auto --debug-file classifier-debug.log

430```431```

431 432 

432Claude가 읽기 전용이 아닌 셸 명령을 실행하도록 한 다음, 로그에서 `classifier_request_started`를 검색합니다.433Claude에게 읽기 전용이 아닌 셸 명령을 실행하게 한 다음, 로그에서 `classifier_request_started`를 검색하십시오.

433 434 

434* **`model=` 뒤에 설정한 모델이 있음**: 변수가 적용되었습니다435* **`model=` 뒤에 지정한 모델이 있음**: 변수가 적용되었습니다

435* **`model=` 뒤에 다른 모델이 있음**: 로그에서 `ignoring CLAUDE_CODE_AUTO_MODE_MODEL`을 검색하십시오. 이 줄에 이유와 필요한 조치가 나와 있습니다436* **`model=` 뒤에 다른 모델이 있음**: 로그에서 `ignoring CLAUDE_CODE_AUTO_MODE_MODEL`을 검색하면 이유와 필요한 조치를 확인할 수 있습니다

436* **해당 줄이 없음**: Claude Code 프롬프트에서 `/status`의 `Auto mode server`를 확인하십시오.437* **해당 줄이 없음**: Claude Code 프롬프트에서 `/status`의 `Auto mode server`를 확인하십시오.

437 * **`Enabled`**: [서버](#server-side-classifier-review)가 이 세션의 호출을 검토하도록 설정되어 있습니다.438 * **`Enabled`**: 이 세션의 호출을 [서버](#server-side-classifier-review)가 검토하도록 설정되어 있습니다.

438 * **`Disabled`**: [권한 모드](#switch-permission-modes)가 auto인지 확인한 다음, Claude가 읽기 전용이 아닌 다른 명령을 실행하도록 하십시오.439 * **`Disabled`**: [권한 모드](#switch-permission-modes)가 auto인지 확인한 다음, Claude에게 읽기 전용이 아닌 다른 명령을 실행하게 하십시오.

439 440 

440### 분류기가 기본적으로 차단하는 항목441### 분류기가 기본적으로 차단하는 항목

441 442 

442분류기는 작업 디렉터리와 세션 시작 시점에 해당 디렉터리에 구성되어 있던 원격 저장소를 신뢰합니다. 세션 중에 `git remote add` 또는 `git remote set-url`로 추가되거나 대상이 변경된 원격 저장소는 신뢰되지 않으며, [신뢰할 수 있는 인프라를 구성](https://code.claude.com/docs/ko/auto-mode-config.md)하기 전까지 그 밖의 모든 것은 외부로 취급됩니다.443분류기는 작업 디렉터리와 세션이 시작될 때 해당 디렉터리에 구성되어 있던 원격 저장소를 신뢰합니다. 세션 중에 `git remote add` 또는 `git remote set-url`로 추가되거나 다른 곳을 가리키도록 변경된 원격 저장소는 신뢰되지 않으며, 그 밖의 모든 것은 [신뢰할 수 있는 인프라를 구성](https://code.claude.com/docs/ko/auto-mode-config.md)할 때까지 외부로 취급됩니다.

443 444 

444**기본적으로 차단됨**:445**기본적으로 차단됨**:

445 446 

446* `curl | bash`처럼 코드를 다운로드하여 실행하는 작업447* `curl | bash`와 같이 코드를 다운로드하여 실행

447* 민감한 데이터를 외부 엔드포인트로 전송하는 작업448* 민감한 데이터를 외부 엔드포인트로 전송

448* 프로덕션 배포 및 마이그레이션449* 프로덕션 배포 및 마이그레이션

449* 클라우드 스토리지의 대량 삭제450* 클라우드 스토리지의 대량 삭제

450* IAM 또는 저장소 권한 부여451* IAM 또는 저장소 권한 부여

451* 공유 인프라 수정452* 공유 인프라 수정

452* 세션 이전부터 존재하던 파일을 되돌릴 수 없게 삭제하는 작업453* 세션 이전부터 존재하던 파일을 되돌릴 수 없게 파괴

453* 강제 푸시454* 강제 푸시

454* 실행 시 시크릿이나 민감한 데이터를 저장소 외부로 보내거나, 배포가 노출하는 범위를 넓히는 변경을 커밋하거나 푸시하는 작업. 여기에는 시크릿을 아직 받지 않는 대상으로 전달하는 CI 워크플로나 배포 구성, 시크릿 저장소를 읽어 데이터를 외부로 보내는 스크립트나 설정 단계, 레지스트리, 공개 범위, 아티팩트 또는 소스맵 설정처럼 배포가 게시하는 범위를 넓히는 구성 변경이 포함됩니다. 이 확인은 모든 브랜치에 적용되고, 저장소가 공개 저장소인 경우에도 적용되며, 해당 커밋이나 푸시가 파이프라인을 트리거하는지 여부와 관계없이 변경이 커밋되거나 푸시될 때 발동합니다. 이를 해제하려면 커밋이나 푸시만이 아니라 실행 효과를 명시해야 합니다455* 실행될 때 시크릿이나 민감한 데이터를 저장소 밖으로 보내거나, 배포가 노출하는 범위를 넓히는 변경 사항의 커밋 또는 푸시. 여기에는 아직 시크릿을 받지 않는 대상에 시크릿을 전달하는 CI 워크플로나 배포 구성, 시크릿 저장소를 읽어 데이터를 외부로 보내는 스크립트나 설정 단계, 레지스트리, 공개 범위, 아티팩트 또는 소스맵 설정처럼 배포가 게시하는 범위를 넓히는 구성 변경이 포함됩니다. 이 검사는 모든 브랜치에 적용되고, 저장소가 공개된 경우에도 적용되며, 해당 커밋이나 푸시가 파이프라인을 트리거하는지 여부와 관계없이 변경 사항이 커밋되거나 푸시될 때 발동합니다. 이를 해제하려면 커밋이나 푸시만이 아니라 실행 효과를 명시해야 합니다

455* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` 또는 `git stash clear`. 분류기는 이러한 명령이 커밋되지 않은 변경 사항을 버린다고 가정합니다456* 분류기가 커밋되지 않은 변경 사항을 버릴 것으로 간주하는 `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` 또는 `git stash clear`

456* HEAD의 커밋이 이 세션에서 생성되지 않은 경우의 `git commit --amend`457* HEAD의 커밋이 이 세션에서 생성되지 않은 경우의 `git commit --amend`

457* v2.1.198부터, HEAD의 커밋이 이미 푸시된 경우의 `git commit --amend`. 메시지만 바꾸는 경우는 차단되지 않습니다. 즉, 이 세션에서 Claude가 만든 커밋에 대해 새로 스테이징된 항목 없이 `--amend -m`을 사용하는 경우입니다458* v2.1.198부터는 HEAD의 커밋이 이미 푸시된 경우의 `git commit --amend`. 메시지만 바꾸는 경우, 즉 새로 스테이징된 내용 없이 이 세션에서 Claude가 생성한 커밋에 대해 `--amend -m`을 실행하는 경우는 차단되지 않습니다

458* `terraform destroy`, `pulumi destroy`, `cdk destroy` 또는 `terragrunt destroy`, 그리고 리소스를 삭제하는 플랜 적용459* `terraform destroy`, `pulumi destroy`, `cdk destroy` 또는 `terragrunt destroy`, 그리고 리소스를 파괴하는 플랜 적용

459* 시크릿 매니저에 쓰기, 또는 DNS 레코드나 TLS 인증서 변경460* 시크릿 관리자에 쓰기, 또는 DNS 레코드나 TLS 인증서 변경

460* 사람이 승인하지 않은 풀 리퀘스트 병합, Claude 자신의 풀 리퀘스트 승인, 또는 CI 검사 비활성화461* 사람이 승인하지 않은 풀 리퀘스트 병합, Claude 자신의 풀 리퀘스트 승인, 또는 CI 검사 비활성화

461* `atlantis apply`나 봇의 `/deploy` 또는 `/merge`처럼 그 자체가 자동화에 대한 명령인 댓글 게시462* `atlantis apply`나 봇의 `/deploy` 또는 `/merge`처럼 그 자체가 자동화에 대한 명령인 댓글 게시

462* 프로덕션 기능 플래그의 전환, 점진적 확대 또는 삭제463* 프로덕션 기능 플래그의 전환, 점진적 확대 또는 삭제

463* 보호된 IaC 범위에 인프라 변경 적용, 또는 클러스터 노드 드레인 및 제거464* 보호된 IaC 범위에 인프라 변경 적용, 또는 클러스터 노드 드레인 및 제거

464* 레이블 선택기나 다른 사용자의 작업까지 포함하는 `--all`처럼, 지정한 리소스를 넘어서는 공유 컴퓨팅 클러스터에 대한 쓰기465* 다른 사용자의 작업까지 포함하는 레이블 셀렉터나 `--all`처럼, 지정한 리소스를 넘어서는 공유 컴퓨팅 클러스터 쓰기

465* DaemonSet 및 admission webhook처럼 모든 노드에서 실행되거나 클러스터 트래픽을 가로채는 Kubernetes 리소스 생성466* DaemonSet 및 admission webhook처럼 모든 노드에서 실행되거나 클러스터 트래픽을 가로채는 Kubernetes 리소스 생성

466* 민감한 원격 대상에 대한 대화형 셸 또는 포트 포워딩467* 민감한 원격 대상에 대한 대화형 셸 또는 포트 포워딩

467* 로컬 서비스를 공용 인터넷에서 접근 가능하게 만드는 터널 또는 리버스 셸 열기468* 로컬 서비스를 공용 인터넷에서 접근할 수 있게 만드는 터널 또는 리버스 셸 열기

468* 실제 자격 증명이나 토큰을 트랜스크립트나 파일에 출력하는 작업469* 실제 사용 중인 자격 증명이나 토큰을 트랜스크립트 또는 파일에 출력

469* [환경](https://code.claude.com/docs/ko/auto-mode-config.md#define-trusted-infrastructure)에 민감한 데이터 위치로 나열된 위치에 접근하거나, 그곳에서 데이터를 복사하거나, 해당 항목이 제외하는 대상에게 그곳의 데이터를 보내는 작업470* [환경](https://code.claude.com/docs/ko/auto-mode-config.md#define-trusted-infrastructure)에 민감한 데이터 위치로 나열된 위치에 접근하거나, 그곳에서 데이터를 복사하거나, 그곳의 데이터를 해당 항목이 제외하는 대상에게 전송

470* 패키지 설치를 내부 패키지 레지스트리를 우회하여 공개 레지스트리로 라우팅하는 작업. 이는 내부 레지스트리나 미러가 환경에 나열되어 있거나 대화에서 Claude에게 내부 레지스트리가 있다고 알린 경우에 적용됩니다471* 내부 패키지 레지스트리를 우회하여 공개 레지스트리로 패키지 설치 경로를 변경. 이는 환경에 내부 레지스트리나 미러가 나열되어 있거나, 대화에서 Claude에게 그러한 레지스트리가 있다고 알린 경우에 적용됩니다

471* `--insecure`처럼 안전 장치를 해제하는 플래그를 사용하여 명령을 실행하는 작업472* `--insecure`처럼 안전 장치를 해제하는 플래그로 명령 실행

472* `--dangerously-skip-permissions` 또는 `--no-sandbox`로 시작한 것처럼, 사람의 승인이나 샌드박스 없이 실행되는 자율 에이전트 루프 실행. 여기에는 `--yes-always`로 시작한 실행기처럼 격리와 작업별 승인이 비활성화된 서드파티 에이전트나 평가 하네스 실행도 포함됩니다473* `--dangerously-skip-permissions` 또는 `--no-sandbox`로 시작한 경우처럼, 사람의 승인이나 샌드박스 없이 실행되는 자율 에이전트 루프 실행. 여기에는 `--yes-always`로 시작한 러너처럼 격리와 작업별 승인이 비활성화된 타사 에이전트나 평가 하네스 실행이 포함됩니다

473* 페이지 콘텐츠, 쿠키 또는 자격 증명을 다른 출처로 보낼 수 있는 [Claude in Chrome](https://code.claude.com/docs/ko/chrome.md) 브라우저 작업474* 페이지 콘텐츠, 쿠키 또는 자격 증명을 다른 출처로 보낼 수 있는 [Claude in Chrome](https://code.claude.com/docs/ko/chrome.md) 브라우저 작업

474* 특정 이름의 경로가 아닌 와일드카드, glob 또는 기간 필터로 `/tmp`, `$TMPDIR` 또는 기타 공유 임시 디렉터리나 캐시 디렉터리의 파일을 삭제하는 작업475* 특정 경로를 지정하지 않고 와일드카드, glob 또는 기간 필터로 `/tmp`, `$TMPDIR` 또는 기타 공유 스크래치나 캐시 디렉터리의 파일 삭제

475* 사용자 본인의 메시지가 해당 수신자에게 허용하지 않은 민감한 세부 정보를, 다른 사람이나 공유 시스템으로 전송, 업로드, 게시 또는 작성되는 콘텐츠에 포함하는 작업. 저장소가 신뢰 경계 밖에 있거나 공개 저장소인 경우(조직 자체의 공개 저장소 포함) PR 및 이슈 본문, 커밋 메시지, 댓글이 이러한 외부 전송 콘텐츠에 해당합니다. 내부 파일 경로, 코드 이름, 이메일이나 계정 식별자 같은 실시간 API 응답 데이터, 인프라 식별자가 민감한 세부 정보에 해당합니다. PR 또는 이슈 본문에 이메일 주소, 계정이나 조직 식별자, 사용량 지표 같은 API 응답의 실시간 개인 데이터를 포함하려면, 저장소의 공개 범위나 신뢰 경계와 관계없이 해당 세부 정보와 수신자를 사용자가 직접 명시해야 합니다476* 다른 사람이나 공유 시스템에 전송, 업로드, 게시 또는 작성되는 콘텐츠에, 사용자 자신의 메시지가 해당 수신자에게 허용하지 않은 민감한 세부 정보를 포함. 저장소가 신뢰 경계 밖에 있거나 공개된 경우(조직 자체의 공개 저장소 포함) PR 및 이슈 본문, 커밋 메시지, 댓글은 이러한 외부 전송 콘텐츠로 간주됩니다. 내부 파일 경로, 코드명, 이메일이나 계정 식별자 같은 실제 API 응답 데이터, 인프라 식별자는 민감한 세부 정보로 간주됩니다. PR 또는 이슈 본문에 이메일 주소, 계정 또는 조직 식별자, 사용량 지표 같은 API 응답의 실제 개인 데이터를 포함하려면, 저장소의 공개 범위나 신뢰 경계와 관계없이 해당 세부 정보와 수신자를 명시해야 합니다

476* Claude Code 자체의 tmux 창에 키 입력을 보내 자신의 인터페이스를 조작하는 작업. 분류기는 이를 Claude가 자신의 권한이나 감독을 변경하는 것으로 취급합니다477* Claude Code 자체의 인터페이스를 조작하기 위해 Claude Code 자신의 tmux 창에 키 입력 전송. 분류기는 이를 Claude가 자신의 권한이나 감독을 변경하는 것으로 취급합니다

477* 인증, 접근 제어, 입력 검증 또는 샌드박싱 같은 보안 동작을 보호하는 테스트나 어설션을 주석 처리, 삭제 또는 강제 통과시키는 작업478* 인증, 접근 제어, 입력 검증, 샌드박싱 같은 보안 동작을 보호하는 테스트나 어서션을 주석 처리, 삭제 또는 강제 통과

478* 더 구체적인 삭제 규칙이 적용되지 않고 사용자가 해당 리소스를 지정하지 않은 경우, Claude가 세션에서 생성하지 않은 상태 저장 리소스를 삭제하거나 해체하는 작업479* 더 구체적인 삭제 규칙이 적용되지 않고 사용자가 해당 리소스를 지정하지 않은 경우, Claude가 세션에서 생성하지 않은 상태 저장 리소스의 삭제 또는 해체

479* API 기본 URL, 프록시 엔드포인트, 웹훅 수신기 또는 레지스트리 미러를 작업에 맞지 않는 서드파티 호스트로 변경하는 작업. `.env.example` 같은 예시 파일에서의 변경도 포함됩니다480* `.env.example` 같은 예제 파일을 포함하여, API 기본 URL, 프록시 엔드포인트, 웹훅 수신기 또는 레지스트리 미러를 작업에 맞지 않는 타사 호스트로 변경

480* 새 원격 저장소를 사용자가 지정하지 않은 경우, `git remote set-url` 또는 `git remote add`로 푸시 대상을 변경하는 작업481* 새 원격 저장소를 사용자가 지정하지 않은 경우, `git remote set-url` 또는 `git remote add`로 푸시 대상 변경

481* 공개된 것으로 알려진 저장소에 시크릿이나 개인 데이터 또는 위탁받은 데이터를 푸시하거나, 해당 저장소 자체의 작업에 속하지 않는 기밀 자료를 푸시하는 작업. 개인 데이터나 위탁받은 데이터의 경우 dotfiles 저장소 자체의 주제가 유일한 예외이며, 비공개 저장소의 콘텐츠가 공개된 곳에 도달하는 것도 같은 방식으로 차단됩니다. 저장소의 공개 범위가 확인되지 않은 경우 분류기는 그것만으로 차단하지 않고, 대신 다른 규칙에 따라 콘텐츠를 판단합니다482* 공개된 것으로 알려진 저장소에 시크릿이나 개인 데이터 또는 위탁받은 데이터를 푸시하거나, 해당 저장소 자체의 작업에 속하지 않는 기밀 자료를 푸시. 개인 데이터나 위탁받은 데이터의 경우 dotfiles 저장소 자체의 주제가 유일한 예외이며, 비공개 저장소의 콘텐츠가 공개된 곳에 도달하는 것도 같은 방식으로 차단됩니다. 저장소의 공개 범위가 확인되지 않은 경우 분류기는 그것만으로 차단하지 않고, 대신 다른 규칙에 따라 콘텐츠를 판단합니다

482* 외부 대상을 사용자가 지정하지 않은 경우, 다른 저장소나 조직을 대상으로 풀 리퀘스트를 열거나, `gh repo fork`로 포크하거나, 서드파티 저장소에 푸시하는 작업483* 사용자가 해당 외부 대상을 지정하지 않은 경우, 다른 저장소나 조직을 대상으로 풀 리퀘스트 열기, `gh repo fork`로 포크, 또는 타사 저장소에 푸시

483* 출처와 대상을 모두 사용자가 지정하지 않은 경우, 민감한 로컬 저장 위치의 콘텐츠 또는 이름, 경로나 유형으로 민감함이 드러나는 파일의 콘텐츠가 커밋, 푸시, PR 또는 이슈 텍스트, gist나 paste, 패키지 게시에 포함되는 작업. 세션 트랜스크립트와 대화 로그, SSH 키, 클라우드 자격 증명, 브라우저 프로필, 셸 기록 같은 자격 증명 및 구성 점 폴더, 사용자 데이터 내보내기가 모두 해당하며, 저장소가 비공개라고 해서 허용되지 않습니다484* 사용자가 출처와 대상을 모두 지정하지 않은 경우, 민감한 로컬 저장소의 콘텐츠나 이름, 경로 또는 유형으로 민감함이 드러나는 파일의 콘텐츠가 커밋, 푸시, PR 또는 이슈 텍스트, gist 또는 paste, 패키지 게시에 포함되는 것. 세션 트랜스크립트와 대화 로그, SSH 키, 클라우드 자격 증명, 브라우저 프로필, 셸 기록 같은 자격 증명 및 구성 dot 폴더, 사용자 데이터 내보내기가 모두 해당되며, 저장소가 비공개라고 해서 해제되지 않습니다

484* 직접 또는 셸 명령을 통해 Claude Code 세션 트랜스크립트, 즉 `~/.claude/projects/` 또는 구성된 설정 디렉터리 아래의 `.jsonl` 기록 파일에 쓰는 작업. 이 규칙은 Claude Code가 자체 확인을 위해 각 트랜스크립트 항목에 덧붙이는 메타데이터 줄도 다룹니다. 트랜스크립트를 읽는 것은 차단되지 않습니다485* 직접 또는 셸 명령을 통해 Claude Code 세션 트랜스크립트, 즉 `~/.claude/projects/` 또는 구성된 config 디렉터리 아래의 `.jsonl` 기록 파일에 쓰기. 이 규칙은 Claude Code가 자체 검사를 위해 각 트랜스크립트 항목에 추가하는 메타데이터 줄도 포함합니다. 트랜스크립트 읽기는 차단되지 않습니다

485* 대상이 분류기가 보는 대화 어디에서도 할당되지 않은 셸 변수이거나 그러한 변수를 기준으로 하는 glob인 `rm -rf "$VAR"` 또는 `Remove-Item -Recurse -Force $dir` 같은 재귀적 강제 삭제. 해당 값은 분류기가 받지 못하는 이전 명령 출력에서만 나왔으므로, 분류기는 삭제 대상을 다른 삭제 규칙에 비추어 확인할 수 없습니다. 삭제되는 정확한 경로를 사용자가 지정하거나, Claude가 확인된 리터럴 경로를 명령에 직접 써서 삭제를 다시 실행하면 차단이 해제됩니다. 분류기가 대상을 확인할 수 있는 삭제는 영향을 받지 않습니다.486* 대상이 분류기가 보는 대화 어디에서도 할당되지 않은 셸 변수이거나 그러한 변수를 기준으로 하는 glob인 `rm -rf "$VAR"` 또는 `Remove-Item -Recurse -Force $dir` 같은 재귀적 강제 삭제. 값이 분류기가 전혀 받지 않는 이전 명령 출력에서만 나왔으므로, 분류기는 삭제 대상을 다른 삭제 규칙에 비추어 확인할 수 없습니다. 삭제되는 정확한 경로를 사용자가 지정하거나, Claude가 확인된 리터럴 경로를 명령에 직접 작성하여 삭제를 다시 실행하면 차단이 해제됩니다. 분류기가 대상을 확인할 수 있는 삭제는 영향을 받지 않습니다.

486 487 

487 `rm -rf "$VAR"/*`처럼 변수 바로 아래의 glob은 대신 [중요 경로](#critical-paths)에 해당합니다. 대상이 단독 `*`이거나 `/*` 또는 `\*`로 끝나는 `Remove-Item`은 분류기에 도달하지 않습니다. Claude Code가 [즉시 거부합니다](#remove-item-in-powershell).488 `rm -rf "$VAR"/*`처럼 변수 바로 아래의 glob은 대신 [핵심 경로](#critical-paths)에 해당합니다. 단독 `*`이거나 `/*` 또는 `\*`로 끝나는 `Remove-Item` 대상은 분류기에 도달하지 않으며, Claude Code가 [즉시 거부](#remove-item-in-powershell)합니다.

488 489 

489이러한 범주 중 일부는 민감한 원격 대상이나 보호된 IaC 범위처럼 구체적인 이름으로 좁힐 수 있는 [환경](https://code.claude.com/docs/ko/auto-mode-config.md#define-trusted-infrastructure) 항목에 따라 달라집니다.490이 범주 중 일부는 민감한 원격 대상이나 보호된 IaC 범위처럼 구체적인 이름으로 좁힐 수 있는 [환경](https://code.claude.com/docs/ko/auto-mode-config.md#define-trusted-infrastructure) 항목에 따라 달라집니다.

490 491 

491Claude Code v2.1.257 이상에서는 다음 항목도 기본적으로 차단합니다.492Claude Code v2.1.257 이상에서는 다음도 기본적으로 차단합니다.

492 493 

493* `169.254.169.254` 같은 클라우드 인스턴스 메타데이터 엔드포인트에 자격 증명을 요청하거나, 머신 자체의 서비스 계정 또는 노드 ID로 클라우드, 클러스터 또는 레지스트리 호출을 명시적으로 인증하는 작업494* `169.254.169.254` 같은 클라우드 인스턴스 메타데이터 엔드포인트에서 자격 증명을 요청하거나, 머신 자체의 서비스 계정 또는 노드 ID로 클라우드, 클러스터 또는 레지스트리 호출을 명시적으로 인증

494* 터널, 리버스 셸, 또는 외부를 가리키도록 다시 작성된 리졸버나 프록시 구성처럼 직접 요청이 아닌 경로로 공개 호스트에 접근하는 작업495* 터널, 리버스 셸, 외부를 가리키도록 다시 작성된 리졸버 또는 프록시 구성처럼 직접 요청이 아닌 경로로 공개 호스트에 접근

495* 노드 인증서나 노드의 컨테이너 레지스트리 인증 정보처럼 작업이 아닌 호스트에 속한 자격 증명을 읽는 작업496* 노드 인증서나 노드의 컨테이너 레지스트리 인증 정보처럼 작업이 아닌 호스트에 속한 자격 증명 읽기

496* Claude가 시작하지 않은 형제 컨테이너, 파드 또는 VM이나 컨테이너 아래의 노드에 연결하거나 스캔하는 작업497* Claude가 시작하지 않은 형제 컨테이너, 파드 또는 VM, 또는 컨테이너 아래의 노드에 연결하거나 스캔

497 498 

498Claude Code가 이 중 하나를 허용하도록 의도된 환경에서 실행되는 경우, `autoMode.environment`의 [Host containment 항목](https://code.claude.com/docs/ko/auto-mode-config.md#define-trusted-infrastructure)에 해당 구성을 설명하십시오.499이 중 하나를 허용해야 하는 곳에서 Claude Code를 실행한다면, `autoMode.environment`의 [Host containment 항목](https://code.claude.com/docs/ko/auto-mode-config.md#define-trusted-infrastructure)에 해당 구성을 설명하십시오.

499 500 

500Claude Code v2.1.261 이상에서는 다음 항목도 기본적으로 차단합니다.501Claude Code v2.1.261 이상에서는 다음도 기본적으로 차단합니다.

501 502 

502* URL 자체에 공유되는 콘텐츠가 담겨 있는 경우, 메시지, PR 또는 이슈 텍스트, 문서 또는 링크가 열리거나 가져와지는 기타 위치에 공개 paste, 다이어그램 또는 데이터 공유 서비스 링크를 게시하거나 작성하는 작업. 사용자가 해당 서비스를 지정한 경우는 예외입니다503* URL 자체가 공유되는 콘텐츠를 담고 있는 경우, 사용자가 해당 서비스를 지정하지 않았다면 메시지, PR 또는 이슈 텍스트, 문서 또는 링크가 열리거나 가져와지는 기타 위치에 공개 paste, 다이어그램 또는 데이터 공유 서비스 링크를 게시하거나 작성

503 504 

504**기본적으로 허용됨**:505**기본적으로 허용됨**:

505 506 

506* 작업 디렉터리 내의 로컬 파일 작업507* 작업 디렉터리 내의 로컬 파일 작업

507* 잠금 파일이나 매니페스트에 선언된 의존성 설치508* 잠금 파일이나 매니페스트에 선언된 의존성 설치

508* `.env`를 읽고 자격 증명을 해당 API로 전송하는 작업509* `.env`를 읽고 일치하는 API로 자격 증명 전송

509* 읽기 전용 HTTP 요청510* 읽기 전용 HTTP 요청

510* 기본 브랜치를 포함하여 작업 중인 저장소의 모든 브랜치로 푸시하는 작업. `production`이나 `gh-pages`처럼 이름으로 배포 또는 게시 대상임을 나타내는 기본이 아닌 브랜치는 여기에 포함되지 않으며, 분류기는 해당 브랜치로의 푸시를 별도로 판단합니다.511* 기본 브랜치를 포함하여, 작업 중인 저장소의 모든 브랜치에 푸시. 단, `production`이나 `gh-pages`처럼 이름으로 배포 또는 게시 대상임이 드러나는 기본 브랜치가 아닌 브랜치는 포함되지 않으며, 분류기는 그러한 브랜치로의 푸시를 별도의 기준으로 판단합니다.

511 512 

512 푸시의 콘텐츠는 여전히 분류기의 다른 규칙에 따라 확인되며, [`permissions.deny` 규칙](https://code.claude.com/docs/ko/permissions#manage-permissions)은 모든 모드에서 푸시 명령을 [작성된 그대로](https://code.claude.com/docs/ko/permissions.md#bash-rule-limits) 여전히 차단할 수 있습니다. 원격 저장소 자체의 브랜치 보호도 여전히 적용됩니다.513 푸시의 콘텐츠는 여전히 분류기의 다른 규칙에 따라 검사되며, [`permissions.deny` 규칙](https://code.claude.com/docs/ko/permissions#manage-permissions)은 모든 모드에서 여전히 [작성된 그대로](https://code.claude.com/docs/ko/permissions.md#bash-rule-limits)의 푸시 명령을 차단할 수 있습니다. 원격 저장소 자체의 브랜치 보호도 여전히 적용됩니다.

513* 같은 세션에서 Claude가 앞서 생성한 바로 그 작업 삭제514* 같은 세션에서 앞서 Claude가 생성한 바로 그 작업의 삭제

514* 작업의 일부로 보안 관련 코드, 구성 및 위협 모델을 읽고, 검토하고, 작성하는 작업515* 작업의 일환으로 보안 관련 코드, 구성 및 위협 모델을 읽기, 검토 또는 작성

515* 같은 멀티 에이전트 세션에서 함께 작업하는 에이전트 간의 메시지516* 같은 멀티 에이전트 세션에서 함께 작업하는 에이전트 간 메시지

516* [`environment`](https://code.claude.com/docs/ko/auto-mode-config#define-trusted-infrastructure)에 나열한 신뢰할 수 있는 도메인, 버킷 및 서비스로 데이터를 보내는 작업. 이는 데이터 흐름만 다루며, 같은 인프라에 대한 파괴적 작업이나 자격 증명 작업은 포함하지 않습니다517* [`environment`](https://code.claude.com/docs/ko/auto-mode-config#define-trusted-infrastructure)에 나열한 신뢰할 수 있는 도메인, 버킷 및 서비스로 데이터 전송. 이는 데이터 흐름만 포함하며, 같은 인프라에 대한 파괴적 작업이나 자격 증명 작업은 포함하지 않습니다

517* 신뢰할 수 있는 내부 도메인, localhost 또는 사용자가 지정한 URL로의 [Claude in Chrome](https://code.claude.com/docs/ko/chrome.md) 탐색518* 신뢰할 수 있는 내부 도메인, localhost 또는 사용자가 지정한 URL로의 [Claude in Chrome](https://code.claude.com/docs/ko/chrome.md) 탐색

518 519 

519샌드박스 처리된 명령은 기본적으로 네트워크 접근 권한을 받지 않습니다. Claude는 명령에 필요한 호스트를 명령 자체에 명시하고, 분류기는 명령과 함께 이를 검토하며, 승인된 목록은 해당 명령 하나에 대해서만 그 호스트를 엽니다. 목록으로 열 수 있는 것과 열 수 없는 것, 그리고 명령이 목록에 없는 호스트에 접근하려 할 때 일어나는 일은 [명령별 허용 도메인](https://code.claude.com/docs/ko/sandboxing.md#per-command-allowed-domains-in-auto-mode)에서 다룹니다.520샌드박스된 명령은 기본적으로 네트워크 접근 권한을 받지 않습니다. Claude가 명령 자체에 해당 명령에 필요한 호스트를 명시하면, 분류기가 명령과 함께 이를 검토하고, 승인된 목록은 해당 명령 하나에 대해서만 그 호스트들을 엽니다. [명령별 허용 도메인](https://code.claude.com/docs/ko/sandboxing.md#per-command-allowed-domains-in-auto-mode)에서 목록으로 열 수 있는 것과 열 수 없는 것, 그리고 명령이 목록에 없는 호스트에 접근하려 할 때의 동작을 설명합니다.

520 521 

521`claude auto-mode defaults`를 실행하면 전체 규칙 목록을 JSON으로 출력합니다. 일상적인 작업이 차단되는 경우 관리자는 `autoMode.environment` 설정을 통해 신뢰할 수 있는 저장소, 버킷 및 서비스를 추가할 수 있습니다. [자동 모드 구성](https://code.claude.com/docs/ko/auto-mode-config.md)을 참조하십시오.522`claude auto-mode defaults`를 실행하면 전체 규칙 목록을 JSON으로 출력합니다. 일상적인 작업이 차단된다면 관리자가 `autoMode.environment` 설정을 통해 신뢰할 수 있는 저장소, 버킷 및 서비스를 추가할 수 있습니다. [자동 모드 구성](https://code.claude.com/docs/ko/auto-mode-config.md)을 참조하십시오.

522 523 

523작업 중인 저장소의 모든 브랜치로 푸시하는 작업과 요청에 부합하는 풀 리퀘스트를 생성하는 작업은, 시크릿이나 민감한 데이터가 저장소 밖으로 나가거나 풀 리퀘스트가 다른 저장소나 조직을 대상으로 하는 경우처럼 푸시나 풀 리퀘스트가 [차단 목록](#what-the-classifier-blocks-by-default)에 해당하지 않는 한 프롬프트 없이 실행됩니다. 자동 모드를 유지하면서 이러한 명령 전에 사람의 확인 단계를 요구하려면, 명령을 [작성된 그대로](https://code.claude.com/docs/ko/permissions.md#bash-rule-limits) 매칭하는 `permissions.ask` 규칙을 추가하십시오. [일반적인 경계](https://code.claude.com/docs/ko/auto-mode-config.md#common-boundaries)를 참조하십시오.524작업 중인 저장소의 모든 브랜치에 푸시하는 것과 요청에 부합하는 풀 리퀘스트를 생성하는 것은 프롬프트 없이 실행됩니다. 단, 시크릿이나 민감한 데이터가 저장소 밖으로 나가는 경우나 다른 저장소 또는 조직을 대상으로 하는 풀 리퀘스트처럼 해당 푸시나 풀 리퀘스트가 [차단 목록](#what-the-classifier-blocks-by-default)에 해당하는 경우에는 예외입니다. 자동 모드를 유지하면서 이러한 명령 전에 사람의 확인 단계를 요구하려면, 명령을 [작성된 그대로](https://code.claude.com/docs/ko/permissions.md#bash-rule-limits) 일치시키는 `permissions.ask` 규칙을 추가하십시오. [일반적인 경계](https://code.claude.com/docs/ko/auto-mode-config.md#common-boundaries)를 참조하십시오.

524 525 

525### 작업 디렉터리 밖의 첫 번째 읽기526### 작업 디렉터리 밖의 첫 번째 읽기

526 527 

527[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)가 꺼져 있는 동안, 자동 모드에서는 [네트워크 경로에서의 읽기](https://code.claude.com/docs/ko/permissions.md#network-paths)를 제외한 파일 읽기가 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 밖의 읽기를 포함하여 프롬프트 없이 실행됩니다. Claude가 작업 디렉터리 밖의 경로에 처음으로 Read, Grep 또는 Glob 도구를 사용하면, Claude Code는 해당 읽기를 허용할지 묻습니다.528[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)가 꺼져 있는 동안, 자동 모드에서는 [네트워크 경로에서의 읽기](https://code.claude.com/docs/ko/permissions.md#network-paths)를 제외한 파일 읽기가 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 밖의 읽기를 포함하여 프롬프트 없이 실행됩니다. Claude가 작업 디렉터리 밖의 경로에 처음으로 Read, Grep 또는 Glob 도구를 사용하면, Claude Code가 해당 읽기를 허용할지 묻습니다.

528 529 

529이 프롬프트는 비대화형 `-p` 실행이나 백그라운드 세션에서는 나타나지 않으며, 그곳에서는 읽기가 이전과 같이 실행됩니다.530이 프롬프트는 비대화형 `-p` 실행이나 백그라운드 세션에서는 나타나지 않으며, 그곳에서의 읽기는 이전과 같이 실행됩니다.

530 531 

531어떻게 답하든 Claude는 작업을 계속합니다.532어떻게 답하든 Claude는 계속 작업합니다.

532 533 

533* **Yes, and keep allowing any reads outside the working directories**: 읽기가 실행되고, 이후 작업 디렉터리 밖의 읽기도 이전과 같이 실행되며, Claude Code는 프롬프트가 다시 나타나지 않도록 답변을 기록합니다534* **Yes, and keep allowing any reads outside the working directories**: 읽기가 실행되고, 이후 작업 디렉터리 밖의 읽기도 이전과 같이 실행되며, Claude Code가 답변을 기록하여 프롬프트가 다시 나타나지 않습니다

534* **No, and block reads outside the working directories from now on**: 읽기가 거부되고, Claude Code는 사용자 설정에서 [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)를 `true`로 설정합니다. 이렇게 하면 이후의 모든 세션과 모든 권한 모드에서 파일 도구가 이러한 읽기를 거부합니다. 나중에 Claude가 그러한 경로를 읽을 수 있게 하려면 `/add-dir`로 해당 디렉터리를 추가하거나 설정을 제거하십시오.535* **No, and block reads outside the working directories from now on**: 읽기가 거부되고, Claude Code가 사용자 설정에서 [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)를 `true`로 설정합니다. 그러면 이 세션과 이후의 모든 세션, 모든 권한 모드에서 파일 도구가 이러한 읽기를 거부합니다. 차단을 해제하려면 이 설정을 지정한 모든 [설정 파일](https://code.claude.com/docs/ko/settings.md#settings-files-and-who-they-affect)에서 설정을 제거한 다음, 실행 중인 각 세션을 다시 시작하십시오. 이 세션에서 하나의 디렉터리만 허용하려면 `/add-dir`을 사용하십시오.

535* **No, and ask again next time**: 읽기가 거부되고, 다음에 작업 디렉터리 밖을 읽을 때 다시 프롬프트가 표시됩니다536* **No, and ask again next time**: 읽기가 거부되고, 다음에 작업 디렉터리 밖을 읽을 때 다시 묻습니다

536* **Yes, but ask again next time**: 읽기가 실행되고, 아무것도 저장되지 않으며, 다음에 작업 디렉터리 밖을 읽을 때 다시 프롬프트가 표시됩니다537* **Yes, but ask again next time**: 읽기가 실행되고, 아무것도 저장되지 않으며, 다음에 작업 디렉터리 밖을 읽을 때 다시 묻습니다

537 538 

538### 대화에서 명시한 경계539### 대화에서 명시한 경계

539 540 

540분류기는 대화에서 사용자가 명시한 경계를 차단 신호로 취급합니다. Claude에게 "푸시하지 마" 또는 "배포 전에 내가 검토할 때까지 기다려"라고 말하면, 기본 규칙이 허용하는 경우에도 분류기는 해당하는 작업을 차단합니다. 경계는 이후 메시지에서 사용자가 해제할 때까지 유효합니다. 조건이 충족되었다는 Claude 자신의 판단으로는 해제되지 않습니다.541분류기는 대화에서 명시한 경계를 차단 신호로 취급합니다. Claude에게 "푸시하지 마" 또는 "배포하기 전에 내가 검토할 때까지 기다려"라고 말하면, 기본 규칙이 허용하는 경우에도 분류기가 일치하는 작업을 차단합니다. 경계는 이후 메시지에서 해제할 때까지 유효합니다. 조건이 충족되었다는 Claude 자신의 판단으로는 해제되지 않습니다.

541 542 

542경계는 규칙으로 저장되지 않습니다. 분류기는 확인할 때마다 트랜스크립트에서 경계를 다시 읽으므로, [컨텍스트 압축](https://code.claude.com/docs/ko/costs.md#reduce-token-usage)으로 경계를 명시한 메시지가 제거되면 경계가 사라질 수 있습니다. 확실한 보장이 필요하다면 대신 [deny 규칙](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax)을 추가하십시오.543경계는 규칙으로 저장되지 않습니다. 분류기는 검사할 때마다 트랜스크립트에서 경계를 다시 읽으므로, [컨텍스트 압축](https://code.claude.com/docs/ko/costs.md#reduce-token-usage)이 경계를 명시한 메시지를 제거하면 경계가 사라질 수 있습니다. 확실한 보장이 필요하다면 대신 [deny 규칙](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax)을 추가하십시오.

543 544 

544### 대화에서 명시한 승인545### 대화에서 명시한 승인

545 546 

546차단된 작업이 허용된다고 Claude에게 말하면, 분류기는 이를 사용자의 승인으로 읽고 차단을 해제할 수 있습니다. 어떻게 표현했는지에 따라 작업의 실행 여부와 승인의 적용 범위가 결정됩니다.547차단된 작업이 허용된다고 Claude에게 말하면, 분류기는 이를 사용자의 승인으로 읽고 차단을 해제할 수 있습니다. 어떻게 표현했는지에 따라 작업의 실행 여부와 승인이 미치는 범위가 결정됩니다.

547 548 

548* **작업과 그 세부 사항을 명시하십시오**: 메시지에서 작업과 그 작업을 위험하게 만드는 구체적인 대상, 예를 들어 강제 푸시의 브랜치를 명시해야 합니다. 동사만 언급해서는 아무것도 해제되지 않으므로, "강제 푸시해도 돼"라고 하면 차단이 그대로 유지됩니다.549* **작업과 그 세부 사항을 명시하십시오**: 메시지에 작업과 함께, 강제 푸시의 브랜치처럼 그 작업을 위험하게 만드는 구체적인 대상을 명시해야 합니다. 동사만 명시하면 아무것도 해제되지 않으므로, "강제 푸시해도 돼"라고 하면 차단이 그대로 유지됩니다.

549* **하나의 작업에만 적용된다고 생각하십시오**: 승인은 사용자가 명시한 파괴적 작업에만 적용되므로, 승인을 지속적인 것으로 부여하지 않은 한 이후 작업은 다시 차단됩니다. 일상적인 패턴을 작업마다 하나씩 승인하지 않으려면 [`autoMode.allow`](https://code.claude.com/docs/ko/auto-mode-config#override-the-block-and-allow-rules)에 추가하십시오.550* **하나의 작업에만 적용된다고 생각하십시오**: 승인은 명시한 파괴적 작업에 적용되므로, 승인을 지속적인 것으로 부여하지 않았다면 이후의 작업은 다시 차단됩니다. 반복적인 패턴을 작업마다 하나씩 승인하지 않으려면 [`autoMode.allow`](https://code.claude.com/docs/ko/auto-mode-config#override-the-block-and-allow-rules)에 추가하십시오.

550* **일부 차단은 유지됩니다**: 승인으로 해제할 수 있는 차단은 [분류기의 우선순위](https://code.claude.com/docs/ko/auto-mode-config.md#override-the-block-and-allow-rules)에 정해져 있습니다. 승인으로 해제되지 않는 단계를 실행하려면 [자동 모드를 벗어나](#switch-permission-modes) 권한 프롬프트에 답하십시오.551* **일부 차단은 유지됩니다**: [분류기의 우선순위](https://code.claude.com/docs/ko/auto-mode-config.md#override-the-block-and-allow-rules)에 승인으로 해제할 수 있는 차단이 정리되어 있습니다. 승인으로 해제되지 않는 단계를 실행하려면 [자동 모드를 종료](#switch-permission-modes)하고 권한 프롬프트에 답하십시오.

551 552 

552### 자동 모드가 폴백하는 경우553### 자동 모드가 폴백하는 경우

553 554 

554자동 모드가 세션의 작업을 승인할 수 없을 때 일어나는 일은 경우에 따라 다릅니다.555자동 모드가 세션의 작업을 승인할 수 없을 때의 동작은 경우에 따라 다릅니다.

555 556 

556* **차단된 작업**: Claude Code는 알림을 표시하고 `/permissions`의 **Recently denied** 탭에 해당 작업을 나열합니다. 여기서 `r`을 눌러 수동 승인으로 재시도할 수 있습니다.557* **차단된 작업**: Claude Code가 알림을 표시하고 `/permissions`의 **Recently blocked** 탭에 작업을 나열하며, 그곳에서 [작업을 승인하여 Claude가 재시도하도록](https://code.claude.com/docs/ko/auto-mode-config.md#review-denials) 할 수 있습니다.

557* **반복된 차단**: 분류기가 작업을 연속 3회 또는 총 20회 차단하면 자동 모드가 일시 중지되고 Claude Code가 다시 확인을 요청합니다. 확인 요청된 작업을 승인하면 자동 모드가 재개됩니다. 차단 횟수를 세는 방법은 [반복 차단 임계값](#repeated-block-thresholds)을 참조하십시오.558* **반복된 차단**: 분류기가 작업을 연속 3회 또는 총 20회 차단하면 자동 모드가 일시 중지되고 Claude Code가 다시 확인을 요청합니다. 요청된 작업을 승인하면 자동 모드가 재개됩니다. 차단 횟수를 세는 방식은 [반복 차단 임계값](#repeated-block-thresholds)을 참조하십시오.

558* **분류기의 판정 없음**: 자동 모드와는 별개인 안전 확인이 분류기 자체의 요청을 거부하거나 분류기의 응답을 파싱할 수 없으면, Claude Code는 알림이나 **Recently denied** 항목 없이 작업을 거부합니다. 각 경우에 표시되는 메시지와 해결 방법은 [Auto mode cannot determine the safety of an action](https://code.claude.com/docs/ko/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)을 참조하십시오.559* **분류기의 판정 없음**: 자동 모드와 별개의 안전 검사가 분류기 자체의 요청을 거부하거나, 분류기의 응답을 파싱할 수 없는 경우, Claude Code는 알림이나 **Recently blocked** 항목 없이 작업을 차단합니다. 각 경우에 표시되는 메시지와 조치 방법은 [Auto mode cannot determine the safety of an action](https://code.claude.com/docs/ko/errors.md#auto-mode-cannot-determine-the-safety-of-an-action)을 참조하십시오.

559* **서버의 판정 없음**: [서버 측 분류기 검토](#server-side-classifier-review)에서 Claude Code는 서버가 판정을 내리지 않은 작업을 거부하고, 판정 없는 응답이 연속 10회 이어지면 턴을 중단합니다. [The server returned no safety verdict](https://code.claude.com/docs/ko/errors.md#the-server-returned-no-safety-verdict)를 참조하십시오.560* **서버의 판정 없음**: [서버 측 분류기 검토](#server-side-classifier-review)에서 Claude Code는 서버가 판정을 내리지 않은 작업을 거부하며, 판정 없는 응답이 연속 10회 이어지면 턴을 중단합니다. [서버가 안전 판정을 반환하지 않음](https://code.claude.com/docs/ko/errors.md#the-server-returned-no-safety-verdict)을 참조하십시오.

560* **확인 중 모드 전환**: 분류기 확인이 대기 중일 때 권한 모드를 전환하면, Claude Code는 새 모드에서는 요청하지 않았을 판정을 폐기합니다. 대신 승인 요청을 받거나, [`dontAsk` 모드](#allow-only-pre-approved-tools-with-dontask-mode)에서는 작업이 자동으로 거부됩니다.561* **검사 중 모드 전환**: 분류기 검사가 진행 중일 때 권한 모드를 전환하면, Claude Code는 새 모드에서라면 요청하지 않았을 판정을 폐기합니다. 대신 승인을 요청받거나, [`dontAsk` 모드](#allow-only-pre-approved-tools-with-dontask-mode)에서는 작업이 자동으로 거부됩니다.

561 562 

562#### 반복 차단 임계값563#### 반복 차단 임계값

563 564 

564연속 3회 차단과 총 20회 차단이라는 임계값은 구성할 수 없습니다. 총 카운터는 세션 동안 유지되며, 자체 한도로 인해 폴백이 발생할 때만 초기화됩니다. 자동 모드와는 별개인 안전 확인이 분류기 자체의 요청을 거부한 경우, Claude Code는 해당 거부를 어느 임계값에도 포함하지 않습니다.565연속 3회 차단 및 총 20회 차단이라는 임계값은 구성할 수 없습니다. 총 횟수 카운터는 세션 동안 유지되며, 자체 한도로 폴백이 발생할 때만 초기화됩니다. 자동 모드와 별개의 안전 검사가 분류기 자체의 요청을 거부한 경우, Claude Code는 해당 거부를 어느 임계값에도 포함하지 않습니다.

565 566 

566[`--permission-prompt-tool`](https://code.claude.com/docs/ko/cli-reference#cli-flags) 없는 [비대화형](https://code.claude.com/docs/ko/headless.md) `-p` 실행에는 폴백할 프롬프트가 없습니다. 반복된 차단이 임계값에 도달하면 해당 작업은 실행되지 않고 Claude는 작업을 계속합니다. Claude Code는 실행을 중단하지 않습니다.567[`--permission-prompt-tool`](https://code.claude.com/docs/ko/cli-reference#cli-flags)이 없는 [비대화형](https://code.claude.com/docs/ko/headless.md) `-p` 실행에는 폴백할 프롬프트가 없습니다. 반복된 차단이 임계값에 도달하면 작업은 실행되지 않고 Claude는 계속 작업합니다. Claude Code는 실행을 중단하지 않습니다.

567 568 

568반복된 차단은 대개 분류기에 인프라에 대한 컨텍스트가 부족하다는 의미입니다. `/feedback`을 사용하여 오탐을 보고하거나, 관리자에게 [신뢰할 수 있는 인프라를 구성](https://code.claude.com/docs/ko/auto-mode-config.md)하도록 요청하십시오.569반복된 차단은 대개 분류기에 인프라에 대한 컨텍스트가 부족하다는 의미입니다. `/feedback`을 사용하여 오탐을 보고하거나, 관리자에게 [신뢰할 수 있는 인프라 구성](https://code.claude.com/docs/ko/auto-mode-config.md)을 요청하십시오.

569 570 

570### 자동 모드가 작업을 평가하는 방식571### 자동 모드가 작업을 평가하는 방식

571 572 

572다음 섹션에서는 Claude Code가 작업을 평가하는 순서, 분류기가 서브에이전트 작업을 검토하는 방식, 분류기 호출로 추가되는 비용과 지연 시간을 다룹니다.573다음 섹션에서는 Claude Code가 작업을 평가하는 순서, 분류기가 서브에이전트 작업을 검토하는 방식, 그리고 분류기 호출로 추가되는 비용과 지연 시간을 설명합니다.

573 574 

574> [accordion] 분류기가 작업을 평가하는 방식575> [accordion] 분류기가 작업을 평가하는 방식

575>576>

576> 각 작업은 고정된 결정 순서를 거칩니다. 처음으로 일치하는 단계가 적용됩니다.577> 각 작업은 고정된 결정 순서를 거칩니다. 처음으로 일치하는 단계가 적용됩니다.

577>578>

578> 1. [allow, ask 또는 deny 규칙](https://code.claude.com/docs/ko/permissions.md#manage-permissions)과 일치하는 작업은 즉시 처리되며, 다음과 같은 예외가 있습니다.579> 1. [allow, ask 또는 deny 규칙](https://code.claude.com/docs/ko/permissions.md#manage-permissions)과 일치하는 작업은 즉시 처리되며, 다음과 같은 예외가 있습니다.

579> * [보호된 경로](#protected-paths)에 대한 쓰기는 allow 규칙과 일치하더라도 분류기로 전달됩니다. 보호된 경로가 심볼릭 링크된 설정 파일이 가리키는 파일인 경우, [보호된 경로](#protected-paths) 목록에 설명된 대로 대신 확인을 요청할 수 있습니다580> * [보호된 경로](#protected-paths)에 대한 쓰기는 allow 규칙이 일치하더라도 분류기로 전달됩니다. 보호된 경로가 심볼릭 링크된 설정 파일이 가리키는 파일인 경우, [보호된 경로](#protected-paths) 목록에 설명된 대로 쓰기 시 대신 확인을 요청할 수 있습니다

580> * 어떤 allow 규칙도 인식된 `rm` 및 `rmdir` [중요 경로 삭제](#critical-paths)를 승인하지 않습니다581> * 어떤 allow 규칙도 인식된 `rm` 및 `rmdir` [핵심 경로 삭제](#critical-paths)를 승인하지 않습니다

581> * [`requiresUserInteraction`](https://code.claude.com/docs/ko/mcp#require-approval-for-a-specific-tool)으로 표시된 MCP 도구는 allow 규칙과 일치하더라도 직접 확인을 요청하며, 해당 설정이 Claude Code에 적용되는 세션에서 [조직이 `ask`로 설정한](https://code.claude.com/docs/ko/mcp#organization-controls-on-connector-tools) 커넥터 도구도 마찬가지입니다582> * [`requiresUserInteraction`](https://code.claude.com/docs/ko/mcp#require-approval-for-a-specific-tool)으로 표시된 MCP 도구는 allow 규칙이 일치하더라도 직접 확인을 요청하며, 해당 설정이 Claude Code에 도달하는 세션에서 [조직이 `ask`로 설정한](https://code.claude.com/docs/ko/mcp#organization-controls-on-connector-tools) 커넥터 도구도 마찬가지입니다

582> * [명령별 허용 도메인](https://code.claude.com/docs/ko/sandboxing.md#per-command-allowed-domains-in-auto-mode)을 포함하는 셸 명령도 allow 규칙과 일치하더라도 분류기로 전달됩니다. 규칙은 명령을 승인할 뿐 그 호스트를 승인하지 않기 때문입니다583> * [명령별 허용 도메인](https://code.claude.com/docs/ko/sandboxing.md#per-command-allowed-domains-in-auto-mode)을 포함하는 셸 명령도 allow 규칙이 일치하더라도 분류기로 전달됩니다. 규칙은 명령을 승인할 뿐 해당 호스트를 승인하지는 않기 때문입니다

583> * `Bash(git push *)`처럼 명령의 내용과 매칭되는 ask 규칙은 권한 프롬프트로 폴백합니다584> * `Bash(git push *)`처럼 명령의 내용과 일치하는 ask 규칙은 권한 프롬프트로 폴백합니다

584> * [심볼릭 링크 확인](https://code.claude.com/docs/ko/permissions.md#symlinks)에서 보호된 경로로 확인되는 쓰기는, Claude가 요청한 경로 자체가 보호되지 않은 경우 확인을 요청합니다585> * [심볼릭 링크 검사](https://code.claude.com/docs/ko/permissions.md#symlinks)가 보호된 경로로 확인한 쓰기는, Claude가 요청한 경로 자체가 보호되지 않은 경우 확인을 요청합니다

585> * [네트워크 경로](https://code.claude.com/docs/ko/permissions.md#network-paths)에서의 읽기는 allow 규칙과 일치하더라도 확인을 요청합니다586> * [네트워크 경로](https://code.claude.com/docs/ko/permissions.md#network-paths)에서의 읽기는 allow 규칙이 일치하더라도 확인을 요청합니다

586> 2. 작업 디렉터리 내의 읽기 전용 작업과 파일 편집은 자동 승인됩니다. 단, [보호된 경로](#protected-paths)에 대한 쓰기와 확인을 요청하는 [작업 디렉터리 밖의 첫 번째 읽기](#first-read-outside-the-working-directories)는 예외입니다587> 2. 작업 디렉터리 내의 읽기 전용 작업과 파일 편집은 자동으로 승인됩니다. 단, [보호된 경로](#protected-paths)에 대한 쓰기와 확인을 요청하는 [작업 디렉터리 밖의 첫 번째 읽기](#first-read-outside-the-working-directories)는 예외입니다

587> * [서버 측 분류기 검토](#server-side-classifier-review)가 적용되는 세션에서는 읽기 전용 셸 명령과 [샌드박스 처리된](https://code.claude.com/docs/ko/sandboxing.md#sandbox-modes) 셸 명령이 해당 검토를 기다리며, 검토에서 문제가 지적되면 차단됩니다588> * [서버 측 분류기 검토](#server-side-classifier-review)가 적용되는 세션에서는 읽기 전용 셸 명령과 [샌드박스된](https://code.claude.com/docs/ko/sandboxing.md#sandbox-modes) 셸 명령이 해당 검토를 기다리며, 검토에서 문제가 지적되면 차단됩니다

588> * [심볼릭 링크 확인](https://code.claude.com/docs/ko/permissions.md#symlinks)에서 작업 디렉터리 밖의 위치로 확인되는 작업 디렉터리 내 쓰기는 확인을 요청합니다589> * [심볼릭 링크 검사](https://code.claude.com/docs/ko/permissions.md#symlinks)가 작업 디렉터리 밖의 위치로 확인한 작업 디렉터리 내의 쓰기는 확인을 요청합니다

589> * Claude가 [다른 사람이 만든 아티팩트](https://code.claude.com/docs/ko/artifacts.md#read-an-artifact-shared-with-you)를 읽는 경우, 해당 섹션에 나열된 승인 사례가 적용됩니다590> * Claude가 [다른 사람이 만든 아티팩트](https://code.claude.com/docs/ko/artifacts.md#read-an-artifact-shared-with-you)를 읽을 때는 해당 섹션에 나열된 승인 사례가 적용됩니다

590> * [네트워크 경로](https://code.claude.com/docs/ko/permissions.md#network-paths)에서의 읽기는 확인을 요청합니다591> * [네트워크 경로](https://code.claude.com/docs/ko/permissions.md#network-paths)에서의 읽기는 확인을 요청합니다

591> 3. 기본 처리 방식이 적용되는 [중요 경로 삭제](#critical-paths)를 제외한 나머지는 모두 분류기로 전달됩니다. 1단계에서 직접 확인을 요청하는 커넥터 도구와 `requiresUserInteraction` MCP 도구도 분류기에 도달하지 않으므로, 조직이 요구한 승인이나 동의 단계는 자동 승인되지 않습니다592> 3. 기본 처리 방식이 적용되는 [핵심 경로 삭제](#critical-paths)를 제외한 나머지는 모두 분류기로 전달됩니다. 1단계에서 직접 확인을 요청하는 커넥터 도구와 `requiresUserInteraction` MCP 도구도 분류기에 도달하지 않으므로, 조직이 요구하는 승인이나 동의 단계가 자동으로 승인되는 일은 없습니다

592> 4. 분류기가 차단하면 Claude는 그 이유를 받습니다. 대부분의 세션에서 이유는 서술된 설명 대신 `[Data Exfiltration]`처럼 분류기가 매칭한 규칙의 이름입니다. [거부 검토](https://code.claude.com/docs/ko/auto-mode-config.md#review-denials)를 참조하십시오593> 4. 분류기가 차단하면 Claude가 그 이유를 받습니다. 대부분의 세션에서 이유는 서술형 설명이 아니라 `[Data Exfiltration]`처럼 분류기가 일치시킨 규칙의 이름으로 제공됩니다. [거부 검토](https://code.claude.com/docs/ko/auto-mode-config.md#review-denials)를 참조하십시오

593>594>

594> `tool.check`를 처리하는 설치된 [mod](https://code.claude.com/docs/ko/plugins/mods/overview.md)도 작업을 승인할 수 있습니다. 해당 승인이 규칙과 훅을 통과하지 못하는 경우는 [훅으로 권한 확장](https://code.claude.com/docs/ko/permissions.md#precedence-among-rules-hooks-and-mods)을 참조하십시오.595> 설치한 [mod](https://code.claude.com/docs/ko/plugins/mods/overview.md)가 `tool.check`를 처리하는 경우 해당 mod도 작업을 승인할 수 있습니다. mod의 승인이 규칙과 훅을 통과하지 못하는 경우는 [훅으로 권한 확장](https://code.claude.com/docs/ko/permissions.md#precedence-among-rules-hooks-and-mods)을 참조하십시오.

595>596>

596> VS Code 확장 프로그램에서 [Claude in Chrome](https://code.claude.com/docs/ko/chrome.md) 브라우저 작업이 승인되는 방식은 [VS Code 세션의 권한 프롬프트](https://code.claude.com/docs/ko/chrome.md#permission-prompts-in-vs-code-sessions)를 참조하십시오.597> VS Code 확장 프로그램에서 [Claude in Chrome](https://code.claude.com/docs/ko/chrome.md) 브라우저 작업이 승인되는 방식은 [VS Code 세션의 권한 프롬프트](https://code.claude.com/docs/ko/chrome.md#permission-prompts-in-vs-code-sessions)를 참조하십시오.

597>598>

598> 자동 모드에 진입하면 임의의 코드 실행을 허용하는 광범위한 allow 규칙이 제외됩니다.599> 자동 모드에 진입하면 임의의 코드 실행을 허용하는 광범위한 allow 규칙이 제외됩니다.

599>600>

600> * 전면적인 `Bash(*)` 또는 `PowerShell(*)`601> * 포괄적인 `Bash(*)` 또는 `PowerShell(*)`

601> * `Bash(python*)` 같은 와일드카드 인터프리터602> * `Bash(python*)` 같은 와일드카드 인터프리터

602> * 패키지 매니저 실행 명령603> * 패키지 관리자 실행 명령

603> * `Agent` allow 규칙604> * `Agent` allow 규칙

604> * [`Monitor`](https://code.claude.com/docs/ko/tools-reference#monitor-tool) allow 규칙. Claude Code는 Monitor 명령을 셸을 통해 실행하기 때문입니다605> * [`Monitor`](https://code.claude.com/docs/ko/tools-reference#monitor-tool) allow 규칙. Claude Code가 Monitor 명령을 셸을 통해 실행하기 때문입니다

605>606>

606> `Bash(npm test)` 같은 좁은 규칙은 그대로 유효합니다. 자동 모드를 벗어나면 Claude Code가 제외된 규칙을 복원합니다. v2.1.236 이전에는 Claude Code가 자동 모드에서 `Monitor` allow 규칙을 유효하게 유지했으므로, 도구 전체와 일치하는 규칙이 분류기 검토 없이 Monitor 명령을 승인했습니다.607> `Bash(npm test)` 같은 좁은 규칙은 그대로 유지됩니다. 자동 모드를 종료하면 Claude Code가 제외된 규칙을 복원합니다. v2.1.236 이전에는 Claude Code가 자동 모드에서 `Monitor` allow 규칙을 유지했기 때문에, 도구 전체와 일치하는 규칙이 분류기 검토 없이 Monitor 명령을 승인했습니다.

607>608>

608> Claude Code는 또한 `git reset --hard`나 `rm -rf`처럼 커밋되지 않은 작업을 버릴 수 있는 명령 전에 직접 `git status`를 실행하여, 스테이징된 작업, 수정된 작업 또는 추적되지 않은 작업이 있는지를 분류기에 보여 줍니다. Claude Code는 저장소의 git 구성에서 `status.showUntrackedFiles=no`를 설정한 경우에도 해당 확인에서 추적되지 않은 파일을 보고합니다.609> Claude Code는 또한 `git reset --hard`나 `rm -rf`처럼 커밋되지 않은 작업을 버릴 수 있는 명령 전에 직접 `git status`를 실행하고, 스테이징되었거나 수정되었거나 추적되지 않은 작업이 있는지 분류기에 보여 줍니다. 저장소의 git 구성이 `status.showUntrackedFiles=no`로 설정되어 있어도 Claude Code는 이 검사에서 추적되지 않은 파일을 보고합니다.

609>610>

610> Claude Code 자체가 보내는 분류기 요청에서 분류기는 사용자 메시지, 파일 읽기 및 검색 같은 읽기 전용 조회를 제외한 도구 호출, 그리고 CLAUDE.md 내용을 봅니다. 이러한 요청에서는 도구 결과가 제거되므로, 파일이나 웹 페이지의 악의적인 콘텐츠가 분류기를 직접 조작할 수 없습니다.611> Claude Code 자체가 보내는 분류기 요청에서 분류기는 사용자 메시지, 파일 읽기 및 검색 같은 읽기 전용 조회를 제외한 도구 호출, 그리고 CLAUDE.md 내용을 봅니다. 이러한 요청에서는 도구 결과가 제거되므로, 파일이나 웹 페이지의 악의적인 콘텐츠가 분류기를 직접 조작할 수 없습니다.

611>612>

612> [PostToolUse 훅의 `classifierContext` 필드](https://code.claude.com/docs/ko/hooks#annotate-a-result-for-the-auto-mode-classifier)로 호출 결과에 주석을 달 수 있으며, 분류기는 이를 애플리케이션이 제공한 컨텍스트로 읽습니다. 이 필드에는 Claude Code v2.1.236 이상이 필요합니다.613> [PostToolUse 훅의 `classifierContext` 필드](https://code.claude.com/docs/ko/hooks#annotate-a-result-for-the-auto-mode-classifier)로 호출 결과에 주석을 달 수 있으며, 분류기는 이를 애플리케이션이 제공한 컨텍스트로 읽습니다. 이 필드에는 Claude Code v2.1.236 이상이 필요합니다.

613>614>

614> 별도의 서버 측 프로브가 들어오는 도구 결과를 검사하여 Claude가 읽기 전에 의심스러운 콘텐츠를 표시합니다. 이러한 계층이 함께 작동하는 방식에 대한 자세한 내용은 [자동 모드 발표](https://claude.com/blog/auto-mode)와 [엔지니어링 심층 분석](https://www.anthropic.com/engineering/claude-code-auto-mode)을 참조하십시오.615> 별도의 서버 측 프로브가 들어오는 도구 결과를 스캔하여 Claude가 읽기 전에 의심스러운 콘텐츠를 표시합니다. 이러한 계층이 함께 작동하는 방식에 대한 자세한 내용은 [자동 모드 발표](https://claude.com/blog/auto-mode)와 [엔지니어링 심층 분석](https://www.anthropic.com/engineering/claude-code-auto-mode)을 참조하십시오.

615 616 

616> [accordion] 자동 모드가 서브에이전트를 처리하는 방식617> [accordion] 자동 모드가 서브에이전트를 처리하는 방식

617>618>

618> 분류기는 세 시점에서 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md) 작업을 확인합니다.619> 분류기는 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md) 작업을 세 시점에서 검사합니다.

619>620>

620> 1. 서브에이전트가 시작되기 전에 위임된 작업 설명이 평가되므로, 위험해 보이는 작업은 생성 시점에 차단됩니다.621> 1. 서브에이전트가 시작되기 전에 위임된 작업 설명이 평가되므로, 위험해 보이는 작업은 생성 시점에 차단됩니다.

621> 2. 서브에이전트가 실행되는 동안 각 작업은 부모 세션과 동일한 [결정 순서](#how-the-classifier-evaluates-actions)를 동일한 차단 및 허용 규칙으로 거칩니다. 서브에이전트의 frontmatter에 있는 `permissionMode`는 무시됩니다.622> 2. 서브에이전트가 실행되는 동안 각 작업은 상위 세션과 동일한 [결정 순서](#how-the-classifier-evaluates-actions)를 거치며, 동일한 차단 및 허용 규칙이 적용됩니다. 서브에이전트의 frontmatter에 있는 `permissionMode`는 무시됩니다.

622> 3. 서브에이전트가 완료되면, 부모가 보고서를 읽기 전에 분류기가 서브에이전트의 작업과 최종 보고서를 검토합니다. 분류기가 서브에이전트의 작업이나 보고서에서 문제를 지적하거나 별도의 API 안전 확인이 검토를 거부하는 경우에도 보고서는 전달되지만, 앞부분에 보안 경고가 추가됩니다. 검토에 분류기를 사용할 수 없는 경우, 보고서에는 이를 바탕으로 조치하기 전에 서브에이전트의 작업을 확인하라는 메모가 함께 전달됩니다.623> 3. 서브에이전트가 완료되면, 상위 세션이 보고서를 읽기 전에 분류기가 서브에이전트의 작업과 최종 보고서를 검토합니다. 분류기가 서브에이전트의 작업이나 보고서에 문제를 지적하거나, 별도의 API 안전 검사가 검토를 거부하는 경우에도 보고서는 보안 경고가 앞에 추가된 채로 전달됩니다. 검토 시 분류기를 사용할 수 없는 경우, 보고서는 이를 기반으로 행동하기 전에 서브에이전트의 작업을 확인하라는 메모와 함께 전달됩니다.

623 624 

624> [accordion] 비용 및 지연 시간625> [accordion] 비용 및 지연 시간

625>626>

626> Claude Code의 분류기 요청은 `/model`에서 선택한 모델이 아닌 다른 모델에서 실행될 수 있습니다. [어떤 모델에서 실행되는지](#default-classifier-model)를 참조하십시오.627> Claude Code의 분류기 요청은 `/model`에서 선택한 모델과 다른 모델에서 실행될 수 있습니다. [어떤 모델에서 실행되는지](#default-classifier-model)를 참조하십시오.

627>628>

628> Enterprise 플랜과 Claude API, [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry를 사용하는 계정에서는 분류기 호출이 토큰 사용량에 포함됩니다. 각 확인은 트랜스크립트의 일부와 대기 중인 작업을 전송하므로 실행 전에 왕복 과정이 추가됩니다. 보호된 경로 밖의 읽기와 작업 디렉터리 편집은 분류기를 건너뛰므로, 오버헤드는 주로 셸 명령과 네트워크 작업에서 발생합니다. 서버가 세션의 모델 요청의 일부로 작업을 검토하는 경우에는 집계할 별도의 분류기 호출이 없습니다. [서버 측 분류기 검토](#server-side-classifier-review)를 참조하십시오.629> Enterprise 플랜과 Claude API, [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform 또는 Microsoft Foundry를 사용하는 계정에서는 분류기 호출이 토큰 사용량에 포함됩니다. 각 검사는 트랜스크립트의 일부와 대기 중인 작업을 전송하므로, 실행 전에 왕복 시간이 추가됩니다. 보호된 경로 밖의 읽기와 작업 디렉터리 편집은 분류기를 건너뛰므로, 오버헤드는 주로 셸 명령과 네트워크 작업에서 발생합니다. 서버가 세션의 모델 요청의 일부로 작업을 검토하는 경우에는 별도로 집계되는 분류기 호출이 없습니다. [서버 측 분류기 검토](#server-side-classifier-review)를 참조하십시오.

629>630>

630> 샌드박스 처리된 네트워크 접근은 연결마다 분류기 요청을 추가하지 않습니다. 분류기는 [명령이 명시한 호스트](https://code.claude.com/docs/ko/sandboxing.md#per-command-allowed-domains-in-auto-mode)를 명령과 함께 한 번의 검토로 판단하며, Claude Code는 분류기를 다시 호출하지 않고 승인된 목록에 따라 각 연결을 확인합니다.631> 샌드박스된 네트워크 접근은 연결별 분류기 요청을 추가하지 않습니다. 분류기는 [명령이 명시한 호스트](https://code.claude.com/docs/ko/sandboxing.md#per-command-allowed-domains-in-auto-mode)를 한 번의 검토에서 명령과 함께 판단하며, Claude Code는 분류기를 다시 호출하지 않고 승인된 목록과 대조하여 각 연결을 확인합니다.

631 632 

632## dontAsk 모드로 사전 승인된 도구만 허용633## dontAsk 모드로 사전 승인된 도구만 허용

633 634 


738 739 

739[`--restricted`](https://code.claude.com/docs/ko/cli-reference#cli-flags)로 시작된 세션에서(Claude Code v2.1.248 이상 필요) 분류기는 보호된 경로 쓰기를 승인할 수 없습니다.740[`--restricted`](https://code.claude.com/docs/ko/cli-reference#cli-flags)로 시작된 세션에서(Claude Code v2.1.248 이상 필요) 분류기는 보호된 경로 쓰기를 승인할 수 없습니다.

740 741 

742[`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockwritesoutsideworkingdirectories)가 켜져 있는 동안 Claude Code는 모든 권한 모드에서 설정 파일에 대한 `Write`, `Edit`, `NotebookEdit` 쓰기를 거부합니다.

743 

741보호된 경로 쓰기를 분류기로 라우팅하는 모드에서는 [symlink check](https://code.claude.com/docs/ko/permissions.md#symlinks)가 보호된 경로로 확인하는 쓰기가 Claude가 요청한 경로 자체가 보호되지 않을 때 대신 프롬프트를 표시합니다.744보호된 경로 쓰기를 분류기로 라우팅하는 모드에서는 [symlink check](https://code.claude.com/docs/ko/permissions.md#symlinks)가 보호된 경로로 확인하는 쓰기가 Claude가 요청한 경로 자체가 보호되지 않을 때 대신 프롬프트를 표시합니다.

742 745 

743설정 파일의 [`permissions.allow`](https://code.claude.com/docs/ko/permissions#manage-permissions) 규칙은 보호된 경로 쓰기를 사전에 승인하지 않습니다. 안전 확인은 Claude Code가 설정에서 allow 규칙을 평가하기 전에 실행되므로, `~/.claude/settings.json` 또는 `.claude/settings.json`의 `Edit(.claude/**)` 같은 항목은 위 표의 모드별 결과를 변경하지 않습니다. 프롬프트를 표시하는 모드에서는 프로젝트의 `.claude/` 폴더 또는 `~/.claude/`에 대한 쓰기 프롬프트가 다음 세션 범위 옵션 중 하나를 제공할 수 있습니다:746설정 파일의 [`permissions.allow`](https://code.claude.com/docs/ko/permissions#manage-permissions) 규칙은 보호된 경로 쓰기를 사전에 승인하지 않습니다. 안전 확인은 Claude Code가 설정에서 allow 규칙을 평가하기 전에 실행되므로, `~/.claude/settings.json` 또는 `.claude/settings.json`의 `Edit(.claude/**)` 같은 항목은 위 표의 모드별 결과를 변경하지 않습니다. 프롬프트를 표시하는 모드에서는 프로젝트의 `.claude/` 폴더 또는 `~/.claude/`에 대한 쓰기 프롬프트가 다음 세션 범위 옵션 중 하나를 제공할 수 있습니다:


776* `.devcontainer.json`779* `.devcontainer.json`

777* `.ripgreprc`, `pyrightconfig.json`780* `.ripgreprc`, `pyrightconfig.json`

778* `.mcp.json`, `.claude.json`781* `.mcp.json`, `.claude.json`

782* `~/.claude` 또는 [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ko/env-vars)이 가리키는 디렉토리에 있는 `remote-settings.json`(조직의 [서버 관리 설정](https://code.claude.com/docs/ko/server-managed-settings.md)의 저장된 사본)과 Claude Code가 이와 함께 보관하는 서명, 동기화, 동의 파일

779* 세션을 시작할 때 [`--settings`](https://code.claude.com/docs/ko/cli-reference#cli-flags), `--mcp-config` 또는 `--agents`에 전달한 파일783* 세션을 시작할 때 [`--settings`](https://code.claude.com/docs/ko/cli-reference#cli-flags), `--mcp-config` 또는 `--agents`에 전달한 파일

780* 사용자, 프로젝트 또는 로컬 [설정 파일](https://code.claude.com/docs/ko/settings.md#settings-files-and-who-they-affect) 자체가 심볼릭 링크일 때(예: dotfiles 저장소로 연결되는 경우) 해당 설정 파일이 가리키는 파일. 보호된 경로 쓰기를 분류기로 라우팅하는 모드에서는 allow 규칙이 일치하더라도 이 파일에 대한 쓰기는 대신 확인을 요청합니다. 파일 자체의 경로가 다른 폴더의 `.claude/settings.json`처럼 설정 파일의 경로이기도 한 경우, 해당 쓰기는 다른 보호된 경로 쓰기와 마찬가지로 분류기로 전달됩니다784* 사용자, 프로젝트 또는 로컬 [설정 파일](https://code.claude.com/docs/ko/settings.md#settings-files-and-who-they-affect) 자체가 심볼릭 링크일 때(예: dotfiles 저장소로 연결되는 경우) 해당 설정 파일이 가리키는 파일. 보호된 경로 쓰기를 분류기로 라우팅하는 모드에서는 allow 규칙이 일치하더라도 이 파일에 대한 쓰기는 대신 확인을 요청합니다. 파일 자체의 경로가 다른 폴더의 `.claude/settings.json`처럼 설정 파일의 경로이기도 한 경우, 해당 쓰기는 다른 보호된 경로 쓰기와 마찬가지로 분류기로 전달됩니다

781 785 

permissions.md +9 −2

Details

668 668 

669대부분의 [네트워크 경로](https://code.claude.com/docs/ko/errors.md#working-directory-is-a-network-path)(예: UNC 공유 `\\server\share`)는 작업 디렉토리로 추가할 수 없습니다. 이는 조회 시 이름이 지정하는 호스트에 연결할 수 있기 때문입니다. Windows에서는 대신 공유를 드라이브 문자로 매핑하고 시작 시 `--add-dir`으로 드라이브를 전달합니다.669대부분의 [네트워크 경로](https://code.claude.com/docs/ko/errors.md#working-directory-is-a-network-path)(예: UNC 공유 `\\server\share`)는 작업 디렉토리로 추가할 수 없습니다. 이는 조회 시 이름이 지정하는 호스트에 연결할 수 있기 때문입니다. Windows에서는 대신 공유를 드라이브 문자로 매핑하고 시작 시 `--add-dir`으로 드라이브를 전달합니다.

670 670 

671[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)를 설정하여 파일 도구가 모든 권한 모드에서 경계를 지은 경로를 거부하도록 합니다. 자동 모드에서 Claude Code는 Claude가 [작업 디렉토리 외부에서 읽을](https://code.claude.com/docs/ko/permission-modes.md#first-read-outside-the-working-directories) 때 처음으로 이를 켜도록 제안합니다.

672 

673macOS의 백그라운드 세션에서 세션 호스트는 Claude가 파일을 읽거나 쓸 필요가 있을 때 터미널과 별도로 `~/Desktop`, `~/Documents`, `~/Downloads`와 같은 보호된 폴더에 대한 액세스를 요청합니다. 읽기가 `Operation not permitted`로 실패하면 [백그라운드 세션에 폴더 액세스를 부여하는 방법](https://code.claude.com/docs/ko/agent-view.md#background-sessions-can%E2%80%99t-read-desktop-documents-or-downloads-on-macos)을 참조하세요.671macOS의 백그라운드 세션에서 세션 호스트는 Claude가 파일을 읽거나 쓸 필요가 있을 때 터미널과 별도로 `~/Desktop`, `~/Documents`, `~/Downloads`와 같은 보호된 폴더에 대한 액세스를 요청합니다. 읽기가 `Operation not permitted`로 실패하면 [백그라운드 세션에 폴더 액세스를 부여하는 방법](https://code.claude.com/docs/ko/agent-view.md#background-sessions-can%E2%80%99t-read-desktop-documents-or-downloads-on-macos)을 참조하세요.

674 672 

673### 작업 디렉터리 외부의 파일 도구 읽기 및 쓰기 차단

674 

675`bypassPermissions`를 포함한 모든 권한 모드에서 Claude의 파일 도구가 작업 디렉터리 외부의 경로를 거부하도록 하려면 다음 키 중 하나 또는 둘 다를 `true`로 설정합니다:

676 

677* **[`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)**: Claude Code 자체에 필요한 파일을 제외하고 파일 도구가 해당 위치의 읽기를 거부합니다. 자동 모드에서 Claude Code는 Claude가 처음으로 [작업 디렉터리 외부에서 읽을](https://code.claude.com/docs/ko/permission-modes.md#first-read-outside-the-working-directories) 때 이를 켜도록 제안합니다.

678* **[`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockwritesoutsideworkingdirectories)**: 플랜 파일과 같은 Claude Code 자체 파일 일부를 제외하고 `Write`, `Edit`, `NotebookEdit` 도구가 해당 위치의 쓰기를 거부합니다. 이 키는 셸 명령, MCP 도구 또는 훅이 실행하는 프로그램을 제한하지 않으므로, 셸 명령이 쓰는 위치를 제한하려면 [샌드박싱](https://code.claude.com/docs/ko/sandboxing.md)을 사용합니다. Claude Code v2.1.314 이상이 필요합니다.

679 

680두 키 중 하나가 `true`인 상태에서 외부 디렉터리 하나에 계속 접근할 수 있도록 하려면 [해당 디렉터리를 작업 디렉터리로 추가](https://code.claude.com/docs/ko/settings-reference.md#let-one-directory-through-the-read-or-write-block)합니다.

681 

675### 세션을 다른 디렉토리로 이동682### 세션을 다른 디렉토리로 이동

676 683 

677세션을 다른 기본 작업 디렉터리로 이동하려면, 현재 디렉터리 옆에 [디렉터리를 추가](#working-directories)하는 대신 `/cd <path>`를 실행합니다. Claude Code는 대화를 유지하고, 새 디렉터리의 `CLAUDE.md`를 로드하며, 이전에 작업하지 않은 경우 [워크스페이스를 신뢰](#project-allow-rules-and-workspace-trust)하도록 요청합니다. 그 후 Claude Code는 새 디렉터리에서 `--resume`을 실행할 때 [이동된 세션을 찾습니다](https://code.claude.com/docs/ko/sessions.md#where-the-session-picker-looks).684세션을 다른 기본 작업 디렉터리로 이동하려면, 현재 디렉터리 옆에 [디렉터리를 추가](#working-directories)하는 대신 `/cd <path>`를 실행합니다. Claude Code는 대화를 유지하고, 새 디렉터리의 `CLAUDE.md`를 로드하며, 이전에 작업하지 않은 경우 [워크스페이스를 신뢰](#project-allow-rules-and-workspace-trust)하도록 요청합니다. 그 후 Claude Code는 새 디렉터리에서 `--resume`을 실행할 때 [이동된 세션을 찾습니다](https://code.claude.com/docs/ko/sessions.md#where-the-session-picker-looks).

Details

54 54 

55기본적으로 Claude Code는 공식 마켓플레이스인 `claude-plugins-official`을 추가합니다. 나열된 대부분의 내용은 Anthropic이 아닌 파트너 및 기타 작성자에게서 제공됩니다: 도구 공급업체는 Claude Code를 자신의 서비스에 연결하는 플러그인을 발행하고, Anthropic은 `commit-commands`, `code-review`, `feature-dev` 및 [언어 서버 플러그인](https://code.claude.com/docs/ko/plugins/code-intelligence.md)과 같은 더 작은 자신의 세트를 유지 관리합니다. 카탈로그는 자주 변경되므로 이 페이지에는 나열되지 않습니다.55기본적으로 Claude Code는 공식 마켓플레이스인 `claude-plugins-official`을 추가합니다. 나열된 대부분의 내용은 Anthropic이 아닌 파트너 및 기타 작성자에게서 제공됩니다: 도구 공급업체는 Claude Code를 자신의 서비스에 연결하는 플러그인을 발행하고, Anthropic은 `commit-commands`, `code-review`, `feature-dev` 및 [언어 서버 플러그인](https://code.claude.com/docs/ko/plugins/code-intelligence.md)과 같은 더 작은 자신의 세트를 유지 관리합니다. 카탈로그는 자주 변경되므로 이 페이지에는 나열되지 않습니다.

56 56 

57포함된 내용을 보려면 Claude Code 세션에서 `/plugin`의 **발견** 탭을 사용하십시오. 이를 검색하거나 웹에서 [Claude 마켓플레이스](https://claude.com/marketplace/plugins)를 찾아볼 수 있습니다.57포함된 내용을 보려면 Claude Code 세션에서 `/plugin`의 **Discover** 탭을 사용하십시오. 이를 검색하거나 웹에서 [Claude 마켓플레이스](https://claude.com/marketplace/plugins)를 찾아볼 수 있습니다.

58 58 

59## Anthropic의 마켓플레이스에서 찾아보기 및 설치59## Anthropic의 마켓플레이스에서 찾아보기 및 설치

60 60 


73 73 

74커뮤니티 마켓플레이스는 추가할 때까지 등록되지 않습니다. Claude Code 세션에서 `/plugin marketplace add anthropics/claude-plugins-community`를 실행한 다음 `@claude-community` 접미사로 설치합니다.74커뮤니티 마켓플레이스는 추가할 때까지 등록되지 않습니다. Claude Code 세션에서 `/plugin marketplace add anthropics/claude-plugins-community`를 실행한 다음 `@claude-community` 접미사로 설치합니다.

75 75 

76`claude-plugins-official`이 `/plugin`의 **마켓플레이스** 탭에 없으면 `/plugin marketplace add anthropics/claude-plugins-official`로 같은 방식으로 추가합니다.76`claude-plugins-official`이 `/plugin`의 **Marketplaces** 탭에 없으면 `/plugin marketplace add anthropics/claude-plugins-official`로 같은 방식으로 추가합니다.

77 77 

78`not found` 오류 및 추가되지 않는 마켓플레이스는 [플러그인 문제 해결](https://code.claude.com/docs/ko/plugins/troubleshooting.md#install-a-plugin)을 참조합니다.78`not found` 오류 및 추가되지 않는 마켓플레이스는 [플러그인 문제 해결](https://code.claude.com/docs/ko/plugins/troubleshooting.md#install-a-plugin)을 참조합니다.

79 79 

Details

256 256 

257### 백그라운드 작업 중지하기257### 백그라운드 작업 중지하기

258 258 

259타이머는 모듈이 다시 로드될 때 중지됩니다. 훅 내부의 장기 실행 작업의 경우, [`next.signal`](https://code.claude.com/docs/ko/plugins/mods/reference#the-hook-function)은 사용자가 중단하는 경우처럼 훅이 처리 중인 이벤트가 중단될 때 abort되는 `AbortSignal`이므로, 장기 실행되는 모든 작업에 이를 전달하십시오.259타이머는 모듈이 다시 로드되면 중지됩니다. 훅 내부에서 장시간 실행되는 작업의 경우, [`next.signal`](https://code.claude.com/docs/ko/plugins/mods/reference#the-hook-function)은 훅이 처리 중인 이벤트가 중단될 때(예: 사용자가 작업을 중단할 때) 중단되는 `AbortSignal`입니다. 장시간 실행되는 모든 작업에 이를 전달하십시오.

260 260 

261### 사용자가 턴을 중단한 후의 호출과 백그라운드 작업261### 사용자가 턴을 중단한 후의 호출과 백그라운드 작업

262 262 

Details

738})738})

739```739```

740 740 

741이제 Claude Code는 `ui.render` 훅을 1초에 한 번씩 실행합니다. 타이머는 모듈이 다시 로드되면 중지되며, 모듈의 새 인스턴스가 자체 타이머를 시작합니다.741이제 Claude Code는 `ui.render` 훅을 1초마다 실행합니다. 모듈이 다시 로드되면 타이머가 중지되고, 모듈의 새 인스턴스가 자체 타이머를 시작합니다.

742 742 

743### 사이트를 다시 그릴 수 있는 빈도743### 사이트를 다시 그릴 수 있는 빈도

744 744 

plugins/org.md +1 −1

Details

339안정적 및 조기 액세스 채널을 실행하려면 같은 플러그인의 다른 ref를 가리키는 두 개의 마켓플레이스를 호스팅하세요. 그 다음 각 사용자 그룹에 별도의 엔드포인트 관리 설정 또는 게이트웨이 정책을 통해 자신의 마켓플레이스를 제공하세요. 관리자 콘솔의 서버 관리 설정은 [조직의 모든 사용자에게 적용되므로](https://code.claude.com/docs/ko/server-managed-settings.md#current-limitations) 다른 그룹에 다른 설정을 할당할 수 없습니다.339안정적 및 조기 액세스 채널을 실행하려면 같은 플러그인의 다른 ref를 가리키는 두 개의 마켓플레이스를 호스팅하세요. 그 다음 각 사용자 그룹에 별도의 엔드포인트 관리 설정 또는 게이트웨이 정책을 통해 자신의 마켓플레이스를 제공하세요. 관리자 콘솔의 서버 관리 설정은 [조직의 모든 사용자에게 적용되므로](https://code.claude.com/docs/ko/server-managed-settings.md#current-limitations) 다른 그룹에 다른 설정을 할당할 수 없습니다.

340 340 

341* 각 그룹의 장치에 별도의 [엔드포인트 관리 설정](https://code.claude.com/docs/ko/managed-settings.md#delivery-mechanisms)(예: 관리되는 설정 파일 또는 MDM 프로필)을 배포하세요. 조직 전체 소스도 있는 장치에 그룹별 파일 또는 프로필이 적용되는지 확인하려면 [Claude Code가 관리되는 소스를 결합하는 방법](https://code.claude.com/docs/ko/managed-settings.md#precedence-within-the-managed-tier)을 참조하세요.341* 각 그룹의 장치에 별도의 [엔드포인트 관리 설정](https://code.claude.com/docs/ko/managed-settings.md#delivery-mechanisms)(예: 관리되는 설정 파일 또는 MDM 프로필)을 배포하세요. 조직 전체 소스도 있는 장치에 그룹별 파일 또는 프로필이 적용되는지 확인하려면 [Claude Code가 관리되는 소스를 결합하는 방법](https://code.claude.com/docs/ko/managed-settings.md#precedence-within-the-managed-tier)을 참조하세요.

342* 각 그룹에 대해 하나의 [Claude 앱 게이트웨이 정책](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#managed)을 정의하세요. 게이트웨이는 일치 규칙이 사용자에게 맞는 첫 번째 정책을 적용하므로 각 사용자가 자신의 그룹의 정책에 도달하도록 정책을 정렬하세요. 해당 정책의 `extraKnownMarketplaces` 맵은 다른 정책의 것과 병합되지 않으므로 채널 마켓플레이스만이 아닌 그룹이 필요한 모든 마켓플레이스를 나열하세요.342* 각 그룹에 대해 하나의 [Claude 앱 게이트웨이 정책](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#managed)을 정의하세요. 기본적으로 게이트웨이는 일치 규칙이 사용자에게 맞는 첫 번째 정책을 적용하므로 각 사용자가 자신의 그룹의 정책에 도달하도록 정책을 정렬하세요. 해당 정책의 `extraKnownMarketplaces` 맵은 다른 정책의 것과 병합되지 않으므로 채널 마켓플레이스만이 아닌 그룹이 필요한 모든 마켓플레이스를 나열하세요.

343 343 

344어느 메커니즘이든 안정적 그룹은 이 구성을 받습니다:344어느 메커니즘이든 안정적 그룹은 이 구성을 받습니다:

345 345 

Details

54 54 

55각 단계에서 플러그인의 풋프린트를 확인할 수 있습니다:55각 단계에서 플러그인의 풋프린트를 확인할 수 있습니다:

56 56 

57* **설치 전**: `/plugin`의 **마켓플레이스** 탭에서 플러그인을 엽니다. Anthropic의 공식 마켓플레이스의 플러그인은 **컨텍스트 비용** 추정치를 표시합니다.57* **설치 전**: `/plugin`의 **Marketplaces** 탭에서 플러그인을 엽니다. Anthropic의 공식 마켓플레이스의 플러그인은 **Context cost** 추정치를 표시합니다.

58* **설치 후**: [플러그인 비용 측정](https://code.claude.com/docs/ko/plugins/measure.md#measure-what-a-plugin-costs)은 플러그인의 풋프린트를 읽는 방법을 보여주며, **설치됨** 탭의 **최근에 사용하지 않음** 그룹은 비활성화할 수 있는 플러그인을 나열합니다.58* **설치 후**: [플러그인 비용 측정](https://code.claude.com/docs/ko/plugins/measure.md#measure-what-a-plugin-costs)은 플러그인의 풋프린트를 읽는 방법을 보여주며, **Installed** 탭의 **Not used recently** 그룹은 비활성화할 수 있는 플러그인을 나열합니다.

59* **제거하지 않고 중지하려면**: `/plugin`으로 플러그인을 비활성화하거나 셸에서 `claude plugin disable`을 사용합니다. [설치된 플러그인 관리](https://code.claude.com/docs/ko/plugins/install.md#manage-installed-plugins)를 참조하세요.59* **제거하지 않고 중지하려면**: `/plugin`으로 플러그인을 비활성화하거나 셸에서 `claude plugin disable`을 사용합니다. [설치된 플러그인 관리](https://code.claude.com/docs/ko/plugins/install.md#manage-installed-plugins)를 참조하세요.

60 60 

61## 마켓플레이스에서 플러그인 가져오기61## 마켓플레이스에서 플러그인 가져오기


86 86 

87## Anthropic의 마켓플레이스와 타사 마켓플레이스 구분하기87## Anthropic의 마켓플레이스와 타사 마켓플레이스 구분하기

88 88 

89마켓플레이스의 이름은 세 가지 계층 중 하나에 배치합니다. Claude Code는 `github.com/anthropics/` 저장소에서 소싱된 공식 및 커뮤니티 이름만 마켓플레이스에 대해 허용합니다:89마켓플레이스의 이름은 세 가지 계층 중 하나에 배치합니다. Claude Code는 `github.com/anthropics/` 저장소에서 소싱된 마켓플레이스에 대해서만 공식 및 커뮤니티 이름을 허용합니다:

90 90 

91* **공식**: `claude-plugins-official` 및 `claude-code-plugins`를 포함하여 Anthropic의 [공식 마켓플레이스 이름](https://code.claude.com/docs/ko/plugins/security.md#official-marketplace-names) 중 하나를 가진 마켓플레이스입니다.91* **공식**: `claude-plugins-official` 및 `claude-code-plugins`를 포함하여 Anthropic의 [공식 마켓플레이스 이름](https://code.claude.com/docs/ko/plugins/security.md#official-marketplace-names) 중 하나를 가진 마켓플레이스입니다.

92* **커뮤니티**: `claude-community`와 같은 Anthropic의 커뮤니티 이름을 가진 마켓플레이스입니다. [Anthropic의 마켓플레이스를 이름으로 식별](https://code.claude.com/docs/ko/plugins/security.md#marketplace-tiers)하면 이들을 나열합니다.92* **커뮤니티**: `claude-community`와 같은 Anthropic의 커뮤니티 이름을 가진 마켓플레이스입니다. [Anthropic의 마켓플레이스를 이름으로 식별](https://code.claude.com/docs/ko/plugins/security.md#marketplace-tiers)하면 이들을 나열합니다.

Details

51>51>

52> Remote Control의 일회성 확인을 수락하기 전까지 `claude remote-control`은 서버를 시작하기 전에 기능을 설명하고 `Enable Remote Control? (y/n)`을 묻습니다. `y`로 답하면 수락하고 서버를 시작합니다. 거절하면 Claude Code는 서버를 시작하지 않고 종료되며, 다음에 명령을 실행할 때 다시 묻습니다.52> Remote Control의 일회성 확인을 수락하기 전까지 `claude remote-control`은 서버를 시작하기 전에 기능을 설명하고 `Enable Remote Control? (y/n)`을 묻습니다. `y`로 답하면 수락하고 서버를 시작합니다. 거절하면 Claude Code는 서버를 시작하지 않고 종료되며, 다음에 명령을 실행할 때 다시 묻습니다.

53>53>

54> 서버 모드에서는 프로세스가 터미널에서 계속 실행되며 원격 연결을 기다립니다. [다른 기기에서 연결](#connect-from-another-device)하는 데 사용할 수 있는 세션 URL이 표시되며, 스페이스바를 누르면 휴대폰에서 빠르게 접속할 수 있는 QR 코드가 표시됩니다. 원격 세션이 활성화된 동안 터미널에는 연결 상태와 도구 활동이 표시됩니다.54> 서버 모드에서는 프로세스가 터미널에서 계속 실행되며 원격 연결을 기다립니다. [다른 기기에서 연결](#connect-from-another-device)하는 데 사용할 수 있는 URL이 표시되며, 스페이스바를 누르면 휴대폰에서 빠르게 접속할 수 있는 QR 코드가 표시됩니다. 원격 세션이 활성화된 동안 터미널에는 연결 상태와 도구 활동이 표시됩니다.

55>55>

56> `remote-control` 뒤에 다음 플래그를 전달할 수 있습니다.56> `remote-control` 뒤에 다음 플래그를 전달할 수 있습니다.

57>57>


151 151 

152Remote Control 세션이 활성화되면 다른 기기에서 연결하는 방법은 몇 가지가 있습니다.152Remote Control 세션이 활성화되면 다른 기기에서 연결하는 방법은 몇 가지가 있습니다.

153 153 

154* 아무 브라우저에서 **세션 URL을 열어** [claude.ai/code](https://claude.ai/code)의 세션으로 바로 이동합니다.154* 아무 브라우저에서 **Claude Code가 표시하는 URL을 열어** [claude.ai/code](https://claude.ai/code)로 이동합니다.

155* 세션 URL과 함께 표시되는 **QR 코드를 스캔**하여 Claude 앱에서 바로 엽니다. `claude remote-control`에서는 스페이스바를 눌러 QR 코드 표시를 전환합니다.155* URL과 함께 표시되는 **QR 코드를 스캔**하여 Claude 앱에서 엽니다. `claude remote-control`에서는 스페이스바를 눌러 QR 코드 표시를 전환합니다.

156* **[claude.ai/code](https://claude.ai/code) 또는 Claude 앱을 열고** 세션 목록에서 이름으로 세션을 찾습니다. Claude 모바일 앱에서는 내비게이션의 **Code**를 탭하여 세션 목록으로 이동합니다. Remote Control 세션은 온라인 상태일 때 초록색 상태 점이 있는 컴퓨터 아이콘으로 표시됩니다.156* **[claude.ai/code](https://claude.ai/code) 또는 Claude 앱을 열고** 세션 목록에서 이름으로 세션을 찾습니다. Claude 모바일 앱에서는 내비게이션의 **Code**를 탭하여 세션 목록으로 이동합니다. Remote Control 세션은 온라인 상태일 때 초록색 상태 점이 있는 컴퓨터 아이콘으로 표시됩니다.

157 157 

158연결하면 기기에 세션이 이미 백그라운드에서 실행 중인 서브에이전트와 워크플로가 표시됩니다. 기기에서 그중 하나를 중지하면 Claude Code는 사용자 머신에서 해당 작업을 중지합니다.158연결하면 기기에 세션이 이미 백그라운드에서 실행 중인 서브에이전트와 워크플로가 표시됩니다. 기기에서 그중 하나를 중지하면 Claude Code는 사용자 머신에서 해당 작업을 중지합니다.

routines.md +1 −1

Details

105 105 

106**5. 환경 선택**106**5. 환경 선택**

107 107 

108저장소를 선택하면 그 아래에 **Cloud environment**가 나타납니다. 작업에 사용할 [클라우드 환경](https://code.claude.com/docs/ko/cloud-environments.md)을 선택합니다. 환경은 클라우드 세션이 액세스할 수 있는 것을 제어합니다.108저장소를 선택하면 그 아래에 **Cloud environment**가 나타납니다. 작업에 사용할 [클라우드 환경](https://code.claude.com/docs/ko/cloud-environments.md)을 선택합니다. 환경이 이미 선택되어 있으면 그대로 유지하거나 다른 환경을 선택할 수 있습니다. 환경은 클라우드 세션이 액세스할 수 있는 것을 제어합니다.

109 109 

110* **Network access**: 각 실행 중에 사용할 수 있는 인터넷 액세스 수준을 설정합니다110* **Network access**: 각 실행 중에 사용할 수 있는 인터넷 액세스 수준을 설정합니다

111* **Environment variables**: Claude가 각 실행 중에 사용할 수 있는 값을 제공합니다. 이 값은 [환경을 사용하는 모든 사람에게 표시](https://code.claude.com/docs/ko/cloud-environments.md#what-carries-over-from-your-setup)되므로, Anthropic 호스팅 환경에서는 Claude가 실행 중에 호출하는 API의 키를 대신 [네트워크 시크릿](https://code.claude.com/docs/ko/cloud-environments.md#add-network-secrets)으로 저장합니다. 해당 섹션에는 시크릿을 받지 않는 요청도 나열되어 있습니다111* **Environment variables**: Claude가 각 실행 중에 사용할 수 있는 값을 제공합니다. 이 값은 [환경을 사용하는 모든 사람에게 표시](https://code.claude.com/docs/ko/cloud-environments.md#what-carries-over-from-your-setup)되므로, Anthropic 호스팅 환경에서는 Claude가 실행 중에 호출하는 API의 키를 대신 [네트워크 시크릿](https://code.claude.com/docs/ko/cloud-environments.md#add-network-secrets)으로 저장합니다. 해당 섹션에는 시크릿을 받지 않는 요청도 나열되어 있습니다

Details

157* **퍼스트 파티 로그인 키**: [`forceLoginOrgUUID`](https://code.claude.com/docs/ko/settings-reference#forceloginorguuid) 및 [`forceLoginMethod`](https://code.claude.com/docs/ko/settings-reference#forceloginmethod)의 `"claudeai"` 및 `"console"` 값. MDM 정책 또는 관리형 설정 파일도 배포하는 경우, 모든 클라이언트가 v2.1.299 이상을 실행할 때까지 해당 위치와 claude.ai의 서버 관리형 설정 양쪽에 이 키를 설정하세요. 그 이후 키를 설정할 위치와 어느 소스의 값이 적용되는지는 [로그인 키를 제공하는 관리형 소스](https://code.claude.com/docs/ko/managed-settings.md#which-managed-source-supplies-login-keys)를 참조하세요.157* **퍼스트 파티 로그인 키**: [`forceLoginOrgUUID`](https://code.claude.com/docs/ko/settings-reference#forceloginorguuid) 및 [`forceLoginMethod`](https://code.claude.com/docs/ko/settings-reference#forceloginmethod)의 `"claudeai"` 및 `"console"` 값. MDM 정책 또는 관리형 설정 파일도 배포하는 경우, 모든 클라이언트가 v2.1.299 이상을 실행할 때까지 해당 위치와 claude.ai의 서버 관리형 설정 양쪽에 이 키를 설정하세요. 그 이후 키를 설정할 위치와 어느 소스의 값이 적용되는지는 [로그인 키를 제공하는 관리형 소스](https://code.claude.com/docs/ko/managed-settings.md#which-managed-source-supplies-login-keys)를 참조하세요.

158* **게이트웨이 로그인 키**: Claude Code는 서버 관리 설정에서 [`forceLoginGatewayUrl`](https://code.claude.com/docs/ko/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/ko/settings-reference#gatewayinternalnetworks), 또는 [`forceLoginMethod`](https://code.claude.com/docs/ko/settings-reference#forceloginmethod)의 `"gateway"` 값을 읽지 않으므로, 거기의 값은 MDM 정책 또는 관리 설정 파일에 설정된 값을 적용하지도 숨기지도 않습니다. [`managedSourcesBehavior` 항목](https://code.claude.com/docs/ko/settings-reference#managedsourcesbehavior)은 머신의 어느 관리 소스가 이들을 제공하는지 나타냅니다.158* **게이트웨이 로그인 키**: Claude Code는 서버 관리 설정에서 [`forceLoginGatewayUrl`](https://code.claude.com/docs/ko/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](https://code.claude.com/docs/ko/settings-reference#gatewayinternalnetworks), 또는 [`forceLoginMethod`](https://code.claude.com/docs/ko/settings-reference#forceloginmethod)의 `"gateway"` 값을 읽지 않으므로, 거기의 값은 MDM 정책 또는 관리 설정 파일에 설정된 값을 적용하지도 숨기지도 않습니다. [`managedSourcesBehavior` 항목](https://code.claude.com/docs/ko/settings-reference#managedsourcesbehavior)은 머신의 어느 관리 소스가 이들을 제공하는지 나타냅니다.

159 159 

160#### 머신의 `apiKeyHelper`가 적용되지 않는 경우

161 

162서버 관리형 설정이 선택된 소스인 경우, 머신의 관리형 설정 파일이나 MDM 정책에 있는 `apiKeyHelper`는 적용되지 않습니다. 이때 다음 두 조건이 모두 충족되면 Claude Code는 저장된 claude.ai 로그인을 사용하는 세션에서 [프롬프트를 거부합니다](https://code.claude.com/docs/ko/errors.md#claude-code-didnt-send-your-claude-ai-login):

163 

164* 파일 또는 정책이 클라우드 공급자를 켜거나, 어떤 소스든 Anthropic 이외의 API 주소를 설정합니다

165* 서버 관리형 설정이 헬퍼를 설정하지 않으며 Anthropic의 API 주소를 지정하지 않습니다

166 

167거부를 해제하려면 헬퍼와 해당 API 주소가 계속 적용되도록 하거나, 서버 관리형 설정에서 Anthropic의 API 주소를 지정하거나, 머신의 정책에서 헬퍼를 제거하세요. 이 거부 동작에는 Claude Code v2.1.314 이상이 필요합니다.

168 

160### 가져오기 및 캐싱 동작169### 가져오기 및 캐싱 동작

161 170 

162Claude Code는 시작 시 Anthropic의 서버에서 설정을 가져오고 활성 세션 중에 매시간 업데이트를 폴링합니다.171Claude Code는 시작 시 Anthropic의 서버에서 설정을 가져오고 활성 세션 중에 매시간 업데이트를 폴링합니다.

settings.md +3 −0

Details

184* [`model`](https://code.claude.com/docs/ko/settings-reference#model): 세션 중에 전환하려면 [`/model`](https://code.claude.com/docs/ko/model-config#setting-your-model)을 사용합니다. 각 모델에는 자체 프롬프트 캐시가 있으므로 전환 후 첫 요청은 전체 대화를 캐시되지 않은 상태로 다시 읽습니다. [모델 전환](https://code.claude.com/docs/ko/prompt-caching.md#switching-models)을 참조하세요184* [`model`](https://code.claude.com/docs/ko/settings-reference#model): 세션 중에 전환하려면 [`/model`](https://code.claude.com/docs/ko/model-config#setting-your-model)을 사용합니다. 각 모델에는 자체 프롬프트 캐시가 있으므로 전환 후 첫 요청은 전체 대화를 캐시되지 않은 상태로 다시 읽습니다. [모델 전환](https://code.claude.com/docs/ko/prompt-caching.md#switching-models)을 참조하세요

185* [`effortLevel`](https://code.claude.com/docs/ko/settings-reference#effortlevel) 및 [`modelSettings`](https://code.claude.com/docs/ko/settings-reference#modelsettings): 세션 중에 변경하려면 [`/effort`](https://code.claude.com/docs/ko/model-config#adjust-effort-level)를 사용합니다185* [`effortLevel`](https://code.claude.com/docs/ko/settings-reference#effortlevel) 및 [`modelSettings`](https://code.claude.com/docs/ko/settings-reference#modelsettings): 세션 중에 변경하려면 [`/effort`](https://code.claude.com/docs/ko/model-config#adjust-effort-level)를 사용합니다

186 186 

187세션 중에 [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)를 제거해도 파일 도구는 실행 중인 세션에서 차단을 유지합니다. 차단을 해제하려면 이 키를 설정하는 모든 설정 파일에서 키를 제거한 다음 실행 중인 각 세션을 다시 시작합니다.

188 

187### 로드된 것 확인189### 로드된 것 확인

188 190 

189Claude Code 내에서 `/status`를 실행하여 활성 설정 소스를 확인합니다. **Status** 탭에는 Claude Code가 현재 세션에 로드한 각 설정 파일을 나열하는 `Setting sources` 줄이 포함됩니다. 예: `User settings` 또는 `Project local settings`. [관리되는 설정](https://code.claude.com/docs/ko/admin-setup.md#decide-how-settings-reach-devices)이 적용되면 관리되는 설정 항목은 괄호에 도달 방식을 표시합니다.191Claude Code 내에서 `/status`를 실행하여 활성 설정 소스를 확인합니다. **Status** 탭에는 Claude Code가 현재 세션에 로드한 각 설정 파일을 나열하는 `Setting sources` 줄이 포함됩니다. 예: `User settings` 또는 `Project local settings`. [관리되는 설정](https://code.claude.com/docs/ko/admin-setup.md#decide-how-settings-reach-devices)이 적용되면 관리되는 설정 항목은 괄호에 도달 방식을 표시합니다.


307| [`enableArtifact`](https://code.claude.com/docs/ko/settings-reference#enableartifact) | 모든 범위의 `false`, 그리고 모든 범위의 `disableArtifact: true` | 관리형 소스가 `true`를 설정할 때도 준수됩니다. 아무것도 [Artifact 도구](https://code.claude.com/docs/ko/artifacts.md#disable-artifacts)를 다시 켤 수 없습니다. Claude Code v2.1.242 이상이 필요합니다 |309| [`enableArtifact`](https://code.claude.com/docs/ko/settings-reference#enableartifact) | 모든 범위의 `false`, 그리고 모든 범위의 `disableArtifact: true` | 관리형 소스가 `true`를 설정할 때도 준수됩니다. 아무것도 [Artifact 도구](https://code.claude.com/docs/ko/artifacts.md#disable-artifacts)를 다시 켤 수 없습니다. Claude Code v2.1.242 이상이 필요합니다 |

308| [`isolatePeerMachines`](https://code.claude.com/docs/ko/settings-reference#isolatepeermachines) | 모든 범위의 `true` | 관리형 소스가 `false`를 설정할 때도 준수됩니다 |310| [`isolatePeerMachines`](https://code.claude.com/docs/ko/settings-reference#isolatepeermachines) | 모든 범위의 `true` | 관리형 소스가 `false`를 설정할 때도 준수됩니다 |

309| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories) | 모든 범위의 `true` | 관리형 소스가 `false`를 설정할 때도 준수됩니다. Claude Code v2.1.257 이상이 필요합니다 |311| [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories) | 모든 범위의 `true` | 관리형 소스가 `false`를 설정할 때도 준수됩니다. Claude Code v2.1.257 이상이 필요합니다 |

312| [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockwritesoutsideworkingdirectories) | 모든 범위의 `true` | 관리형 소스가 `false`를 설정할 때도 준수됩니다. Claude Code v2.1.314 이상이 필요합니다 |

310| [`autoMode.classifyAllShell`](https://code.claude.com/docs/ko/settings-reference#automode-classifyallshell) | `~/.claude/settings.json` 또는 `--settings`의 `true` | 관리형 소스가 `false`를 설정할 때도 준수됩니다 |313| [`autoMode.classifyAllShell`](https://code.claude.com/docs/ko/settings-reference#automode-classifyallshell) | `~/.claude/settings.json` 또는 `--settings`의 `true` | 관리형 소스가 `false`를 설정할 때도 준수됩니다 |

311| [`remoteControlAtStartup`](https://code.claude.com/docs/ko/settings-reference#remotecontrolatstartup) | `.claude/settings.json` 또는 `.claude/settings.local.json`의 `false` | 관리형 소스가 `true`를 설정할 때도 준수됩니다. 프로젝트 또는 로컬 `true`는 무시됩니다 |314| [`remoteControlAtStartup`](https://code.claude.com/docs/ko/settings-reference#remotecontrolatstartup) | `.claude/settings.json` 또는 `.claude/settings.local.json`의 `false` | 관리형 소스가 `true`를 설정할 때도 준수됩니다. 프로젝트 또는 로컬 `true`는 무시됩니다 |

312| [`crossSessionInbound`](https://code.claude.com/docs/ko/settings-reference#crosssessioninbound) | `.claude/settings.json` 또는 `.claude/settings.local.json`의 더 엄격한 값, `accept` \< `hold` \< `refuse` 사다리에서 | 관리형, `--settings`, 및 사용자 값보다 준수됩니다. 더 엄격하지 않은 프로젝트 또는 로컬 값은 무시됩니다 |315| [`crossSessionInbound`](https://code.claude.com/docs/ko/settings-reference#crosssessioninbound) | `.claude/settings.json` 또는 `.claude/settings.local.json`의 더 엄격한 값, `accept` \< `hold` \< `refuse` 사다리에서 | 관리형, `--settings`, 및 사용자 값보다 준수됩니다. 더 엄격하지 않은 프로젝트 또는 로컬 값은 무시됩니다 |

Details

144| [`permissions.allow`](#permissions-allow) | 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax)을 확인 요청 없이 승인합니다 | 권한 설정 | 모든 파일 |144| [`permissions.allow`](#permissions-allow) | 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax)을 확인 요청 없이 승인합니다 | 권한 설정 | 모든 파일 |

145| [`permissions.ask`](#permissions-ask) | 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax) 전에 항상 확인을 요청합니다 | 권한 설정 | 모든 파일 |145| [`permissions.ask`](#permissions-ask) | 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax) 전에 항상 확인을 요청합니다 | 권한 설정 | 모든 파일 |

146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | 모든 권한 모드에서 파일 도구가 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 읽기를 거부하도록 합니다 | 권한 설정 | 모든 파일 |146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | 모든 권한 모드에서 파일 도구가 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 읽기를 거부하도록 합니다 | 권한 설정 | 모든 파일 |

147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | 모든 권한 모드에서 `Write`, `Edit`, `NotebookEdit` 도구가 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 경로를 거부하도록 합니다. 단, [Claude Code 자체 파일 일부](#what-the-write-block-refuses-and-what-stays-writable)는 예외입니다 | 권한 설정 | 모든 파일 |

147| [`permissions.defaultMode`](#permissions-defaultmode) | 새 세션이 시작되는 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md#which-mode-a-session-starts-in)를 설정합니다 | 권한 설정 | 모든 파일 |148| [`permissions.defaultMode`](#permissions-defaultmode) | 새 세션이 시작되는 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md#which-mode-a-session-starts-in)를 설정합니다 | 권한 설정 | 모든 파일 |

148| [`permissions.deny`](#permissions-deny) | 비밀 정보가 담긴 파일 읽기를 포함하여 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax)을 차단합니다 | 권한 설정 | 모든 파일 |149| [`permissions.deny`](#permissions-deny) | 비밀 정보가 담긴 파일 읽기를 포함하여 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax)을 차단합니다 | 권한 설정 | 모든 파일 |

149| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | 누구도 [bypassPermissions 모드](https://code.claude.com/docs/ko/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)에 진입하지 못하도록 합니다 | 권한 설정 | 모든 파일 |150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | 누구도 [bypassPermissions 모드](https://code.claude.com/docs/ko/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)에 진입하지 못하도록 합니다 | 권한 설정 | 모든 파일 |


901Claude가 묻지 않고 사용할 수 있는 도구, 항상 확인을 요청하는 도구, 차단되는 도구를 제어하고, 세션이 시작되는 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 설정합니다. 아래의 모든 `permissions.*` 키는 이 객체 아래에 중첩됩니다.902Claude가 묻지 않고 사용할 수 있는 도구, 항상 확인을 요청하는 도구, 차단되는 도구를 제어하고, 세션이 시작되는 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 설정합니다. 아래의 모든 `permissions.*` 키는 이 객체 아래에 중첩됩니다.

902 903 

903* **범위**: [`Any file`](#scopes)904* **범위**: [`Any file`](#scopes)

904* **타입**: `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode`, `disableAutoMode`를 포함하는 객체905* **타입**: `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode`, `disableAutoMode`를 포함하는 객체

905* **기본값**: 설정되지 않음906* **기본값**: 설정되지 않음

906 907 

907이 예시는 `npm run` 명령을 묻지 않고 승인하고, `git push` 전에 확인을 요청하며, `.env` 읽기를 차단하고, 세션을 `acceptEdits`로 시작합니다.908이 예시는 `npm run` 명령을 묻지 않고 승인하고, `git push` 전에 확인을 요청하며, `.env` 읽기를 차단하고, 세션을 `acceptEdits`로 시작합니다.


1062}1063}

1063```1064```

1064 1065 

1066차단을 해제하려면 이 키를 설정한 모든 설정 파일에서 키를 제거한 다음 실행 중인 각 세션을 다시 시작하십시오.

1067 

1065`--add-dir`, `/add-dir` 또는 사용자나 관리형 설정의 `additionalDirectories`로 추가한 디렉터리는 차단 시 작업 디렉터리로 간주됩니다. 저장소 설정에서만 추가된 디렉터리는 간주되지 않습니다. 즉, `.claude/settings.json`에 있는 디렉터리와, git이 `.claude/settings.local.json` 파일을 추적되지 않는 파일로 보고하는 경우를 제외한 해당 파일의 디렉터리는 간주되지 않습니다. git 저장소가 아닌 디렉터리이거나 git이 해당 파일을 추적하는 경우 Claude Code는 `.claude/settings.local.json`을 저장소 설정으로 취급하므로, 계속 읽을 수 있게 하려는 디렉터리는 대신 사용자 설정에 넣으십시오.1068`--add-dir`, `/add-dir` 또는 사용자나 관리형 설정의 `additionalDirectories`로 추가한 디렉터리는 차단 시 작업 디렉터리로 간주됩니다. 저장소 설정에서만 추가된 디렉터리는 간주되지 않습니다. 즉, `.claude/settings.json`에 있는 디렉터리와, git이 `.claude/settings.local.json` 파일을 추적되지 않는 파일로 보고하는 경우를 제외한 해당 파일의 디렉터리는 간주되지 않습니다. git 저장소가 아닌 디렉터리이거나 git이 해당 파일을 추적하는 경우 Claude Code는 `.claude/settings.local.json`을 저장소 설정으로 취급하므로, 계속 읽을 수 있게 하려는 디렉터리는 대신 사용자 설정에 넣으십시오.

1066 1069 

1067[`autoMemoryDirectory`](#automemorydirectory)가 프로젝트의 `.claude/settings.json` 또는 [저장소에서 제공된 것으로 취급되는](https://code.claude.com/docs/ko/permissions.md#when-your-local-settings-file-needs-trust) `.claude/settings.local.json`에서 오는 경우, Claude Code는 해당 디렉터리에서 [자동 메모리](https://code.claude.com/docs/ko/memory.md#storage-location)를 로드하지 않으며 해당 디렉터리에 저장하지도 않습니다.1070[`autoMemoryDirectory`](#automemorydirectory)가 프로젝트의 `.claude/settings.json` 또는 [저장소에서 제공된 것으로 취급되는](https://code.claude.com/docs/ko/permissions.md#when-your-local-settings-file-needs-trust) `.claude/settings.local.json`에서 오는 경우, Claude Code는 해당 디렉터리에서 [자동 메모리](https://code.claude.com/docs/ko/memory.md#storage-location)를 로드하지 않으며 해당 디렉터리에 저장하지도 않습니다.

1068 1071 

1069차단을 해제하려면 이 키를 설정한 모든 설정 파일에서 키를 제거한 다음 새 세션을 시작하십시오.

1070 

1071#### 차단 상태에서의 샌드박스 명령1072#### 차단 상태에서의 샌드박스 명령

1072 1073 

1073[샌드박싱](https://code.claude.com/docs/ko/sandboxing.md)이 켜져 있으면 차단이 샌드박스 명령에도 적용됩니다. Claude Code는 샌드박스 명령에 대해 홈 디렉터리와 사용자 파일을 보관하는 다른 루트(`/Users`, `/home`, `/root`, `/Volumes`, `/mnt`, `/media`, `/run/media`, `/srv`)에 대한 읽기 접근을 거부합니다. 그런 다음 작업 디렉터리, 세션에서 Claude Code가 생성하는 [워크트리](https://code.claude.com/docs/ko/worktrees.md), 세션 임시 디렉터리, 스킬 및 플러그인처럼 명령에 필요한 `~/.claude`의 일부를 다시 엽니다. 차단이 적용되는 동안 저장소 설정의 `allowRead` 및 `allowWrite` 항목은 간주되지 않습니다.1074[샌드박싱](https://code.claude.com/docs/ko/sandboxing.md)이 켜져 있으면 차단이 샌드박스 명령에도 적용됩니다. Claude Code는 샌드박스 명령에 대해 홈 디렉터리와 사용자 파일을 보관하는 다른 루트(`/Users`, `/home`, `/root`, `/Volumes`, `/mnt`, `/media`, `/run/media`, `/srv`)에 대한 읽기 접근을 거부합니다. 그런 다음 작업 디렉터리, 세션에서 Claude Code가 생성하는 [워크트리](https://code.claude.com/docs/ko/worktrees.md), 세션 임시 디렉터리, 스킬 및 플러그인처럼 명령에 필요한 `~/.claude`의 일부를 다시 엽니다. 차단이 적용되는 동안 저장소 설정의 `allowRead` 및 `allowWrite` 항목은 간주되지 않습니다.


1092 1093 

1093다시 열린 파일에 `http.extraHeader` 토큰 같은 시크릿이 있으면 해당 경로를 [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread)에 추가하십시오. 파일을 포함하는 `denyRead` 항목은 항상 이 재열기보다 우선합니다.1094다시 열린 파일에 `http.extraHeader` 토큰 같은 시크릿이 있으면 해당 경로를 [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread)에 추가하십시오. 파일을 포함하는 `denyRead` 항목은 항상 이 재열기보다 우선합니다.

1094 1095 

1096### `permissions.blockWritesOutsideWorkingDirectories`

1097 

1098`bypassPermissions`를 포함한 모든 권한 모드에서 `Write`, `Edit`, `NotebookEdit` 도구가 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 경로를 거부하도록 합니다. 단, [Claude Code 자체 파일 일부](#what-the-write-block-refuses-and-what-stays-writable)는 예외입니다. 이 키는 셸 명령, MCP 도구, 훅이 실행하는 프로그램은 제한하지 않습니다. 셸 명령이 쓰는 위치를 제한하려면 [샌드박싱](https://code.claude.com/docs/ko/sandboxing.md)을 켜십시오. Claude Code v2.1.314 이상이 필요합니다.

1099 

1100이 키가 켜지면 Claude Code는 `EnterWorktree` 및 `ExitWorktree` 도구도 제거하거나 해당 도구에 대한 호출을 거부합니다. 워크트리에서 계속 작업하려면 [Claude에 `EnterWorktree` 도구가 없는 경우](https://code.claude.com/docs/ko/worktrees#claude-has-no-enterworktree-tool)를 따르십시오.

1101 

1102* **범위**: [`Any file`](#scopes). 세션이 로드하는 어느 파일에서든 `true`가 적용되므로, 저장소는 자체적으로 차단을 켤 수는 있지만 사용자의 차단을 해제할 수는 없습니다. [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)에서는 파일 도구가 그 자체로 경계 역할을 하는 컨테이너에서 실행되므로 Claude Code가 이 키를 적용하지 않을 수 있습니다.

1103* **타입**: Boolean

1104 * `true`: 차단을 켭니다

1105 * `false`: 설정되지 않은 경우와 동일합니다. 다른 파일이 `true`를 설정하면 차단은 계속 적용됩니다

1106* **기본값**: 설정되지 않음. 따라서 작업 디렉터리 외부의 쓰기는 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 따릅니다. Claude Code가 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md#keys-that-fail-closed)의 `permissions` 객체를 읽을 수 없는 동안에도 차단이 켜집니다.

1107 

1108```json settings.json theme={null}

1109{

1110 "permissions": {

1111 "blockWritesOutsideWorkingDirectories": true

1112 }

1113}

1114```

1115 

1116차단을 테스트하려면 홈 디렉터리가 작업 디렉터리에 포함되지 않은 경우 `~/block-test.txt`처럼 작업 디렉터리 외부에 Write 도구로 파일을 만들도록 Claude에 요청하십시오. Claude Code는 호출을 거부하며, 거부 메시지는 [설정이 작업 디렉터리 외부의 쓰기를 차단한다](https://code.claude.com/docs/ko/errors.md#setting-blocks-writes-outside-the-working-directories)고 알립니다.

1117 

1118차단을 해제하려면 이 키를 설정한 모든 설정 파일에서 키를 제거한 다음 Claude Code를 다시 시작하십시오.

1119 

1120#### 쓰기 차단이 거부하는 항목과 계속 쓸 수 있는 항목

1121 

1122플랜 파일, [스크래치패드](https://code.claude.com/docs/ko/claude-directory.md#session-scratchpad-directory), [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)의 `tmp` 디렉터리, 이 프로젝트의 [자동 메모리](https://code.claude.com/docs/ko/memory.md#storage-location)에 있는 `.md` 파일처럼 Claude Code 자체 파일 일부는 계속 쓸 수 있습니다.

1123 

1124작업 디렉터리 외부에 있는 사용자 자신의 파일과 함께, 차단은 다음에 대한 쓰기도 거부합니다.

1125 

1126* **Claude Code 설정 파일**: 설정 파일로 차단을 해제할 수 있으므로 Claude Code는 작업 디렉터리 내부에서도 [이러한 쓰기를 거부합니다](https://code.claude.com/docs/ko/errors.md#writes-to-claude-code-settings-files-are-blocked). 설정 파일은 직접 편집하십시오.

1127* **저장소 설정에서만 추가한 디렉터리**: [`additionalDirectories`](#permissions-additionaldirectories)가 `.claude/settings.json`에만 나열하거나, git이 `.claude/settings.local.json` 파일을 추적되지 않는 파일로 보고하는 경우를 제외하고 해당 파일에만 나열한 디렉터리

1128* **서브에이전트의 워크트리**: [`isolation: worktree`](https://code.claude.com/docs/ko/worktrees#isolate-subagents-with-worktrees) 서브에이전트의 워크트리가 작업 디렉터리 외부에 있으면 해당 서브에이전트의 파일 편집이 거부됩니다

1129* **저장소가 선택한 디렉터리의 자동 메모리**: 저장소 설정에서 [`autoMemoryDirectory`](#automemorydirectory)가 지정하는 디렉터리

1130 

1131설정 파일은 무엇을 추가하든 계속 거부됩니다. 그 외의 경우에 쓰기를 허용하려면 [작업 디렉터리를 추가](#let-one-directory-through-the-read-or-write-block)하십시오. `/add-dir`에는 존재하는 디렉터리가 필요하므로, 서브에이전트 워크트리의 경우 저장소 루트의 `.claude/worktrees` 디렉터리를 지정하십시오.

1132 

1133#### 읽기 또는 쓰기 차단에서 디렉터리 하나 허용하기

1134 

1135`blockReadsOutsideWorkingDirectories` 또는 `blockWritesOutsideWorkingDirectories`가 `true`인 동안 Claude가 프로젝트 외부의 디렉터리 하나에 접근하도록 하려면 해당 디렉터리를 작업 디렉터리로 추가하십시오. 세션에서 `/add-dir <directory>`를 실행하거나, Claude Code를 시작할 때 `--add-dir <directory>`를 전달하거나, 사용자 또는 관리형 설정의 `additionalDirectories`에 나열하십시오. 어떤 [허용 규칙](https://code.claude.com/docs/ko/permissions.md#read-and-edit)도 Claude의 파일 도구가 두 차단 중 어느 쪽도 통과하게 하지 않습니다.

1136 

1095### `permissions.defaultMode`1137### `permissions.defaultMode`

1096 1138 

1097새 세션이 시작되는 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 설정합니다. 설정하지 않으면 세션은 사용 환경의 [기본 제공 기본값](https://code.claude.com/docs/ko/permission-modes.md#which-mode-a-session-starts-in)으로 시작합니다.1139새 세션이 시작되는 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 설정합니다. 설정하지 않으면 세션은 사용 환경의 [기본 제공 기본값](https://code.claude.com/docs/ko/permission-modes.md#which-mode-a-session-starts-in)으로 시작합니다.


2427* **세션**: 대화형 터미널 세션, VS Code 확장 프로그램의 채팅 패널, 또는 세션이 사용자의 컴퓨터에서 실행되거나 SSH를 통해 실행되는 경우 데스크톱 앱의 Code 탭을 사용하고 있습니다2469* **세션**: 대화형 터미널 세션, VS Code 확장 프로그램의 채팅 패널, 또는 세션이 사용자의 컴퓨터에서 실행되거나 SSH를 통해 실행되는 경우 데스크톱 앱의 Code 탭을 사용하고 있습니다

2428* **자동 압축**: [`autoCompactEnabled`](#autocompactenabled)가 켜져 있습니다2470* **자동 압축**: [`autoCompactEnabled`](#autocompactenabled)가 켜져 있습니다

2429* **프롬프트 캐시**: 대화가 [1시간 프롬프트 캐시 TTL](https://code.claude.com/docs/ko/prompt-caching.md#which-ttl-each-request-gets)을 사용합니다2471* **프롬프트 캐시**: 대화가 [1시간 프롬프트 캐시 TTL](https://code.claude.com/docs/ko/prompt-caching.md#which-ttl-each-request-gets)을 사용합니다

2430* **기능 플래그**: Claude Code가 [Anthropic에서 기능 플래그를 가져올](https://code.claude.com/docs/ko/env-vars.md#features-that-need-feature-flag-fetching) 수 있습니다

2431* **크기**: 대화의 컨텍스트가 토큰 임계값에 도달했습니다. 이 임계값은 기본값 200,000에서 [변경](#change-the-idle-compaction-threshold)할 수 있습니다2472* **크기**: 대화의 컨텍스트가 토큰 임계값에 도달했습니다. 이 임계값은 기본값 200,000에서 [변경](#change-the-idle-compaction-threshold)할 수 있습니다

2432* **유휴 시간**: 마지막 요청 이후 약 1시간이 지났으며, 그때까지 컴퓨터가 깨어 있는 상태를 유지합니다2473* **유휴 시간**: 마지막 요청 이후 약 1시간이 지났으며, 그때까지 컴퓨터가 깨어 있는 상태를 유지합니다

2433 2474 


2449터미널 세션 내에서 유휴 압축을 끄거나 켜려면 `/config`를 실행하고 **유휴 압축** 행을 변경합니다. 선택한 값은 사용자 설정에 저장되며 즉시 적용됩니다. 이 행은 Claude Code v2.1.302 이상이 필요합니다. 해당 버전을 실행 중인데 `/config`에 이 행이 표시되지 않으면 다음 원인을 확인합니다:2490터미널 세션 내에서 유휴 압축을 끄거나 켜려면 `/config`를 실행하고 **유휴 압축** 행을 변경합니다. 선택한 값은 사용자 설정에 저장되며 즉시 적용됩니다. 이 행은 Claude Code v2.1.302 이상이 필요합니다. 해당 버전을 실행 중인데 `/config`에 이 행이 표시되지 않으면 다음 원인을 확인합니다:

2450 2491 

2451* **다른 설정 소스가 키를 설정함**: 관리형 설정, `--settings` 플래그 또는 프로젝트나 로컬 설정 파일의 값이 사용자 설정을 재정의합니다. 대신 해당 소스에서 키를 변경합니다2492* **다른 설정 소스가 키를 설정함**: 관리형 설정, `--settings` 플래그 또는 프로젝트나 로컬 설정 파일의 값이 사용자 설정을 재정의합니다. 대신 해당 소스에서 키를 변경합니다

2452* **기능 플래그를 사용할 수 없음**: Claude Code가 [Anthropic에서 기능 플래그를 가져올](https://code.claude.com/docs/ko/env-vars.md#features-that-need-feature-flag-fetching) 수 없는 환경에서는 유휴 압축이 실행되지 않으므로 끌 대상이 없습니다2493* **v2.1.314 이전 버전에서 기능 플래그를 사용할 수 없음**: Claude Code가 [Anthropic에서 기능 플래그를 가져올](https://code.claude.com/docs/ko/env-vars.md#features-that-need-feature-flag-fetching) 수 없는 환경에서는 유휴 압축이 실행되지 않으므로 끌 대상이 없습니다

2453 2494 

2454이 키는 Claude Code v2.1.290 이상이 필요합니다. 이 키를 무시하는 이전 버전에서는 유휴 압축을 중지하려면 [`autoCompactEnabled`](#autocompactenabled)를 끕니다.2495이 키는 Claude Code v2.1.290 이상이 필요합니다. 이 키를 무시하는 이전 버전에서는 유휴 압축을 중지하려면 [`autoCompactEnabled`](#autocompactenabled)를 끕니다.

2455 2496 

slack.md +8 −10

Details

49 49 

501. 앱 섹션에서 "Claude"를 클릭하여 Slack에서 Claude 앱을 엽니다501. 앱 섹션에서 "Claude"를 클릭하여 Slack에서 Claude 앱을 엽니다

512. 앱 홈 탭으로 이동합니다512. 앱 홈 탭으로 이동합니다

523. "연결"을 클릭하여 Slack 계정을 Claude 계정과 연결합니다523. **Connect Claude account**를 클릭하여 Slack 계정을 Claude 계정과 연결합니다

534. 브라우저에서 인증 흐름을 완료합니다534. 브라우저에서 인증 흐름을 완료합니다

54 54 

55**3. 클라우드 세션 구성**55**3. 클라우드 세션 구성**


71 71 

72> [!NOTE]72> [!NOTE]

73>73>

74> 코드 + 채팅 모드에서 Claude가 메시지를 채팅으로 라우팅했지만 코딩 세션을 원했다면 "코드로 다시 시도"를 클릭하여 Claude Code 세션을 대신 생성할 수 있습니다. 마찬가지로 코드로 라우팅되었지만 채팅 세션을 원했다면 해당 스레드에서 해당 옵션을 선택할 수 있습니다.74> 코드 + 채팅 모드에서 Claude가 채팅으로 응답했지만 코딩 세션을 원했다면 응답에서 \*\*Switch to code repo...\*\*를 클릭하고 저장소를 선택합니다. 그러면 Claude가 대신 해당 메시지로 Claude Code 세션을 시작합니다.

75 75 

76**5. Claude를 채널에 추가**76**5. Claude를 채널에 추가**

77 77 


1072. **감지**: Claude가 메시지를 분석하고 코딩 의도를 감지합니다1072. **감지**: Claude가 메시지를 분석하고 코딩 의도를 감지합니다

1083. **세션 생성**: claude.ai/code에서 새로운 Claude Code 세션이 생성됩니다1083. **세션 생성**: claude.ai/code에서 새로운 Claude Code 세션이 생성됩니다

1094. **진행 상황 업데이트**: Claude는 작업이 진행됨에 따라 Slack 스레드에 상태 업데이트를 게시합니다1094. **진행 상황 업데이트**: Claude는 작업이 진행됨에 따라 Slack 스레드에 상태 업데이트를 게시합니다

1105. **완료**: 완료되면 Claude는 요약 및 작업 버튼과 함께 @mentions을 합니다1105. **완료**: 완료되면 Claude는 스레드의 메시지를 최종 응답 및 작업 버튼으로 업데이트하고, 해당 메시지로 연결되는 링크를 직접 메시지로 보냅니다

1116. **검토**: "세션 보기"를 클릭하여 전체 기록을 보거나 "PR 생성"을 클릭하여 풀 요청을 엽니다1116. **검토**: **View session**을 클릭하여 전체 트랜스크립트를 보거나 **Create PR**을 클릭하여 풀 리퀘스트를 엽니다

112 112 

113## 사용자 인터페이스 요소113## 사용자 인터페이스 요소

114 114 

115### 메시지 작업115### 메시지 작업

116 116 

117* **세션 보기**: 수행된 모든 작업을 볼 수 있고, 세션을 계속하거나 추가 요청을 할 수 있는 브라우저에서 전체 Claude Code 세션을 엽니다.117* **세션 보기**: 수행된 모든 작업을 볼 수 있고, 세션을 계속하거나 추가 요청을 할 수 있는 브라우저에서 전체 Claude Code 세션을 엽니다.

118* **PR 생성**: 세션의 변경 사항에서 직접 풀 요청을 생성합니다.118* **PR 생성**: 세션 브랜치에 대한 GitHub의 비교 페이지를 열며, 이 페이지에서 풀 리퀘스트를 생성합니다. 이 버튼은 세션이 완료되면 세션 시작 시 Claude가 게시한 상태 메시지에 나타납니다.

119* **코드로 다시 시도**: Claude가 처음에 채팅 어시스턴트로 응답했지만 코딩 세션을 원했다면 이 버튼을 클릭하여 요청을 Claude Code 작업으로 다시 시도합니다.119* **Switch to code repo...**: Claude가 채팅으로 응답했지만 코딩 세션을 원했다면 이 버튼을 클릭하고 저장소를 선택합니다. 그러면 Claude가 원래 요청으로 Claude Code 세션을 시작합니다.

120* **저장소 변경**: Claude가 잘못 선택한 경우 다른 저장소를 선택할 수 있습니다.

121 120 

122### 저장소 선택121### 저장소 선택

123 122 

124Claude는 Slack 대화의 컨텍스트를 기반으로 저장소를 자동으로 선택합니다. 여러 저장소가 적용될 수 있는 경우 Claude는 올바른 저장소를 선택할 수 있는 드롭다운을 표시할 수 있습니다.123Claude는 Slack 대화의 컨텍스트를 기반으로 저장소를 자동으로 선택합니다. Claude가 어떤 저장소를 의미하는지 파악할 수 없는 경우 선택하도록 요청합니다. **Select repository**를 클릭하고 목록에서 저장소를 선택합니다.

125 124 

126## 액세스 및 권한125## 액세스 및 권한

127 126 


219 218 

220### 잘못된 저장소 선택됨219### 잘못된 저장소 선택됨

221 220 

2221. "저장소 변경" 버튼을 클릭하여 다른 저장소를 선택합니다221더 정확한 선택을 위해 요청에 저장소 이름을 포함합니다.

2232. 더 정확한 선택을 위해 요청에 저장소 이름을 포함합니다

224 222 

225### 인증 오류223### 인증 오류

226 224 

sub-agents.md +2 −2

Details

1048 1048 

1049격리된 서브에이전트 컨텍스트가 아닌 메인 대화 컨텍스트에서 실행되는 재사용 가능한 프롬프트나 워크플로가 필요하다면 대신 [스킬](https://code.claude.com/docs/ko/skills.md)을 고려하세요.1049격리된 서브에이전트 컨텍스트가 아닌 메인 대화 컨텍스트에서 실행되는 재사용 가능한 프롬프트나 워크플로가 필요하다면 대신 [스킬](https://code.claude.com/docs/ko/skills.md)을 고려하세요.

1050 1050 

1051대화에 이미 있는 내용에 대한 질문이라면 서브에이전트 대신 [`/btw`](https://code.claude.com/docs/ko/interactive-mode#side-questions-with-%2Fbtw)를 사용합니다. 전체 컨텍스트를 볼 수 있지만 도구에는 접근할 수 없으며, 답변은 기록에 추가되지 않습니다.1051대화에 이미 있는 내용에 대한 질문이라면 서브에이전트 대신 [`/btw`](https://code.claude.com/docs/ko/interactive-mode#side-questions-with-%2Fbtw)를 사용합니다. 도구에는 접근할 수 없으며, 답변은 기록에 추가되지 않습니다.

1052 1052 

1053### 서브에이전트가 자체 서브에이전트를 생성하게 하기1053### 서브에이전트가 자체 서브에이전트를 생성하게 하기

1054 1054 


1242| `x` | 실행 중인 경우 선택한 포크를 중지하거나, 더 이상 실행 중이 아닌 경우 행을 닫습니다. 주 세션 행 또는 `Enter`로 트랜스크립트를 연 포크의 행에서는 `x`가 프롬프트에 입력됩니다 |1242| `x` | 실행 중인 경우 선택한 포크를 중지하거나, 더 이상 실행 중이 아닌 경우 행을 닫습니다. 주 세션 행 또는 `Enter`로 트랜스크립트를 연 포크의 행에서는 `x`가 프롬프트에 입력됩니다 |

1243| `Esc` | 프롬프트 입력으로 포커스 반환 |1243| `Esc` | 프롬프트 입력으로 포커스 반환 |

1244 1244 

1245포크 또는 서브에이전트의 트랜스크립트가 열려 있으면 후속 메시지와 [스킬](https://code.claude.com/docs/ko/skills.md)은 해당 에이전트로 전달되고 기본 제공 명령은 주 대화로 전달되며, 다음과 같은 안전장치가 적용됩니다:1245포크 또는 서브에이전트의 트랜스크립트가 열려 있으면 후속 메시지와 [스킬](https://code.claude.com/docs/ko/skills.md)은 해당 에이전트로 전달됩니다. Claude Code v2.1.314 이상에서는 [`/btw`](https://code.claude.com/docs/ko/interactive-mode#ask-btw-about-a-subagent)가 열려 있는 트랜스크립트를 기반으로 답변합니다. 그 밖의 기본 제공 명령은 주 대화로 전달되며, 다음과 같은 안전장치가 적용됩니다:

1246 1246 

1247* `/compact`, `/clear`, `/rewind`는 주 대화에 작용하므로, 이 보기에서 이 중 하나를 실행하기 전에 Claude Code가 확인을 요청합니다.1247* `/compact`, `/clear`, `/rewind`는 주 대화에 작용하므로, 이 보기에서 이 중 하나를 실행하기 전에 Claude Code가 확인을 요청합니다.

1248* `/model`과 `/fast`는 보고 있는 에이전트가 아닌 주 대화의 모델과 빠른 모드를 설정하므로 이 보기에서는 실행되지 않습니다. 그 이유를 알려 주는 알림이 표시됩니다.1248* `/model`과 `/fast`는 보고 있는 에이전트가 아닌 주 대화의 모델과 빠른 모드를 설정하므로 이 보기에서는 실행되지 않습니다. 그 이유를 알려 주는 알림이 표시됩니다.

tools-reference.md +20 −11

Details

6 6 

7> Claude Code가 사용할 수 있는 도구의 완전한 참조로, 권한 요구사항 및 도구별 동작을 포함합니다.7> Claude Code가 사용할 수 있는 도구의 완전한 참조로, 권한 요구사항 및 도구별 동작을 포함합니다.

8 8 

9Claude Code는 코드베이스를 이해하고 수정하는 데 도움이 되는 기본 제공 도구 세트에 액세스할 수 있습니다. 도구 이름은 [권한 규칙](https://code.claude.com/docs/ko/permissions.md#tool-specific-permission-rules), [서브에이전트 도구 목록](https://code.claude.com/docs/ko/sub-agents.md), 및 [훅 매처](https://code.claude.com/docs/ko/hooks.md)에서 사용하는 정확한 문자열입니다.9Claude Code는 코드베이스를 이해하고 수정하는 데 도움이 되는 기본 제공 도구 세트에 액세스할 수 있습니다. 도구 이름은 [권한 규칙](https://code.claude.com/docs/ko/permissions.md#tool-specific-permission-rules), [서브에이전트 도구 목록](https://code.claude.com/docs/ko/sub-agents.md), 및 [훅 matcher](https://code.claude.com/docs/ko/hooks.md)에서 사용하는 정확한 문자열입니다.

10 10 

11Claude가 사용할 수 있는 도구와 먼저 요청할 시기를 제어하려면 설정, [훅](https://code.claude.com/docs/ko/hooks.md) 또는 [서브에이전트의 도구 목록](https://code.claude.com/docs/ko/sub-agents.md#supported-frontmatter-fields)에서 [권한 규칙](https://code.claude.com/docs/ko/permissions.md#tool-specific-permission-rules)을 구성합니다. 도구 이름을 허용하는 각 위치는 [권한 규칙 및 훅으로 도구 구성](#configure-tools-with-permission-rules-and-hooks)을 참조하세요.11Claude가 사용할 수 있는 도구와 먼저 요청할 시기를 제어하려면 설정, [훅](https://code.claude.com/docs/ko/hooks.md) 또는 [서브에이전트의 도구 목록](https://code.claude.com/docs/ko/sub-agents.md#supported-frontmatter-fields)에서 [권한 규칙](https://code.claude.com/docs/ko/permissions.md#tool-specific-permission-rules)을 구성합니다. 도구 이름을 허용하는 각 위치는 [권한 규칙 및 훅으로 도구 구성](#configure-tools-with-permission-rules-and-hooks)을 참조하세요.

12 12 

13사용자 정의 도구를 추가하려면 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)를 연결합니다. 재사용 가능한 프롬프트 기반 워크플로우로 Claude를 확장하려면 [스킬](https://code.claude.com/docs/ko/skills.md)을 작성합니다. 이는 새 도구 항목을 추가하는 대신 기존 `Skill` 도구를 통해 실행됩니다.13사용자 정의 도구를 추가하려면 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)를 연결합니다. 재사용 가능한 프롬프트 기반 워크플로로 Claude를 확장하려면 [스킬](https://code.claude.com/docs/ko/skills.md)을 작성합니다. 이는 새 도구 항목을 추가하는 대신 기존 `Skill` 도구를 통해 실행됩니다.

14 14 

15> [!NOTE]15> [!NOTE]

16>16>

17> [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서 분류기가 대부분의 권한 프롬프트를 사용자 대신 결정합니다. `권한 필요` 열은 작업 디렉토리 내의 경로에 대해 [수동 모드](https://code.claude.com/docs/ko/permission-modes.md)에서 도구가 프롬프트하는지 여부를 보여줍니다. `Read`, `Grep` 및 `Glob`을 포함한 파일 액세스 도구는 아니오로 표시되지만 [작업 디렉토리 및 추가 디렉토리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 경로에 대해 여전히 프롬프트합니다. `Bash`는 예로 표시되지만 프롬프트 없이 기본 제공 [읽기 전용 명령](https://code.claude.com/docs/ko/permissions.md#read-only-commands) 세트를 실행합니다.17> [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서는 분류기가 대부분의 권한 프롬프트를 사용자 대신 결정합니다. `권한 필요` 열은 작업 디렉터리 내의 경로에 대해 [수동 모드](https://code.claude.com/docs/ko/permission-modes.md)에서 도구가 확인을 요청하는지 여부를 보여줍니다. `Read`, `Grep` 및 `Glob`을 포함한 파일 액세스 도구는 아니오로 표시되지만 [작업 디렉터리 및 추가 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 경로에 대해서는 여전히 확인을 요청합니다. `Bash`는 예로 표시되지만 기본 제공 [읽기 전용 명령](https://code.claude.com/docs/ko/permissions.md#read-only-commands) 세트는 확인 요청 없이 실행합니다.

18 18 

19| 도구 | 설명 | 권한 필요 |19| 도구 | 설명 | 권한 필요 |

20| :- | :- | :- |20| :- | :- | :- |


27| `CronList` | 모든 세션 범위 예약 작업을 나열합니다 | 아니오 |27| `CronList` | 모든 세션 범위 예약 작업을 나열합니다 | 아니오 |

28| `Edit` | 특정 파일에 대한 대상 편집을 수행합니다. [Edit 도구 동작](#edit-tool-behavior)을 참조하세요 | 예 |28| `Edit` | 특정 파일에 대한 대상 편집을 수행합니다. [Edit 도구 동작](#edit-tool-behavior)을 참조하세요 | 예 |

29| `EndConversation` | 지속적인 학대 입력이 있는 드문 경우 또는 Claude에게 도구를 시연하도록 요청할 때 세션을 종료합니다. [EndConversation 도구 동작](#endconversation-tool-behavior)을 참조하세요 | 아니오 |29| `EndConversation` | 지속적인 학대 입력이 있는 드문 경우 또는 Claude에게 도구를 시연하도록 요청할 때 세션을 종료합니다. [EndConversation 도구 동작](#endconversation-tool-behavior)을 참조하세요 | 아니오 |

30| `EnterPlanMode` | 코딩 전에 접근 방식을 설계하기 위해 계획 모드로 전환합니다 | 아니오 |30| `EnterPlanMode` | 코딩 전에 접근 방식을 설계하기 위해 플랜 모드로 전환합니다 | 아니오 |

31| `EnterWorktree` | 격리된 [git worktree](https://code.claude.com/docs/ko/worktrees.md)를 생성하고 이를 전환합니다. 새 worktree를 생성하는 대신 기존 worktree로 전환하려면 `path`를 전달합니다. 처음 진입할 때 대상은 현재 저장소의 worktree이거나 다중 저장소 작업 공간에서 그 안에 중첩된 저장소의 worktree일 수 있습니다. v2.1.203 이전에는 중첩된 저장소의 worktree가 거부되었습니다. `.claude/worktrees/` 외부의 `path`는 세션의 작업 디렉토리와 쓰기 액세스를 해당 위치로 이동하므로 진입하기 전에 승인을 요청합니다. 새 worktree 생성 및 `.claude/worktrees/` 아래의 경로는 프롬프트하지 않습니다. v2.1.206 이전에는 Claude가 `.claude/worktrees/` 외부의 경로에 프롬프트 없이 진입했습니다. worktree 세션 내에서 또는 [`isolation: worktree`](https://code.claude.com/docs/ko/sub-agents#supported-frontmatter-fields)와 같은 고정된 작업 디렉토리가 있는 서브에이전트에서는 `path` 형식만 사용 가능하며 대상은 세션의 저장소의 `.claude/worktrees/` 아래에 있어야 합니다 | 예 |31| `EnterWorktree` | 격리된 [git worktree](https://code.claude.com/docs/ko/worktrees.md)를 생성하여 그 안으로 전환하거나, 기존 worktree로 전환합니다. [EnterWorktree 도구 동작](#enterworktree-tool-behavior)을 참조하세요 | 예 |

32| `ExitPlanMode` | 승인을 위한 계획을 제시하고 계획 모드를 종료합니다 | 예 |32| `ExitPlanMode` | 승인을 위한 계획을 제시하고 플랜 모드를 종료합니다 | 예 |

33| `ExitWorktree` | worktree 세션을 종료하고 원래 디렉토리로 돌아갑니다. [`isolation: worktree`](https://code.claude.com/docs/ko/sub-agents#supported-frontmatter-fields)와 같이 자체 작업 디렉토리에서 이미 실행되는 서브에이전트는 사용할 수 없습니다 | 아니오 |33| `ExitWorktree` | worktree 세션을 종료하고 원래 디렉터리로 돌아갑니다. [`isolation: worktree`](https://code.claude.com/docs/ko/sub-agents#supported-frontmatter-fields)와 같이 자체 작업 디렉터리에서 이미 실행되는 서브에이전트는 사용할 수 없습니다. [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockwritesoutsideworkingdirectories)가 켜져 있으면 제거되거나 거부됩니다 | 아니오 |

34| `Glob` | 패턴 매칭을 기반으로 파일을 찾습니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Glob 도구 동작](#glob-tool-behavior)을 참조하세요 | 아니오 |34| `Glob` | 패턴 매칭을 기반으로 파일을 찾습니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Glob 도구 동작](#glob-tool-behavior)을 참조하세요 | 아니오 |

35| `Grep` | 파일 내용에서 패턴을 검색합니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Grep 도구 동작](#grep-tool-behavior)을 참조하세요 | 아니오 |35| `Grep` | 파일 내용에서 패턴을 검색합니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Grep 도구 동작](#grep-tool-behavior)을 참조하세요 | 아니오 |

36| `ListAgents` | Claude가 `SendMessage`로 메시지를 보낼 수 있는 에이전트를 나열합니다. 세션의 서브에이전트, [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원, 다른 로컬 Claude Code 세션, 그리고 이 세션이 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)에 연결되어 있는 동안 [웹의 Claude Code](https://code.claude.com/docs/ko/claude-code-on-the-web.md) 세션 및 다른 머신의 Remote Control 세션입니다. `/list-agents` 명령을 지원합니다. [크로스 세션 메시징](https://code.claude.com/docs/ko/cross-session-messaging.md)을 참조하세요. Claude Code v2.1.224 이상이 필요하며 [크로스 세션 메시징이 활성화된](https://code.claude.com/docs/ko/cross-session-messaging.md#availability) 세션에만 나타납니다. 팀원 행 및 이 세션의 자체 이름을 보여주는 첫 번째 줄은 v2.1.239 이상이 필요합니다 | 아니오 |36| `ListAgents` | Claude가 `SendMessage`로 메시지를 보낼 수 있는 에이전트를 나열합니다. 세션의 서브에이전트, [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원, 다른 로컬 Claude Code 세션, 그리고 이 세션이 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)에 연결되어 있는 동안 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md) 및 다른 머신의 Remote Control 세션입니다. `/list-agents` 명령을 지원합니다. [크로스 세션 메시징](https://code.claude.com/docs/ko/cross-session-messaging.md)을 참조하세요. Claude Code v2.1.224 이상이 필요하며 [크로스 세션 메시징이 활성화된](https://code.claude.com/docs/ko/cross-session-messaging.md#availability) 세션에만 나타납니다. 팀원 행 및 이 세션의 자체 이름을 보여주는 첫 번째 줄은 v2.1.239 이상이 필요합니다 | 아니오 |

37| `ListMcpResourcesTool` | 연결된 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)에서 노출한 리소스를 나열합니다. [MCP Apps UI 리소스](https://code.claude.com/docs/ko/mcp.md#reference-mcp-resources)는 제외합니다. 이는 호스트 애플리케이션이 렌더링할 페이지입니다 | 아니오 |37| `ListMcpResourcesTool` | 연결된 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)에서 노출한 리소스를 나열합니다. [MCP Apps UI 리소스](https://code.claude.com/docs/ko/mcp.md#reference-mcp-resources)는 제외합니다. 이는 호스트 애플리케이션이 렌더링할 페이지입니다 | 아니오 |

38| `LSP` | 언어 서버를 통한 코드 인텔리전스: 정의로 이동, 참조 찾기, 유형 오류 및 경고 보고. [LSP 도구 동작](#lsp-tool-behavior)을 참조하세요 | 아니오 |38| `LSP` | 언어 서버를 통한 코드 인텔리전스: 정의로 이동, 참조 찾기, 유형 오류 및 경고 보고. [LSP 도구 동작](#lsp-tool-behavior)을 참조하세요 | 아니오 |

39| `Monitor` | 백그라운드에서 명령을 실행하고 각 출력 줄을 Claude에게 다시 피드하므로 로그 항목, 파일 변경 또는 폴링된 상태에 대화 중에 반응할 수 있습니다. WebSocket을 열고 각 수신 메시지를 이벤트로 처리할 수도 있습니다. [Monitor 도구](#monitor-tool)를 참조하세요 | 예 |39| `Monitor` | 백그라운드에서 명령을 실행하고 각 출력 줄을 Claude에게 다시 피드하므로 로그 항목, 파일 변경 또는 폴링된 상태에 대화 중에 반응할 수 있습니다. WebSocket을 열고 각 수신 메시지를 이벤트로 처리할 수도 있습니다. [Monitor 도구](#monitor-tool)를 참조하세요 | 예 |


46| `ReportFindings` | 코드 리뷰 결과를 구조화된 목록으로 보고합니다. 각 결과마다 파일, 요약 및 실패 시나리오가 있으므로 Claude Code가 텍스트로 인쇄하는 대신 렌더링할 수 있습니다. Claude는 활성 코드 리뷰 지침이 이를 수행하도록 지시할 때 호출합니다. 결과는 `correctness` 또는 `test-coverage`와 같은 선택적 `category` 슬러그를 전달할 수도 있으며, 렌더링된 목록의 파일 위치 옆에 표시됩니다 | 아니오 |46| `ReportFindings` | 코드 리뷰 결과를 구조화된 목록으로 보고합니다. 각 결과마다 파일, 요약 및 실패 시나리오가 있으므로 Claude Code가 텍스트로 인쇄하는 대신 렌더링할 수 있습니다. Claude는 활성 코드 리뷰 지침이 이를 수행하도록 지시할 때 호출합니다. 결과는 `correctness` 또는 `test-coverage`와 같은 선택적 `category` 슬러그를 전달할 수도 있으며, 렌더링된 목록의 파일 위치 옆에 표시됩니다 | 아니오 |

47| `ScheduleWakeup` | [자체 페이스 `/loop`](https://code.claude.com/docs/ko/scheduled-tasks#let-claude-choose-the-interval)의 다음 반복을 다시 예약합니다. Claude는 각 반복이 끝날 때 이를 호출하여 다음 반복이 실행될 시기를 선택합니다. 1분에서 1시간 사이입니다. 직접 호출하지 않습니다. 루프를 대신 종료하려면 Claude는 `stop: true`로 호출하여 보류 중인 웨이크업을 취소합니다. 보류 중인 웨이크업은 [Stop 훅 입력](https://code.claude.com/docs/ko/hooks.md#stop-input)의 `session_crons`에 나타납니다 | 아니오 |47| `ScheduleWakeup` | [자체 페이스 `/loop`](https://code.claude.com/docs/ko/scheduled-tasks#let-claude-choose-the-interval)의 다음 반복을 다시 예약합니다. Claude는 각 반복이 끝날 때 이를 호출하여 다음 반복이 실행될 시기를 선택합니다. 1분에서 1시간 사이입니다. 직접 호출하지 않습니다. 루프를 대신 종료하려면 Claude는 `stop: true`로 호출하여 보류 중인 웨이크업을 취소합니다. 보류 중인 웨이크업은 [Stop 훅 입력](https://code.claude.com/docs/ko/hooks.md#stop-input)의 `session_crons`에 나타납니다 | 아니오 |

48| `SendFeedback` | Claude Code에 대한 피드백 보고서를 작성합니다. 제품 문제 또는 세션에서 Claude의 자체 동작을 다룹니다. 검토할 수 있도록 머신에서 대기열에 넣습니다. Claude Code는 초안을 보내도록 선택할 때까지 아무것도 보내지 않습니다. [SendFeedback 도구 동작](#sendfeedback-tool-behavior)을 참조하세요. Claude Code v2.1.238 이상이 필요합니다 | 아니오 |48| `SendFeedback` | Claude Code에 대한 피드백 보고서를 작성합니다. 제품 문제 또는 세션에서 Claude의 자체 동작을 다룹니다. 검토할 수 있도록 머신에서 대기열에 넣습니다. Claude Code는 초안을 보내도록 선택할 때까지 아무것도 보내지 않습니다. [SendFeedback 도구 동작](#sendfeedback-tool-behavior)을 참조하세요. Claude Code v2.1.238 이상이 필요합니다 | 아니오 |

49| `SendMessage` | 다른 에이전트에게 메시지를 보냅니다. [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원, [에이전트 ID 또는 이름으로 재개하는](https://code.claude.com/docs/ko/sub-agents.md#resume-subagents) \[서브에이전트], 또는 다른 Claude Code 세션 중 하나입니다. 이 머신 또는 그 이상입니다. 다른 세션으로 메시징하려면 Claude Code v2.1.224 이상이 필요합니다. [크로스 세션 메시징](https://code.claude.com/docs/ko/cross-session-messaging.md)은 Claude가 도달할 수 있는 세션, [메시지가 도착할 때의 모습](https://code.claude.com/docs/ko/cross-session-messaging.md#what-a-message-looks-like), 및 [다른 세션이 유휴 상태가 될 때 Claude가 공지를 받는 방법](https://code.claude.com/docs/ko/cross-session-messaging.md#get-a-notice-when-another-session-goes-idle)을 다룹니다. Claude는 선택적 `summary` 입력을 포함할 수 있습니다. 일반적으로 5-10단어이며, Claude Code는 한 줄 미리보기로 표시합니다. Claude가 [일반 텍스트 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md#limitations)에서 생략하면 Claude Code는 메시지의 첫 번째 줄을 요약으로 사용합니다. Claude Code는 200자보다 긴 요약을 줄임표로 자릅니다 | 아니오 |49| `SendMessage` | 다른 에이전트에게 메시지를 보냅니다. [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원, [에이전트 ID 또는 이름으로 재개하는 서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#resume-subagents), 또는 이 머신에 있든 다른 곳에 있든 다른 Claude Code 세션 중 하나입니다. 다른 세션으로 메시징하려면 Claude Code v2.1.224 이상이 필요합니다. [크로스 세션 메시징](https://code.claude.com/docs/ko/cross-session-messaging.md)은 Claude가 도달할 수 있는 세션, [메시지가 도착할 때의 모습](https://code.claude.com/docs/ko/cross-session-messaging.md#what-a-message-looks-like), 및 [다른 세션이 유휴 상태가 될 때 Claude가 공지를 받는 방법](https://code.claude.com/docs/ko/cross-session-messaging.md#get-a-notice-when-another-session-goes-idle)을 다룹니다. Claude는 선택적 `summary` 입력을 포함할 수 있습니다. 일반적으로 5-10단어이며, Claude Code는 한 줄 미리보기로 표시합니다. Claude가 [일반 텍스트 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md#limitations)에서 생략하면 Claude Code는 메시지의 첫 번째 줄을 요약으로 사용합니다. Claude Code는 200자보다 긴 요약을 줄임표로 자릅니다 | 아니오 |

50| `SendUserFile` | 세션의 파일을 선택적 캡션과 함께 사용자에게 보냅니다. 생성된 보고서, 다이어그램, 스크린샷 또는 빌드된 아티팩트가 트랜스크립트에서만 언급되는 대신 장치에 도달합니다. 선택적 `display` 입력은 프레젠테이션을 제어합니다. `render`는 파일을 클라이언트에서 인라인으로 열고, `attach`는 다운로드 카드만 표시하며, 설정되지 않으면 클라이언트가 파일 유형으로 결정합니다. [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 클라이언트가 연결되어 있거나 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)에서 사용 가능합니다. 배달은 Anthropic 호스팅 인프라를 통해 실행되므로 도구는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 사용할 수 없습니다 | 아니오 |50| `SendUserFile` | 세션의 파일을 선택적 캡션과 함께 사용자에게 보냅니다. 생성된 보고서, 다이어그램, 스크린샷 또는 빌드된 아티팩트가 트랜스크립트에서만 언급되는 대신 장치에 도달합니다. 선택적 `display` 입력은 프레젠테이션을 제어합니다. `render`는 파일을 클라이언트에서 인라인으로 열고, `attach`는 다운로드 카드만 표시하며, 설정되지 않으면 클라이언트가 파일 유형으로 결정합니다. [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 클라이언트가 연결되어 있거나 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)에서 사용 가능합니다. 배달은 Anthropic 호스팅 인프라를 통해 실행되므로 도구는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 사용할 수 없습니다 | 아니오 |

51| `ShareOnboardingGuide` | `ONBOARDING.md`를 업로드하고 팀원이 Claude Code에서 열 수 있는 공유 링크를 반환합니다. 가이드가 작성된 후 `/team-onboarding`에서 호출됩니다. Team 및 Enterprise 플랜의 claude.ai 구독자가 사용할 수 있습니다 | 예 |51| `ShareOnboardingGuide` | `ONBOARDING.md`를 업로드하고 팀원이 Claude Code에서 열 수 있는 공유 링크를 반환합니다. 가이드가 작성된 후 `/team-onboarding`에서 호출됩니다. Team 및 Enterprise 플랜의 claude.ai 구독자가 사용할 수 있습니다 | 예 |

52| `Skill` | 주 대화 내에서 [스킬](https://code.claude.com/docs/ko/skills.md#control-who-invokes-a-skill)을 실행합니다 | 예 |52| `Skill` | 주 대화 내에서 [스킬](https://code.claude.com/docs/ko/skills.md#control-who-invokes-a-skill)을 실행합니다 | 예 |


56| `TaskList` | 현재 상태와 함께 모든 작업을 나열합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |56| `TaskList` | 현재 상태와 함께 모든 작업을 나열합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |

57| `TaskOutput` | v2.1.277에서 제거되었습니다. 이전에는 백그라운드 작업에서 출력을 검색했습니다. 이제 Claude는 대신 `Read`로 백그라운드 작업의 [출력 파일](https://code.claude.com/docs/ko/interactive-mode.md#how-backgrounding-works)을 읽습니다 | 아니오 |57| `TaskOutput` | v2.1.277에서 제거되었습니다. 이전에는 백그라운드 작업에서 출력을 검색했습니다. 이제 Claude는 대신 `Read`로 백그라운드 작업의 [출력 파일](https://code.claude.com/docs/ko/interactive-mode.md#how-backgrounding-works)을 읽습니다 | 아니오 |

58| `TaskStop` | ID로 실행 중인 백그라운드 작업을 중지합니다. 또한 [에이전트 팀 팀원](https://code.claude.com/docs/ko/agent-teams.md) 또는 에이전트 ID 또는 이름으로 명명된 백그라운드 에이전트를 허용합니다. ID와 일치하는 작업이 없으면 오류는 다른 에이전트가 생성한 에이전트를 포함하여 실행 중인 백그라운드 에이전트를 ID 및 설명으로 나열합니다 | 아니오 |58| `TaskStop` | ID로 실행 중인 백그라운드 작업을 중지합니다. 또한 [에이전트 팀 팀원](https://code.claude.com/docs/ko/agent-teams.md) 또는 에이전트 ID 또는 이름으로 명명된 백그라운드 에이전트를 허용합니다. ID와 일치하는 작업이 없으면 오류는 다른 에이전트가 생성한 에이전트를 포함하여 실행 중인 백그라운드 에이전트를 ID 및 설명으로 나열합니다 | 아니오 |

59| `TaskUpdate` | 작업 상태, 종속성, 세부 정보를 업데이트하거나 작업을 삭제합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |59| `TaskUpdate` | 작업 상태, 의존성, 세부 정보를 업데이트하거나 작업을 삭제합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |

60| `TodoWrite` | 세션 작업 체크리스트를 관리합니다. `TaskCreate`, `TaskGet`, `TaskList` 및 `TaskUpdate`를 선호하여 기본적으로 비활성화됩니다. [작업 추적 도구가 있는 세션](#task-tool-availability)에서 다시 활성화하려면 `CLAUDE_CODE_ENABLE_TASKS=0`을 설정합니다 | 아니오 |60| `TodoWrite` | 세션 작업 체크리스트를 관리합니다. `TaskCreate`, `TaskGet`, `TaskList` 및 `TaskUpdate`를 선호하여 기본적으로 비활성화됩니다. [작업 추적 도구가 있는 세션](#task-tool-availability)에서 다시 활성화하려면 `CLAUDE_CODE_ENABLE_TASKS=0`을 설정합니다 | 아니오 |

61| `ToolSearch` | [도구 검색](https://code.claude.com/docs/ko/mcp.md#scale-with-mcp-tool-search)이 활성화되어 있을 때 지연된 도구를 검색하고 로드합니다 | 아니오 |61| `ToolSearch` | [도구 검색](https://code.claude.com/docs/ko/mcp.md#scale-with-mcp-tool-search)이 활성화되어 있을 때 지연된 도구를 검색하고 로드합니다 | 아니오 |

62| `WaitForMcpServers` | 백그라운드에서 여전히 연결 중인 하나 이상의 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)를 기다립니다. 따라서 요청이 세션을 다시 시작하지 않고도 해당 도구를 사용할 수 있습니다. Claude는 필요한 서버가 아직 연결되지 않았을 때 호출합니다. [도구 검색](https://code.claude.com/docs/ko/mcp.md#scale-with-mcp-tool-search)이 비활성화되어 있을 때만 나타납니다. `ToolSearch`는 활성화되어 있을 때 대기를 처리합니다 | 아니오 |62| `WaitForMcpServers` | 백그라운드에서 여전히 연결 중인 하나 이상의 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)를 기다립니다. 따라서 요청이 세션을 다시 시작하지 않고도 해당 도구를 사용할 수 있습니다. Claude는 필요한 서버가 아직 연결되지 않았을 때 호출합니다. [도구 검색](https://code.claude.com/docs/ko/mcp.md#scale-with-mcp-tool-search)이 비활성화되어 있을 때만 나타납니다. `ToolSearch`는 활성화되어 있을 때 대기를 처리합니다 | 아니오 |

63| `WebFetch` | 지정된 URL에서 콘텐츠를 가져옵니다. [WebFetch 도구 동작](#webfetch-tool-behavior)을 참조하세요 | 예 |63| `WebFetch` | 지정된 URL에서 콘텐츠를 가져옵니다. [WebFetch 도구 동작](#webfetch-tool-behavior)을 참조하세요 | 예 |

64| `WebSearch` | 웹 검색을 수행합니다. [WebSearch 도구 동작](#websearch-tool-behavior)을 참조하세요 | 예 |64| `WebSearch` | 웹 검색을 수행합니다. [WebSearch 도구 동작](#websearch-tool-behavior)을 참조하세요 | 예 |

65| `Workflow` | [동적 워크플로우](https://code.claude.com/docs/ko/workflows.md)를 실행합니다. 백그라운드에서 많은 서브에이전트를 조율하고 하나의 통합된 결과를 반환하는 스크립트입니다 | 예 |65| `Workflow` | [동적 워크플로](https://code.claude.com/docs/ko/workflows.md)를 실행합니다. 백그라운드에서 많은 서브에이전트를 조율하고 하나의 통합된 결과를 반환하는 스크립트입니다 | 예 |

66| `Write` | 파일을 생성하거나 덮어씁니다. [Write 도구 동작](#write-tool-behavior)을 참조하세요 | 예 |66| `Write` | 파일을 생성하거나 덮어씁니다. [Write 도구 동작](#write-tool-behavior)을 참조하세요 | 예 |

67 67 

68## 권한 규칙 및 훅으로 도구 구성하기68## 권한 규칙 및 훅으로 도구 구성하기


299* **시작 모드**: [`--bare`](https://code.claude.com/docs/ko/headless#start-faster-with-bare-mode) 세션이 아닙니다. Bare 모드는 셸 및 파일 도구만 로드하므로 도구는 거기서 등록되지 않습니다.299* **시작 모드**: [`--bare`](https://code.claude.com/docs/ko/headless#start-faster-with-bare-mode) 세션이 아닙니다. Bare 모드는 셸 및 파일 도구만 로드하므로 도구는 거기서 등록되지 않습니다.

300* **제공자**: [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md), [Google Cloud의 Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md)에서 사용할 수 없으며, [클라우드 게이트웨이](https://code.claude.com/docs/ko/claude-apps-gateway)를 통해 로그인한 세션에서도 사용할 수 없습니다.300* **제공자**: [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md), [Google Cloud의 Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md)에서 사용할 수 없으며, [클라우드 게이트웨이](https://code.claude.com/docs/ko/claude-apps-gateway)를 통해 로그인한 세션에서도 사용할 수 없습니다.

301 301 

302## EnterWorktree 도구 동작

303 

304EnterWorktree 도구는 격리된 [git worktree](https://code.claude.com/docs/ko/worktrees.md)를 생성하고 해당 워크트리로 전환합니다. `path`가 주어지면 새 워크트리를 생성하는 대신 기존 워크트리로 전환합니다.

305 

306* **`path`로 지정할 수 있는 워크트리**: 처음 진입할 때 대상은 현재 저장소의 워크트리일 수 있습니다. 다른 저장소를 포함하는 저장소에서는 그 안에 중첩된 저장소의 워크트리일 수도 있습니다.

307* **확인을 요청하는 경우**: `.claude/worktrees/` 외부의 `path`는 세션의 작업 디렉터리와 쓰기 접근 권한을 해당 위치로 옮기므로, 진입하기 전에 승인을 요청합니다. 새 워크트리 생성과 `.claude/worktrees/` 아래의 경로는 확인을 요청하지 않습니다. v2.1.206 이전에는 Claude가 확인 요청 없이 `.claude/worktrees/` 외부의 경로로 진입했습니다.

308* **워크트리 내부에서**: 워크트리 세션 내에서는 `path` 형식만 사용할 수 있으며, 대상은 세션 저장소의 `.claude/worktrees/` 아래에 있어야 합니다. [`isolation: worktree`](https://code.claude.com/docs/ko/sub-agents#supported-frontmatter-fields)처럼 작업 디렉터리가 고정된 서브에이전트에도 동일하게 적용됩니다.

309* **도구가 없는 경우**: [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockwritesoutsideworkingdirectories)가 켜져 있으면 Claude Code는 `EnterWorktree`와 `ExitWorktree`를 제거하거나 이에 대한 호출을 거부합니다. 워크트리에서 계속 작업하려면 [Claude에 `EnterWorktree` 도구가 없음](https://code.claude.com/docs/ko/worktrees#claude-has-no-enterworktree-tool)을 참조하세요.

310 

302## Glob 도구 동작311## Glob 도구 동작

303 312 

304Glob 도구는 이름 패턴으로 파일을 찾습니다. Windows에서는 기본 도구 세트의 일부입니다. macOS, Linux 및 WSL에서 Claude Code는 Glob과 [Grep](#grep-tool-behavior)을 기본 도구 세트에서 제외하고, Claude는 Bash 도구를 통해 `find` 및 `grep`으로 검색합니다. Claude의 셸에서 이 두 명령은 `bfs` 및 `ugrep`의 임베드된 버전을 실행하며, 검색은 `Bash` 호출로 훅과 권한 규칙에 도달합니다.313Glob 도구는 이름 패턴으로 파일을 찾습니다. Windows에서는 기본 도구 세트의 일부입니다. macOS, Linux 및 WSL에서 Claude Code는 Glob과 [Grep](#grep-tool-behavior)을 기본 도구 세트에서 제외하고, Claude는 Bash 도구를 통해 `find` 및 `grep`으로 검색합니다. Claude의 셸에서 이 두 명령은 `bfs` 및 `ugrep`의 임베드된 버전을 실행하며, 검색은 `Bash` 호출로 훅과 권한 규칙에 도달합니다.

worktrees.md +17 −3

Details

41 41 

42### Claude에게 worktree 생성 요청42### Claude에게 worktree 생성 요청

43 43 

44세션 중에 Claude에게 "worktree에서 작업하기"를 요청할 수도 있으며, [`EnterWorktree`](https://code.claude.com/docs/ko/tools-reference) 도구로 하나를 생성합니다. Worktree에 들어가면 Claude는 `.claude/worktrees/` 아래의 다른 worktree로 `EnterWorktree`를 호출하여 직접 전환할 수 있습니다. 이전 worktree는 디스크에 그대로 남아 있습니다.44세션 중에 Claude에게 "worktree에서 작업하기"를 요청할 수도 있으며, [`EnterWorktree`](https://code.claude.com/docs/ko/tools-reference#enterworktree-tool-behavior) 도구로 하나를 생성합니다. Worktree에 들어가면 Claude는 `.claude/worktrees/` 아래의 다른 worktree로 `EnterWorktree`를 호출하여 직접 전환할 수 있습니다. 이전 worktree는 디스크에 그대로 남아 있습니다.

45 45 

46Claude가 저장소의 `.claude/worktrees/` 디렉터리 외부의 경로에 들어가면 Claude Code는 먼저 승인을 요청합니다. 이 이동은 세션의 작업 디렉터리, 쓰기 액세스 및 `CLAUDE.md` 및 설정과 같은 프로젝트 구성을 해당 위치로 옮깁니다. `EnterWorktree` [권한 규칙](https://code.claude.com/docs/ko/permissions.md) 또는 "다시 묻지 않기"를 선택해도 이 프롬프트를 억제하지 않습니다. `bypassPermissions` 모드만 이를 건너뜁니다.46Claude가 저장소의 `.claude/worktrees/` 디렉터리 외부의 경로에 들어가면 Claude Code는 먼저 승인을 요청합니다. 이 이동은 세션의 작업 디렉터리, 쓰기 액세스 및 `CLAUDE.md` 및 설정과 같은 프로젝트 구성을 해당 위치로 옮깁니다. `EnterWorktree` [권한 규칙](https://code.claude.com/docs/ko/permissions.md) 또는 "다시 묻지 않기"를 선택해도 이 프롬프트를 억제하지 않습니다. `bypassPermissions` 모드만 이를 건너뜁니다.

47 47 


52> * **`${CLAUDE_PROJECT_DIR}` 유지**: 세션이 시작된 프로젝트 루트를 계속 가리키므로 `${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh`와 같은 훅 명령은 메인 체크아웃에서 스크립트를 실행합니다.52> * **`${CLAUDE_PROJECT_DIR}` 유지**: 세션이 시작된 프로젝트 루트를 계속 가리키므로 `${CLAUDE_PROJECT_DIR}/.claude/hooks/check-style.sh`와 같은 훅 명령은 메인 체크아웃에서 스크립트를 실행합니다.

53> * **`cwd`는 Claude를 따릅니다**: 훅의 [입력 JSON](https://code.claude.com/docs/ko/hooks.md#common-input-fields)의 `cwd` 필드는 worktree 루트이며, Claude가 `cd`를 실행할 때 다시 이동합니다. 훅이 worktree 경로가 필요할 때 읽습니다.53> * **`cwd`는 Claude를 따릅니다**: 훅의 [입력 JSON](https://code.claude.com/docs/ko/hooks.md#common-input-fields)의 `cwd` 필드는 worktree 루트이며, Claude가 `cd`를 실행할 때 다시 이동합니다. 훅이 worktree 경로가 필요할 때 읽습니다.

54 54 

55#### Claude에 `EnterWorktree` 도구가 없는 경우

56 

57Claude에게 worktree에서 작업하도록 요청했는데 `EnterWorktree` 또는 `ExitWorktree` 도구가 없다면 [`permissions.blockWritesOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockwritesoutsideworkingdirectories)가 켜져 있는지 확인합니다. 이 키가 켜지면 Claude Code는 두 worktree 도구를 모두 제거하거나 해당 도구 호출을 거부합니다.

58 

59키가 켜져 있는 동안에도 worktree에서 계속 작업할 수 있습니다:

60 

61* **대화형 세션**: `claude --worktree`로 worktree에서 세션을 시작합니다.

62* **[백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md#how-file-edits-are-isolated)**: Claude Code는 세션이 `EnterWorktree`를 호출할 때까지 메인 체크아웃에서의 백그라운드 세션 편집을 거부하지만, 세션에는 이 도구가 없습니다. 다음 중 하나를 사용하면 세션이 편집할 수 있습니다:

63 * `claude --bg --worktree`로 세션 시작

64 * [`worktree.bgIsolation`](https://code.claude.com/docs/ko/settings-reference#worktree-bgisolation)을 `"none"`으로 설정

65 * 세션이 시작된 디렉터리 아래에 `git worktree add`로 만든 worktree에서 Claude가 편집하도록 지정

66 

67도구를 다시 사용하려면 세션에서 `/status`를 실행하여 [세션이 로드한 설정 소스](https://code.claude.com/docs/ko/settings.md#check-what-loaded)를 나열하고, 키를 설정하는 모든 파일에서 해당 키를 제거합니다. 그런 다음 Claude Code를 다시 시작합니다. 관리형 설정에서 키를 설정한 경우 정책을 변경해야 하는지 관리자에게 문의합니다.

68 

55## worktree 정리69## worktree 정리

56 70 

57대화형 worktree 세션을 종료할 때 Claude는 worktree에서 제거로 인해 삭제될 작업을 확인합니다: 변경되거나 추적되지 않은 파일, 체크아웃된 서브모듈 내의 커밋되지 않은 작업, 그리고 새로운 커밋입니다. 이러한 규칙은 Claude가 git으로 생성한 worktree에 적용됩니다. [WorktreeCreate 훅](https://code.claude.com/docs/ko/hooks.md#worktreecreate)이 생성한 worktree의 경우 대신 [WorktreeRemove](https://code.claude.com/docs/ko/hooks.md#worktreeremove)를 참조하십시오.71대화형 worktree 세션을 종료할 때 Claude는 worktree에서 제거로 인해 삭제될 작업을 확인합니다: 변경되거나 추적되지 않은 파일, 체크아웃된 서브모듈 내의 커밋되지 않은 작업, 그리고 새로운 커밋입니다. 이러한 규칙은 Claude가 git으로 생성한 worktree에 적용됩니다. [WorktreeCreate 훅](https://code.claude.com/docs/ko/hooks.md#worktreecreate)이 생성한 worktree의 경우 대신 [WorktreeRemove](https://code.claude.com/docs/ko/hooks.md#worktreeremove)를 참조하십시오.


67 81 

68## worktree 세션 재개82## worktree 세션 재개

69 83 

70[worktree를 종료하지 않고](#clean-up-worktrees) 끝난 세션을 재개할 때 Claude Code는 세션을 해당 worktree로 반환합니다. 이는 대화형 재개, [비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서 `-p`를 사용한 `--continue` 및 `--resume`, 그리고 Agent SDK에 적용됩니다. `--continue`는 실행한 디렉토리 아래에 기록된 가장 최근 세션을 선택합니다. Worktree 내부로 돌아가면 Claude는 여전히 [`ExitWorktree`](https://code.claude.com/docs/ko/tools-reference) 도구로 이를 종료할 수 있습니다.84[worktree를 종료하지 않고](#clean-up-worktrees) 끝난 세션을 재개할 때 Claude Code는 세션을 해당 worktree로 반환합니다. 이는 대화형 재개, [비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서 `-p`를 사용한 `--continue` 및 `--resume`, 그리고 Agent SDK에 적용됩니다. `--continue`는 실행한 디렉터리 아래에 기록된 가장 최근 세션을 선택합니다. Worktree 내부로 돌아가면 Claude는 [세션에 해당 도구가 있는 경우](#claude-has-no-enterworktree-tool) [`ExitWorktree`](https://code.claude.com/docs/ko/tools-reference) 도구로 worktree를 나갈 수 있습니다.

71 85 

72Claude Code가 세션을 worktree로 반환하기 전에 worktree가 여전히 메인 체크아웃과 별도의 체크아웃인지 확인하고, 확인에 실패한 worktree로 다시 들어가기를 거부합니다. Git worktree의 경우 확인은 git 메타데이터를 읽습니다. [`WorktreeCreate` 훅](#non-git-version-control)이 생성한 것과 같은 git 메타데이터가 없는 worktree는 확인을 통과할 수 있습니다. Claude Code가 여전히 거부하는 경우는 [Claude Code가 worktree 사용을 거부](#claude-code-refuses-to-use-a-worktree)에 나열되어 있으며 복구 방법도 함께 제시됩니다. 메시지 및 각각에서 복구하는 방법은 [세션이 worktree 외부에서 재개](#the-session-resumes-outside-its-worktree)를 참조합니다.86Claude Code가 세션을 worktree로 반환하기 전에 worktree가 여전히 메인 체크아웃과 별도의 체크아웃인지 확인하고, 확인에 실패한 worktree로 다시 들어가기를 거부합니다. Git worktree의 경우 확인은 git 메타데이터를 읽습니다. [`WorktreeCreate` 훅](#non-git-version-control)이 생성한 것과 같은 git 메타데이터가 없는 worktree는 확인을 통과할 수 있습니다. Claude Code가 여전히 거부하는 경우는 [Claude Code가 worktree 사용을 거부](#claude-code-refuses-to-use-a-worktree)에 나열되어 있으며 복구 방법도 함께 제시됩니다. 메시지 및 각각에서 복구하는 방법은 [세션이 worktree 외부에서 재개](#the-session-resumes-outside-its-worktree)를 참조합니다.

73 87 


91 105 

92Claude Code는 네 가지 확인을 적용합니다:106Claude Code는 네 가지 확인을 적용합니다:

93 107 

94* **파일 편집**: Claude Code는 메인 체크아웃의 경로를 대상으로 하는 `Edit`, `Write` 또는 `NotebookEdit`을 차단합니다.108* **파일 편집**: Claude Code는 메인 체크아웃의 경로를 대상으로 하는 `Edit`, `Write` 또는 `NotebookEdit`을 차단합니다. 메인 체크아웃의 파일을 변경하려면 직접 편집하거나 그곳에서 대화형 세션을 시작하세요.

95* **명령 작업 디렉토리**: Claude Code는 작업 디렉토리가 메인 체크아웃으로 확인되거나 그 외부에 머물러 있는지 확인할 수 없는 Bash, PowerShell 또는 Monitor 명령을 차단합니다.109* **명령 작업 디렉토리**: Claude Code는 작업 디렉토리가 메인 체크아웃으로 확인되거나 그 외부에 머물러 있는지 확인할 수 없는 Bash, PowerShell 또는 Monitor 명령을 차단합니다.

96* **Git 리다이렉트**: Claude Code는 git을 메인 체크아웃으로 리다이렉트하는 Bash 또는 Monitor 명령을 차단합니다. 리다이렉트는 `git -C`, `--git-dir`, `GIT_DIR` 또는 `GIT_WORK_TREE` 변수, 또는 git을 실행하기 전에 메인 체크아웃으로 `cd`를 통해 올 수 있습니다.110* **Git 리다이렉트**: Claude Code는 git을 메인 체크아웃으로 리다이렉트하는 Bash 또는 Monitor 명령을 차단합니다. 리다이렉트는 `git -C`, `--git-dir`, `GIT_DIR` 또는 `GIT_WORK_TREE` 변수, 또는 git을 실행하기 전에 메인 체크아웃으로 `cd`를 통해 올 수 있습니다.

97* **명령 형태**: Claude Code는 명령 텍스트에서 명령이 실행하는 모든 git이 worktree 내부에 머물러 있는지 확인할 수 없을 때 Bash 또는 Monitor 명령을 차단합니다. 예를 들어 명령 이름이 런타임에 계산되거나 구문을 파싱할 수 없거나 `${!name}` 또는 `${ command; }`와 같은 확장이 텍스트에서 명시하지 않은 명령을 실행할 수 있을 때 발생합니다. Claude Code는 Claude에게 거부된 명령을 다시 작성하는 방법을 알려줍니다. 예를 들어 이를 일반 별도 명령으로 분할합니다. 이 확인을 끌 수 없습니다.111* **명령 형태**: Claude Code는 명령 텍스트에서 명령이 실행하는 모든 git이 worktree 내부에 머물러 있는지 확인할 수 없을 때 Bash 또는 Monitor 명령을 차단합니다. 예를 들어 명령 이름이 런타임에 계산되거나 구문을 파싱할 수 없거나 `${!name}` 또는 `${ command; }`와 같은 확장이 텍스트에서 명시하지 않은 명령을 실행할 수 있을 때 발생합니다. Claude Code는 Claude에게 거부된 명령을 다시 작성하는 방법을 알려줍니다. 예를 들어 이를 일반 별도 명령으로 분할합니다. 이 확인을 끌 수 없습니다.