SpyBara
Go Premium

Documentation 2026-09-27 23:59 UTC to 2026-09-28 22:59 UTC

157 files changed +792 −792. View all changes and history on the product overview
2026
Mon 28 22:59 Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02
Details

39다음 표는 각 접근성 옵션, 플래그, 환경 변수 또는 설정으로 설정하는 방법, 그리고 변경되는 사항을 나열합니다.39다음 표는 각 접근성 옵션, 플래그, 환경 변수 또는 설정으로 설정하는 방법, 그리고 변경되는 사항을 나열합니다.

40 40 

41| 옵션 | 유형 | 변경되는 사항 |41| 옵션 | 유형 | 변경되는 사항 |

42| :---------------------------------------------------------------------- | :---- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |42| :- | :- | :- |

43| [`--ax-screen-reader`](/docs/ko/cli-reference#cli-flags) | 플래그 | 한 세션에 대한 스크린 리더 모드입니다. |43| [`--ax-screen-reader`](/docs/ko/cli-reference#cli-flags) | 플래그 | 한 세션에 대한 스크린 리더 모드입니다. |

44| [`CLAUDE_AX_SCREEN_READER`](/docs/ko/env-vars#variables) | 환경 변수 | 설정한 셸에서 시작된 세션에 대한 스크린 리더 모드입니다. |44| [`CLAUDE_AX_SCREEN_READER`](/docs/ko/env-vars#variables) | 환경 변수 | 설정한 셸에서 시작된 세션에 대한 스크린 리더 모드입니다. |

45| [`axScreenReader`](/docs/ko/settings-reference#axscreenreader) | 설정 | `true`일 때 모든 세션에 대한 스크린 리더 모드입니다. |45| [`axScreenReader`](/docs/ko/settings-reference#axscreenreader) | 설정 | `true`일 때 모든 세션에 대한 스크린 리더 모드입니다. |


71트랜스크립트의 각 메시지는 스크린 리더가 발표하는 레이블로 시작하며, 이것이 무엇인지 이름을 지정합니다: 사용자의 메시지, Claude의 답변 및 생각, 도구 활동, 오류 및 경고, 그리고 프롬프트. 레이블은 또한 검색 가능하므로 터미널의 스크롤백을 검색하여 트랜스크립트의 섹션 간에 이동할 수 있습니다:71트랜스크립트의 각 메시지는 스크린 리더가 발표하는 레이블로 시작하며, 이것이 무엇인지 이름을 지정합니다: 사용자의 메시지, Claude의 답변 및 생각, 도구 활동, 오류 및 경고, 그리고 프롬프트. 레이블은 또한 검색 가능하므로 터미널의 스크롤백을 검색하여 트랜스크립트의 섹션 간에 이동할 수 있습니다:

72 72 

73| 레이블 | 의미 |73| 레이블 | 의미 |

74| :--------------------- | :--------------------------------------------------------- |74| :- | :- |

75| `you:` | 사용자의 메시지 |75| `you:` | 사용자의 메시지 |

76| `claude:` | Claude의 답변 |76| `claude:` | Claude의 답변 |

77| `thinking:` | Claude의 생각 |77| `thinking:` | Claude의 생각 |

admin-setup.md +6 −6

Details

15</Note>15</Note>

16 16 

17| 결정 | 선택 항목 | 참조 |17| 결정 | 선택 항목 | 참조 |

18| :------------------------------------------------------- | :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |18| :- | :- | :- |

19| [API 제공자 선택](#choose-your-api-provider) | Claude Code가 인증하는 위치 및 청구 방식 | [Authentication](/docs/ko/authentication), [Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry) |19| [API 제공자 선택](#choose-your-api-provider) | Claude Code가 인증하는 위치 및 청구 방식 | [Authentication](/docs/ko/authentication), [Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry) |

20| [설정이 기기에 도달하는 방식 결정](#decide-how-settings-reach-devices) | 관리 정책이 개발자 머신에 도달하는 방식 | [Server-managed settings](/docs/ko/server-managed-settings), [Delivery mechanisms](/docs/ko/managed-settings#delivery-mechanisms) |20| [설정이 기기에 도달하는 방식 결정](#decide-how-settings-reach-devices) | 관리 정책이 개발자 머신에 도달하는 방식 | [Server-managed settings](/docs/ko/server-managed-settings), [Delivery mechanisms](/docs/ko/managed-settings#delivery-mechanisms) |

21| [시행할 항목 결정](#decide-what-to-enforce) | 허용되는 도구, 명령 및 통합 | [Permissions](/docs/ko/permissions), [Sandboxing](/docs/ko/sandboxing) |21| [시행할 항목 결정](#decide-what-to-enforce) | 허용되는 도구, 명령 및 통합 | [Permissions](/docs/ko/permissions), [Sandboxing](/docs/ko/sandboxing) |


29Claude Code는 여러 API 제공자 중 하나를 통해 Claude에 연결됩니다. 선택에 따라 청구, 인증, 상속하는 규정 준수 태세 및 개발자가 사용할 수 있는 Claude Code 기능이 결정됩니다.29Claude Code는 여러 API 제공자 중 하나를 통해 Claude에 연결됩니다. 선택에 따라 청구, 인증, 상속하는 규정 준수 태세 및 개발자가 사용할 수 있는 Claude Code 기능이 결정됩니다.

30 30 

31| 제공자 | 다음의 경우 선택 |31| 제공자 | 다음의 경우 선택 |

32| :---------------------------- | :------------------------------------------------------------------------ |32| :- | :- |

33| Claude for Teams / Enterprise | Claude Code와 claude.ai를 실행할 인프라 없이 사용자당 구독 하나로 원하는 경우입니다. 이것이 기본 권장사항입니다. |33| Claude for Teams / Enterprise | Claude Code와 claude.ai를 실행할 인프라 없이 사용자당 구독 하나로 원하는 경우입니다. 이것이 기본 권장사항입니다. |

34| Claude Console | API 우선이거나 종량제 청구를 원하는 경우 |34| Claude Console | API 우선이거나 종량제 청구를 원하는 경우 |

35| Amazon Bedrock | 기존 AWS 규정 준수 제어 및 청구를 상속하려는 경우 |35| Amazon Bedrock | 기존 AWS 규정 준수 제어 및 청구를 상속하려는 경우 |


49관리 설정은 조직 정책을 정의합니다. Claude Code는 아래 표의 네 가지 소스를 우선순위 순서대로 확인합니다. [Claude Code가 관리 소스를 결합하는 방식](/docs/ko/managed-settings#precedence-within-the-managed-tier)에서는 어떤 소스가 적용되는지, 정책 도우미가 무엇을 변경하는지, 모든 소스를 구성하는 방법을 설명합니다. 표는 의사결정 맵입니다.49관리 설정은 조직 정책을 정의합니다. Claude Code는 아래 표의 네 가지 소스를 우선순위 순서대로 확인합니다. [Claude Code가 관리 소스를 결합하는 방식](/docs/ko/managed-settings#precedence-within-the-managed-tier)에서는 어떤 소스가 적용되는지, 정책 도우미가 무엇을 변경하는지, 모든 소스를 구성하는 방법을 설명합니다. 표는 의사결정 맵입니다.

50 50 

51| 메커니즘 | 전달 | 우선순위 | 플랫폼 |51| 메커니즘 | 전달 | 우선순위 | 플랫폼 |

52| :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--- | :------------- |52| :- | :- | :- | :- |

53| Server-managed | claude.ai 관리자 콘솔 또는 게이트웨이 로그인을 위한 자체 호스팅 [Claude apps gateway](/docs/ko/claude-apps-gateway) | 최고 | 모두 |53| Server-managed | claude.ai 관리자 콘솔 또는 게이트웨이 로그인을 위한 자체 호스팅 [Claude apps gateway](/docs/ko/claude-apps-gateway) | 최고 | 모두 |

54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | 높음 | macOS, Windows |54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | 높음 | macOS, Windows |

55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux and WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | 중간 | 모두 |55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux and WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | 중간 | 모두 |


94관리 설정은 도구, 샌드박스 실행, MCP 서버 및 플러그인 소스 제한, 실행되는 hooks 제어를 잠글 수 있습니다. 각 행은 이를 구동하는 설정 키가 있는 제어 표면입니다.94관리 설정은 도구, 샌드박스 실행, MCP 서버 및 플러그인 소스 제한, 실행되는 hooks 제어를 잠글 수 있습니다. 각 행은 이를 구동하는 설정 키가 있는 제어 표면입니다.

95 95 

96| 제어 | 기능 | 주요 설정 |96| 제어 | 기능 | 주요 설정 |

97| :------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |97| :- | :- | :- |

98| [Permission rules](/docs/ko/permissions) | 특정 도구 및 명령 허용, 요청 또는 거부 | `permissions.allow`, `permissions.deny` |98| [Permission rules](/docs/ko/permissions) | 특정 도구 및 명령 허용, 요청 또는 거부 | `permissions.allow`, `permissions.deny` |

99| [Permission lockdown](/docs/ko/permissions#managed-only-settings) | 관리 설정을 [권한 규칙의 유일한 설정 소스](/docs/ko/settings-reference#allowmanagedpermissionrulesonly)로 만듭니다. `--dangerously-skip-permissions` 비활성화 | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |99| [Permission lockdown](/docs/ko/permissions#managed-only-settings) | 관리 설정을 [권한 규칙의 유일한 설정 소스](/docs/ko/settings-reference#allowmanagedpermissionrulesonly)로 만듭니다. `--dangerously-skip-permissions` 비활성화 | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

100| [Starting permission mode](/docs/ko/permission-modes#which-mode-a-session-starts-in) | 기본 제공 시작 권한 모드 대신 개발자의 터미널 세션이 시작되는 권한 모드를 선택하거나 자동 모드를 제거합니다. VS Code 확장은 Pro, Max 및 Team 플랜에서만 설정한 `defaultMode`를 읽습니다. [Switch permission modes](/docs/ko/permission-modes#switch-permission-modes)는 확장이 읽는 내용을 나열합니다 | `permissions.defaultMode`, `permissions.disableAutoMode` |100| [Starting permission mode](/docs/ko/permission-modes#which-mode-a-session-starts-in) | 기본 제공 시작 권한 모드 대신 개발자의 터미널 세션이 시작되는 권한 모드를 선택하거나 자동 모드를 제거합니다. VS Code 확장은 Pro, Max 및 Team 플랜에서만 설정한 `defaultMode`를 읽습니다. [Switch permission modes](/docs/ko/permission-modes#switch-permission-modes)는 확장이 읽는 내용을 나열합니다 | `permissions.defaultMode`, `permissions.disableAutoMode` |


135보고해야 할 내용에 따라 모니터링을 선택하세요. 대시보드, API 및 지출 제어는 Claude for Teams 또는 Enterprise 플랜과 Claude Console 조직 간에 다르므로, 기능을 중심으로 보고를 계획하기 전에 가용성 열을 확인하세요.135보고해야 할 내용에 따라 모니터링을 선택하세요. 대시보드, API 및 지출 제어는 Claude for Teams 또는 Enterprise 플랜과 Claude Console 조직 간에 다르므로, 기능을 중심으로 보고를 계획하기 전에 가용성 열을 확인하세요.

136 136 

137| 기능 | 제공 항목 | 가용성 | 시작 위치 |137| 기능 | 제공 항목 | 가용성 | 시작 위치 |

138| :--------------------- | :-------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- |138| :- | :- | :- | :- |

139| Usage monitoring | 세션, 도구 및 토큰의 OpenTelemetry 내보내기 | 모든 제공자 | [Monitoring usage](/docs/ko/monitoring-usage) |139| Usage monitoring | 세션, 도구 및 토큰의 OpenTelemetry 내보내기 | 모든 제공자 | [Monitoring usage](/docs/ko/monitoring-usage) |

140| Analytics dashboard | Teams / Enterprise의 채택 및 기여도 메트릭(리더보드 포함); Console의 사용자별 사용량 및 지출 메트릭 | Teams / Enterprise at [claude.ai/analytics](https://claude.ai/analytics/claude-code), Console at [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | [Analytics](/docs/ko/analytics) |140| Analytics dashboard | Teams / Enterprise의 채택 및 기여도 메트릭(리더보드 포함); Console의 사용자별 사용량 및 지출 메트릭 | Teams / Enterprise at [claude.ai/analytics](https://claude.ai/analytics/claude-code), Console at [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | [Analytics](/docs/ko/analytics) |

141| Programmatic reporting | API를 통한 사용자별 사용량 및 비용 데이터 | Enterprise의 경우 [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics), Console의 경우 [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) | [Costs](/docs/ko/costs#manage-costs-for-your-organization) |141| Programmatic reporting | API를 통한 사용자별 사용량 및 비용 데이터 | Enterprise의 경우 [Enterprise Analytics API](https://platform.claude.com/docs/en/api/admin/analytics), Console의 경우 [Claude Code Analytics API](https://platform.claude.com/docs/en/build-with-claude/claude-code-analytics-api) | [Costs](/docs/ko/costs#manage-costs-for-your-organization) |


150Team, Enterprise, Claude API 및 클라우드 제공자 플랜에서 Anthropic은 코드 또는 프롬프트에 대해 모델을 학습하지 않습니다. API 제공자가 보존 및 규정 준수 태세를 결정합니다.150Team, Enterprise, Claude API 및 클라우드 제공자 플랜에서 Anthropic은 코드 또는 프롬프트에 대해 모델을 학습하지 않습니다. API 제공자가 보존 및 규정 준수 태세를 결정합니다.

151 151 

152| 주제 | 알아야 할 사항 | 시작 위치 |152| 주제 | 알아야 할 사항 | 시작 위치 |

153| :------------------------ | :--------------------------------------------- | :--------------------------------------------- |153| :- | :- | :- |

154| Data usage policy | Anthropic이 수집하는 항목, 보존 기간, 학습에 사용되지 않는 항목 | [Data usage](/docs/ko/data-usage) |154| Data usage policy | Anthropic이 수집하는 항목, 보존 기간, 학습에 사용되지 않는 항목 | [Data usage](/docs/ko/data-usage) |

155| Zero Data Retention (ZDR) | 요청 완료 후 저장되지 않음. Claude for Enterprise에서 사용 가능 | [Zero data retention](/docs/ko/zero-data-retention) |155| Zero Data Retention (ZDR) | 요청 완료 후 저장되지 않음. Claude for Enterprise에서 사용 가능 | [Zero data retention](/docs/ko/zero-data-retention) |

156| Security architecture | 네트워크 모델, 암호화, 인증, 감사 추적 | [Security](/docs/ko/security) |156| Security architecture | 네트워크 모델, 암호화, 인증, 감사 추적 | [Security](/docs/ko/security) |

advisor.md +3 −3

Details

96조언자는 주 모델 이상의 기능을 가져야 합니다. 각 주 모델에 대해 허용되는 조언자는 다음과 같습니다:96조언자는 주 모델 이상의 기능을 가져야 합니다. 각 주 모델에 대해 허용되는 조언자는 다음과 같습니다:

97 97 

98| 주 모델 | 허용되는 조언자 | 참고 |98| 주 모델 | 허용되는 조언자 | 참고 |

99| -------------------- | ---------------------------- | ------------------------------------------------------------------ |99| - | - | - |

100| Haiku 4.5 | Fable, Opus, Sonnet | Haiku는 조언자를 호출할 수 있지만 조언자로 작동할 수 없습니다 |100| Haiku 4.5 | Fable, Opus, Sonnet | Haiku는 조언자를 호출할 수 있지만 조언자로 작동할 수 없습니다 |

101| Sonnet 4.6 | Fable, Opus, Sonnet | |101| Sonnet 4.6 | Fable, Opus, Sonnet | |

102| Sonnet 5 | Fable, Opus 4.7 이상, Sonnet 5 | Sonnet 4.6 조언자는 거부되며, API는 Opus 4.6 조언자를 거부합니다 |102| Sonnet 5 | Fable, Opus 4.7 이상, Sonnet 5 | Sonnet 4.6 조언자는 거부되며, API는 Opus 4.6 조언자를 거부합니다 |


135허용되는 모든 쌍이 작동합니다. 이러한 조합은 비용과 기능을 다양한 방식으로 균형을 맞춥니다:135허용되는 모든 쌍이 작동합니다. 이러한 조합은 비용과 기능을 다양한 방식으로 균형을 맞춥니다:

136 136 

137| 쌍 | 사용 시기 |137| 쌍 | 사용 시기 |

138| --------------------- | ----------------------------------------------------------------------------------------- |138| - | - |

139| Sonnet 주 + Opus 조언자 | Sonnet은 일상적인 작업을 처리하고 계획, 모호한 실패, 완료 확인을 Opus로 에스컬레이션합니다 |139| Sonnet 주 + Opus 조언자 | Sonnet은 일상적인 작업을 처리하고 계획, 모호한 실패, 완료 확인을 Opus로 에스컬레이션합니다 |

140| Sonnet 주 + Fable 조언자 | 전체 Fable을 실행하지 않고 결정 지점에서 Fable 지침을 받습니다. Fable 액세스가 필요합니다 |140| Sonnet 주 + Fable 조언자 | 전체 Fable을 실행하지 않고 결정 지점에서 Fable 지침을 받습니다. Fable 액세스가 필요합니다 |

141| Haiku 주 + Opus 조언자 | 강력한 계획을 갖춘 가장 저렴한 주 모델입니다. Haiku 단독보다 비용이 높지만 주 모델을 Sonnet 또는 Opus로 전환하는 것보다 낮을 것으로 예상됩니다 |141| Haiku 주 + Opus 조언자 | 강력한 계획을 갖춘 가장 저렴한 주 모델입니다. Haiku 단독보다 비용이 높지만 주 모델을 Sonnet 또는 Opus로 전환하는 것보다 낮을 것으로 예상됩니다 |


216조언자는 모델 강점을 결합하는 여러 방법 중 하나입니다. 더 강력한 모델을 언제 포함할지에 따라 선택하세요.216조언자는 모델 강점을 결합하는 여러 방법 중 하나입니다. 더 강력한 모델을 언제 포함할지에 따라 선택하세요.

217 217 

218| 접근 방식 | 더 강력한 모델이 실행되는 시기 | 시작 방식 |218| 접근 방식 | 더 강력한 모델이 실행되는 시기 | 시작 방식 |

219| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | --------------------------- |219| - | - | - |

220| 조언자 도구 | 작업 중간의 결정 지점에서 | Claude가 지침이 필요할 때 호출합니다 |220| 조언자 도구 | 작업 중간의 결정 지점에서 | Claude가 지침이 필요할 때 호출합니다 |

221| [`opusplan`](/docs/ko/model-config#opusplan-model-setting) | [계획 모드 중 `availableModels`에서 허용될 때](/docs/ko/model-config#restrict-model-selection), 그 다음 실행을 위해 Sonnet으로 전환 | 계획 모드를 입력합니다 |221| [`opusplan`](/docs/ko/model-config#opusplan-model-setting) | [계획 모드 중 `availableModels`에서 허용될 때](/docs/ko/model-config#restrict-model-selection), 그 다음 실행을 위해 Sonnet으로 전환 | 계획 모드를 입력합니다 |

222| [서브에이전트](/docs/ko/sub-agents#choose-a-model) (`model` 설정) | 전체 위임된 부작업에 대해 | Claude가 위임하거나 서브에이전트를 호출합니다 |222| [서브에이전트](/docs/ko/sub-agents#choose-a-model) (`model` 설정) | 전체 위임된 부작업에 대해 | Claude가 위임하거나 서브에이전트를 호출합니다 |

Details

165SDK는 Claude Code를 구동하는 동일한 도구를 포함합니다:165SDK는 Claude Code를 구동하는 동일한 도구를 포함합니다:

166 166 

167| 카테고리 | 도구 | 기능 |167| 카테고리 | 도구 | 기능 |

168| :---------- | :-------------------------------------------------------------- | :-------------------------------------- |168| :- | :- | :- |

169| **파일 작업** | `Read`, `Edit`, `Write` | 파일 읽기, 수정, 생성 |169| **파일 작업** | `Read`, `Edit`, `Write` | 파일 읽기, 수정, 생성 |

170| **검색** | `Glob`, `Grep` | 패턴으로 파일 찾기, 정규식으로 콘텐츠 검색 |170| **검색** | `Glob`, `Grep` | 패턴으로 파일 찾기, 정규식으로 콘텐츠 검색 |

171| **실행** | `Bash` | 셸 명령, 스크립트, git 작업 실행 |171| **실행** | `Bash` | 셸 명령, 스크립트, git 작업 실행 |


214</h3>214</h3>

215 215 

216| 옵션 | 제어 대상 | 기본값 |216| 옵션 | 제어 대상 | 기본값 |

217| :--------------------------------------- | :---------- | :---- |217| :- | :- | :- |

218| 최대 턴(`max_turns` / `maxTurns`) | 최대 도구 사용 왕복 | 제한 없음 |218| 최대 턴(`max_turns` / `maxTurns`) | 최대 도구 사용 왕복 | 제한 없음 |

219| 최대 예산(`max_budget_usd` / `maxBudgetUsd`) | 중지 전 최대 비용 | 제한 없음 |219| 최대 예산(`max_budget_usd` / `maxBudgetUsd`) | 중지 전 최대 비용 | 제한 없음 |

220 220 


231`effort` 옵션은 Claude가 적용하는 추론의 양을 제어합니다. 낮은 노력 수준은 턴당 더 적은 토큰을 사용하고 비용을 줄입니다. 모든 모델이 노력 매개변수를 지원하는 것은 아닙니다. 어떤 모델이 지원하는지는 [노력](https://platform.claude.com/docs/en/build-with-claude/effort)을 참조하세요.231`effort` 옵션은 Claude가 적용하는 추론의 양을 제어합니다. 낮은 노력 수준은 턴당 더 적은 토큰을 사용하고 비용을 줄입니다. 모든 모델이 노력 매개변수를 지원하는 것은 아닙니다. 어떤 모델이 지원하는지는 [노력](https://platform.claude.com/docs/en/build-with-claude/effort)을 참조하세요.

232 232 

233| 수준 | 동작 | 적합한 경우 |233| 수준 | 동작 | 적합한 경우 |

234| :--------- | :----------- | :-------------------------------------------------------------- |234| :- | :- | :- |

235| `"low"` | 최소 추론, 빠른 응답 | 파일 조회, 디렉토리 나열 |235| `"low"` | 최소 추론, 빠른 응답 | 파일 조회, 디렉토리 나열 |

236| `"medium"` | 균형 잡힌 추론 | 일상적인 편집, 표준 작업 |236| `"medium"` | 균형 잡힌 추론 | 일상적인 편집, 표준 작업 |

237| `"high"` | 철저한 분석 | 리팩토링, 디버깅 |237| `"high"` | 철저한 분석 | 리팩토링, 디버깅 |


253권한 모드 옵션(Python의 `permission_mode`, TypeScript의 `permissionMode`)은 에이전트가 도구를 사용하기 전에 승인을 요청하는지 여부를 제어합니다:253권한 모드 옵션(Python의 `permission_mode`, TypeScript의 `permissionMode`)은 에이전트가 도구를 사용하기 전에 승인을 요청하는지 여부를 제어합니다:

254 254 

255| 모드 | 동작 | 사용 사례 |255| 모드 | 동작 | 사용 사례 |

256| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------ |256| :- | :- | :- |

257| `"default"` | 승인이 필요하고 허용 규칙으로 다루지 않는 도구 호출은 `canUseTool` 콜백을 트리거합니다; 콜백이 없으면 거부 | 사용자 정의 승인 콜백이 있는 대화형 애플리케이션 |257| `"default"` | 승인이 필요하고 허용 규칙으로 다루지 않는 도구 호출은 `canUseTool` 콜백을 트리거합니다; 콜백이 없으면 거부 | 사용자 정의 승인 콜백이 있는 대화형 애플리케이션 |

258| `"acceptEdits"` | 파일 편집 및 일반적인 파일시스템 명령(`mkdir`, `touch`, `mv`, `cp` 등)을 자동 승인합니다; 다른 Bash 명령은 기본 규칙을 따릅니다 | Claude의 편집을 신뢰하고 더 빠른 반복을 원하는 경우(예: 프로토타이핑 중이거나 격리된 디렉토리에서 작업할 때) |258| `"acceptEdits"` | 파일 편집 및 일반적인 파일시스템 명령(`mkdir`, `touch`, `mv`, `cp` 등)을 자동 승인합니다; 다른 Bash 명령은 기본 규칙을 따릅니다 | Claude의 편집을 신뢰하고 더 빠른 반복을 원하는 경우(예: 프로토타이핑 중이거나 격리된 디렉토리에서 작업할 때) |

259| `"plan"` | Claude는 소스 파일을 편집하지 않고 탐색하고 계획을 생성합니다; 파일 편집은 절대 자동 승인되지 않으며 `canUseTool` 콜백을 통해 프롬프트됩니다 | Claude가 변경 사항을 제안하되 실행하지 않기를 원하는 경우(예: 코드 검토 중이거나 변경 사항이 적용되기 전에 승인해야 할 때) |259| `"plan"` | Claude는 소스 파일을 편집하지 않고 탐색하고 계획을 생성합니다; 파일 편집은 절대 자동 승인되지 않으며 `canUseTool` 콜백을 통해 프롬프트됩니다 | Claude가 변경 사항을 제안하되 실행하지 않기를 원하는 경우(예: 코드 검토 중이거나 변경 사항이 적용되기 전에 승인해야 할 때) |


282SDK에서 각 구성 요소가 컨텍스트에 어떻게 영향을 미치는지는 다음과 같습니다:282SDK에서 각 구성 요소가 컨텍스트에 어떻게 영향을 미치는지는 다음과 같습니다:

283 283 

284| 소스 | 로드 시기 | 영향 |284| 소스 | 로드 시기 | 영향 |

285| :--------------- | :---------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |285| :- | :- | :- |

286| **시스템 프롬프트** | 모든 요청 | 작은 고정 비용, 항상 존재 |286| **시스템 프롬프트** | 모든 요청 | 작은 고정 비용, 항상 존재 |

287| **CLAUDE.md 파일** | 세션 시작, [`settingSources`](/docs/ko/agent-sdk/claude-code-features)를 통해 | 모든 요청에서 전체 콘텐츠(프롬프트 캐시되므로 첫 번째 요청만 전체 비용 지불) |287| **CLAUDE.md 파일** | 세션 시작, [`settingSources`](/docs/ko/agent-sdk/claude-code-features)를 통해 | 모든 요청에서 전체 콘텐츠(프롬프트 캐시되므로 첫 번째 요청만 전체 비용 지불) |

288| **도구 정의** | 모든 요청; MCP 스키마는 기본적으로 지연됨 | 기본 제공 도구 스키마는 모든 요청에서 로드됩니다. [도구 검색](/docs/ko/agent-sdk/mcp#mcp-tool-search)은 기본적으로 MCP 도구 스키마를 지연시키며, 지원되지 않는 모델 및 특정 플랫폼에서 사전 로드로 폴백합니다. 전체 매트릭스는 [도구 검색 구성](/docs/ko/agent-sdk/tool-search#configure-tool-search)을 참조하세요 |288| **도구 정의** | 모든 요청; MCP 스키마는 기본적으로 지연됨 | 기본 제공 도구 스키마는 모든 요청에서 로드됩니다. [도구 검색](/docs/ko/agent-sdk/mcp#mcp-tool-search)은 기본적으로 MCP 도구 스키마를 지연시키며, 지원되지 않는 모델 및 특정 플랫폼에서 사전 로드로 폴백합니다. 전체 매트릭스는 [도구 검색 구성](/docs/ko/agent-sdk/tool-search#configure-tool-search)을 참조하세요 |


353루프가 끝나면 `ResultMessage`는 무엇이 일어났는지 알려주고 출력을 제공합니다. `subtype` 필드(두 SDK 모두에서 사용 가능)는 종료 상태를 확인하는 주요 방법입니다.353루프가 끝나면 `ResultMessage`는 무엇이 일어났는지 알려주고 출력을 제공합니다. `subtype` 필드(두 SDK 모두에서 사용 가능)는 종료 상태를 확인하는 주요 방법입니다.

354 354 

355| 결과 서브타입 | 무엇이 일어났는가 | `result` 필드 사용 가능? |355| 결과 서브타입 | 무엇이 일어났는가 | `result` 필드 사용 가능? |

356| :------------------------------------ | :------------------------------------------------------------------------------------------ | :----------------: |356| :- | :- | :-: |

357| `success` | Claude가 정상적으로 작업을 완료했습니다 | 예 |357| `success` | Claude가 정상적으로 작업을 완료했습니다 | 예 |

358| `error_max_turns` | 완료 전에 `maxTurns` 제한에 도달했습니다 | 아니오 |358| `error_max_turns` | 완료 전에 `maxTurns` 제한에 도달했습니다 | 아니오 |

359| `error_max_budget_usd` | 완료 전에 `maxBudgetUsd` 제한에 도달했습니다 | 아니오 |359| `error_max_budget_usd` | 완료 전에 `maxBudgetUsd` 제한에 도달했습니다 | 아니오 |


387[Hooks](/docs/ko/agent-sdk/hooks)는 루프의 특정 지점에서 발생하는 콜백입니다: 도구가 실행되기 전, 반환된 후, 에이전트가 완료될 때 등. 일반적으로 사용되는 일부 hooks는:387[Hooks](/docs/ko/agent-sdk/hooks)는 루프의 특정 지점에서 발생하는 콜백입니다: 도구가 실행되기 전, 반환된 후, 에이전트가 완료될 때 등. 일반적으로 사용되는 일부 hooks는:

388 388 

389| Hook | 발생 시기 | 일반적인 사용 |389| Hook | 발생 시기 | 일반적인 사용 |

390| :------------------------------- | :------------------ | :--------------- |390| :- | :- | :- |

391| `PreToolUse` | 도구가 실행되기 전 | 입력 검증, 위험한 명령 차단 |391| `PreToolUse` | 도구가 실행되기 전 | 입력 검증, 위험한 명령 차단 |

392| `PostToolUse` | 도구가 반환된 후 | 출력 감사, 부작용 트리거 |392| `PostToolUse` | 도구가 반환된 후 | 출력 감사, 부작용 트리거 |

393| `UserPromptSubmit` | 프롬프트가 전송될 때 | 프롬프트에 추가 컨텍스트 주입 |393| `UserPromptSubmit` | 프롬프트가 전송될 때 | 프롬프트에 추가 컨텍스트 주입 |

Details

76각 소스는 특정 위치에서 설정을 로드합니다. 여기서 `<cwd>`는 `cwd` 옵션을 통해 전달하는 작업 디렉토리이거나, 설정되지 않은 경우 프로세스의 현재 디렉토리입니다. 전체 타입 정의는 [`SettingSource`](/docs/ko/agent-sdk/typescript#settingsource)(TypeScript) 또는 [`SettingSource`](/docs/ko/agent-sdk/python#settingsource)(Python)을 참조하세요.76각 소스는 특정 위치에서 설정을 로드합니다. 여기서 `<cwd>`는 `cwd` 옵션을 통해 전달하는 작업 디렉토리이거나, 설정되지 않은 경우 프로세스의 현재 디렉토리입니다. 전체 타입 정의는 [`SettingSource`](/docs/ko/agent-sdk/typescript#settingsource)(TypeScript) 또는 [`SettingSource`](/docs/ko/agent-sdk/python#settingsource)(Python)을 참조하세요.

77 77 

78| 소스 | 로드되는 항목 | 위치 |78| 소스 | 로드되는 항목 | 위치 |

79| :---------- | :------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |79| :- | :- | :- |

80| `"project"` | 프로젝트 `settings.json` 및 훅; 프로젝트 CLAUDE.md 및 `.claude/rules/*.md`; 프로젝트 스킬, 명령 및 서브에이전트 | `<cwd>/.claude/` (`settings.json` 및 훅의 경우); `<cwd>` 및 모든 상위 디렉토리(CLAUDE.md 및 규칙의 경우); `<cwd>` 및 저장소 루트까지의 모든 상위 디렉토리(스킬, 명령 및 서브에이전트의 경우), 그리고 `additionalDirectories` 또는 `add_dirs` 옵션을 통해 전달하는 각 디렉토리의 `.claude/skills/`, `.claude/commands/` 및 `.claude/agents/` 폴더(SDK가 Claude Code에 [`--add-dir`](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)로 전달함) |80| `"project"` | 프로젝트 `settings.json` 및 훅; 프로젝트 CLAUDE.md 및 `.claude/rules/*.md`; 프로젝트 스킬, 명령 및 서브에이전트 | `<cwd>/.claude/` (`settings.json` 및 훅의 경우); `<cwd>` 및 모든 상위 디렉토리(CLAUDE.md 및 규칙의 경우); `<cwd>` 및 저장소 루트까지의 모든 상위 디렉토리(스킬, 명령 및 서브에이전트의 경우), 그리고 `additionalDirectories` 또는 `add_dirs` 옵션을 통해 전달하는 각 디렉토리의 `.claude/skills/`, `.claude/commands/` 및 `.claude/agents/` 폴더(SDK가 Claude Code에 [`--add-dir`](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)로 전달함) |

81| `"user"` | 사용자 `settings.json`; 사용자 CLAUDE.md 및 `~/.claude/rules/*.md`; 사용자 스킬, 명령 및 서브에이전트 | `~/.claude/` (`settings.json`, CLAUDE.md 및 규칙의 경우); `~/.claude/skills/`, `~/.claude/commands/` 및 `~/.claude/agents/` (스킬, 명령 및 서브에이전트의 경우) |81| `"user"` | 사용자 `settings.json`; 사용자 CLAUDE.md 및 `~/.claude/rules/*.md`; 사용자 스킬, 명령 및 서브에이전트 | `~/.claude/` (`settings.json`, CLAUDE.md 및 규칙의 경우); `~/.claude/skills/`, `~/.claude/commands/` 및 `~/.claude/agents/` (스킬, 명령 및 서브에이전트의 경우) |

82| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `<cwd>/.claude/` (`settings.local.json`의 경우); `<cwd>` 및 모든 상위 디렉토리(CLAUDE.local.md의 경우) |82| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `<cwd>/.claude/` (`settings.local.json`의 경우); `<cwd>` 및 모든 상위 디렉토리(CLAUDE.local.md의 경우) |


92`settingSources`는 사용자, 프로젝트 및 로컬 설정을 다룹니다. 몇 가지 입력은 해당 값과 관계없이 읽혀집니다:92`settingSources`는 사용자, 프로젝트 및 로컬 설정을 다룹니다. 몇 가지 입력은 해당 값과 관계없이 읽혀집니다:

93 93 

94| 입력 | 동작 | 비활성화하려면 |94| 입력 | 동작 | 비활성화하려면 |

95| :-------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |95| :- | :- | :- |

96| 관리형 정책 설정 | 엔드포인트 관리형 정책(예: MDM plist, 레지스트리 정책 또는 관리형 설정 파일)은 호스트에서 로드됩니다. [서버 관리형 설정](/docs/ko/server-managed-settings)은 조직 OAuth 로그인, 직접 구성된 API 키 또는 `user_oauth` [Anthropic 프로필](/docs/ko/authentication#anthropic-profiles-and-federation-credentials)과 같은 적격 자격 증명으로 세션이 인증될 때 [적격 구성](/docs/ko/server-managed-settings#platform-availability)에서 가져와집니다 | 엔드포인트 정책: 호스트에서 관리형 설정 파일, plist 또는 레지스트리 정책을 제거합니다. 서버 관리형 설정: Claude 조직의 [소유자](/docs/ko/server-managed-settings#access-control)가 제어하며, SDK에서 비활성화할 수 없습니다 |96| 관리형 정책 설정 | 엔드포인트 관리형 정책(예: MDM plist, 레지스트리 정책 또는 관리형 설정 파일)은 호스트에서 로드됩니다. [서버 관리형 설정](/docs/ko/server-managed-settings)은 조직 OAuth 로그인, 직접 구성된 API 키 또는 `user_oauth` [Anthropic 프로필](/docs/ko/authentication#anthropic-profiles-and-federation-credentials)과 같은 적격 자격 증명으로 세션이 인증될 때 [적격 구성](/docs/ko/server-managed-settings#platform-availability)에서 가져와집니다 | 엔드포인트 정책: 호스트에서 관리형 설정 파일, plist 또는 레지스트리 정책을 제거합니다. 서버 관리형 설정: Claude 조직의 [소유자](/docs/ko/server-managed-settings#access-control)가 제어하며, SDK에서 비활성화할 수 없습니다 |

97| `~/.claude.json` 전역 구성 | 항상 읽음 | `env`의 `CLAUDE_CONFIG_DIR`로 재배치 |97| `~/.claude.json` 전역 구성 | 항상 읽음 | `env`의 `CLAUDE_CONFIG_DIR`로 재배치 |

98| `~/.claude/projects/<project>/memory/`의 자동 메모리 | 세션 시작 시 시스템 프롬프트에 로드됩니다. 에이전트는 전용 메모리 도구가 아닌 표준 `Write` 및 `Edit` 도구를 사용하여 새 메모리를 작성하므로, 에이전트가 메모리를 저장하려면 이러한 도구를 활성화해야 합니다 | 설정에서 `autoMemoryEnabled: false`를 설정하거나, `env`에서 `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`을 설정합니다 |98| `~/.claude/projects/<project>/memory/`의 자동 메모리 | 세션 시작 시 시스템 프롬프트에 로드됩니다. 에이전트는 전용 메모리 도구가 아닌 표준 `Write` 및 `Edit` 도구를 사용하여 새 메모리를 작성하므로, 에이전트가 메모리를 저장하려면 이러한 도구를 활성화해야 합니다 | 설정에서 `autoMemoryEnabled: false`를 설정하거나, `env`에서 `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`을 설정합니다 |


114</h3>114</h3>

115 115 

116| 수준 | 위치 | 로드 시기 |116| 수준 | 위치 | 로드 시기 |

117| :------------ | :------------------------------------------------------------ | :------------------------------------------------------------------ |117| :- | :- | :- |

118| 프로젝트(루트) | `<cwd>/CLAUDE.md` 또는 `<cwd>/.claude/CLAUDE.md` | `settingSources`에 `"project"` 포함 |118| 프로젝트(루트) | `<cwd>/CLAUDE.md` 또는 `<cwd>/.claude/CLAUDE.md` | `settingSources`에 `"project"` 포함 |

119| 프로젝트 규칙 | `<cwd>/.claude/rules/*.md` 및 모든 상위 디렉토리의 `.claude/rules/*.md` | `settingSources`에 `"project"` 포함 |119| 프로젝트 규칙 | `<cwd>/.claude/rules/*.md` 및 모든 상위 디렉토리의 `.claude/rules/*.md` | `settingSources`에 `"project"` 포함 |

120| 프로젝트(상위 디렉토리) | `cwd` 위의 디렉토리에 있는 `CLAUDE.md` 파일 | `settingSources`에 `"project"` 포함, 세션 시작 시 로드 |120| 프로젝트(상위 디렉토리) | `cwd` 위의 디렉토리에 있는 `CLAUDE.md` 파일 | `settingSources`에 `"project"` 포함, 세션 시작 시 로드 |


286</h3>286</h3>

287 287 

288| 훅 유형 | 최적 사용 |288| 훅 유형 | 최적 사용 |

289| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |289| :- | :- |

290| **파일시스템** (`settings.json`) | CLI와 SDK 세션 간에 훅 공유. `"command"`(셸 스크립트), `"http"`(엔드포인트에 POST), `"mcp_tool"`(연결된 MCP 서버의 도구 호출), `"prompt"`(LLM이 프롬프트 평가), `"agent"`(검증자 에이전트 생성)를 지원합니다. 이들은 주 에이전트 및 생성하는 모든 하위 에이전트에서 실행됩니다. |290| **파일시스템** (`settings.json`) | CLI와 SDK 세션 간에 훅 공유. `"command"`(셸 스크립트), `"http"`(엔드포인트에 POST), `"mcp_tool"`(연결된 MCP 서버의 도구 호출), `"prompt"`(LLM이 프롬프트 평가), `"agent"`(검증자 에이전트 생성)를 지원합니다. 이들은 주 에이전트 및 생성하는 모든 하위 에이전트에서 실행됩니다. |

291| **프로그래밍 방식** (`query()`의 콜백) | 애플리케이션 특정 로직, 구조화된 결정, 프로세스 내 통합. 이들은 하위 에이전트 내에서도 실행됩니다. 훅 입력은 `agent_id` 및 `agent_type` 필드를 포함하여 어느 에이전트가 훅을 실행했는지 식별합니다. |291| **프로그래밍 방식** (`query()`의 콜백) | 애플리케이션 특정 로직, 구조화된 결정, 프로세스 내 통합. 이들은 하위 에이전트 내에서도 실행됩니다. 훅 입력은 `agent_id` 및 `agent_type` 필드를 포함하여 어느 에이전트가 훅을 실행했는지 식별합니다. |

292 292 


303Agent SDK는 에이전트의 동작을 확장하는 여러 방법에 접근할 수 있게 합니다. 어느 것을 사용할지 확실하지 않으면 이 표는 일반적인 목표를 올바른 접근 방식에 매핑합니다.303Agent SDK는 에이전트의 동작을 확장하는 여러 방법에 접근할 수 있게 합니다. 어느 것을 사용할지 확실하지 않으면 이 표는 일반적인 목표를 올바른 접근 방식에 매핑합니다.

304 304 

305| 원하는 것 | 사용 | SDK 표면 |305| 원하는 것 | 사용 | SDK 표면 |

306| :------------------------------------------------ | :-------------------------------------------- | :------------------------------------------------------------------------------ |306| :- | :- | :- |

307| 에이전트가 항상 따르는 프로젝트 규칙 설정 | [CLAUDE.md](/docs/ko/memory) | `settingSources: ["project"]`가 자동으로 로드합니다 |307| 에이전트가 항상 따르는 프로젝트 규칙 설정 | [CLAUDE.md](/docs/ko/memory) | `settingSources: ["project"]`가 자동으로 로드합니다 |

308| 에이전트가 관련이 있을 때 로드하는 참고 자료 제공 | [Skills](/docs/ko/agent-sdk/skills) | `settingSources` + `skills` 옵션 |308| 에이전트가 관련이 있을 때 로드하는 참고 자료 제공 | [Skills](/docs/ko/agent-sdk/skills) | `settingSources` + `skills` 옵션 |

309| 재사용 가능한 워크플로우 실행(배포, 검토, 릴리스) | [User-invocable skills](/docs/ko/agent-sdk/skills) | `settingSources` + `skills` 옵션 |309| 재사용 가능한 워크플로우 실행(배포, 검토, 릴리스) | [User-invocable skills](/docs/ko/agent-sdk/skills) | `settingSources` + `skills` 옵션 |

Details

287아래 표는 각 옵션을 구성하는 기능에 매핑합니다. 이 페이지에서 다루지 않는 옵션은 [TypeScript](/docs/ko/agent-sdk/typescript#options) 및 [Python](/docs/ko/agent-sdk/python#claudeagentoptions) 참조를 참조하세요. 목표는 알지만 어떤 옵션이 이를 제공하는지 모르면 [올바른 기능 선택](/docs/ko/agent-sdk/claude-code-features#choose-the-right-feature)에서 시작하세요.287아래 표는 각 옵션을 구성하는 기능에 매핑합니다. 이 페이지에서 다루지 않는 옵션은 [TypeScript](/docs/ko/agent-sdk/typescript#options) 및 [Python](/docs/ko/agent-sdk/python#claudeagentoptions) 참조를 참조하세요. 목표는 알지만 어떤 옵션이 이를 제공하는지 모르면 [올바른 기능 선택](/docs/ko/agent-sdk/claude-code-features#choose-the-right-feature)에서 시작하세요.

288 288 

289| TypeScript | Python | 제어 | 다루는 내용 |289| TypeScript | Python | 제어 | 다루는 내용 |

290| ------------------------- | --------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |290| - | - | - | - |

291| `permissionMode` | `permission_mode` | 에이전트가 승인 없이 할 수 있는 것 | [권한 구성](/docs/ko/agent-sdk/permissions) |291| `permissionMode` | `permission_mode` | 에이전트가 승인 없이 할 수 있는 것 | [권한 구성](/docs/ko/agent-sdk/permissions) |

292| `allowedTools` | `allowed_tools` | 어떤 도구 호출이 사전 승인되는지 | [권한 구성](/docs/ko/agent-sdk/permissions) |292| `allowedTools` | `allowed_tools` | 어떤 도구 호출이 사전 승인되는지 | [권한 구성](/docs/ko/agent-sdk/permissions) |

293| `canUseTool` | `can_use_tool` | 도구 호출에 대한 승인 콜백 | [도구 승인 요청 처리](/docs/ko/agent-sdk/user-input#handle-tool-approval-requests) |293| `canUseTool` | `can_use_tool` | 도구 호출에 대한 승인 콜백 | [도구 승인 요청 처리](/docs/ko/agent-sdk/user-input#handle-tool-approval-requests) |

Details

96세 가지 결과 수준 필드는 에이전트가 [서브에이전트](/docs/ko/agent-sdk/subagents)를 생성할 때 계산하는 내용이 다릅니다. 전체 트리 토큰 회계를 위해 `modelUsage` 또는 Python의 `model_usage`를 사용하십시오. `usage` 필드는 중첩이 발생하는 즉시 과소 계산됩니다.96세 가지 결과 수준 필드는 에이전트가 [서브에이전트](/docs/ko/agent-sdk/subagents)를 생성할 때 계산하는 내용이 다릅니다. 전체 트리 토큰 회계를 위해 `modelUsage` 또는 Python의 `model_usage`를 사용하십시오. `usage` 필드는 중첩이 발생하는 즉시 과소 계산됩니다.

97 97 

98| 필드 | 서브에이전트 활동 |98| 필드 | 서브에이전트 활동 |

99| ---------------------------- | -------------------------------------------------- |99| - | - |

100| `usage` | 제외됨. 최상위 에이전트 루프만 계산하므로 서브에이전트 내에서 소비된 토큰은 추가되지 않음 |100| `usage` | 제외됨. 최상위 에이전트 루프만 계산하므로 서브에이전트 내에서 소비된 토큰은 추가되지 않음 |

101| `total_cost_usd` | 포함됨. 최상위 루프와 함께 서브에이전트 요청을 계산 |101| `total_cost_usd` | 포함됨. 최상위 루프와 함께 서브에이전트 요청을 계산 |

102| `modelUsage` / `model_usage` | 포함됨. 최상위 루프와 함께 서브에이전트 요청을 계산하며, 모델별로 분류됨 |102| `modelUsage` / `model_usage` | 포함됨. 최상위 루프와 함께 서브에이전트 요청을 계산하며, 모델별로 분류됨 |

Details

13</h2>13</h2>

14 14 

15| 원하는 작업 | 수행 방법 |15| 원하는 작업 | 수행 방법 |

16| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |16| :- | :- |

17| 도구 정의 | 이름, 설명, 스키마 및 핸들러를 사용하여 [`@tool`](/docs/ko/agent-sdk/python#tool) (Python) 또는 [`tool()`](/docs/ko/agent-sdk/typescript#tool) (TypeScript)을 사용합니다. [사용자 정의 도구 만들기](#create-a-custom-tool)를 참조하세요. |17| 도구 정의 | 이름, 설명, 스키마 및 핸들러를 사용하여 [`@tool`](/docs/ko/agent-sdk/python#tool) (Python) 또는 [`tool()`](/docs/ko/agent-sdk/typescript#tool) (TypeScript)을 사용합니다. [사용자 정의 도구 만들기](#create-a-custom-tool)를 참조하세요. |

18| Claude에 도구 등록 | `create_sdk_mcp_server` / `createSdkMcpServer`로 래핑하고 `query()`의 `mcpServers`에 전달합니다. [사용자 정의 도구 호출](#call-a-custom-tool)을 참조하세요. |18| Claude에 도구 등록 | `create_sdk_mcp_server` / `createSdkMcpServer`로 래핑하고 `query()`의 `mcpServers`에 전달합니다. [사용자 정의 도구 호출](#call-a-custom-tool)을 참조하세요. |

19| 도구 사전 승인 | 허용된 도구에 추가합니다. [허용된 도구 구성](#configure-allowed-tools)을 참조하세요. |19| 도구 사전 승인 | 허용된 도구에 추가합니다. [허용된 도구 구성](#configure-allowed-tools)을 참조하세요. |


282[도구 주석](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations)은 도구의 동작을 설명하는 선택사항 메타데이터입니다. TypeScript의 `tool()` 헬퍼에 다섯 번째 인수로 또는 Python의 `@tool` 데코레이터에 대해 `annotations` 키워드 인수로 전달합니다. 모든 힌트 필드는 부울입니다.282[도구 주석](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations)은 도구의 동작을 설명하는 선택사항 메타데이터입니다. TypeScript의 `tool()` 헬퍼에 다섯 번째 인수로 또는 Python의 `@tool` 데코레이터에 대해 `annotations` 키워드 인수로 전달합니다. 모든 힌트 필드는 부울입니다.

283 283 

284| 필드 | 기본값 | 의미 |284| 필드 | 기본값 | 의미 |

285| :---------------- | :------ | :----------------------------------------------------------- |285| :- | :- | :- |

286| `readOnlyHint` | `false` | 도구는 환경을 수정하지 않습니다. 도구를 다른 읽기 전용 도구와 병렬로 호출할 수 있는지 여부를 제어합니다. |286| `readOnlyHint` | `false` | 도구는 환경을 수정하지 않습니다. 도구를 다른 읽기 전용 도구와 병렬로 호출할 수 있는지 여부를 제어합니다. |

287| `destructiveHint` | `true` | 도구는 파괴적인 업데이트를 수행할 수 있습니다. 정보 제공용입니다. |287| `destructiveHint` | `true` | 도구는 파괴적인 업데이트를 수행할 수 있습니다. 정보 제공용입니다. |

288| `idempotentHint` | `false` | 동일한 인수로 반복 호출해도 추가 효과가 없습니다. 정보 제공용입니다. |288| `idempotentHint` | `false` | 동일한 인수로 반복 호출해도 추가 효과가 없습니다. 정보 제공용입니다. |


338`tools` 옵션과 허용/거부 목록은 두 가지 계층에 영향을 미칩니다. 가용성은 Claude의 컨텍스트에 도구가 표시되는지 여부를 제어하고, 권한은 Claude가 호출을 시도한 후 호출이 승인되는지 여부를 제어합니다. `tools`와 단순 이름 `disallowedTools` 항목은 가용성을 변경합니다. `allowedTools`와 범위가 지정된 `disallowedTools` 규칙은 권한을 변경합니다. [작업 추적 도구](/docs/ko/agent-sdk/todo-tracking#model-availability) 중 하나를 `allowedTools`에 이름 지정하면 Claude Code도 세션을 옵트인합니다.338`tools` 옵션과 허용/거부 목록은 두 가지 계층에 영향을 미칩니다. 가용성은 Claude의 컨텍스트에 도구가 표시되는지 여부를 제어하고, 권한은 Claude가 호출을 시도한 후 호출이 승인되는지 여부를 제어합니다. `tools`와 단순 이름 `disallowedTools` 항목은 가용성을 변경합니다. `allowedTools`와 범위가 지정된 `disallowedTools` 규칙은 권한을 변경합니다. [작업 추적 도구](/docs/ko/agent-sdk/todo-tracking#model-availability) 중 하나를 `allowedTools`에 이름 지정하면 Claude Code도 세션을 옵트인합니다.

339 339 

340| 옵션 | 계층 | 효과 |340| 옵션 | 계층 | 효과 |

341| :------------------------ | :-- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |341| :- | :- | :- |

342| `tools: ["Read", "Grep"]` | 가용성 | 나열된 기본 제공 도구만 Claude의 컨텍스트에 있습니다. 나열되지 않은 기본 제공 도구는 제거됩니다. MCP 도구는 영향을 받지 않습니다. |342| `tools: ["Read", "Grep"]` | 가용성 | 나열된 기본 제공 도구만 Claude의 컨텍스트에 있습니다. 나열되지 않은 기본 제공 도구는 제거됩니다. MCP 도구는 영향을 받지 않습니다. |

343| `tools: []` | 가용성 | 모든 기본 제공 도구가 제거됩니다. Claude는 MCP 도구만 사용할 수 있습니다. |343| `tools: []` | 가용성 | 모든 기본 제공 도구가 제거됩니다. Claude는 MCP 도구만 사용할 수 있습니다. |

344| 허용된 도구 | 권한 | 나열된 도구는 권한 프롬프트 없이 실행됩니다. 다른 나열되지 않은 도구는 계속 사용 가능하며, 호출은 [권한 흐름](/docs/ko/agent-sdk/permissions)을 거칩니다. |344| 허용된 도구 | 권한 | 나열된 도구는 권한 프롬프트 없이 실행됩니다. 다른 나열되지 않은 도구는 계속 사용 가능하며, 호출은 [권한 흐름](/docs/ko/agent-sdk/permissions)을 거칩니다. |


353핸들러 오류는 에이전트 루프를 중단하지 않습니다. SDK의 인프로세스 MCP 서버는 포착되지 않은 예외를 캐치하고 오류 결과로 반환하므로, 오류를 보고하는 방식이 Claude가 읽는 내용을 결정하며, 쿼리 실패 여부는 결정하지 않습니다.353핸들러 오류는 에이전트 루프를 중단하지 않습니다. SDK의 인프로세스 MCP 서버는 포착되지 않은 예외를 캐치하고 오류 결과로 반환하므로, 오류를 보고하는 방식이 Claude가 읽는 내용을 결정하며, 쿼리 실패 여부는 결정하지 않습니다.

354 354 

355| 발생하는 상황 | 결과 |355| 발생하는 상황 | 결과 |

356| :-------------------------------------------------------------------- | :------------------------------------------------------------------------------------ |356| :- | :- |

357| 핸들러가 포착되지 않은 예외를 발생시킴 | MCP 서버는 이를 원본 예외 메시지를 포함하는 오류 결과로 변환합니다. Claude는 해당 메시지를 보고 에이전트 루프가 계속됩니다. |357| 핸들러가 포착되지 않은 예외를 발생시킴 | MCP 서버는 이를 원본 예외 메시지를 포함하는 오류 결과로 변환합니다. Claude는 해당 메시지를 보고 에이전트 루프가 계속됩니다. |

358| 핸들러가 오류를 캐치하고 `isError: true` (TS) / `"is_error": True` (Python)을 반환함 | Claude는 사용자가 작성한 메시지를 봅니다. 원본 예외가 부족한 컨텍스트(예: 어떤 요청이 실패했는지 또는 대신 시도할 사항)를 추가할 수 있습니다. |358| 핸들러가 오류를 캐치하고 `isError: true` (TS) / `"is_error": True` (Python)을 반환함 | Claude는 사용자가 작성한 메시지를 봅니다. 원본 예외가 부족한 컨텍스트(예: 어떤 요청이 실패했는지 또는 대신 시도할 사항)를 추가할 수 있습니다. |

359 359 


472이미지 블록은 이미지 바이트를 인라인으로 base64로 인코딩하여 전달합니다. URL 필드는 없습니다. URL에 있는 이미지를 반환하려면 핸들러에서 이를 가져오고, 응답 바이트를 읽은 후 base64로 인코딩하여 반환합니다. 결과는 시각적 입력으로 처리됩니다.472이미지 블록은 이미지 바이트를 인라인으로 base64로 인코딩하여 전달합니다. URL 필드는 없습니다. URL에 있는 이미지를 반환하려면 핸들러에서 이를 가져오고, 응답 바이트를 읽은 후 base64로 인코딩하여 반환합니다. 결과는 시각적 입력으로 처리됩니다.

473 473 

474| 필드 | 유형 | 참고 |474| 필드 | 유형 | 참고 |

475| :--------- | :-------- | :----------------------------------------------------------------------- |475| :- | :- | :- |

476| `type` | `"image"` | |476| `type` | `"image"` | |

477| `data` | `string` | Base64로 인코딩된 바이트입니다. 원본 base64만 해당하며, `data:image/...;base64,` 접두사는 없습니다 |477| `data` | `string` | Base64로 인코딩된 바이트입니다. 원본 base64만 해당하며, `data:image/...;base64,` 접두사는 없습니다 |

478| `mimeType` | `string` | 필수입니다. 예: `image/png`, `image/jpeg`, `image/webp`, `image/gif` |478| `mimeType` | `string` | 필수입니다. 예: `image/png`, `image/jpeg`, `image/webp`, `image/gif` |


541리소스 블록은 URI로 식별되는 콘텐츠를 포함합니다. URI는 Claude가 참조할 수 있는 레이블이며, 실제 콘텐츠는 블록의 `text` 또는 `blob` 필드에 있습니다. 생성된 파일이나 외부 시스템의 레코드와 같이 나중에 이름으로 참조하는 것이 합리적인 도구 출력에 사용합니다.541리소스 블록은 URI로 식별되는 콘텐츠를 포함합니다. URI는 Claude가 참조할 수 있는 레이블이며, 실제 콘텐츠는 블록의 `text` 또는 `blob` 필드에 있습니다. 생성된 파일이나 외부 시스템의 레코드와 같이 나중에 이름으로 참조하는 것이 합리적인 도구 출력에 사용합니다.

542 542 

543| 필드 | 유형 | 참고 |543| 필드 | 유형 | 참고 |

544| :------------------ | :----------- | :----------------------------------------------------------------------------------------- |544| :- | :- | :- |

545| `type` | `"resource"` | |545| `type` | `"resource"` | |

546| `resource.uri` | `string` | 콘텐츠의 식별자입니다. 모든 URI 스키마 |546| `resource.uri` | `string` | 콘텐츠의 식별자입니다. 모든 URI 스키마 |

547| `resource.text` | `string` | 텍스트인 경우 콘텐츠입니다. 이것 또는 `blob`을 제공하되, 둘 다 제공하지는 마십시오 |547| `resource.text` | `string` | 텍스트인 경우 콘텐츠입니다. 이것 또는 `blob`을 제공하되, 둘 다 제공하지는 마십시오 |

Details

149 체크포인팅을 활성화하고 체크포인트 UUID를 수신하도록 SDK 옵션을 구성합니다:149 체크포인팅을 활성화하고 체크포인트 UUID를 수신하도록 SDK 옵션을 구성합니다:

150 150 

151 | 옵션 | Python | TypeScript | 설명 |151 | 옵션 | Python | TypeScript | 설명 |

152 | ------------- | ------------------------------------------- | --------------------------------------------- | -------------------------------- |152 | - | - | - | - |

153 | 체크포인팅 활성화 | `enable_file_checkpointing=True` | `enableFileCheckpointing: true` | 되돌리기 위해 파일 변경 사항을 추적합니다 |153 | 체크포인팅 활성화 | `enable_file_checkpointing=True` | `enableFileCheckpointing: true` | 되돌리기 위해 파일 변경 사항을 추적합니다 |

154 | 체크포인트 UUID 수신 | `extra_args={"replay-user-messages": None}` | `extraArgs: { 'replay-user-messages': null }` | 스트림에서 사용자 메시지 UUID를 가져오는 데 필요합니다 |154 | 체크포인트 UUID 수신 | `extra_args={"replay-user-messages": None}` | `extraArgs: { 'replay-user-messages': null }` | 스트림에서 사용자 메시지 UUID를 가져오는 데 필요합니다 |

155 155 


718파일 체크포인팅에는 다음과 같은 제한 사항이 있습니다:718파일 체크포인팅에는 다음과 같은 제한 사항이 있습니다:

719 719 

720| 제한 사항 | 설명 |720| 제한 사항 | 설명 |

721| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |721| - | - |

722| Write/Edit/NotebookEdit 도구만 | Bash 명령어를 통해 수행된 변경 사항은 추적되지 않습니다 |722| Write/Edit/NotebookEdit 도구만 | Bash 명령어를 통해 수행된 변경 사항은 추적되지 않습니다 |

723| 서브에이전트 편집 | [서브에이전트](/docs/ko/agent-sdk/subagents)가 적용하는 편집 사항은 추적되거나 복원되지 않습니다. 단, `context: fork`를 사용하여 포그라운드에서 실행되는 스킬은 제외됩니다. 추적되지 않은 편집 사항을 되돌리려면 git을 사용하세요 |723| 서브에이전트 편집 | [서브에이전트](/docs/ko/agent-sdk/subagents)가 적용하는 편집 사항은 추적되거나 복원되지 않습니다. 단, `context: fork`를 사용하여 포그라운드에서 실행되는 스킬은 제외됩니다. 추적되지 않은 편집 사항을 되돌리려면 git을 사용하세요 |

724| 동일한 세션 | 체크포인트는 이를 생성한 세션에 연결됩니다 |724| 동일한 세션 | 체크포인트는 이를 생성한 세션에 연결됩니다 |

Details

149SDK는 에이전트 실행의 다양한 단계에 대한 훅을 제공합니다. 일부 훅은 두 SDK 모두에서 사용 가능하지만 다른 훅은 TypeScript 전용입니다.149SDK는 에이전트 실행의 다양한 단계에 대한 훅을 제공합니다. 일부 훅은 두 SDK 모두에서 사용 가능하지만 다른 훅은 TypeScript 전용입니다.

150 150 

151| 훅 이벤트 | Python SDK | TypeScript SDK | 트리거되는 조건 | 사용 사례 예 |151| 훅 이벤트 | Python SDK | TypeScript SDK | 트리거되는 조건 | 사용 사례 예 |

152| ------------------------------------------------------ | ---------- | -------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |152| - | - | - | - | - |

153| `PreToolUse` | 예 | 예 | 도구 호출 요청(차단 또는 수정 가능) | 위험한 셸 명령 차단 |153| `PreToolUse` | 예 | 예 | 도구 호출 요청(차단 또는 수정 가능) | 위험한 셸 명령 차단 |

154| `PostToolUse` | 예 | 예 | 도구 실행 결과 | 모든 파일 변경 사항을 감사 추적에 기록 |154| `PostToolUse` | 예 | 예 | 도구 실행 결과 | 모든 파일 변경 사항을 감사 추적에 기록 |

155| `PostToolUseFailure` | 예 | 예 | 도구 실행 실패 | 도구 오류 처리 또는 기록 |155| `PostToolUseFailure` | 예 | 예 | 도구 실행 실패 | 도구 오류 처리 또는 기록 |


230SDK 매처는 [설정 파일의 매처](/docs/ko/hooks#matcher-patterns)와 동일한 규칙을 따릅니다. 해당 섹션에서는 정확한 문자열 및 정규식 평가 경로, 버전 요구 사항, 각 이벤트 유형에 대한 매처 값을 문서화합니다.230SDK 매처는 [설정 파일의 매처](/docs/ko/hooks#matcher-patterns)와 동일한 규칙을 따릅니다. 해당 섹션에서는 정확한 문자열 및 정규식 평가 경로, 버전 요구 사항, 각 이벤트 유형에 대한 매처 값을 문서화합니다.

231 231 

232| 옵션 | 타입 | 기본값 | 설명 |232| 옵션 | 타입 | 기본값 | 설명 |

233| --------- | ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |233| - | - | - | - |

234| `matcher` | `string` | `undefined` | [설정 파일의 매처 규칙](/docs/ko/hooks#matcher-patterns)을 따르는 이벤트의 필터 필드와 일치하는 패턴입니다. 도구 훅의 경우 도구 이름입니다. 기본 제공 도구에는 `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent` 등이 포함됩니다([도구 입력 타입](/docs/ko/agent-sdk/typescript#tool-input-types)에서 전체 목록 참조). MCP 도구는 `mcp__<server>__<action>` 패턴을 사용합니다. 여기서 `<server>`는 `mcpServers` 구성에서 사용하는 키입니다. |234| `matcher` | `string` | `undefined` | [설정 파일의 매처 규칙](/docs/ko/hooks#matcher-patterns)을 따르는 이벤트의 필터 필드와 일치하는 패턴입니다. 도구 훅의 경우 도구 이름입니다. 기본 제공 도구에는 `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent` 등이 포함됩니다([도구 입력 타입](/docs/ko/agent-sdk/typescript#tool-input-types)에서 전체 목록 참조). MCP 도구는 `mcp__<server>__<action>` 패턴을 사용합니다. 여기서 `<server>`는 `mcpServers` 구성에서 사용하는 키입니다. |

235| `hooks` | `HookCallback[]` | - | 필수입니다. 패턴이 일치할 때 실행할 콜백 함수의 배열 |235| `hooks` | `HookCallback[]` | - | 필수입니다. 패턴이 일치할 때 실행할 콜백 함수의 배열 |

236| `timeout` | `number` | `undefined` | 초 단위의 타임아웃입니다. 생략하면 Claude Code는 [이벤트의 기본 타임아웃](#hook-timeout)을 적용합니다. SDK 콜백은 `command` 훅 기본값을 따릅니다. |236| `timeout` | `number` | `undefined` | 초 단위의 타임아웃입니다. 생략하면 Claude Code는 [이벤트의 기본 타임아웃](#hook-timeout)을 적용합니다. SDK 콜백은 `command` 훅 기본값을 따릅니다. |


295</CodeGroup>295</CodeGroup>

296 296 

297| 필드 | 타입 | 설명 |297| 필드 | 타입 | 설명 |

298| -------------- | -------- | ------------------------------------------------------------------------------ |298| - | - | - |

299| `async` | `true` | 비동기 모드를 신호합니다. 에이전트는 기다리지 않고 진행합니다. Python에서는 예약된 키워드를 피하기 위해 `async_`를 사용합니다. |299| `async` | `true` | 비동기 모드를 신호합니다. 에이전트는 기다리지 않고 진행합니다. Python에서는 예약된 키워드를 피하기 위해 `async_`를 사용합니다. |

300| `asyncTimeout` | `number` | 백그라운드 작업에 대한 선택적 타임아웃(밀리초) |300| `asyncTimeout` | `number` | 백그라운드 작업에 대한 선택적 타임아웃(밀리초) |

301 301 

Details

63세 가지 종류의 에이전트 상태가 기본적으로 컨테이너의 파일시스템에 저장됩니다. 이들 중 어느 것도 컨테이너 재시작, 축소, 또는 다른 노드로의 이동을 견디지 못합니다.63세 가지 종류의 에이전트 상태가 기본적으로 컨테이너의 파일시스템에 저장됩니다. 이들 중 어느 것도 컨테이너 재시작, 축소, 또는 다른 노드로의 이동을 견디지 못합니다.

64 64 

65| 상태 | 기본 위치 |65| 상태 | 기본 위치 |

66| ------------------ | ------------------------------------------------------------------------- |66| - | - |

67| 세션 트랜스크립트 | `~/.claude/projects/`, 또는 설정된 경우 `CLAUDE_CONFIG_DIR` 아래의 `projects/` 디렉토리 |67| 세션 트랜스크립트 | `~/.claude/projects/`, 또는 설정된 경우 `CLAUDE_CONFIG_DIR` 아래의 `projects/` 디렉토리 |

68| `CLAUDE.md` 메모리 파일 | 사용자 계층의 경우 `~/.claude/CLAUDE.md`, 프로젝트 계층의 경우 세션의 작업 디렉토리 |68| `CLAUDE.md` 메모리 파일 | 사용자 계층의 경우 `~/.claude/CLAUDE.md`, 프로젝트 계층의 경우 세션의 작업 디렉토리 |

69| 작업 디렉토리 아티팩트 | 세션의 작업 디렉토리 |69| 작업 디렉토리 아티팩트 | 세션의 작업 디렉토리 |


379배포 설계에서 이러한 사항들을 고려하십시오.379배포 설계에서 이러한 사항들을 고려하십시오.

380 380 

381| 제한 사항 | 해결 방법 |381| 제한 사항 | 해결 방법 |

382| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |382| - | - |

383| 최상위 세션 타임아웃 없음 | 세션은 자동으로 타임아웃되지 않습니다. TypeScript에서 `maxTurns`를 설정하거나 Python에서 `max_turns`를 설정하여 에이전트가 중지되기 전에 수행하는 도구 사용 왕복 횟수를 제한하십시오. |383| 최상위 세션 타임아웃 없음 | 세션은 자동으로 타임아웃되지 않습니다. TypeScript에서 `maxTurns`를 설정하거나 Python에서 `max_turns`를 설정하여 에이전트가 중지되기 전에 수행하는 도구 사용 왕복 횟수를 제한하십시오. |

384| 장시간 세션에서의 메모리 증가 | 세션 길이를 제한하거나 주기적으로 서브프로세스를 재활용하십시오. [확장성 및 동시성](#scaling-and-concurrency)을 참조하십시오. |384| 장시간 세션에서의 메모리 증가 | 세션 길이를 제한하거나 주기적으로 서브프로세스를 재활용하십시오. [확장성 및 동시성](#scaling-and-concurrency)을 참조하십시오. |

385| 대규모 병렬 서브에이전트 팬아웃이 속도 제한에 도달할 수 있음 | 광범위한 디스패치를 한 번에 발행하는 대신 작업을 더 작은 배치로 나누십시오. |385| 대규모 병렬 서브에이전트 팬아웃이 속도 제한에 도달할 수 있음 | 광범위한 디스패치를 한 번에 발행하는 대신 작업을 더 작은 배치로 나누십시오. |

Details

159Claude Code는 `options.mcpServers`에 전달한 서버를 시작 시 등록하고, 첫 번째 턴 대기(있는 경우)가 해결되면 [init 메시지](#error-handling)를 내보냅니다. 각 `options.mcpServers` 서버가 첫 번째 턴을 지연시키는지 여부와 연결 시기는 해당 서버의 유형에 따라 달라집니다:159Claude Code는 `options.mcpServers`에 전달한 서버를 시작 시 등록하고, 첫 번째 턴 대기(있는 경우)가 해결되면 [init 메시지](#error-handling)를 내보냅니다. 각 `options.mcpServers` 서버가 첫 번째 턴을 지연시키는지 여부와 연결 시기는 해당 서버의 유형에 따라 달라집니다:

160 160 

161| 서버 유형 | 첫 번째 턴을 지연시킵니까? | 첫 번째 턴 대기 타임아웃 |161| 서버 유형 | 첫 번째 턴을 지연시킵니까? | 첫 번째 턴 대기 타임아웃 |

162| :-------------------------------------------- | :----------------------------- | :------------------------------------------------------- |162| :- | :- | :- |

163| stdio 서버 또는 캐시된 도구 목록이 없는 HTTP/SSE 서버 | 예, 연결될 때까지 | [`MCP_TIMEOUT`](/docs/ko/env-vars), 기본값 30초; 해당 기한에 연결이 실패합니다 |163| stdio 서버 또는 캐시된 도구 목록이 없는 HTTP/SSE 서버 | 예, 연결될 때까지 | [`MCP_TIMEOUT`](/docs/ko/env-vars), 기본값 30초; 해당 기한에 연결이 실패합니다 |

164| 캐시된 도구 목록이 있는 원격 서버, Claude Code가 이전 연결에서 저장함 | 아니요; 캐시된 도구는 첫 번째 턴부터 사용 가능합니다 | 없음; 첫 번째 도구 호출 시 연결되며, 해당 지연된 연결에는 자체 타임아웃이 있습니다 |164| 캐시된 도구 목록이 있는 원격 서버, Claude Code가 이전 연결에서 저장함 | 아니요; 캐시된 도구는 첫 번째 턴부터 사용 가능합니다 | 없음; 첫 번째 도구 호출 시 연결되며, 해당 지연된 연결에는 자체 타임아웃이 있습니다 |

165| 인프로세스 [SDK 서버](#sdk-mcp-servers) | 예, 연결되고 도구를 나열할 때까지 | 없음; 연결 및 도구 나열 요청 각각에는 자체 타임아웃이 있습니다 |165| 인프로세스 [SDK 서버](#sdk-mcp-servers) | 예, 연결되고 도구를 나열할 때까지 | 없음; 연결 및 도구 나열 요청 각각에는 자체 타임아웃이 있습니다 |

Details

19</h2>19</h2>

20 20 

21| 항목 | 이전 | 신규 |21| 항목 | 이전 | 신규 |

22| :----------------- | :-------------------------- | :--------------------------------------------------------- |22| :- | :- | :- |

23| **패키지 이름 (TS/JS)** | `@anthropic-ai/claude-code` | `@anthropic-ai/claude-agent-sdk` |23| **패키지 이름 (TS/JS)** | `@anthropic-ai/claude-code` | `@anthropic-ai/claude-agent-sdk` |

24| **Python 패키지** | `claude-code-sdk` | `claude-agent-sdk` |24| **Python 패키지** | `claude-code-sdk` | `claude-agent-sdk` |

25| **문서 위치** | Claude Code 문서 | Claude Code 문서 → 전용 [Agent SDK](/docs/ko/agent-sdk/overview) 섹션 |25| **문서 위치** | Claude Code 문서 | Claude Code 문서 → 전용 [Agent SDK](/docs/ko/agent-sdk/overview) 섹션 |

Details

25결정 요소는 에이전트가 Claude Code와 얼마나 유사한지입니다: 저장소에서 작동하는 코딩 에이전트로, 인간이 스트리밍 출력을 보고 작업을 조종합니다. 제품이 그것으로부터 멀어질수록, 자신의 프롬프트를 더 많이 작성하고 싶을 것입니다.25결정 요소는 에이전트가 Claude Code와 얼마나 유사한지입니다: 저장소에서 작동하는 코딩 에이전트로, 인간이 스트리밍 출력을 보고 작업을 조종합니다. 제품이 그것으로부터 멀어질수록, 자신의 프롬프트를 더 많이 작성하고 싶을 것입니다.

26 26 

27| 구축 중인 것 | 사용 | 얻을 수 있는 것 |27| 구축 중인 것 | 사용 | 얻을 수 있는 것 |

28| :---------------------------------------------------------- | :----------------------------- | :----------------------------------------------------------- |28| :- | :- | :- |

29| 인간이 보고 조종하는 CLI 또는 IDE와 같은 코딩 도구이며, Claude Code의 기본값이 원하는 것 | `claude_code` 프리셋 | Claude Code 프롬프트(도구 지침, 안전 규칙, 환경 컨텍스트 포함) |29| 인간이 보고 조종하는 CLI 또는 IDE와 같은 코딩 도구이며, Claude Code의 기본값이 원하는 것 | `claude_code` 프리셋 | Claude Code 프롬프트(도구 지침, 안전 규칙, 환경 컨텍스트 포함) |

30| 동일한 종류의 도구에 코딩 표준, 출력 형식 또는 도메인 컨텍스트와 같은 제품별 규칙 추가 | `append`가 있는 `claude_code` 프리셋 | 위의 모든 것에 프리셋 후에 추가된 명령. 제거되는 것이 없으므로 이것이 가장 낮은 위험의 사용자 정의입니다 |30| 동일한 종류의 도구에 코딩 표준, 출력 형식 또는 도메인 컨텍스트와 같은 제품별 규칙 추가 | `append`가 있는 `claude_code` 프리셋 | 위의 모든 것에 프리셋 후에 추가된 명령. 제거되는 것이 없으므로 이것이 가장 낮은 위험의 사용자 정의입니다 |

31| 다른 표면, 정체성 또는 권한 모델을 가진 에이전트, 또는 비코딩 에이전트 | 사용자 정의 프롬프트 문자열 | 작성한 것만. 에이전트가 여전히 필요로 하는 도구 지침 및 안전 명령을 교체할 책임이 있습니다 |31| 다른 표면, 정체성 또는 권한 모델을 가진 에이전트, 또는 비코딩 에이전트 | 사용자 정의 프롬프트 문자열 | 작성한 것만. 에이전트가 여전히 필요로 하는 도구 지침 및 안전 명령을 교체할 책임이 있습니다 |


425네 가지 사용자 정의 방법은 위치, 공유 방식, `claude_code` 사전에서 보존되는 내용이 다릅니다.425네 가지 사용자 정의 방법은 위치, 공유 방식, `claude_code` 사전에서 보존되는 내용이 다릅니다.

426 426 

427| 기능 | CLAUDE.md | 출력 스타일 | `systemPrompt`과 함께 추가 | 사용자 정의 `systemPrompt` |427| 기능 | CLAUDE.md | 출력 스타일 | `systemPrompt`과 함께 추가 | 사용자 정의 `systemPrompt` |

428| ------------- | --------- | ------------- | --------------------- | --------------------- |428| - | - | - | - | - |

429| **지속성** | 프로젝트별 파일 | 파일로 저장 | 세션만 | 세션만 |429| **지속성** | 프로젝트별 파일 | 파일로 저장 | 세션만 | 세션만 |

430| **재사용성** | 프로젝트별 | 프로젝트 전체 | 코드 중복 | 코드 중복 |430| **재사용성** | 프로젝트별 | 프로젝트 전체 | 코드 중복 | 코드 중복 |

431| **관리** | 파일 시스템 | CLI + 파일 | 코드에서 | 코드에서 |431| **관리** | 파일 시스템 | CLI + 파일 | 코드에서 | 코드에서 |

Details

31CLI는 세 가지 독립적인 OpenTelemetry 신호를 내보냅니다. 각각 자체 활성화 스위치와 자체 내보내기 도구가 있으므로 필요한 것만 켤 수 있습니다.31CLI는 세 가지 독립적인 OpenTelemetry 신호를 내보냅니다. 각각 자체 활성화 스위치와 자체 내보내기 도구가 있으므로 필요한 것만 켤 수 있습니다.

32 32 

33| 신호 | 포함 내용 | 활성화 방법 |33| 신호 | 포함 내용 | 활성화 방법 |

34| ------ | ------------------------------------------- | ---------------------------------------------------------------- |34| - | - | - |

35| 메트릭 | 토큰, 비용, 세션, 코드 라인 및 도구 결정에 대한 카운터 | `OTEL_METRICS_EXPORTER` |35| 메트릭 | 토큰, 비용, 세션, 코드 라인 및 도구 결정에 대한 카운터 | `OTEL_METRICS_EXPORTER` |

36| 로그 이벤트 | 각 프롬프트, API 요청, API 오류 및 도구 결과에 대한 구조화된 레코드 | `OTEL_LOGS_EXPORTER` |36| 로그 이벤트 | 각 프롬프트, API 요청, API 오류 및 도구 결과에 대한 구조화된 레코드 | `OTEL_LOGS_EXPORTER` |

37| 추적 | 각 상호작용, 모델 요청, 도구 호출 및 훅(베타)에 대한 스팬 | `OTEL_TRACES_EXPORTER` 및 `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` |37| 추적 | 각 상호작용, 모델 요청, 도구 호출 및 훅(베타)에 대한 스팬 | `OTEL_TRACES_EXPORTER` 및 `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` |


246텔레메트리는 기본적으로 구조적입니다. 지속 시간, 모델 이름 및 도구 이름은 모든 스팬에 기록됩니다. 토큰 수는 기본 API 요청이 사용 데이터를 반환할 때 기록되므로 실패하거나 중단된 요청에 대한 스팬은 이를 생략할 수 있습니다. 에이전트가 읽고 쓰는 콘텐츠는 기본적으로 기록되지 않습니다. 이러한 옵트인 변수는 내보낸 데이터에 콘텐츠를 추가합니다:246텔레메트리는 기본적으로 구조적입니다. 지속 시간, 모델 이름 및 도구 이름은 모든 스팬에 기록됩니다. 토큰 수는 기본 API 요청이 사용 데이터를 반환할 때 기록되므로 실패하거나 중단된 요청에 대한 스팬은 이를 생략할 수 있습니다. 에이전트가 읽고 쓰는 콘텐츠는 기본적으로 기록되지 않습니다. 이러한 옵트인 변수는 내보낸 데이터에 콘텐츠를 추가합니다:

247 247 

248| 변수 | 추가 내용 |248| 변수 | 추가 내용 |

249| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |249| - | - |

250| `OTEL_LOG_USER_PROMPTS=1` | `claude_code.user_prompt` 이벤트 및 `claude_code.interaction` 스팬의 프롬프트 텍스트 |250| `OTEL_LOG_USER_PROMPTS=1` | `claude_code.user_prompt` 이벤트 및 `claude_code.interaction` 스팬의 프롬프트 텍스트 |

251| `OTEL_LOG_TOOL_DETAILS=1` | `claude_code.tool_result` 이벤트의 도구 입력 인수(파일 경로, 셸 명령, 검색 패턴) |251| `OTEL_LOG_TOOL_DETAILS=1` | `claude_code.tool_result` 이벤트의 도구 입력 인수(파일 경로, 셸 명령, 검색 패턴) |

252| `OTEL_LOG_TOOL_CONTENT=1` | `claude_code.tool`의 [`tool.output` 스팬 이벤트](/docs/ko/monitoring-usage#tool-output-span-event)로 파일 콘텐츠 및 Bash 출력, 기본적으로 60KB에서 잘림, `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`를 통해 구성 가능, Claude Code v2.1.214 이상 필요. [추적](#read-agent-traces)이 활성화되어야 함. 스팬 속성은 [자신의 게이트](/docs/ko/monitoring-usage#new-context-gates) 아래에서 도구 콘텐츠를 전달합니다 |252| `OTEL_LOG_TOOL_CONTENT=1` | `claude_code.tool`의 [`tool.output` 스팬 이벤트](/docs/ko/monitoring-usage#tool-output-span-event)로 파일 콘텐츠 및 Bash 출력, 기본적으로 60KB에서 잘림, `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`를 통해 구성 가능, Claude Code v2.1.214 이상 필요. [추적](#read-agent-traces)이 활성화되어야 함. 스팬 속성은 [자신의 게이트](/docs/ko/monitoring-usage#new-context-gates) 아래에서 도구 콘텐츠를 전달합니다 |

Details

15Agent SDK, CLI, Client SDK, Managed Agents는 에이전트를 누가 실행하는지, 무엇이 기본으로 제공되는지, 어떻게 접근하는지에 따라 다릅니다. 에이전트를 구축하고 실행하려는 방식과 일치하는 행을 찾으십시오.15Agent SDK, CLI, Client SDK, Managed Agents는 에이전트를 누가 실행하는지, 무엇이 기본으로 제공되는지, 어떻게 접근하는지에 따라 다릅니다. 에이전트를 구축하고 실행하려는 방식과 일치하는 행을 찾으십시오.

16 16 

17| 원하는 작업 | 사용 | 제공되는 것 |17| 원하는 작업 | 사용 | 제공되는 것 |

18| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |18| - | - | - |

19| Claude Code의 에이전트를 자신이 운영하는 프로세스에서 자신의 Python 또는 TypeScript 애플리케이션에 포함시키기 | **Agent SDK** | Claude Code 바이너리를 실행하는 라이브러리로, 기본 제공 도구, 권한, 세션, 훅 등 Claude Code의 [기능](#capabilities)을 포함합니다. |19| Claude Code의 에이전트를 자신이 운영하는 프로세스에서 자신의 Python 또는 TypeScript 애플리케이션에 포함시키기 | **Agent SDK** | Claude Code 바이너리를 실행하는 라이브러리로, 기본 제공 도구, 권한, 세션, 훅 등 Claude Code의 [기능](#capabilities)을 포함합니다. |

20| 터미널에서 대화형 개발을 수행하거나 일회성 작업 실행 | [**Claude Code CLI**](/docs/ko/overview) | 일일 대화형 사용을 위해 구축된 터미널 인터페이스입니다. |20| 터미널에서 대화형 개발을 수행하거나 일회성 작업 실행 | [**Claude Code CLI**](/docs/ko/overview) | 일일 대화형 사용을 위해 구축된 터미널 인터페이스입니다. |

21| 자신의 코드에서 Claude API를 직접 호출 | [**Client SDK**](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) | 모든 Client SDK 언어에서 Claude API에 직접 액세스합니다. 도구 루프를 직접 작성하거나 Client SDK의 베타 [도구 실행기](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-runner)가 이를 구동하도록 할 수 있습니다. |21| 자신의 코드에서 Claude API를 직접 호출 | [**Client SDK**](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) | 모든 Client SDK 언어에서 Claude API에 직접 액세스합니다. 도구 루프를 직접 작성하거나 Client SDK의 베타 [도구 실행기](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-runner)가 이를 구동하도록 할 수 있습니다. |


30이러한 Claude Code 기능은 SDK에서 사용 가능합니다:30이러한 Claude Code 기능은 SDK에서 사용 가능합니다:

31 31 

32| 기능 | 기능 | 자세히 알아보기 |32| 기능 | 기능 | 자세히 알아보기 |

33| ---------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |33| - | - | - |

34| 기본 제공 도구 | 파일 읽기, 쓰기, 편집, 명령 실행 및 웹 검색 | [도구 참조](/docs/ko/tools-reference) |34| 기본 제공 도구 | 파일 읽기, 쓰기, 편집, 명령 실행 및 웹 검색 | [도구 참조](/docs/ko/tools-reference) |

35| Hooks | 에이전트 라이프사이클의 주요 지점에서 사용자 정의 코드 실행 | [Hooks](/docs/ko/agent-sdk/hooks) |35| Hooks | 에이전트 라이프사이클의 주요 지점에서 사용자 정의 코드 실행 | [Hooks](/docs/ko/agent-sdk/hooks) |

36| Subagents | 집중된 부작업을 위해 특화된 에이전트 생성 | [Subagents](/docs/ko/agent-sdk/subagents) |36| Subagents | 집중된 부작업을 위해 특화된 에이전트 생성 | [Subagents](/docs/ko/agent-sdk/subagents) |

Details

76`allowed_tools` 및 `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`)는 위의 평가 흐름에서 허용 및 거부 규칙 목록에 항목을 추가합니다. [작업 추적 도구](/docs/ko/agent-sdk/todo-tracking#model-availability) 중 하나를 `allowed_tools`에 이름 지으면 Claude Code도 세션을 옵트인합니다. `allowed_tools`에 나열되지 않은 다른 도구는 여전히 Claude에서 사용 가능하며, 승인이 필요한 호출은 권한 모드로 넘어갑니다. 거부 규칙은 도구의 이름을 지정하는지 또는 도구 내의 패턴을 범위 지정하는지에 따라 다르게 작동합니다.76`allowed_tools` 및 `disallowed_tools` (TypeScript: `allowedTools` / `disallowedTools`)는 위의 평가 흐름에서 허용 및 거부 규칙 목록에 항목을 추가합니다. [작업 추적 도구](/docs/ko/agent-sdk/todo-tracking#model-availability) 중 하나를 `allowed_tools`에 이름 지으면 Claude Code도 세션을 옵트인합니다. `allowed_tools`에 나열되지 않은 다른 도구는 여전히 Claude에서 사용 가능하며, 승인이 필요한 호출은 권한 모드로 넘어갑니다. 거부 규칙은 도구의 이름을 지정하는지 또는 도구 내의 패턴을 범위 지정하는지에 따라 다르게 작동합니다.

77 77 

78| 옵션 | 효과 |78| 옵션 | 효과 |

79| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |79| :- | :- |

80| `allowed_tools=["Read", "Grep"]` | `Read` 및 `Grep`은 자동 승인됩니다. 여기에 나열되지 않은 다른 도구는 여전히 존재하며, 승인이 필요한 호출은 권한 모드 및 `canUseTool`로 넘어갑니다. |80| `allowed_tools=["Read", "Grep"]` | `Read` 및 `Grep`은 자동 승인됩니다. 여기에 나열되지 않은 다른 도구는 여전히 존재하며, 승인이 필요한 호출은 권한 모드 및 `canUseTool`로 넘어갑니다. |

81| `disallowed_tools=["Bash"]` | `Bash` 도구 정의가 요청에서 제거됩니다. Claude는 도구를 보지 못하며 시도할 수 없습니다. |81| `disallowed_tools=["Bash"]` | `Bash` 도구 정의가 요청에서 제거됩니다. Claude는 도구를 보지 못하며 시도할 수 없습니다. |

82| `disallowed_tools=["Bash(rm *)"]` | `Bash`는 사용 가능한 상태로 유지됩니다. `rm *` [작성된 대로](/docs/ko/permissions#bash-rule-limits) 일치하는 호출은 `bypassPermissions`를 포함한 모든 권한 모드에서 거부됩니다. `/bin/rm`을 포함한 다른 `Bash` 호출은 권한 모드로 넘어갑니다. |82| `disallowed_tools=["Bash(rm *)"]` | `Bash`는 사용 가능한 상태로 유지됩니다. `rm *` [작성된 대로](/docs/ko/permissions#bash-rule-limits) 일치하는 호출은 `bypassPermissions`를 포함한 모든 권한 모드에서 거부됩니다. `/bin/rm`을 포함한 다른 `Bash` 호출은 권한 모드로 넘어갑니다. |


124SDK는 다음 권한 모드를 지원합니다.124SDK는 다음 권한 모드를 지원합니다.

125 125 

126| 모드 | 설명 | 도구 동작 |126| 모드 | 설명 | 도구 동작 |

127| :------------------ | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |127| :- | :- | :- |

128| `default` | 표준 권한 동작 | 모드 기반 자동 승인 없음. 승인이 필요하고 허용 규칙과 일치하지 않는 호출은 `canUseTool` 콜백을 트리거합니다 |128| `default` | 표준 권한 동작 | 모드 기반 자동 승인 없음. 승인이 필요하고 허용 규칙과 일치하지 않는 호출은 `canUseTool` 콜백을 트리거합니다 |

129| `dontAsk` | 프롬프트 대신 거부 | 그렇지 않으면 프롬프트를 표시할 모든 호출이 거부됩니다. `allowed_tools` 또는 규칙으로 승인된 호출과 `default` 모드에서 승인이 필요 없는 호출은 실행되며, 조직에서 [`ask`](/docs/ko/mcp#organization-controls-on-connector-tools)로 설정한 커넥터 도구와 사용자 상호작용이 필요한 도구, 그리고 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 사전 승인했더라도 거부됩니다. `canUseTool`은 호출되지 않습니다 |129| `dontAsk` | 프롬프트 대신 거부 | 그렇지 않으면 프롬프트를 표시할 모든 호출이 거부됩니다. `allowed_tools` 또는 규칙으로 승인된 호출과 `default` 모드에서 승인이 필요 없는 호출은 실행되며, 조직에서 [`ask`](/docs/ko/mcp#organization-controls-on-connector-tools)로 설정한 커넥터 도구와 사용자 상호작용이 필요한 도구, 그리고 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 사전 승인했더라도 거부됩니다. `canUseTool`은 호출되지 않습니다 |

130| `acceptEdits` | 파일 편집 자동 수락 | 파일 편집 및 [파일시스템 작업](#accept-edits-mode-acceptedits)(`mkdir`, `rm`, `mv` 등)이 자동으로 승인됩니다 |130| `acceptEdits` | 파일 편집 자동 수락 | 파일 편집 및 [파일시스템 작업](#accept-edits-mode-acceptedits)(`mkdir`, `rm`, `mv` 등)이 자동으로 승인됩니다 |

Details

27Python SDK는 Claude Code와 상호작용하는 두 가지 방법을 제공합니다.27Python SDK는 Claude Code와 상호작용하는 두 가지 방법을 제공합니다.

28 28 

29| 기능 | `query()` | `ClaudeSDKClient` |29| 기능 | `query()` | `ClaudeSDKClient` |

30| :------------ | :----------------------------------------- | :---------------- |30| :- | :- | :- |

31| **세션** | 기본적으로 새 세션 생성 | 동일한 세션 재사용 |31| **세션** | 기본적으로 새 세션 생성 | 동일한 세션 재사용 |

32| **대화** | 단일 교환 | 동일한 컨텍스트에서 여러 교환 |32| **대화** | 단일 교환 | 동일한 컨텍스트에서 여러 교환 |

33| **연결** | 자동으로 관리됨 | 수동 제어 |33| **연결** | 자동으로 관리됨 | 수동 제어 |


66</h4>66</h4>

67 67 

68| 매개변수 | 타입 | 설명 |68| 매개변수 | 타입 | 설명 |

69| :---------- | :--------------------------- | :-------------------------------------------------- |69| :- | :- | :- |

70| `prompt` | `str \| AsyncIterable[dict]` | 문자열 또는 스트리밍 모드용 비동기 반복 가능 객체로서의 입력 프롬프트 |70| `prompt` | `str \| AsyncIterable[dict]` | 문자열 또는 스트리밍 모드용 비동기 반복 가능 객체로서의 입력 프롬프트 |

71| `options` | `ClaudeAgentOptions \| None` | 선택적 구성 객체 (None인 경우 `ClaudeAgentOptions()`로 기본값 설정) |71| `options` | `ClaudeAgentOptions \| None` | 선택적 구성 객체 (None인 경우 `ClaudeAgentOptions()`로 기본값 설정) |

72| `transport` | `Transport \| None` | CLI 프로세스와 통신하기 위한 선택적 사용자 정의 전송 |72| `transport` | `Transport \| None` | CLI 프로세스와 통신하기 위한 선택적 사용자 정의 전송 |


119</h4>119</h4>

120 120 

121| 매개변수 | 타입 | 설명 |121| 매개변수 | 타입 | 설명 |

122| :------------- | :---------------------------------------------- | :----------------------------------------------------------- |122| :- | :- | :- |

123| `name` | `str` | 도구의 고유 식별자 |123| `name` | `str` | 도구의 고유 식별자 |

124| `description` | `str` | 도구가 수행하는 작업에 대한 인간이 읽을 수 있는 설명 |124| `description` | `str` | 도구가 수행하는 작업에 대한 인간이 읽을 수 있는 설명 |

125| `input_schema` | `type \| dict[str, Any]` | 도구의 입력 매개변수를 정의하는 스키마. [입력 스키마 옵션](#input-schema-options) 참조 |125| `input_schema` | `type \| dict[str, Any]` | 도구의 입력 매개변수를 정의하는 스키마. [입력 스키마 옵션](#input-schema-options) 참조 |


178모든 필드는 선택적입니다. 클라이언트는 보안 결정을 위해 힌트에 의존해서는 안 됩니다.178모든 필드는 선택적입니다. 클라이언트는 보안 결정을 위해 힌트에 의존해서는 안 됩니다.

179 179 

180| 필드 | 타입 | 기본값 | 설명 |180| 필드 | 타입 | 기본값 | 설명 |

181| :------------------- | :------------- | :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |181| :- | :- | :- | :- |

182| `title` | `str \| None` | `None` | 도구의 인간이 읽을 수 있는 제목 |182| `title` | `str \| None` | `None` | 도구의 인간이 읽을 수 있는 제목 |

183| `readOnlyHint` | `bool \| None` | `False` | `True`인 경우, 도구는 환경을 수정하지 않습니다 |183| `readOnlyHint` | `bool \| None` | `False` | `True`인 경우, 도구는 환경을 수정하지 않습니다 |

184| `destructiveHint` | `bool \| None` | `True` | `True`인 경우, 도구는 파괴적인 업데이트를 수행할 수 있습니다 (`readOnlyHint`가 `False`일 때만 의미 있음) |184| `destructiveHint` | `bool \| None` | `True` | `True`인 경우, 도구는 파괴적인 업데이트를 수행할 수 있습니다 (`readOnlyHint`가 `False`일 때만 의미 있음) |


220</h4>220</h4>

221 221 

222| 매개변수 | 타입 | 기본값 | 설명 |222| 매개변수 | 타입 | 기본값 | 설명 |

223| :-------- | :------------------------------ | :-------- | :-------------------------- |223| :- | :- | :- | :- |

224| `name` | `str` | - | 서버의 고유 식별자 |224| `name` | `str` | - | 서버의 고유 식별자 |

225| `version` | `str` | `"1.0.0"` | 서버 버전 문자열 |225| `version` | `str` | `"1.0.0"` | 서버 버전 문자열 |

226| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | `@tool` 데코레이터로 생성된 도구 함수 목록 |226| `tools` | `list[SdkMcpTool[Any]] \| None` | `None` | `@tool` 데코레이터로 생성된 도구 함수 목록 |


282</h4>282</h4>

283 283 

284| 매개변수 | 타입 | 기본값 | 설명 |284| 매개변수 | 타입 | 기본값 | 설명 |

285| :------------------ | :------------ | :----- | :------------------------------------------------------ |285| :- | :- | :- | :- |

286| `directory` | `str \| None` | `None` | 세션을 나열할 디렉토리. 생략하면 모든 프로젝트의 세션을 반환합니다 |286| `directory` | `str \| None` | `None` | 세션을 나열할 디렉토리. 생략하면 모든 프로젝트의 세션을 반환합니다 |

287| `limit` | `int \| None` | `None` | 반환할 최대 세션 수 |287| `limit` | `int \| None` | `None` | 반환할 최대 세션 수 |

288| `offset` | `int` | `0` | 정렬된 결과의 시작 부분에서 건너뛸 세션 수. `limit`과 함께 페이지 매김에 사용합니다 |288| `offset` | `int` | `0` | 정렬된 결과의 시작 부분에서 건너뛸 세션 수. `limit`과 함께 페이지 매김에 사용합니다 |


293</h4>293</h4>

294 294 

295| 속성 | 타입 | 설명 |295| 속성 | 타입 | 설명 |

296| :-------------- | :------------ | :-------------------------------------------------- |296| :- | :- | :- |

297| `session_id` | `str` | 고유 세션 식별자 |297| `session_id` | `str` | 고유 세션 식별자 |

298| `summary` | `str` | 표시 제목: 사용자 정의 제목, 자동 생성된 요약 또는 첫 프롬프트 |298| `summary` | `str` | 표시 제목: 사용자 정의 제목, 자동 생성된 요약 또는 첫 프롬프트 |

299| `last_modified` | `int` | 에포크 이후 마지막 수정 시간 (밀리초) |299| `last_modified` | `int` | 에포크 이후 마지막 수정 시간 (밀리초) |


338</h4>338</h4>

339 339 

340| 매개변수 | 타입 | 기본값 | 설명 |340| 매개변수 | 타입 | 기본값 | 설명 |

341| :----------- | :------------ | :----- | :--------------------------------- |341| :- | :- | :- | :- |

342| `session_id` | `str` | 필수 | 메시지를 검색할 세션 ID |342| `session_id` | `str` | 필수 | 메시지를 검색할 세션 ID |

343| `directory` | `str \| None` | `None` | 검색할 프로젝트 디렉토리. 생략하면 모든 프로젝트를 검색합니다 |343| `directory` | `str \| None` | `None` | 검색할 프로젝트 디렉토리. 생략하면 모든 프로젝트를 검색합니다 |

344| `limit` | `int \| None` | `None` | 반환할 최대 메시지 수 |344| `limit` | `int \| None` | `None` | 반환할 최대 메시지 수 |


349</h4>349</h4>

350 350 

351| 속성 | 타입 | 설명 |351| 속성 | 타입 | 설명 |

352| :------------------- | :----------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |352| :- | :- | :- |

353| `type` | `Literal["user", "assistant"]` | 메시지 역할 |353| `type` | `Literal["user", "assistant"]` | 메시지 역할 |

354| `uuid` | `str` | 고유 메시지 식별자 |354| `uuid` | `str` | 고유 메시지 식별자 |

355| `session_id` | `str` | 세션 식별자 |355| `session_id` | `str` | 세션 식별자 |


389</h4>389</h4>

390 390 

391| 매개변수 | 타입 | 기본값 | 설명 |391| 매개변수 | 타입 | 기본값 | 설명 |

392| :----------- | :------------ | :----- | :------------------------------------- |392| :- | :- | :- | :- |

393| `session_id` | `str` | 필수 | 조회할 세션의 UUID |393| `session_id` | `str` | 필수 | 조회할 세션의 UUID |

394| `directory` | `str \| None` | `None` | 프로젝트 디렉토리 경로. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |394| `directory` | `str \| None` | `None` | 프로젝트 디렉토리 경로. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |

395 395 


428</h4>428</h4>

429 429 

430| 매개변수 | 타입 | 기본값 | 설명 |430| 매개변수 | 타입 | 기본값 | 설명 |

431| :----------- | :------------ | :----- | :------------------------------------- |431| :- | :- | :- | :- |

432| `session_id` | `str` | 필수 | 이름을 바꿀 세션의 UUID |432| `session_id` | `str` | 필수 | 이름을 바꿀 세션의 UUID |

433| `title` | `str` | 필수 | 새 제목. 공백을 제거한 후 비어 있지 않아야 합니다 |433| `title` | `str` | 필수 | 새 제목. 공백을 제거한 후 비어 있지 않아야 합니다 |

434| `directory` | `str \| None` | `None` | 프로젝트 디렉토리 경로. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |434| `directory` | `str \| None` | `None` | 프로젝트 디렉토리 경로. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |


468</h4>468</h4>

469 469 

470| 매개변수 | 타입 | 기본값 | 설명 |470| 매개변수 | 타입 | 기본값 | 설명 |

471| :----------- | :------------ | :----- | :--------------------------------------- |471| :- | :- | :- | :- |

472| `session_id` | `str` | 필수 | 태그를 지정할 세션의 UUID |472| `session_id` | `str` | 필수 | 태그를 지정할 세션의 UUID |

473| `tag` | `str \| None` | 필수 | 태그 문자열 또는 지우려면 `None`. 저장하기 전에 유니코드 정규화됨 |473| `tag` | `str \| None` | 필수 | 태그 문자열 또는 지우려면 `None`. 저장하기 전에 유니코드 정규화됨 |

474| `directory` | `str \| None` | `None` | 프로젝트 디렉토리 경로. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |474| `directory` | `str \| None` | `None` | 프로젝트 디렉토리 경로. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |


529</h4>529</h4>

530 530 

531| 메서드 | 설명 |531| 메서드 | 설명 |

532| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------- |532| :- | :- |

533| `__init__(options)` | 선택적 구성으로 클라이언트 초기화 |533| `__init__(options)` | 선택적 구성으로 클라이언트 초기화 |

534| `connect(prompt)` | 선택적 초기 프롬프트 또는 메시지 스트림으로 Claude에 연결 |534| `connect(prompt)` | 선택적 초기 프롬프트 또는 메시지 스트림으로 Claude에 연결 |

535| `query(prompt, session_id)` | 스트리밍 모드에서 새 요청 전송 |535| `query(prompt, session_id)` | 스트리밍 모드에서 새 요청 전송 |


780```780```

781 781 

782| 속성 | 타입 | 설명 |782| 속성 | 타입 | 설명 |

783| :------------- | :---------------------------------------------- | :-------------------------------------------------------------------------------------- |783| :- | :- | :- |

784| `name` | `str` | 도구의 고유 식별자 |784| `name` | `str` | 도구의 고유 식별자 |

785| `description` | `str` | 인간이 읽을 수 있는 설명 |785| `description` | `str` | 인간이 읽을 수 있는 설명 |

786| `input_schema` | `type[T] \| dict[str, Any]` | 입력 검증을 위한 스키마 |786| `input_schema` | `type[T] \| dict[str, Any]` | 입력 검증을 위한 스키마 |


824```824```

825 825 

826| 메서드 | 설명 |826| 메서드 | 설명 |

827| :---------------- | :------------------------------------ |827| :- | :- |

828| `connect()` | 전송을 연결하고 통신을 준비합니다 |828| `connect()` | 전송을 연결하고 통신을 준비합니다 |

829| `write(data)` | 원본 데이터 (JSON + 줄바꿈)를 전송에 씁니다 |829| `write(data)` | 원본 데이터 (JSON + 줄바꿈)를 전송에 씁니다 |

830| `read_messages()` | 구문 분석된 JSON 메시지를 생성하는 비동기 반복자 |830| `read_messages()` | 구문 분석된 JSON 메시지를 생성하는 비동기 반복자 |


894```894```

895 895 

896| 속성 | 타입 | 기본값 | 설명 |896| 속성 | 타입 | 기본값 | 설명 |

897| :---------------------------- | :------------------------------------------------------------------------------------ | :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |897| :- | :- | :- | :- |

898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | 도구 구성. Claude Code의 기본 도구를 위해 `{"type": "preset", "preset": "claude_code"}` 사용 |898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | 도구 구성. Claude Code의 기본 도구를 위해 `{"type": "preset", "preset": "claude_code"}` 사용 |

899| `allowed_tools` | `list[str]` | `[]` | 프롬프트 없이 자동 승인할 도구. 이것은 Claude를 이 도구로만 제한하지 않습니다. [작업 추적 도구](/docs/ko/agent-sdk/todo-tracking#model-availability) 중 하나를 여기에 명명하면 Claude Code도 세션을 옵트인합니다. 나열되지 않은 도구는 `permission_mode` 및 `can_use_tool`로 넘어갑니다. `disallowed_tools`를 사용하여 도구를 차단합니다. [권한](/docs/ko/agent-sdk/permissions#allow-and-deny-rules) 참조 |899| `allowed_tools` | `list[str]` | `[]` | 프롬프트 없이 자동 승인할 도구. 이것은 Claude를 이 도구로만 제한하지 않습니다. [작업 추적 도구](/docs/ko/agent-sdk/todo-tracking#model-availability) 중 하나를 여기에 명명하면 Claude Code도 세션을 옵트인합니다. 나열되지 않은 도구는 `permission_mode` 및 `can_use_tool`로 넘어갑니다. `disallowed_tools`를 사용하여 도구를 차단합니다. [권한](/docs/ko/agent-sdk/permissions#allow-and-deny-rules) 참조 |

900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | 시스템 프롬프트 구성. 사용자 정의 프롬프트의 경우 문자열을 전달하거나, Claude Code의 시스템 프롬프트를 위해 선택적 `"append"`와 함께 `{"type": "preset", "preset": "claude_code"}`를 사용하거나, 사용자 정의 프롬프트를 위해 `{"type": "custom", "prompt": "..."}` 형식으로 `"snapshot"`도 설정할 수 있거나, 디스크에서 큰 프롬프트를 로드하기 위해 `{"type": "file", "path": "..."}` 형식을 사용합니다. [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom) 및 [`SystemPromptFile`](#systempromptfile) 참조 |900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | 시스템 프롬프트 구성. 사용자 정의 프롬프트의 경우 문자열을 전달하거나, Claude Code의 시스템 프롬프트를 위해 선택적 `"append"`와 함께 `{"type": "preset", "preset": "claude_code"}`를 사용하거나, 사용자 정의 프롬프트를 위해 `{"type": "custom", "prompt": "..."}` 형식으로 `"snapshot"`도 설정할 수 있거나, 디스크에서 큰 프롬프트를 로드하기 위해 `{"type": "file", "path": "..."}` 형식을 사용합니다. [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom) 및 [`SystemPromptFile`](#systempromptfile) 참조 |


986```986```

987 987 

988| 필드 | 필수 | 설명 |988| 필드 | 필수 | 설명 |

989| :------- | :- | :---------------------------------------- |989| :- | :- | :- |

990| `type` | 예 | JSON Schema 검증을 위해 `"json_schema"`이어야 합니다 |990| `type` | 예 | JSON Schema 검증을 위해 `"json_schema"`이어야 합니다 |

991| `schema` | 예 | 출력 검증을 위한 JSON Schema 정의 |991| `schema` | 예 | 출력 검증을 위한 JSON Schema 정의 |

992 992 


1006```1006```

1007 1007 

1008| 필드 | 필수 | 설명 |1008| 필드 | 필수 | 설명 |

1009| :------------------------- | :-- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1009| :- | :- | :- |

1010| `type` | 예 | 프리셋 시스템 프롬프트를 사용하려면 `"preset"`이어야 합니다 |1010| `type` | 예 | 프리셋 시스템 프롬프트를 사용하려면 `"preset"`이어야 합니다 |

1011| `preset` | 예 | Claude Code의 시스템 프롬프트를 사용하려면 `"claude_code"`이어야 합니다 |1011| `preset` | 예 | Claude Code의 시스템 프롬프트를 사용하려면 `"claude_code"`이어야 합니다 |

1012| `append` | 아니오 | 프리셋 시스템 프롬프트에 추가할 추가 지침 |1012| `append` | 아니오 | 프리셋 시스템 프롬프트에 추가할 추가 지침 |


1027```1027```

1028 1028 

1029| 필드 | 필수 | 설명 |1029| 필드 | 필수 | 설명 |

1030| :--------- | :-- | :-------------------------------------------------------------------------- |1030| :- | :- | :- |

1031| `type` | 예 | `"custom"`이어야 합니다 |1031| `type` | 예 | `"custom"`이어야 합니다 |

1032| `prompt` | 예 | 시스템 프롬프트 텍스트. CLI에 명령줄 인수로 전달되므로, [명령줄 길이 제한](#systempromptfile)이 적용됩니다 |1032| `prompt` | 예 | 시스템 프롬프트 텍스트. CLI에 명령줄 인수로 전달되므로, [명령줄 길이 제한](#systempromptfile)이 적용됩니다 |

1033| `snapshot` | 아니오 | [`SystemPromptPreset.snapshot`](#systempromptpreset)과 동일하며, `prompt`에 적용됩니다 |1033| `snapshot` | 아니오 | [`SystemPromptPreset.snapshot`](#systempromptpreset)과 동일하며, `prompt`에 적용됩니다 |


1045```1045```

1046 1046 

1047| 필드 | 필수 | 설명 |1047| 필드 | 필수 | 설명 |

1048| :----- | :- | :-------------------------------- |1048| :- | :- | :- |

1049| `type` | 예 | 디스크에서 프롬프트를 로드하려면 `"file"`이어야 합니다 |1049| `type` | 예 | 디스크에서 프롬프트를 로드하려면 `"file"`이어야 합니다 |

1050| `path` | 예 | 시스템 프롬프트를 포함하는 파일의 경로 |1050| `path` | 예 | 시스템 프롬프트를 포함하는 파일의 경로 |

1051 1051 


1060```1060```

1061 1061 

1062| 값 | 설명 | 위치 |1062| 값 | 설명 | 위치 |

1063| :---------- | :---------------------- | :---------------------------- |1063| :- | :- | :- |

1064| `"user"` | 전역 사용자 설정 | `~/.claude/settings.json` |1064| `"user"` | 전역 사용자 설정 | `~/.claude/settings.json` |

1065| `"project"` | 공유 프로젝트 설정 (버전 제어됨) | `.claude/settings.json` |1065| `"project"` | 공유 프로젝트 설정 (버전 제어됨) | `.claude/settings.json` |

1066| `"local"` | 로컬 프로젝트 설정 (gitignored) | `.claude/settings.local.json` |1066| `"local"` | 로컬 프로젝트 설정 (gitignored) | `.claude/settings.local.json` |


1189```1189```

1190 1190 

1191| 필드 | 필수 | 설명 |1191| 필드 | 필수 | 설명 |

1192| :---------------- | :-- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |1192| :- | :- | :- |

1193| `description` | 예 | 이 에이전트를 사용할 시기에 대한 자연어 설명 |1193| `description` | 예 | 이 에이전트를 사용할 시기에 대한 자연어 설명 |

1194| `prompt` | 예 | 에이전트의 시스템 프롬프트 |1194| `prompt` | 예 | 에이전트의 시스템 프롬프트 |

1195| `tools` | 아니오 | 허용된 도구 이름의 배열. 생략하면 [서브에이전트가 사용할 수 있는 모든 도구](/docs/ko/sub-agents#available-tools)를 상속합니다 |1195| `tools` | 아니오 | 허용된 도구 이름의 배열. 생략하면 [서브에이전트가 사용할 수 있는 모든 도구](/docs/ko/sub-agents#available-tools)를 상속합니다 |


1286```1286```

1287 1287 

1288| 필드 | 타입 | 설명 |1288| 필드 | 타입 | 설명 |

1289| :---------------- | :----------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- |1289| :- | :- | :- |

1290| `signal` | `Any \| None` | 향후 중단 신호 지원을 위해 예약됨 |1290| `signal` | `Any \| None` | 향후 중단 신호 지원을 위해 예약됨 |

1291| `suggestions` | `list[PermissionUpdate]` | CLI의 권한 업데이트 제안. Bash 프롬프트는 `localSettings` 대상이 있는 제안을 포함하므로, `updated_permissions`에서 반환하면 규칙을 `.claude/settings.local.json`에 쓰고 세션 간에 유지합니다. |1291| `suggestions` | `list[PermissionUpdate]` | CLI의 권한 업데이트 제안. Bash 프롬프트는 `localSettings` 대상이 있는 제안을 포함하므로, `updated_permissions`에서 반환하면 규칙을 `.claude/settings.local.json`에 쓰고 세션 간에 유지합니다. |

1292| `tool_use_id` | `str \| None` | 이 프롬프트가 대한 특정 도구 호출의 식별자. `can_use_tool`에 전달될 때 항상 채워집니다 |1292| `tool_use_id` | `str \| None` | 이 프롬프트가 대한 특정 도구 호출의 식별자. `can_use_tool`에 전달될 때 항상 채워집니다 |


1322```1322```

1323 1323 

1324| 필드 | 타입 | 기본값 | 설명 |1324| 필드 | 타입 | 기본값 | 설명 |

1325| :-------------------- | :------------------------------- | :-------- | :--------------- |1325| :- | :- | :- | :- |

1326| `behavior` | `Literal["allow"]` | `"allow"` | "allow"이어야 합니다 |1326| `behavior` | `Literal["allow"]` | `"allow"` | "allow"이어야 합니다 |

1327| `updated_input` | `dict[str, Any] \| None` | `None` | 원본 대신 사용할 수정된 입력 |1327| `updated_input` | `dict[str, Any] \| None` | `None` | 원본 대신 사용할 수정된 입력 |

1328| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | 적용할 권한 업데이트 |1328| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | 적용할 권한 업데이트 |


1342```1342```

1343 1343 

1344| 필드 | 타입 | 기본값 | 설명 |1344| 필드 | 타입 | 기본값 | 설명 |

1345| :---------- | :---------------- | :------- | :------------------- |1345| :- | :- | :- | :- |

1346| `behavior` | `Literal["deny"]` | `"deny"` | "deny"이어야 합니다 |1346| `behavior` | `Literal["deny"]` | `"deny"` | "deny"이어야 합니다 |

1347| `message` | `str` | `""` | 도구가 거부된 이유를 설명하는 메시지 |1347| `message` | `str` | `""` | 도구가 거부된 이유를 설명하는 메시지 |

1348| `interrupt` | `bool` | `False` | 현재 실행을 중단할지 여부 |1348| `interrupt` | `bool` | `False` | 현재 실행을 중단할지 여부 |


1374```1374```

1375 1375 

1376| 필드 | 타입 | 설명 |1376| 필드 | 타입 | 설명 |

1377| :------------ | :---------------------------------------- | :--------------------- |1377| :- | :- | :- |

1378| `type` | `Literal[...]` | 권한 업데이트 작업의 타입 |1378| `type` | `Literal[...]` | 권한 업데이트 작업의 타입 |

1379| `rules` | `list[PermissionRuleValue] \| None` | 추가/교체/제거 작업을 위한 규칙 |1379| `rules` | `list[PermissionRuleValue] \| None` | 추가/교체/제거 작업을 위한 규칙 |

1380| `behavior` | `Literal["allow", "deny", "ask"] \| None` | 규칙 기반 작업을 위한 동작 |1380| `behavior` | `Literal["allow", "deny", "ask"] \| None` | 규칙 기반 작업을 위한 동작 |


1436```1436```

1437 1437 

1438| 변형 | 필드 | 설명 |1438| 변형 | 필드 | 설명 |

1439| :--------- | :--------------------------------- | :-------------------------- |1439| :- | :- | :- |

1440| `adaptive` | `type`, `display` | Claude가 생각할 시기를 적응적으로 결정합니다 |1440| `adaptive` | `type`, `display` | Claude가 생각할 시기를 적응적으로 결정합니다 |

1441| `enabled` | `type`, `budget_tokens`, `display` | 특정 토큰 예산으로 생각 활성화 |1441| `enabled` | `type`, `budget_tokens`, `display` | 특정 토큰 예산으로 생각 활성화 |

1442| `disabled` | `type` | 생각 비활성화 |1442| `disabled` | `type` | 생각 비활성화 |


1469```1469```

1470 1470 

1471| 필드 | 타입 | 설명 |1471| 필드 | 타입 | 설명 |

1472| :------ | :---- | :---------- |1472| :- | :- | :- |

1473| `total` | `int` | 작업의 총 토큰 예산 |1473| `total` | `int` | 작업의 총 토큰 예산 |

1474 1474 

1475이것은 `TypedDict`이므로, `ClaudeAgentOptions(task_budget={"total": 50000})`과 같은 일반 dict로 전달합니다.1475이것은 `TypedDict`이므로, `ClaudeAgentOptions(task_budget={"total": 50000})`과 같은 일반 dict로 전달합니다.


1596```1596```

1597 1597 

1598| 필드 | 타입 | 설명 |1598| 필드 | 타입 | 설명 |

1599| :----------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |1599| :- | :- | :- |

1600| `name` | `str` | 서버 이름 |1600| `name` | `str` | 서버 이름 |

1601| `status` | `str` | `"connected"`, `"failed"`, `"needs-auth"`, `"pending"` 또는 `"disabled"` 중 하나 |1601| `status` | `str` | `"connected"`, `"failed"`, `"needs-auth"`, `"pending"` 또는 `"disabled"` 중 하나 |

1602| `serverInfo` | `dict` (선택사항) | 서버 이름 및 버전 (`{"name": str, "version": str}`) |1602| `serverInfo` | `dict` (선택사항) | 서버 이름 및 버전 (`{"name": str, "version": str}`) |


1618```1618```

1619 1619 

1620| 필드 | 타입 | 설명 |1620| 필드 | 타입 | 설명 |

1621| :----- | :----------------- | :--------------------------------- |1621| :- | :- | :- |

1622| `type` | `Literal["local"]` | `"local"`이어야 합니다 (현재 로컬 플러그인만 지원됨) |1622| `type` | `Literal["local"]` | `"local"`이어야 합니다 (현재 로컬 플러그인만 지원됨) |

1623| `path` | `str` | 플러그인 디렉토리의 절대 또는 상대 경로 |1623| `path` | `str` | 플러그인 디렉토리의 절대 또는 상대 경로 |

1624 1624 


1672```1672```

1673 1673 

1674| 필드 | 타입 | 설명 |1674| 필드 | 타입 | 설명 |

1675| :------------------- | :-------------------------- | :-------------------------------------------------------------------------------------------------------------- |1675| :- | :- | :- |

1676| `content` | `str \| list[ContentBlock]` | 텍스트 또는 콘텐츠 블록으로서의 메시지 콘텐츠 |1676| `content` | `str \| list[ContentBlock]` | 텍스트 또는 콘텐츠 블록으로서의 메시지 콘텐츠 |

1677| `uuid` | `str \| None` | 고유 메시지 식별자 |1677| `uuid` | `str \| None` | 고유 메시지 식별자 |

1678| `parent_tool_use_id` | `str \| None` | 이 메시지가 도구 결과 응답인 경우 도구 사용 ID |1678| `parent_tool_use_id` | `str \| None` | 이 메시지가 도구 결과 응답인 경우 도구 사용 ID |


1704```1704```

1705 1705 

1706| 필드 | 타입 | 설명 |1706| 필드 | 타입 | 설명 |

1707| :------------------- | :----------------------------------------------------------- | :----------------------------------------------------------- |1707| :- | :- | :- |

1708| `content` | `list[ContentBlock]` | 응답의 콘텐츠 블록 목록 |1708| `content` | `list[ContentBlock]` | 응답의 콘텐츠 블록 목록 |

1709| `model` | `str` | 응답을 생성한 모델 |1709| `model` | `str` | 응답을 생성한 모델 |

1710| `parent_tool_use_id` | `str \| None` | 이것이 중첩된 응답인 경우 도구 사용 ID |1710| `parent_tool_use_id` | `str \| None` | 이것이 중첩된 응답인 경우 도구 사용 ID |


1791`usage` dict는 주 에이전트 루프만 포함하고 서브에이전트 및 기타 중첩되거나 보조적인 모델 호출을 제외합니다. [스트리밍 입력 모드](/docs/ko/agent-sdk/streaming-vs-single-mode)에서 값은 턴별입니다. 토큰 및 비용 회계의 경우 `model_usage`를 선호하십시오. `usage` dict는 존재할 때 다음 키를 포함합니다:1791`usage` dict는 주 에이전트 루프만 포함하고 서브에이전트 및 기타 중첩되거나 보조적인 모델 호출을 제외합니다. [스트리밍 입력 모드](/docs/ko/agent-sdk/streaming-vs-single-mode)에서 값은 턴별입니다. 토큰 및 비용 회계의 경우 `model_usage`를 선호하십시오. `usage` dict는 존재할 때 다음 키를 포함합니다:

1792 1792 

1793| 키 | 타입 | 설명 |1793| 키 | 타입 | 설명 |

1794| ----------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------- |1794| - | - | - |

1795| `input_tokens` | `int` | 최상위 에이전트 루프에서 소비된 입력 토큰입니다. [서브에이전트 토큰은 포함되지 않습니다](/docs/ko/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); 전체 트리 회계의 경우 `model_usage`를 사용하십시오. |1795| `input_tokens` | `int` | 최상위 에이전트 루프에서 소비된 입력 토큰입니다. [서브에이전트 토큰은 포함되지 않습니다](/docs/ko/agent-sdk/cost-tracking#get-the-total-cost-of-a-query); 전체 트리 회계의 경우 `model_usage`를 사용하십시오. |

1796| `output_tokens` | `int` | 최상위 에이전트 루프에서 생성된 출력 토큰입니다. 서브에이전트 토큰은 포함되지 않습니다. |1796| `output_tokens` | `int` | 최상위 에이전트 루프에서 생성된 출력 토큰입니다. 서브에이전트 토큰은 포함되지 않습니다. |

1797| `cache_creation_input_tokens` | `int` | 새 캐시 항목을 생성하는 데 사용된 토큰입니다. |1797| `cache_creation_input_tokens` | `int` | 새 캐시 항목을 생성하는 데 사용된 토큰입니다. |


1804`model_usage`의 각 값은 `from claude_agent_sdk.types import ModelUsage`를 통해 가져온 `ModelUsage` TypedDict입니다. 해당 키는 기본 CLI 프로세스에서 수정되지 않은 상태로 전달되는 값과 일치하는 TypeScript [`ModelUsage`](/docs/ko/agent-sdk/typescript#modelusage) 타입과 일치하므로 camelCase를 사용합니다:1804`model_usage`의 각 값은 `from claude_agent_sdk.types import ModelUsage`를 통해 가져온 `ModelUsage` TypedDict입니다. 해당 키는 기본 CLI 프로세스에서 수정되지 않은 상태로 전달되는 값과 일치하는 TypeScript [`ModelUsage`](/docs/ko/agent-sdk/typescript#modelusage) 타입과 일치하므로 camelCase를 사용합니다:

1805 1805 

1806| 키 | 타입 | 설명 |1806| 키 | 타입 | 설명 |

1807| -------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1807| - | - | - |

1808| `inputTokens` | `int` | 이 모델의 입력 토큰입니다. |1808| `inputTokens` | `int` | 이 모델의 입력 토큰입니다. |

1809| `outputTokens` | `int` | 이 모델의 출력 토큰입니다. |1809| `outputTokens` | `int` | 이 모델의 출력 토큰입니다. |

1810| `cacheReadInputTokens` | `int` | 이 모델의 캐시 읽기 토큰입니다. |1810| `cacheReadInputTokens` | `int` | 이 모델의 캐시 읽기 토큰입니다. |


1833```1833```

1834 1834 

1835| 필드 | 타입 | 설명 |1835| 필드 | 타입 | 설명 |

1836| :------------------- | :--------------- | :-------------------------------------------------------------------------------------------------------------- |1836| :- | :- | :- |

1837| `uuid` | `str` | 이 이벤트의 고유 식별자입니다 |1837| `uuid` | `str` | 이 이벤트의 고유 식별자입니다 |

1838| `session_id` | `str` | 세션 식별자입니다 |1838| `session_id` | `str` | 세션 식별자입니다 |

1839| `event` | `dict[str, Any]` | 원본 Claude API 스트림 이벤트 데이터입니다 |1839| `event` | `dict[str, Any]` | 원본 Claude API 스트림 이벤트 데이터입니다 |


1854```1854```

1855 1855 

1856| 필드 | 타입 | 설명 |1856| 필드 | 타입 | 설명 |

1857| :---------------- | :-------------------------------- | :------------- |1857| :- | :- | :- |

1858| `rate_limit_info` | [`RateLimitInfo`](#ratelimitinfo) | 현재 속도 제한 상태입니다 |1858| `rate_limit_info` | [`RateLimitInfo`](#ratelimitinfo) | 현재 속도 제한 상태입니다 |

1859| `uuid` | `str` | 고유 이벤트 식별자입니다 |1859| `uuid` | `str` | 고유 이벤트 식별자입니다 |

1860| `session_id` | `str` | 세션 식별자입니다 |1860| `session_id` | `str` | 세션 식별자입니다 |


1885```1885```

1886 1886 

1887| 필드 | 타입 | 설명 |1887| 필드 | 타입 | 설명 |

1888| :------------------------ | :------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------- |1888| :- | :- | :- |

1889| `status` | `RateLimitStatus` | 현재 상태입니다. `"allowed"`, `"allowed_warning"` 또는 `"rejected"` 중 하나입니다. `"allowed_warning"`은 제한에 접근 중을 의미합니다. `"rejected"`는 제한에 도달했음을 의미합니다 |1889| `status` | `RateLimitStatus` | 현재 상태입니다. `"allowed"`, `"allowed_warning"` 또는 `"rejected"` 중 하나입니다. `"allowed_warning"`은 제한에 접근 중을 의미합니다. `"rejected"`는 제한에 도달했음을 의미합니다 |

1890| `resets_at` | `int \| None` | 속도 제한 윈도우가 재설정되는 Unix 타임스탬프입니다 |1890| `resets_at` | `int \| None` | 속도 제한 윈도우가 재설정되는 Unix 타임스탬프입니다 |

1891| `rate_limit_type` | `RateLimitType \| None` | 어느 속도 제한 윈도우가 적용되는지입니다 |1891| `rate_limit_type` | `RateLimitType \| None` | 어느 속도 제한 윈도우가 적용되는지입니다 |


1910```1910```

1911 1911 

1912| 필드 | 타입 | 설명 |1912| 필드 | 타입 | 설명 |

1913| :-------------------- | :---- | :------------------------------------------------------------- |1913| :- | :- | :- |

1914| `new_conversation_id` | `str` | 새로운 대화의 불투명 식별자입니다. 이후 메시지의 `session_id`가 아닙니다. 다음 메시지에서 읽으십시오 |1914| `new_conversation_id` | `str` | 새로운 대화의 불투명 식별자입니다. 이후 메시지의 `session_id`가 아닙니다. 다음 메시지에서 읽으십시오 |

1915| `uuid` | `str` | 고유 메시지 식별자 |1915| `uuid` | `str` | 고유 메시지 식별자 |

1916| `session_id` | `str` | 재설정된 세션의 ID입니다. 재설정 후의 메시지는 새로운 `session_id`를 전달합니다 |1916| `session_id` | `str` | 재설정된 세션의 ID입니다. 재설정 후의 메시지는 새로운 `session_id`를 전달합니다 |


1933```1933```

1934 1934 

1935| 필드 | 타입 | 설명 |1935| 필드 | 타입 | 설명 |

1936| :------------ | :------------ | :----------------------------------------------------------------------------------------------- |1936| :- | :- | :- |

1937| `task_id` | `str` | 작업의 고유 식별자입니다 |1937| `task_id` | `str` | 작업의 고유 식별자입니다 |

1938| `description` | `str` | 작업의 설명입니다 |1938| `description` | `str` | 작업의 설명입니다 |

1939| `uuid` | `str` | 고유 메시지 식별자입니다 |1939| `uuid` | `str` | 고유 메시지 식별자입니다 |


1973```1973```

1974 1974 

1975| 필드 | 타입 | 설명 |1975| 필드 | 타입 | 설명 |

1976| :--------------- | :------------ | :---------------------- |1976| :- | :- | :- |

1977| `task_id` | `str` | 작업의 고유 식별자입니다 |1977| `task_id` | `str` | 작업의 고유 식별자입니다 |

1978| `description` | `str` | 현재 상태 설명입니다 |1978| `description` | `str` | 현재 상태 설명입니다 |

1979| `usage` | `TaskUsage` | 지금까지 이 작업의 토큰 사용량입니다 |1979| `usage` | `TaskUsage` | 지금까지 이 작업의 토큰 사용량입니다 |


2002```2002```

2003 2003 

2004| 필드 | 타입 | 설명 |2004| 필드 | 타입 | 설명 |

2005| :------------ | :----------------------- | :----------------------------------------------- |2005| :- | :- | :- |

2006| `task_id` | `str` | 작업의 고유 식별자입니다 |2006| `task_id` | `str` | 작업의 고유 식별자입니다 |

2007| `status` | `TaskNotificationStatus` | `"completed"`, `"failed"` 또는 `"stopped"` 중 하나입니다 |2007| `status` | `TaskNotificationStatus` | `"completed"`, `"failed"` 또는 `"stopped"` 중 하나입니다 |

2008| `output_file` | `str` | 작업 출력 파일의 경로입니다 |2008| `output_file` | `str` | 작업 출력 파일의 경로입니다 |


2307```2307```

2308 2308 

2309| 필드 | 타입 | 설명 |2309| 필드 | 타입 | 설명 |

2310| :---------------- | :----------- | :----------- |2310| :- | :- | :- |

2311| `session_id` | `str` | 현재 세션 식별자 |2311| `session_id` | `str` | 현재 세션 식별자 |

2312| `transcript_path` | `str` | 세션 기록 파일의 경로 |2312| `transcript_path` | `str` | 세션 기록 파일의 경로 |

2313| `cwd` | `str` | 현재 작업 디렉토리 |2313| `cwd` | `str` | 현재 작업 디렉토리 |


2330```2330```

2331 2331 

2332| 필드 | 타입 | 설명 |2332| 필드 | 타입 | 설명 |

2333| :---------------- | :---------------------- | :------------------------------------ |2333| :- | :- | :- |

2334| `hook_event_name` | `Literal["PreToolUse"]` | 항상 "PreToolUse" |2334| `hook_event_name` | `Literal["PreToolUse"]` | 항상 "PreToolUse" |

2335| `tool_name` | `str` | 실행될 도구의 이름 |2335| `tool_name` | `str` | 실행될 도구의 이름 |

2336| `tool_input` | `dict[str, Any]` | 도구의 입력 매개변수 |2336| `tool_input` | `dict[str, Any]` | 도구의 입력 매개변수 |


2356```2356```

2357 2357 

2358| 필드 | 타입 | 설명 |2358| 필드 | 타입 | 설명 |

2359| :---------------- | :----------------------- | :------------------------------------ |2359| :- | :- | :- |

2360| `hook_event_name` | `Literal["PostToolUse"]` | 항상 "PostToolUse" |2360| `hook_event_name` | `Literal["PostToolUse"]` | 항상 "PostToolUse" |

2361| `tool_name` | `str` | 실행된 도구의 이름 |2361| `tool_name` | `str` | 실행된 도구의 이름 |

2362| `tool_input` | `dict[str, Any]` | 사용된 입력 매개변수 |2362| `tool_input` | `dict[str, Any]` | 사용된 입력 매개변수 |


2384```2384```

2385 2385 

2386| 필드 | 타입 | 설명 |2386| 필드 | 타입 | 설명 |

2387| :---------------- | :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------ |2387| :- | :- | :- |

2388| `hook_event_name` | `Literal["PostToolUseFailure"]` | 항상 "PostToolUseFailure" |2388| `hook_event_name` | `Literal["PostToolUseFailure"]` | 항상 "PostToolUseFailure" |

2389| `tool_name` | `str` | 실패한 도구의 이름 |2389| `tool_name` | `str` | 실패한 도구의 이름 |

2390| `tool_input` | `dict[str, Any]` | 사용된 입력 매개변수 |2390| `tool_input` | `dict[str, Any]` | 사용된 입력 매개변수 |


2407```2407```

2408 2408 

2409| 필드 | 타입 | 설명 |2409| 필드 | 타입 | 설명 |

2410| :---------------- | :---------------------------- | :-------------------- |2410| :- | :- | :- |

2411| `hook_event_name` | `Literal["UserPromptSubmit"]` | 항상 "UserPromptSubmit" |2411| `hook_event_name` | `Literal["UserPromptSubmit"]` | 항상 "UserPromptSubmit" |

2412| `prompt` | `str` | 사용자가 제출한 프롬프트 |2412| `prompt` | `str` | 사용자가 제출한 프롬프트 |

2413 2413 


2424```2424```

2425 2425 

2426| 필드 | 타입 | 설명 |2426| 필드 | 타입 | 설명 |

2427| :----------------- | :---------------- | :---------------------- |2427| :- | :- | :- |

2428| `hook_event_name` | `Literal["Stop"]` | 항상 "Stop" |2428| `hook_event_name` | `Literal["Stop"]` | 항상 "Stop" |

2429| `stop_hook_active` | `bool` | stop hook이 활성화되어 있는지 여부 |2429| `stop_hook_active` | `bool` | stop hook이 활성화되어 있는지 여부 |

2430 2430 


2444```2444```

2445 2445 

2446| 필드 | 타입 | 설명 |2446| 필드 | 타입 | 설명 |

2447| :---------------------- | :------------------------ | :---------------------- |2447| :- | :- | :- |

2448| `hook_event_name` | `Literal["SubagentStop"]` | 항상 "SubagentStop" |2448| `hook_event_name` | `Literal["SubagentStop"]` | 항상 "SubagentStop" |

2449| `stop_hook_active` | `bool` | stop hook이 활성화되어 있는지 여부 |2449| `stop_hook_active` | `bool` | stop hook이 활성화되어 있는지 여부 |

2450| `agent_id` | `str` | 서브에이전트의 고유 식별자 |2450| `agent_id` | `str` | 서브에이전트의 고유 식별자 |


2465```2465```

2466 2466 

2467| 필드 | 타입 | 설명 |2467| 필드 | 타입 | 설명 |

2468| :-------------------- | :-------------------------- | :--------------- |2468| :- | :- | :- |

2469| `hook_event_name` | `Literal["PreCompact"]` | 항상 "PreCompact" |2469| `hook_event_name` | `Literal["PreCompact"]` | 항상 "PreCompact" |

2470| `trigger` | `Literal["manual", "auto"]` | 압축을 트리거한 것 |2470| `trigger` | `Literal["manual", "auto"]` | 압축을 트리거한 것 |

2471| `custom_instructions` | `str \| None` | 압축을 위한 사용자 정의 지침 |2471| `custom_instructions` | `str \| None` | 압축을 위한 사용자 정의 지침 |


2485```2485```

2486 2486 

2487| 필드 | 타입 | 설명 |2487| 필드 | 타입 | 설명 |

2488| :------------------ | :------------------------ | :---------------- |2488| :- | :- | :- |

2489| `hook_event_name` | `Literal["Notification"]` | 항상 "Notification" |2489| `hook_event_name` | `Literal["Notification"]` | 항상 "Notification" |

2490| `message` | `str` | 알림 메시지 콘텐츠 |2490| `message` | `str` | 알림 메시지 콘텐츠 |

2491| `title` | `str` (선택사항) | 알림 제목 |2491| `title` | `str` (선택사항) | 알림 제목 |


2505```2505```

2506 2506 

2507| 필드 | 타입 | 설명 |2507| 필드 | 타입 | 설명 |

2508| :---------------- | :------------------------- | :----------------- |2508| :- | :- | :- |

2509| `hook_event_name` | `Literal["SubagentStart"]` | 항상 "SubagentStart" |2509| `hook_event_name` | `Literal["SubagentStart"]` | 항상 "SubagentStart" |

2510| `agent_id` | `str` | 서브에이전트의 고유 식별자 |2510| `agent_id` | `str` | 서브에이전트의 고유 식별자 |

2511| `agent_type` | `str` | 서브에이전트의 타입 |2511| `agent_type` | `str` | 서브에이전트의 타입 |


2527```2527```

2528 2528 

2529| 필드 | 타입 | 설명 |2529| 필드 | 타입 | 설명 |

2530| :----------------------- | :----------------------------- | :------------------------------------ |2530| :- | :- | :- |

2531| `hook_event_name` | `Literal["PermissionRequest"]` | 항상 "PermissionRequest" |2531| `hook_event_name` | `Literal["PermissionRequest"]` | 항상 "PermissionRequest" |

2532| `tool_name` | `str` | 권한을 요청하는 도구의 이름 |2532| `tool_name` | `str` | 권한을 요청하는 도구의 이름 |

2533| `tool_input` | `dict[str, Any]` | 도구의 입력 매개변수 |2533| `tool_input` | `dict[str, Any]` | 도구의 입력 매개변수 |


3609```3609```

3610 3610 

3611| 속성 | 타입 | 기본값 | 설명 |3611| 속성 | 타입 | 기본값 | 설명 |

3612| :-------------------------- | :---------------------------------------------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3612| :- | :- | :- | :- |

3613| `enabled` | `bool` | `False` | 명령 실행을 위한 샌드박스 모드 활성화 |3613| `enabled` | `bool` | `False` | 명령 실행을 위한 샌드박스 모드 활성화 |

3614| `autoAllowBashIfSandboxed` | `bool` | `True` | 샌드박스가 활성화되면 bash 명령 자동 승인 |3614| `autoAllowBashIfSandboxed` | `bool` | `True` | 샌드박스가 활성화되면 bash 명령 자동 승인 |

3615| `excludedCommands` | `list[str]` | `[]` | 샌드박스 제한을 우회하는 명령 (예: `["docker *"]`). 이들은 모델 개입 없이 자동으로 샌드박스되지 않은 상태로 실행됩니다. [`sandbox.excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에서 항목이 적용되는 시기를 다룹니다 |3615| `excludedCommands` | `list[str]` | `[]` | 샌드박스 제한을 우회하는 명령 (예: `["docker *"]`). 이들은 모델 개입 없이 자동으로 샌드박스되지 않은 상태로 실행됩니다. [`sandbox.excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에서 항목이 적용되는 시기를 다룹니다 |


3681```3681```

3682 3682 

3683| 속성 | 타입 | 기본값 | 설명 |3683| 속성 | 타입 | 기본값 | 설명 |

3684| :------------------------ | :---------- | :------ | :-------------------------------------------------------------------------------------------------------------------------- |3684| :- | :- | :- | :- |

3685| `allowedDomains` | `list[str]` | `[]` | 샌드박스된 프로세스가 접근할 수 있는 도메인 이름 |3685| `allowedDomains` | `list[str]` | `[]` | 샌드박스된 프로세스가 접근할 수 있는 도메인 이름 |

3686| `deniedDomains` | `list[str]` | `[]` | 샌드박스된 프로세스가 접근할 수 없는 도메인 이름입니다. `allowedDomains`보다 우선합니다 |3686| `deniedDomains` | `list[str]` | `[]` | 샌드박스된 프로세스가 접근할 수 없는 도메인 이름입니다. `allowedDomains`보다 우선합니다 |

3687| `allowManagedDomainsOnly` | `bool` | `False` | 관리되는 설정만: 관리되는 설정에서 설정되면, 관리되지 않는 설정 소스의 `allowedDomains` 및 `WebFetch(domain:...)` 허용 규칙을 무시합니다. SDK 옵션을 통해 설정할 때는 효과가 없습니다 |3687| `allowManagedDomainsOnly` | `bool` | `False` | 관리되는 설정만: 관리되는 설정에서 설정되면, 관리되지 않는 설정 소스의 `allowedDomains` 및 `WebFetch(domain:...)` 허용 규칙을 무시합니다. SDK 옵션을 통해 설정할 때는 효과가 없습니다 |


3709```3709```

3710 3710 

3711| 속성 | 타입 | 기본값 | 설명 |3711| 속성 | 타입 | 기본값 | 설명 |

3712| :-------- | :---------- | :--- | :--------------- |3712| :- | :- | :- | :- |

3713| `file` | `list[str]` | `[]` | 위반을 무시할 파일 경로 패턴 |3713| `file` | `list[str]` | `[]` | 위반을 무시할 파일 경로 패턴 |

3714| `network` | `list[str]` | `[]` | 위반을 무시할 네트워크 패턴 |3714| `network` | `list[str]` | `[]` | 위반을 무시할 네트워크 패턴 |

3715 3715 

Details

367**도구**는 에이전트가 수행할 수 있는 작업을 제어합니다:367**도구**는 에이전트가 수행할 수 있는 작업을 제어합니다:

368 368 

369| 도구 | 에이전트가 수행할 수 있는 작업 |369| 도구 | 에이전트가 수행할 수 있는 작업 |

370| -------------------------------------- | ----------------- |370| - | - |

371| `Read`, `Glob`, `Grep` | 읽기 전용 분석 |371| `Read`, `Glob`, `Grep` | 읽기 전용 분석 |

372| `Read`, `Edit`, `Glob` | 코드 분석 및 수정 |372| `Read`, `Edit`, `Glob` | 코드 분석 및 수정 |

373| `Read`, `Edit`, `Bash`, `Glob`, `Grep` | 완전 자동화 |373| `Read`, `Edit`, `Bash`, `Glob`, `Grep` | 완전 자동화 |

Details

52필요한 경우, 에이전트를 특정 작업에 필요한 기능으로만 제한할 수 있습니다:52필요한 경우, 에이전트를 특정 작업에 필요한 기능으로만 제한할 수 있습니다:

53 53 

54| 리소스 | 제한 옵션 |54| 리소스 | 제한 옵션 |

55| ------ | ----------------------- |55| - | - |

56| 파일 시스템 | 필요한 디렉토리만 마운트, 읽기 전용 선호 |56| 파일 시스템 | 필요한 디렉토리만 마운트, 읽기 전용 선호 |

57| 네트워크 | 프록시를 통해 특정 엔드포인트로 제한 |57| 네트워크 | 프록시를 통해 특정 엔드포인트로 제한 |

58| 자격증명 | 직접 노출하는 대신 프록시를 통해 주입 |58| 자격증명 | 직접 노출하는 대신 프록시를 통해 주입 |


82</Info>82</Info>

83 83 

84| 기술 | 격리 강도 | 성능 오버헤드 | 복잡성 |84| 기술 | 격리 강도 | 성능 오버헤드 | 복잡성 |

85| --------------------- | ------------- | ------- | ----- |85| - | - | - | - |

86| 샌드박스 런타임 | 좋음(안전한 기본값) | 매우 낮음 | 낮음 |86| 샌드박스 런타임 | 좋음(안전한 기본값) | 매우 낮음 | 낮음 |

87| 컨테이너(Docker) | 설정 종속 | 낮음 | 중간 |87| 컨테이너(Docker) | 설정 종속 | 낮음 | 중간 |

88| gVisor | 우수(올바른 설정 포함) | 중간/높음 | 중간 |88| gVisor | 우수(올바른 설정 포함) | 중간/높음 | 중간 |


147각 옵션이 수행하는 작업은 다음과 같습니다:147각 옵션이 수행하는 작업은 다음과 같습니다:

148 148 

149| 옵션 | 목적 |149| 옵션 | 목적 |

150| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------- |150| - | - |

151| `--cap-drop ALL` | `NET_ADMIN` 및 `SYS_ADMIN`과 같은 권한 상승을 가능하게 할 수 있는 Linux 기능을 제거합니다 |151| `--cap-drop ALL` | `NET_ADMIN` 및 `SYS_ADMIN`과 같은 권한 상승을 가능하게 할 수 있는 Linux 기능을 제거합니다 |

152| `--security-opt no-new-privileges` | 프로세스가 setuid 바이너리를 통해 권한을 얻는 것을 방지합니다 |152| `--security-opt no-new-privileges` | 프로세스가 setuid 바이너리를 통해 권한을 얻는 것을 방지합니다 |

153| `--security-opt seccomp=...` | 사용 가능한 시스템 호출을 제한합니다. Docker의 기본값은 \~44개를 차단하며, 사용자 정의 프로필은 더 많이 차단할 수 있습니다 |153| `--security-opt seccomp=...` | 사용 가능한 시스템 호출을 제한합니다. Docker의 기본값은 \~44개를 차단하며, 사용자 정의 프로필은 더 많이 차단할 수 있습니다 |


169**추가 강화 옵션:**169**추가 강화 옵션:**

170 170 

171| 옵션 | 목적 |171| 옵션 | 목적 |

172| ---------------- | ------------------------------------------------------------------ |172| - | - |

173| `--userns-remap` | 컨테이너 루트를 권한 없는 호스트 사용자에게 매핑합니다. 데몬 구성이 필요하지만 컨테이너 탈출로부터의 손상을 제한합니다 |173| `--userns-remap` | 컨테이너 루트를 권한 없는 호스트 사용자에게 매핑합니다. 데몬 구성이 필요하지만 컨테이너 탈출로부터의 손상을 제한합니다 |

174| `--ipc private` | 프로세스 간 통신을 격리하여 컨테이너 간 공격을 방지합니다 |174| `--ipc private` | 프로세스 간 통신을 격리하여 컨테이너 간 공격을 방지합니다 |

175 175 


202**성능 고려사항:**202**성능 고려사항:**

203 203 

204| 워크로드 | 오버헤드 |204| 워크로드 | 오버헤드 |

205| ---------- | ------------------------------ |205| - | - |

206| CPU 바운드 계산 | \~0%(시스템 호출 가로채기 없음) |206| CPU 바운드 계산 | \~0%(시스템 호출 가로채기 없음) |

207| 간단한 시스템 호출 | \~2배 느림 |207| 간단한 시스템 호출 | \~2배 느림 |

208| 파일 I/O 집약적 | 무거운 열기/닫기 패턴의 경우 최대 10-200배 느림 |208| 파일 I/O 집약적 | 무거운 열기/닫기 패턴의 경우 최대 10-200배 느림 |


345 코드 디렉토리에 대한 읽기 전용 접근도 자격증명을 노출할 수 있습니다. 마운트하기 전에 제외하거나 정제할 일반적인 파일:345 코드 디렉토리에 대한 읽기 전용 접근도 자격증명을 노출할 수 있습니다. 마운트하기 전에 제외하거나 정제할 일반적인 파일:

346 346 

347 | 파일 | 위험 |347 | 파일 | 위험 |

348 | ------------------------------------------------------- | -------------------- |348 | - | - |

349 | `.env`, `.env.local` | API 키, 데이터베이스 암호, 비밀 |349 | `.env`, `.env.local` | API 키, 데이터베이스 암호, 비밀 |

350 | `~/.git-credentials` | 평문의 Git 암호/토큰 |350 | `~/.git-credentials` | 평문의 Git 암호/토큰 |

351 | `~/.aws/credentials` | AWS 접근 키 |351 | `~/.aws/credentials` | AWS 접근 키 |

Details

95`subpath`를 불투명한 키 접미사로 취급합니다. 예를 들어 `subagents/agent-<id>`와 같이 온디스크 레이아웃을 따릅니다. `subpath`가 정의되지 않으면 키는 주 기록을 참조합니다.95`subpath`를 불투명한 키 접미사로 취급합니다. 예를 들어 `subagents/agent-<id>`와 같이 온디스크 레이아웃을 따릅니다. `subpath`가 정의되지 않으면 키는 주 기록을 참조합니다.

96 96 

97| 메서드 | 필수 | 호출 시기 |97| 메서드 | 필수 | 호출 시기 |

98| :--------------------- | :-- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |98| :- | :- | :- |

99| `append` | 예 | 기록 항목의 각 배치가 로컬에 작성된 후. 항목은 JSON 안전 객체이며 로컬 JSONL에서 한 줄에 하나씩입니다. |99| `append` | 예 | 기록 항목의 각 배치가 로컬에 작성된 후. 항목은 JSON 안전 객체이며 로컬 JSONL에서 한 줄에 하나씩입니다. |

100| `load` | 예 | 서브프로세스가 생성되기 전에 `resume`이 설정되었을 때 또는 `continue: true`가 최신 저장소 세션을 해결할 때, 그리고 나열이 `listSessionSummaries`에서 폴백할 때 세션당 한 번. 세션을 알 수 없으면 `null`을 반환합니다. |100| `load` | 예 | 서브프로세스가 생성되기 전에 `resume`이 설정되었을 때 또는 `continue: true`가 최신 저장소 세션을 해결할 때, 그리고 나열이 `listSessionSummaries`에서 폴백할 때 세션당 한 번. 세션을 알 수 없으면 `null`을 반환합니다. |

101| `listSessions` | 아니오 | `listSessions({ sessionStore })`에 의해 그리고 `continue: true`를 사용하는 `query()`/`startup()`에 의해. 정의되지 않으면 `continue: true`는 예외를 발생시키고, `listSessionSummaries`가 구현되지 않으면 `listSessions({ sessionStore })`는 예외를 발생시킵니다. |101| `listSessions` | 아니오 | `listSessions({ sessionStore })`에 의해 그리고 `continue: true`를 사용하는 `query()`/`startup()`에 의해. 정의되지 않으면 `continue: true`는 예외를 발생시키고, `listSessionSummaries`가 구현되지 않으면 `listSessions({ sessionStore })`는 예외를 발생시킵니다. |


206두 SDK 저장소 모두 TypeScript의 [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores)와 Python의 [`examples/session_stores/`](https://github.com/anthropics/claude-agent-sdk-python/tree/main/examples/session_stores) 아래에 실행 가능한 참조 어댑터를 포함하고 있습니다. 저장소 유형당 하나의 어댑터가 있으며, 각각은 `append`와 `load`가 해당 종류의 백엔드에 어떻게 매핑되는지 보여줍니다. 이들은 패키지로 게시되지 않습니다. 백엔드에 가장 가까운 유형의 어댑터를 프로젝트에 복사하고, 백엔드의 클라이언트를 설치한 후 이를 조정합니다.206두 SDK 저장소 모두 TypeScript의 [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores)와 Python의 [`examples/session_stores/`](https://github.com/anthropics/claude-agent-sdk-python/tree/main/examples/session_stores) 아래에 실행 가능한 참조 어댑터를 포함하고 있습니다. 저장소 유형당 하나의 어댑터가 있으며, 각각은 `append`와 `load`가 해당 종류의 백엔드에 어떻게 매핑되는지 보여줍니다. 이들은 패키지로 게시되지 않습니다. 백엔드에 가장 가까운 유형의 어댑터를 프로젝트에 복사하고, 백엔드의 클라이언트를 설치한 후 이를 조정합니다.

207 207 

208| 저장소 유형 | 저장소 모델 | 예제 어댑터 |208| 저장소 유형 | 저장소 모델 | 예제 어댑터 |

209| :------------------- | :------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |209| :- | :- | :- |

210| 객체 저장소 | `append()`당 하나의 부분 파일; `load()`는 부분을 나열하고, 정렬하고, 연결합니다. | S3 ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/s3_session_store.py)) |210| 객체 저장소 | `append()`당 하나의 부분 파일; `load()`는 부분을 나열하고, 정렬하고, 연결합니다. | S3 ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/s3_session_store.py)) |

211| 키-값 저장소 | `append()`가 푸시하고 `load()`가 범위로 읽는 기록당 하나의 목록, 그리고 정렬된 세션 인덱스. | Redis ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/redis_session_store.py)) |211| 키-값 저장소 | `append()`가 푸시하고 `load()`가 범위로 읽는 기록당 하나의 목록, 그리고 정렬된 세션 인덱스. | Redis ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/redis_session_store.py)) |

212| 관계형 데이터베이스 또는 문서 저장소 | 항목당 하나의 행 또는 문서, JSON으로 저장되고 삽입 시 할당된 키로 정렬됨. | Postgres ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/postgres_session_store.py)) |212| 관계형 데이터베이스 또는 문서 저장소 | 항목당 하나의 행 또는 문서, JSON으로 저장되고 삽입 시 할당된 키로 정렬됨. | Postgres ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/postgres_session_store.py)) |

Details

23필요한 세션 처리의 양은 애플리케이션의 형태에 따라 다릅니다. 세션 관리는 컨텍스트를 공유해야 하는 여러 프롬프트를 보낼 때 중요합니다. 단일 `query()` 호출 내에서 에이전트는 이미 필요한 만큼 많은 턴을 수행하며, 권한 프롬프트와 `AskUserQuestion`은 [루프 내에서 처리됩니다](/docs/ko/agent-sdk/user-input) (호출을 종료하지 않습니다).23필요한 세션 처리의 양은 애플리케이션의 형태에 따라 다릅니다. 세션 관리는 컨텍스트를 공유해야 하는 여러 프롬프트를 보낼 때 중요합니다. 단일 `query()` 호출 내에서 에이전트는 이미 필요한 만큼 많은 턴을 수행하며, 권한 프롬프트와 `AskUserQuestion`은 [루프 내에서 처리됩니다](/docs/ko/agent-sdk/user-input) (호출을 종료하지 않습니다).

24 24 

25| 구축 중인 것 | 사용할 것 |25| 구축 중인 것 | 사용할 것 |

26| :------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |26| :- | :- |

27| 일회성 작업: 단일 프롬프트, 후속 없음 | 추가 작업 없음. 단일 `query()` 호출로 처리됩니다. |27| 일회성 작업: 단일 프롬프트, 후속 없음 | 추가 작업 없음. 단일 `query()` 호출로 처리됩니다. |

28| 한 프로세스 내에서 다중 턴 채팅 | [`ClaudeSDKClient` (Python) 또는 `continue: true` (TypeScript)](#automatic-session-management). SDK가 ID 처리 없이 세션을 추적합니다. |28| 한 프로세스 내에서 다중 턴 채팅 | [`ClaudeSDKClient` (Python) 또는 `continue: true` (TypeScript)](#automatic-session-management). SDK가 ID 처리 없이 세션을 추적합니다. |

29| 프로세스 재시작 후 중단한 지점에서 계속하기 | `continue_conversation=True` (Python) / `continue: true` (TypeScript). 디렉토리의 가장 최근 세션을 재개하며, ID가 필요하지 않습니다. |29| 프로세스 재시작 후 중단한 지점에서 계속하기 | `continue_conversation=True` (Python) / `continue: true` (TypeScript). 디렉토리의 가장 최근 세션을 재개하며, ID가 필요하지 않습니다. |

Details

91`event` 필드는 [Claude API](https://platform.claude.com/docs/en/build-with-claude/streaming#event-types)의 원본 스트리밍 이벤트를 포함합니다. 일반적인 이벤트 유형은 다음과 같습니다:91`event` 필드는 [Claude API](https://platform.claude.com/docs/en/build-with-claude/streaming#event-types)의 원본 스트리밍 이벤트를 포함합니다. 일반적인 이벤트 유형은 다음과 같습니다:

92 92 

93| 이벤트 유형 | 설명 |93| 이벤트 유형 | 설명 |

94| :-------------------- | :------------------------- |94| :- | :- |

95| `message_start` | 새 메시지의 시작 |95| `message_start` | 새 메시지의 시작 |

96| `content_block_start` | 새 콘텐츠 블록의 시작(텍스트 또는 도구 사용) |96| `content_block_start` | 새 콘텐츠 블록의 시작(텍스트 또는 도구 사용) |

97| `content_block_delta` | 콘텐츠에 대한 증분 업데이트 |97| `content_block_delta` | 콘텐츠에 대한 증분 업데이트 |

Details

393오류가 발생하면 결과 메시지에 무엇이 잘못되었는지 나타내는 `subtype`이 있습니다:393오류가 발생하면 결과 메시지에 무엇이 잘못되었는지 나타내는 `subtype`이 있습니다:

394 394 

395| Subtype | 의미 |395| Subtype | 의미 |

396| ------------------------------------- | ----------------------------------------------------- |396| - | - |

397| `success` | 출력이 성공적으로 생성되고 검증됨 |397| `success` | 출력이 성공적으로 생성되고 검증됨 |

398| `error_max_structured_output_retries` | 여러 시도 후 유효한 출력이 남지 않음(검증 실패 또는 성공적인 재시도가 없는 모델 폴백 취소) |398| `error_max_structured_output_retries` | 여러 시도 후 유효한 출력이 남지 않음(검증 실패 또는 성공적인 재시도가 없는 모델 폴백 취소) |

399 399 

Details

153</h3>153</h3>

154 154 

155| 필드 | 유형 | 필수 | 설명 |155| 필드 | 유형 | 필수 | 설명 |

156| :---------------- | :---------------------------------------------------------- | :-- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |156| :- | :- | :- | :- |

157| `description` | `string` | 예 | 이 에이전트를 사용할 시기를 설명하는 자연어 설명 |157| `description` | `string` | 예 | 이 에이전트를 사용할 시기를 설명하는 자연어 설명 |

158| `prompt` | `string` | 예 | 에이전트의 역할과 동작을 정의하는 시스템 프롬프트 |158| `prompt` | `string` | 예 | 에이전트의 역할과 동작을 정의하는 시스템 프롬프트 |

159| `tools` | `string[]` | 아니오 | 허용된 도구 이름의 배열입니다. 생략하면 [서브에이전트에서 사용 가능한 모든 도구](/docs/ko/sub-agents#available-tools)를 상속합니다 |159| `tools` | `string[]` | 아니오 | 허용된 도구 이름의 배열입니다. 생략하면 [서브에이전트에서 사용 가능한 모든 도구](/docs/ko/sub-agents#available-tools)를 상속합니다 |


198아래 표는 포크가 아닌 서브에이전트의 컨텍스트에 포함되는 것과 제외되는 것을 나열합니다.198아래 표는 포크가 아닌 서브에이전트의 컨텍스트에 포함되는 것과 제외되는 것을 나열합니다.

199 199 

200| 서브에이전트가 받는 것 | 서브에이전트가 받지 않는 것 |200| 서브에이전트가 받는 것 | 서브에이전트가 받지 않는 것 |

201| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------- |201| :- | :- |

202| 자신의 시스템 프롬프트(`AgentDefinition.prompt`)와 Agent 도구의 프롬프트 | 부모의 대화 기록 또는 도구 결과 |202| 자신의 시스템 프롬프트(`AgentDefinition.prompt`)와 Agent 도구의 프롬프트 | 부모의 대화 기록 또는 도구 결과 |

203| Project CLAUDE.md ([`settingSources`](/docs/ko/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)를 통해 로드됨), [`omitClaudeMd`](#agentdefinition-configuration)를 설정하지 않는 한 | 미리 로드된 스킬 콘텐츠, `AgentDefinition.skills`에 나열된 경우 제외 |203| Project CLAUDE.md ([`settingSources`](/docs/ko/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)를 통해 로드됨), [`omitClaudeMd`](#agentdefinition-configuration)를 설정하지 않는 한 | 미리 로드된 스킬 콘텐츠, `AgentDefinition.skills`에 나열된 경우 제외 |

204| 도구 정의 (부모에서 상속되거나 `tools`의 부분집합, [백그라운드 실행을 위해 필터링됨](/docs/ko/sub-agents#available-tools)) | 부모의 시스템 프롬프트 |204| 도구 정의 (부모에서 상속되거나 `tools`의 부분집합, [백그라운드 실행을 위해 필터링됨](/docs/ko/sub-agents#available-tools)) | 부모의 시스템 프롬프트 |


626</h3>626</h3>

627 627 

628| 사용 사례 | 도구 | 설명 |628| 사용 사례 | 도구 | 설명 |

629| :------- | :-------------------------------------- | :--------------------------------------- |629| :- | :- | :- |

630| 읽기 전용 분석 | `Read`, `Grep`, `Glob` | 코드를 검토할 수 있지만 수정하거나 실행할 수 없음 |630| 읽기 전용 분석 | `Read`, `Grep`, `Glob` | 코드를 검토할 수 있지만 수정하거나 실행할 수 없음 |

631| 테스트 실행 | `Bash`, `Read`, `Grep` | 명령을 실행하고 출력을 분석할 수 있음 |631| 테스트 실행 | `Bash`, `Read`, `Grep` | 명령을 실행하고 출력을 분석할 수 있음 |

632| 코드 수정 | `Read`, `Edit`, `Write`, `Grep`, `Glob` | 명령 실행 없이 전체 읽기/쓰기 액세스 |632| 코드 수정 | `Read`, `Edit`, `Write`, `Grep`, `Glob` | 명령 실행 없이 전체 읽기/쓰기 액세스 |


645이러한 성장을 세 가지 방식으로 제한할 수 있습니다: 서브에이전트가 중첩되는 깊이, 한 번에 실행되는 개수, 그리고 전체 쿼리가 소비하는 금액입니다. [`env`](/docs/ko/agent-sdk/typescript#options) 옵션을 통해 환경 변수로 깊이 및 동시성 제한을 설정하고, 쿼리 옵션으로 지출 제한을 설정합니다:645이러한 성장을 세 가지 방식으로 제한할 수 있습니다: 서브에이전트가 중첩되는 깊이, 한 번에 실행되는 개수, 그리고 전체 쿼리가 소비하는 금액입니다. [`env`](/docs/ko/agent-sdk/typescript#options) 옵션을 통해 환경 변수로 깊이 및 동시성 제한을 설정하고, 쿼리 옵션으로 지출 제한을 설정합니다:

646 646 

647| 제한 | 설정 방법 | 기본값 | 제한에 도달했을 때 Claude Code의 동작 |647| 제한 | 설정 방법 | 기본값 | 제한에 도달했을 때 Claude Code의 동작 |

648| :-- | :----------------------------------------------------- | :------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |648| :- | :- | :- | :- |

649| 깊이 | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ko/env-vars) | 메인 에이전트 아래 `3`개 계층의 서브에이전트. `1`은 서브에이전트가 자신의 서브에이전트를 생성하지 못하도록 중지합니다 | 하단 계층의 서브에이전트가 생성할 수 없도록 남겨두므로 위임된 작업을 직접 수행합니다. [중첩된 서브에이전트](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents) 참조 |649| 깊이 | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ko/env-vars) | 메인 에이전트 아래 `3`개 계층의 서브에이전트. `1`은 서브에이전트가 자신의 서브에이전트를 생성하지 못하도록 중지합니다 | 하단 계층의 서브에이전트가 생성할 수 없도록 남겨두므로 위임된 작업을 직접 수행합니다. [중첩된 서브에이전트](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents) 참조 |

650| 동시성 | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/ko/env-vars) | `20`개의 서브에이전트가 동시에 실행되며, Agent 도구로 Claude가 생성하는 모든 서브에이전트를 계산합니다 | 실행 중인 개수가 제한 아래로 떨어질 때까지 `Concurrent subagent limit reached`를 반환하여 다른 서브에이전트 생성을 거부합니다. [ultracode](/docs/ko/model-config#adjust-effort-level)가 활성화된 세션은 거부되지 않습니다. [동시 서브에이전트 제한](/docs/ko/sub-agents#concurrent-subagent-limit) 참조 |650| 동시성 | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/ko/env-vars) | `20`개의 서브에이전트가 동시에 실행되며, Agent 도구로 Claude가 생성하는 모든 서브에이전트를 계산합니다 | 실행 중인 개수가 제한 아래로 떨어질 때까지 `Concurrent subagent limit reached`를 반환하여 다른 서브에이전트 생성을 거부합니다. [ultracode](/docs/ko/model-config#adjust-effort-level)가 활성화된 세션은 거부되지 않습니다. [동시 서브에이전트 제한](/docs/ko/sub-agents#concurrent-subagent-limit) 참조 |

651| 지출 | TypeScript의 `maxBudgetUsd`, Python의 `max_budget_usd` | 제한 없음. 호출 자체의 지출을 계산하며, 서브에이전트 요청이 포함됩니다 | 세 가지 방식으로 상한을 적용합니다: 더 이상의 서브에이전트 생성을 거부하여 `Budget limit reached`를 반환하고, 여전히 실행 중인 백그라운드 서브에이전트를 중지하며, `error_max_budget_usd` 결과 서브타입으로 쿼리를 종료합니다. 세션 전체에서 상한이 어떻게 작동하는지는 [턴 및 예산](/docs/ko/agent-sdk/agent-loop#turns-and-budget)을 참조하십시오 |651| 지출 | TypeScript의 `maxBudgetUsd`, Python의 `max_budget_usd` | 제한 없음. 호출 자체의 지출을 계산하며, 서브에이전트 요청이 포함됩니다 | 세 가지 방식으로 상한을 적용합니다: 더 이상의 서브에이전트 생성을 거부하여 `Budget limit reached`를 반환하고, 여전히 실행 중인 백그라운드 서브에이전트를 중지하며, `error_max_budget_usd` 결과 서브타입으로 쿼리를 종료합니다. 세션 전체에서 상한이 어떻게 작동하는지는 [턴 및 예산](/docs/ko/agent-sdk/agent-loop#turns-and-budget)을 참조하십시오 |

Details

11기능과 관련된 증상(예: hook이 실행되지 않거나 skill이 사용되지 않음)은 해당 기능의 페이지에 문제 해결 섹션이 있습니다. 표는 각 증상을 다루는 섹션 또는 페이지를 나열합니다:11기능과 관련된 증상(예: hook이 실행되지 않거나 skill이 사용되지 않음)은 해당 기능의 페이지에 문제 해결 섹션이 있습니다. 표는 각 증상을 다루는 섹션 또는 페이지를 나열합니다:

12 12 

13| 증상 | 이동 |13| 증상 | 이동 |

14| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------- |14| :- | :- |

15| Skills를 찾을 수 없음, skill이 사용되지 않음, `Invalid skill name` 오류 | [Skills 문제 해결](/docs/ko/agent-sdk/skills#troubleshooting) |15| Skills를 찾을 수 없음, skill이 사용되지 않음, `Invalid skill name` 오류 | [Skills 문제 해결](/docs/ko/agent-sdk/skills#troubleshooting) |

16| MCP 서버가 `failed` 상태를 표시, 도구가 호출되지 않음, 연결 시간 초과, 최대 허용 토큰을 초과하는 도구 출력 | [MCP 문제 해결](/docs/ko/agent-sdk/mcp#troubleshooting) |16| MCP 서버가 `failed` 상태를 표시, 도구가 호출되지 않음, 연결 시간 초과, 최대 허용 토큰을 초과하는 도구 출력 | [MCP 문제 해결](/docs/ko/agent-sdk/mcp#troubleshooting) |

17| Plugin이 로드되지 않음, plugin skills이 나타나지 않음 | [Plugins 문제 해결](/docs/ko/agent-sdk/plugins#troubleshooting) |17| Plugin이 로드되지 않음, plugin skills이 나타나지 않음 | [Plugins 문제 해결](/docs/ko/agent-sdk/plugins#troubleshooting) |


81SDK는 해석된 경로에서 파일을 찾았지만 실행할 수 없었습니다. Python은 이러한 실패를 `CLIConnectionError`로 발생시킵니다. TypeScript는 SDK 클래스가 없는 오류로 메시지 반복을 거부합니다. 아래 표는 각 메시지를 그것이 알려주는 것으로 매핑합니다. 표시되는 메시지와 일치시킵니다:81SDK는 해석된 경로에서 파일을 찾았지만 실행할 수 없었습니다. Python은 이러한 실패를 `CLIConnectionError`로 발생시킵니다. TypeScript는 SDK 클래스가 없는 오류로 메시지 반복을 거부합니다. 아래 표는 각 메시지를 그것이 알려주는 것으로 매핑합니다. 표시되는 메시지와 일치시킵니다:

82 82 

83| 메시지 | SDK | 알려주는 것 |83| 메시지 | SDK | 알려주는 것 |

84| ----------------------------------------------------------------- | ---------- | ------------------------------------ |84| - | - | - |

85| `Failed to start Claude Code: <detail>` | Python | 메시지의 나머지는 운영 체제 자체의 오류입니다 |85| `Failed to start Claude Code: <detail>` | Python | 메시지의 나머지는 운영 체제 자체의 오류입니다 |

86| `Claude Code executable at <path> exists but failed to launch` | TypeScript | 구성된 경로의 스크립트를 실행할 수 없습니다 |86| `Claude Code executable at <path> exists but failed to launch` | TypeScript | 구성된 경로의 스크립트를 실행할 수 없습니다 |

87| `Claude Code native binary at <path> exists but failed to launch` | TypeScript | 바이너리를 실행할 수 없으며, libc 제안이 메시지에 추가됩니다 |87| `Claude Code native binary at <path> exists but failed to launch` | TypeScript | 바이너리를 실행할 수 없으며, libc 제안이 메시지에 추가됩니다 |

Details

79</h4>79</h4>

80 80 

81| 매개변수 | 유형 | 설명 |81| 매개변수 | 유형 | 설명 |

82| :-------- | :--------------------------------------------------------------- | :------------------------------------ |82| :- | :- | :- |

83| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | 문자열 또는 스트리밍 모드용 비동기 반복 가능 객체로 입력 프롬프트 |83| `prompt` | `string \| AsyncIterable<`[`SDKUserMessage`](#sdkusermessage)`>` | 문자열 또는 스트리밍 모드용 비동기 반복 가능 객체로 입력 프롬프트 |

84| `options` | [`Options`](#options) | 선택적 구성 객체 (아래 Options 유형 참조) |84| `options` | [`Options`](#options) | 선택적 구성 객체 (아래 Options 유형 참조) |

85 85 


107</h4>107</h4>

108 108 

109| 매개변수 | 유형 | 설명 |109| 매개변수 | 유형 | 설명 |

110| :-------------------- | :-------------------- | :-------------------------------------------------------------------------------------- |110| :- | :- | :- |

111| `options` | [`Options`](#options) | 선택적 구성 객체입니다. `query()`의 `options` 매개변수와 동일합니다 |111| `options` | [`Options`](#options) | 선택적 구성 객체입니다. `query()`의 `options` 매개변수와 동일합니다 |

112| `initializeTimeoutMs` | `number` | 부프로세스 초기화를 기다릴 최대 시간(밀리초)입니다. 기본값은 `60000`입니다. 초기화가 시간 내에 완료되지 않으면 프로미스가 타임아웃 오류로 거부됩니다 |112| `initializeTimeoutMs` | `number` | 부프로세스 초기화를 기다릴 최대 시간(밀리초)입니다. 기본값은 `60000`입니다. 초기화가 시간 내에 완료되지 않으면 프로미스가 타임아웃 오류로 거부됩니다 |

113 113 


156</h4>156</h4>

157 157 

158| 매개변수 | 유형 | 설명 |158| 매개변수 | 유형 | 설명 |

159| :------------ | :----------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |159| :- | :- | :- |

160| `name` | `string` | 도구의 이름 |160| `name` | `string` | 도구의 이름 |

161| `description` | `string` | 도구가 수행하는 작업에 대한 설명 |161| `description` | `string` | 도구가 수행하는 작업에 대한 설명 |

162| `inputSchema` | `Schema extends AnyZodRawShape` | 도구의 입력 매개변수를 정의하는 Zod 스키마 (Zod 3 및 Zod 4 모두 지원) |162| `inputSchema` | `Schema extends AnyZodRawShape` | 도구의 입력 매개변수를 정의하는 Zod 스키마 (Zod 3 및 Zod 4 모두 지원) |


170`@modelcontextprotocol/sdk/types.js`에서 다시 내보냅니다. 모든 필드는 선택적 힌트이며 클라이언트는 보안 결정을 위해 이를 신뢰해서는 안 됩니다.170`@modelcontextprotocol/sdk/types.js`에서 다시 내보냅니다. 모든 필드는 선택적 힌트이며 클라이언트는 보안 결정을 위해 이를 신뢰해서는 안 됩니다.

171 171 

172| 필드 | 유형 | 기본값 | 설명 |172| 필드 | 유형 | 기본값 | 설명 |

173| :---------------- | :-------- | :---------- | :-------------------------------------------------------------------------------- |173| :- | :- | :- | :- |

174| `title` | `string` | `undefined` | 도구의 사람이 읽을 수 있는 제목 |174| `title` | `string` | `undefined` | 도구의 사람이 읽을 수 있는 제목 |

175| `readOnlyHint` | `boolean` | `false` | `true`인 경우 도구는 환경을 수정하지 않습니다 |175| `readOnlyHint` | `boolean` | `false` | `true`인 경우 도구는 환경을 수정하지 않습니다 |

176| `destructiveHint` | `boolean` | `true` | `true`인 경우 도구는 파괴적인 업데이트를 수행할 수 있습니다 (`readOnlyHint`가 `false`일 때만 의미 있음) |176| `destructiveHint` | `boolean` | `true` | `true`인 경우 도구는 파괴적인 업데이트를 수행할 수 있습니다 (`readOnlyHint`가 `false`일 때만 의미 있음) |


214</h4>214</h4>

215 215 

216| 매개변수 | 유형 | 설명 |216| 매개변수 | 유형 | 설명 |

217| :--------------------- | :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |217| :- | :- | :- |

218| `options.name` | `string` | MCP 서버의 이름 |218| `options.name` | `string` | MCP 서버의 이름 |

219| `options.version` | `string` | 선택적 버전 문자열 |219| `options.version` | `string` | 선택적 버전 문자열 |

220| `options.instructions` | `string` | 선택적 서버 지침이며, `initialize`에서 반환되고 MCP 지침 블록으로 모델에 표시됩니다 |220| `options.instructions` | `string` | 선택적 서버 지침이며, `initialize`에서 반환되고 MCP 지침 블록으로 모델에 표시됩니다 |


237</h4>237</h4>

238 238 

239| 매개변수 | 유형 | 기본값 | 설명 |239| 매개변수 | 유형 | 기본값 | 설명 |

240| :------------------------- | :-------- | :---------- | :------------------------------------------------ |240| :- | :- | :- | :- |

241| `options.dir` | `string` | `undefined` | 세션을 나열할 디렉토리입니다. 생략하면 모든 프로젝트에서 세션을 반환합니다 |241| `options.dir` | `string` | `undefined` | 세션을 나열할 디렉토리입니다. 생략하면 모든 프로젝트에서 세션을 반환합니다 |

242| `options.limit` | `number` | `undefined` | 반환할 최대 세션 수 |242| `options.limit` | `number` | `undefined` | 반환할 최대 세션 수 |

243| `options.includeWorktrees` | `boolean` | `true` | `dir`이 git 저장소 내에 있을 때 모든 worktree 경로에서 세션을 포함합니다 |243| `options.includeWorktrees` | `boolean` | `true` | `dir`이 git 저장소 내에 있을 때 모든 worktree 경로에서 세션을 포함합니다 |


247</h4>247</h4>

248 248 

249| 속성 | 유형 | 설명 |249| 속성 | 유형 | 설명 |

250| :------------- | :-------------------- | :---------------------------------------------- |250| :- | :- | :- |

251| `sessionId` | `string` | 고유 세션 식별자 (UUID) |251| `sessionId` | `string` | 고유 세션 식별자 (UUID) |

252| `summary` | `string` | 표시 제목: 사용자 정의 제목, 자동 생성된 요약 또는 첫 번째 프롬프트 |252| `summary` | `string` | 표시 제목: 사용자 정의 제목, 자동 생성된 요약 또는 첫 번째 프롬프트 |

253| `lastModified` | `number` | 마지막 수정 시간(에포크 이후 밀리초) |253| `lastModified` | `number` | 마지막 수정 시간(에포크 이후 밀리초) |


293</h4>293</h4>

294 294 

295| 매개변수 | 유형 | 기본값 | 설명 |295| 매개변수 | 유형 | 기본값 | 설명 |

296| :--------------- | :------- | :---------- | :--------------------------------------- |296| :- | :- | :- | :- |

297| `sessionId` | `string` | 필수 | 읽을 세션 UUID (`listSessions()` 참조) |297| `sessionId` | `string` | 필수 | 읽을 세션 UUID (`listSessions()` 참조) |

298| `options.dir` | `string` | `undefined` | 세션을 찾을 프로젝트 디렉토리입니다. 생략하면 모든 프로젝트를 검색합니다 |298| `options.dir` | `string` | `undefined` | 세션을 찾을 프로젝트 디렉토리입니다. 생략하면 모든 프로젝트를 검색합니다 |

299| `options.limit` | `number` | `undefined` | 반환할 최대 메시지 수 |299| `options.limit` | `number` | `undefined` | 반환할 최대 메시지 수 |


304</h4>304</h4>

305 305 

306| 속성 | 유형 | 설명 |306| 속성 | 유형 | 설명 |

307| :------------------- | :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |307| :- | :- | :- |

308| `type` | `"user" \| "assistant"` | 메시지 역할 |308| `type` | `"user" \| "assistant"` | 메시지 역할 |

309| `uuid` | `string` | 고유 메시지 식별자 |309| `uuid` | `string` | 고유 메시지 식별자 |

310| `session_id` | `string` | 이 메시지가 속한 세션 |310| `session_id` | `string` | 이 메시지가 속한 세션 |


351</h4>351</h4>

352 352 

353| 매개변수 | 유형 | 기본값 | 설명 |353| 매개변수 | 유형 | 기본값 | 설명 |

354| :------------ | :------- | :---------- | :---------------------------------------- |354| :- | :- | :- | :- |

355| `sessionId` | `string` | 필수 | 조회할 세션의 UUID |355| `sessionId` | `string` | 필수 | 조회할 세션의 UUID |

356| `options.dir` | `string` | `undefined` | 프로젝트 디렉토리 경로입니다. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |356| `options.dir` | `string` | `undefined` | 프로젝트 디렉토리 경로입니다. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |

357 357 


376</h4>376</h4>

377 377 

378| 매개변수 | 유형 | 기본값 | 설명 |378| 매개변수 | 유형 | 기본값 | 설명 |

379| :------------ | :------- | :---------- | :---------------------------------------- |379| :- | :- | :- | :- |

380| `sessionId` | `string` | 필수 | 이름을 바꿀 세션의 UUID |380| `sessionId` | `string` | 필수 | 이름을 바꿀 세션의 UUID |

381| `title` | `string` | 필수 | 새 제목입니다. 공백을 제거한 후 비어 있지 않아야 합니다 |381| `title` | `string` | 필수 | 새 제목입니다. 공백을 제거한 후 비어 있지 않아야 합니다 |

382| `options.dir` | `string` | `undefined` | 프로젝트 디렉토리 경로입니다. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |382| `options.dir` | `string` | `undefined` | 프로젝트 디렉토리 경로입니다. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |


400</h4>400</h4>

401 401 

402| 매개변수 | 유형 | 기본값 | 설명 |402| 매개변수 | 유형 | 기본값 | 설명 |

403| :------------ | :--------------- | :---------- | :---------------------------------------- |403| :- | :- | :- | :- |

404| `sessionId` | `string` | 필수 | 태그를 지정할 세션의 UUID |404| `sessionId` | `string` | 필수 | 태그를 지정할 세션의 UUID |

405| `tag` | `string \| null` | 필수 | 태그 문자열 또는 지우려면 `null` |405| `tag` | `string \| null` | 필수 | 태그 문자열 또는 지우려면 `null` |

406| `options.dir` | `string` | `undefined` | 프로젝트 디렉토리 경로입니다. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |406| `options.dir` | `string` | `undefined` | 프로젝트 디렉토리 경로입니다. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |


434`resolveSettings()`는 단일 옵션 객체를 수락합니다. 모든 필드는 선택적입니다.434`resolveSettings()`는 단일 옵션 객체를 수락합니다. 모든 필드는 선택적입니다.

435 435 

436| 매개변수 | 유형 | 기본값 | 설명 |436| 매개변수 | 유형 | 기본값 | 설명 |

437| :------------------------------ | :------------------------------------ | :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |437| :- | :- | :- | :- |

438| `options.cwd` | `string` | `process.cwd()` | 프로젝트 및 로컬 설정을 상대적으로 해결할 디렉토리 |438| `options.cwd` | `string` | `process.cwd()` | 프로젝트 및 로컬 설정을 상대적으로 해결할 디렉토리 |

439| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | 모든 소스 | 로드할 파일 시스템 소스입니다. 사용자, 프로젝트 및 로컬 설정을 건너뛰려면 `[]`을 전달합니다. [엔드포인트 관리 정책](/docs/ko/managed-settings#delivery-mechanisms)은 모든 경우에 로드됩니다. `resolveSettings()`는 `options.serverManagedSettings`을 전달할 때만 서버 관리 설정을 포함합니다 |439| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | 모든 소스 | 로드할 파일 시스템 소스입니다. 사용자, 프로젝트 및 로컬 설정을 건너뛰려면 `[]`을 전달합니다. [엔드포인트 관리 정책](/docs/ko/managed-settings#delivery-mechanisms)은 모든 경우에 로드됩니다. `resolveSettings()`는 `options.serverManagedSettings`을 전달할 때만 서버 관리 설정을 포함합니다 |

440| `options.managedSettings` | `Settings` | `undefined` | 임베딩 호스트에서 제공하는 정책 계층 설정입니다. [`managedSettings` in `Options`](#options)와 동일한 규칙을 따릅니다. 단, `resolveSettings()`는 구성된 [`policyHelper`](/docs/ko/settings-reference#policyhelper)를 실행하지 않으므로 스냅샷은 라이브 세션이 삭제하는 설정을 포함할 수 있습니다 |440| `options.managedSettings` | `Settings` | `undefined` | 임베딩 호스트에서 제공하는 정책 계층 설정입니다. [`managedSettings` in `Options`](#options)와 동일한 규칙을 따릅니다. 단, `resolveSettings()`는 구성된 [`policyHelper`](/docs/ko/settings-reference#policyhelper)를 실행하지 않으므로 스냅샷은 라이브 세션이 삭제하는 설정을 포함할 수 있습니다 |


447`resolveSettings()`는 병합된 설정 및 각 키에 기여한 소스를 설명하는 객체를 반환합니다.447`resolveSettings()`는 병합된 설정 및 각 키에 기여한 소스를 설명하는 객체를 반환합니다.

448 448 

449| 속성 | 유형 | 설명 |449| 속성 | 유형 | 설명 |

450| :----------- | :-------------------------------------------------- | :--------------------------------------------- |450| :- | :- | :- |

451| `effective` | `Settings` | 모든 활성화된 소스를 우선순위 순서로 적용한 후 병합된 설정 |451| `effective` | `Settings` | 모든 활성화된 소스를 우선순위 순서로 적용한 후 병합된 설정 |

452| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | `effective`의 각 최상위 키에 대해 값을 제공한 소스 |452| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | `effective`의 각 최상위 키에 대해 값을 제공한 소스 |

453| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | 소스별 원본 설정이며, 가장 낮은 우선순위에서 가장 높은 우선순위 순서로 정렬됩니다 |453| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | 소스별 원본 설정이며, 가장 낮은 우선순위에서 가장 높은 우선순위 순서로 정렬됩니다 |


481`query()` 함수의 구성 객체입니다.481`query()` 함수의 구성 객체입니다.

482 482 

483| 속성 | 유형 | 기본값 | 설명 |483| 속성 | 유형 | 기본값 | 설명 |

484| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |484| :- | :- | :- | :- |

485| `abortController` | `AbortController` | `new AbortController()` | 작업 취소를 위한 컨트롤러 |485| `abortController` | `AbortController` | `new AbortController()` | 작업 취소를 위한 컨트롤러 |

486| `additionalDirectories` | `string[]` | `[]` | Claude가 접근할 수 있는 추가 디렉토리입니다. SDK는 각 항목을 Claude Code에 `--add-dir`로 전달하므로, `project` 설정이 있는 Claude Code 소스도 [디렉토리의 스킬, 명령어 및 서브에이전트를 로드합니다](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration) |486| `additionalDirectories` | `string[]` | `[]` | Claude가 접근할 수 있는 추가 디렉토리입니다. SDK는 각 항목을 Claude Code에 `--add-dir`로 전달하므로, `project` 설정이 있는 Claude Code 소스도 [디렉토리의 스킬, 명령어 및 서브에이전트를 로드합니다](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration) |

487| `agent` | `string` | `undefined` | 메인 스레드의 에이전트 이름입니다. 에이전트는 `agents` 옵션 또는 설정에서 정의되어야 합니다 |487| `agent` | `string` | `undefined` | 메인 스레드의 에이전트 이름입니다. 에이전트는 `agents` 옵션 또는 설정에서 정의되어야 합니다 |


634</h4>634</h4>

635 635 

636| 메서드 | 설명 |636| 메서드 | 설명 |

637| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |637| :- | :- |

638| `interrupt()` | 쿼리를 중단합니다. 스트리밍 입력 모드에서만 사용 가능합니다. CLI가 [`SDKSystemMessage.capabilities`](#sdksystemmessage)에서 `interrupt_receipt_v1` 기능을 광고할 때 중단이 도착했을 때 대기 중이던 메시지를 나열하는 [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse)로 해결됩니다. v2.1.205 이전의 CLI에서는 `undefined`로 해결됩니다 |638| `interrupt()` | 쿼리를 중단합니다. 스트리밍 입력 모드에서만 사용 가능합니다. CLI가 [`SDKSystemMessage.capabilities`](#sdksystemmessage)에서 `interrupt_receipt_v1` 기능을 광고할 때 중단이 도착했을 때 대기 중이던 메시지를 나열하는 [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse)로 해결됩니다. v2.1.205 이전의 CLI에서는 `undefined`로 해결됩니다 |

639| `rewindFiles(userMessageId, options?)` | 파일을 지정된 사용자 메시지의 상태로 복원합니다. 변경 사항을 미리 보려면 `{ dryRun: true }`를 전달하세요. `enableFileCheckpointing: true`가 필요합니다. [파일 체크포인팅](/docs/ko/agent-sdk/file-checkpointing)을 참조하세요 |639| `rewindFiles(userMessageId, options?)` | 파일을 지정된 사용자 메시지의 상태로 복원합니다. 변경 사항을 미리 보려면 `{ dryRun: true }`를 전달하세요. `enableFileCheckpointing: true`가 필요합니다. [파일 체크포인팅](/docs/ko/agent-sdk/file-checkpointing)을 참조하세요 |

640| `setPermissionMode()` | 권한 모드를 변경합니다(스트리밍 입력 모드에서만 사용 가능) |640| `setPermissionMode()` | 권한 모드를 변경합니다(스트리밍 입력 모드에서만 사용 가능) |


735</h4>735</h4>

736 736 

737| 메서드 | 설명 |737| 메서드 | 설명 |

738| :-------------- | :------------------------------------------------------------------------------------- |738| :- | :- |

739| `query(prompt)` | 사전 준비된 서브프로세스에 프롬프트를 보내고 [`Query`](#query-object)를 반환합니다. `WarmQuery`당 한 번만 호출할 수 있습니다 |739| `query(prompt)` | 사전 준비된 서브프로세스에 프롬프트를 보내고 [`Query`](#query-object)를 반환합니다. `WarmQuery`당 한 번만 호출할 수 있습니다 |

740| `close()` | 프롬프트를 보내지 않고 서브프로세스를 닫습니다. 더 이상 필요하지 않은 준비된 쿼리를 버릴 때 사용합니다 |740| `close()` | 프롬프트를 보내지 않고 서브프로세스를 닫습니다. 더 이상 필요하지 않은 준비된 쿼리를 버릴 때 사용합니다 |

741 741 


1013```1013```

1014 1014 

1015| 필드 | 필수 | 설명 |1015| 필드 | 필수 | 설명 |

1016| :------------------------------------ | :-- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1016| :- | :- | :- |

1017| `description` | 예 | 이 에이전트를 사용할 때를 설명하는 자연어 설명 |1017| `description` | 예 | 이 에이전트를 사용할 때를 설명하는 자연어 설명 |

1018| `tools` | 아니오 | 허용된 도구 이름의 배열입니다. 생략하면 [서브에이전트에서 사용 가능한 모든 도구](/docs/ko/sub-agents#available-tools)를 상속합니다. 스킬을 에이전트의 컨텍스트에 미리 로드하려면 여기에 `'Skill'`을 나열하는 대신 `skills` 필드를 사용하세요 |1018| `tools` | 아니오 | 허용된 도구 이름의 배열입니다. 생략하면 [서브에이전트에서 사용 가능한 모든 도구](/docs/ko/sub-agents#available-tools)를 상속합니다. 스킬을 에이전트의 컨텍스트에 미리 로드하려면 여기에 `'Skill'`을 나열하는 대신 `skills` 필드를 사용하세요 |

1019| `disallowedTools` | 아니오 | 이 에이전트에 대해 명시적으로 거부할 도구 이름의 배열입니다. MCP 서버 수준 패턴도 허용됩니다. `mcp__server` 또는 `mcp__server__*`는 해당 서버의 모든 도구를 제거하고 `mcp__*`는 모든 서버의 모든 MCP 도구를 제거합니다 |1019| `disallowedTools` | 아니오 | 이 에이전트에 대해 명시적으로 거부할 도구 이름의 배열입니다. MCP 서버 수준 패턴도 허용됩니다. `mcp__server` 또는 `mcp__server__*`는 해당 서버의 모든 도구를 제거하고 `mcp__*`는 모든 서버의 모든 MCP 도구를 제거합니다 |


1053```1053```

1054 1054 

1055| 값 | 설명 | 위치 |1055| 값 | 설명 | 위치 |

1056| :---------- | :-------------------------------------------- | :---------------------------- |1056| :- | :- | :- |

1057| `'user'` | 전역 사용자 설정 | `~/.claude/settings.json` |1057| `'user'` | 전역 사용자 설정 | `~/.claude/settings.json` |

1058| `'project'` | 공유 프로젝트 설정(버전 제어됨) | `.claude/settings.json` |1058| `'project'` | 공유 프로젝트 설정(버전 제어됨) | `.claude/settings.json` |

1059| `'local'` | 로컬 프로젝트 설정, Claude Code가 설정을 저장할 때 gitignored | `.claude/settings.local.json` |1059| `'local'` | 로컬 프로젝트 설정, Claude Code가 설정을 저장할 때 gitignored | `.claude/settings.local.json` |


1150```1150```

1151 1151 

1152| 옵션 | 유형 | 설명 |1152| 옵션 | 유형 | 설명 |

1153| :--------------- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1153| :- | :- | :- |

1154| `signal` | `AbortSignal` | 작업을 중단해야 하면 신호됩니다 |1154| `signal` | `AbortSignal` | 작업을 중단해야 하면 신호됩니다 |

1155| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | 사용자가 이 도구에 대해 다시 프롬프트되지 않도록 제안된 권한 업데이트입니다. Bash 프롬프트는 `localSettings` [대상](#permissionupdatedestination)이 있는 제안을 포함하므로 `updatedPermissions`에서 반환하면 규칙을 `.claude/settings.local.json`에 작성하고 세션 간에 지속됩니다. |1155| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | 사용자가 이 도구에 대해 다시 프롬프트되지 않도록 제안된 권한 업데이트입니다. Bash 프롬프트는 `localSettings` [대상](#permissionupdatedestination)이 있는 제안을 포함하므로 `updatedPermissions`에서 반환하면 규칙을 `.claude/settings.local.json`에 작성하고 세션 간에 지속됩니다. |

1156| `blockedPath` | `string` | 해당하는 경우 권한 요청을 트리거한 파일 경로입니다 |1156| `blockedPath` | `string` | 해당하는 경우 권한 요청을 트리거한 파일 경로입니다 |


1201```1201```

1202 1202 

1203| 필드 | 유형 | 설명 |1203| 필드 | 유형 | 설명 |

1204| :------------------------------ | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------- |1204| :- | :- | :- |

1205| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | [`AskUserQuestion`](/docs/ko/agent-sdk/user-input#question-format) 옵션의 `preview` 필드를 옵트인하고 콘텐츠 형식을 설정합니다. 설정하지 않으면 Claude는 미리 보기를 내보내지 않습니다 |1205| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | [`AskUserQuestion`](/docs/ko/agent-sdk/user-input#question-format) 옵션의 `preview` 필드를 옵트인하고 콘텐츠 형식을 설정합니다. 설정하지 않으면 Claude는 미리 보기를 내보내지 않습니다 |

1206 1206 

1207<h3 id="mcpserverconfig">1207<h3 id="mcpserverconfig">


1295```1295```

1296 1296 

1297| 필드 | 유형 | 설명 |1297| 필드 | 유형 | 설명 |

1298| :----------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------ |1298| :- | :- | :- |

1299| `type` | `'local'` | `'local'`이어야 합니다(현재 로컬 플러그인만 지원됨) |1299| `type` | `'local'` | `'local'`이어야 합니다(현재 로컬 플러그인만 지원됨) |

1300| `path` | `string` | 플러그인 디렉토리의 절대 또는 상대 경로 |1300| `path` | `string` | 플러그인 디렉토리의 절대 또는 상대 경로 |

1301| `skipMcpDiscovery` | `boolean` | `true`일 때 SDK는 이 플러그인에서 스킬, 훅, 에이전트 및 명령어를 로드하지만 `.mcp.json` 또는 매니페스트 `mcpServers`를 읽지 않습니다. 애플리케이션이 플러그인의 MCP 연결을 소유할 때 설정하세요. |1301| `skipMcpDiscovery` | `boolean` | `true`일 때 SDK는 이 플러그인에서 스킬, 훅, 에이전트 및 명령어를 로드하지만 `.mcp.json` 또는 매니페스트 `mcpServers`를 읽지 않습니다. 애플리케이션이 플러그인의 MCP 연결을 소유할 때 설정하세요. |


1549이유 코드를 사용하여 자신의 UI에서 빠른 모드가 꺼진 이유를 설명하는 대신 가용성을 다시 도출합니다. 각 코드는 빠른 모드를 차단한 검사의 이름을 지정합니다:1549이유 코드를 사용하여 자신의 UI에서 빠른 모드가 꺼진 이유를 설명하는 대신 가용성을 다시 도출합니다. 각 코드는 빠른 모드를 차단한 검사의 이름을 지정합니다:

1550 1550 

1551| 이유 코드 | 의미 |1551| 이유 코드 | 의미 |

1552| ---------------------- | ------------------------------------------------------------------------------------------------------------------------- |1552| - | - |

1553| `free` | 계정에 빠른 모드가 필요로 하는 유료 구독 또는 사용 크레딧이 없음 |1553| `free` | 계정에 빠른 모드가 필요로 하는 유료 구독 또는 사용 크레딧이 없음 |

1554| `preference` | 조직이 빠른 모드를 비활성화함 |1554| `preference` | 조직이 빠른 모드를 비활성화함 |

1555| `extra_usage_disabled` | 계정에 대해 사용 크레딧이 꺼짐 |1555| `extra_usage_disabled` | 계정에 대해 사용 크레딧이 꺼짐 |


1653각 값은 하나의 거부를 명명합니다:1653각 값은 하나의 거부를 명명합니다:

1654 1654 

1655| 값 | 세션을 중지한 것 |1655| 값 | 세션을 중지한 것 |

1656| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |1656| :- | :- |

1657| `org_pin_api_key_conflict` | 관리 설정이 [첫 번째 당사자 또는 Cloud 게이트웨이 로그인](/docs/ko/authentication#restrict-login-to-your-organization)을 요구하며, Anthropic API 키, 인증 토큰 또는 `apiKeyHelper`가 대신 구성됨 |1657| `org_pin_api_key_conflict` | 관리 설정이 [첫 번째 당사자 또는 Cloud 게이트웨이 로그인](/docs/ko/authentication#restrict-login-to-your-organization)을 요구하며, Anthropic API 키, 인증 토큰 또는 `apiKeyHelper`가 대신 구성됨 |

1658| `org_verify_failed` | 로그인의 조직을 핀에 대해 확인할 수 없음(예: 네트워크 실패 또는 취소된 토큰) |1658| `org_verify_failed` | 로그인의 조직을 핀에 대해 확인할 수 없음(예: 네트워크 실패 또는 취소된 토큰) |

1659| `org_pin_mismatch` | 로그인이 핀이 허용하지 않는 조직에 속함 |1659| `org_pin_mismatch` | 로그인이 핀이 허용하지 않는 조직에 속함 |


1720`capabilities` 배열은 이 CLI가 구현하는 프로토콜 동작의 이름을 지정하므로 `claude_code_version` 문자열을 비교하는 대신 기능을 감지할 수 있습니다. 이는 열린 집합입니다: 인식하지 못하는 값을 무시하고 동작이 의존하는 특정 기능을 확인합니다. 필드는 Claude Code v2.1.205 이상이 필요하며 이전 CLI에는 없습니다.1720`capabilities` 배열은 이 CLI가 구현하는 프로토콜 동작의 이름을 지정하므로 `claude_code_version` 문자열을 비교하는 대신 기능을 감지할 수 있습니다. 이는 열린 집합입니다: 인식하지 못하는 값을 무시하고 동작이 의존하는 특정 기능을 확인합니다. 필드는 Claude Code v2.1.205 이상이 필요하며 이전 CLI에는 없습니다.

1721 1721 

1722| 기능 | 의미 |1722| 기능 | 의미 |

1723| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |1723| - | - |

1724| `interrupt_receipt_v1` | [`interrupt()`](#query-object)는 인터럽트가 도착했을 때 보류 중인 메시지를 나열하는 [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) 영수증으로 해결됩니다 |1724| `interrupt_receipt_v1` | [`interrupt()`](#query-object)는 인터럽트가 도착했을 때 보류 중인 메시지를 나열하는 [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) 영수증으로 해결됩니다 |

1725| `interrupt_cancel_queued_v1` | |1725| `interrupt_cancel_queued_v1` | |

1726| `interrupt` 제어 요청이 `cancel_queued: true`를 준수하여 영수증이 `still_queued` 아래에 나열할 메시지를 취소하고 대신 `cancelled` 아래에 나열합니다. [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse)를 참조하세요. Claude Code v2.1.219 이상이 필요합니다 | |1726| `interrupt` 제어 요청이 `cancel_queued: true`를 준수하여 영수증이 `still_queued` 아래에 나열할 메시지를 취소하고 대신 `cancelled` 아래에 나열합니다. [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse)를 참조하세요. Claude Code v2.1.219 이상이 필요합니다 | |


1847```1847```

1848 1848 

1849| 필드 | 타입 | 설명 |1849| 필드 | 타입 | 설명 |

1850| ---------------------- | -------- | --------------------------------------------------------------------------------- |1850| - | - | - |

1851| `tool_name` | `string` | 거부된 도구의 이름 |1851| `tool_name` | `string` | 거부된 도구의 이름 |

1852| `tool_use_id` | `string` | 이 거부가 답변하는 `tool_use` 블록의 ID |1852| `tool_use_id` | `string` | 이 거부가 답변하는 `tool_use` 블록의 ID |

1853| `agent_id` | `string` | 거부된 호출이 서브에이전트 내부에서 발생했을 때 서브에이전트 ID입니다. 호스트 측 라우팅을 위해 `can_use_tool`의 필드를 미러링합니다 |1853| `agent_id` | `string` | 거부된 호출이 서브에이전트 내부에서 발생했을 때 서브에이전트 ID입니다. 호스트 측 라우팅을 위해 `can_use_tool`의 필드를 미러링합니다 |


1913테이블은 Claude Code가 각 필드에 넣는 것을 나열합니다. `model`에서 `over_limit`까지의 필드는 세션 전체를 설명하고, 수집 필드는 개별 항목에 토큰을 귀속시킵니다.1913테이블은 Claude Code가 각 필드에 넣는 것을 나열합니다. `model`에서 `over_limit`까지의 필드는 세션 전체를 설명하고, 수집 필드는 개별 항목에 토큰을 귀속시킵니다.

1914 1914 

1915| 필드 | 타입 | 설명 |1915| 필드 | 타입 | 설명 |

1916| ---------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1916| - | - | - |

1917| `model` | `string` | Claude Code가 사용량을 계산한 메인 루프의 모델로, 서브에이전트의 모델이 아님 |1917| `model` | `string` | Claude Code가 사용량을 계산한 메인 루프의 모델로, 서브에이전트의 모델이 아님 |

1918| `total_tokens` | `number` | Claude Code의 사용 중인 토큰 추정치입니다. 윈도우에 고정되지 않으므로 세션이 제한을 초과할 때 `raw_max_tokens`를 초과할 수 있습니다 |1918| `total_tokens` | `number` | Claude Code의 사용 중인 토큰 추정치입니다. 윈도우에 고정되지 않으므로 세션이 제한을 초과할 때 `raw_max_tokens`를 초과할 수 있습니다 |

1919| `raw_max_tokens` | `number` | 모델의 컨텍스트 윈도우 또는 적용되는 낮은 [자동 압축 윈도우](/docs/ko/model-config#context-window-and-auto-compaction)로, 설정한 것 또는 1M 토큰 윈도우를 가진 일부 모델에 Claude Code가 적용하는 200K 경계와 같습니다. Claude Code는 이 윈도우에 대해 `total_tokens`를 측정합니다 |1919| `raw_max_tokens` | `number` | 모델의 컨텍스트 윈도우 또는 적용되는 낮은 [자동 압축 윈도우](/docs/ko/model-config#context-window-and-auto-compaction)로, 설정한 것 또는 1M 토큰 윈도우를 가진 일부 모델에 Claude Code가 적용하는 200K 경계와 같습니다. Claude Code는 이 윈도우에 대해 `total_tokens`를 측정합니다 |


1949테이블은 Claude Code가 행의 각 필드에 넣는 것을 나열합니다.1949테이블은 Claude Code가 행의 각 필드에 넣는 것을 나열합니다.

1950 1950 

1951| 필드 | 타입 | 설명 |1951| 필드 | 타입 | 설명 |

1952| -------- | -------- | ---------------------------------------------------------------------------- |1952| - | - | - |

1953| `name` | `string` | `/context`가 인쇄하는 행의 표시 이름으로, `Messages`와 같습니다. 이름으로 행을 분류하지 말고 `kind`로 분류합니다 |1953| `name` | `string` | `/context`가 인쇄하는 행의 표시 이름으로, `Messages`와 같습니다. 이름으로 행을 분류하지 말고 `kind`로 분류합니다 |

1954| `tokens` | `number` | 행의 토큰 수입니다. 행은 0개의 토큰을 전달할 수 있습니다 |1954| `tokens` | `number` | 행의 토큰 수입니다. 행은 0개의 토큰을 전달할 수 있습니다 |

1955| `kind` | `string` | 행이 나타내는 것: `used`, `free`, `buffer`, 또는 `deferred` |1955| `kind` | `string` | 행이 나타내는 것: `used`, `free`, `buffer`, 또는 `deferred` |


1992```1992```

1993 1993 

1994| `kind` | 의미 |1994| `kind` | 의미 |

1995| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1995| - | - |

1996| `human` | 최종 사용자의 직접 입력입니다. 애플리케이션이 사용자가 입력한 것을 사용자 메시지로 전달하면 명시적으로 `origin`을 `{ kind: "human" }`으로 설정합니다: Claude Code는 `origin` 없는 사용자 메시지를 미귀속으로 취급하고, [`ultracode` 워크플로우 키워드](/docs/ko/workflows#ask-for-a-workflow-in-your-prompt)와 같이 인간이 입력한 프롬프트를 요구하는 검사는 이를 수락하지 않습니다. v2.1.210 이전에는 Claude Code가 사용자 메시지의 없는 `origin`을 인간 입력으로 취급했습니다. |1996| `human` | 최종 사용자의 직접 입력입니다. 애플리케이션이 사용자가 입력한 것을 사용자 메시지로 전달하면 명시적으로 `origin`을 `{ kind: "human" }`으로 설정합니다: Claude Code는 `origin` 없는 사용자 메시지를 미귀속으로 취급하고, [`ultracode` 워크플로우 키워드](/docs/ko/workflows#ask-for-a-workflow-in-your-prompt)와 같이 인간이 입력한 프롬프트를 요구하는 검사는 이를 수락하지 않습니다. v2.1.210 이전에는 Claude Code가 사용자 메시지의 없는 `origin`을 인간 입력으로 취급했습니다. |

1997| `channel` | [채널](/docs/ko/channels)에 도착하는 메시지입니다. `server`는 소스 MCP 서버 이름입니다. |1997| `channel` | [채널](/docs/ko/channels)에 도착하는 메시지입니다. `server`는 소스 MCP 서버 이름입니다. |

1998| `peer` | 다른 에이전트의 메시지: 프로세스 내 [팀원](/docs/ko/agent-teams) 또는 [교차 세션 피어](/docs/ko/cross-session-messaging), 다른 Claude Code 세션입니다. [피어 원점 필드](#peer-origin-fields)에서 필드별 의미와 신뢰 모델을 참조하세요. |1998| `peer` | 다른 에이전트의 메시지: 프로세스 내 [팀원](/docs/ko/agent-teams) 또는 [교차 세션 피어](/docs/ko/cross-session-messaging), 다른 Claude Code 세션입니다. [피어 원점 필드](#peer-origin-fields)에서 필드별 의미와 신뢰 모델을 참조하세요. |


3203[동적 워크플로우](/docs/ko/workflows)를 실행합니다: 백그라운드에서 많은 서브에이전트를 조율하고 하나의 통합된 결과를 반환하는 스크립트입니다. `Workflow` 도구는 Agent SDK v0.3.149 이상에서 사용 가능합니다. `script`, `name` 또는 `scriptPath` 중 최소 하나가 필요합니다.3203[동적 워크플로우](/docs/ko/workflows)를 실행합니다: 백그라운드에서 많은 서브에이전트를 조율하고 하나의 통합된 결과를 반환하는 스크립트입니다. `Workflow` 도구는 Agent SDK v0.3.149 이상에서 사용 가능합니다. `script`, `name` 또는 `scriptPath` 중 최소 하나가 필요합니다.

3204 3204 

3205| 필드 | 타입 | 설명 |3205| 필드 | 타입 | 설명 |

3206| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3206| - | - | - |

3207| `script` | `string` | 인라인 워크플로우 스크립트입니다. `export const meta = { name, description }`을 리터럴로 시작해야 하며, 그 뒤에 `agent()`, `parallel()`, `pipeline()` 및 `phase()`를 사용하는 스크립트 본문이 따릅니다. `meta`의 선택적 `phases` 배열은 진행 상황 보기에서 에이전트를 명명된 단계 아래에 그룹화합니다 |3207| `script` | `string` | 인라인 워크플로우 스크립트입니다. `export const meta = { name, description }`을 리터럴로 시작해야 하며, 그 뒤에 `agent()`, `parallel()`, `pipeline()` 및 `phase()`를 사용하는 스크립트 본문이 따릅니다. `meta`의 선택적 `phases` 배열은 진행 상황 보기에서 에이전트를 명명된 단계 아래에 그룹화합니다 |

3208| `name` | `string` | 기본 제공 워크플로우의 이름 또는 `.claude/workflows/`에 저장된 워크플로우입니다. 스크립트로 확인됩니다 |3208| `name` | `string` | 기본 제공 워크플로우의 이름 또는 `.claude/workflows/`에 저장된 워크플로우입니다. 스크립트로 확인됩니다 |

3209| `scriptPath` | `string` | 디스크의 워크플로우 스크립트 파일 경로입니다. `script` 및 `name`보다 우선합니다. Claude Code는 모든 호출의 스크립트를 유지하고 결과에서 경로를 반환하므로, 해당 파일을 편집하고 동일한 `scriptPath`로 다시 호출하여 반복할 수 있습니다 |3209| `scriptPath` | `string` | 디스크의 워크플로우 스크립트 파일 경로입니다. `script` 및 `name`보다 우선합니다. Claude Code는 모든 호출의 스크립트를 유지하고 결과에서 경로를 반환하므로, 해당 파일을 편집하고 동일한 `scriptPath`로 다시 호출하여 반복할 수 있습니다 |


3885`stdout`, `stderr`, `backgroundTaskId` 필드는 다음을 전달합니다:3885`stdout`, `stderr`, `backgroundTaskId` 필드는 다음을 전달합니다:

3886 3886 

3887| 필드 | 전달 내용 |3887| 필드 | 전달 내용 |

3888| ------------------ | ------------------------------------------------ |3888| - | - |

3889| `stdout` | 명령의 stdout과 stderr, 하나의 인터리브된 스트림으로 병합됨 |3889| `stdout` | 명령의 stdout과 stderr, 하나의 인터리브된 스트림으로 병합됨 |

3890| `stderr` | 셸 작업 디렉토리 재설정과 같이 도구 자체가 추가하는 알림, 명령의 stderr가 아님 |3890| `stderr` | 셸 작업 디렉토리 재설정과 같이 도구 자체가 추가하는 알림, 명령의 stderr가 아님 |

3891| `backgroundTaskId` | 백그라운드 명령에 대해 존재함 |3891| `backgroundTaskId` | 백그라운드 명령에 대해 존재함 |


4223도구가 호출을 수락한 후 즉시 반환됩니다. 최종 결과는 나중에 작업 완료로 도착합니다. 실행이 시작된 것으로 취급하기 전에 `error`를 확인하십시오: 구문 검사에 실패한 스크립트는 `status: "async_launched"`를 반환하고 `error`가 설정되며, 실행되지 않습니다.4223도구가 호출을 수락한 후 즉시 반환됩니다. 최종 결과는 나중에 작업 완료로 도착합니다. 실행이 시작된 것으로 취급하기 전에 `error`를 확인하십시오: 구문 검사에 실패한 스크립트는 `status: "async_launched"`를 반환하고 `error`가 설정되며, 실행되지 않습니다.

4224 4224 

4225| 필드 | 타입 | 설명 |4225| 필드 | 타입 | 설명 |

4226| --------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------- |4226| - | - | - |

4227| `status` | `"async_launched" \| "remote_launched"` | 도구가 호출을 수락했습니다. 인프로세스 실행의 경우 `"async_launched"`, 클라우드 세션으로 전달된 실행의 경우 `"remote_launched"` |4227| `status` | `"async_launched" \| "remote_launched"` | 도구가 호출을 수락했습니다. 인프로세스 실행의 경우 `"async_launched"`, 클라우드 세션으로 전달된 실행의 경우 `"remote_launched"` |

4228| `taskId` | `string` | 실행을 위한 백그라운드 작업 식별자 |4228| `taskId` | `string` | 실행을 위한 백그라운드 작업 식별자 |

4229| `taskType` | `"local_workflow" \| "remote_agent"` | 등록된 백그라운드 작업의 작업 타입, `status` 팔과 일치함 |4229| `taskType` | `"local_workflow" \| "remote_agent"` | 등록된 백그라운드 작업의 작업 타입, `status` 팔과 일치함 |


4871Claude Code는 다음 네 가지 값 중 하나를 보고합니다:4871Claude Code는 다음 네 가지 값 중 하나를 보고합니다:

4872 4872 

4873| 값 | 사용 중인 키 |4873| 값 | 사용 중인 키 |

4874| -------------------- | ------------------------------------------------------------------------------------------------- |4874| - | - |

4875| `ANTHROPIC_API_KEY` | `ANTHROPIC_API_KEY` 환경 변수의 키 |4875| `ANTHROPIC_API_KEY` | `ANTHROPIC_API_KEY` 환경 변수의 키 |

4876| `apiKeyHelper` | [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 명령에서 반환된 키 |4876| `apiKeyHelper` | [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 명령에서 반환된 키 |

4877| `/login managed key` | [Claude Console 계정](/docs/ko/authentication#claude-console-authentication)으로 로그인할 때 Claude Code가 저장한 키 |4877| `/login managed key` | [Claude Console 계정](/docs/ko/authentication#claude-console-authentication)으로 로그인할 때 Claude Code가 저장한 키 |


4932```4932```

4933 4933 

4934| 필드 | 타입 | 설명 |4934| 필드 | 타입 | 설명 |

4935| :------------------------- | :----------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |4935| :- | :- | :- |

4936| `value` | `string` | API 호출에서 전달할 모델 식별자 |4936| `value` | `string` | API 호출에서 전달할 모델 식별자 |

4937| `resolvedModel` | `string \| undefined` | 이 항목의 `value`가 확인되는 정규 와이어 모델 ID입니다. `sonnet`과 같은 별칭 항목은 `claude-sonnet-5`와 같은 명시적 모델 ID로 확인되므로, 호스트는 저장된 명시적 모델 ID를 이 별칭 항목이 포함하는 것과 일치시킬 수 있습니다. Claude Code v2.1.197 이상이 필요합니다. |4937| `resolvedModel` | `string \| undefined` | 이 항목의 `value`가 확인되는 정규 와이어 모델 ID입니다. `sonnet`과 같은 별칭 항목은 `claude-sonnet-5`와 같은 명시적 모델 ID로 확인되므로, 호스트는 저장된 명시적 모델 ID를 이 별칭 항목이 포함하는 것과 일치시킬 수 있습니다. Claude Code v2.1.197 이상이 필요합니다. |

4938| `displayName` | `string` | 사람이 읽을 수 있는 표시 이름 |4938| `displayName` | `string` | 사람이 읽을 수 있는 표시 이름 |


4958```4958```

4959 4959 

4960| 필드 | 타입 | 설명 |4960| 필드 | 타입 | 설명 |

4961| :------------ | :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |4961| :- | :- | :- |

4962| `name` | `string` | 에이전트 타입 식별자 (예: `"Explore"`, `"general-purpose"`) |4962| `name` | `string` | 에이전트 타입 식별자 (예: `"Explore"`, `"general-purpose"`) |

4963| `description` | `string` | 이 에이전트를 사용할 시기에 대한 설명 |4963| `description` | `string` | 이 에이전트를 사용할 시기에 대한 설명 |

4964| `model` | `string \| undefined` | 이 에이전트가 사용하는 모델입니다. 별칭 또는 모델 ID이거나, 부모의 모델을 상속하는 경우 `'inherit'`입니다. `undefined`일 때, Claude Code는 [서브에이전트 모델 순서](/docs/ko/sub-agents#choose-a-model)에서 모델을 선택합니다. |4964| `model` | `string \| undefined` | 이 에이전트가 사용하는 모델입니다. 별칭 또는 모델 ID이거나, 부모의 모델을 상속하는 경우 `'inherit'`입니다. `undefined`일 때, Claude Code는 [서브에이전트 모델 순서](/docs/ko/sub-agents#choose-a-model)에서 모델을 선택합니다. |


4977```4977```

4978 4978 

4979| 필드 | 타입 | 설명 |4979| 필드 | 타입 | 설명 |

4980| :------- | :------- | :----------------------------------------------------------------------- |4980| :- | :- | :- |

4981| `name` | `string` | 서버가 등록된 이름이며, [`mcpServerStatus()`](#query-object)가 이에 대해 보고하는 동일한 값입니다. |4981| `name` | `string` | 서버가 등록된 이름이며, [`mcpServerStatus()`](#query-object)가 이에 대해 보고하는 동일한 값입니다. |

4982| `source` | `string` | 서버의 정의가 어디에서 왔는지: `sdk`, `plugin` 또는 구성 범위 |4982| `source` | `string` | 서버의 정의가 어디에서 왔는지: `sdk`, `plugin` 또는 구성 범위 |

4983 4983 


5182Claude Code는 `uri` 또는 `name`이 문자열이 아닌 블록을 삭제하고, 값이 나열된 타입이 아닌 선택적 필드를 생략합니다.5182Claude Code는 `uri` 또는 `name`이 문자열이 아닌 블록을 삭제하고, 값이 나열된 타입이 아닌 선택적 필드를 생략합니다.

5183 5183 

5184| 필드 | 타입 | 설명 |5184| 필드 | 타입 | 설명 |

5185| :------------ | :------------------------------------- | :------------------------ |5185| :- | :- | :- |

5186| `uri` | `string` | 리소스의 URI이며, 서버가 반환한 것입니다. |5186| `uri` | `string` | 리소스의 URI이며, 서버가 반환한 것입니다. |

5187| `name` | `string` | 서버가 리소스에 부여한 이름 |5187| `name` | `string` | 서버가 리소스에 부여한 이름 |

5188| `title` | `string \| undefined` | 서버가 설정한 경우 표시 제목 |5188| `title` | `string \| undefined` | 서버가 설정한 경우 표시 제목 |


5772```5772```

5773 5773 

5774| 속성 | 타입 | 기본값 | 설명 |5774| 속성 | 타입 | 기본값 | 설명 |

5775| :-------------------------- | :---------------------------------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |5775| :- | :- | :- | :- |

5776| `enabled` | `boolean` | `false` | 명령 실행을 위한 샌드박스 모드 활성화 |5776| `enabled` | `boolean` | `false` | 명령 실행을 위한 샌드박스 모드 활성화 |

5777| `failIfUnavailable` | `boolean` | `true` | `enabled`가 `true`이지만 샌드박스를 시작할 수 없는 경우 시작 시 중지합니다. stderr에 경고와 함께 샌드박스되지 않은 실행으로 폴백하려면 `false`로 설정합니다 |5777| `failIfUnavailable` | `boolean` | `true` | `enabled`가 `true`이지만 샌드박스를 시작할 수 없는 경우 시작 시 중지합니다. stderr에 경고와 함께 샌드박스되지 않은 실행으로 폴백하려면 `false`로 설정합니다 |

5778| `autoAllowBashIfSandboxed` | `boolean` | `true` | 샌드박스가 활성화되었을 때 Bash 명령 자동 승인 |5778| `autoAllowBashIfSandboxed` | `boolean` | `true` | 샌드박스가 활성화되었을 때 Bash 명령 자동 승인 |


5844```5844```

5845 5845 

5846| 속성 | 타입 | 기본값 | 설명 |5846| 속성 | 타입 | 기본값 | 설명 |

5847| :------------------------ | :--------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |5847| :- | :- | :- | :- |

5848| `allowedDomains` | `string[]` | `[]` | 샌드박스된 프로세스가 액세스할 수 있는 도메인 이름 |5848| `allowedDomains` | `string[]` | `[]` | 샌드박스된 프로세스가 액세스할 수 있는 도메인 이름 |

5849| `deniedDomains` | `string[]` | `[]` | 샌드박스된 프로세스가 액세스할 수 없는 도메인 이름입니다. `allowedDomains`보다 우선합니다 |5849| `deniedDomains` | `string[]` | `[]` | 샌드박스된 프로세스가 액세스할 수 없는 도메인 이름입니다. `allowedDomains`보다 우선합니다 |

5850| `strictAllowlist` | `boolean` | `false` | [네트워크 허용 목록](/docs/ko/sandboxing#network-isolation) 외부의 호스트에 대한 샌드박스된 명령 액세스를 거부합니다. 프롬프트 대신 거부합니다. 샌드박스된 명령에만 적용됩니다. WebFetch와 같은 프로세스 내 도구는 이에 의해 제한되지 않습니다. 사용자, 관리형 또는 CLI `--settings` 설정에서만 적용됩니다. 프로젝트 설정은 무시됩니다. Claude Code v2.1.219 이상이 필요합니다 |5850| `strictAllowlist` | `boolean` | `false` | [네트워크 허용 목록](/docs/ko/sandboxing#network-isolation) 외부의 호스트에 대한 샌드박스된 명령 액세스를 거부합니다. 프롬프트 대신 거부합니다. 샌드박스된 명령에만 적용됩니다. WebFetch와 같은 프로세스 내 도구는 이에 의해 제한되지 않습니다. 사용자, 관리형 또는 CLI `--settings` 설정에서만 적용됩니다. 프로젝트 설정은 무시됩니다. Claude Code v2.1.219 이상이 필요합니다 |


5874```5874```

5875 5875 

5876| 속성 | 타입 | 기본값 | 설명 |5876| 속성 | 타입 | 기본값 | 설명 |

5877| :----------- | :--------- | :--- | :------------------- |5877| :- | :- | :- | :- |

5878| `allowWrite` | `string[]` | `[]` | 쓰기 액세스를 허용할 파일 경로 패턴 |5878| `allowWrite` | `string[]` | `[]` | 쓰기 액세스를 허용할 파일 경로 패턴 |

5879| `denyWrite` | `string[]` | `[]` | 쓰기 액세스를 거부할 파일 경로 패턴 |5879| `denyWrite` | `string[]` | `[]` | 쓰기 액세스를 거부할 파일 경로 패턴 |

5880| `denyRead` | `string[]` | `[]` | 읽기 액세스를 거부할 파일 경로 패턴 |5880| `denyRead` | `string[]` | `[]` | 읽기 액세스를 거부할 파일 경로 패턴 |

Details

67콜백은 세 가지 인수를 받습니다.67콜백은 세 가지 인수를 받습니다.

68 68 

69| 인수 | 설명 |69| 인수 | 설명 |

70| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |70| - | - |

71| `toolName` | Claude가 사용하려는 도구의 이름(예: `"Bash"`, `"Write"`, `"Edit"`) |71| `toolName` | Claude가 사용하려는 도구의 이름(예: `"Bash"`, `"Write"`, `"Edit"`) |

72| `input` | Claude가 도구에 전달하는 매개변수입니다. 내용은 도구에 따라 다릅니다. |72| `input` | Claude가 도구에 전달하는 매개변수입니다. 내용은 도구에 따라 다릅니다. |

73| `options` (TS) / `context` (Python) | 선택적 `suggestions`(재프롬프트를 피하기 위한 제안된 `PermissionUpdate` 항목)과 취소 신호를 포함한 추가 컨텍스트입니다. TypeScript에서 `signal`은 `AbortSignal`입니다. Python에서 신호 필드는 향후 사용을 위해 예약되어 있습니다. Python의 경우 [`ToolPermissionContext`](/docs/ko/agent-sdk/python#toolpermissioncontext)를 참조하십시오. |73| `options` (TS) / `context` (Python) | 선택적 `suggestions`(재프롬프트를 피하기 위한 제안된 `PermissionUpdate` 항목)과 취소 신호를 포함한 추가 컨텍스트입니다. TypeScript에서 `signal`은 `AbortSignal`입니다. Python에서 신호 필드는 향후 사용을 위해 예약되어 있습니다. Python의 경우 [`ToolPermissionContext`](/docs/ko/agent-sdk/python#toolpermissioncontext)를 참조하십시오. |


75`input` 객체에는 도구별 매개변수가 포함됩니다. 일반적인 예:75`input` 객체에는 도구별 매개변수가 포함됩니다. 일반적인 예:

76 76 

77| 도구 | 입력 필드 |77| 도구 | 입력 필드 |

78| ------- | --------------------------------------- |78| - | - |

79| `Bash` | `command`, `description`, `timeout` |79| `Bash` | `command`, `description`, `timeout` |

80| `Write` | `file_path`, `content` |80| `Write` | `file_path`, `content` |

81| `Edit` | `file_path`, `old_string`, `new_string` |81| `Edit` | `file_path`, `old_string`, `new_string` |


213콜백은 두 가지 응답 유형 중 하나를 반환합니다.213콜백은 두 가지 응답 유형 중 하나를 반환합니다.

214 214 

215| 응답 | Python | TypeScript |215| 응답 | Python | TypeScript |

216| ------ | ------------------------------------------ | ------------------------------------- |216| - | - | - |

217| **허용** | `PermissionResultAllow(updated_input=...)` | `{ behavior: "allow", updatedInput }` |217| **허용** | `PermissionResultAllow(updated_input=...)` | `{ behavior: "allow", updatedInput }` |

218| **거부** | `PermissionResultDeny(message=...)` | `{ behavior: "deny", message }` |218| **거부** | `PermissionResultDeny(message=...)` | `{ behavior: "deny", message }` |

219 219 


513 `answers` 객체를 레코드로 구성합니다. 여기서 각 키는 `question` 텍스트이고 각 값은 선택된 옵션의 `label`입니다.513 `answers` 객체를 레코드로 구성합니다. 여기서 각 키는 `question` 텍스트이고 각 값은 선택된 옵션의 `label`입니다.

514 514 

515 | 질문 객체에서 | 다음으로 사용 |515 | 질문 객체에서 | 다음으로 사용 |

516 | ----------------------------------------------------- | ------- |516 | - | - |

517 | `question` 필드(예: `"How should I format the output?"`) | 키 |517 | `question` 필드(예: `"How should I format the output?"`) | 키 |

518 | 선택된 옵션의 `label` 필드(예: `"Summary"`) | 값 |518 | 선택된 옵션의 `label` 필드(예: `"Summary"`) | 값 |

519 519 


555입력에는 `questions` 배열의 Claude 생성 질문이 포함됩니다. 각 질문에는 다음 필드가 있습니다.555입력에는 `questions` 배열의 Claude 생성 질문이 포함됩니다. 각 질문에는 다음 필드가 있습니다.

556 556 

557| 필드 | 설명 |557| 필드 | 설명 |

558| ------------- | ------------------------------------------------------------------------------------------------------------------------------ |558| - | - |

559| `question` | 표시할 전체 질문 텍스트 |559| `question` | 표시할 전체 질문 텍스트 |

560| `header` | 질문의 짧은 레이블(최대 12자) |560| `header` | 질문의 짧은 레이블(최대 12자) |

561| `options` | 각각 `label` 및 `description`이 있는 2-4개 선택 사항의 배열입니다. TypeScript: 선택적으로 `preview`. [옵션 미리보기](#option-previews-typescript)를 참조하십시오. |561| `options` | 각각 `label` 및 `description`이 있는 2-4개 선택 사항의 배열입니다. TypeScript: 선택적으로 `preview`. [옵션 미리보기](#option-previews-typescript)를 참조하십시오. |


586`toolConfig.askUserQuestion.previewFormat`은 각 옵션에 `preview` 필드를 추가하므로 앱이 레이블 옆에 시각적 목업을 표시할 수 있습니다. 이 설정이 없으면 Claude는 미리보기를 생성하지 않으며 필드가 없습니다.586`toolConfig.askUserQuestion.previewFormat`은 각 옵션에 `preview` 필드를 추가하므로 앱이 레이블 옆에 시각적 목업을 표시할 수 있습니다. 이 설정이 없으면 Claude는 미리보기를 생성하지 않으며 필드가 없습니다.

587 587 

588| `previewFormat` | `preview` 포함 |588| `previewFormat` | `preview` 포함 |

589| :-------------- | :--------------------------------------------------------------------------------- |589| :- | :- |

590| 설정되지 않음(기본값) | 필드가 없습니다. Claude는 미리보기를 생성하지 않습니다. |590| 설정되지 않음(기본값) | 필드가 없습니다. Claude는 미리보기를 생성하지 않습니다. |

591| `"markdown"` | ASCII 아트 및 펜스 코드 블록 |591| `"markdown"` | ASCII 아트 및 펜스 코드 블록 |

592| `"html"` | 스타일이 지정된 `<div>` 조각(SDK는 콜백이 실행되기 전에 `<script>`, `<style>` 및 `<!DOCTYPE>`을 거부합니다.) |592| `"html"` | 스타일이 지정된 `<div>` 조각(SDK는 콜백이 실행되기 전에 `<script>`, `<style>` 및 `<!DOCTYPE>`을 거부합니다.) |


629각 질문의 `question` 필드를 선택된 옵션의 `label`에 매핑하는 `answers` 객체를 반환합니다.629각 질문의 `question` 필드를 선택된 옵션의 `label`에 매핑하는 `answers` 객체를 반환합니다.

630 630 

631| 필드 | 설명 |631| 필드 | 설명 |

632| ----------- | -------------------------------------------- |632| - | - |

633| `questions` | 원본 질문 배열을 전달합니다(도구 처리에 필수). |633| `questions` | 원본 질문 배열을 전달합니다(도구 처리에 필수). |

634| `answers` | 키가 질문 텍스트이고 값이 선택된 레이블인 객체입니다. |634| `answers` | 키가 질문 텍스트이고 값이 선택된 레이블인 객체입니다. |

635| `response` | 선택적 자유형 회신으로 사용자가 구조화된 질문에 답하는 대신 입력한 내용입니다. |635| `response` | 선택적 자유형 회신으로 사용자가 구조화된 질문에 답하는 대신 입력한 내용입니다. |

agent-teams.md +2 −2

Details

40</Frame>40</Frame>

41 41 

42| | Subagents | 에이전트 팀 |42| | Subagents | 에이전트 팀 |

43| :-------- | :------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------- |43| :- | :- | :- |

44| **컨텍스트** | 자신의 컨텍스트 윈도우; 결과는 호출자에게 반환됨 | 자신의 컨텍스트 윈도우; 완전히 독립적 |44| **컨텍스트** | 자신의 컨텍스트 윈도우; 결과는 호출자에게 반환됨 | 자신의 컨텍스트 윈도우; 완전히 독립적 |

45| **통신** | 호출자에게 결과를 반환합니다. Claude가 생성할 때 이름을 지정한 Subagents는 [서로 메시지를 전달](/docs/ko/sub-agents#what-loads-at-startup)할 수도 있습니다 | 팀원들이 서로 직접 메시지 전송 |45| **통신** | 호출자에게 결과를 반환합니다. Claude가 생성할 때 이름을 지정한 Subagents는 [서로 메시지를 전달](/docs/ko/sub-agents#what-loads-at-startup)할 수도 있습니다 | 팀원들이 서로 직접 메시지 전송 |

46| **조율** | 메인 에이전트가 모든 작업 관리 | [Task 도구가 있는 에이전트](/docs/ko/tools-reference#task-tool-availability)의 경우 메시지와 공유 작업 목록을 통한 자체 조율 |46| **조율** | 메인 에이전트가 모든 작업 관리 | [Task 도구가 있는 에이전트](/docs/ko/tools-reference#task-tool-availability)의 경우 메시지와 공유 작업 목록을 통한 자체 조율 |


259에이전트 팀은 다음으로 구성됩니다:259에이전트 팀은 다음으로 구성됩니다:

260 260 

261| 구성 요소 | 역할 |261| 구성 요소 | 역할 |

262| :-------- | :------------------------------------ |262| :- | :- |

263| **팀 리더** | 팀원을 생성하고 작업을 조율하는 메인 Claude Code 세션 |263| **팀 리더** | 팀원을 생성하고 작업을 조율하는 메인 Claude Code 세션 |

264| **팀원들** | 할당된 작업에서 각각 작동하는 별도의 Claude Code 인스턴스 |264| **팀원들** | 할당된 작업에서 각각 작동하는 별도의 Claude Code 인스턴스 |

265| **작업 목록** | 팀원들이 요청하고 완료하는 공유 작업 항목 목록 |265| **작업 목록** | 팀원들이 요청하고 완료하는 공유 작업 항목 목록 |

agent-view.md +12 −12

Details

113각 행은 세션의 상태를 나타내는 아이콘으로 시작하며, 아이콘의 색상과 애니메이션이 상태를 보여줍니다:113각 행은 세션의 상태를 나타내는 아이콘으로 시작하며, 아이콘의 색상과 애니메이션이 상태를 보여줍니다:

114 114 

115| 상태 | 아이콘 표시 | 의미 |115| 상태 | 아이콘 표시 | 의미 |

116| :---- | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |116| :- | :- | :- |

117| 작업 중 | 애니메이션 | Claude가 적극적으로 도구를 실행하거나 응답을 생성 중 |117| 작업 중 | 애니메이션 | Claude가 적극적으로 도구를 실행하거나 응답을 생성 중 |

118| 입력 필요 | 노란색 | Claude가 특정 질문이나 권한 결정을 기다리는 중입니다. 또는 [샌드박스](/docs/ko/sandboxing) 프롬프트로 네트워크 호스트를 허용하거나 MCP 서버의 [입력 요청](/docs/ko/mcp#respond-to-mcp-elicitation-requests)에 응답하는 것과 같이 사용자만 답변할 수 있는 다른 프롬프트입니다. 연결된 터미널이 필요한 명령(예: `/install-github-app` 또는 `/mcp` 설정 목록)은 [여기에 미처리 세션을 보유](#attach-to-a-session)합니다 |118| 입력 필요 | 노란색 | Claude가 특정 질문이나 권한 결정을 기다리는 중입니다. 또는 [샌드박스](/docs/ko/sandboxing) 프롬프트로 네트워크 호스트를 허용하거나 MCP 서버의 [입력 요청](/docs/ko/mcp#respond-to-mcp-elicitation-requests)에 응답하는 것과 같이 사용자만 답변할 수 있는 다른 프롬프트입니다. 연결된 터미널이 필요한 명령(예: `/install-github-app` 또는 `/mcp` 설정 목록)은 [여기에 미처리 세션을 보유](#attach-to-a-session)합니다 |

119| 유휴 | 흐릿함 | 세션이 할 일이 없으며 다음 프롬프트를 기다리는 중 |119| 유휴 | 흐릿함 | 세션이 할 일이 없으며 다음 프롬프트를 기다리는 중 |


124별도로, 아이콘의 모양은 기본 프로세스가 실행 중인지 여부를 나타냅니다:124별도로, 아이콘의 모양은 기본 프로세스가 실행 중인지 여부를 나타냅니다:

125 125 

126| 모양 | 의미 |126| 모양 | 의미 |

127| :--------------- | :------------------------------------------------------------------ |127| :- | :- |

128| `✻` 또는 애니메이션 `✽` | 세션 프로세스가 활성 상태이며 즉시 응답 |128| `✻` 또는 애니메이션 `✽` | 세션 프로세스가 활성 상태이며 즉시 응답 |

129| `∙` | 프로세스가 종료됨. 여전히 행을 엿보기, 답변 또는 연결할 수 있으며, Claude는 중단된 위치에서 다시 시작 |129| `∙` | 프로세스가 종료됨. 여전히 행을 엿보기, 답변 또는 연결할 수 있으며, Claude는 중단된 위치에서 다시 시작 |

130| `✢` | [`/loop`](/docs/ko/scheduled-tasks) 세션이 반복 사이에 절전 중. 행은 실행 횟수와 카운트다운을 표시 |130| `✢` | [`/loop`](/docs/ko/scheduled-tasks) 세션이 반복 사이에 절전 중. 행은 실행 횟수와 카운트다운을 표시 |


176풀 리퀘스트 번호는 상태에 따라 색상이 지정됩니다:176풀 리퀘스트 번호는 상태에 따라 색상이 지정됩니다:

177 177 

178| 색상 | 풀 리퀘스트 상태 |178| 색상 | 풀 리퀘스트 상태 |

179| :-- | :---------------------- |179| :- | :- |

180| 노란색 | 검사 또는 검토 대기 중, 또는 검사 실패 |180| 노란색 | 검사 또는 검토 대기 중, 또는 검사 실패 |

181| 녹색 | 검사 통과 및 검토 차단 없음 |181| 녹색 | 검사 통과 및 검토 차단 없음 |

182| 보라색 | 병합됨 |182| 보라색 | 병합됨 |


301디스패치 입력에 입력하여 디스패치 대신 필터링합니다:301디스패치 입력에 입력하여 디스패치 대신 필터링합니다:

302 302 

303| 필터 | 표시 |303| 필터 | 표시 |

304| :---------------------------- | :------------------------------------------------------------- |304| :- | :- |

305| `a:<name>` | 명명된 에이전트를 실행하는 세션 |305| `a:<name>` | 명명된 에이전트를 실행하는 세션 |

306| `s:<state>` | 주어진 상태의 세션, 예: `s:working`. 또한 `s:blocked`를 수락하여 입력을 기다리는 모든 것 |306| `s:<state>` | 주어진 상태의 세션, 예: `s:working`. 또한 `s:blocked`를 수락하여 입력을 기다리는 모든 것 |

307| `#<number>` 또는 풀 또는 병합 요청 URL | 해당 풀 리퀘스트 또는 병합 요청에서 작업하는 세션 |307| `#<number>` 또는 풀 또는 병합 요청 URL | 해당 풀 리퀘스트 또는 병합 요청에서 작업하는 세션 |


314에이전트 뷰에서 `?`를 눌러 모든 단축키를 확인합니다. 아래 표는 이를 요약합니다.314에이전트 뷰에서 `?`를 눌러 모든 단축키를 확인합니다. 아래 표는 이를 요약합니다.

315 315 

316| 단축키 | 작업 |316| 단축키 | 작업 |

317| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |317| :- | :- |

318| `↑` / `↓` | 행 간 이동 |318| `↑` / `↓` | 행 간 이동 |

319| `Enter` | 선택된 세션에 연결하거나, 입력에 텍스트가 있으면 디스패치 |319| `Enter` | 선택된 세션에 연결하거나, 입력에 텍스트가 있으면 디스패치 |

320| `Space` | 선택된 세션의 엿보기 패널 열기 또는 닫기 |320| `Space` | 선택된 세션의 엿보기 패널 열기 또는 닫기 |


357프롬프트의 일부를 접두사로 붙이거나 언급하여 세션이 시작되는 방식을 제어합니다:357프롬프트의 일부를 접두사로 붙이거나 언급하여 세션이 시작되는 방식을 제어합니다:

358 358 

359| 입력 | 효과 |359| 입력 | 효과 |

360| :----------------------------------- | :------------------------------------------------------------------------------------------------- |360| :- | :- |

361| `<agent-name> <prompt>` | 첫 번째 단어가 사용자 정의 [서브에이전트](/docs/ko/sub-agents) 이름과 일치하면 해당 서브에이전트가 프론트매터의 구성으로 세션의 주 에이전트로 실행됩니다 |361| `<agent-name> <prompt>` | 첫 번째 단어가 사용자 정의 [서브에이전트](/docs/ko/sub-agents) 이름과 일치하면 해당 서브에이전트가 프론트매터의 구성으로 세션의 주 에이전트로 실행됩니다 |

362| `@<agent-name>` | 프롬프트의 어디든지 사용자 정의 서브에이전트를 언급하여 주 에이전트로 실행합니다 |362| `@<agent-name>` | 프롬프트의 어디든지 사용자 정의 서브에이전트를 언급하여 주 에이전트로 실행합니다 |

363| `@<repo>` | 저장소를 언급하여 세션을 거기서 실행합니다. 어떤 저장소가 나열되는지는 [특정 디렉토리로 디스패치](#dispatch-to-a-specific-directory)를 참조하십시오 |363| `@<repo>` | 저장소를 언급하여 세션을 거기서 실행합니다. 어떤 저장소가 나열되는지는 [특정 디렉토리로 디스패치](#dispatch-to-a-specific-directory)를 참조하십시오 |


721에이전트 뷰는 설정, 플러그인, MCP 서버 및 추가 디렉토리를 로드하기 위해 `claude`와 동일한 구성 플래그를 허용합니다. 에이전트 뷰는 `--settings` 및 `--plugin-dir`을 자신에게 적용하고 모든 구성 플래그를 디스패치하는 세션으로 전달하므로 이러한 방식으로 로드하는 플러그인 또는 MCP 서버는 해당 세션에서도 사용 가능합니다.721에이전트 뷰는 설정, 플러그인, MCP 서버 및 추가 디렉토리를 로드하기 위해 `claude`와 동일한 구성 플래그를 허용합니다. 에이전트 뷰는 `--settings` 및 `--plugin-dir`을 자신에게 적용하고 모든 구성 플래그를 디스패치하는 세션으로 전달하므로 이러한 방식으로 로드하는 플러그인 또는 MCP 서버는 해당 세션에서도 사용 가능합니다.

722 722 

723| 플래그 | 효과 |723| 플래그 | 효과 |

724| :----------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |724| :- | :- |

725| [`--settings <file-or-json>`](/docs/ko/settings) | 에이전트 뷰 및 디스패치된 세션에 대한 설정 재정의 |725| [`--settings <file-or-json>`](/docs/ko/settings) | 에이전트 뷰 및 디스패치된 세션에 대한 설정 재정의 |

726| [`--add-dir <path>`](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration) | 추가 디렉토리에 파일 액세스 권한 부여 |726| [`--add-dir <path>`](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration) | 추가 디렉토리에 파일 액세스 권한 부여 |

727| [`--plugin-dir <path>`](/docs/ko/plugins) | 로컬 디렉토리에서 플러그인 로드 |727| [`--plugin-dir <path>`](/docs/ko/plugins) | 로컬 디렉토리에서 플러그인 로드 |


747모든 백그라운드 세션에는 셸에서 사용할 수 있는 짧은 ID가 있습니다. ID는 `claude --bg`로 세션을 시작할 때 출력되며, 각 세션의 ID는 `~/.claude/jobs/` 아래의 디렉터리 이름입니다. 이 명령은 스크립팅이나 에이전트 뷰를 열고 싶지 않을 때 유용합니다.747모든 백그라운드 세션에는 셸에서 사용할 수 있는 짧은 ID가 있습니다. ID는 `claude --bg`로 세션을 시작할 때 출력되며, 각 세션의 ID는 `~/.claude/jobs/` 아래의 디렉터리 이름입니다. 이 명령은 스크립팅이나 에이전트 뷰를 열고 싶지 않을 때 유용합니다.

748 748 

749| 명령 | 목적 |749| 명령 | 목적 |

750| :--------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |750| :- | :- |

751| `claude agents` | 에이전트 뷰 열기 |751| `claude agents` | 에이전트 뷰 열기 |

752| `claude agents --cwd <path>` | `<path>` 아래에서 시작된 세션으로 범위가 지정된 에이전트 뷰 열기 |752| `claude agents --cwd <path>` | `<path>` 아래에서 시작된 세션으로 범위가 지정된 에이전트 뷰 열기 |

753| `claude agents --json` | 세션을 JSON 배열로 인쇄하고 종료합니다. [세션을 JSON으로 나열](#list-sessions-as-json) 참조 |753| `claude agents --json` | 세션을 JSON 배열로 인쇄하고 종료합니다. [세션을 JSON으로 나열](#list-sessions-as-json) 참조 |


771각 항목은 하나의 세션을 설명합니다:771각 항목은 하나의 세션을 설명합니다:

772 772 

773| 필드 | 표시 | 설명 |773| 필드 | 표시 | 설명 |

774| :------------------------- | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |774| :- | :- | :- |

775| `cwd`, `kind`, `startedAt` | 항상 | 작업 디렉터리, `interactive` 또는 `background`, Unix 밀리초 단위의 시작 시간 |775| `cwd`, `kind`, `startedAt` | 항상 | 작업 디렉터리, `interactive` 또는 `background`, Unix 밀리초 단위의 시작 시간 |

776| `id` | 백그라운드 세션 | `claude attach`, `claude logs`, `claude stop`에서 사용 가능한 짧은 ID |776| `id` | 백그라운드 세션 | `claude attach`, `claude logs`, `claude stop`에서 사용 가능한 짧은 ID |

777| `state` | 백그라운드 세션 | `working`, `blocked`, `done`, `failed`, `stopped` 중 하나. 각 값의 의미는 [스크립트에서 세션 상태 읽기](#read-session-state-from-a-script) 참조 |777| `state` | 백그라운드 세션 | `working`, `blocked`, `done`, `failed`, `stopped` 중 하나. 각 값의 의미는 [스크립트에서 세션 상태 읽기](#read-session-state-from-a-script) 참조 |


786`claude agents --json`은 Claude Code 외부에서 세션 상태를 읽는 지원되는 방법입니다. 예를 들어 상태 표시줄, 스케줄러 또는 백그라운드 작업을 감독하는 다른 Claude 세션에서 사용할 수 있습니다. `claude agents --json --all`을 폴링하면 프로세스가 종료된 세션도 계속 나열되며, 각 항목의 `state`, `status`, `waitingFor`을 읽습니다.786`claude agents --json`은 Claude Code 외부에서 세션 상태를 읽는 지원되는 방법입니다. 예를 들어 상태 표시줄, 스케줄러 또는 백그라운드 작업을 감독하는 다른 Claude 세션에서 사용할 수 있습니다. `claude agents --json --all`을 폴링하면 프로세스가 종료된 세션도 계속 나열되며, 각 항목의 `state`, `status`, `waitingFor`을 읽습니다.

787 787 

788| `state` | 의미 |788| `state` | 의미 |

789| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------- |789| :- | :- |

790| `working` | 턴이 실행 중이거나 세션이 [`/loop`](/docs/ko/scheduled-tasks) 반복 또는 CI 대기와 같이 자체적으로 수행하는 작업의 단계 사이에 있습니다. `status`는 프로세스가 지금 `busy`인지 여부를 알려줍니다 |790| `working` | 턴이 실행 중이거나 세션이 [`/loop`](/docs/ko/scheduled-tasks) 반복 또는 CI 대기와 같이 자체적으로 수행하는 작업의 단계 사이에 있습니다. `status`는 프로세스가 지금 `busy`인지 여부를 알려줍니다 |

791| `blocked` | 세션이 사용자를 기다리고 있습니다: 질문, 권한 또는 샌드박스 결정, 만료된 로그인과 같이 사용자만 해결할 수 있는 오류, 또는 프롬프트 없이 시작한 경우 첫 번째 프롬프트. 대기가 라이브 프로세스의 열린 프롬프트인 경우 `waitingFor`이 이를 나타냅니다 |791| `blocked` | 세션이 사용자를 기다리고 있습니다: 질문, 권한 또는 샌드박스 결정, 만료된 로그인과 같이 사용자만 해결할 수 있는 오류, 또는 프롬프트 없이 시작한 경우 첫 번째 프롬프트. 대기가 라이브 프로세스의 열린 프롬프트인 경우 `waitingFor`이 이를 나타냅니다 |

792| `done` | 마지막 턴이 요청한 작업을 완료했으며 세션이 다음 프롬프트를 기다리고 있습니다. 프로세스가 여전히 활성 상태인지 여부는 상관없습니다 |792| `done` | 마지막 턴이 요청한 작업을 완료했으며 세션이 다음 프롬프트를 기다리고 있습니다. 프로세스가 여전히 활성 상태인지 여부는 상관없습니다 |


830세션 상태는 Claude Code 구성 디렉토리 아래에 저장됩니다. [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)을 설정하면 감독자는 `~/.claude` 대신 해당 디렉토리를 사용하고 자체 세션이 있는 별도의 인스턴스로 실행됩니다.830세션 상태는 Claude Code 구성 디렉토리 아래에 저장됩니다. [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)을 설정하면 감독자는 `~/.claude` 대신 해당 디렉토리를 사용하고 자체 세션이 있는 별도의 인스턴스로 실행됩니다.

831 831 

832| 경로 | 내용 |832| 경로 | 내용 |

833| :------------------------------- | :--------------------------------------------------------------------------------------------------------- |833| :- | :- |

834| `~/.claude/daemon.log` | 감독자 로그 |834| `~/.claude/daemon.log` | 감독자 로그 |

835| `~/.claude/daemon/roster.json` | 실행 중인 백그라운드 세션 목록, 다시 시작 후 다시 연결하는 데 사용됨 |835| `~/.claude/daemon/roster.json` | 실행 중인 백그라운드 세션 목록, 다시 시작 후 다시 연결하는 데 사용됨 |

836| `~/.claude/jobs/<id>/state.json` | 에이전트 뷰에 표시되는 세션별 상태. [`claude agents --json`](#read-session-state-from-a-script)을 통해 읽으세요. 파일을 직접 파싱하지 마세요 |836| `~/.claude/jobs/<id>/state.json` | 에이전트 뷰에 표시되는 세션별 상태. [`claude agents --json`](#read-session-state-from-a-script)을 통해 읽으세요. 파일을 직접 파싱하지 마세요 |


1047에이전트 뷰는 연구 미리보기 중에 빠르게 발전했습니다. 이전 Claude Code 버전을 사용 중인 경우 이 페이지의 일부 동작이 다를 수 있습니다. 특히 `claude agents`는 아직 지원하지 않는 플래그를 `unknown option` 오류로 거부합니다. 아래 표는 각 플래그와 동작이 추가된 시기를 나열합니다.1047에이전트 뷰는 연구 미리보기 중에 빠르게 발전했습니다. 이전 Claude Code 버전을 사용 중인 경우 이 페이지의 일부 동작이 다를 수 있습니다. 특히 `claude agents`는 아직 지원하지 않는 플래그를 `unknown option` 오류로 거부합니다. 아래 표는 각 플래그와 동작이 추가된 시기를 나열합니다.

1048 1048 

1049| 버전 | 변경 사항 |1049| 버전 | 변경 사항 |

1050| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1050| - | - |

1051| v2.1.268 | [삭제가 거부](#what-deleting-a-session-removes)될 때 git이나 `WorktreeRemove` 훅이 워크트리를 제거할 수 없기 때문에 메시지는 원인을 명시하며, 훅이 어떻게 종료되었는지와 stderr의 시작을 포함합니다. 저장소의 `.claude/worktrees/` 아래의 연결된 워크트리로, 추적된 파일에 커밋되지 않은 변경 사항이 없고, 내부에 중첩된 저장소가 없으며, 다른 세션의 레코드가 이를 명시하지 않으면 세션을 다시 삭제하면 에이전트 뷰에서 또는 `claude rm <id> --force-remove-worktree <worktree-id>`로 디렉터리가 어쨌든 제거됩니다. 이 릴리스 이전에는 행이 `worktree could not be removed (WorktreeRemove hook failed)` 또는 git의 오류만 표시했으며, 훅의 stderr은 디버그 로그로만 이동했고, 다시 삭제하면 같은 방식으로 거부되었습니다. |1051| v2.1.268 | [삭제가 거부](#what-deleting-a-session-removes)될 때 git이나 `WorktreeRemove` 훅이 워크트리를 제거할 수 없기 때문에 메시지는 원인을 명시하며, 훅이 어떻게 종료되었는지와 stderr의 시작을 포함합니다. 저장소의 `.claude/worktrees/` 아래의 연결된 워크트리로, 추적된 파일에 커밋되지 않은 변경 사항이 없고, 내부에 중첩된 저장소가 없으며, 다른 세션의 레코드가 이를 명시하지 않으면 세션을 다시 삭제하면 에이전트 뷰에서 또는 `claude rm <id> --force-remove-worktree <worktree-id>`로 디렉터리가 어쨌든 제거됩니다. 이 릴리스 이전에는 행이 `worktree could not be removed (WorktreeRemove hook failed)` 또는 git의 오류만 표시했으며, 훅의 stderr은 디버그 로그로만 이동했고, 다시 삭제하면 같은 방식으로 거부되었습니다. |

1052| v2.1.268 | 첫 `←`가 `Press ← again to open agents` 또는 연결된 세션에서 `Press ← again to go back to agents`를 표시한 후 [최소 1초 후에 도착하는 첫 번째 누름이 전환](#switch-sessions-without-leaving-the-terminal)되며, 그 사이의 더 빠른 누름이 무시되었어도 전환됩니다. 이 릴리스 이전에는 무시된 각 누름이 대기를 다시 시작했으므로 `←`를 꾸준한 속도로 다시 누르면 1초 이상 일시 중지할 때까지 전환되지 않았습니다. |1052| v2.1.268 | 첫 `←`가 `Press ← again to open agents` 또는 연결된 세션에서 `Press ← again to go back to agents`를 표시한 후 [최소 1초 후에 도착하는 첫 번째 누름이 전환](#switch-sessions-without-leaving-the-terminal)되며, 그 사이의 더 빠른 누름이 무시되었어도 전환됩니다. 이 릴리스 이전에는 무시된 각 누름이 대기를 다시 시작했으므로 `←`를 꾸준한 속도로 다시 누르면 1초 이상 일시 중지할 때까지 전환되지 않았습니다. |

1053| v2.1.260 | [세션을 백그라운드로 이동](#from-inside-a-session)할 때 다른 세션의 [에이전트 목록](/docs/ko/cross-session-messaging#see-which-sessions-claude-can-reach)은 대화를 한 번 표시하며, 백그라운드 세션으로 표시되고 이에 대한 메시지는 더 이상 이동한 터미널에 도달하지 않습니다. 이 릴리스 이전에는 해당 터미널이 대화 이름 아래 두 번째 대화형 세션으로 나열될 수 있었으며, 이동 전에 대화에 메시지를 보낸 세션은 계속해서 해당 터미널에 전달했습니다. |1053| v2.1.260 | [세션을 백그라운드로 이동](#from-inside-a-session)할 때 다른 세션의 [에이전트 목록](/docs/ko/cross-session-messaging#see-which-sessions-claude-can-reach)은 대화를 한 번 표시하며, 백그라운드 세션으로 표시되고 이에 대한 메시지는 더 이상 이동한 터미널에 도달하지 않습니다. 이 릴리스 이전에는 해당 터미널이 대화 이름 아래 두 번째 대화형 세션으로 나열될 수 있었으며, 이동 전에 대화에 메시지를 보낸 세션은 계속해서 해당 터미널에 전달했습니다. |

agents.md +1 −1

Details

9Claude Code는 여러 작업을 동시에 처리하는 다섯 가지 방법을 제공합니다: [서브에이전트](/docs/ko/sub-agents), [에이전트 뷰](/docs/ko/agent-view), [에이전트 팀](/docs/ko/agent-teams), [동적 워크플로우](/docs/ko/workflows), [프로젝트](/docs/ko/claude-projects). 이들은 각 대화에 얼마나 참여할지, 그리고 작업이 사용자의 머신에서 실행되는지 클라우드에서 실행되는지에 따라 다릅니다.9Claude Code는 여러 작업을 동시에 처리하는 다섯 가지 방법을 제공합니다: [서브에이전트](/docs/ko/sub-agents), [에이전트 뷰](/docs/ko/agent-view), [에이전트 팀](/docs/ko/agent-teams), [동적 워크플로우](/docs/ko/workflows), [프로젝트](/docs/ko/claude-projects). 이들은 각 대화에 얼마나 참여할지, 그리고 작업이 사용자의 머신에서 실행되는지 클라우드에서 실행되는지에 따라 다릅니다.

10 10 

11| 접근 방식 | 제공되는 기능 | 사용 시기 |11| 접근 방식 | 제공되는 기능 | 사용 시기 |

12| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- |12| :- | :- | :- |

13| [서브에이전트](/docs/ko/sub-agents) | 한 세션 내에서 자신의 컨텍스트에서 부작업을 수행하고 요약을 반환하는 위임된 작업자 | 부작업이 검색 결과, 로그 또는 다시 참조하지 않을 파일 내용으로 주 대화를 넘칠 때 |13| [서브에이전트](/docs/ko/sub-agents) | 한 세션 내에서 자신의 컨텍스트에서 부작업을 수행하고 요약을 반환하는 위임된 작업자 | 부작업이 검색 결과, 로그 또는 다시 참조하지 않을 파일 내용으로 주 대화를 넘칠 때 |

14| [에이전트 뷰](/docs/ko/agent-view) | `claude agents`로 열 수 있는 백그라운드에서 실행 중인 세션을 디스패치하고 모니터링하는 하나의 화면. 연구 미리보기 | 여러 개의 독립적인 작업이 있고 작업을 넘기고, 상태를 한눈에 확인하고, 필요할 때만 개입하고 싶을 때 |14| [에이전트 뷰](/docs/ko/agent-view) | `claude agents`로 열 수 있는 백그라운드에서 실행 중인 세션을 디스패치하고 모니터링하는 하나의 화면. 연구 미리보기 | 여러 개의 독립적인 작업이 있고 작업을 넘기고, 상태를 한눈에 확인하고, 필요할 때만 개입하고 싶을 때 |

15| [에이전트 팀](/docs/ko/agent-teams) | 공유 작업 목록과 에이전트 간 메시징을 통해 조율되는 여러 세션으로, 리더가 관리합니다. 실험적이며 기본적으로 비활성화됨 | Claude가 프로젝트를 여러 부분으로 나누고, 할당하고, 작업자들을 동기화 상태로 유지하기를 원할 때 |15| [에이전트 팀](/docs/ko/agent-teams) | 공유 작업 목록과 에이전트 간 메시징을 통해 조율되는 여러 세션으로, 리더가 관리합니다. 실험적이며 기본적으로 비활성화됨 | Claude가 프로젝트를 여러 부분으로 나누고, 할당하고, 작업자들을 동기화 상태로 유지하기를 원할 때 |

Details

304기본 제공 기본 모델을 유지하고 선호하는 접두사만 변경하려면 고정 대신 [`ANTHROPIC_BEDROCK_REGION_PREFIX`](#cross-region-inference-profile-prefixes)를 설정합니다. 차이는 `opus` 별칭이 해결되는 방식에 표시됩니다.304기본 제공 기본 모델을 유지하고 선호하는 접두사만 변경하려면 고정 대신 [`ANTHROPIC_BEDROCK_REGION_PREFIX`](#cross-region-inference-profile-prefixes)를 설정합니다. 차이는 `opus` 별칭이 해결되는 방식에 표시됩니다.

305 305 

306| 설정 | `opus` 별칭이 해결되는 대상 |306| 설정 | `opus` 별칭이 해결되는 대상 |

307| :------------------------------------------------------------ | :----------------------------------------------------- |307| :- | :- |

308| `ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` | `us.anthropic.claude-opus-4-8`, 고정한 정확한 ID |308| `ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` | `us.anthropic.claude-opus-4-8`, 고정한 정확한 ID |

309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5-5`, 선호하는 접두사가 있는 기본 제공 기본값 |309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5-5`, 선호하는 접두사가 있는 기본 제공 기본값 |

310 310 


313고정 변수가 설정되지 않으면 Claude Code는 이러한 기본 모델을 사용합니다.313고정 변수가 설정되지 않으면 Claude Code는 이러한 기본 모델을 사용합니다.

314 314 

315| 모델 유형 | 기본 모델 |315| 모델 유형 | 기본 모델 |

316| :------- | :----------------------------------------------------------------------- |316| :- | :- |

317| 기본 모델 | Opus 5.5, 예: `us-*` 영역의 `us.anthropic.claude-opus-5-5` |317| 기본 모델 | Opus 5.5, 예: `us-*` 영역의 `us.anthropic.claude-opus-5-5` |

318| 소형/빠른 모델 | Sonnet 4.5, 예: `us-*` 영역의 `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |318| 소형/빠른 모델 | Sonnet 4.5, 예: `us-*` 영역의 `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |

319 319 


391Amazon Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)에서 Claude Code는 기본 제공 기본 모델을 [교차 지역 추론 프로필](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html) ID로 확인합니다. 모델 버전을 자신의 추론 프로필을 통해 라우팅하려면 [각 모델 버전을 추론 프로필에 매핑](#map-each-model-version-to-an-inference-profile)을 참조하십시오. 이 표는 Claude Code가 각 확인된 AWS 지역에 대해 선호하는 접두사를 보여줍니다:391Amazon Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)에서 Claude Code는 기본 제공 기본 모델을 [교차 지역 추론 프로필](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html) ID로 확인합니다. 모델 버전을 자신의 추론 프로필을 통해 라우팅하려면 [각 모델 버전을 추론 프로필에 매핑](#map-each-model-version-to-an-inference-profile)을 참조하십시오. 이 표는 Claude Code가 각 확인된 AWS 지역에 대해 선호하는 접두사를 보여줍니다:

392 392 

393| AWS 지역 | 접두사 |393| AWS 지역 | 접두사 |

394| :------------------------ | :-------- |394| :- | :- |

395| `us-gov-*` (AWS GovCloud) | `us-gov.` |395| `us-gov-*` (AWS GovCloud) | `us-gov.` |

396| `us-*` | `us.` |396| `us-*` | `us.` |

397| `eu-*` | `eu.` |397| `eu-*` | `eu.` |


592이러한 변수는 Mantle 엔드포인트에만 해당됩니다. 전체 목록은 [환경 변수](/docs/ko/env-vars)를 참조하십시오.592이러한 변수는 Mantle 엔드포인트에만 해당됩니다. 전체 목록은 [환경 변수](/docs/ko/env-vars)를 참조하십시오.

593 593 

594| 변수 | 목적 |594| 변수 | 목적 |

595| :-------------------------------------- | :------------------------------------------- |595| :- | :- |

596| `CLAUDE_CODE_USE_MANTLE` | Mantle 엔드포인트를 활성화합니다. `1` 또는 `true`로 설정하십시오. |596| `CLAUDE_CODE_USE_MANTLE` | Mantle 엔드포인트를 활성화합니다. `1` 또는 `true`로 설정하십시오. |

597| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | 기본 Mantle 엔드포인트 URL 재정의 |597| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | 기본 Mantle 엔드포인트 URL 재정의 |

598| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | 프록시 설정을 위해 클라이언트 측 인증 건너뛰기 |598| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | 프록시 설정을 위해 클라이언트 측 인증 건너뛰기 |

analytics.md +1 −1

Details

9Claude Code는 조직이 개발자 사용 패턴을 이해하고, 기여도 지표를 추적하며, Claude Code가 엔지니어링 속도에 미치는 영향을 측정할 수 있도록 분석 대시보드를 제공합니다. 귀사의 플랜에 맞는 대시보드에 접근하세요:9Claude Code는 조직이 개발자 사용 패턴을 이해하고, 기여도 지표를 추적하며, Claude Code가 엔지니어링 속도에 미치는 영향을 측정할 수 있도록 분석 대시보드를 제공합니다. 귀사의 플랜에 맞는 대시보드에 접근하세요:

10 10 

11| 플랜 | 대시보드 URL | 포함 사항 | 자세히 알아보기 |11| 플랜 | 대시보드 URL | 포함 사항 | 자세히 알아보기 |

12| ----------------------------- | -------------------------------------------------------------------------- | --------------------------------------------- | -------------------------------------------------- |12| - | - | - | - |

13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | 사용량 지표, GitHub 통합을 포함한 기여도 지표, 리더보드, 데이터 내보내기 | [세부 정보](#access-analytics-for-team-and-enterprise) |13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | 사용량 지표, GitHub 통합을 포함한 기여도 지표, 리더보드, 데이터 내보내기 | [세부 정보](#access-analytics-for-team-and-enterprise) |

14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | 사용량 지표, 지출 추적, 팀 인사이트 | [세부 정보](#access-analytics-for-api-customers) |14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | 사용량 지표, 지출 추적, 팀 인사이트 | [세부 정보](#access-analytics-for-api-customers) |

15 15 

artifacts.md +4 −4

Details

326각 아티팩트는 하나의 자체 포함된 페이지입니다. Claude Code는 게시하는 파일을 HTML 문서 셸로 래핑하고 엄격한 콘텐츠 보안 정책(CSP)에 따라 제공하며, 이는 페이지가 수행할 수 있는 작업을 결정합니다.326각 아티팩트는 하나의 자체 포함된 페이지입니다. Claude Code는 게시하는 파일을 HTML 문서 셸로 래핑하고 엄격한 콘텐츠 보안 정책(CSP)에 따라 제공하며, 이는 페이지가 수행할 수 있는 작업을 결정합니다.

327 327 

328| 제약 사항 | 효과 |328| 제약 사항 | 효과 |

329| :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |329| :- | :- |

330| 외부 요청 | 페이지는 Google Fonts에서 글꼴을 로드할 수 있으며, [5개의 공개 CDN 호스트](#allowlist-the-viewer-domain)에서 스크립트를 로드할 수 있습니다: cdnjs, unpkg, Tailwind 및 jQuery CDN, 그리고 jsDelivr의 선택된 경로(예: `/npm/`). CSP는 모든 외부 이미지와 다른 모든 외부 스크립트, 스타일시트 및 글꼴을 차단하며, `fetch`, XHR 및 WebSocket 호출이 페이지 자체 원본과 Google Fonts 호스트에만 도달하도록 합니다. Claude는 따라서 페이지가 필요로 하는 모든 라이브러리를 이러한 CDN 중 하나에서 로드하고, 다른 모든 CSS 및 JavaScript를 인라인으로 처리하며, 이미지를 데이터 URI로 임베드합니다. [커넥터 호출](#pull-live-data-with-mcp-connectors)은 claude.ai를 통해 진행되며, 이는 네트워크 호출을 자체적으로 수행합니다. |330| 외부 요청 | 페이지는 Google Fonts에서 글꼴을 로드할 수 있으며, [5개의 공개 CDN 호스트](#allowlist-the-viewer-domain)에서 스크립트를 로드할 수 있습니다: cdnjs, unpkg, Tailwind 및 jQuery CDN, 그리고 jsDelivr의 선택된 경로(예: `/npm/`). CSP는 모든 외부 이미지와 다른 모든 외부 스크립트, 스타일시트 및 글꼴을 차단하며, `fetch`, XHR 및 WebSocket 호출이 페이지 자체 원본과 Google Fonts 호스트에만 도달하도록 합니다. Claude는 따라서 페이지가 필요로 하는 모든 라이브러리를 이러한 CDN 중 하나에서 로드하고, 다른 모든 CSS 및 JavaScript를 인라인으로 처리하며, 이미지를 데이터 URI로 임베드합니다. [커넥터 호출](#pull-live-data-with-mcp-connectors)은 claude.ai를 통해 진행되며, 이는 네트워크 호출을 자체적으로 수행합니다. |

331| 백엔드 없음 | 아티팩트는 정적 페이지입니다. 이는 뷰어를 자체적으로 인증할 수 없습니다. |331| 백엔드 없음 | 아티팩트는 정적 페이지입니다. 이는 뷰어를 자체적으로 인증할 수 없습니다. |

332| 다운로드 | 페이지는 자체적으로 다운로드를 시작할 수 없습니다. 뷰어가 페이지에서 생성하는 파일을 저장할 수 있도록 하려면 Claude가 다운로드 기능을 선언합니다. [파일 다운로드 제공](#offer-a-file-download)을 참조하십시오. |332| 다운로드 | 페이지는 자체적으로 다운로드를 시작할 수 없습니다. 뷰어가 페이지에서 생성하는 파일을 저장할 수 있도록 하려면 Claude가 다운로드 기능을 선언합니다. [파일 다운로드 제공](#offer-a-file-download)을 참조하십시오. |


347Artifacts는 아래의 모든 조건을 충족해야 합니다. 하나라도 충족되지 않으면 Claude는 로컬 HTML 파일을 작성하거나 게시할 수 없다고 말합니다.347Artifacts는 아래의 모든 조건을 충족해야 합니다. 하나라도 충족되지 않으면 Claude는 로컬 HTML 파일을 작성하거나 게시할 수 없다고 말합니다.

348 348 

349| 요구사항 | 사용 가능한 경우 |349| 요구사항 | 사용 가능한 경우 |

350| :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |350| :- | :- |

351| 플랜 | Pro, Max, Team 또는 Enterprise. Pro 및 Max 플랜에서는 artifacts가 공유할 때까지 사용자에게만 비공개이며 관리자 관리가 적용되지 않습니다. Team 플랜에서는 artifacts가 기본적으로 활성화됩니다. Enterprise 플랜에서는 Owner가 claude.ai 관리자 설정에서 [이를 활성화](#manage-artifacts-for-your-organization)합니다. |351| 플랜 | Pro, Max, Team 또는 Enterprise. Pro 및 Max 플랜에서는 artifacts가 공유할 때까지 사용자에게만 비공개이며 관리자 관리가 적용되지 않습니다. Team 플랜에서는 artifacts가 기본적으로 활성화됩니다. Enterprise 플랜에서는 Owner가 claude.ai 관리자 설정에서 [이를 활성화](#manage-artifacts-for-your-organization)합니다. |

352| 인증 | 세션이 claude.ai 계정으로 지원됩니다: CLI 또는 데스크톱 앱에서 `/login`으로 로그인합니다. Claude Tag 세션은 에이전트의 ID를 통해 로그인되므로 추가 단계가 필요하지 않습니다. API 키, [gateway token](/docs/ko/llm-gateway) 또는 클라우드 제공자 자격증명을 사용하는 세션은 게시할 수 없습니다. |352| 인증 | 세션이 claude.ai 계정으로 지원됩니다: CLI 또는 데스크톱 앱에서 `/login`으로 로그인합니다. Claude Tag 세션은 에이전트의 ID를 통해 로그인되므로 추가 단계가 필요하지 않습니다. API 키, [gateway token](/docs/ko/llm-gateway) 또는 클라우드 제공자 자격증명을 사용하는 세션은 게시할 수 없습니다. |

353| 모델 제공자 | Anthropic API. [Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai) 또는 [Microsoft Foundry](/docs/ko/microsoft-foundry)에서는 사용할 수 없습니다. |353| 모델 제공자 | Anthropic API. [Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai) 또는 [Microsoft Foundry](/docs/ko/microsoft-foundry)에서는 사용할 수 없습니다. |


365조직의 설정에 관계없이 자신의 세션에 대해 아티팩트를 끄려면 다음 중 하나를 사용하십시오:365조직의 설정에 관계없이 자신의 세션에 대해 아티팩트를 끄려면 다음 중 하나를 사용하십시오:

366 366 

367| 방법 | 설정 |367| 방법 | 설정 |

368| :------------------------ | :----------------------------------------------------------------------------------------------- |368| :- | :- |

369| [`/config`](/docs/ko/commands) | **아티팩트** 행을 끄면 사용자 설정에 [`"enableArtifact": false`](/docs/ko/settings-reference#enableartifact)가 기록됩니다 |369| [`/config`](/docs/ko/commands) | **아티팩트** 행을 끄면 사용자 설정에 [`"enableArtifact": false`](/docs/ko/settings-reference#enableartifact)가 기록됩니다 |

370| [설정 파일](/docs/ko/settings) | `"enableArtifact": false`를 설정합니다. 더 이상 사용되지 않는 `"disableArtifact": true`도 아티팩트를 끕니다 |370| [설정 파일](/docs/ko/settings) | `"enableArtifact": false`를 설정합니다. 더 이상 사용되지 않는 `"disableArtifact": true`도 아티팩트를 끕니다 |

371| [환경 변수](/docs/ko/env-vars) | `CLAUDE_CODE_DISABLE_ARTIFACT=1`을 설정합니다 |371| [환경 변수](/docs/ko/env-vars) | `CLAUDE_CODE_DISABLE_ARTIFACT=1`을 설정합니다 |


430[Compliance API](https://docs.claude.com/en/api/compliance)는 조직의 아티팩트를 나열하고, 특정 버전의 콘텐츠를 검색하고, 아티팩트를 삭제하는 엔드포인트를 제공합니다:430[Compliance API](https://docs.claude.com/en/api/compliance)는 조직의 아티팩트를 나열하고, 특정 버전의 콘텐츠를 검색하고, 아티팩트를 삭제하는 엔드포인트를 제공합니다:

431 431 

432| 메서드 | 엔드포인트 |432| 메서드 | 엔드포인트 |

433| :------- | :------------------------------------------------------------------ |433| :- | :- |

434| `GET` | `/v1/compliance/code/artifacts` |434| `GET` | `/v1/compliance/code/artifacts` |

435| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |435| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |

436| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |436| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |

Details

249Claude Code는 다음 순서로 3개의 소스를 확인하고 설정된 첫 번째에서 중지합니다. 표는 각 소스를 설정하는 것과 `/login` 자격증명에 대한 순위를 표시합니다.249Claude Code는 다음 순서로 3개의 소스를 확인하고 설정된 첫 번째에서 중지합니다. 표는 각 소스를 설정하는 것과 `/login` 자격증명에 대한 순위를 표시합니다.

250 250 

251| 소스 | 설정 대상 | `/login`에 대한 순위 |251| 소스 | 설정 대상 | `/login`에 대한 순위 |

252| :------- | :------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------- |252| :- | :- | :- |

253| 명명된 프로필 | `ANTHROPIC_PROFILE` | 위, 프로필이 가진 인증 모드 상관없이 |253| 명명된 프로필 | `ANTHROPIC_PROFILE` | 위, 프로필이 가진 인증 모드 상관없이 |

254| 페더레이션 변수 | `ANTHROPIC_FEDERATION_RULE_ID` 및 `ANTHROPIC_ORGANIZATION_ID`, 둘 다 설정됨 | 위 |254| 페더레이션 변수 | `ANTHROPIC_FEDERATION_RULE_ID` 및 `ANTHROPIC_ORGANIZATION_ID`, 둘 다 설정됨 | 위 |

255| 활성 프로필 | 구성 디렉터리의 [`active_config` 파일](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) 또는 `default`라는 프로필 | 인증 모드가 `oidc_federation`일 때 위; 인증 모드가 `user_oauth`일 때 작동하는 `/login` 자격증명 아래 |255| 활성 프로필 | 구성 디렉터리의 [`active_config` 파일](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) 또는 `default`라는 프로필 | 인증 모드가 `oidc_federation`일 때 위; 인증 모드가 `user_oauth`일 때 작동하는 `/login` 자격증명 아래 |

Details

60경계가 얼마나 견고해야 하는지에 맞는 메커니즘을 선택하십시오:60경계가 얼마나 견고해야 하는지에 맞는 메커니즘을 선택하십시오:

61 61 

62| 경계 | 메커니즘 | 자동 모드에서의 동작 |62| 경계 | 메커니즘 | 자동 모드에서의 동작 |

63| :-------------- | :----------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| 작업 전에 프롬프트 | `permissions.ask` | 위의 레시피와 같은 콘텐츠 범위 규칙에 일치하는 명령에 대해 항상 프롬프트합니다. 분류기는 일치하는 작업을 자동으로 승인할 수 없습니다. |64| 작업 전에 프롬프트 | `permissions.ask` | 위의 레시피와 같은 콘텐츠 범위 규칙에 일치하는 명령에 대해 항상 프롬프트합니다. 분류기는 일치하는 작업을 자동으로 승인할 수 없습니다. |

65| 작업을 절대 실행하지 않음 | `permissions.deny` | 분류기가 참고되기 전에 차단합니다. 분류기도 사용자 의도도 이를 무시할 수 없습니다. |65| 작업을 절대 실행하지 않음 | `permissions.deny` | 분류기가 참고되기 전에 차단합니다. 분류기도 사용자 의도도 이를 무시할 수 없습니다. |

66| 이 세션에 대한 일회성 경계 | "검토할 때까지 푸시하지 마세요"와 같이 대화에서 명시 | 분류기는 일치하는 작업을 차단하지만, [컨텍스트 압축](/docs/ko/costs#reduce-token-usage)이 이를 명시한 메시지를 제거하면 경계가 손실될 수 있습니다. 지속적인 보장을 위해 ask 또는 deny 규칙을 사용하십시오. |66| 이 세션에 대한 일회성 경계 | "검토할 때까지 푸시하지 마세요"와 같이 대화에서 명시 | 분류기는 일치하는 작업을 차단하지만, [컨텍스트 압축](/docs/ko/costs#reduce-token-usage)이 이를 명시한 메시지를 제거하면 경계가 손실될 수 있습니다. 지속적인 보장을 위해 ask 또는 deny 규칙을 사용하십시오. |


74여러 프로젝트에 걸쳐 적용되는 규칙(예: 신뢰할 수 있는 인프라 또는 조직 전체 거부 규칙)의 경우 `autoMode` 설정 블록을 사용합니다. 분류기는 다음 범위에서 `autoMode`를 읽습니다:74여러 프로젝트에 걸쳐 적용되는 규칙(예: 신뢰할 수 있는 인프라 또는 조직 전체 거부 규칙)의 경우 `autoMode` 설정 블록을 사용합니다. 분류기는 다음 범위에서 `autoMode`를 읽습니다:

75 75 

76| 범위 | 파일 | 용도 |76| 범위 | 파일 | 용도 |

77| :---------------------------- | :------------------------------------- | :------------------------- |77| :- | :- | :- |

78| 한 명의 개발자 | `~/.claude/settings.json` | 개인 신뢰할 수 있는 인프라 |78| 한 명의 개발자 | `~/.claude/settings.json` | 개인 신뢰할 수 있는 인프라 |

79| 조직 전체 | [관리되는 설정](/docs/ko/server-managed-settings) | 모든 개발자에게 배포되는 신뢰할 수 있는 인프라 |79| 조직 전체 | [관리되는 설정](/docs/ko/server-managed-settings) | 모든 개발자에게 배포되는 신뢰할 수 있는 인프라 |

80| `--settings` 플래그 또는 Agent SDK | 인라인 JSON | 자동화를 위한 호출별 재정의 |80| `--settings` 플래그 또는 Agent SDK | 인라인 JSON | 자동화를 위한 호출별 재정의 |

Details

37확인은 대화에서 Claude가 읽을 수 있는 신호를 반환하는 모든 것입니다: 테스트 스위트, 빌드 종료 코드, linter, 출력을 고정값과 비교하는 스크립트, 또는 디자인과 비교한 [브라우저 스크린샷](/docs/ko/chrome). [`/verify`](/docs/ko/skills#run-and-verify-your-app)를 Claude의 확인이 통과한 후 직접 실행하여 실행 중인 앱에 대한 변경 사항을 확인하세요.37확인은 대화에서 Claude가 읽을 수 있는 신호를 반환하는 모든 것입니다: 테스트 스위트, 빌드 종료 코드, linter, 출력을 고정값과 비교하는 스크립트, 또는 디자인과 비교한 [브라우저 스크린샷](/docs/ko/chrome). [`/verify`](/docs/ko/skills#run-and-verify-your-app)를 Claude의 확인이 통과한 후 직접 실행하여 실행 중인 앱에 대한 변경 사항을 확인하세요.

38 38 

39| 전략 | 이전 | 이후 |39| 전략 | 이전 | 이후 |

40| ---------------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |40| - | - | - |

41| **검증 기준 제공** | *"이메일 주소를 검증하는 함수를 구현하세요"* | *"validateEmail 함수를 작성하세요. 예제 테스트 케이스: [user@example.com](mailto:user@example.com)은 true, invalid는 false, [user@.com](mailto:user@.com)은 false입니다. 구현 후 테스트를 실행하세요"* |41| **검증 기준 제공** | *"이메일 주소를 검증하는 함수를 구현하세요"* | *"validateEmail 함수를 작성하세요. 예제 테스트 케이스: [user@example.com](mailto:user@example.com)은 true, invalid는 false, [user@.com](mailto:user@.com)은 false입니다. 구현 후 테스트를 실행하세요"* |

42| **UI 변경 사항을 시각적으로 검증** | *"대시보드를 더 좋게 보이게 하세요"* | *"\[스크린샷 붙여넣기] 이 디자인을 구현하세요. 결과의 스크린샷을 찍고 원본과 비교하세요. 차이점을 나열하고 수정하세요"* |42| **UI 변경 사항을 시각적으로 검증** | *"대시보드를 더 좋게 보이게 하세요"* | *"\[스크린샷 붙여넣기] 이 디자인을 구현하세요. 결과의 스크린샷을 찍고 원본과 비교하세요. 차이점을 나열하고 수정하세요"* |

43| **증상이 아닌 근본 원인 해결** | *"빌드가 실패하고 있습니다"* | *"빌드가 이 오류로 실패합니다: \[오류 붙여넣기]. 수정하고 빌드가 성공하는지 확인하세요. 근본 원인을 해결하고 오류를 억제하지 마세요"* |43| **증상이 아닌 근본 원인 해결** | *"빌드가 실패하고 있습니다"* | *"빌드가 이 오류로 실패합니다: \[오류 붙여넣기]. 수정하고 빌드가 성공하는지 확인하세요. 근본 원인을 해결하고 오류를 억제하지 마세요"* |


127Claude는 의도를 추론할 수 있지만 마음을 읽을 수는 없습니다. 특정 파일을 참조하고, 제약 조건을 언급하고, 예제 패턴을 지적하십시오.127Claude는 의도를 추론할 수 있지만 마음을 읽을 수는 없습니다. 특정 파일을 참조하고, 제약 조건을 언급하고, 예제 패턴을 지적하십시오.

128 128 

129| 전략 | 이전 | 이후 |129| 전략 | 이전 | 이후 |

130| ---------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |130| - | - | - |

131| **작업 범위 지정.** 어떤 파일, 어떤 시나리오, 테스트 선호도를 지정하십시오. | *"foo.py에 대한 테스트 추가"* | *"사용자가 로그아웃된 경우의 엣지 케이스를 다루는 foo.py에 대한 테스트를 작성하세요. 모의 객체를 피하세요."* |131| **작업 범위 지정.** 어떤 파일, 어떤 시나리오, 테스트 선호도를 지정하십시오. | *"foo.py에 대한 테스트 추가"* | *"사용자가 로그아웃된 경우의 엣지 케이스를 다루는 foo.py에 대한 테스트를 작성하세요. 모의 객체를 피하세요."* |

132| **소스 지적.** Claude를 질문에 답할 수 있는 소스로 안내하십시오. | *"ExecutionFactory가 왜 그렇게 이상한 API를 가지고 있습니까?"* | *"ExecutionFactory의 git 히스토리를 살펴보고 API가 어떻게 되었는지 요약하세요"* |132| **소스 지적.** Claude를 질문에 답할 수 있는 소스로 안내하십시오. | *"ExecutionFactory가 왜 그렇게 이상한 API를 가지고 있습니까?"* | *"ExecutionFactory의 git 히스토리를 살펴보고 API가 어떻게 되었는지 요약하세요"* |

133| **기존 패턴 참조.** Claude를 코드베이스의 패턴으로 지적하십시오. | *"캘린더 위젯 추가"* | *"홈 페이지에서 기존 위젯이 어떻게 구현되는지 살펴보고 패턴을 이해하세요. HotDogWidget.php는 좋은 예입니다. 패턴을 따라 사용자가 월을 선택하고 앞뒤로 이동하여 연도를 선택할 수 있는 새로운 캘린더 위젯을 구현하세요. 코드베이스에서 이미 사용 중인 라이브러리 외에는 라이브러리를 사용하지 않고 처음부터 빌드하세요."* |133| **기존 패턴 참조.** Claude를 코드베이스의 패턴으로 지적하십시오. | *"캘린더 위젯 추가"* | *"홈 페이지에서 기존 위젯이 어떻게 구현되는지 살펴보고 패턴을 이해하세요. HotDogWidget.php는 좋은 예입니다. 패턴을 따라 사용자가 월을 선택하고 앞뒤로 이동하여 연도를 선택할 수 있는 새로운 캘린더 위젯을 구현하세요. 코드베이스에서 이미 사용 중인 라이브러리 외에는 라이브러리를 사용하지 않고 처음부터 빌드하세요."* |


186간결하게 유지하십시오. 각 줄에 대해 다음을 물어보십시오: *"이것을 제거하면 Claude가 실수를 할까?"* 그렇지 않으면 삭제하십시오. 부풀려진 CLAUDE.md 파일은 Claude가 실제 지시사항을 무시하게 합니다!186간결하게 유지하십시오. 각 줄에 대해 다음을 물어보십시오: *"이것을 제거하면 Claude가 실수를 할까?"* 그렇지 않으면 삭제하십시오. 부풀려진 CLAUDE.md 파일은 Claude가 실제 지시사항을 무시하게 합니다!

187 187 

188| ✅ 포함 | ❌ 제외 |188| ✅ 포함 | ❌ 제외 |

189| ------------------------ | -------------------------- |189| - | - |

190| Claude가 추측할 수 없는 Bash 명령 | Claude가 코드를 읽어서 파악할 수 있는 것 |190| Claude가 추측할 수 없는 Bash 명령 | Claude가 코드를 읽어서 파악할 수 있는 것 |

191| 기본값과 다른 코드 스타일 규칙 | Claude가 이미 알고 있는 표준 언어 규칙 |191| 기본값과 다른 코드 스타일 규칙 | Claude가 이미 알고 있는 표준 언어 규칙 |

192| 테스트 지시사항 및 선호하는 테스트 러너 | 상세한 API 문서(대신 문서 링크) |192| 테스트 지시사항 및 선호하는 테스트 러너 | 상세한 API 문서(대신 문서 링크) |


526예를 들어 Writer/Reviewer 패턴을 사용하십시오:526예를 들어 Writer/Reviewer 패턴을 사용하십시오:

527 527 

528| 세션 A (작성자) | 세션 B (검토자) |528| 세션 A (작성자) | 세션 B (검토자) |

529| -------------------------------------------- | ------------------------------------------------------------------------------------------ |529| - | - |

530| `API 엔드포인트에 대한 속도 제한기 구현` | |530| `API 엔드포인트에 대한 속도 제한기 구현` | |

531| | `@src/middleware/rateLimiter.ts의 속도 제한기 구현을 검토하세요. 엣지 케이스, 경쟁 조건, 기존 미들웨어 패턴과의 일관성을 찾으세요.` |531| | `@src/middleware/rateLimiter.ts의 속도 제한기 구현을 검토하세요. 엣지 케이스, 경쟁 조건, 기존 미들웨어 패턴과의 일관성을 찾으세요.` |

532| `검토 피드백은 다음과 같습니다: [세션 B 출력]. 이 문제들을 해결하세요.` | |532| `검토 피드백은 다음과 같습니다: [세션 B 출력]. 이 문제들을 해결하세요.` | |

champion-kit.md +7 −7

Details

17이 역할은 서로를 강화하는 세 가지 행동으로 구성됩니다.17이 역할은 서로를 강화하는 세 가지 행동으로 구성됩니다.

18 18 

19| 행동 | 실제 모습 | 중요한 이유 |19| 행동 | 실제 모습 | 중요한 이유 |

20| -------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |20| - | - | - |

21| 발견한 것을 공유하기 | 엔지니어링 채널, 스탠드업 스레드, 또는 풀 리퀘스트 설명과 같이 팀이 이미 읽는 장소에 자신의 작업에서 나온 프롬프트, 스크린샷, 작은 성과를 게시합니다. | 자신의 코드베이스에서 나온 예시는 외부 문서보다 더 설득력이 있습니다. 동료들이 자신들이 공유하는 문제에 도구가 어떻게 적용되는지 정확히 볼 수 있기 때문입니다. |21| 발견한 것을 공유하기 | 엔지니어링 채널, 스탠드업 스레드, 또는 풀 리퀘스트 설명과 같이 팀이 이미 읽는 장소에 자신의 작업에서 나온 프롬프트, 스크린샷, 작은 성과를 게시합니다. | 자신의 코드베이스에서 나온 예시는 외부 문서보다 더 설득력이 있습니다. 동료들이 자신들이 공유하는 문제에 도구가 어떻게 적용되는지 정확히 볼 수 있기 때문입니다. |

22| 사람들이 묻는 사람이 되기 | 동료가 어떻게 무언가를 성취했는지 묻을 때, 실제로 사용한 프롬프트로 응답하여 자신의 작업에 직접 적용할 수 있도록 합니다. | 구체적이고 실행 가능한 예시는 호기심과 첫 번째 성공적인 사용 사이의 간격을 제거하며, 이것이 대부분의 도입 노력이 정체되는 지점입니다. |22| 사람들이 묻는 사람이 되기 | 동료가 어떻게 무언가를 성취했는지 묻을 때, 실제로 사용한 프롬프트로 응답하여 자신의 작업에 직접 적용할 수 있도록 합니다. | 구체적이고 실행 가능한 예시는 호기심과 첫 번째 성공적인 사용 사이의 간격을 제거하며, 이것이 대부분의 도입 노력이 정체되는 지점입니다. |

23| 원을 확대하기 | 전용 채널이나 주간 스레드와 같은 가볍고 반복적인 습관을 소수 개 확립하여 여러분의 관심이 다른 곳에 있을 때도 모멘텀이 계속되도록 합니다. | 한 사람에게 의존하는 도입은 취약합니다. 공유된 습관으로 이루어진 도입은 자체적으로 계속 복합적으로 증가합니다. |23| 원을 확대하기 | 전용 채널이나 주간 스레드와 같은 가볍고 반복적인 습관을 소수 개 확립하여 여러분의 관심이 다른 곳에 있을 때도 모멘텀이 계속되도록 합니다. | 한 사람에게 의존하는 도입은 취약합니다. 공유된 습관으로 이루어진 도입은 자체적으로 계속 복합적으로 증가합니다. |


29자신과 리드에게 기대치를 설정합니다. 아래의 활동들은 정상적인 업무 주간 내에 맞도록 의도되었으며, 이 역할은 추가 지원 책임이 아니라 기존 작업에 대한 승수로 남아야 합니다.29자신과 리드에게 기대치를 설정합니다. 아래의 활동들은 정상적인 업무 주간 내에 맞도록 의도되었으며, 이 역할은 추가 지원 책임이 아니라 기존 작업에 대한 승수로 남아야 합니다.

30 30 

31| 활동 | 주당 시간 | 지침 |31| 활동 | 주당 시간 | 지침 |

32| --------------- | ------ | --------------------------------------------------------------------------- |32| - | - | - |

33| 성과 및 프롬프트 게시 | 약 15분 | 스크린샷과 한두 문장으로 이를 순간에 포착합니다. 공식적인 작성으로 바꾸지 않습니다. |33| 성과 및 프롬프트 게시 | 약 15분 | 스크린샷과 한두 문장으로 이를 순간에 포착합니다. 공식적인 작성으로 바꾸지 않습니다. |

34| 공유 채널에서 질문에 답변 | 약 20분 | 공개적으로 한 번 답변한 후, 질문이 반복될 때 그 답변으로 다시 링크합니다. |34| 공유 채널에서 질문에 답변 | 약 20분 | 공개적으로 한 번 답변한 후, 질문이 반복될 때 그 답변으로 다시 링크합니다. |

35| 주간 쇼앤텔 스레드 호스팅 | 약 5분 | 여러분이 시작 프롬프트를 게시합니다. 팀이 콘텐츠를 제공합니다. |35| 주간 쇼앤텔 스레드 호스팅 | 약 5분 | 여러분이 시작 프롬프트를 게시합니다. 팀이 콘텐츠를 제공합니다. |


61팀이 이미 읽는 곳에 게시합니다. 목표는 목적지를 만드는 것이 아니라 정상적인 작업의 경로에 예시를 배치하는 것입니다.61팀이 이미 읽는 곳에 게시합니다. 목표는 목적지를 만드는 것이 아니라 정상적인 작업의 경로에 예시를 배치하는 것입니다.

62 62 

63| 위치 | 가장 적합한 용도 | 권장 형식 |63| 위치 | 가장 적합한 용도 | 권장 형식 |

64| ----------------------------- | ---------------------------------- | ------------------------------------------------------- |64| - | - | - |

65| `#claude-code` 또는 일반 엔지니어링 채널 | 발견, 프롬프트, "오늘 배운 것" 순간 | 한두 문장의 맥락이 동반된 스크린샷 |65| `#claude-code` 또는 일반 엔지니어링 채널 | 발견, 프롬프트, "오늘 배운 것" 순간 | 한두 문장의 맥락이 동반된 스크린샷 |

66| 풀 리퀘스트 설명 | 검토자가 이미 읽고 있는 실제 코드에서 접근 방식을 시연 | "Claude와 나는 이 리팩토링을 했습니다. 접근 방식을 설명해드릴 수 있습니다."와 같은 한 줄 |66| 풀 리퀘스트 설명 | 검토자가 이미 읽고 있는 실제 코드에서 접근 방식을 시연 | "Claude와 나는 이 리팩토링을 했습니다. 접근 방식을 설명해드릴 수 있습니다."와 같은 한 줄 |

67| 스탠드업 또는 주간 서면 업데이트 | 리드 및 스킵 레벨 관리자와의 사용 정상화 | 하나의 구체적인 결과를 설명하는 한 문장 |67| 스탠드업 또는 주간 서면 업데이트 | 리드 및 스킵 레벨 관리자와의 사용 정상화 | 하나의 구체적인 결과를 설명하는 한 문장 |


122</h3>122</h3>

123 123 

124| 질문 | 제안된 응답 | 후속 리소스 |124| 질문 | 제안된 응답 | 후속 리소스 |

125| ------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |125| - | - | - |

126| "먼저 무엇을 시도해야 할까요?" | 실제이지만 포함된 작업, 이상적으로는 어렵기보다는 지루해서 미루고 있던 버그나 잡무를 권장합니다. | [Common workflows](/docs/ko/common-workflows) |126| "먼저 무엇을 시도해야 할까요?" | 실제이지만 포함된 작업, 이상적으로는 어렵기보다는 지루해서 미루고 있던 버그나 잡무를 권장합니다. | [Common workflows](/docs/ko/common-workflows) |

127| "코드를 어떻게 신뢰할 수 있나요?" | Plan mode를 소개합니다: `Shift+Tab`을 누르면 순환하고, Claude는 정확히 변경할 의도를 제안하며, 사용자가 승인할 때까지 아무것도 수정되지 않습니다. | [Permissions](/docs/ko/permissions) |127| "코드를 어떻게 신뢰할 수 있나요?" | Plan mode를 소개합니다: `Shift+Tab`을 누르면 순환하고, Claude는 정확히 변경할 의도를 제안하며, 사용자가 승인할 때까지 아무것도 수정되지 않습니다. | [Permissions](/docs/ko/permissions) |

128| "설정이 노력할 가치가 있나요?" | 설치는 대략 2분이 걸리고, 터미널에서 실행되며, IDE 확장이 필요하지 않습니다. `/init`을 한 번 실행하는 것으로 충분합니다. | [Quickstart](/docs/ko/quickstart) |128| "설정이 노력할 가치가 있나요?" | 설치는 대략 2분이 걸리고, 터미널에서 실행되며, IDE 확장이 필요하지 않습니다. `/init`을 한 번 실행하는 것으로 충분합니다. | [Quickstart](/docs/ko/quickstart) |


142</h3>142</h3>

143 143 

144| 패턴 | 실행 방법 | 필요한 노력 |144| 패턴 | 실행 방법 | 필요한 노력 |

145| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |145| - | - | - |

146| 전용 채널 | `#claude-code` 채널을 만들고 (또는 기존 채널에 반복 스레드), [Quickstart](/docs/ko/quickstart) 링크와 하나의 강력한 예시를 고정하고, 공개적으로 질문에 답변하여 각 답변이 보고 있는 모든 사람에게 이익이 되도록 합니다. | 설정에 약 5분, 그 후 주변적 |146| 전용 채널 | `#claude-code` 채널을 만들고 (또는 기존 채널에 반복 스레드), [Quickstart](/docs/ko/quickstart) 링크와 하나의 강력한 예시를 고정하고, 공개적으로 질문에 답변하여 각 답변이 보고 있는 모든 사람에게 이익이 되도록 합니다. | 설정에 약 5분, 그 후 주변적 |

147| 주간 쇼앤텔 스레드 | 매주 금요일에 "이번 주 Claude가 무엇을 도와줬나요?"를 게시합니다. 준비, 슬라이드, 또는 회의가 필요하지 않습니다. 스크린샷과 짧은 설명으로 충분합니다. | 주당 약 2분 |147| 주간 쇼앤텔 스레드 | 매주 금요일에 "이번 주 Claude가 무엇을 도와줬나요?"를 게시합니다. 준비, 슬라이드, 또는 회의가 필요하지 않습니다. 스크린샷과 짧은 설명으로 충분합니다. | 주당 약 2분 |

148| 사용자 정의 스킬 공유 | 가장 유용한 `.claude/skills/<name>/SKILL.md` 파일을 게시합니다. 예를 들어 커밋하기 전에 테스트와 린트를 실행하는 `/ship` 스킬, 한 줄 설명과 함께. 스킬은 순수 Markdown이므로 동료들이 즉시 채택할 수 있습니다. | 스킬당 약 5분 |148| 사용자 정의 스킬 공유 | 가장 유용한 `.claude/skills/<name>/SKILL.md` 파일을 게시합니다. 예를 들어 커밋하기 전에 테스트와 린트를 실행하는 `/ship` 스킬, 한 줄 설명과 함께. 스킬은 순수 Markdown이므로 동료들이 즉시 채택할 수 있습니다. | 스킬당 약 5분 |


195건강한 회의론은 예상됩니다. 엔지니어들은 자신의 코드를 건드리는 도구에 대해 조심해야 합니다. 가장 효과적인 응답은 일반적인 경우를 주장하는 것이 거의 아닙니다. 대신, 우려를 인정하고, 간단한 재구성을 제공하고, 그 사람의 자신의 코드에 대한 하나의 구체적인 시연을 제안합니다. 대부분의 우려는 하나의 성공적인 경험으로 해결됩니다.195건강한 회의론은 예상됩니다. 엔지니어들은 자신의 코드를 건드리는 도구에 대해 조심해야 합니다. 가장 효과적인 응답은 일반적인 경우를 주장하는 것이 거의 아닙니다. 대신, 우려를 인정하고, 간단한 재구성을 제공하고, 그 사람의 자신의 코드에 대한 하나의 구체적인 시연을 제안합니다. 대부분의 우려는 하나의 성공적인 경험으로 해결됩니다.

196 196 

197| 우려 | 제안된 응답 | 제공할 증거 |197| 우려 | 제안된 응답 | 제공할 증거 |

198| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |198| - | - | - |

199| "나는 이것 없이 더 빠릅니다." | 그것은 그 사람이 일상적으로 쓰는 코드에 대해 아마도 사실일 것입니다. 레거시 파일, 낯선 서비스, 또는 테스트 스캐폴딩과 같이 피하는 경향이 있는 작업에서 시도하도록 제안합니다. 여기서 가장 도움이 됩니다. | 지루한 작업 하나를 양쪽 방식으로 시간을 재고 비교합니다. |199| "나는 이것 없이 더 빠릅니다." | 그것은 그 사람이 일상적으로 쓰는 코드에 대해 아마도 사실일 것입니다. 레거시 파일, 낯선 서비스, 또는 테스트 스캐폴딩과 같이 피하는 경향이 있는 작업에서 시도하도록 제안합니다. 여기서 가장 도움이 됩니다. | 지루한 작업 하나를 양쪽 방식으로 시간을 재고 비교합니다. |

200| "나는 AI가 프로덕션 코드를 건드리는 것을 신뢰하지 않습니다." | 변경이 읽지 않은 상태로 랜드되어서는 안 된다는 데 동의합니다. Plan mode와 정상적인 diff 검토는 엔지니어가 검사하지 않은 것이 적용되지 않음을 의미하며, 이는 모든 풀 리퀘스트와 동일한 표준입니다. | 실제 파일에서 plan mode를 시연합니다. |200| "나는 AI가 프로덕션 코드를 건드리는 것을 신뢰하지 않습니다." | 변경이 읽지 않은 상태로 랜드되어서는 안 된다는 데 동의합니다. Plan mode와 정상적인 diff 검토는 엔지니어가 검사하지 않은 것이 적용되지 않음을 의미하며, 이는 모든 풀 리퀘스트와 동일한 표준입니다. | 실제 파일에서 plan mode를 시연합니다. |

201| "이것은 주니어 엔지니어를 약하게 만들 것입니다." | 잘 사용되면, 그것은 효과적인 설명자입니다. 주니어 엔지니어들이 변경을 요청하기 전에 Claude에게 파일과 그 호출 사이트를 설명하도록 요청하도록 권장합니다. | "파일을 설명하고 어디서 호출되는지 보여주세요"를 함께 실행합니다. |201| "이것은 주니어 엔지니어를 약하게 만들 것입니다." | 잘 사용되면, 그것은 효과적인 설명자입니다. 주니어 엔지니어들이 변경을 요청하기 전에 Claude에게 파일과 그 호출 사이트를 설명하도록 요청하도록 권장합니다. | "파일을 설명하고 어디서 호출되는지 보여주세요"를 함께 실행합니다. |


209아래의 기법들은 누군가를 첫 번째 시도에서 일일 사용으로 이동시키는 가장 안정적으로 작동하는 것들입니다. 채널에 이 표를 고정하거나 자신의 것으로 공유합니다.209아래의 기법들은 누군가를 첫 번째 시도에서 일일 사용으로 이동시키는 가장 안정적으로 작동하는 것들입니다. 채널에 이 표를 고정하거나 자신의 것으로 공유합니다.

210 210 

211| 기법 | 적용 방법 |211| 기법 | 적용 방법 |

212| ------------- | ----------------------------------------------------------------------------------------------------------- |212| - | - |

213| 올바른 맥락 제공 | `@file` 또는 `@directory/` 참조를 사용하거나, 오류 또는 로그 출력을 직접 붙여넣습니다. 관련 맥락을 제공하는 것이 정교한 프롬프팅보다 더 효과적입니다. |213| 올바른 맥락 제공 | `@file` 또는 `@directory/` 참조를 사용하거나, 오류 또는 로그 출력을 직접 붙여넣습니다. 관련 맥락을 제공하는 것이 정교한 프롬프팅보다 더 효과적입니다. |

214| 편집 전에 계획 검토 | `Shift+Tab`을 눌러 plan mode에 들어갑니다. Claude는 실행하기 전에 승인을 위해 의도된 변경을 설명합니다. |214| 편집 전에 계획 검토 | `Shift+Tab`을 눌러 plan mode에 들어갑니다. Claude는 실행하기 전에 승인을 위해 의도된 변경을 설명합니다. |

215| 저장소를 가르치기 | `/init`을 실행하여 `CLAUDE.md` 파일을 생성한 후, 규칙, 테스트 명령, 그리고 수정하면 안 되는 디렉토리를 추가합니다. [Memory](/docs/ko/memory)를 참조합니다. |215| 저장소를 가르치기 | `/init`을 실행하여 `CLAUDE.md` 파일을 생성한 후, 규칙, 테스트 명령, 그리고 수정하면 안 되는 디렉토리를 추가합니다. [Memory](/docs/ko/memory)를 참조합니다. |

channels.md +2 −2

Details

316모든 경우에 사용자가 `--channels`로 세션에 옵트인할 때까지 채널이 실행되지 않습니다.316모든 경우에 사용자가 `--channels`로 세션에 옵트인할 때까지 채널이 실행되지 않습니다.

317 317 

318| 설정 | 목적 | 구성되지 않은 경우 |318| 설정 | 목적 | 구성되지 않은 경우 |

319| :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------- |319| :- | :- | :- |

320| `channelsEnabled` | 마스터 스위치. 채널이 메시지를 전달하려면 `true`여야 합니다. 채널이 꺼져 있을 때 개발 플래그를 포함한 모든 채널을 차단합니다. [조직에 대해 채널 활성화](#enable-channels-for-your-organization)를 참조하세요. | claude.ai Team 및 Enterprise: 채널 차단됨. Console: 조직이 관리 설정을 배포하지 않는 한 채널 허용됨. 이 경우 이 키가 설정될 때까지 채널 차단됨 |320| `channelsEnabled` | 마스터 스위치. 채널이 메시지를 전달하려면 `true`여야 합니다. 채널이 꺼져 있을 때 개발 플래그를 포함한 모든 채널을 차단합니다. [조직에 대해 채널 활성화](#enable-channels-for-your-organization)를 참조하세요. | claude.ai Team 및 Enterprise: 채널 차단됨. Console: 조직이 관리 설정을 배포하지 않는 한 채널 허용됨. 이 경우 이 키가 설정될 때까지 채널 차단됨 |

321| `allowedChannelPlugins` | 채널이 활성화되면 등록할 수 있는 플러그인. 설정되면 Anthropic 유지 관리 목록을 대체합니다. | Anthropic 기본 목록 적용 |321| `allowedChannelPlugins` | 채널이 활성화되면 등록할 수 있는 플러그인. 설정되면 Anthropic 유지 관리 목록을 대체합니다. | Anthropic 기본 목록 적용 |

322 322 


372여러 Claude Code 기능이 터미널 외부의 시스템에 연결되며 각각 다른 종류의 작업에 적합합니다:372여러 Claude Code 기능이 터미널 외부의 시스템에 연결되며 각각 다른 종류의 작업에 적합합니다:

373 373 

374| 기능 | 수행하는 작업 | 좋은 점 |374| 기능 | 수행하는 작업 | 좋은 점 |

375| -------------------------------------------- | ----------------------------------------- | ------------------------------------- |375| - | - | - |

376| [웹의 Claude Code](/docs/ko/claude-code-on-the-web) | GitHub에서 복제된 새로운 클라우드 샌드박스에서 작업 실행 | 나중에 확인하는 자체 포함된 비동기 작업 위임 |376| [웹의 Claude Code](/docs/ko/claude-code-on-the-web) | GitHub에서 복제된 새로운 클라우드 샌드박스에서 작업 실행 | 나중에 확인하는 자체 포함된 비동기 작업 위임 |

377| [Slack의 Claude](/docs/ko/slack) | 채널 또는 스레드의 `@Claude` 언급에서 클라우드 세션 생성 | 팀 대화 컨텍스트에서 직접 작업 시작 |377| [Slack의 Claude](/docs/ko/slack) | 채널 또는 스레드의 `@Claude` 언급에서 클라우드 세션 생성 | 팀 대화 컨텍스트에서 직접 작업 시작 |

378| 표준 [MCP 서버](/docs/ko/mcp) | Claude는 작업 중에 쿼리합니다. 세션으로 푸시되는 것은 없습니다. | Claude에게 시스템을 읽거나 쿼리하기 위한 온디맨드 액세스 제공 |378| 표준 [MCP 서버](/docs/ko/mcp) | Claude는 작업 중에 쿼리합니다. 세션으로 푸시되는 것은 없습니다. | Claude에게 시스템을 읽거나 쿼리하기 위한 온디맨드 액세스 제공 |

Details

204채널은 [`Server`](https://modelcontextprotocol.io/docs/learn/server-concepts) 생성자에서 이러한 옵션을 설정합니다. `instructions` 및 `capabilities.tools` 필드는 [표준 MCP](https://modelcontextprotocol.io/docs/learn/server-concepts)입니다. `capabilities.experimental['claude/channel']` 및 `capabilities.experimental['claude/channel/permission']`은 채널 특정 추가 사항입니다:204채널은 [`Server`](https://modelcontextprotocol.io/docs/learn/server-concepts) 생성자에서 이러한 옵션을 설정합니다. `instructions` 및 `capabilities.tools` 필드는 [표준 MCP](https://modelcontextprotocol.io/docs/learn/server-concepts)입니다. `capabilities.experimental['claude/channel']` 및 `capabilities.experimental['claude/channel/permission']`은 채널 특정 추가 사항입니다:

205 205 

206| 필드 | 유형 | 설명 |206| 필드 | 유형 | 설명 |

207| :------------------------------------------------------- | :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |207| :- | :- | :- |

208| `capabilities.experimental['claude/channel']` | `object` | 필수. 항상 `{}`. 존재는 알림 리스너를 등록합니다. |208| `capabilities.experimental['claude/channel']` | `object` | 필수. 항상 `{}`. 존재는 알림 리스너를 등록합니다. |

209| `capabilities.experimental['claude/channel/permission']` | `object` 또는 `false` | 선택 사항. 이 채널이 권한 릴레이 요청을 수신할 수 있음을 선언하려면 `{}`로 설정합니다. 선언되면 Claude Code는 도구 승인 프롬프트를 채널로 전달하므로 원격으로 승인하거나 거부할 수 있습니다. 옵트아웃하려면 키를 생략하거나 `false`로 설정합니다. v2.1.234 이전에는 Claude Code가 `false`를 선언된 것으로 취급했습니다. [권한 프롬프트 릴레이](#relay-permission-prompts)를 참조하세요. |209| `capabilities.experimental['claude/channel/permission']` | `object` 또는 `false` | 선택 사항. 이 채널이 권한 릴레이 요청을 수신할 수 있음을 선언하려면 `{}`로 설정합니다. 선언되면 Claude Code는 도구 승인 프롬프트를 채널로 전달하므로 원격으로 승인하거나 거부할 수 있습니다. 옵트아웃하려면 키를 생략하거나 `false`로 설정합니다. v2.1.234 이전에는 Claude Code가 `false`를 선언된 것으로 취급했습니다. [권한 프롬프트 릴레이](#relay-permission-prompts)를 참조하세요. |

210| `capabilities.tools` | `object` | 양방향만. 항상 `{}`. 표준 MCP 도구 기능. [회신 도구 노출](#expose-a-reply-tool)을 참조하세요. |210| `capabilities.tools` | `object` | 양방향만. 항상 `{}`. 표준 MCP 도구 기능. [회신 도구 노출](#expose-a-reply-tool)을 참조하세요. |


235서버는 두 개의 매개변수로 `notifications/claude/channel`을 내보냅니다:235서버는 두 개의 매개변수로 `notifications/claude/channel`을 내보냅니다:

236 236 

237| 필드 | 유형 | 설명 |237| 필드 | 유형 | 설명 |

238| :-------- | :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------- |238| :- | :- | :- |

239| `content` | `string` | 이벤트 본문. `<channel>` 태그의 본문으로 전달됩니다. |239| `content` | `string` | 이벤트 본문. `<channel>` 태그의 본문으로 전달됩니다. |

240| `meta` | `Record<string, string>` | 선택 사항. 각 항목은 채팅 ID, 발신자 이름 또는 알림 심각도와 같은 라우팅 컨텍스트를 위해 `<channel>` 태그의 속성이 됩니다. 키는 식별자여야 합니다: 문자, 숫자 및 밑줄만. 하이픈 또는 다른 문자를 포함하는 키는 자동으로 삭제됩니다. |240| `meta` | `Record<string, string>` | 선택 사항. 각 항목은 채팅 ID, 발신자 이름 또는 알림 심각도와 같은 라우팅 컨텍스트를 위해 `<channel>` 태그의 속성이 됩니다. 키는 식별자여야 합니다: 문자, 숫자 및 밑줄만. 하이픈 또는 다른 문자를 포함하는 키는 자동으로 삭제됩니다. |

241 241 


485Claude Code의 아웃바운드 알림은 `notifications/claude/channel/permission_request`입니다. [채널 알림](#notification-format)과 같이 전송은 표준 MCP이지만 메서드 및 스키마는 Claude Code 확장입니다. `params` 객체에는 서버가 아웃바운드 프롬프트로 포맷하는 네 개의 문자열 필드가 있습니다:485Claude Code의 아웃바운드 알림은 `notifications/claude/channel/permission_request`입니다. [채널 알림](#notification-format)과 같이 전송은 표준 MCP이지만 메서드 및 스키마는 Claude Code 확장입니다. `params` 객체에는 서버가 아웃바운드 프롬프트로 포맷하는 네 개의 문자열 필드가 있습니다:

486 486 

487| 필드 | 설명 |487| 필드 | 설명 |

488| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |488| - | - |

489| `request_id` | `a`-`z`에서 그려진 5개의 소문자이며 `l`을 제외하므로 휴대폰에 입력할 때 `1` 또는 `I`로 읽히지 않습니다. 아웃바운드 프롬프트에 포함하여 회신에서 에코할 수 있도록 합니다. Claude Code는 발급한 ID를 가진 판정만 수락합니다. 로컬 터미널 대화는 이 ID를 표시하지 않으므로 아웃바운드 핸들러가 이를 학습하는 유일한 방법입니다. |489| `request_id` | `a`-`z`에서 그려진 5개의 소문자이며 `l`을 제외하므로 휴대폰에 입력할 때 `1` 또는 `I`로 읽히지 않습니다. 아웃바운드 프롬프트에 포함하여 회신에서 에코할 수 있도록 합니다. Claude Code는 발급한 ID를 가진 판정만 수락합니다. 로컬 터미널 대화는 이 ID를 표시하지 않으므로 아웃바운드 핸들러가 이를 학습하는 유일한 방법입니다. |

490| `tool_name` | Claude가 사용하려는 도구의 이름(예: `Bash` 또는 `Write`). |490| `tool_name` | Claude가 사용하려는 도구의 이름(예: `Bash` 또는 `Write`). |

491| `description` | 이 특정 도구 호출이 수행하는 작업의 인간이 읽을 수 있는 요약이며 명령 자체가 아닙니다. Bash 호출의 경우 이는 Claude의 명령 설명이거나 모델이 설명을 제공하지 않으면 상수 `Run shell command`이며 명령 세부 정보를 포함하지 않습니다. 공간이 있을 때 `input_preview`를 렌더링합니다. |491| `description` | 이 특정 도구 호출이 수행하는 작업의 인간이 읽을 수 있는 요약이며 명령 자체가 아닙니다. Bash 호출의 경우 이는 Claude의 명령 설명이거나 모델이 설명을 제공하지 않으면 상수 `Run shell command`이며 명령 세부 정보를 포함하지 않습니다. 공간이 있을 때 `input_preview`를 렌더링합니다. |

chrome.md +1 −1

Details

269가장 자주 발생하는 오류와 해결 방법은 다음과 같습니다.269가장 자주 발생하는 오류와 해결 방법은 다음과 같습니다.

270 270 

271| 오류 | 원인 | 해결 방법 |271| 오류 | 원인 | 해결 방법 |

272| ----------------------- | ------------------------------- | ------------------------------------------------------- |272| - | - | - |

273| "브라우저 확장 프로그램이 연결되지 않음" | 네이티브 메시징 호스트가 확장 프로그램에 도달할 수 없음 | Chrome과 Claude Code를 다시 시작한 후 `/chrome`을 실행하여 다시 연결합니다. |273| "브라우저 확장 프로그램이 연결되지 않음" | 네이티브 메시징 호스트가 확장 프로그램에 도달할 수 없음 | Chrome과 Claude Code를 다시 시작한 후 `/chrome`을 실행하여 다시 연결합니다. |

274| "확장 프로그램이 감지되지 않음" | Chrome 확장 프로그램이 설치되지 않았거나 비활성화됨 | `chrome://extensions`에서 확장 프로그램을 설치하거나 활성화합니다. |274| "확장 프로그램이 감지되지 않음" | Chrome 확장 프로그램이 설치되지 않았거나 비활성화됨 | `chrome://extensions`에서 확장 프로그램을 설치하거나 활성화합니다. |

275| "사용 가능한 탭 없음" | Claude가 탭이 준비되기 전에 작동하려고 시도함 | Claude에게 새 탭을 만들고 다시 시도하도록 요청합니다. |275| "사용 가능한 탭 없음" | Claude가 탭이 준비되기 전에 작동하려고 시도함 | Claude에게 새 탭을 만들고 다시 시도하도록 요청합니다. |

Details

72시작하기 전에 다음을 준비하세요:72시작하기 전에 다음을 준비하세요:

73 73 

74| 필요한 것 | 세부사항 |74| 필요한 것 | 세부사항 |

75| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |75| - | - |

76| Claude Code v2.1.195 이상 | `claude gateway` 서브명령 및 게이트웨이 로그인 흐름은 v2.1.195에서 제공됩니다. 이전 공개 빌드는 이를 포함하지 않습니다. 게이트웨이 서버를 실행하는 머신과 각 개발자의 머신 모두 v2.1.195 이상이어야 합니다; `claude update`를 실행하여 최신 릴리스를 받으세요. [Claude Platform on AWS 업스트림](/docs/ko/claude-apps-gateway-config#claude-platform-on-aws)은 게이트웨이 서버에서 Claude Code v2.1.198 이상이 필요합니다. |76| Claude Code v2.1.195 이상 | `claude gateway` 서브명령 및 게이트웨이 로그인 흐름은 v2.1.195에서 제공됩니다. 이전 공개 빌드는 이를 포함하지 않습니다. 게이트웨이 서버를 실행하는 머신과 각 개발자의 머신 모두 v2.1.195 이상이어야 합니다; `claude update`를 실행하여 최신 릴리스를 받으세요. [Claude Platform on AWS 업스트림](/docs/ko/claude-apps-gateway-config#claude-platform-on-aws)은 게이트웨이 서버에서 Claude Code v2.1.198 이상이 필요합니다. |

77| OpenID Connect (OIDC) ID 제공자 | Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex 또는 PingFederate와 같은 다른 OIDC 호환 IdP. 게이트웨이는 표준 OIDC 검색 및 인증 코드 흐름을 이에 대해 실행합니다. SAML 및 LDAP는 지원되지 않습니다. |77| OpenID Connect (OIDC) ID 제공자 | Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex 또는 PingFederate와 같은 다른 OIDC 호환 IdP. 게이트웨이는 표준 OIDC 검색 및 인증 코드 흐름을 이에 대해 실행합니다. SAML 및 LDAP는 지원되지 않습니다. |

78| PostgreSQL 14 이상 | 브라우저 콜백이 쓰고 폴링 CLI가 읽는 장치 로그인 흐름, 그리고 속도 제한 카운터를 지원합니다. 가장 작은 계층을 포함한 모든 관리 Postgres가 작동합니다. 지출 제한이 구성되지 않으면 게이트웨이는 몇 KB의 단기 인증 상태를 저장합니다; [지출 제한](/docs/ko/claude-apps-gateway-spend-limits)을 사용하면 백업해야 하는 지속적인 지출, 감사 및 ID 테이블도 보유합니다. `?sslmode=require`를 통한 TLS가 권장됩니다. |78| PostgreSQL 14 이상 | 브라우저 콜백이 쓰고 폴링 CLI가 읽는 장치 로그인 흐름, 그리고 속도 제한 카운터를 지원합니다. 가장 작은 계층을 포함한 모든 관리 Postgres가 작동합니다. 지출 제한이 구성되지 않으면 게이트웨이는 몇 KB의 단기 인증 상태를 저장합니다; [지출 제한](/docs/ko/claude-apps-gateway-spend-limits)을 사용하면 백업해야 하는 지속적인 지출, 감사 및 ID 테이블도 보유합니다. `?sslmode=require`를 통한 TLS가 권장됩니다. |


512게이트웨이는 CLI가 모든 업스트림으로 보내는 [`anthropic-beta`](https://platform.claude.com/docs/ko/api/beta-headers) 값을 전달하므로, 운영자는 베타 허용 목록을 유지하지 않습니다. Amazon Bedrock의 경우 헤더를 무시하므로, 게이트웨이는 값을 요청 본문의 `anthropic_beta` 필드로 이동합니다; 다른 업스트림은 보낸 대로 헤더를 받습니다.512게이트웨이는 CLI가 모든 업스트림으로 보내는 [`anthropic-beta`](https://platform.claude.com/docs/ko/api/beta-headers) 값을 전달하므로, 운영자는 베타 허용 목록을 유지하지 않습니다. Amazon Bedrock의 경우 헤더를 무시하므로, 게이트웨이는 값을 요청 본문의 `anthropic_beta` 필드로 이동합니다; 다른 업스트림은 보낸 대로 헤더를 받습니다.

513 513 

514| 기능 | 상태 | 참고 |514| 기능 | 상태 | 참고 |

515| ---------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |515| - | - | - |

516| 추론 전달 (Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform, Microsoft Foundry, Anthropic) | 사용 가능 | 업스트림별 모델 변환 및 장애 조치 포함. Amazon Bedrock 업스트림은 `bedrock-runtime` 엔드포인트 및 AWS 기본 자격증명 체인을 사용합니다; Amazon Bedrock [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)는 지원되는 업스트림이 아닙니다. [Claude Platform on AWS 업스트림](/docs/ko/claude-apps-gateway-config#claude-platform-on-aws)은 게이트웨이 서버에서 Claude Code v2.1.198 이상이 필요합니다. |516| 추론 전달 (Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform, Microsoft Foundry, Anthropic) | 사용 가능 | 업스트림별 모델 변환 및 장애 조치 포함. Amazon Bedrock 업스트림은 `bedrock-runtime` 엔드포인트 및 AWS 기본 자격증명 체인을 사용합니다; Amazon Bedrock [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)는 지원되는 업스트림이 아닙니다. [Claude Platform on AWS 업스트림](/docs/ko/claude-apps-gateway-config#claude-platform-on-aws)은 게이트웨이 서버에서 Claude Code v2.1.198 이상이 필요합니다. |

517| IdP 그룹별 모델 액세스 및 관리 설정 | 사용 가능 | 모델 액세스는 서버 측에서 적용됩니다; 관리 설정은 IdP 그룹별로 전달되고 CLI에서 [관리 설정 계층](/docs/ko/settings#settings-precedence)에서 적용됩니다. |517| IdP 그룹별 모델 액세스 및 관리 설정 | 사용 가능 | 모델 액세스는 서버 측에서 적용됩니다; 관리 설정은 IdP 그룹별로 전달되고 CLI에서 [관리 설정 계층](/docs/ko/settings#settings-precedence)에서 적용됩니다. |

518| Claude Desktop | 옵트인 가능 | 게이트웨이는 정책이 [`desktop` 키로 옵트인](/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)하면 `/user/bootstrap`에서 Claude Desktop의 구성을 제공하며, Claude Desktop은 Cowork 및 Code 탭에서, 그리고 Chat 탭에서 활성화할 때 게이트웨이를 통해 모델 요청을 보냅니다. Chat 탭을 켜려면 [Claude Desktop 연결](#connect-claude-desktop)을 참조하세요. 게이트웨이 서버에서 Claude Code v2.1.203 이상이 필요합니다. |518| Claude Desktop | 옵트인 가능 | 게이트웨이는 정책이 [`desktop` 키로 옵트인](/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)하면 `/user/bootstrap`에서 Claude Desktop의 구성을 제공하며, Claude Desktop은 Cowork 및 Code 탭에서, 그리고 Chat 탭에서 활성화할 때 게이트웨이를 통해 모델 요청을 보냅니다. Chat 탭을 켜려면 [Claude Desktop 연결](#connect-claude-desktop)을 참조하세요. 게이트웨이 서버에서 Claude Code v2.1.203 이상이 필요합니다. |

Details

46`client_secret`, `jwt_secret` 또는 `postgres_url`과 같은 비밀을 `gateway.yaml`에 직접 작성하지 마세요. 아래 형식 중 하나로 참조하면 게이트웨이가 부팅 시 환경 변수 또는 파일에서 값을 확인합니다:46`client_secret`, `jwt_secret` 또는 `postgres_url`과 같은 비밀을 `gateway.yaml`에 직접 작성하지 마세요. 아래 형식 중 하나로 참조하면 게이트웨이가 부팅 시 환경 변수 또는 파일에서 값을 확인합니다:

47 47 

48| 형식 | 확인 대상 | 사용 대상 |48| 형식 | 확인 대상 | 사용 대상 |

49| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |49| - | - | - |

50| `${VAR}` | 환경 변수 `VAR`. 정의되지 않으면 부팅 실패. | 컨테이너 환경 변수, 환경 주입을 통한 AWS Secrets Manager |50| `${VAR}` | 환경 변수 `VAR`. 정의되지 않으면 부팅 실패. | 컨테이너 환경 변수, 환경 주입을 통한 AWS Secrets Manager |

51| `${file:/path}` | 해당 절대 경로의 파일 내용, 정리됨. 참조는 필드의 전체 값이어야 합니다: `${VAR}`와 달리 더 긴 문자열 내에서 확장되지 않으므로, 데이터베이스 암호의 경우 `postgres_url`에 포함시키지 말고 `store.password`를 설정하세요. | Kubernetes Secret 볼륨 마운트, Vault Agent, SOPS |51| `${file:/path}` | 해당 절대 경로의 파일 내용, 정리됨. 참조는 필드의 전체 값이어야 합니다: `${VAR}`와 달리 더 긴 문자열 내에서 확장되지 않으므로, 데이터베이스 암호의 경우 `postgres_url`에 포함시키지 말고 `store.password`를 설정하세요. | Kubernetes Secret 볼륨 마운트, Vault Agent, SOPS |

52 52 


61`listen` 블록은 게이트웨이가 서비스하는 위치를 제어합니다: 바인드 주소와 포트, 외부에서 보이는 원본(origin), 그리고 선택적 TLS 종료입니다.61`listen` 블록은 게이트웨이가 서비스하는 위치를 제어합니다: 바인드 주소와 포트, 외부에서 보이는 원본(origin), 그리고 선택적 TLS 종료입니다.

62 62 

63| 필드 | 필수 | 설명 |63| 필드 | 필수 | 설명 |

64| ---------------------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |64| - | - | - |

65| `host` | 아니오 | 바인드 주소입니다. 기본값 `0.0.0.0`. |65| `host` | 아니오 | 바인드 주소입니다. 기본값 `0.0.0.0`. |

66| `port` | 아니오 | 바인드 포트입니다. 기본값 `8080`. |66| `port` | 아니오 | 바인드 포트입니다. 기본값 `8080`. |

67| `public_url` | `host`가 루프백이 아닌 경우 | 외부에서 보이는 `https://` 원본으로, IdP `redirect_uri`와 검색 메타데이터를 구축하는 데 사용됩니다. `host`가 루프백 주소가 아닐 때마다 필수이며, TLS가 ALB, Ingress, Cloud Run 같은 프록시에서 종료되든 게이트웨이 자체에서 `tls`를 통해 종료되든 상관없습니다. 게이트웨이는 `X-Forwarded-*` 헤더에서 자신의 원본을 파생시키지 않기 때문입니다. 이들은 클라이언트가 스푸핑할 수 있습니다. 이것 없이는 부팅이 실패합니다. 아래의 `trusted_proxies`는 클라이언트 IP 해석만 제어합니다. 또한 [텔레메트리](#telemetry)를 활성화하려면 필수입니다. 게이트웨이가 클라이언트에 푸시하는 OTLP 엔드포인트를 이 URL에서 구축하기 때문입니다. |67| `public_url` | `host`가 루프백이 아닌 경우 | 외부에서 보이는 `https://` 원본으로, IdP `redirect_uri`와 검색 메타데이터를 구축하는 데 사용됩니다. `host`가 루프백 주소가 아닐 때마다 필수이며, TLS가 ALB, Ingress, Cloud Run 같은 프록시에서 종료되든 게이트웨이 자체에서 `tls`를 통해 종료되든 상관없습니다. 게이트웨이는 `X-Forwarded-*` 헤더에서 자신의 원본을 파생시키지 않기 때문입니다. 이들은 클라이언트가 스푸핑할 수 있습니다. 이것 없이는 부팅이 실패합니다. 아래의 `trusted_proxies`는 클라이언트 IP 해석만 제어합니다. 또한 [텔레메트리](#telemetry)를 활성화하려면 필수입니다. 게이트웨이가 클라이언트에 푸시하는 OTLP 엔드포인트를 이 URL에서 구축하기 때문입니다. |


77OpenID Connect(OIDC)는 게이트웨이가 ID 공급자와 함께 사용하는 SSO 프로토콜입니다. IdP 측에서 등록할 사항은 [ID 공급자 설정](/docs/ko/claude-apps-gateway-deploy#identity-provider-setup)을 참조하세요.77OpenID Connect(OIDC)는 게이트웨이가 ID 공급자와 함께 사용하는 SSO 프로토콜입니다. IdP 측에서 등록할 사항은 [ID 공급자 설정](/docs/ko/claude-apps-gateway-deploy#identity-provider-setup)을 참조하세요.

78 78 

79| 필드 | 필수 | 설명 |79| 필드 | 필수 | 설명 |

80| ------------------------------- | --- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |80| - | - | - |

81| `issuer` | 예 | OIDC 검색 기본입니다. `/.well-known/openid-configuration`에서 검색을 제공해야 합니다. 프로덕션에서는 HTTPS를 사용하세요. 게이트웨이는 `http://` 발급자를 수락합니다. `http://localhost:8081` 같은 루프백 발급자는 [SSRF 가드](/docs/ko/claude-apps-gateway-deploy#threat-model-summary)에 의해 거부됩니다. `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`이 게이트웨이의 환경에 설정되어 있지 않은 경우입니다. |81| `issuer` | 예 | OIDC 검색 기본입니다. `/.well-known/openid-configuration`에서 검색을 제공해야 합니다. 프로덕션에서는 HTTPS를 사용하세요. 게이트웨이는 `http://` 발급자를 수락합니다. `http://localhost:8081` 같은 루프백 발급자는 [SSRF 가드](/docs/ko/claude-apps-gateway-deploy#threat-model-summary)에 의해 거부됩니다. `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`이 게이트웨이의 환경에 설정되어 있지 않은 경우입니다. |

82| `client_id` / `client_secret` | 예 | OAuth 클라이언트 등록에서 가져옵니다. |82| `client_id` / `client_secret` | 예 | OAuth 클라이언트 등록에서 가져옵니다. |

83| `allowed_email_domains` | 아니오 | `email` 클레임이 이 도메인 중 하나에 없는 id\_token을 거부합니다(대소문자 구분 안 함). 다중 테넌트 IdP 오구성에 대한 심층 방어입니다. 이 설정과 무관하게, `email_verified` 클레임이 명시적으로 `false`인 id\_token은 항상 거부됩니다. |83| `allowed_email_domains` | 아니오 | `email` 클레임이 이 도메인 중 하나에 없는 id\_token을 거부합니다(대소문자 구분 안 함). 다중 테넌트 IdP 오구성에 대한 심층 방어입니다. 이 설정과 무관하게, `email_verified` 클레임이 명시적으로 `false`인 id\_token은 항상 거부됩니다. |


127아래의 각 행은 `HTTPS_PROXY`가 설정된 게이트웨이의 아웃바운드 요청 클래스 하나이며, 기본적으로 그리고 프록시 전용 이그레스가 활성화되는 동안입니다.127아래의 각 행은 `HTTPS_PROXY`가 설정된 게이트웨이의 아웃바운드 요청 클래스 하나이며, 기본적으로 그리고 프록시 전용 이그레스가 활성화되는 동안입니다.

128 128 

129| 아웃바운드 요청 | 기본값 | 프록시 전용 이그레스 활성화 |129| 아웃바운드 요청 | 기본값 | 프록시 전용 이그레스 활성화 |

130| ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |130| - | - | - |

131| `provider: anthropic` 업스트림, Workload Identity Federation 토큰 교환, `telemetry.forward_to` 내보내기 | 로컬에서 해석되고 확인된 후 확인된 IP 주소로 프록시를 통해 `CONNECT`. `NO_PROXY`에 나열된 텔레메트리 수집기는 대신 직접 도달합니다. | 프록시에 전달된 호스트명 |131| `provider: anthropic` 업스트림, Workload Identity Federation 토큰 교환, `telemetry.forward_to` 내보내기 | 로컬에서 해석되고 확인된 후 확인된 IP 주소로 프록시를 통해 `CONNECT`. `NO_PROXY`에 나열된 텔레메트리 수집기는 대신 직접 도달합니다. | 프록시에 전달된 호스트명 |

132| IdP 검색, JWKS, 토큰, 및 userinfo | [`oidc.use_proxy: true`](#idp-requests-through-a-forward-proxy)가 아닌 한 직접, 그러면 확인된 IP 주소로 `CONNECT` | 호스트명이 프록시에 전달됩니다. `oidc.use_proxy: false`가 내부 IdP를 직접 유지하지 않는 한 |132| IdP 검색, JWKS, 토큰, 및 userinfo | [`oidc.use_proxy: true`](#idp-requests-through-a-forward-proxy)가 아닌 한 직접, 그러면 확인된 IP 주소로 `CONNECT` | 호스트명이 프록시에 전달됩니다. `oidc.use_proxy: false`가 내부 IdP를 직접 유지하지 않는 한 |

133| Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform, 및 Microsoft Foundry 업스트림; Google 그룹 조회 | 호스트명이 프록시에 전달됩니다. | 변경되지 않음 |133| Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform, 및 Microsoft Foundry 업스트림; Google 그룹 조회 | 호스트명이 프록시에 전달됩니다. | 변경되지 않음 |


153`session` 블록은 게이트웨이가 로그인 후 발행하는 베어러 토큰을 형성합니다: 이들에 서명하는 비밀과 얼마나 오래 살아있는지입니다.153`session` 블록은 게이트웨이가 로그인 후 발행하는 베어러 토큰을 형성합니다: 이들에 서명하는 비밀과 얼마나 오래 살아있는지입니다.

154 154 

155| 필드 | 필수 | 설명 |155| 필드 | 필수 | 설명 |

156| ------------ | --- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |156| - | - | - |

157| `jwt_secret` | 예 | 최소 32바이트의 엔트로피입니다. 예를 들어 `openssl rand -base64 32`에서 가져옵니다. 게이트웨이의 HS256 베어러 토큰에 서명합니다. 단일 문자열 또는 회전을 위한 배열을 수락합니다: 인덱스 0이 서명하고 모든 항목이 검증합니다. 회전하려면 새 비밀을 앞에 추가하고, `ttl_hours`를 기다린 후, 이전 항목을 제거합니다. |157| `jwt_secret` | 예 | 최소 32바이트의 엔트로피입니다. 예를 들어 `openssl rand -base64 32`에서 가져옵니다. 게이트웨이의 HS256 베어러 토큰에 서명합니다. 단일 문자열 또는 회전을 위한 배열을 수락합니다: 인덱스 0이 서명하고 모든 항목이 검증합니다. 회전하려면 새 비밀을 앞에 추가하고, `ttl_hours`를 기다린 후, 이전 항목을 제거합니다. |

158| `ttl_hours` | 아니오 | 게이트웨이 베어러 토큰 수명입니다. 기본값 `1`. CLI는 IdP가 새로 고침 토큰을 발행할 때 만료 전에 자동으로 새로 고칩니다. 더 짧은 수명은 더 빠르게 프로비저닝을 해제합니다. 더 긴 수명은 더 적은 IdP 왕복을 만듭니다. IdP가 `offline_access`를 사용할 수 없기 때문에 새로 고침 토큰을 발행할 수 없으면, 자동 새로 고침이 없으므로 개발자가 매시간 브라우저 로그인으로 돌아가는 것을 피하기 위해 이것을 `8` 또는 `12`로 올립니다. |158| `ttl_hours` | 아니오 | 게이트웨이 베어러 토큰 수명입니다. 기본값 `1`. CLI는 IdP가 새로 고침 토큰을 발행할 때 만료 전에 자동으로 새로 고칩니다. 더 짧은 수명은 더 빠르게 프로비저닝을 해제합니다. 더 긴 수명은 더 적은 IdP 왕복을 만듭니다. IdP가 `offline_access`를 사용할 수 없기 때문에 새로 고침 토큰을 발행할 수 없으면, 자동 새로 고침이 없으므로 개발자가 매시간 브라우저 로그인으로 돌아가는 것을 피하기 위해 이것을 `8` 또는 `12`로 올립니다. |

159 159 


164`store` 블록은 게이트웨이를 PostgreSQL 데이터베이스로 지정합니다. 이는 장치 부여 및 속도 제한 카운터를 보유합니다.164`store` 블록은 게이트웨이를 PostgreSQL 데이터베이스로 지정합니다. 이는 장치 부여 및 속도 제한 카운터를 보유합니다.

165 165 

166| 필드 | 필수 | 설명 |166| 필드 | 필수 | 설명 |

167| ------------------------- | --- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |167| - | - | - |

168| `postgres_url` | 예 | `postgres://` 또는 `postgresql://` URL입니다. 필수: 장치 부여 랑데부(브라우저 콜백이 작성하고 폴링 CLI가 읽는)는 교차 복제본 상태가 필요합니다. 게이트웨이는 부팅 및 업그레이드 시 자체 스키마 마이그레이션을 실행하므로, 역할은 대상 스키마에서 테이블을 생성하고 변경할 권리가 필요합니다. [업그레이드](/docs/ko/claude-apps-gateway-deploy#upgrades) 및 [Postgres](/docs/ko/claude-apps-gateway-deploy#postgres)를 참조하세요. |168| `postgres_url` | 예 | `postgres://` 또는 `postgresql://` URL입니다. 필수: 장치 부여 랑데부(브라우저 콜백이 작성하고 폴링 CLI가 읽는)는 교차 복제본 상태가 필요합니다. 게이트웨이는 부팅 및 업그레이드 시 자체 스키마 마이그레이션을 실행하므로, 역할은 대상 스키마에서 테이블을 생성하고 변경할 권리가 필요합니다. [업그레이드](/docs/ko/claude-apps-gateway-deploy#upgrades) 및 [Postgres](/docs/ko/claude-apps-gateway-deploy#postgres)를 참조하세요. |

169| `username` | 아니오 | `postgres_url`의 사용자를 재정의합니다. |169| `username` | 아니오 | `postgres_url`의 사용자를 재정의합니다. |

170| `password` | 아니오 | 데이터베이스 자격증명입니다. 자격증명이 URL에서 벗어나도록 `postgres_url`이 아닌 여기에 설정합니다. 모든 문자를 수락하고 URL 자격증명보다 우선합니다. |170| `password` | 아니오 | 데이터베이스 자격증명입니다. 자격증명이 URL에서 벗어나도록 `postgres_url`이 아닌 여기에 설정합니다. 모든 문자를 수락하고 URL 자격증명보다 우선합니다. |


266게이트웨이는 해당 업스트림으로 전달하는 모든 요청에 이 헤더들을 추가합니다.266게이트웨이는 해당 업스트림으로 전달하는 모든 요청에 이 헤더들을 추가합니다.

267 267 

268| 헤더 | 값 |268| 헤더 | 값 |

269| ----------------------------- | ------------------------------- |269| - | - |

270| `x-litellm-end-user-id` | IdP가 제공한 경우 개발자의 이메일입니다. |270| `x-litellm-end-user-id` | IdP가 제공한 경우 개발자의 이메일입니다. |

271| `x-claude-gateway-user-id` | 토큰의 `sub` 클레임에서 개발자의 IdP 주체입니다. |271| `x-claude-gateway-user-id` | 토큰의 `sub` 클레임에서 개발자의 IdP 주체입니다. |

272| `x-claude-gateway-user-email` | IdP가 제공한 경우 개발자의 이메일입니다. |272| `x-claude-gateway-user-email` | IdP가 제공한 경우 개발자의 이메일입니다. |


305명시적 자격증명은 완전해야 합니다: `aws_access_key_id`와 `aws_secret_access_key`가 함께 설정되지 않거나 `aws_session_token`이 이들 없이 설정되면 게이트웨이는 부팅 시 실패합니다. v2.1.207 이전에는 부분 `auth:` 블록이 검증을 통과했습니다.305명시적 자격증명은 완전해야 합니다: `aws_access_key_id`와 `aws_secret_access_key`가 함께 설정되지 않거나 `aws_session_token`이 이들 없이 설정되면 게이트웨이는 부팅 시 실패합니다. v2.1.207 이전에는 부분 `auth:` 블록이 검증을 통과했습니다.

306 306 

307| 설정 | 방법 |307| 설정 | 방법 |

308| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |308| - | - |

309| IAM 권한 | 게이트웨이의 주체에 추론 프로필 ARN과 기본 기초 모델 ARN 모두에 `bedrock:InvokeModel` 및 `bedrock:InvokeModelWithResponseStream`을 부여합니다. US 지역의 기본 제공 카탈로그의 경우: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` 및 `arn:aws:bedrock:*::foundation-model/anthropic.*`. 또한 기초 모델 ARN에 `bedrock:CountTokens`를 부여합니다. 게이트웨이는 이를 사용하여 클라이언트가 포기한 요청의 입력 토큰을 계산하므로, [지출 제한](#admin)이 정확하게 유지됩니다. 이것 없이 게이트웨이는 해당 계산을 위해 일회용 Bedrock 요청으로 폴백합니다. |309| IAM 권한 | 게이트웨이의 주체에 추론 프로필 ARN과 기본 기초 모델 ARN 모두에 `bedrock:InvokeModel` 및 `bedrock:InvokeModelWithResponseStream`을 부여합니다. US 지역의 기본 제공 카탈로그의 경우: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` 및 `arn:aws:bedrock:*::foundation-model/anthropic.*`. 또한 기초 모델 ARN에 `bedrock:CountTokens`를 부여합니다. 게이트웨이는 이를 사용하여 클라이언트가 포기한 요청의 입력 토큰을 계산하므로, [지출 제한](#admin)이 정확하게 유지됩니다. 이것 없이 게이트웨이는 해당 계산을 위해 일회용 Bedrock 요청으로 폴백합니다. |

310| 모델 액세스 | Amazon Bedrock은 상용 지역에서 기본적으로 모델 액세스를 활성화합니다. 남은 계정 수준 게이트는 Anthropic의 일회용 사용 사례 양식입니다: AWS 계정의 누구도 제출하지 않았으면, Amazon Bedrock 콘솔을 열고, 모델 카탈로그에서 Anthropic 모델을 선택하고, 양식을 완료합니다. AWS Organizations 양식 및 제출자가 필요한 권한은 [사용 사례 세부 정보 제출](/docs/ko/amazon-bedrock#1-submit-use-case-details)을 참조하세요. |310| 모델 액세스 | Amazon Bedrock은 상용 지역에서 기본적으로 모델 액세스를 활성화합니다. 남은 계정 수준 게이트는 Anthropic의 일회용 사용 사례 양식입니다: AWS 계정의 누구도 제출하지 않았으면, Amazon Bedrock 콘솔을 열고, 모델 카탈로그에서 Anthropic 모델을 선택하고, 양식을 완료합니다. AWS Organizations 양식 및 제출자가 필요한 권한은 [사용 사례 세부 정보 제출](/docs/ko/amazon-bedrock#1-submit-use-case-details)을 참조하세요. |

311| EKS(IRSA) | 위의 정책과 클러스터의 OIDC 공급자로 범위가 지정된 신뢰 정책이 있는 IAM 역할을 생성합니다. 게이트웨이의 서비스 계정에 `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`로 주석을 답니다. `auth: {}`가 이를 선택합니다. |311| EKS(IRSA) | 위의 정책과 클러스터의 OIDC 공급자로 범위가 지정된 신뢰 정책이 있는 IAM 역할을 생성합니다. 게이트웨이의 서비스 계정에 `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`로 주석을 답니다. `auth: {}`가 이를 선택합니다. |


341플랫폼은 Amazon Bedrock과 별도의 AWS 계정에서 실행되고 자체 서비스 이름 `aws-external-anthropic`에 대해 SigV4 요청에 서명하므로, Bedrock 범위 IAM 역할은 이를 인증하지 않습니다. `auth.api_key`의 API 키는 SigV4 자격증명도 설정되어 있을 때 우선합니다. 빈 `auth` 블록은 AWS SDK의 기본 자격증명 체인을 사용합니다. [Amazon Bedrock](#amazon-bedrock) 업스트림이 사용하는 동일한 체인입니다.341플랫폼은 Amazon Bedrock과 별도의 AWS 계정에서 실행되고 자체 서비스 이름 `aws-external-anthropic`에 대해 SigV4 요청에 서명하므로, Bedrock 범위 IAM 역할은 이를 인증하지 않습니다. `auth.api_key`의 API 키는 SigV4 자격증명도 설정되어 있을 때 우선합니다. 빈 `auth` 블록은 AWS SDK의 기본 자격증명 체인을 사용합니다. [Amazon Bedrock](#amazon-bedrock) 업스트림이 사용하는 동일한 체인입니다.

342 342 

343| 필드 | 필수 | 설명 |343| 필드 | 필수 | 설명 |

344| ------------------------------------------------------- | --- | ----------------------------------------------------------------------------------------------------- |344| - | - | - |

345| `region` | 예 | AWS 지역으로, 소문자, 숫자, 및 하이픈입니다. 게이트웨이는 `https://aws-external-anthropic.<region>.api.aws`로 엔드포인트를 파생시킵니다. |345| `region` | 예 | AWS 지역으로, 소문자, 숫자, 및 하이픈입니다. 게이트웨이는 `https://aws-external-anthropic.<region>.api.aws`로 엔드포인트를 파생시킵니다. |

346| `workspace_id` | 예 | 모든 요청에서 헤더로 전송됩니다. 플랫폼이 필요합니다. |346| `workspace_id` | 예 | 모든 요청에서 헤더로 전송됩니다. 플랫폼이 필요합니다. |

347| `auth.api_key` | 아니오 | 플랫폼의 API 키로, `x-api-key`로 전송됩니다. 베어러 토큰이 아닙니다: 두 인증 모드는 API 키 또는 SigV4입니다. |347| `auth.api_key` | 아니오 | 플랫폼의 API 키로, `x-api-key`로 전송됩니다. 베어러 토큰이 아닙니다: 두 인증 모드는 API 키 또는 SigV4입니다. |


373Google Cloud의 Agent Platform에 대해 [글로벌 엔드포인트](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations)를 사용하려면 `region: global`을 설정합니다. Google은 각 요청을 사용 가능한 지역으로 라우팅하므로, 지역별 모델 가용성을 추적할 필요가 없습니다. 특정 지역을 설정하면 모든 요청을 이에 고정합니다.373Google Cloud의 Agent Platform에 대해 [글로벌 엔드포인트](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations)를 사용하려면 `region: global`을 설정합니다. Google은 각 요청을 사용 가능한 지역으로 라우팅하므로, 지역별 모델 가용성을 추적할 필요가 없습니다. 특정 지역을 설정하면 모든 요청을 이에 고정합니다.

374 374 

375| 설정 | 방법 |375| 설정 | 방법 |

376| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |376| - | - |

377| IAM 권한 | 게이트웨이의 서비스 계정에 프로젝트에 `roles/aiplatform.user`를 부여하거나, `aiplatform.endpoints.predict`가 있는 사용자 정의 역할을 부여합니다. Google Cloud의 Agent Platform API(`aiplatform.googleapis.com`)를 활성화합니다. |377| IAM 권한 | 게이트웨이의 서비스 계정에 프로젝트에 `roles/aiplatform.user`를 부여하거나, `aiplatform.endpoints.predict`가 있는 사용자 정의 역할을 부여합니다. Google Cloud의 Agent Platform API(`aiplatform.googleapis.com`)를 활성화합니다. |

378| 모델 액세스 | Model Garden에서 프로젝트에 대해 Claude 모델을 활성화합니다. 이들은 특정 지역에 게시됩니다. 지원되는 지역은 모델 카드를 확인합니다. |378| 모델 액세스 | Model Garden에서 프로젝트에 대해 Claude 모델을 활성화합니다. 이들은 특정 지역에 게시됩니다. 지원되는 지역은 모델 카드를 확인합니다. |

379| GKE(Workload Identity) | GCP 서비스 계정을 게이트웨이의 Kubernetes 서비스 계정에 바인드하고 KSA에 `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`으로 주석을 답니다. `auth: {}`가 이를 선택합니다. |379| GKE(Workload Identity) | GCP 서비스 계정을 게이트웨이의 Kubernetes 서비스 계정에 바인드하고 KSA에 `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`으로 주석을 답니다. `auth: {}`가 이를 선택합니다. |


399`use_azure_ad: true`는 `DefaultAzureCredential`을 통해 해석합니다: AKS, ACI, 또는 App Service의 Managed Identity, Azure CLI, 또는 환경 자격증명입니다. API 키는 작동하지만 프로젝트 전체이고 자동으로 회전하지 않습니다. Microsoft Foundry의 엔드포인트는 `resource:`에서 파생됩니다. Azure Government 같은 소주권 클라우드에 대해 선택적 `base_url`을 설정하여 재정의합니다.399`use_azure_ad: true`는 `DefaultAzureCredential`을 통해 해석합니다: AKS, ACI, 또는 App Service의 Managed Identity, Azure CLI, 또는 환경 자격증명입니다. API 키는 작동하지만 프로젝트 전체이고 자동으로 회전하지 않습니다. Microsoft Foundry의 엔드포인트는 `resource:`에서 파생됩니다. Azure Government 같은 소주권 클라우드에 대해 선택적 `base_url`을 설정하여 재정의합니다.

400 400 

401| 설정 | 방법 |401| 설정 | 방법 |

402| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |402| - | - |

403| RBAC | 게이트웨이의 ID에 Microsoft Foundry 리소스에 `Azure AI User` 또는 `Cognitive Services User`를 부여합니다. |403| RBAC | 게이트웨이의 ID에 Microsoft Foundry 리소스에 `Azure AI User` 또는 `Cognitive Services User`를 부여합니다. |

404| 배포 | Microsoft Foundry는 정규 모델 ID가 아닌 관리자 선택 배포 이름을 사용합니다. 각 정규 ID를 배포 이름으로 매핑하는 [`models:`](#models) 블록을 추가합니다. |404| 배포 | Microsoft Foundry는 정규 모델 ID가 아닌 관리자 선택 배포 이름을 사용합니다. 각 정규 ID를 배포 이름으로 매핑하는 [`models:`](#models) 블록을 추가합니다. |

405| AKS(워크로드 ID) | 클러스터의 OIDC 발급자와 사용자 할당 Managed Identity를 페더레이션하고 게이트웨이의 서비스 계정에 바인드합니다. `use_azure_ad: true`는 `WorkloadIdentityCredential`을 통해 이를 선택합니다. |405| AKS(워크로드 ID) | 클러스터의 OIDC 발급자와 사용자 할당 Managed Identity를 페더레이션하고 게이트웨이의 서비스 계정에 바인드합니다. `use_azure_ad: true`는 `WorkloadIdentityCredential`을 통해 이를 선택합니다. |


439게이트웨이가 업스트림으로 보내는 모든 요청이 이들을 전달하지는 않습니다:439게이트웨이가 업스트림으로 보내는 모든 요청이 이들을 전달하지는 않습니다:

440 440 

441| 게이트웨이가 이 업스트림으로 보내는 요청 | `headers:` 전달 |441| 게이트웨이가 이 업스트림으로 보내는 요청 | `headers:` 전달 |

442| --------------------------------------------------------- | ---------------------- |442| - | - |

443| `/v1/messages`, 스트리밍 또는 아님, 및 `/v1/messages/count_tokens` | 예 |443| `/v1/messages`, 스트리밍 또는 아님, 및 `/v1/messages/count_tokens` | 예 |

444| 다른 업스트림에서 장애 조치된 요청 | 예, 이 업스트림의 `headers:`만 |444| 다른 업스트림에서 장애 조치된 요청 | 예, 이 업스트림의 `headers:`만 |

445| 클라이언트가 포기한 요청에 대한 Amazon Bedrock의 `CountTokens` 호출 | 아니오 |445| 클라이언트가 포기한 요청에 대한 Amazon Bedrock의 `CountTokens` 호출 | 아니오 |


510```510```

511 511 

512| 레버 | 방법 |512| 레버 | 방법 |

513| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |513| - | - |

514| 다양한 지역 | 지역당 하나의 Amazon Bedrock 업스트림으로, 각각 자체 `region:`을 가집니다. [`auto_include_builtin_models: true`](#models)를 사용하면 교차 지역 추론 프로필이 자동으로 라우팅됩니다. 지역 고정 배포의 경우 `models:` 블록을 사용합니다. |514| 다양한 지역 | 지역당 하나의 Amazon Bedrock 업스트림으로, 각각 자체 `region:`을 가집니다. [`auto_include_builtin_models: true`](#models)를 사용하면 교차 지역 추론 프로필이 자동으로 라우팅됩니다. 지역 고정 배포의 경우 `models:` 블록을 사용합니다. |

515| 다양한 계정 | 계정당 하나의 Amazon Bedrock 업스트림으로, 각각 `auth:`에서 자체 자격증명을 가집니다. 기본 체인(`auth: {}`)은 포드의 ID를 사용합니다. 두 번째 계정의 경우, 명시적 자격증명 또는 베어러 토큰을 설정합니다. |515| 다양한 계정 | 계정당 하나의 Amazon Bedrock 업스트림으로, 각각 `auth:`에서 자체 자격증명을 가집니다. 기본 체인(`auth: {}`)은 포드의 ID를 사용합니다. 두 번째 계정의 경우, 명시적 자격증명 또는 베어러 토큰을 설정합니다. |

516| 프로비저닝된 처리량 | 해당 업스트림의 이름에 대해 `models:`의 프로비저닝된 처리량 ARN으로 모델을 매핑합니다. 다른 업스트림은 온디맨드 ID를 유지하므로, PT 용량이 폴백 전에 소진됩니다. |516| 프로비저닝된 처리량 | 해당 업스트림의 이름에 대해 `models:`의 프로비저닝된 처리량 ARN으로 모델을 매핑합니다. 다른 업스트림은 온디맨드 ID를 유지하므로, PT 용량이 폴백 전에 소진됩니다. |


548```548```

549 549 

550| 필드 | 필수 | 설명 |550| 필드 | 필수 | 설명 |

551| ------------------------- | --- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |551| - | - | - |

552| `write_keys` | 아니요 | `{id, key}` 배열입니다. 이 중 하나와 일치하는 `x-api-key`는 지출 한도를 나열, 설정 및 삭제할 수 있습니다. 키 값은 최소 32자 이상이어야 하며, `id`는 `read_keys`와 `write_keys` 전체에서 고유해야 합니다. |552| `write_keys` | 아니요 | `{id, key}` 배열입니다. 이 중 하나와 일치하는 `x-api-key`는 지출 한도를 나열, 설정 및 삭제할 수 있습니다. 키 값은 최소 32자 이상이어야 하며, `id`는 `read_keys`와 `write_keys` 전체에서 고유해야 합니다. |

553| `read_keys` | 아니요 | `{id, key}` 배열입니다. 읽기 전용: 상한 나열, ID로 하나 가져오기, [`/effective`](/docs/ko/claude-apps-gateway-spend-limits#%2Feffective) 및 [`/audit`](/docs/ko/claude-apps-gateway-spend-limits#%2Faudit) 읽기를 포함한 모든 `GET` 엔드포인트입니다. |553| `read_keys` | 아니요 | `{id, key}` 배열입니다. 읽기 전용: 상한 나열, ID로 하나 가져오기, [`/effective`](/docs/ko/claude-apps-gateway-spend-limits#%2Feffective) 및 [`/audit`](/docs/ko/claude-apps-gateway-spend-limits#%2Faudit) 읽기를 포함한 모든 `GET` 엔드포인트입니다. |

554| `admin_groups` | 아니요 | IdP 그룹 이름입니다. `groups` 클레임이 이 중 하나를 포함하는 gateway JWT는 전체 관리자 액세스(읽기 및 쓰기)를 가지며 `oidc:<sub>`로 감사됩니다. 인간 관리자에게는 이를 사용하고, 머신에는 API 키를 사용하세요. 이 목록의 빈 항목은 부팅 시 gateway를 중지합니다. [gateway 부팅 시 중지되는 Matcher 값](#matcher-values-that-stop-the-gateway-at-boot)을 참조하세요. |554| `admin_groups` | 아니요 | IdP 그룹 이름입니다. `groups` 클레임이 이 중 하나를 포함하는 gateway JWT는 전체 관리자 액세스(읽기 및 쓰기)를 가지며 `oidc:<sub>`로 감사됩니다. 인간 관리자에게는 이를 사용하고, 머신에는 API 키를 사용하세요. 이 목록의 빈 항목은 부팅 시 gateway를 중지합니다. [gateway 부팅 시 중지되는 Matcher 값](#matcher-values-that-stop-the-gateway-at-boot)을 참조하세요. |


565`enforcement` 블록은 저장소를 사용할 수 없을 때 지출 한도 확인이 어떻게 작동하는지 제어합니다.565`enforcement` 블록은 저장소를 사용할 수 없을 때 지출 한도 확인이 어떻게 작동하는지 제어합니다.

566 566 

567| 필드 | 필수 | 설명 |567| 필드 | 필수 | 설명 |

568| ---------------------- | --- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |568| - | - | - |

569| `fail_closed_on_error` | 아니요 | 기본값 `false`입니다. Postgres 중단 시 지출 강제는 열린 상태로 실패하므로 추론이 계속 작동합니다. `true`로 설정하여 닫힌 상태로 실패: 초과 용량 개발자는 차단되지만, 저장소에 도달할 수 없으면 모든 사람이 차단됩니다. [`admin:`](#admin) 블록이 필요합니다. 지출 강제는 `admin`이 구성될 때만 실행되며, 이를 `true`로 설정하면 gateway는 시작을 거부합니다. |569| `fail_closed_on_error` | 아니요 | 기본값 `false`입니다. Postgres 중단 시 지출 강제는 열린 상태로 실패하므로 추론이 계속 작동합니다. `true`로 설정하여 닫힌 상태로 실패: 초과 용량 개발자는 차단되지만, 저장소에 도달할 수 없으면 모든 사람이 차단됩니다. [`admin:`](#admin) 블록이 필요합니다. 지출 강제는 `admin`이 구성될 때만 실행되며, 이를 `true`로 설정하면 gateway는 시작을 거부합니다. |

570 570 

571<h3 id="pricing">571<h3 id="pricing">


590```590```

591 591 

592| 필드 | 필수 | 설명 |592| 필드 | 필수 | 설명 |

593| ------------ | --- | ---------------------------------------------------------------------------------------------------------------------------------------- |593| - | - | - |

594| `multiplier` | 아니요 | 기본값 `1`입니다. 미터는 정가 또는 재정의 여부에 관계없이 모든 미터링된 금액에 이를 곱하므로 `0.85`는 가격의 85%를 청구합니다. 0보다 크고 최대 10이어야 하며, 1 이상의 값은 [가격 인상](#mark-prices-up)입니다. |594| `multiplier` | 아니요 | 기본값 `1`입니다. 미터는 정가 또는 재정의 여부에 관계없이 모든 미터링된 금액에 이를 곱하므로 `0.85`는 가격의 85%를 청구합니다. 0보다 크고 최대 10이어야 하며, 1 이상의 값은 [가격 인상](#mark-prices-up)입니다. |

595| `overrides` | 아니요 | 백만 토큰당 USD의 `{upstream, model, input, output, cache_read, cache_write}` 행입니다. 네 가지 요금 모두 필수입니다. 각각 0보다 크고 최대 10000이어야 합니다. |595| `overrides` | 아니요 | 백만 토큰당 USD의 `{upstream, model, input, output, cache_read, cache_write}` 행입니다. 네 가지 요금 모두 필수입니다. 각각 0보다 크고 최대 10000이어야 합니다. |

596 596 


687* 값이 있지만 문자열이 아닐 때, gateway는 `model must be a string` 메시지로 요청을 거부합니다. Claude Code v2.1.221 이상을 실행하는 gateway가 필요합니다.687* 값이 있지만 문자열이 아닐 때, gateway는 `model must be a string` 메시지로 요청을 거부합니다. Claude Code v2.1.221 이상을 실행하는 gateway가 필요합니다.

688 688 

689| Matcher | 동작 |689| Matcher | 동작 |

690| --------------------------------------------------- | --------------------------------------------------------------------------------- |690| - | - |

691| `match: {}` | 모든 인증된 사용자와 일치합니다. 이 중 하나로 시작하고 나중에 위에 그룹 범위 정책을 추가하세요. |691| `match: {}` | 모든 인증된 사용자와 일치합니다. 이 중 하나로 시작하고 나중에 위에 그룹 범위 정책을 추가하세요. |

692| `match: { groups: [a, b] }` | JWT의 `groups` 클레임이 나열된 그룹 중 하나를 포함하면 일치합니다. 대소문자 구분: 그룹은 IdP의 정확한 대소문자와 일치해야 합니다. |692| `match: { groups: [a, b] }` | JWT의 `groups` 클레임이 나열된 그룹 중 하나를 포함하면 일치합니다. 대소문자 구분: 그룹은 IdP의 정확한 대소문자와 일치해야 합니다. |

693| `match: { email_domain: example.com }` | JWT의 `email` 클레임에서 마지막 `@` 뒤의 부분과 일치하며, 대소문자를 구분하지 않습니다. 정책당 하나의 도메인을 허용합니다. |693| `match: { email_domain: example.com }` | JWT의 `email` 클레임에서 마지막 `@` 뒤의 부분과 일치하며, 대소문자를 구분하지 않습니다. 정책당 하나의 도메인을 허용합니다. |


769```769```

770 770 

771| 키 | 강제 대상 | 효과 |771| 키 | 강제 대상 | 효과 |

772| ------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |772| - | - | - |

773| `availableModels` | Gateway + CLI | 모델 허용 목록입니다. `/v1/messages`에서도 확인되므로 패치된 클라이언트는 이를 우회할 수 없습니다. |773| `availableModels` | Gateway + CLI | 모델 허용 목록입니다. `/v1/messages`에서도 확인되므로 패치된 클라이언트는 이를 우회할 수 없습니다. |

774| `permissions.allow` / `.deny` | CLI | 도구 및 명령 규칙입니다. [권한](/docs/ko/permissions)을 참조하세요. |774| `permissions.allow` / `.deny` | CLI | 도구 및 명령 규칙입니다. [권한](/docs/ko/permissions)을 참조하세요. |

775| `permissions.disableBypassPermissionsMode` | CLI | [`bypassPermissions`](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode) 모드(권한 프롬프트를 건너뛰는 모드)와 `--dangerously-skip-permissions` 플래그를 차단하려면 `disable`로 설정하세요. |775| `permissions.disableBypassPermissionsMode` | CLI | [`bypassPermissions`](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode) 모드(권한 프롬프트를 건너뛰는 모드)와 `--dangerously-skip-permissions` 플래그를 차단하려면 `disable`로 설정하세요. |


10084개의 선택적 최상위 블록 `access_control`, `limits`, `timeouts` 및 `rate_limits`는 HTTP 표면을 조정합니다. 기본값은 대부분의 배포에 적합합니다.10084개의 선택적 최상위 블록 `access_control`, `limits`, `timeouts` 및 `rate_limits`는 HTTP 표면을 조정합니다. 기본값은 대부분의 배포에 적합합니다.

1009 1009 

1010| 블록 | 키 | 기본값 | 설명 |1010| 블록 | 키 | 기본값 | 설명 |

1011| ---------------- | ---------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1011| - | - | - | - |

1012| `access_control` | `allow_cidrs` / `deny_cidrs` | 비어있음 | `trusted_proxies` 해결 후 클라이언트 주소별 인바운드 IP 허용/거부입니다. `deny_cidrs`가 먼저 확인됩니다. 일치하는 클라이언트는 `allow_cidrs`도 일치해도 거부됩니다. `allow_cidrs`가 비어있지 않으면 gateway는 기본 거부입니다. `/healthz` 및 `/readyz`는 `allow_cidrs`에서 제외됩니다. 신뢰할 수 있는 프록시가 IP 주소가 아닌 `X-Forwarded-For` 항목을 보내면 실제 클라이언트는 알 수 없으며 gateway는 확인할 내용을 명명하는 경고를 한 번 기록합니다. 목록이 요청에 적용되는 경우 `403`으로 거부하고 감사 이유 `xff_unparseable`입니다. 어느 것도 적용되지 않으면 요청을 제공하고 프록시의 자체 주소를 IP별 요금 제한 및 감사의 클라이언트 IP로 사용합니다. |1012| `access_control` | `allow_cidrs` / `deny_cidrs` | 비어있음 | `trusted_proxies` 해결 후 클라이언트 주소별 인바운드 IP 허용/거부입니다. `deny_cidrs`가 먼저 확인됩니다. 일치하는 클라이언트는 `allow_cidrs`도 일치해도 거부됩니다. `allow_cidrs`가 비어있지 않으면 gateway는 기본 거부입니다. `/healthz` 및 `/readyz`는 `allow_cidrs`에서 제외됩니다. 신뢰할 수 있는 프록시가 IP 주소가 아닌 `X-Forwarded-For` 항목을 보내면 실제 클라이언트는 알 수 없으며 gateway는 확인할 내용을 명명하는 경고를 한 번 기록합니다. 목록이 요청에 적용되는 경우 `403`으로 거부하고 감사 이유 `xff_unparseable`입니다. 어느 것도 적용되지 않으면 요청을 제공하고 프록시의 자체 주소를 IP별 요금 제한 및 감사의 클라이언트 IP로 사용합니다. |

1013| `limits` | `max_request_bytes` | 32 MiB | 최대 인바운드 요청 본문입니다. 크기 초과 요청은 본문이 버퍼링되기 전에 `413`을 받습니다. 큰 파일 또는 이미지 요청에 대해 올립니다. |1013| `limits` | `max_request_bytes` | 32 MiB | 최대 인바운드 요청 본문입니다. 크기 초과 요청은 본문이 버퍼링되기 전에 `413`을 받습니다. 큰 파일 또는 이미지 요청에 대해 올립니다. |

1014| `limits` | `max_request_header_bytes` | 설정 해제 | 설정하면 크기 초과 헤더는 `431`을 반환합니다. |1014| `limits` | `max_request_header_bytes` | 설정 해제 | 설정하면 크기 초과 헤더는 `431`을 반환합니다. |


1046```1046```

1047 1047 

1048| 필드 | 필수 | 설명 |1048| 필드 | 필수 | 설명 |

1049| --------------- | --- | ------------------------------------------------------------------------------------------------ |1049| - | - | - |

1050| `enabled` | 예 | `true`는 모드를 켭니다. `false`는 모드를 끈 상태로 파일에 숫자를 유지합니다. 블록이 없으면 gateway는 시작을 거부합니다. |1050| `enabled` | 예 | `true`는 모드를 켭니다. `false`는 모드를 끈 상태로 파일에 숫자를 유지합니다. 블록이 없으면 gateway는 시작을 거부합니다. |

1051| `reply_tokens` | 아니요 | 기본값 `750`입니다. 각 통조림 회신이 전달하는 텍스트의 토큰 수(대략), 1에서 100000 사이의 정수입니다. |1051| `reply_tokens` | 아니요 | 기본값 `750`입니다. 각 통조림 회신이 전달하는 텍스트의 토큰 수(대략), 1에서 100000 사이의 정수입니다. |

1052| `reply_seconds` | 아니요 | 기본값 `9.5`입니다. 스트리밍된 회신이 걸리는 시간(0에서 600 사이). `0`은 전체 회신을 한 번에 보냅니다. 비스트리밍 요청에 대한 회신은 항상 한 번에 옵니다. |1052| `reply_seconds` | 아니요 | 기본값 `9.5`입니다. 스트리밍된 회신이 걸리는 시간(0에서 600 사이). `0`은 전체 회신을 한 번에 보냅니다. 비스트리밍 요청에 대한 회신은 항상 한 번에 옵니다. |

Details

240게이트웨이는 부팅 시 마이그레이션으로 생성되는 5개의 데이터 테이블과 `_migrations` 테이블을 보유합니다:240게이트웨이는 부팅 시 마이그레이션으로 생성되는 5개의 데이터 테이블과 `_migrations` 테이블을 보유합니다:

241 241 

242| 테이블 | 내용 | 보존 |242| 테이블 | 내용 | 보존 |

243| ------------------ | --------------------------------------------- | ------------------------------------------------- |243| - | - | - |

244| `kv` | 장치 부여(10분 TTL) 및 속도 제한 카운터 | 행별 TTL |244| `kv` | 장치 부여(10분 TTL) 및 속도 제한 카운터 | 행별 TTL |

245| `spend` | 주요 기간별 누적 지출 카운터(센트) | `admin.spend_retention_months`, 기본값 13 |245| `spend` | 주요 기간별 누적 지출 카운터(센트) | `admin.spend_retention_months`, 기본값 13 |

246| `spend_limits` | 구성된 지출 상한 | API를 통해 삭제될 때까지 |246| `spend_limits` | 구성된 지출 상한 | API를 통해 삭제될 때까지 |


288</h3>288</h3>

289 289 

290| 데이터 | 경로 | 게이트웨이에서 Anthropic으로 전송됨 |290| 데이터 | 경로 | 게이트웨이에서 Anthropic으로 전송됨 |

291| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |291| - | - | - |

292| 추론(프롬프트, 완료) | CLI → 게이트웨이 → 업스트림 | Anthropic API가 구성된 업스트림인 경우에만 |292| 추론(프롬프트, 완료) | CLI → 게이트웨이 → 업스트림 | Anthropic API가 구성된 업스트림인 경우에만 |

293| 텔레메트리(OTLP 메트릭, 플러스 [옵트인 로그 및 추적](/docs/ko/claude-apps-gateway-config#telemetry)) | CLI → 게이트웨이 → 수집기 | 절대 아님 |293| 텔레메트리(OTLP 메트릭, 플러스 [옵트인 로그 및 추적](/docs/ko/claude-apps-gateway-config#telemetry)) | CLI → 게이트웨이 → 수집기 | 절대 아님 |

294| ID(이메일, 그룹, sub) | IdP → 게이트웨이 → JWT → CLI; CLI는 OTLP 내보내기에 스탬프합니다. [`forward_user_identity`](/docs/ko/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run)를 켜면, 게이트웨이는 개발자의 이메일과 IdP 주제를 헤더로 프록시에 보냅니다 | 절대 아님 |294| ID(이메일, 그룹, sub) | IdP → 게이트웨이 → JWT → CLI; CLI는 OTLP 내보내기에 스탬프합니다. [`forward_user_identity`](/docs/ko/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run)를 켜면, 게이트웨이는 개발자의 이메일과 IdP 주제를 헤더로 프록시에 보냅니다 | 절대 아님 |


352gateway stderr에는 감사 이벤트 스트림이 포함되고, 감사 로그는 개발자 신원을 기록하며, 디버그 파일은 개발자 머신의 hook 및 MCP 서버 출력을 기록합니다. 공개 이슈에 게시하기 전에 이를 검토하고 수정하세요.352gateway stderr에는 감사 이벤트 스트림이 포함되고, 감사 로그는 개발자 신원을 기록하며, 디버그 파일은 개발자 머신의 hook 및 MCP 서버 출력을 기록합니다. 공개 이슈에 게시하기 전에 이를 검토하고 수정하세요.

353 353 

354| 증상 | 원인 | 해결 방법 |354| 증상 | 원인 | 해결 방법 |

355| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |355| - | - | - |

356| 개발자의 `/login`이 **Cloud gateway** 화면 대신 표준 계정 선택기를 표시함 | 해당 머신의 관리 설정에서 `forceLoginMethod` 또는 `forceLoginGatewayUrl`이 설정되지 않음 | [관리 설정 파일](/docs/ko/claude-apps-gateway#set-the-gateway-url)을 기기에 배포하세요. `/login`은 여기서 gateway URL을 읽습니다 |356| 개발자의 `/login`이 **Cloud gateway** 화면 대신 표준 계정 선택기를 표시함 | 해당 머신의 관리 설정에서 `forceLoginMethod` 또는 `forceLoginGatewayUrl`이 설정되지 않음 | [관리 설정 파일](/docs/ko/claude-apps-gateway#set-the-gateway-url)을 기기에 배포하세요. `/login`은 여기서 gateway URL을 읽습니다 |

357| 개발자의 요청이 `Not signed in to the Cloud gateway — run /login.`으로 실패함 | 머신의 관리 설정이 `forceLoginMethod: "gateway"` 또는 `forceLoginGatewayUrl`을 설정했고, 세션에 gateway 로그인이 없음. 남은 claude.ai 로그인은 요구사항을 충족하지 않음 | 개발자가 `/login`을 실행하고 gateway 로그인을 완료하도록 하세요. [관리자 정책이 Cloud gateway 로그인을 요구함](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)도 참조하세요. |357| 개발자의 요청이 `Not signed in to the Cloud gateway — run /login.`으로 실패함 | 머신의 관리 설정이 `forceLoginMethod: "gateway"` 또는 `forceLoginGatewayUrl`을 설정했고, 세션에 gateway 로그인이 없음. 남은 claude.ai 로그인은 요구사항을 충족하지 않음 | 개발자가 `/login`을 실행하고 gateway 로그인을 완료하도록 하세요. [관리자 정책이 Cloud gateway 로그인을 요구함](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)도 참조하세요. |

358| Claude Desktop이 부트스트랩 구성을 가져올 수 없다고 보고함 | `/user/bootstrap`이 404를 반환함: 사용자와 일치하는 정책이 `desktop` 키를 포함하지 않거나 일치하는 정책이 없음. gateway 감사 로그는 각 거부를 `desktop_bootstrap.denied`로 이유와 함께 기록함 | 사용자와 일치하는 정책 또는 `match: {}` 기본 계층에 `desktop` 블록을 추가하세요. 빈 `desktop: {}`으로 충분합니다. [Claude Desktop 오버레이](/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)를 참조하세요. |358| Claude Desktop이 부트스트랩 구성을 가져올 수 없다고 보고함 | `/user/bootstrap`이 404를 반환함: 사용자와 일치하는 정책이 `desktop` 키를 포함하지 않거나 일치하는 정책이 없음. gateway 감사 로그는 각 거부를 `desktop_bootstrap.denied`로 이유와 함께 기록함 | 사용자와 일치하는 정책 또는 `match: {}` 기본 계층에 `desktop` 블록을 추가하세요. 빈 `desktop: {}`으로 충분합니다. [Claude Desktop 오버레이](/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)를 참조하세요. |

Details

494게이트웨이 부팅 및 로그인 오류는 플랫폼 독립적인 [문제 해결 테이블](/docs/ko/claude-apps-gateway-deploy#troubleshooting)을 참조하십시오. 아래 항목은 AWS에 특정합니다.494게이트웨이 부팅 및 로그인 오류는 플랫폼 독립적인 [문제 해결 테이블](/docs/ko/claude-apps-gateway-deploy#troubleshooting)을 참조하십시오. 아래 항목은 AWS에 특정합니다.

495 495 

496| 증상 | 원인 | 해결 |496| 증상 | 원인 | 해결 |

497| ------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |497| - | - | - |

498| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | 게이트웨이 이름이 최소 하나의 공개 주소로 확인됩니다. 이중 스택 내부 ALB는 공개 범위 AAAA 레코드를 게시하며, [프라이빗 네트워크 확인](/docs/ko/claude-apps-gateway#prerequisites)은 모든 확인된 주소가 프라이빗이어야 합니다. | `--ip-address-type ipv4`로 ALB를 생성하거나 공개 AAAA 레코드가 없는 별도의 내부 전용 DNS 이름을 제공하십시오. |498| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | 게이트웨이 이름이 최소 하나의 공개 주소로 확인됩니다. 이중 스택 내부 ALB는 공개 범위 AAAA 레코드를 게시하며, [프라이빗 네트워크 확인](/docs/ko/claude-apps-gateway#prerequisites)은 모든 확인된 주소가 프라이빗이어야 합니다. | `--ip-address-type ipv4`로 ALB를 생성하거나 공개 AAAA 레코드가 없는 별도의 내부 전용 DNS 이름을 제공하십시오. |

499| 모든 Bedrock 요청이 502를 반환합니다. 로그는 `Could not load credentials from any providers`를 표시합니다. | 작업이 작업 역할 없이 ECS EC2 시작 유형에서 실행되거나, 포드가 IRSA 없이 EKS 노드에서 실행되므로 자격 증명은 인스턴스 메타데이터에서 오며, IMDSv2의 기본 홉 제한 1이 컨테이너 내부에서 중지됩니다. 이 페이지의 두 트랙 모두 영향을 받지 않습니다: Fargate 작업 역할과 IRSA는 인스턴스 메타데이터를 사용하지 않습니다. | 작업 역할과 IRSA를 선호하십시오. 인스턴스 자격 증명이 불가피한 경우 `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`로 홉 제한을 높이십시오. [플랫폼 독립적인 테이블](/docs/ko/claude-apps-gateway-deploy#troubleshooting)은 트레이드오프를 다룹니다. |499| 모든 Bedrock 요청이 502를 반환합니다. 로그는 `Could not load credentials from any providers`를 표시합니다. | 작업이 작업 역할 없이 ECS EC2 시작 유형에서 실행되거나, 포드가 IRSA 없이 EKS 노드에서 실행되므로 자격 증명은 인스턴스 메타데이터에서 오며, IMDSv2의 기본 홉 제한 1이 컨테이너 내부에서 중지됩니다. 이 페이지의 두 트랙 모두 영향을 받지 않습니다: Fargate 작업 역할과 IRSA는 인스턴스 메타데이터를 사용하지 않습니다. | 작업 역할과 IRSA를 선호하십시오. 인스턴스 자격 증명이 불가피한 경우 `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`로 홉 제한을 높이십시오. [플랫폼 독립적인 테이블](/docs/ko/claude-apps-gateway-deploy#troubleshooting)은 트레이드오프를 다룹니다. |

500| Bedrock 요청이 `403 AccessDeniedException`을 반환합니다. | 계정이 Anthropic의 일회성 사용 사례 양식을 제출하지 않았거나, 계정의 첫 호출에서 시작되는 자동 AWS Marketplace 구독이 아직 완료되지 않았거나, 작업 역할의 정책이 추론 프로필 또는 기초 모델 ARN을 누락했습니다. | Bedrock 콘솔의 모델 카탈로그에서 사용 사례 양식을 제출하십시오. 방금 제출되었거나 이것이 계정의 첫 호출인 경우 몇 분 후에 다시 시도하십시오. `bedrock:InvokeModel` 및 `bedrock:InvokeModelWithResponseStream`을 두 ARN 패밀리에 부여하십시오. |500| Bedrock 요청이 `403 AccessDeniedException`을 반환합니다. | 계정이 Anthropic의 일회성 사용 사례 양식을 제출하지 않았거나, 계정의 첫 호출에서 시작되는 자동 AWS Marketplace 구독이 아직 완료되지 않았거나, 작업 역할의 정책이 추론 프로필 또는 기초 모델 ARN을 누락했습니다. | Bedrock 콘솔의 모델 카탈로그에서 사용 사례 양식을 제출하십시오. 방금 제출되었거나 이것이 계정의 첫 호출인 경우 몇 분 후에 다시 시도하십시오. `bedrock:InvokeModel` 및 `bedrock:InvokeModelWithResponseStream`을 두 ARN 패밀리에 부여하십시오. |

Details

151 프론트 엔드와 일치하도록 `trusted_proxies`를 설정합니다. `gce` 클래스의 외부 GKE Ingress는 나열되지 않습니다. 공개 전달 규칙 주소를 프로비저닝하며, 이는 `/login` [프라이빗 네트워크 확인](/docs/ko/claude-apps-gateway#prerequisites)에서 거부합니다.151 프론트 엔드와 일치하도록 `trusted_proxies`를 설정합니다. `gce` 클래스의 외부 GKE Ingress는 나열되지 않습니다. 공개 전달 규칙 주소를 프로비저닝하며, 이는 `/login` [프라이빗 네트워크 확인](/docs/ko/claude-apps-gateway#prerequisites)에서 거부합니다.

152 152 

153 | 프론트 엔드 | `trusted_proxies` |153 | 프론트 엔드 | `trusted_proxies` |

154 | ----------------------------------------- | ----------------------------------- |154 | - | - |

155 | 로드 밸런서 없이 직접 도달하는 Cloud Run | `[169.254.0.0/16]` |155 | 로드 밸런서 없이 직접 도달하는 Cloud Run | `[169.254.0.0/16]` |

156 | Cloud Run 앞의 내부 Application Load Balancer | `169.254.0.0/16` 및 프록시 전용 서브넷의 CIDR |156 | Cloud Run 앞의 내부 Application Load Balancer | `169.254.0.0/16` 및 프록시 전용 서브넷의 CIDR |

157 | GKE 내부 Ingress, 클래스 `gce-internal` | 프록시 전용 서브넷의 CIDR |157 | GKE 내부 Ingress, 클래스 `gce-internal` | 프록시 전용 서브넷의 CIDR |


196 네 개의 비밀을 생성하고 `claude-gateway` 서비스 계정에 `roles/secretmanager.secretAccessor`를 부여합니다:196 네 개의 비밀을 생성하고 `claude-gateway` 서비스 계정에 `roles/secretmanager.secretAccessor`를 부여합니다:

197 197 

198 | 비밀 | 소스 |198 | 비밀 | 소스 |

199 | ---------------------------- | ------------------------------------- |199 | - | - |

200 | `gateway-jwt-secret` | `openssl rand -base64 32` |200 | `gateway-jwt-secret` | `openssl rand -base64 32` |

201 | `gateway-oidc-client-secret` | Google Cloud Console → OAuth 클라이언트 |201 | `gateway-oidc-client-secret` | Google Cloud Console → OAuth 클라이언트 |

202 | `gateway-postgres-url` | Cloud SQL 단계의 `$GATEWAY_POSTGRES_URL` |202 | `gateway-postgres-url` | Cloud SQL 단계의 `$GATEWAY_POSTGRES_URL` |


314게이트웨이 부팅 및 로그인 오류는 플랫폼 독립적인 [문제 해결 표](/docs/ko/claude-apps-gateway-deploy#troubleshooting)를 참조하세요. 아래 항목은 Google Cloud에 특정합니다.314게이트웨이 부팅 및 로그인 오류는 플랫폼 독립적인 [문제 해결 표](/docs/ko/claude-apps-gateway-deploy#troubleshooting)를 참조하세요. 아래 항목은 Google Cloud에 특정합니다.

315 315 

316| 증상 | 원인 | 해결 |316| 증상 | 원인 | 해결 |

317| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |317| - | - | - |

318| Cloud Run이 컨테이너에 도달하기 전에 `403 Forbidden`을 반환 | invoker IAM 확인이 여전히 활성화됨 | `--no-invoker-iam-check`로 배포하거나 `--allow-unauthenticated`로 `allUsers`에 `run.invoker` 역할을 부여 |318| Cloud Run이 컨테이너에 도달하기 전에 `403 Forbidden`을 반환 | invoker IAM 확인이 여전히 활성화됨 | `--no-invoker-iam-check`로 배포하거나 `--allow-unauthenticated`로 `allUsers`에 `run.invoker` 역할을 부여 |

319| `--no-invoker-iam-check`가 `invoker_iam_disabled is not currently available`로 거부됨 | `constraints/run.managed.requireInvokerIam`에 의해 차단됨 | `--allow-unauthenticated`를 사용합니다. `constraints/iam.allowedPolicyMemberDomains`를 통한 Domain Restricted Sharing도 차단하면 GKE 트랙을 사용하세요. 이는 `allUsers` 바인딩 없이 네트워크 계층에서 게이트웨이를 노출합니다. |319| `--no-invoker-iam-check`가 `invoker_iam_disabled is not currently available`로 거부됨 | `constraints/run.managed.requireInvokerIam`에 의해 차단됨 | `--allow-unauthenticated`를 사용합니다. `constraints/iam.allowedPolicyMemberDomains`를 통한 Domain Restricted Sharing도 차단하면 GKE 트랙을 사용하세요. 이는 `allUsers` 바인딩 없이 네트워크 계층에서 게이트웨이를 노출합니다. |

320| 배포 시 `Container manifest type … must support amd64/linux` | 이미지가 비 amd64 호스트에서 빌드되었거나 buildx가 OCI 이미지 인덱스를 내보냄 | `--platform=linux/amd64 --provenance=false`로 빌드 |320| 배포 시 `Container manifest type … must support amd64/linux` | 이미지가 비 amd64 호스트에서 빌드되었거나 buildx가 OCI 이미지 인덱스를 내보냄 | `--platform=linux/amd64 --provenance=false`로 빌드 |

Details

35```35```

36 36 

37| 필드 | 값 | 설명 |37| 필드 | 값 | 설명 |

38| ------------ | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |38| - | - | - |

39| `scope.type` | `user`, `rbac_group`, `organization` | `user`는 OpenID Connect (OIDC) `sub`로 하나의 개발자를 대상으로 하며, 이는 ID 공급자가 할당하는 안정적인 사용자 ID입니다. `scope.user_id`로 전달합니다. `rbac_group`은 [IdP 그룹](/docs/ko/claude-apps-gateway-config#managed)을 이름으로 대상으로 하며, `scope.rbac_group_id`로 전달합니다. `organization`은 조직 전체 기본값입니다. 게이트웨이는 세 가지 모두 허용합니다. Anthropic의 공개 `POST`는 현재 사용자 전용입니다. |39| `scope.type` | `user`, `rbac_group`, `organization` | `user`는 OpenID Connect (OIDC) `sub`로 하나의 개발자를 대상으로 하며, 이는 ID 공급자가 할당하는 안정적인 사용자 ID입니다. `scope.user_id`로 전달합니다. `rbac_group`은 [IdP 그룹](/docs/ko/claude-apps-gateway-config#managed)을 이름으로 대상으로 하며, `scope.rbac_group_id`로 전달합니다. `organization`은 조직 전체 기본값입니다. 게이트웨이는 세 가지 모두 허용합니다. Anthropic의 공개 `POST`는 현재 사용자 전용입니다. |

40| `amount` | USD 센트의 정수 문자열 또는 `null` | `null`은 무제한입니다. `"0"`은 모든 요청을 차단하는 0 한도입니다. |40| `amount` | USD 센트의 정수 문자열 또는 `null` | `null`은 무제한입니다. `"0"`은 모든 요청을 차단하는 0 한도입니다. |

41| `period` | `daily`, `weekly`, `monthly` | 범위는 기간당 하나의 한도를 보유할 수 있으며 각각 독립적으로 적용됩니다. 개발자는 이들 중 하나를 초과하면 차단됩니다. |41| `period` | `daily`, `weekly`, `monthly` | 범위는 기간당 하나의 한도를 보유할 수 있으며 각각 독립적으로 적용됩니다. 개발자는 이들 중 하나를 초과하면 차단됩니다. |


108아래 엔드포인트는 `/v1/organizations/spend_limits` 아래에서 제공됩니다.108아래 엔드포인트는 `/v1/organizations/spend_limits` 아래에서 제공됩니다.

109 109 

110| 메서드 및 경로 | 설명 |110| 메서드 및 경로 | 설명 |

111| ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |111| - | - |

112| `GET /v1/organizations/spend_limits` | 구성된 한도를 나열합니다. 선택적으로 `organization`, `rbac_group` 또는 `user`의 `scope_type`으로 필터링됩니다. 쿼리: `?limit=&after_id=&before_id=&scope_type=`. |112| `GET /v1/organizations/spend_limits` | 구성된 한도를 나열합니다. 선택적으로 `organization`, `rbac_group` 또는 `user`의 `scope_type`으로 필터링됩니다. 쿼리: `?limit=&after_id=&before_id=&scope_type=`. |

113| `POST /v1/organizations/spend_limits` | `{scope, period}`에 대한 한도를 생성하거나 대체합니다. |113| `POST /v1/organizations/spend_limits` | `{scope, period}`에 대한 한도를 생성하거나 대체합니다. |

114| `GET /v1/organizations/spend_limits/{id}` | `spl_` 접두사가 있는 ID로 하나의 한도를 가져옵니다. |114| `GET /v1/organizations/spend_limits/{id}` | `spl_` 접두사가 있는 ID로 하나의 한도를 가져옵니다. |


142그룹 소스 한도는 적용이 사용하는 동일한 `group_limit_mode` 동점 결정으로 마지막 확인 그룹에 대해 해결되므로 뷰어는 실제로 적용되는 한도를 표시합니다.142그룹 소스 한도는 적용이 사용하는 동일한 `group_limit_mode` 동점 결정으로 마지막 확인 그룹에 대해 해결되므로 뷰어는 실제로 적용되는 한도를 표시합니다.

143 143 

144| 쿼리 매개변수 | 설명 |144| 쿼리 매개변수 | 설명 |

145| ---------------- | --------------------------------------------------------------- |145| - | - |

146| `user_ids[]` | 반복 가능. OIDC `sub`로 특정 주체로 필터링합니다. |146| `user_ids[]` | 반복 가능. OIDC `sub`로 특정 주체로 필터링합니다. |

147| `period[]` | 반복 가능. `daily`, `weekly` 또는 `monthly` 행으로 필터링합니다. |147| `period[]` | 반복 가능. `daily`, `weekly` 또는 `monthly` 행으로 필터링합니다. |

148| `sort` | `spend_desc`는 상위 지출자를 먼저 나열합니다. 정확히 하나의 `period[]`가 필요합니다. |148| `sort` | `spend_desc`는 상위 지출자를 먼저 나열합니다. 정확히 하나의 `period[]`가 필요합니다. |


172게이트웨이는 4개의 지출 관련 테이블을 보유합니다. 시간별 스윕은 보존 기간을 적용합니다:172게이트웨이는 4개의 지출 관련 테이블을 보유합니다. 시간별 스윕은 보존 기간을 적용합니다:

173 173 

174| 테이블 | 내용 | 보존 |174| 테이블 | 내용 | 보존 |

175| ------------------ | --------------------------------------------- | ----------------------------------------------------------------------------------------- |175| - | - | - |

176| `spend` | 주체별 기간 누적 카운터(센트) | [`admin.spend_retention_months`](/docs/ko/claude-apps-gateway-config#admin), 기본값 13 |176| `spend` | 주체별 기간 누적 카운터(센트) | [`admin.spend_retention_months`](/docs/ko/claude-apps-gateway-config#admin), 기본값 13 |

177| `spend_limits` | 구성된 한도 | API를 통해 삭제될 때까지 |177| `spend_limits` | 구성된 한도 | API를 통해 삭제될 때까지 |

178| `admin_audit` | 변경 추적 | [`admin.audit_retention_days`](/docs/ko/claude-apps-gateway-config#admin), 기본값 365 |178| `admin_audit` | 변경 추적 | [`admin.audit_retention_days`](/docs/ko/claude-apps-gateway-config#admin), 기본값 365 |

Details

53클라우드 세션은 코드를 복제하고 분기를 푸시하기 위해 GitHub 저장소에 액세스해야 합니다. 두 가지 방법으로 액세스 권한을 부여할 수 있습니다:53클라우드 세션은 코드를 복제하고 분기를 푸시하기 위해 GitHub 저장소에 액세스해야 합니다. 두 가지 방법으로 액세스 권한을 부여할 수 있습니다:

54 54 

55| 방법 | 연결 방식 | 세션이 도달할 수 있는 저장소 | 최적 대상 |55| 방법 | 연결 방식 | 세션이 도달할 수 있는 저장소 | 최적 대상 |

56| :--------------- | :---------------------------------------------------------- | :----------------------------------------- | :------------------------------------------------ |56| :- | :- | :- | :- |

57| **GitHub App** | [웹 온보딩](/docs/ko/web-quickstart) 중에 Claude GitHub App을 승인합니다. | 모든 공개 저장소 및 Claude GitHub App이 설치된 비공개 저장소 | 브라우저 온보딩; [자동 수정](#auto-fix-pull-requests)을 원하는 팀 |57| **GitHub App** | [웹 온보딩](/docs/ko/web-quickstart) 중에 Claude GitHub App을 승인합니다. | 모든 공개 저장소 및 Claude GitHub App이 설치된 비공개 저장소 | 브라우저 온보딩; [자동 수정](#auto-fix-pull-requests)을 원하는 팀 |

58| **`/web-setup`** | 터미널에서 `/web-setup`을 실행하여 로컬 `gh` CLI 토큰을 Claude 계정으로 전송합니다. | `gh` 토큰이 액세스할 수 있는 모든 저장소(App 설치 여부와 관계없음) | 이미 `gh`를 사용하는 개별 개발자 |58| **`/web-setup`** | 터미널에서 `/web-setup`을 실행하여 로컬 `gh` CLI 토큰을 Claude 계정으로 전송합니다. | `gh` 토큰이 액세스할 수 있는 모든 저장소(App 설치 여부와 관계없음) | 이미 `gh`를 사용하는 개별 개발자 |

59 59 


187CLI는 오류 앞에 `Error: `를 붙입니다. 실패한 전달은 `failed to send message to cloud session <id>: <reason>`으로 래핑됩니다.187CLI는 오류 앞에 `Error: `를 붙입니다. 실패한 전달은 `failed to send message to cloud session <id>: <reason>`으로 래핑됩니다.

188 188 

189| 메시지 | 의미 |189| 메시지 | 의미 |

190| --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |190| - | - |

191| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code가 타사 제공자로 구성되어 있습니다. 메시지는 구성이 사용하는 레이블(예: `Amazon Bedrock` 또는 `Google Vertex AI`)과 함께 제공자의 이름을 지정합니다. 예를 들어 `CLAUDE_CODE_USE_BEDROCK`을 설정 해제하여 해당 제공자의 구성을 제거하고 Anthropic 계정(`claude auth login`)으로 로그인하세요. |191| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code가 타사 제공자로 구성되어 있습니다. 메시지는 구성이 사용하는 레이블(예: `Amazon Bedrock` 또는 `Google Vertex AI`)과 함께 제공자의 이름을 지정합니다. 예를 들어 `CLAUDE_CODE_USE_BEDROCK`을 설정 해제하여 해당 제공자의 구성을 제거하고 Anthropic 계정(`claude auth login`)으로 로그인하세요. |

192| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | `allow_remote_sessions` 조직 정책이 꺼져 있습니다. |192| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | `allow_remote_sessions` 조직 정책이 꺼져 있습니다. |

193| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code가 조직의 정책을 가져올 수 없어 클라우드 세션이 허용된다고 가정하기보다는 전송을 거부합니다. 네트워크 연결을 확인하고 다시 시도하세요. |193| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code가 조직의 정책을 가져올 수 없어 클라우드 세션이 허용된다고 가정하기보다는 전송을 거부합니다. 네트워크 연결을 확인하고 다시 시도하세요. |


218텔레포트는 세션을 재개하기 전에 이러한 요구 사항을 확인합니다. 요구 사항이 충족되지 않으면 오류가 표시되거나 문제를 해결하라는 메시지가 표시됩니다.218텔레포트는 세션을 재개하기 전에 이러한 요구 사항을 확인합니다. 요구 사항이 충족되지 않으면 오류가 표시되거나 문제를 해결하라는 메시지가 표시됩니다.

219 219 

220| 요구 사항 | 세부 정보 |220| 요구 사항 | 세부 정보 |

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

222| Clean git state | 작업 디렉토리에 커밋되지 않은 변경 사항이 없어야 합니다. 텔레포트가 필요한 경우 변경 사항을 stash하라는 메시지를 표시합니다. |222| Clean git state | 작업 디렉토리에 커밋되지 않은 변경 사항이 없어야 합니다. 텔레포트가 필요한 경우 변경 사항을 stash하라는 메시지를 표시합니다. |

223| 올바른 저장소 | fork가 아닌 동일한 저장소의 체크아웃에서 `--teleport`를 실행해야 합니다. 다른 저장소의 체크아웃에서 실행하면 Claude Code는 세션의 저장소와 체크아웃의 저장소 모두의 이름을 지정하는 오류를 표시합니다. v2.1.219 이전에는 오류가 체크아웃의 저장소 이름을 지정하지 않았습니다. Claude Code가 `git@work:owner/repo.git`과 같은 SSH 호스트 별칭으로 원격을 호스트 이름으로 구문 분석할 수 없으면 확인을 요청하고 원격의 소유자 및 저장소 이름이 세션의 저장소와 일치할 때 체크아웃을 수락합니다. |223| 올바른 저장소 | fork가 아닌 동일한 저장소의 체크아웃에서 `--teleport`를 실행해야 합니다. 다른 저장소의 체크아웃에서 실행하면 Claude Code는 세션의 저장소와 체크아웃의 저장소 모두의 이름을 지정하는 오류를 표시합니다. v2.1.219 이전에는 오류가 체크아웃의 저장소 이름을 지정하지 않았습니다. Claude Code가 `git@work:owner/repo.git`과 같은 SSH 호스트 별칭으로 원격을 호스트 이름으로 구문 분석할 수 없으면 확인을 요청하고 원격의 소유자 및 저장소 이름이 세션의 저장소와 일치할 때 체크아웃을 수락합니다. |

224| 분기 사용 가능 | 클라우드 세션의 분기가 원격으로 푸시되어야 합니다. 텔레포트가 자동으로 가져와 체크아웃합니다. |224| 분기 사용 가능 | 클라우드 세션의 분기가 원격으로 푸시되어야 합니다. 텔레포트가 자동으로 가져와 체크아웃합니다. |


257컨텍스트 관리 특히:257컨텍스트 관리 특히:

258 258 

259| 명령 | 클라우드 세션에서 작동 | 참고 |259| 명령 | 클라우드 세션에서 작동 | 참고 |

260| :--------- | :----------- | :-------------------------------------------------------------------------- |260| :- | :- | :- |

261| `/compact` | 예 | 대화를 요약하여 컨텍스트를 확보합니다. `/compact keep the test output`과 같은 선택적 포커스 지침을 허용합니다 |261| `/compact` | 예 | 대화를 요약하여 컨텍스트를 확보합니다. `/compact keep the test output`과 같은 선택적 포커스 지침을 허용합니다 |

262| `/context` | 예 | 현재 컨텍스트 윈도우에 있는 것을 표시합니다 |262| `/context` | 예 | 현재 컨텍스트 윈도우에 있는 것을 표시합니다 |

263| `/clear` | 아니오 | 사이드바에서 새 세션을 시작하세요 |263| `/clear` | 아니오 | 사이드바에서 새 세션을 시작하세요 |

Details

1451탐색기는 작성하고 편집하는 파일을 다룹니다. 관련된 몇 가지 파일은 다른 위치에 있습니다.1451탐색기는 작성하고 편집하는 파일을 다룹니다. 관련된 몇 가지 파일은 다른 위치에 있습니다.

1452 1452 

1453| 파일 | 위치 | 목적 |1453| 파일 | 위치 | 목적 |

1454| ----------------------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1454| - | - | - |

1455| `managed-settings.json` | 시스템 수준, OS에 따라 다름 | 재정의할 수 없는 엔터프라이즈 강제 설정입니다. [좁은 예외](/docs/ko/settings#security-keys-where-the-stricter-value-applies)를 제외하고는 재정의할 수 없습니다. [파일을 저장할 위치](/docs/ko/managed-settings#deploy-a-managed-settings-file) 및 [Claude Code가 사용하는 관리되는 소스](/docs/ko/managed-settings#precedence-within-the-managed-tier)를 참조하세요. |1455| `managed-settings.json` | 시스템 수준, OS에 따라 다름 | 재정의할 수 없는 엔터프라이즈 강제 설정입니다. [좁은 예외](/docs/ko/settings#security-keys-where-the-stricter-value-applies)를 제외하고는 재정의할 수 없습니다. [파일을 저장할 위치](/docs/ko/managed-settings#deploy-a-managed-settings-file) 및 [Claude Code가 사용하는 관리되는 소스](/docs/ko/managed-settings#precedence-within-the-managed-tier)를 참조하세요. |

1456| `CLAUDE.local.md` | 프로젝트 루트 | 이 프로젝트에 대한 개인 기본 설정으로, CLAUDE.md와 함께 로드됩니다. 수동으로 생성하고 `.gitignore`에 추가합니다. |1456| `CLAUDE.local.md` | 프로젝트 루트 | 이 프로젝트에 대한 개인 기본 설정으로, CLAUDE.md와 함께 로드됩니다. 수동으로 생성하고 `.gitignore`에 추가합니다. |

1457| `AGENTS.md` | 프로젝트 루트, `.claude/`, 또는 모든 디렉터리 | AI 코딩 에이전트를 위해 작성하는 프로젝트 지침입니다. Claude Code는 [이를 로드](/docs/ko/memory#agents-md)할 수 있으며, `CLAUDE.md`와 함께 로드할 수도 있습니다. |1457| `AGENTS.md` | 프로젝트 루트, `.claude/`, 또는 모든 디렉터리 | AI 코딩 에이전트를 위해 작성하는 프로젝트 지침입니다. Claude Code는 [이를 로드](/docs/ko/memory#agents-md)할 수 있으며, `CLAUDE.md`와 함께 로드할 수도 있습니다. |


1466다양한 종류의 사용자 정의는 다양한 파일에 있습니다. 이 표를 사용하여 변경 사항이 어디에 속하는지 찾습니다.1466다양한 종류의 사용자 정의는 다양한 파일에 있습니다. 이 표를 사용하여 변경 사항이 어디에 속하는지 찾습니다.

1467 1467 

1468| 원하는 작업 | 편집 | 범위 | 참조 |1468| 원하는 작업 | 편집 | 범위 | 참조 |

1469| :--------------------------- | :--------------------------------------- | :--------- | :---------------------------------------- |1469| :- | :- | :- | :- |

1470| Claude에 프로젝트 컨텍스트 및 규칙 제공 | `CLAUDE.md` | 프로젝트 또는 전역 | [메모리](/docs/ko/memory) |1470| Claude에 프로젝트 컨텍스트 및 규칙 제공 | `CLAUDE.md` | 프로젝트 또는 전역 | [메모리](/docs/ko/memory) |

1471| 특정 도구 호출 허용 또는 차단 | `settings.json` `permissions` 또는 `hooks` | 프로젝트 또는 전역 | [권한](/docs/ko/permissions), [Hooks](/docs/ko/hooks) |1471| 특정 도구 호출 허용 또는 차단 | `settings.json` `permissions` 또는 `hooks` | 프로젝트 또는 전역 | [권한](/docs/ko/permissions), [Hooks](/docs/ko/hooks) |

1472| 도구 호출 전후에 스크립트 실행 | `settings.json` `hooks` | 프로젝트 또는 전역 | [Hooks](/docs/ko/hooks) |1472| 도구 호출 전후에 스크립트 실행 | `settings.json` `hooks` | 프로젝트 또는 전역 | [Hooks](/docs/ko/hooks) |


1497파일 이름을 클릭하여 위의 탐색기에서 해당 노드를 엽니다.1497파일 이름을 클릭하여 위의 탐색기에서 해당 노드를 엽니다.

1498 1498 

1499| 파일 | 범위 | 커밋 | 기능 | 참조 |1499| 파일 | 범위 | 커밋 | 기능 | 참조 |

1500| --------------------------------------------------- | --------- | -- | ----------------------------------------------------------------------- | --------------------------------------------------------------- |1500| - | - | - | - | - |

1501| [`CLAUDE.md`](#ce-claude-md) | 프로젝트 및 전역 | ✓ | 매 세션마다 로드되는 지침 | [메모리](/docs/ko/memory) |1501| [`CLAUDE.md`](#ce-claude-md) | 프로젝트 및 전역 | ✓ | 매 세션마다 로드되는 지침 | [메모리](/docs/ko/memory) |

1502| [`rules/*.md`](#ce-rules) | 프로젝트 및 전역 | ✓ | 주제 범위 지침, 선택적으로 경로 제한 | [규칙](/docs/ko/memory#organize-rules-with-claude/rules/) |1502| [`rules/*.md`](#ce-rules) | 프로젝트 및 전역 | ✓ | 주제 범위 지침, 선택적으로 경로 제한 | [규칙](/docs/ko/memory#organize-rules-with-claude/rules/) |

1503| [`settings.json`](#ce-settings-json) | 프로젝트 및 전역 | ✓ | 권한, hooks, 환경 변수, 모델 기본값 | [설정](/docs/ko/settings) |1503| [`settings.json`](#ce-settings-json) | 프로젝트 및 전역 | ✓ | 권한, hooks, 환경 변수, 모델 기본값 | [설정](/docs/ko/settings) |


1522Skills, command 파일, subagents, output styles, 그리고 rules는 파일 상단의 YAML [프론트매터](/docs/ko/glossary#frontmatter)에서 구성을 읽으며, 각각은 자신의 필드 집합을 허용합니다. 이 표는 각 파일의 필드 이름을 나열하고 이들을 설명하는 참조로 연결합니다.1522Skills, command 파일, subagents, output styles, 그리고 rules는 파일 상단의 YAML [프론트매터](/docs/ko/glossary#frontmatter)에서 구성을 읽으며, 각각은 자신의 필드 집합을 허용합니다. 이 표는 각 파일의 필드 이름을 나열하고 이들을 설명하는 참조로 연결합니다.

1523 1523 

1524| 파일 | 프론트매터 필드 | 참조 |1524| 파일 | 프론트매터 필드 | 참조 |

1525| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |1525| - | - | - |

1526| `skills/<name>/SKILL.md` | `name`, `description`, `when_to_use`, `argument-hint`, `arguments`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`, `metadata`, `license`, `compatibility` | [Skill 프론트매터](/docs/ko/skills#frontmatter-reference) |1526| `skills/<name>/SKILL.md` | `name`, `description`, `when_to_use`, `argument-hint`, `arguments`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`, `metadata`, `license`, `compatibility` | [Skill 프론트매터](/docs/ko/skills#frontmatter-reference) |

1527| `commands/*.md` | `name`과 `paths`를 제외한 skill 필드 | [Skill 프론트매터](/docs/ko/skills#frontmatter-reference) |1527| `commands/*.md` | `name`과 `paths`를 제외한 skill 필드 | [Skill 프론트매터](/docs/ko/skills#frontmatter-reference) |

1528| `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `effort`, `isolation`, `color`, `initialPrompt`, `omitClaudeMd`, `experimental` | [Subagent 프론트매터](/docs/ko/sub-agents#supported-frontmatter-fields) |1528| `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `effort`, `isolation`, `color`, `initialPrompt`, `omitClaudeMd`, `experimental` | [Subagent 프론트매터](/docs/ko/sub-agents#supported-frontmatter-fields) |


1550Claude Code는 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays)보다 오래된 아래 경로의 파일들을 삭제합니다. 보존 기간을 안전하게 결정할 수 있는 한 말입니다. 기본값은 30일이고 최소값은 1입니다. `0`으로 설정하면 유효성 검사 오류가 발생합니다. 동일한 나이 기준이 [고아 worktrees의 자동 제거](/docs/ko/worktrees#clean-up-subagent-and-background-session-worktrees)에도 적용됩니다.1550Claude Code는 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays)보다 오래된 아래 경로의 파일들을 삭제합니다. 보존 기간을 안전하게 결정할 수 있는 한 말입니다. 기본값은 30일이고 최소값은 1입니다. `0`으로 설정하면 유효성 검사 오류가 발생합니다. 동일한 나이 기준이 [고아 worktrees의 자동 제거](/docs/ko/worktrees#clean-up-subagent-and-background-session-worktrees)에도 적용됩니다.

1551 1551 

1552| `~/.claude/` 아래 경로 | 내용 |1552| `~/.claude/` 아래 경로 | 내용 |

1553| ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1553| - | - |

1554| `projects/<project>/<session>.jsonl` | 전체 대화 트랜스크립트: 모든 메시지, 도구 호출 및 도구 결과 |1554| `projects/<project>/<session>.jsonl` | 전체 대화 트랜스크립트: 모든 메시지, 도구 호출 및 도구 결과 |

1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Claude Code가 덮어쓰거나 삭제하는 대신 따로 보관한 세션의 이전 트랜스크립트입니다. 세션 선택기에 나타나지 않습니다 |1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Claude Code가 덮어쓰거나 삭제하는 대신 따로 보관한 세션의 이전 트랜스크립트입니다. 세션 선택기에 나타나지 않습니다 |

1556| `projects/<project>/<session>/subagents/` | [Subagent](/docs/ko/sub-agents) 대화 트랜스크립트, 상위 세션 트랜스크립트가 오래되면 함께 제거됨 |1556| `projects/<project>/<session>/subagents/` | [Subagent](/docs/ko/sub-agents) 대화 트랜스크립트, 상위 세션 트랜스크립트가 오래되면 함께 제거됨 |


1589보존 정리 스윕은 아래 경로를 제거하지 않습니다. Claude Code는 삭제할 때까지 유지합니다. 단, 로그아웃할 때 삭제하는 두 개의 캐시는 제외합니다.1589보존 정리 스윕은 아래 경로를 제거하지 않습니다. Claude Code는 삭제할 때까지 유지합니다. 단, 로그아웃할 때 삭제하는 두 개의 캐시는 제외합니다.

1590 1590 

1591| `~/.claude/` 아래 경로 | 내용 |1591| `~/.claude/` 아래 경로 | 내용 |

1592| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1592| - | - |

1593| `history.jsonl` | 입력한 모든 프롬프트, 타임스탬프 및 프로젝트 경로 포함. 위쪽 화살표 회상, `Ctrl+R` 히스토리 검색 및 `!` 셸 명령 완성에 사용됩니다. |1593| `history.jsonl` | 입력한 모든 프롬프트, 타임스탬프 및 프로젝트 경로 포함. 위쪽 화살표 회상, `Ctrl+R` 히스토리 검색 및 `!` 셸 명령 완성에 사용됩니다. |

1594| `stats-cache.json` | `/usage`에 표시된 집계된 토큰 및 비용 수 |1594| `stats-cache.json` | `/usage`에 표시된 집계된 토큰 및 비용 수 |

1595| `remote-settings.json` | [서버 관리 설정](/docs/ko/server-managed-settings)의 캐시된 복사본. 조직의 경우 또는 조직이 구성하지 않은 경우 `{}`. 세션이 [이를 가져올](/docs/ko/server-managed-settings#platform-availability) 때만 존재합니다. Claude Code는 시작 시 및 세션 중 매시간 업데이트를 확인합니다. Claude Code는 로그아웃할 때 삭제합니다. |1595| `remote-settings.json` | [서버 관리 설정](/docs/ko/server-managed-settings)의 캐시된 복사본. 조직의 경우 또는 조직이 구성하지 않은 경우 `{}`. 세션이 [이를 가져올](/docs/ko/server-managed-settings#platform-availability) 때만 존재합니다. Claude Code는 시작 시 및 세션 중 매시간 업데이트를 확인합니다. Claude Code는 로그아웃할 때 삭제합니다. |


1678위의 [애플리케이션 데이터 경로](#state-files-to-keep)를 제외한 모든 경로를 직접 삭제할 수도 있습니다. 새 세션은 영향을 받지 않습니다. 아래 표는 과거 세션에서 손실되는 것을 보여줍니다.1678위의 [애플리케이션 데이터 경로](#state-files-to-keep)를 제외한 모든 경로를 직접 삭제할 수도 있습니다. 새 세션은 영향을 받지 않습니다. 아래 표는 과거 세션에서 손실되는 것을 보여줍니다.

1679 1679 

1680| 삭제 | 손실되는 것 |1680| 삭제 | 손실되는 것 |

1681| -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |1681| - | - |

1682| `~/.claude/projects/` | 과거 세션의 재개, 계속 및 되감기, 그리고 모든 프로젝트의 자동 메모리 |1682| `~/.claude/projects/` | 과거 세션의 재개, 계속 및 되감기, 그리고 모든 프로젝트의 자동 메모리 |

1683| `~/.claude/history.jsonl` | 위쪽 화살표 프롬프트 회상, `Ctrl+R` 히스토리 검색 및 `!` 셸 명령 완성 |1683| `~/.claude/history.jsonl` | 위쪽 화살표 프롬프트 회상, `Ctrl+R` 히스토리 검색 및 `!` 셸 명령 완성 |

1684| `~/.claude/paste-cache/` | 회상된 프롬프트의 붙여넣은 텍스트. [대형 콘텐츠 붙여넣기](/docs/ko/terminal-config#paste-large-content) 참조 |1684| `~/.claude/paste-cache/` | 회상된 프롬프트의 붙여넣은 텍스트. [대형 콘텐츠 붙여넣기](/docs/ko/terminal-config#paste-large-content) 참조 |

Details

220창의 **Threads** 탭은 상태별로 스레드를 그룹화합니다:220창의 **Threads** 탭은 상태별로 스레드를 그룹화합니다:

221 221 

222| 그룹 | 포함된 것 |222| 그룹 | 포함된 것 |

223| :------------------- | :------------------------------------------------------------------------------------------------------------- |223| :- | :- |

224| **Ready for review** | 풀 요청이 열려 있고 검토 대기 중인 스레드 |224| **Ready for review** | 풀 요청이 열려 있고 검토 대기 중인 스레드 |

225| **Waiting on you** | 회신 또는 승인이 필요하거나 실패한 스레드 |225| **Waiting on you** | 회신 또는 승인이 필요하거나 실패한 스레드 |

226| **Working** | 여전히 실행 중인 스레드 |226| **Working** | 여전히 실행 중인 스레드 |


284프로젝트 메모리, 프로젝트 지침, 그리고 프로젝트의 저장소, 파일, 환경은 스레드 전체에서 맥락을 유지합니다. 각 항목을 한 번 설정하면 됩니다.284프로젝트 메모리, 프로젝트 지침, 그리고 프로젝트의 저장소, 파일, 환경은 스레드 전체에서 맥락을 유지합니다. 각 항목을 한 번 설정하면 됩니다.

285 285 

286| 맥락 | 포함되는 내용 | 설정 방법 |286| 맥락 | 포함되는 내용 | 설정 방법 |

287| :---------- | :-------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |287| :- | :- | :- |

288| 프로젝트 메모리 | Claude가 프로젝트에 대해 유지하는 메모(요구사항, 결정사항, 주의사항 등)로, 파일로 저장됩니다. 모든 클라우드 스레드는 시작할 때 인덱스 파일 `MEMORY.md`를 읽고, 필요할 때 다른 파일을 엽니다 | 프로젝트 대화 또는 모든 클라우드 스레드에서 Claude에게 요구사항, 결정사항, 주의사항을 기억하거나 잊도록 요청합니다. **프로젝트 설정 > 메모리**에서 파일을 읽고, 편집하고, 삭제합니다 |288| 프로젝트 메모리 | Claude가 프로젝트에 대해 유지하는 메모(요구사항, 결정사항, 주의사항 등)로, 파일로 저장됩니다. 모든 클라우드 스레드는 시작할 때 인덱스 파일 `MEMORY.md`를 읽고, 필요할 때 다른 파일을 엽니다 | 프로젝트 대화 또는 모든 클라우드 스레드에서 Claude에게 요구사항, 결정사항, 주의사항을 기억하거나 잊도록 요청합니다. **프로젝트 설정 > 메모리**에서 파일을 읽고, 편집하고, 삭제합니다 |

289| 프로젝트 지침 | 모든 새로운 스레드와 프로젝트 대화의 Claude에게 전송되는 텍스트로, 최대 16,000자입니다. [프로젝트 지침 작성하기](#write-project-instructions)에서 포함할 내용을 다룹니다 | **프로젝트 설정 > 메모리 > 프로젝트 지침**, 또는 Claude에게 대화에서 지침을 변경하도록 요청합니다 |289| 프로젝트 지침 | 모든 새로운 스레드와 프로젝트 대화의 Claude에게 전송되는 텍스트로, 최대 16,000자입니다. [프로젝트 지침 작성하기](#write-project-instructions)에서 포함할 내용을 다룹니다 | **프로젝트 설정 > 메모리 > 프로젝트 지침**, 또는 Claude에게 대화에서 지침을 변경하도록 요청합니다 |

290| 저장소, 파일, 환경 | 모든 클라우드 스레드가 복제하는 저장소, 모든 스레드가 `/mnt/project-files` 아래에서 읽을 수 있는 폴더와 파일, 그리고 클라우드 환경이 실행되는 곳 | **프로젝트 설정 > 환경**의 저장소와 환경, 또는 대화에서 Claude에게 저장소를 프로젝트에 추가하도록 요청합니다. **개요**의 **라이브러리** 탭에서 **추가**를 통해 파일과 폴더를 추가합니다 |290| 저장소, 파일, 환경 | 모든 클라우드 스레드가 복제하는 저장소, 모든 스레드가 `/mnt/project-files` 아래에서 읽을 수 있는 폴더와 파일, 그리고 클라우드 환경이 실행되는 곳 | **프로젝트 설정 > 환경**의 저장소와 환경, 또는 대화에서 Claude에게 저장소를 프로젝트에 추가하도록 요청합니다. **개요**의 **라이브러리** 탭에서 **추가**를 통해 파일과 폴더를 추가합니다 |


338각 클라우드 스레드는 프로젝트의 모든 저장소를 복제하고 모든 저장소에서 `CLAUDE.md`와 스킬을 로드합니다. 권한 규칙, 훅, `env`는 스레드가 시작하는 디렉토리의 `.claude/settings.json`에서만 옵니다: 프로젝트가 하나일 때는 저장소 내부, 여러 개일 때는 복제본 위에서, 저장소의 파일이 읽히지 않는 곳입니다.338각 클라우드 스레드는 프로젝트의 모든 저장소를 복제하고 모든 저장소에서 `CLAUDE.md`와 스킬을 로드합니다. 권한 규칙, 훅, `env`는 스레드가 시작하는 디렉토리의 `.claude/settings.json`에서만 옵니다: 프로젝트가 하나일 때는 저장소 내부, 여러 개일 때는 복제본 위에서, 저장소의 파일이 읽히지 않는 곳입니다.

339 339 

340| 각 저장소에서 | 한 저장소 | 여러 저장소 |340| 각 저장소에서 | 한 저장소 | 여러 저장소 |

341| :-------------------------------------------- | :--------------------------------------------------------------------------------------------------------- | :------------------------------------------- |341| :- | :- | :- |

342| `CLAUDE.md` | 스레드가 시작할 때 로드됨 | 스레드가 시작할 때 모든 저장소에서 로드됨 |342| `CLAUDE.md` | 스레드가 시작할 때 로드됨 | 스레드가 시작할 때 모든 저장소에서 로드됨 |

343| `.claude/` 아래의 스킬, 에이전트, 명령 | 로드됨 | 모든 저장소에서 로드됨 |343| `.claude/` 아래의 스킬, 에이전트, 명령 | 로드됨 | 모든 저장소에서 로드됨 |

344| `.claude/settings.json`에서 활성화된 플러그인 | 로드되지 않음. 대신 **프로젝트 설정 > 플러그인**에서 플러그인을 추가하세요 | 로드되지 않음. 대신 **프로젝트 설정 > 플러그인**에서 플러그인을 추가하세요 |344| `.claude/settings.json`에서 활성화된 플러그인 | 로드되지 않음. 대신 **프로젝트 설정 > 플러그인**에서 플러그인을 추가하세요 | 로드되지 않음. 대신 **프로젝트 설정 > 플러그인**에서 플러그인을 추가하세요 |


376설정은 변경할 때 저장됩니다. 목표 또는 지침과 같이 편집 중인 텍스트 필드는 떠날 때까지 **Save changes** 및 **Discard**를 표시합니다. **Project settings**의 지침, 저장소, 플러그인 및 환경 변경은 이미 실행 중인 스레드가 아닌 새 스레드에 도달합니다.376설정은 변경할 때 저장됩니다. 목표 또는 지침과 같이 편집 중인 텍스트 필드는 떠날 때까지 **Save changes** 및 **Discard**를 표시합니다. **Project settings**의 지침, 저장소, 플러그인 및 환경 변경은 이미 실행 중인 스레드가 아닌 새 스레드에 도달합니다.

377 377 

378| 설정 | 섹션 | 제어하는 것 |378| 설정 | 섹션 | 제어하는 것 |

379| :------------------ | :---------- | :-------------------------------------------------------------------------------------- |379| :- | :- | :- |

380| 이름, 아이콘 및 목표 | General | 사이드바의 프로젝트 이름 및 아이콘, 그리고 한 줄 목표 |380| 이름, 아이콘 및 목표 | General | 사이드바의 프로젝트 이름 및 아이콘, 그리고 한 줄 목표 |

381| Coordinator 모델 및 노력 | General | 프로젝트 대화의 Claude에 대한 모델 및 [노력 수준](/docs/ko/model-config#adjust-effort-level) |381| Coordinator 모델 및 노력 | General | 프로젝트 대화의 Claude에 대한 모델 및 [노력 수준](/docs/ko/model-config#adjust-effort-level) |

382| Thread 모델 및 노력 | General | 스레드에 대한 모델 및 노력 수준 |382| Thread 모델 및 노력 | General | 스레드에 대한 모델 및 노력 수준 |


520이 메시지들은 자신의 원인을 명시합니다. 표는 각각에 대한 다음 단계를 제공합니다.520이 메시지들은 자신의 원인을 명시합니다. 표는 각각에 대한 다음 단계를 제공합니다.

521 521 

522| 메시지 | 수행할 작업 |522| 메시지 | 수행할 작업 |

523| :---------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |523| :- | :- |

524| "저장소에 연결할 수 없음"과 함께 "Claude가 저장소를 가져오기 위해 GitHub에 도달할 수 없음" | 잠시 기다린 후 다시 시도하려면 다른 메시지를 보내십시오 |524| "저장소에 연결할 수 없음"과 함께 "Claude가 저장소를 가져오기 위해 GitHub에 도달할 수 없음" | 잠시 기다린 후 다시 시도하려면 다른 메시지를 보내십시오 |

525| "저장소에 연결할 수 없음"과 함께 "Claude가 저장소 또는 환경에 액세스할 수 없음" | GitHub 계정은 저장소에 대한 푸시 액세스가 필요하며, 환경은 여전히 존재해야 합니다. **프로젝트 설정 > 환경**에서 둘 다 확인한 후 다시 시도하십시오 |525| "저장소에 연결할 수 없음"과 함께 "Claude가 저장소 또는 환경에 액세스할 수 없음" | GitHub 계정은 저장소에 대한 푸시 액세스가 필요하며, 환경은 여전히 존재해야 합니다. **프로젝트 설정 > 환경**에서 둘 다 확인한 후 다시 시도하십시오 |

526| "설정 제안을 표시할 수 없음" | 열려 있는 앱이 Claude가 보낸 **설정 권장 사항**보다 오래되었습니다. 페이지를 새로 고치거나 데스크톱 앱을 다시 시작하거나, Claude에게 설정을 다시 제안하도록 요청하십시오 |526| "설정 제안을 표시할 수 없음" | 열려 있는 앱이 Claude가 보낸 **설정 권장 사항**보다 오래되었습니다. 페이지를 새로 고치거나 데스크톱 앱을 다시 시작하거나, Claude에게 설정을 다시 제안하도록 요청하십시오 |

Details

140Claude Security 플러그인은 [보안 지침 플러그인](/docs/ko/security-guidance), [`/security-review`](/docs/ko/commands#all-commands), [Code Review](/docs/ko/code-review), 관리형 [Claude Security](https://claude.com/product/claude-security) 제품 및 기존 스캐너와 함께 심층 방어 스택의 온디맨드 심층 스캔 계층입니다.140Claude Security 플러그인은 [보안 지침 플러그인](/docs/ko/security-guidance), [`/security-review`](/docs/ko/commands#all-commands), [Code Review](/docs/ko/code-review), 관리형 [Claude Security](https://claude.com/product/claude-security) 제품 및 기존 스캐너와 함께 심층 방어 스택의 온디맨드 심층 스캔 계층입니다.

141 141 

142| 단계 | 도구 | 범위 |142| 단계 | 도구 | 범위 |

143| :---------- | :--------------------------------------------------------------------------- | :-------------------------------------------- |143| :- | :- | :- |

144| 세션 내 | [보안 지침 플러그인](/docs/ko/security-guidance) | Claude가 작성하는 코드의 일반적인 취약점. 동일한 세션에서 수정됨 |144| 세션 내 | [보안 지침 플러그인](/docs/ko/security-guidance) | Claude가 작성하는 코드의 일반적인 취약점. 동일한 세션에서 수정됨 |

145| 온디맨드, 단일 패스 | [`/security-review`](/docs/ko/commands#all-commands) | 현재 브랜치에 대한 일회성 보안 패스 |145| 온디맨드, 단일 패스 | [`/security-review`](/docs/ko/commands#all-commands) | 현재 브랜치에 대한 일회성 보안 패스 |

146| 온디맨드, 심층 스캔 | Claude Security 플러그인 | 저장소 또는 diff의 다중 에이전트 스캔. 독립적으로 검토된 발견 사항 및 패치 |146| 온디맨드, 심층 스캔 | Claude Security 플러그인 | 저장소 또는 diff의 다중 에이전트 스캔. 독립적으로 검토된 발견 사항 및 패치 |

Details

13이러한 명령어를 사용하여 세션을 시작하고, 콘텐츠를 파이프하고, 대화를 재개하고, 업데이트를 관리할 수 있습니다:13이러한 명령어를 사용하여 세션을 시작하고, 콘텐츠를 파이프하고, 대화를 재개하고, 업데이트를 관리할 수 있습니다:

14 14 

15| 명령어 | 설명 | 예시 |15| 명령어 | 설명 | 예시 |

16| :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- |16| :- | :- | :- |

17| `claude` | 대화형 세션 시작 | `claude` |17| `claude` | 대화형 세션 시작 | `claude` |

18| `claude "query"` | 초기 프롬프트로 대화형 세션 시작 | `claude "explain this project"` |18| `claude "query"` | 초기 프롬프트로 대화형 세션 시작 | `claude "explain this project"` |

19| `claude -p "query"` | SDK를 통해 쿼리하고 종료 | `claude -p "explain this function"` |19| `claude -p "query"` | SDK를 통해 쿼리하고 종료 | `claude -p "explain this function"` |


60Claude Code의 동작을 이러한 명령줄 플래그로 사용자 정의합니다. `claude --help`는 모든 플래그를 나열하지 않으므로, 플래그가 `--help`에 없다고 해서 사용할 수 없다는 의미는 아닙니다.60Claude Code의 동작을 이러한 명령줄 플래그로 사용자 정의합니다. `claude --help`는 모든 플래그를 나열하지 않으므로, 플래그가 `--help`에 없다고 해서 사용할 수 없다는 의미는 아닙니다.

61 61 

62| 플래그 | 설명 | 예시 |62| 플래그 | 설명 | 예시 |

63| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| `--add-dir` | Claude가 파일을 읽고 편집할 수 있도록 추가 작업 디렉터리를 추가합니다. 파일 액세스 권한을 부여합니다. Claude Code는 이러한 디렉터리에서 대부분의 `.claude/` 구성을 [검색하지 않습니다](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration). 각 경로가 디렉터리로 존재하는지 검증합니다. `\\server\share`와 같은 대부분의 [네트워크 경로](/docs/ko/errors#working-directory-is-a-network-path)를 추가할 수 없습니다. 이러한 디렉터리를 세션 간에 유지하려면 설정에서 [`permissions.additionalDirectories`](/docs/ko/settings-reference#permissions-additionaldirectories)를 설정합니다 | `claude --add-dir ../apps ../lib` |64| `--add-dir` | Claude가 파일을 읽고 편집할 수 있도록 추가 작업 디렉터리를 추가합니다. 파일 액세스 권한을 부여합니다. Claude Code는 이러한 디렉터리에서 대부분의 `.claude/` 구성을 [검색하지 않습니다](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration). 각 경로가 디렉터리로 존재하는지 검증합니다. `\\server\share`와 같은 대부분의 [네트워크 경로](/docs/ko/errors#working-directory-is-a-network-path)를 추가할 수 없습니다. 이러한 디렉터리를 세션 간에 유지하려면 설정에서 [`permissions.additionalDirectories`](/docs/ko/settings-reference#permissions-additionaldirectories)를 설정합니다 | `claude --add-dir ../apps ../lib` |

65| `--advisor <model>` | 이 세션에 대해 모델 별칭 `fable`, `opus` 또는 `sonnet`, 또는 전체 모델 ID를 사용하여 서버 측 [advisor 도구](/docs/ko/advisor)를 활성화합니다. 세션에 대해 `advisorModel` 설정보다 우선합니다. `fable`은 [Fable 액세스](/docs/ko/advisor#choose-an-advisor-model)가 필요합니다 | `claude --advisor opus` |65| `--advisor <model>` | 이 세션에 대해 모델 별칭 `fable`, `opus` 또는 `sonnet`, 또는 전체 모델 ID를 사용하여 서버 측 [advisor 도구](/docs/ko/advisor)를 활성화합니다. 세션에 대해 `advisorModel` 설정보다 우선합니다. `fable`은 [Fable 액세스](/docs/ko/advisor#choose-an-advisor-model)가 필요합니다 | `claude --advisor opus` |

66| `--agent` | 현재 세션에 대한 에이전트를 지정합니다(`agent` 설정 재정의) | `claude --agent my-custom-agent` |66| `--agent` | 현재 세션에 대한 에이전트를 지정합니다(`agent` 설정 재정의) | `claude --agent my-custom-agent` |


148Claude Code는 시스템 프롬프트를 사용자 정의하기 위한 5개의 플래그를 제공합니다. 4개는 텍스트를 설정하고, `--system-prompt-snapshot`을 사용하면 대화가 시작한 텍스트를 유지하는지 여부를 제어합니다. 5개 모두 대화형 및 비대화형 모드에서 작동합니다.148Claude Code는 시스템 프롬프트를 사용자 정의하기 위한 5개의 플래그를 제공합니다. 4개는 텍스트를 설정하고, `--system-prompt-snapshot`을 사용하면 대화가 시작한 텍스트를 유지하는지 여부를 제어합니다. 5개 모두 대화형 및 비대화형 모드에서 작동합니다.

149 149 

150| 플래그 | 동작 | 예시 |150| 플래그 | 동작 | 예시 |

151| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |151| :- | :- | :- |

152| `--system-prompt` | 전체 기본 프롬프트를 바꿉니다 | `claude --system-prompt "You are a Python expert"` |152| `--system-prompt` | 전체 기본 프롬프트를 바꿉니다 | `claude --system-prompt "You are a Python expert"` |

153| `--system-prompt-file` | 파일 내용으로 바꿉니다 | `claude --system-prompt-file ./prompts/review.txt` |153| `--system-prompt-file` | 파일 내용으로 바꿉니다 | `claude --system-prompt-file ./prompts/review.txt` |

154| `--append-system-prompt` | 기본 프롬프트에 추가합니다 | `claude --append-system-prompt "Always use TypeScript"` |154| `--append-system-prompt` | 기본 프롬프트에 추가합니다 | `claude --append-system-prompt "Always use TypeScript"` |

Details

218[환경 대화 상자](#configure-your-environment)의 **Network access** 필드는 다음 네 가지 수준 중 하나를 사용합니다:218[환경 대화 상자](#configure-your-environment)의 **Network access** 필드는 다음 네 가지 수준 중 하나를 사용합니다:

219 219 

220| 수준 | 아웃바운드 연결 |220| 수준 | 아웃바운드 연결 |

221| :---------- | :------------------------------------------------------------------ |221| :- | :- |

222| **None** | 세션의 네트워크를 통한 아웃바운드 네트워크 액세스 없음 |222| **None** | 세션의 네트워크를 통한 아웃바운드 네트워크 액세스 없음 |

223| **Trusted** | [허용 목록 도메인](#default-allowed-domains)만: 패키지 레지스트리, GitHub, 클라우드 SDK |223| **Trusted** | [허용 목록 도메인](#default-allowed-domains)만: 패키지 레지스트리, GitHub, 클라우드 SDK |

224| **Full** | 모든 도메인 |224| **Full** | 모든 도메인 |


294클라우드 세션은 리포지토리의 새로운 복제본에서 시작됩니다. 리포지토리에 커밋한 모든 항목을 사용할 수 있습니다. 자신의 머신에만 설치하거나 구성한 항목은 세션에서 사용할 수 없습니다. 조직의 정책은 [서버 관리 설정](/docs/ko/server-managed-settings)을 통해 별도로 도착합니다.294클라우드 세션은 리포지토리의 새로운 복제본에서 시작됩니다. 리포지토리에 커밋한 모든 항목을 사용할 수 있습니다. 자신의 머신에만 설치하거나 구성한 항목은 세션에서 사용할 수 없습니다. 조직의 정책은 [서버 관리 설정](/docs/ko/server-managed-settings)을 통해 별도로 도착합니다.

295 295 

296| | 클라우드 세션에서 사용 가능 | 이유 |296| | 클라우드 세션에서 사용 가능 | 이유 |

297| :------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |297| :- | :- | :- |

298| 리포지토리의 `CLAUDE.md` | 예 | 복제본의 일부 |298| 리포지토리의 `CLAUDE.md` | 예 | 복제본의 일부 |

299| 리포지토리의 `.claude/settings.json` 훅 및 권한 규칙 | 예, 하나의 리포지토리가 있는 세션에서 | 복제본의 일부입니다. 여러 리포지토리가 있는 세션([프로젝트](/docs/ko/claude-projects#what-threads-pick-up-from-your-repositories) 스레드 포함)은 복제본 위에서 시작되며 이를 읽지 않습니다 |299| 리포지토리의 `.claude/settings.json` 훅 및 권한 규칙 | 예, 하나의 리포지토리가 있는 세션에서 | 복제본의 일부입니다. 여러 리포지토리가 있는 세션([프로젝트](/docs/ko/claude-projects#what-threads-pick-up-from-your-repositories) 스레드 포함)은 복제본 위에서 시작되며 이를 읽지 않습니다 |

300| 리포지토리의 `.mcp.json` MCP 서버 | 예, 하나의 리포지토리가 있는 세션에서 | 복제본의 일부이며 세션의 작업 디렉토리에서 찾습니다 |300| 리포지토리의 `.mcp.json` MCP 서버 | 예, 하나의 리포지토리가 있는 세션에서 | 복제본의 일부이며 세션의 작업 디렉토리에서 찾습니다 |


321클라우드 세션에는 일반적인 언어 런타임, 빌드 도구 및 데이터베이스가 사전 설치되어 있습니다. 아래 표는 카테고리별로 포함된 항목을 요약합니다.321클라우드 세션에는 일반적인 언어 런타임, 빌드 도구 및 데이터베이스가 사전 설치되어 있습니다. 아래 표는 카테고리별로 포함된 항목을 요약합니다.

322 322 

323| 카테고리 | 포함됨 |323| 카테고리 | 포함됨 |

324| :---------- | :-------------------------------------------------------------------- |324| :- | :- |

325| **Python** | pip, poetry, uv, black, mypy, pytest, ruff가 있는 Python 3.x |325| **Python** | pip, poetry, uv, black, mypy, pytest, ruff가 있는 Python 3.x |

326| **Node.js** | npm, yarn, pnpm, bun¹, eslint, prettier, chromedriver가 있는 20, 21 및 22 |326| **Node.js** | npm, yarn, pnpm, bun¹, eslint, prettier, chromedriver가 있는 20, 21 및 22 |

327| **Ruby** | gem, bundler, rbenv가 있는 3.1, 3.2, 3.3 |327| **Ruby** | gem, bundler, rbenv가 있는 3.1, 3.2, 3.3 |


469설정 스크립트 및 SessionStart 훅은 클라우드 세션이 시작될 때 고정된 순서로 실행됩니다. 표는 구성 위치, 실행 시기 및 실행 위치를 비교합니다.469설정 스크립트 및 SessionStart 훅은 클라우드 세션이 시작될 때 고정된 순서로 실행됩니다. 표는 구성 위치, 실행 시기 및 실행 위치를 비교합니다.

470 470 

471| | 설정 스크립트 | SessionStart 훅 |471| | 설정 스크립트 | SessionStart 훅 |

472| --------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |472| - | - | - |

473| **구성 위치** | [claude.ai/code](https://claude.ai/code)의 환경 대화 상자, 그리고 [공유 환경](#organization-shared-environments)의 **Cloud environments** 관리 페이지 | [설정 파일](/docs/ko/settings#where-settings-live)(예: 리포지토리의 `.claude/settings.json`). 클라우드 세션에 도달하는 파일은 [설정에서 전달되는 항목](#what-carries-over-from-your-setup)을 참조하세요 |473| **구성 위치** | [claude.ai/code](https://claude.ai/code)의 환경 대화 상자, 그리고 [공유 환경](#organization-shared-environments)의 **Cloud environments** 관리 페이지 | [설정 파일](/docs/ko/settings#where-settings-live)(예: 리포지토리의 `.claude/settings.json`). 클라우드 세션에 도달하는 파일은 [설정에서 전달되는 항목](#what-carries-over-from-your-setup)을 참조하세요 |

474| **실행 시기** | Claude Code가 시작되기 전에 [캐시된 환경](#environment-caching)이 없을 때만 | Claude Code가 시작된 후 재개된 세션을 포함한 모든 세션에서 |474| **실행 시기** | Claude Code가 시작되기 전에 [캐시된 환경](#environment-caching)이 없을 때만 | Claude Code가 시작된 후 재개된 세션을 포함한 모든 세션에서 |

475| **실행 위치** | 클라우드 세션만 | 로컬 및 클라우드 세션 |475| **실행 위치** | 클라우드 세션만 | 로컬 및 클라우드 세션 |

code-review.md +4 −4

Details

43각 결과는 심각도 수준으로 태그가 지정됩니다:43각 결과는 심각도 수준으로 태그가 지정됩니다:

44 44 

45| 마커 | 심각도 | 의미 |45| 마커 | 심각도 | 의미 |

46| :- | :----------- | :----------------------------- |46| :- | :- | :- |

47| 🔴 | Important | 병합 전에 수정해야 하는 버그 |47| 🔴 | Important | 병합 전에 수정해야 하는 버그 |

48| 🟡 | Nit | 경미한 문제, 수정할 가치가 있지만 차단하지는 않음 |48| 🟡 | Nit | 경미한 문제, 수정할 가치가 있지만 차단하지는 않음 |

49| 🟣 | Pre-existing | 코드베이스에 존재하지만 이 PR에서 도입되지 않은 버그 |49| 🟣 | Pre-existing | 코드베이스에 존재하지만 이 PR에서 도입되지 않은 버그 |


67인라인 검토 댓글 외에도 각 검토는 CI 확인과 함께 나타나는 **Claude Code Review** 확인 실행을 채웁니다. **Details** 링크를 확장하여 심각도별로 정렬된 모든 결과의 요약을 한 곳에서 확인합니다:67인라인 검토 댓글 외에도 각 검토는 CI 확인과 함께 나타나는 **Claude Code Review** 확인 실행을 채웁니다. **Details** 링크를 확장하여 심각도별로 정렬된 모든 결과의 요약을 한 곳에서 확인합니다:

68 68 

69| 심각도 | 파일:라인 | 문제 |69| 심각도 | 파일:라인 | 문제 |

70| ------------ | ------------------------- | -------------------------------------- |70| - | - | - |

71| 🔴 Important | `src/auth/session.ts:142` | 토큰 새로고침이 로그아웃과 경쟁하여 오래된 세션이 활성 상태로 유지됨 |71| 🔴 Important | `src/auth/session.ts:142` | 토큰 새로고침이 로그아웃과 경쟁하여 오래된 세션이 활성 상태로 유지됨 |

72| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry`가 잘못된 입력에서 자동으로 0을 반환함 |72| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry`가 잘못된 입력에서 자동으로 0을 반환함 |

73 73 


137댓글 명령은 요청 시 검토를 시작합니다. 이들은 리포지토리의 구성된 트리거와 관계없이 작동하므로 수동 모드에서 특정 PR을 검토에 옵트인하거나 다른 모드에서 즉시 재검토를 받을 수 있습니다.137댓글 명령은 요청 시 검토를 시작합니다. 이들은 리포지토리의 구성된 트리거와 관계없이 작동하므로 수동 모드에서 특정 PR을 검토에 옵트인하거나 다른 모드에서 즉시 재검토를 받을 수 있습니다.

138 138 

139| 명령 | 수행 작업 |139| 명령 | 수행 작업 |

140| :---------------------- | :-------------------------------------------- |140| :- | :- |

141| `@claude review` | 향후 푸시에 PR을 구독하지 않고 단일 검토를 시작합니다 |141| `@claude review` | 향후 푸시에 PR을 구독하지 않고 단일 검토를 시작합니다 |

142| `@claude review always` | 검토를 시작하고 앞으로 푸시 트리거 검토에 PR을 구독합니다 |142| `@claude review always` | 검토를 시작하고 앞으로 푸시 트리거 검토에 PR을 구독합니다 |

143| `@claude review once` | `@claude review`와 동일합니다: 구독하지 않고 단일 검토를 시작합니다 |143| `@claude review once` | `@claude review`와 동일합니다: 구독하지 않고 단일 검토를 시작합니다 |


262[claude.ai/analytics/code-review](https://claude.ai/analytics/code-review)로 이동하여 조직 전체의 Code Review 활동을 확인합니다. 대시보드는 다음을 표시합니다:262[claude.ai/analytics/code-review](https://claude.ai/analytics/code-review)로 이동하여 조직 전체의 Code Review 활동을 확인합니다. 대시보드는 다음을 표시합니다:

263 263 

264| 섹션 | 표시 내용 |264| 섹션 | 표시 내용 |

265| :------------------- | :------------------------------- |265| :- | :- |

266| PRs reviewed | 선택한 시간 범위 동안 검토된 풀 요청의 일일 개수 |266| PRs reviewed | 선택한 시간 범위 동안 검토된 풀 요청의 일일 개수 |

267| Cost weekly | Code Review의 주간 지출 |267| Cost weekly | Code Review의 주간 지출 |

268| Feedback | 개발자가 문제를 해결하여 자동으로 해결된 검토 댓글의 개수 |268| Feedback | 개발자가 문제를 해결하여 자동으로 해결된 검토 댓글의 개수 |

commands.md +1 −1

Details

52</Note>52</Note>

53 53 

54| 명령어 | 목적 |54| 명령어 | 목적 |

55| :----------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |55| :- | :- |

56| `/add-dir <path>` | 현재 세션 중에 파일 액세스를 위한 작업 디렉토리를 추가합니다. 부분 경로를 입력하여 일치하는 디렉토리 제안을 확인하고, `Tab`을 눌러 하나를 수락합니다. 대부분의 `.claude/` 구성은 추가된 디렉토리에서 [발견되지 않습니다](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration). 대부분의 [네트워크 경로](/docs/ko/errors#working-directory-is-a-network-path)(예: `\\server\share`)를 추가할 수 없습니다. 성공적으로 추가한 후 [`DirectoryAdded` 훅](/docs/ko/hooks#directoryadded)이 실행됩니다. Claude가 응답하는 동안 실행하면 Claude Code가 디렉토리를 즉시 확인하도록 요청하고, 확인하면 Claude의 같은 턴의 다음 도구 호출이 이에 액세스할 수 있습니다. v2.1.234 이전에는 Claude Code가 턴이 끝날 때까지 명령어를 대기열에 넣었습니다. |56| `/add-dir <path>` | 현재 세션 중에 파일 액세스를 위한 작업 디렉토리를 추가합니다. 부분 경로를 입력하여 일치하는 디렉토리 제안을 확인하고, `Tab`을 눌러 하나를 수락합니다. 대부분의 `.claude/` 구성은 추가된 디렉토리에서 [발견되지 않습니다](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration). 대부분의 [네트워크 경로](/docs/ko/errors#working-directory-is-a-network-path)(예: `\\server\share`)를 추가할 수 없습니다. 성공적으로 추가한 후 [`DirectoryAdded` 훅](/docs/ko/hooks#directoryadded)이 실행됩니다. Claude가 응답하는 동안 실행하면 Claude Code가 디렉토리를 즉시 확인하도록 요청하고, 확인하면 Claude의 같은 턴의 다음 도구 호출이 이에 액세스할 수 있습니다. v2.1.234 이전에는 Claude Code가 턴이 끝날 때까지 명령어를 대기열에 넣었습니다. |

57| `/advisor [model\|off]` | [어드바이저 도구](/docs/ko/advisor)를 활성화 또는 비활성화합니다. 어드바이저 도구는 작업 중 주요 순간에 두 번째 모델에 지침을 요청합니다. `fable`, `opus`, `sonnet` 또는 전체 모델 ID를 허용합니다. `fable`은 [Fable 액세스](/docs/ko/advisor#choose-an-advisor-model)가 필요합니다. 인수 없이 선택기를 엽니다. 대화형 터미널이 없는 세션이나 [원격 제어](/docs/ko/remote-control#limitations)를 통해 모델 또는 `off`를 인수로 전달합니다. 인수가 없으면 명령어가 현재 어드바이저를 텍스트로 출력합니다. 이러한 형식은 Claude Code v2.1.260 이상이 필요합니다. |57| `/advisor [model\|off]` | [어드바이저 도구](/docs/ko/advisor)를 활성화 또는 비활성화합니다. 어드바이저 도구는 작업 중 주요 순간에 두 번째 모델에 지침을 요청합니다. `fable`, `opus`, `sonnet` 또는 전체 모델 ID를 허용합니다. `fable`은 [Fable 액세스](/docs/ko/advisor#choose-an-advisor-model)가 필요합니다. 인수 없이 선택기를 엽니다. 대화형 터미널이 없는 세션이나 [원격 제어](/docs/ko/remote-control#limitations)를 통해 모델 또는 `off`를 인수로 전달합니다. 인수가 없으면 명령어가 현재 어드바이저를 텍스트로 출력합니다. 이러한 형식은 Claude Code v2.1.260 이상이 필요합니다. |

58| `/agents` | v2.1.198부터 `/agents`를 실행하면 Claude에 [서브에이전트](/docs/ko/sub-agents)를 생성하거나 관리하도록 요청하거나 `.claude/agents/` 또는 `~/.claude/agents/`를 직접 편집하라는 알림이 출력됩니다. v2.1.197 이전에는 서브에이전트 구성을 생성하고 관리하기 위한 대화형 인터페이스를 엽니다. |58| `/agents` | v2.1.198부터 `/agents`를 실행하면 Claude에 [서브에이전트](/docs/ko/sub-agents)를 생성하거나 관리하도록 요청하거나 `.claude/agents/` 또는 `~/.claude/agents/`를 직접 편집하라는 알림이 출력됩니다. v2.1.197 이전에는 서브에이전트 구성을 생성하고 관리하기 위한 대화형 인터페이스를 엽니다. |

Details

430작업을 실행할 위치에 따라 일정 옵션을 선택합니다:430작업을 실행할 위치에 따라 일정 옵션을 선택합니다:

431 431 

432| 옵션 | 실행 위치 | 최적 사용 |432| 옵션 | 실행 위치 | 최적 사용 |

433| :---------------------------------------- | :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |433| :- | :- | :- |

434| [Routines](/docs/ko/routines) | 클라우드, Anthropic 관리 기본값 | 컴퓨터가 꺼져 있어도 실행되어야 하는 작업. API 호출 또는 GitHub 이벤트 외에도 일정에 따라 트리거될 수 있습니다. [claude.ai/code/routines](https://claude.ai/code/routines)에서 구성합니다. |434| [Routines](/docs/ko/routines) | 클라우드, Anthropic 관리 기본값 | 컴퓨터가 꺼져 있어도 실행되어야 하는 작업. API 호출 또는 GitHub 이벤트 외에도 일정에 따라 트리거될 수 있습니다. [claude.ai/code/routines](https://claude.ai/code/routines)에서 구성합니다. |

435| [데스크톱 예약 작업](/docs/ko/desktop-scheduled-tasks) | 데스크톱 앱을 통한 컴퓨터 | 로컬 파일, 도구 또는 커밋되지 않은 변경사항에 직접 액세스해야 하는 작업. |435| [데스크톱 예약 작업](/docs/ko/desktop-scheduled-tasks) | 데스크톱 앱을 통한 컴퓨터 | 로컬 파일, 도구 또는 커밋되지 않은 변경사항에 직접 액세스해야 하는 작업. |

436| [GitHub Actions](/docs/ko/github-actions) | CI 파이프라인 | 열린 PR 또는 cron 일정과 같은 저장소 이벤트와 연결된 작업. 워크플로우 구성과 함께 있어야 합니다. |436| [GitHub Actions](/docs/ko/github-actions) | CI 파이프라인 | 열린 PR 또는 cron 일정과 같은 저장소 이벤트와 연결된 작업. 워크플로우 구성과 함께 있어야 합니다. |

Details

25공지를 보내기 전에 이 체크리스트를 작성하십시오. 각 항목은 출시 당일 지원 스레드로 변하는 격차를 해결합니다.25공지를 보내기 전에 이 체크리스트를 작성하십시오. 각 항목은 출시 당일 지원 스레드로 변하는 격차를 해결합니다.

26 26 

27| 항목 | 중요한 이유 |27| 항목 | 중요한 이유 |

28| ------------------------------------------------------- | --------------------------------------------------- |28| - | - |

29| `#claude-code` 채널이 생성되고 메시지에 링크됨 | 질문이 한 곳에 모이도록 함 |29| `#claude-code` 채널이 생성되고 메시지에 링크됨 | 질문이 한 곳에 모이도록 함 |

30| 환경의 최소 한 대 머신에서 설치 명령어 테스트됨 | 모든 사람이 동시에 프록시 또는 방화벽 문제에 부딪히기 전에 문제를 포착함 |30| 환경의 최소 한 대 머신에서 설치 명령어 테스트됨 | 모든 사람이 동시에 프록시 또는 방화벽 문제에 부딪히기 전에 문제를 포착함 |

31| 보안 및 데이터 처리 링크 준비됨 ([데이터 사용](/docs/ko/data-usage) 또는 내부 동등물) | "내 코드는 어디로 가나요?"가 첫 번째 답변이 될 것임 |31| 보안 및 데이터 처리 링크 준비됨 ([데이터 사용](/docs/ko/data-usage) 또는 내부 동등물) | "내 코드는 어디로 가나요?"가 첫 번째 답변이 될 것임 |


202```202```

203 203 

204| 모델 | 최적 용도 |204| 모델 | 최적 용도 |

205| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |205| - | - |

206| Fable | 가장 어렵고 오래 실행되는 작업. 옵트인만 가능: `/model fable`로 선택하십시오. 사이버 보안 또는 생물학 콘텐츠는 [Opus로 폴백됩니다](/docs/ko/model-config#automatic-model-fallback) |206| Fable | 가장 어렵고 오래 실행되는 작업. 옵트인만 가능: `/model fable`로 선택하십시오. 사이버 보안 또는 생물학 콘텐츠는 [Opus로 폴백됩니다](/docs/ko/model-config#automatic-model-fallback) |

207| Opus | 대규모 리팩토링, 복잡한 디버깅, 아키텍처 결정, 높은 위험 변경. Opus 5.5 및 Opus 5에서 사이버 보안 또는 생물학 콘텐츠는 [자동 모델 폴백 또는 거부를 트리거합니다](/docs/ko/model-config#automatic-model-fallback) |207| Opus | 대규모 리팩토링, 복잡한 디버깅, 아키텍처 결정, 높은 위험 변경. Opus 5.5 및 Opus 5에서 사이버 보안 또는 생물학 콘텐츠는 [자동 모델 폴백 또는 거부를 트리거합니다](/docs/ko/model-config#automatic-model-fallback) |

208| Sonnet | 일상적인 기능 작업, 버그 수정, 테스트, 문서, 코드 검토. 권장 기본값. |208| Sonnet | 일상적인 기능 작업, 버그 수정, 테스트, 문서, 코드 검토. 권장 기본값. |


440가장 자주 받을 질문에 대한 한 줄 답변입니다.440가장 자주 받을 질문에 대한 한 줄 답변입니다.

441 441 

442| 질문 | 응답 |442| 질문 | 응답 |

443| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |443| - | - |

444| "VS Code에서 작동하나요?" | 예. VS Code 확장 프로그램과 JetBrains 플러그인이 있으며 같은 기능을 가지고 있고 편집기에 포함되어 있습니다. [VS Code →](/docs/ko/vs-code) |444| "VS Code에서 작동하나요?" | 예. VS Code 확장 프로그램과 JetBrains 플러그인이 있으며 같은 기능을 가지고 있고 편집기에 포함되어 있습니다. [VS Code →](/docs/ko/vs-code) |

445| "먼저 뭔가 구성해야 하나요?" | 아니요. 설치한 다음 모든 리포지토리에서 `claude`를 실행하십시오. `/init`를 한 번 실행하면 설정됩니다. [빠른 시작 →](/docs/ko/quickstart) |445| "먼저 뭔가 구성해야 하나요?" | 아니요. 설치한 다음 모든 리포지토리에서 `claude`를 실행하십시오. `/init`를 한 번 실행하면 설정됩니다. [빠른 시작 →](/docs/ko/quickstart) |

446| "내 코드는 어디로 가나요?" | CLI는 터미널에서 실행되고 컨텍스트를 Anthropic의 API로 보내 추론하며, 제3자 서버가 없습니다. Enterprise 계획에 따라 코드와 프롬프트는 모델 학습에 사용되지 않습니다. [데이터 사용 →](/docs/ko/data-usage) |446| "내 코드는 어디로 가나요?" | CLI는 터미널에서 실행되고 컨텍스트를 Anthropic의 API로 보내 추론하며, 제3자 서버가 없습니다. Enterprise 계획에 따라 코드와 프롬프트는 모델 학습에 사용되지 않습니다. [데이터 사용 →](/docs/ko/data-usage) |


455설치했지만 무엇을 요청해야 할지 확실하지 않은 엔지니어와 공유할 스타터 프롬프트입니다. 각각은 실제 세션에 입력되는 방식으로 표현됩니다; 대괄호로 표시된 부분을 자신의 리포지토리의 파일로 바꾸십시오.455설치했지만 무엇을 요청해야 할지 확실하지 않은 엔지니어와 공유할 스타터 프롬프트입니다. 각각은 실제 세션에 입력되는 방식으로 표현됩니다; 대괄호로 표시된 부분을 자신의 리포지토리의 파일로 바꾸십시오.

456 456 

457| 작업 | 프롬프트 |457| 작업 | 프롬프트 |

458| --------- | ------------------------------------------------------- |458| - | - |

459| 버그 수정 | "\[파일]의 테스트가 실패하고 있습니다, 이유를 파악하고 수정하세요" |459| 버그 수정 | "\[파일]의 테스트가 실패하고 있습니다, 이유를 파악하고 수정하세요" |

460| 코드 이해 | "\[모듈]이 어떻게 작동하는지 설명해주세요, 그런 다음 진입점이 어디인지 알려주세요" |460| 코드 이해 | "\[모듈]이 어떻게 작동하는지 설명해주세요, 그런 다음 진입점이 어디인지 알려주세요" |

461| 안전한 리팩토링 | "\[모듈]을 \[목표]로 리팩토링하세요, plan 모드를 사용하여 먼저 검토할 수 있도록 하세요" |461| 안전한 리팩토링 | "\[모듈]을 \[목표]로 리팩토링하세요, plan 모드를 사용하여 먼저 검토할 수 있도록 하세요" |

computer-use.md +2 −2

Details

91광범위한 도달 범위를 가진 앱은 프롬프트에 추가 경고를 표시하므로 승인이 부여하는 것을 알 수 있습니다.91광범위한 도달 범위를 가진 앱은 프롬프트에 추가 경고를 표시하므로 승인이 부여하는 것을 알 수 있습니다.

92 92 

93| 경고 | 적용 대상 |93| 경고 | 적용 대상 |

94| :---------------- | :-------------------------------------------- |94| :- | :- |

95| 셸 액세스와 동등 | Terminal, iTerm, VS Code, Warp 및 기타 터미널 및 IDE |95| 셸 액세스와 동등 | Terminal, iTerm, VS Code, Warp 및 기타 터미널 및 IDE |

96| 모든 파일을 읽거나 쓸 수 있음 | Finder |96| 모든 파일을 읽거나 쓸 수 있음 | Finder |

97| 시스템 설정을 변경할 수 있음 | 시스템 설정 |97| 시스템 설정을 변경할 수 있음 | 시스템 설정 |


208CLI 및 Desktop 표면은 동일한 컴퓨터 사용 엔진을 공유하며, 몇 가지 차이점이 있습니다.208CLI 및 Desktop 표면은 동일한 컴퓨터 사용 엔진을 공유하며, 몇 가지 차이점이 있습니다.

209 209 

210| 기능 | Desktop | CLI |210| 기능 | Desktop | CLI |

211| :---------- | :---------------------------------- | :-------------------------- |211| :- | :- | :- |

212| 플랫폼 | macOS 및 Windows | macOS만 해당 |212| 플랫폼 | macOS 및 Windows | macOS만 해당 |

213| 활성화 | **설정 > 일반**의 토글 (**Desktop 앱** 아래) | `/mcp`에서 `computer-use` 활성화 |213| 활성화 | **설정 > 일반**의 토글 (**Desktop 앱** 아래) | `/mcp`에서 `computer-use` 활성화 |

214| 거부된 앱 목록 | 설정에서 구성 가능 | 아직 사용할 수 없음 |214| 거부된 앱 목록 | 설정에서 구성 가능 | 아직 사용할 수 없음 |

Details

1598긴 세션이 압축될 때, Claude Code는 대화 기록을 요약하여 컨텍스트 윈도우에 맞춥니다. v2.1.198부터는 요약 요청이 세션의 [확장 사고](/docs/ko/model-config#extended-thinking) 구성을 상속하므로, 세션에서 사고가 활성화되어 있을 때는 사고를 활성화하여 추론하고 그렇지 않으면 비활성화된 상태로 유지됩니다. 사고는 요약이 생성되는 방식에만 영향을 미치며, 이후 세션 설정은 변경되지 않습니다. 각 콘텐츠 종류에 어떤 일이 발생하는지는 로드된 방식에 따라 달라집니다:1598긴 세션이 압축될 때, Claude Code는 대화 기록을 요약하여 컨텍스트 윈도우에 맞춥니다. v2.1.198부터는 요약 요청이 세션의 [확장 사고](/docs/ko/model-config#extended-thinking) 구성을 상속하므로, 세션에서 사고가 활성화되어 있을 때는 사고를 활성화하여 추론하고 그렇지 않으면 비활성화된 상태로 유지됩니다. 사고는 요약이 생성되는 방식에만 영향을 미치며, 이후 세션 설정은 변경되지 않습니다. 각 콘텐츠 종류에 어떤 일이 발생하는지는 로드된 방식에 따라 달라집니다:

1599 1599 

1600| 메커니즘 | 압축 후 |1600| 메커니즘 | 압축 후 |

1601| :------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------- |1601| :- | :- |

1602| 시스템 프롬프트 및 출력 스타일 | 계속 적용됨 |1602| 시스템 프롬프트 및 출력 스타일 | 계속 적용됨 |

1603| 프로젝트 루트 CLAUDE.md 및 범위 미지정 규칙 | 디스크에서 다시 주입됨 |1603| 프로젝트 루트 CLAUDE.md 및 범위 미지정 규칙 | 디스크에서 다시 주입됨 |

1604| 자동 메모리 | 디스크에서 다시 주입됨 |1604| 자동 메모리 | 디스크에서 다시 주입됨 |

costs.md +3 −3

Details

107[사용량 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)을 사용하면 요금제의 사용량 한도를 초과하여 계속 작업할 수 있습니다. 이를 관리하려면 `/login`을 통해 claude.ai 구독으로 로그인한 후 `/usage-credits`를 실행하십시오. 이 명령은 API 키 인증에서는 사용할 수 없습니다. 셀프 서비스 Enterprise 조직, Enterprise 평가판 및 AWS Marketplace를 통해 청구되는 Enterprise 조직에서 이 명령은 Claude Code v2.1.248 이상이 필요합니다. 이전 버전은 [`Unknown command: /usage-credits`](/docs/ko/errors#unknown-command)로 거부합니다. 열리는 내용은 역할에 따라 다릅니다:107[사용량 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)을 사용하면 요금제의 사용량 한도를 초과하여 계속 작업할 수 있습니다. 이를 관리하려면 `/login`을 통해 claude.ai 구독으로 로그인한 후 `/usage-credits`를 실행하십시오. 이 명령은 API 키 인증에서는 사용할 수 없습니다. 셀프 서비스 Enterprise 조직, Enterprise 평가판 및 AWS Marketplace를 통해 청구되는 Enterprise 조직에서 이 명령은 Claude Code v2.1.248 이상이 필요합니다. 이전 버전은 [`Unknown command: /usage-credits`](/docs/ko/errors#unknown-command)로 거부합니다. 열리는 내용은 역할에 따라 다릅니다:

108 108 

109| 역할 | `/usage-credits`가 수행하는 작업 |109| 역할 | `/usage-credits`가 수행하는 작업 |

110| :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- |110| :- | :- |

111| Pro 또는 Max 구독자 | 브라우저에서 claude.ai의 [**Settings > Usage**](https://claude.ai/settings/usage)를 엽니다. **Usage credits** 섹션에서 사용량 크레딧을 켜거나 끌 수 있으며 크레딧 잔액, 이번 달의 지출 및 월간 지출 한도를 확인할 수 있습니다 |111| Pro 또는 Max 구독자 | 브라우저에서 claude.ai의 [**Settings > Usage**](https://claude.ai/settings/usage)를 엽니다. **Usage credits** 섹션에서 사용량 크레딧을 켜거나 끌 수 있으며 크레딧 잔액, 이번 달의 지출 및 월간 지출 한도를 확인할 수 있습니다 |

112| 청구 액세스 권한이 있는 Team 또는 Enterprise 구성원 | 브라우저에서 조직의 사용량 설정인 [**Admin settings > Usage**](https://claude.ai/admin-settings/usage)를 엽니다 |112| 청구 액세스 권한이 있는 Team 또는 Enterprise 구성원 | 브라우저에서 조직의 사용량 설정인 [**Admin settings > Usage**](https://claude.ai/admin-settings/usage)를 엽니다 |

113| 청구 액세스 권한이 없는 Team 또는 Enterprise 구성원 | 확인을 요청한 후 조직의 관리자에게 요청을 보냅니다. v2.1.211 이전에는 Claude Code가 확인 단계 없이 요청을 보냈습니다 |113| 청구 액세스 권한이 없는 Team 또는 Enterprise 구성원 | 확인을 요청한 후 조직의 관리자에게 요청을 보냅니다. v2.1.211 이전에는 Claude Code가 확인 단계 없이 요청을 보냈습니다 |


127표는 각 설정을 지출 확인 위치, 지출 상한선 위치 및 사용자별 수치 추출 방법에 매핑합니다. 개별 Pro 또는 Max 플랜에서는 관리할 조직이 없으므로, [빠른 모드](/docs/ko/fast-mode#see-where-fast-mode-spend-appears)를 포함한 자신의 사용량-크레딧 지출을 추적하고, [구독에 사용 크레딧 추가](#add-usage-credits-to-your-subscription)를 참조하십시오.127표는 각 설정을 지출 확인 위치, 지출 상한선 위치 및 사용자별 수치 추출 방법에 매핑합니다. 개별 Pro 또는 Max 플랜에서는 관리할 조직이 없으므로, [빠른 모드](/docs/ko/fast-mode#see-where-fast-mode-spend-appears)를 포함한 자신의 사용량-크레딧 지출을 추적하고, [구독에 사용 크레딧 추가](#add-usage-credits-to-your-subscription)를 참조하십시오.

128 128 

129| 설정 | 지출 확인 | 지출 상한선 | 사용자별 보고 |129| 설정 | 지출 확인 | 지출 상한선 | 사용자별 보고 |

130| :------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------ | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |130| :- | :- | :- | :- |

131| [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) |131| [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) |

132| [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) |132| [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) |

133| [Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry](#cloud-providers) | 클라우드 청구 콘솔 | 클라우드의 예산 제어 | [OpenTelemetry](/docs/ko/monitoring-usage) 또는 [LLM gateway](/docs/ko/llm-gateway) |133| [Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry](#cloud-providers) | 클라우드 청구 콘솔 | 클라우드의 예산 제어 | [OpenTelemetry](/docs/ko/monitoring-usage) 또는 [LLM gateway](/docs/ko/llm-gateway) |


190팀을 위해 Claude Code를 설정할 때, 조직 규모에 따른 다음 분당 토큰(TPM) 및 분당 요청(RPM) 사용자당 권장사항을 고려하십시오:190팀을 위해 Claude Code를 설정할 때, 조직 규모에 따른 다음 분당 토큰(TPM) 및 분당 요청(RPM) 사용자당 권장사항을 고려하십시오:

191 191 

192| 팀 규모 | 사용자당 TPM | 사용자당 RPM |192| 팀 규모 | 사용자당 TPM | 사용자당 RPM |

193| ----------- | --------- | --------- |193| - | - | - |

194| 1-5 사용자 | 200k-300k | 5-7 |194| 1-5 사용자 | 200k-300k | 5-7 |

195| 5-20 사용자 | 100k-150k | 2.5-3.5 |195| 5-20 사용자 | 100k-150k | 2.5-3.5 |

196| 20-50 사용자 | 50k-75k | 1.25-1.75 |196| 20-50 사용자 | 50k-75k | 1.25-1.75 |

Details

172메시지가 이동하는 방식과 Anthropic 서버를 통과하는지 여부는 대상 세션이 실행되는 위치에 따라 다릅니다:172메시지가 이동하는 방식과 Anthropic 서버를 통과하는지 여부는 대상 세션이 실행되는 위치에 따라 다릅니다:

173 173 

174| 다른 세션이 실행되는 위치 | 메시지가 이동하는 방식 |174| 다른 세션이 실행되는 위치 | 메시지가 이동하는 방식 |

175| :----------------------------------------------------- | :------------------------------------------------------------------------- |175| :- | :- |

176| 이 머신에서 | macOS 및 Linux의 세션별 소켓 또는 기본 Windows의 세션별 명명된 파이프를 통해, Anthropic 서버를 통하지 않음 |176| 이 머신에서 | macOS 및 Linux의 세션별 소켓 또는 기본 Windows의 세션별 명명된 파이프를 통해, Anthropic 서버를 통하지 않음 |

177| 다른 머신 중 하나에서 | Anthropic 서버를 통해, 해당 머신의 [원격 제어](/docs/ko/remote-control) 연결을 통해 도착 |177| 다른 머신 중 하나에서 | Anthropic 서버를 통해, 해당 머신의 [원격 제어](/docs/ko/remote-control) 연결을 통해 도착 |

178| [Claude Code on the web](/docs/ko/claude-code-on-the-web)에서 | Anthropic 서버를 통해, 클라우드 세션으로 직접 |178| [Claude Code on the web](/docs/ko/claude-code-on-the-web)에서 | Anthropic 서버를 통해, 클라우드 세션으로 직접 |


233[`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 설정하여 세션이 다른 세션에서 도착하는 메시지로 무엇을 하는지 선택하십시오:233[`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 설정하여 세션이 다른 세션에서 도착하는 메시지로 무엇을 하는지 선택하십시오:

234 234 

235| 값 | 동작 |235| 값 | 동작 |

236| :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |236| :- | :- |

237| `accept` | Claude Code는 각 메시지를 Claude에게 전달합니다. |237| `accept` | Claude Code는 각 메시지를 Claude에게 전달합니다. |

238| `hold` | Claude Code는 각 메시지에 대한 알림을 표시하고 전달하지 않습니다. 나중에 `accept`가 적용되면, [우선순위 규칙](/docs/ko/settings-reference#crosssessioninbound)에 따라, Claude Code는 보류된 메시지를 해제합니다. |238| `hold` | Claude Code는 각 메시지에 대한 알림을 표시하고 전달하지 않습니다. 나중에 `accept`가 적용되면, [우선순위 규칙](/docs/ko/settings-reference#crosssessioninbound)에 따라, Claude Code는 보류된 메시지를 해제합니다. |

239| `refuse` | Claude Code는 각 메시지를 전달하지 않고 삭제합니다. |239| `refuse` | Claude Code는 각 메시지를 전달하지 않고 삭제합니다. |

data-usage.md +2 −2

Details

96저장 시 암호화는 모델 제공자에 따라 달라집니다:96저장 시 암호화는 모델 제공자에 따라 달라집니다:

97 97 

98| 제공자 | 저장 시 암호화 |98| 제공자 | 저장 시 암호화 |

99| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |99| - | - |

100| Anthropic API | 인프라 수준 디스크 암호화(AES-256). [Zero Data Retention](/docs/ko/zero-data-retention)을 활성화하여 서버 측 지속성이 없도록 합니다. |100| Anthropic API | 인프라 수준 디스크 암호화(AES-256). [Zero Data Retention](/docs/ko/zero-data-retention)을 활성화하여 서버 측 지속성이 없도록 합니다. |

101| Amazon Bedrock | AWS 관리 키를 사용한 AES-256. AWS KMS를 통해 고객 관리 키를 사용할 수 있습니다. |101| Amazon Bedrock | AWS 관리 키를 사용한 AES-256. AWS KMS를 통해 고객 관리 키를 사용할 수 있습니다. |

102| Google Cloud의 Agent Platform | Google 관리 암호화 키. CMEK를 사용할 수 있습니다. |102| Google Cloud의 Agent Platform | Google 관리 암호화 키. CMEK를 사용할 수 있습니다. |


145기본적으로 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform을 사용할 때 오류 보고, 원격 측정 및 버그 보고가 비활성화됩니다. 세션 품질 설문조사 및 WebFetch 도메인 안전 검사는 예외이며 제공자와 관계없이 실행됩니다. 서명된 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션에서는 게이트웨이 자격 증명 자체에 의해 Anthropic에 대한 사용 분석, 오류 보고 및 설문조사 평가가 비활성화되며, 이를 다시 활성화할 수 있는 설정이 없습니다. `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`을 설정하여 설문조사를 포함한 모든 필수가 아닌 트래픽을 한 번에 거부할 수 있습니다. 이 변수는 WebFetch 검사 또는 공식 플러그인 마켓플레이스 자동 설치에 영향을 주지 않습니다. 각각 자체 거부 옵션이 있습니다: WebFetch의 경우 [settings](/docs/ko/settings)의 `skipWebFetchPreflight`, 마켓플레이스의 경우 `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. 다음은 전체 기본 동작입니다:145기본적으로 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform을 사용할 때 오류 보고, 원격 측정 및 버그 보고가 비활성화됩니다. 세션 품질 설문조사 및 WebFetch 도메인 안전 검사는 예외이며 제공자와 관계없이 실행됩니다. 서명된 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션에서는 게이트웨이 자격 증명 자체에 의해 Anthropic에 대한 사용 분석, 오류 보고 및 설문조사 평가가 비활성화되며, 이를 다시 활성화할 수 있는 설정이 없습니다. `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`을 설정하여 설문조사를 포함한 모든 필수가 아닌 트래픽을 한 번에 거부할 수 있습니다. 이 변수는 WebFetch 검사 또는 공식 플러그인 마켓플레이스 자동 설치에 영향을 주지 않습니다. 각각 자체 거부 옵션이 있습니다: WebFetch의 경우 [settings](/docs/ko/settings)의 `skipWebFetchPreflight`, 마켓플레이스의 경우 `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. 다음은 전체 기본 동작입니다:

146 146 

147| 서비스 | Claude API | Google Cloud의 Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | AWS의 Claude Platform |147| 서비스 | Claude API | Google Cloud의 Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | AWS의 Claude Platform |

148| ------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |148| - | - | - | - | - | - |

149| **메트릭** | 기본 켜짐.<br />`DISABLE_TELEMETRY=1`로 비활성화합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_VERTEX`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_BEDROCK`은 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_FOUNDRY`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS`는 1이어야 합니다. |149| **메트릭** | 기본 켜짐.<br />`DISABLE_TELEMETRY=1`로 비활성화합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_VERTEX`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_BEDROCK`은 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_FOUNDRY`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS`는 1이어야 합니다. |

150| **오류 보고** | v2.1.198+에서 Pro 및 Max 로그인의 경우 켜짐, 그 외에는 꺼짐.<br />`DISABLE_ERROR_REPORTING=1`로 비활성화합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_VERTEX`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_BEDROCK`은 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_FOUNDRY`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS`는 1이어야 합니다. |150| **오류 보고** | v2.1.198+에서 Pro 및 Max 로그인의 경우 켜짐, 그 외에는 꺼짐.<br />`DISABLE_ERROR_REPORTING=1`로 비활성화합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_VERTEX`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_BEDROCK`은 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_FOUNDRY`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS`는 1이어야 합니다. |

151| **Claude API (`/feedback` 보고)** | 기본 켜짐.<br />`DISABLE_FEEDBACK_COMMAND=1`로 비활성화합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_VERTEX`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_BEDROCK`은 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_FOUNDRY`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS`는 1이어야 합니다. |151| **Claude API (`/feedback` 보고)** | 기본 켜짐.<br />`DISABLE_FEEDBACK_COMMAND=1`로 비활성화합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_VERTEX`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_BEDROCK`은 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_FOUNDRY`는 1이어야 합니다. | 기본 꺼짐.<br />`CLAUDE_CODE_USE_ANTHROPIC_AWS`는 1이어야 합니다. |

Details

19특정 카테고리에 대한 세부 정보는 전용 명령으로 팔로우업합니다:19특정 카테고리에 대한 세부 정보는 전용 명령으로 팔로우업합니다:

20 20 

21| 명령 | 표시 내용 |21| 명령 | 표시 내용 |

22| :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- |22| :- | :- |

23| `/memory` | 사용자 및 프로젝트 범위의 메모리 파일 위치(편집기에서 각각을 열 수 있는 옵션 포함), 자동 메모리 폴더 및 자동 메모리 토글에 대한 액세스 |23| `/memory` | 사용자 및 프로젝트 범위의 메모리 파일 위치(편집기에서 각각을 열 수 있는 옵션 포함), 자동 메모리 폴더 및 자동 메모리 토글에 대한 액세스 |

24| `/skills` | 프로젝트, 사용자 및 플러그인 소스의 사용 가능한 스킬 |24| `/skills` | 프로젝트, 사용자 및 플러그인 소스의 사용 가능한 스킬 |

25| `/hooks` | 활성 훅 구성 |25| `/hooks` | 활성 훅 구성 |


105대부분의 구성 놀라움은 작은 위치 및 구문 규칙 집합으로 추적됩니다. 버그라고 가정하기 전에 다음을 확인합니다:105대부분의 구성 놀라움은 작은 위치 및 구문 규칙 집합으로 추적됩니다. 버그라고 가정하기 전에 다음을 확인합니다:

106 106 

107| 증상 | 원인 | 해결 |107| 증상 | 원인 | 해결 |

108| :--------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |108| :- | :- | :- |

109| 훅이 절대 실행되지 않음 | `matcher`가 문자열 대신 JSON 배열입니다 | 여러 도구를 일치시키기 위해 `\|`를 사용하는 단일 문자열을 사용합니다(예: `"Edit\|Write"`). [매처 패턴](/docs/ko/hooks#matcher-patterns)을 참조합니다. |109| 훅이 절대 실행되지 않음 | `matcher`가 문자열 대신 JSON 배열입니다 | 여러 도구를 일치시키기 위해 `\|`를 사용하는 단일 문자열을 사용합니다(예: `"Edit\|Write"`). [매처 패턴](/docs/ko/hooks#matcher-patterns)을 참조합니다. |

110| 훅이 절대 실행되지 않음 | `matcher`가 v2.1.191 이전 버전에서 구분 기호로 `,`를 사용합니다 | Claude Code v2.1.191 이상은 `,`를 `\|`와 같은 목록 구분 기호로 처리합니다. 이전 버전은 쉼표를 리터럴 문자로 평가하므로 `"Edit,Write"`는 아무것도 일치하지 않습니다. 대신 `\|`를 사용하거나 Claude Code를 업그레이드합니다. |110| 훅이 절대 실행되지 않음 | `matcher`가 v2.1.191 이전 버전에서 구분 기호로 `,`를 사용합니다 | Claude Code v2.1.191 이상은 `,`를 `\|`와 같은 목록 구분 기호로 처리합니다. 이전 버전은 쉼표를 리터럴 문자로 평가하므로 `"Edit,Write"`는 아무것도 일치하지 않습니다. 대신 `\|`를 사용하거나 Claude Code를 업그레이드합니다. |

111| 훅이 절대 실행되지 않음 | `matcher` 값이 소문자입니다(예: `"bash"`) | 일치는 대소문자를 구분합니다. 도구 이름은 대문자입니다: `Bash`, `Edit`, `Write`, `Read`. |111| 훅이 절대 실행되지 않음 | `matcher` 값이 소문자입니다(예: `"bash"`) | 일치는 대소문자를 구분합니다. 도구 이름은 대문자입니다: `Bash`, `Edit`, `Write`, `Read`. |

desktop.md +8 −8

Details

85새 로컬 세션의 기본 모드를 설정하려면 [설정 파일](/docs/ko/settings#where-settings-live)에 `permissions.defaultMode`를 추가합니다. 데스크톱 앱은 CLI와 동일한 설정 파일을 읽습니다. 선택기에서 선택한 모드는 폴더별로 기억되며 해당 폴더의 `defaultMode`보다 우선하지만, Plan은 현재 세션에만 적용됩니다.85새 로컬 세션의 기본 모드를 설정하려면 [설정 파일](/docs/ko/settings#where-settings-live)에 `permissions.defaultMode`를 추가합니다. 데스크톱 앱은 CLI와 동일한 설정 파일을 읽습니다. 선택기에서 선택한 모드는 폴더별로 기억되며 해당 폴더의 `defaultMode`보다 우선하지만, Plan은 현재 세션에만 적용됩니다.

86 86 

87| 모드 | 설정 키 | 동작 |87| 모드 | 설정 키 | 동작 |

88| ---------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |88| - | - | - |

89| **Manual** | `default` | Claude는 파일을 편집하거나 명령을 실행하기 전에 요청합니다. diff를 보고 각 변경 사항을 수락하거나 거부할 수 있습니다. |89| **Manual** | `default` | Claude는 파일을 편집하거나 명령을 실행하기 전에 요청합니다. diff를 보고 각 변경 사항을 수락하거나 거부할 수 있습니다. |

90| **Accept edits** | `acceptEdits` | Claude는 파일 편집을 자동으로 수락하고 `mkdir`, `touch`, `mv`와 같은 일반적인 파일시스템 명령을 자동으로 수락하지만 다른 터미널 명령 실행 전에는 여전히 요청합니다. 파일 변경을 신뢰하고 더 빠른 반복을 원할 때 사용합니다. |90| **Accept edits** | `acceptEdits` | Claude는 파일 편집을 자동으로 수락하고 `mkdir`, `touch`, `mv`와 같은 일반적인 파일시스템 명령을 자동으로 수락하지만 다른 터미널 명령 실행 전에는 여전히 요청합니다. 파일 변경을 신뢰하고 더 빠른 반복을 원할 때 사용합니다. |

91| **Plan** | `plan` | Claude는 파일을 읽고 명령을 실행하여 탐색한 다음 소스 코드를 편집하지 않고 계획을 제안합니다. 먼저 접근 방식을 검토하려는 복잡한 작업에 좋습니다. |91| **Plan** | `plan` | Claude는 파일을 읽고 명령을 실행하여 탐색한 다음 소스 코드를 편집하지 않고 계획을 제안합니다. 먼저 접근 방식을 검토하려는 복잡한 작업에 좋습니다. |


245보기 모드는 채팅 기록에 나타나는 세부 정보의 양을 제어합니다. 전송 버튼 옆의 **Transcript view** 드롭다운에서 모드를 전환하거나 macOS 또는 Windows에서 **Ctrl+O**를 눌러 모드를 순환합니다. Thinking 모드는 Claude가 보고 있는 세션에서 thinking을 생성한 후에만 드롭다운에 나타납니다.245보기 모드는 채팅 기록에 나타나는 세부 정보의 양을 제어합니다. 전송 버튼 옆의 **Transcript view** 드롭다운에서 모드를 전환하거나 macOS 또는 Windows에서 **Ctrl+O**를 눌러 모드를 순환합니다. Thinking 모드는 Claude가 보고 있는 세션에서 thinking을 생성한 후에만 드롭다운에 나타납니다.

246 246 

247| 모드 | 표시되는 것 |247| 모드 | 표시되는 것 |

248| ------------ | --------------------------------------------------------- |248| - | - |

249| **Normal** | 도구 호출이 요약으로 축소되고 전체 텍스트 응답 |249| **Normal** | 도구 호출이 요약으로 축소되고 전체 텍스트 응답 |

250| **Thinking** | 도구 호출이 요약으로 축소되고 Claude의 thinking |250| **Thinking** | 도구 호출이 요약으로 축소되고 Claude의 thinking |

251| **Verbose** | 모든 도구 호출, 파일 읽기, Claude가 수행하는 중간 단계, 그리고 Claude의 thinking |251| **Verbose** | 모든 도구 호출, 파일 읽기, Claude가 수행하는 중간 단계, 그리고 Claude의 thinking |


259macOS에서 \*\*Cmd+/\*\*를 누르거나 Windows에서 \*\*Ctrl+/\*\*를 눌러 Code 탭에서 사용 가능한 모든 단축키를 봅니다. Windows에서는 아래 단축키에 대해 **Cmd** 대신 **Ctrl**을 사용합니다. 세션 순환, 터미널 토글, 보기 모드 토글은 모든 플랫폼에서 **Ctrl**을 사용합니다.259macOS에서 \*\*Cmd+/\*\*를 누르거나 Windows에서 \*\*Ctrl+/\*\*를 눌러 Code 탭에서 사용 가능한 모든 단축키를 봅니다. Windows에서는 아래 단축키에 대해 **Cmd** 대신 **Ctrl**을 사용합니다. 세션 순환, 터미널 토글, 보기 모드 토글은 모든 플랫폼에서 **Ctrl**을 사용합니다.

260 260 

261| 단축키 | 작업 |261| 단축키 | 작업 |

262| ------------------------------------- | ------------- |262| - | - |

263| `Cmd` `/` | 키보드 단축키 표시 |263| `Cmd` `/` | 키보드 단축키 표시 |

264| `Cmd` `N` | 새 세션 |264| `Cmd` `N` | 새 세션 |

265| `Cmd` `W` | 세션 닫기 |265| `Cmd` `W` | 세션 닫기 |


354프롬프트는 또한 Claude가 해당 앱에 대해 얻는 제어 수준을 표시합니다. 이러한 계층은 앱 카테고리별로 고정되며 변경할 수 없습니다:354프롬프트는 또한 Claude가 해당 앱에 대해 얻는 제어 수준을 표시합니다. 이러한 계층은 앱 카테고리별로 고정되며 변경할 수 없습니다:

355 355 

356| 계층 | Claude가 할 수 있는 것 | 적용 대상 |356| 계층 | Claude가 할 수 있는 것 | 적용 대상 |

357| :---- | :------------------------------ | :----------- |357| :- | :- | :- |

358| 보기 전용 | 스크린샷에서 앱 보기 | 브라우저, 거래 플랫폼 |358| 보기 전용 | 스크린샷에서 앱 보기 | 브라우저, 거래 플랫폼 |

359| 클릭 전용 | 클릭 및 스크롤하지만 입력 또는 키보드 단축키 사용 불가 | 터미널, IDE |359| 클릭 전용 | 클릭 및 스크롤하지만 입력 또는 키보드 단축키 사용 불가 | 터미널, IDE |

360| 전체 제어 | 클릭, 입력, 드래그, 키보드 단축키 사용 | 기타 모든 것 |360| 전체 제어 | 클릭, 입력, 드래그, 키보드 단축키 사용 | 기타 모든 것 |


566`configurations` 배열의 각 항목은 다음 필드를 허용합니다:566`configurations` 배열의 각 항목은 다음 필드를 허용합니다:

567 567 

568| 필드 | 유형 | 설명 |568| 필드 | 유형 | 설명 |

569| ------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------- |569| - | - | - |

570| `name` | string | 이 서버의 고유 식별자 |570| `name` | string | 이 서버의 고유 식별자 |

571| `runtimeExecutable` | string | 실행할 명령 (예: `npm`, `yarn`, `node`) |571| `runtimeExecutable` | string | 실행할 명령 (예: `npm`, `yarn`, `node`) |

572| `runtimeArgs` | string\[] | `runtimeExecutable`에 전달되는 인수 (예: `["run", "dev"]`) |572| `runtimeArgs` | string\[] | `runtimeExecutable`에 전달되는 인수 (예: `["run", "dev"]`) |


841관리 설정은 프로젝트 및 사용자 설정을 재정의하고 Desktop의 Claude Code 세션에 적용됩니다. 조직의 [관리 설정](/docs/ko/managed-settings) 파일에서 이러한 키를 설정하거나 관리 콘솔을 통해 원격으로 푸시할 수 있습니다.841관리 설정은 프로젝트 및 사용자 설정을 재정의하고 Desktop의 Claude Code 세션에 적용됩니다. 조직의 [관리 설정](/docs/ko/managed-settings) 파일에서 이러한 키를 설정하거나 관리 콘솔을 통해 원격으로 푸시할 수 있습니다.

842 842 

843| 키 | 설명 |843| 키 | 설명 |

844| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |844| - | - |

845| `permissions.disableBypassPermissionsMode` | 사용자가 권한 무시 모드를 활성화하지 못하도록 하려면 `"disable"`로 설정합니다. |845| `permissions.disableBypassPermissionsMode` | 사용자가 권한 무시 모드를 활성화하지 못하도록 하려면 `"disable"`로 설정합니다. |

846| `disableAutoMode` | [Auto](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) 모드를 모드 선택기에서 제거하려면 `"disable"`로 설정합니다. `permissions` 아래에서도 허용됩니다. |846| `disableAutoMode` | [Auto](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) 모드를 모드 선택기에서 제거하려면 `"disable"`로 설정합니다. `permissions` 아래에서도 허용됩니다. |

847| `autoMode` | 조직 전체에서 auto mode 분류기가 신뢰하고 차단하는 것을 사용자 정의합니다. [auto mode 구성](/docs/ko/auto-mode-config)을 참조하세요. |847| `autoMode` | 조직 전체에서 auto mode 분류기가 신뢰하고 차단하는 것을 사용자 정의합니다. [auto mode 구성](/docs/ko/auto-mode-config)을 참조하세요. |


974이 표는 일반적인 CLI 플래그에 대한 데스크톱 앱 동등물을 보여줍니다. 나열되지 않은 플래그는 스크립팅 또는 자동화를 위해 설계되었기 때문에 데스크톱 동등물이 없습니다.974이 표는 일반적인 CLI 플래그에 대한 데스크톱 앱 동등물을 보여줍니다. 나열되지 않은 플래그는 스크립팅 또는 자동화를 위해 설계되었기 때문에 데스크톱 동등물이 없습니다.

975 975 

976| CLI | Desktop 동등물 |976| CLI | Desktop 동등물 |

977| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |977| - | - |

978| `--model sonnet` | 전송 버튼 옆의 모델 드롭다운 |978| `--model sonnet` | 전송 버튼 옆의 모델 드롭다운 |

979| `--resume`, `--continue` | 사이드바의 세션을 클릭하거나 프롬프트 상자에 `/resume`을 입력하여 CLI에서 시작한 세션을 선택합니다 |979| `--resume`, `--continue` | 사이드바의 세션을 클릭하거나 프롬프트 상자에 `/resume`을 입력하여 CLI에서 시작한 세션을 선택합니다 |

980| `--permission-mode` | 전송 버튼 옆의 모드 선택기 |980| `--permission-mode` | 전송 버튼 옆의 모드 선택기 |


1019이 표는 CLI와 Desktop 간의 핵심 기능을 비교합니다. CLI 플래그의 전체 목록은 [CLI 참조](/docs/ko/cli-reference)를 참조하세요.1019이 표는 CLI와 Desktop 간의 핵심 기능을 비교합니다. CLI 플래그의 전체 목록은 [CLI 참조](/docs/ko/cli-reference)를 참조하세요.

1020 1020 

1021| 기능 | CLI | Desktop |1021| 기능 | CLI | Desktop |

1022| ----------------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1022| - | - | - |

1023| 권한 모드 | `dontAsk`를 포함한 모든 모드 | Manual, Accept edits, Plan, Auto. Bypass permissions는 모드 선택기에서 활성화된 후 나타납니다: Pro 및 Max 플랜에서는 Settings 토글을 통해, Team 및 Enterprise 플랜에서는 조직 정책을 통해 |1023| 권한 모드 | `dontAsk`를 포함한 모든 모드 | Manual, Accept edits, Plan, Auto. Bypass permissions는 모드 선택기에서 활성화된 후 나타납니다: Pro 및 Max 플랜에서는 Settings 토글을 통해, Team 및 Enterprise 플랜에서는 조직 정책을 통해 |

1024| [Third-party providers](/docs/ko/third-party-integrations) | Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry | Anthropic의 API (기본값). 게이트웨이 라우팅의 경우 [데스크톱 앱을 게이트웨이에 연결](/docs/ko/llm-gateway-connect#desktop-app)을 참조하세요. Code 탭을 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 자체 호스팅 LLM 게이트웨이에서 실행하려면 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)를 참조하세요. |1024| [Third-party providers](/docs/ko/third-party-integrations) | Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry | Anthropic의 API (기본값). 게이트웨이 라우팅의 경우 [데스크톱 앱을 게이트웨이에 연결](/docs/ko/llm-gateway-connect#desktop-app)을 참조하세요. Code 탭을 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 자체 호스팅 LLM 게이트웨이에서 실행하려면 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)를 참조하세요. |

1025| [MCP servers](/docs/ko/mcp) | 설정 파일에 구성 | 로컬 및 SSH 세션의 Connectors UI 또는 설정 파일 |1025| [MCP servers](/docs/ko/mcp) | 설정 파일에 구성 | 로컬 및 SSH 세션의 Connectors UI 또는 설정 파일 |

Details

17Claude Code는 반복되는 작업이나 일회성 작업을 예약하는 세 가지 방법을 제공합니다:17Claude Code는 반복되는 작업이나 일회성 작업을 예약하는 세 가지 방법을 제공합니다:

18 18 

19| | [Cloud](/docs/ko/routines) | [Desktop](/docs/ko/desktop-scheduled-tasks) | [`/loop`](/docs/ko/scheduled-tasks) |19| | [Cloud](/docs/ko/routines) | [Desktop](/docs/ko/desktop-scheduled-tasks) | [`/loop`](/docs/ko/scheduled-tasks) |

20| :------------ | :---------------------- | :------------------------------------- | :-------------------------------------------------------- |20| :- | :- | :- | :- |

21| 실행 위치 | Cloud, Anthropic 관리 기본값 | 사용자 머신 | 사용자 머신 |21| 실행 위치 | Cloud, Anthropic 관리 기본값 | 사용자 머신 | 사용자 머신 |

22| 머신 켜짐 필요 | 아니오 | 예 | 예 |22| 머신 켜짐 필요 | 아니오 | 예 | 예 |

23| 열린 세션 필요 | 아니오 | 아니오 | 예 |23| 열린 세션 필요 | 아니오 | 아니오 | 예 |


43Claude Desktop 1.1.5368 이전 버전에서는 로컬 예약된 작업을 사용할 수 없습니다. [**Code** 탭](/docs/ko/desktop)에서 사이드바의 **Routines**을 클릭하거나 사이드바의 **More** 메뉴에서 클릭한 다음 **New routine**을 클릭하고 **Local**을 선택합니다. 다음 필드를 구성합니다:43Claude Desktop 1.1.5368 이전 버전에서는 로컬 예약된 작업을 사용할 수 없습니다. [**Code** 탭](/docs/ko/desktop)에서 사이드바의 **Routines**을 클릭하거나 사이드바의 **More** 메뉴에서 클릭한 다음 **New routine**을 클릭하고 **Local**을 선택합니다. 다음 필드를 구성합니다:

44 44 

45| 필드 | 설명 |45| 필드 | 설명 |

46| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |46| - | - |

47| Name | 작업의 식별자입니다. 소문자 kebab-case로 변환되며 디스크의 폴더 이름으로 사용됩니다. 작업 전체에서 고유해야 합니다. |47| Name | 작업의 식별자입니다. 소문자 kebab-case로 변환되며 디스크의 폴더 이름으로 사용됩니다. 작업 전체에서 고유해야 합니다. |

48| Description | 작업 목록에 표시되는 짧은 요약입니다. |48| Description | 작업 목록에 표시되는 짧은 요약입니다. |

49| Instructions | 작업이 실행될 때 Claude가 수행해야 할 작업입니다. 프롬프트 상자의 다른 메시지를 작성하는 것과 동일한 방식으로 작성합니다. instructions 입력에는 권한 모드 및 모델에 대한 선택기가 포함되어 있으며, 아래에서 작업 폴더를 선택하고 격리된 worktree에서 실행할지 여부를 선택합니다. |49| Instructions | 작업이 실행될 때 Claude가 수행해야 할 작업입니다. 프롬프트 상자의 다른 메시지를 작성하는 것과 동일한 방식으로 작성합니다. instructions 입력에는 권한 모드 및 모델에 대한 선택기가 포함되어 있으며, 아래에서 작업 폴더를 선택하고 격리된 worktree에서 실행할지 여부를 선택합니다. |

devcontainer.md +1 −1

Details

191참조 구성은 세 개의 파일로 구성됩니다. 기능을 통해 자신의 개발 컨테이너에 Claude Code를 추가할 때 이들 중 어느 것도 필요하지 않지만 조각들을 결합하는 한 가지 방법을 보여줍니다.191참조 구성은 세 개의 파일로 구성됩니다. 기능을 통해 자신의 개발 컨테이너에 Claude Code를 추가할 때 이들 중 어느 것도 필요하지 않지만 조각들을 결합하는 한 가지 방법을 보여줍니다.

192 192 

193| 파일 | 목적 |193| 파일 | 목적 |

194| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |194| - | - |

195| [`devcontainer.json`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/devcontainer.json) | 볼륨 마운트, `runArgs` 기능, VS Code 확장 및 `containerEnv` |195| [`devcontainer.json`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/devcontainer.json) | 볼륨 마운트, `runArgs` 기능, VS Code 확장 및 `containerEnv` |

196| [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/Dockerfile) | 기본 이미지, 개발 도구 및 Claude Code 설치 |196| [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/Dockerfile) | 기본 이미지, 개발 도구 및 Claude Code 설치 |

197| [`init-firewall.sh`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh) | 허용된 도메인을 제외한 모든 아웃바운드 네트워크 트래픽 차단 |197| [`init-firewall.sh`](https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh) | 허용된 도메인을 제외한 모든 아웃바운드 네트워크 트래픽 차단 |

env-vars.md +2 −2

Details

96선택한 파일은 변수가 적용되는 대상을 제어합니다:96선택한 파일은 변수가 적용되는 대상을 제어합니다:

97 97 

98| 파일 | 적용 대상 |98| 파일 | 적용 대상 |

99| :---------------------------- | :----------------------------------------------------------------------------- |99| :- | :- |

100| `~/.claude/settings.json` | 모든 프로젝트에서 사용자 |100| `~/.claude/settings.json` | 모든 프로젝트에서 사용자 |

101| `.claude/settings.json` | 소스 제어에 체크인된 프로젝트에서 작업하는 모든 사람 |101| `.claude/settings.json` | 소스 제어에 체크인된 프로젝트에서 작업하는 모든 사람 |

102| `.claude/settings.local.json` | 이 프로젝트에서만 사용자, Claude Code가 설정을 저장할 때 gitignored됨; 직접 생성하는 경우 gitignore에 추가합니다 |102| `.claude/settings.local.json` | 이 프로젝트에서만 사용자, Claude Code가 설정을 저장할 때 gitignored됨; 직접 생성하는 경우 gitignore에 추가합니다 |


142</Note>142</Note>

143 143 

144| 변수 | 목적 |144| 변수 | 목적 |

145| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |145| :- | :- |

146| `ANTHROPIC_API_KEY` | `X-Api-Key` 헤더로 전송되는 API 키입니다. 설정하면 로그인되어 있더라도 Claude Pro, Max, Team 또는 Enterprise 구독 대신 이 키가 사용됩니다. 비대화형 모드(`-p`)에서는 키가 있을 때 항상 사용됩니다. 대화형 모드에서는 키가 구독을 재정의하기 전에 한 번 승인하도록 요청됩니다. 구독을 대신 사용하려면 `unset ANTHROPIC_API_KEY`를 실행하세요 |146| `ANTHROPIC_API_KEY` | `X-Api-Key` 헤더로 전송되는 API 키입니다. 설정하면 로그인되어 있더라도 Claude Pro, Max, Team 또는 Enterprise 구독 대신 이 키가 사용됩니다. 비대화형 모드(`-p`)에서는 키가 있을 때 항상 사용됩니다. 대화형 모드에서는 키가 구독을 재정의하기 전에 한 번 승인하도록 요청됩니다. 구독을 대신 사용하려면 `unset ANTHROPIC_API_KEY`를 실행하세요 |

147| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 헤더의 사용자 정의 값입니다(설정한 값 앞에 `Bearer `가 붙습니다) |147| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 헤더의 사용자 정의 값입니다(설정한 값 앞에 `Bearer `가 붙습니다) |

148| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)의 워크스페이스 API 키로, AWS 콘솔에서 생성됩니다. `x-api-key`로 전송되며 AWS SigV4보다 우선합니다 |148| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)의 워크스페이스 API 키로, AWS 콘솔에서 생성됩니다. `x-api-key`로 전송되며 AWS SigV4보다 우선합니다 |

errors.md +2 −2

Details

21아래에서 보이는 메시지와 일치하는 섹션을 찾으세요.21아래에서 보이는 메시지와 일치하는 섹션을 찾으세요.

22 22 

23| 메시지 | 섹션 |23| 메시지 | 섹션 |

24| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |24| :- | :- |

25| `API Error: 500 Internal server error` | [서버 오류](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [서버 오류](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [서버 오류](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [서버 오류](#api-error-repeated-529-overloaded-errors) |

27| `Request timed out` | [서버 오류](#request-timed-out), 또는 메시지에 인터넷 연결이 언급된 경우 [네트워크](#unable-to-connect-to-api) |27| `Request timed out` | [서버 오류](#request-timed-out), 또는 메시지에 인터넷 연결이 언급된 경우 [네트워크](#unable-to-connect-to-api) |


366다음 환경 변수로 재시도 동작을 조정할 수 있습니다:366다음 환경 변수로 재시도 동작을 조정할 수 있습니다:

367 367 

368| 변수 | 기본값 | 효과 |368| 변수 | 기본값 | 효과 |

369| :---------------------------------------------------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |369| :- | :- | :- |

370| [`CLAUDE_CODE_MAX_RETRIES`](/docs/ko/env-vars) | 10 | 재시도 시도 횟수. v2.1.186부터 15로 제한됩니다. v2.1.199부터 `CLAUDE_CODE_RETRY_WATCHDOG`는 기본값을 높이고 제한을 제거합니다. 스크립트에서 오류를 더 빨리 표시하려면 낮추세요. |370| [`CLAUDE_CODE_MAX_RETRIES`](/docs/ko/env-vars) | 10 | 재시도 시도 횟수. v2.1.186부터 15로 제한됩니다. v2.1.199부터 `CLAUDE_CODE_RETRY_WATCHDOG`는 기본값을 높이고 제한을 제거합니다. 스크립트에서 오류를 더 빨리 표시하려면 낮추세요. |

371| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ko/env-vars) | 설정 안 됨 | CI 작업과 같은 무인 세션에서 `1`로 설정하여 `CLAUDE_CODE_MAX_RETRIES` 시도 후 실패하는 대신 `429` 및 `529` 용량 오류를 무한정 재시도합니다. Claude Code는 표준 속도 요청이 지출 한도를 보고하거나 사용된 사용 크레딧을 보고하는 `429`를 받으면 즉시 실패합니다. 일정에 따라 재설정되는 [gateway spend cap](#spend-limit-reached)의 경우도 마찬가지입니다. v2.1.239 이전에는 watchdog이 이를 무한정 재시도했습니다. 빠른 모드 요청의 경우 [Handle rate limits](/docs/ko/fast-mode#handle-rate-limits)를 참조하세요. v2.1.199 이상에서는 서버 오류, 시간 초과 및 끊어진 연결과 같은 다른 일시적 오류에 대한 기본 재시도 횟수를 300으로 높입니다. 대략 3시간의 백오프이며, 변수를 명시적으로 설정하면 `CLAUDE_CODE_MAX_RETRIES`의 15 제한을 제거합니다. |371| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ko/env-vars) | 설정 안 됨 | CI 작업과 같은 무인 세션에서 `1`로 설정하여 `CLAUDE_CODE_MAX_RETRIES` 시도 후 실패하는 대신 `429` 및 `529` 용량 오류를 무한정 재시도합니다. Claude Code는 표준 속도 요청이 지출 한도를 보고하거나 사용된 사용 크레딧을 보고하는 `429`를 받으면 즉시 실패합니다. 일정에 따라 재설정되는 [gateway spend cap](#spend-limit-reached)의 경우도 마찬가지입니다. v2.1.239 이전에는 watchdog이 이를 무한정 재시도했습니다. 빠른 모드 요청의 경우 [Handle rate limits](/docs/ko/fast-mode#handle-rate-limits)를 참조하세요. v2.1.199 이상에서는 서버 오류, 시간 초과 및 끊어진 연결과 같은 다른 일시적 오류에 대한 기본 재시도 횟수를 300으로 높입니다. 대략 3시간의 백오프이며, 변수를 명시적으로 설정하면 `CLAUDE_CODE_MAX_RETRIES`의 15 제한을 제거합니다. |

372| [`API_TIMEOUT_MS`](/docs/ko/env-vars) | 600000 | 요청당 시간 초과(밀리초). 느린 네트워크 또는 프록시의 경우 높이세요. 또한 Claude Code가 응답 헤더를 기다리는 시간을 제한합니다. [No response from API](#no-response-from-api)에 설명되어 있습니다. |372| [`API_TIMEOUT_MS`](/docs/ko/env-vars) | 600000 | 요청당 시간 초과(밀리초). 느린 네트워크 또는 프록시의 경우 높이세요. 또한 Claude Code가 응답 헤더를 기다리는 시간을 제한합니다. [No response from API](#no-response-from-api)에 설명되어 있습니다. |

fast-mode.md +2 −2

Details

79빠른 모드는 표준 Opus보다 토큰당 가격이 높습니다:79빠른 모드는 표준 Opus보다 토큰당 가격이 높습니다:

80 80 

81| 모델 | 입력 (MTok) | 출력 (MTok) |81| 모델 | 입력 (MTok) | 출력 (MTok) |

82| -------- | --------- | --------- |82| - | - | - |

83| Opus 5.5 | \$8 | \$40 |83| Opus 5.5 | \$8 | \$40 |

84| Opus 5 | \$10 | \$50 |84| Opus 5 | \$10 | \$50 |

85| Opus 4.8 | \$10 | \$50 |85| Opus 4.8 | \$10 | \$50 |


121빠른 모드와 노력 수준 모두 응답 속도에 영향을 미치지만 방식이 다릅니다:121빠른 모드와 노력 수준 모두 응답 속도에 영향을 미치지만 방식이 다릅니다:

122 122 

123| 설정 | 효과 |123| 설정 | 효과 |

124| ------------ | ----------------------------------------- |124| - | - |

125| **빠른 모드** | 동일한 모델 품질, 낮은 지연 시간, 높은 비용 |125| **빠른 모드** | 동일한 모델 품질, 낮은 지연 시간, 높은 비용 |

126| **낮은 노력 수준** | 더 적은 생각 시간, 더 빠른 응답, 복잡한 작업에서 잠재적으로 낮은 품질 |126| **낮은 노력 수준** | 더 적은 생각 시간, 더 빠른 응답, 복잡한 작업에서 잠재적으로 낮은 품질 |

127 127 

Details

304Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 Anthropic Console API 키를 통해 인증하는 경우 이 섹션은 적용되지 않습니다. claude.ai 계정으로 로그인하면 플랜에 따라 아래 기능의 가용성이 결정됩니다.304Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 Anthropic Console API 키를 통해 인증하는 경우 이 섹션은 적용되지 않습니다. claude.ai 계정으로 로그인하면 플랜에 따라 아래 기능의 가용성이 결정됩니다.

305 305 

306| 기능 | Pro | Max | Team | Enterprise |306| 기능 | Pro | Max | Team | Enterprise |

307| :-------------------------------------------------------------------------- | :-- | :-- | :------ | :-------------------------------- |307| :- | :- | :- | :- | :- |

308| [Cloud sessions](/docs/ko/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |308| [Cloud sessions](/docs/ko/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |

309| [Routines](/docs/ko/routines) | ✓ | ✓ | ✓ | ✓ |309| [Routines](/docs/ko/routines) | ✓ | ✓ | ✓ | ✓ |

310| [Remote Control](/docs/ko/remote-control) | ✓ | ✓ | 관리자 활성화 | 관리자 활성화 |310| [Remote Control](/docs/ko/remote-control) | ✓ | ✓ | 관리자 활성화 | 관리자 활성화 |

Details

40기능은 Claude가 매 세션마다 보는 항상 활성화된 컨텍스트부터, 사용자나 Claude가 필요할 때 호출할 수 있는 온디맨드 기능, 특정 이벤트에서 실행되는 백그라운드 자동화까지 다양합니다. 아래 표는 사용 가능한 기능과 각 기능을 사용해야 할 시점을 보여줍니다.40기능은 Claude가 매 세션마다 보는 항상 활성화된 컨텍스트부터, 사용자나 Claude가 필요할 때 호출할 수 있는 온디맨드 기능, 특정 이벤트에서 실행되는 백그라운드 자동화까지 다양합니다. 아래 표는 사용 가능한 기능과 각 기능을 사용해야 할 시점을 보여줍니다.

41 41 

42| 기능 | 역할 | 사용 시점 | 예시 |42| 기능 | 역할 | 사용 시점 | 예시 |

43| -------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------- | ----------------------------------------------------------- |43| - | - | - | - |

44| **CLAUDE.md** | 매 대화마다 로드되는 지속적인 컨텍스트 | 프로젝트 규칙, "항상 X를 하기" 규칙 | "npm이 아닌 pnpm을 사용하세요. 커밋하기 전에 테스트를 실행하세요." |44| **CLAUDE.md** | 매 대화마다 로드되는 지속적인 컨텍스트 | 프로젝트 규칙, "항상 X를 하기" 규칙 | "npm이 아닌 pnpm을 사용하세요. 커밋하기 전에 테스트를 실행하세요." |

45| **[출력 스타일](/docs/ko/output-styles)** | Claude의 역할, 톤, 전체 세션의 응답 형식을 설정하는 지침 | 모든 응답에서 원하는 음성, 길이 또는 형식, 또는 Claude가 소프트웨어 엔지니어 이외의 역할로 작동 | 더 짧은 응답을 위한 기본 제공 간결 스타일; 모든 질문에 다이어그램으로 먼저 답변하는 사용자 정의 스타일 |45| **[출력 스타일](/docs/ko/output-styles)** | Claude의 역할, 톤, 전체 세션의 응답 형식을 설정하는 지침 | 모든 응답에서 원하는 음성, 길이 또는 형식, 또는 Claude가 소프트웨어 엔지니어 이외의 역할로 작동 | 더 짧은 응답을 위한 기본 제공 간결 스타일; 모든 질문에 다이어그램으로 먼저 답변하는 사용자 정의 스타일 |

46| **Skill** | Claude가 사용할 수 있는 지침, 지식, 워크플로우 | 재사용 가능한 콘텐츠, 참고 문서, 반복 가능한 작업 | `/deploy`는 배포 체크리스트를 실행합니다. 엔드포인트 패턴이 있는 API 문서 skill |46| **Skill** | Claude가 사용할 수 있는 지침, 지식, 워크플로우 | 재사용 가능한 콘텐츠, 참고 문서, 반복 가능한 작업 | `/deploy`는 배포 체크리스트를 실행합니다. 엔드포인트 패턴이 있는 API 문서 skill |


61모든 것을 미리 구성할 필요는 없습니다. 각 기능에는 인식 가능한 트리거가 있으며, 대부분의 팀은 대략 이 순서로 추가합니다:61모든 것을 미리 구성할 필요는 없습니다. 각 기능에는 인식 가능한 트리거가 있으며, 대부분의 팀은 대략 이 순서로 추가합니다:

62 62 

63| 트리거 | 추가 |63| 트리거 | 추가 |

64| :------------------------------------------------ | :----------------------------------------------------- |64| :- | :- |

65| Claude가 규칙이나 명령을 두 번 잘못 실행 | [CLAUDE.md](/docs/ko/memory)에 추가 |65| Claude가 규칙이나 명령을 두 번 잘못 실행 | [CLAUDE.md](/docs/ko/memory)에 추가 |

66| 계속해서 Claude에게 더 짧게, 더 많이 설명하거나, 동일한 형식으로 답변하도록 요청 | [출력 스타일](/docs/ko/output-styles) 설정 |66| 계속해서 Claude에게 더 짧게, 더 많이 설명하거나, 동일한 형식으로 답변하도록 요청 | [출력 스타일](/docs/ko/output-styles) 설정 |

67| 작업을 시작하기 위해 동일한 프롬프트를 계속 입력 | 사용자가 호출 가능한 [skill](/docs/ko/skills)로 저장 |67| 작업을 시작하기 위해 동일한 프롬프트를 계속 입력 | 사용자가 호출 가능한 [skill](/docs/ko/skills)로 저장 |


88 * **Subagent**는 주 대화와 별도로 실행되는 격리된 워커입니다88 * **Subagent**는 주 대화와 별도로 실행되는 격리된 워커입니다

89 89 

90 | 측면 | Skill | Subagent |90 | 측면 | Skill | Subagent |

91 | ------------------------------------------- | ----------------------- | ---------------------------- |91 | - | - | - |

92 | **정의** | 재사용 가능한 지침, 지식 또는 워크플로우 | 자체 컨텍스트가 있는 격리된 워커 |92 | **정의** | 재사용 가능한 지침, 지식 또는 워크플로우 | 자체 컨텍스트가 있는 격리된 워커 |

93 | **주요 이점** | 컨텍스트 간 콘텐츠 공유 | 컨텍스트 격리. 작업은 별도로 실행되고 요약만 반환 |93 | **주요 이점** | 컨텍스트 간 콘텐츠 공유 | 컨텍스트 격리. 작업은 별도로 실행되고 요약만 반환 |

94 | **[Context window](/docs/ko/context-window) 영향** | 주 윈도우에 추가 | 자체 입력 및 출력 토큰이 있는 별도 윈도우 사용 |94 | **[Context window](/docs/ko/context-window) 영향** | 주 윈도우에 추가 | 자체 입력 및 출력 토큰이 있는 별도 윈도우 사용 |


105 둘 다 지침을 저장하지만, 로드 방식과 목적이 다릅니다.105 둘 다 지침을 저장하지만, 로드 방식과 목적이 다릅니다.

106 106 

107 | 측면 | CLAUDE.md | Skill |107 | 측면 | CLAUDE.md | Skill |

108 | ---------------- | ----------------- | ------------------- |108 | - | - | - |

109 | **로드** | 매 세션마다 자동으로 | 온디맨드 |109 | **로드** | 매 세션마다 자동으로 | 온디맨드 |

110 | **파일 포함 가능** | 예, `@path` 임포트 사용 | 예, `@path` 임포트 사용 |110 | **파일 포함 가능** | 예, `@path` 임포트 사용 | 예, `@path` 임포트 사용 |

111 | **워크플로우 트리거 가능** | 아니오 | 예, `/<name>` 사용 |111 | **워크플로우 트리거 가능** | 아니오 | 예, `/<name>` 사용 |


122 둘 다 Claude에게 상시 지침을 제공합니다. CLAUDE.md는 Claude가 알아야 할 내용을 담고, 출력 스타일은 Claude가 응답하는 방식을 설정합니다.122 둘 다 Claude에게 상시 지침을 제공합니다. CLAUDE.md는 Claude가 알아야 할 내용을 담고, 출력 스타일은 Claude가 응답하는 방식을 설정합니다.

123 123 

124 | 측면 | CLAUDE.md | 출력 스타일 |124 | 측면 | CLAUDE.md | 출력 스타일 |

125 | --------- | ------------------------- | ------------------------------------------------------------------------- |125 | - | - | - |

126 | **보유** | 프로젝트에 대한 사실 및 규칙 | 역할, 톤, 응답 형식 |126 | **보유** | 프로젝트에 대한 사실 및 규칙 | 역할, 톤, 응답 형식 |

127 | **전환** | 항상 로드됨 | 한 번에 하나 활성화; [스타일 전환](/docs/ko/output-styles#change-your-output-style) 언제든지 가능 |127 | **전환** | 항상 로드됨 | 한 번에 하나 활성화; [스타일 전환](/docs/ko/output-styles#change-your-output-style) 언제든지 가능 |

128 | **최적 용도** | 빌드 명령, 규칙, "X를 하지 마세요" 규칙 | 더 짧은 응답, 코드와 함께 설명, 쓰기 보조자 같은 비엔지니어링 역할 |128 | **최적 용도** | 빌드 명령, 규칙, "X를 하지 마세요" 규칙 | 더 짧은 응답, 코드와 함께 설명, 쓰기 보조자 같은 비엔지니어링 역할 |


138 세 가지 모두 지침을 저장하지만, 로드 방식이 다릅니다:138 세 가지 모두 지침을 저장하지만, 로드 방식이 다릅니다:

139 139 

140 | 측면 | CLAUDE.md | `.claude/rules/` | Skill |140 | 측면 | CLAUDE.md | `.claude/rules/` | Skill |

141 | --------- | ------------- | ------------------------ | -------------------- |141 | - | - | - | - |

142 | **로드** | 매 세션마다 | 매 세션마다, 또는 일치하는 파일이 열릴 때 | 온디맨드, 호출되거나 관련이 있을 때 |142 | **로드** | 매 세션마다 | 매 세션마다, 또는 일치하는 파일이 열릴 때 | 온디맨드, 호출되거나 관련이 있을 때 |

143 | **범위** | 전체 프로젝트 | 파일 경로로 범위 지정 가능 | 작업별 |143 | **범위** | 전체 프로젝트 | 파일 경로로 범위 지정 가능 | 작업별 |

144 | **최적 용도** | 핵심 규칙 및 빌드 명령 | 언어별 또는 디렉토리별 가이드라인 | 참고 자료, 반복 가능한 워크플로우 |144 | **최적 용도** | 핵심 규칙 및 빌드 명령 | 언어별 또는 디렉토리별 가이드라인 | 참고 자료, 반복 가능한 워크플로우 |


167 MCP는 Claude를 외부 서비스에 연결합니다. Skill은 Claude가 알고 있는 것을 확장하며, 이러한 서비스를 효과적으로 사용하는 방법도 포함합니다.167 MCP는 Claude를 외부 서비스에 연결합니다. Skill은 Claude가 알고 있는 것을 확장하며, 이러한 서비스를 효과적으로 사용하는 방법도 포함합니다.

168 168 

169 | 측면 | MCP | Skill |169 | 측면 | MCP | Skill |

170 | ------ | ---------------------------- | ---------------------------------- |170 | - | - | - |

171 | **정의** | 외부 서비스에 연결하기 위한 프로토콜 | 지식, 워크플로우, 참고 자료 |171 | **정의** | 외부 서비스에 연결하기 위한 프로토콜 | 지식, 워크플로우, 참고 자료 |

172 | **제공** | 도구 및 데이터 액세스 | 지식, 워크플로우, 참고 자료 |172 | **제공** | 도구 및 데이터 액세스 | 지식, 워크플로우, 참고 자료 |

173 | **예시** | Slack 통합, 데이터베이스 쿼리, 브라우저 제어 | 코드 검토 체크리스트, 배포 워크플로우, API 스타일 가이드 |173 | **예시** | Slack 통합, 데이터베이스 쿼리, 브라우저 제어 | 코드 검토 체크리스트, 배포 워크플로우, API 스타일 가이드 |


183 Claude Code는 라이프사이클 이벤트에서 hook을 실행합니다. Skill을 컨텍스트에 로드하여 Claude가 적용하도록 합니다.183 Claude Code는 라이프사이클 이벤트에서 hook을 실행합니다. Skill을 컨텍스트에 로드하여 Claude가 적용하도록 합니다.

184 184 

185 | 측면 | Hook | Skill |185 | 측면 | Hook | Skill |

186 | ----------- | ---------------------------------------------------------------------- | ---------------------------------------- |186 | - | - | - |

187 | **실행** | 셸 명령, HTTP 요청, MCP 도구 호출, LLM 프롬프트 또는 subagent | Claude가 읽고 따르는 지침 |187 | **실행** | 셸 명령, HTTP 요청, MCP 도구 호출, LLM 프롬프트 또는 subagent | Claude가 읽고 따르는 지침 |

188 | **트리거** | [라이프사이클 이벤트](/docs/ko/hooks#hook-events) 예: `PostToolUse` 또는 `SessionStart` | `/<name>`을 입력하거나, Claude가 설명을 작업과 일치시킬 때 |188 | **트리거** | [라이프사이클 이벤트](/docs/ko/hooks#hook-events) 예: `PostToolUse` 또는 `SessionStart` | `/<name>`을 입력하거나, Claude가 설명을 작업과 일치시킬 때 |

189 | **결정론** | 항상 이벤트에서 실행됩니다. 트리거가 보장됩니다 | Claude가 지침을 해석합니다. 결과는 다를 수 있습니다 |189 | **결정론** | 항상 이벤트에서 실행됩니다. 트리거가 보장됩니다 | Claude가 지침을 해석합니다. 결과는 다를 수 있습니다 |


220예를 들어, CLAUDE.md를 프로젝트 규칙에 사용하고, skill을 배포 워크플로우에 사용하고, MCP를 데이터베이스에 연결하는 데 사용하고, hook을 모든 편집 후 린팅을 실행하는 데 사용할 수 있습니다. 각 기능은 최고의 역할을 합니다.220예를 들어, CLAUDE.md를 프로젝트 규칙에 사용하고, skill을 배포 워크플로우에 사용하고, MCP를 데이터베이스에 연결하는 데 사용하고, hook을 모든 편집 후 린팅을 실행하는 데 사용할 수 있습니다. 각 기능은 최고의 역할을 합니다.

221 221 

222| 패턴 | 작동 방식 | 예시 |222| 패턴 | 작동 방식 | 예시 |

223| --------------------- | ------------------------------------------------------------ | -------------------------------------------------------------- |223| - | - | - |

224| **Skill + MCP** | MCP가 연결을 제공합니다. Skill은 Claude에게 이를 잘 사용하는 방법을 가르칩니다 | MCP가 데이터베이스에 연결합니다. Skill은 스키마 및 쿼리 패턴을 문서화합니다 |224| **Skill + MCP** | MCP가 연결을 제공합니다. Skill은 Claude에게 이를 잘 사용하는 방법을 가르칩니다 | MCP가 데이터베이스에 연결합니다. Skill은 스키마 및 쿼리 패턴을 문서화합니다 |

225| **Skill + Subagent** | Skill이 병렬 작업을 위해 subagent를 생성합니다 | `/audit` skill은 격리된 컨텍스트에서 작동하는 보안, 성능, 스타일 subagent를 시작합니다 |225| **Skill + Subagent** | Skill이 병렬 작업을 위해 subagent를 생성합니다 | `/audit` skill은 격리된 컨텍스트에서 작동하는 보안, 성능, 스타일 subagent를 시작합니다 |

226| **CLAUDE.md + Skill** | CLAUDE.md는 항상 활성화된 규칙을 보유합니다. Skill은 온디맨드로 로드되는 참고 자료를 보유합니다 | CLAUDE.md는 "API 규칙을 따르세요"라고 말합니다. Skill은 전체 API 스타일 가이드를 포함합니다 |226| **CLAUDE.md + Skill** | CLAUDE.md는 항상 활성화된 규칙을 보유합니다. Skill은 온디맨드로 로드되는 참고 자료를 보유합니다 | CLAUDE.md는 "API 규칙을 따르세요"라고 말합니다. Skill은 전체 API 스타일 가이드를 포함합니다 |


239각 기능은 다양한 로딩 전략과 컨텍스트 비용을 가집니다.239각 기능은 다양한 로딩 전략과 컨텍스트 비용을 가집니다.

240 240 

241| 기능 | 로드 시기 | 로드되는 내용 | 컨텍스트 비용 |241| 기능 | 로드 시기 | 로드되는 내용 | 컨텍스트 비용 |

242| --------------------- | ------------------------ | ------------------------------------------------------------------------------------ | --------------------------- |242| - | - | - | - |

243| **CLAUDE.md** | 세션 시작 | 전체 콘텐츠 | 모든 요청 |243| **CLAUDE.md** | 세션 시작 | 전체 콘텐츠 | 모든 요청 |

244| **출력 스타일** | 세션 시작, 그리고 스타일을 전환할 때 다시 | 활성 스타일의 전체 지침; 기본 스타일의 경우 없음 | 모든 요청 |244| **출력 스타일** | 세션 시작, 그리고 스타일을 전환할 때 다시 | 활성 스타일의 전체 지침; 기본 스타일의 경우 없음 | 모든 요청 |

245| **Skills** | 세션 시작 + 사용 시 | 시작 시 설명, 사용 시 전체 콘텐츠 | 낮음(모든 요청마다 설명)\* |245| **Skills** | 세션 시작 + 사용 시 | 시작 시 설명, 사용 시 전체 콘텐츠 | 낮음(모든 요청마다 설명)\* |

fullscreen.md +4 −4

Details

57첨부된 [백그라운드 세션](/docs/ko/agent-view)은 전체 화면으로 렌더링되고, [화면 읽기 모드](/docs/ko/accessibility)의 다른 세션은 클래식 렌더러를 사용합니다. 그 외에는 Claude Code는 설정과 일치하는 이 표의 첫 번째 행의 렌더러로 시작합니다:57첨부된 [백그라운드 세션](/docs/ko/agent-view)은 전체 화면으로 렌더링되고, [화면 읽기 모드](/docs/ko/accessibility)의 다른 세션은 클래식 렌더러를 사용합니다. 그 외에는 Claude Code는 설정과 일치하는 이 표의 첫 번째 행의 렌더러로 시작합니다:

58 58 

59| 상황 | 시작하는 렌더러 |59| 상황 | 시작하는 렌더러 |

60| :----------------------------------------------------------------------------------------------------------------------------- | :----------- |60| :- | :- |

61| [`CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`](/docs/ko/env-vars) 또는 `CLAUDE_CODE_NO_FLICKER=0`을 설정했습니다 | 클래식 |61| [`CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`](/docs/ko/env-vars) 또는 `CLAUDE_CODE_NO_FLICKER=0`을 설정했습니다 | 클래식 |

62| `CLAUDE_CODE_NO_FLICKER=1`을 설정했습니다 | 전체 화면 |62| `CLAUDE_CODE_NO_FLICKER=1`을 설정했습니다 | 전체 화면 |

63| Claude Code가 이 머신에서 [전체 화면 시작 실패](#fullscreen-renderer-didnt-finish-starting) 후 전체 화면을 끕니다 | 클래식 |63| Claude Code가 이 머신에서 [전체 화면 시작 실패](#fullscreen-renderer-didnt-finish-starting) 후 전체 화면을 끕니다 | 클래식 |


85대화가 터미널의 스크롤백 대신 대체 화면 버퍼에 있기 때문에 몇 가지가 다르게 작동합니다:85대화가 터미널의 스크롤백 대신 대체 화면 버퍼에 있기 때문에 몇 가지가 다르게 작동합니다:

86 86 

87| 이전 | 현재 | 세부 정보 |87| 이전 | 현재 | 세부 정보 |

88| :-------------------------- | :---------------------------------------------------- | :------------------------------------------------ |88| :- | :- | :- |

89| `Cmd+f` 또는 tmux 검색으로 텍스트 찾기 | 트랜스크립트 모드의 경우 `Ctrl+o`, 그 다음 `/`로 검색하거나 `[`로 스크롤백에 작성 | [대화 검색 및 검토](#search-and-review-the-conversation) |89| `Cmd+f` 또는 tmux 검색으로 텍스트 찾기 | 트랜스크립트 모드의 경우 `Ctrl+o`, 그 다음 `/`로 검색하거나 `[`로 스크롤백에 작성 | [대화 검색 및 검토](#search-and-review-the-conversation) |

90| 터미널의 기본 클릭 및 드래그로 선택 및 복사 | 앱 내 선택, 마우스 릴리스 시 자동 복사 | [마우스 사용](#use-the-mouse) |90| 터미널의 기본 클릭 및 드래그로 선택 및 복사 | 앱 내 선택, 마우스 릴리스 시 자동 복사 | [마우스 사용](#use-the-mouse) |

91| `Cmd`-클릭으로 URL 열기 | macOS에서는 `Cmd`-클릭, 다른 곳에서는 `Ctrl`-클릭 | [마우스 사용](#use-the-mouse) |91| `Cmd`-클릭으로 URL 열기 | macOS에서는 `Cmd`-클릭, 다른 곳에서는 `Ctrl`-클릭 | [마우스 사용](#use-the-mouse) |


135전체 화면 렌더링은 앱 내에서 스크롤링을 처리합니다. 다음 단축키를 사용하여 탐색하세요:135전체 화면 렌더링은 앱 내에서 스크롤링을 처리합니다. 다음 단축키를 사용하여 탐색하세요:

136 136 

137| 단축키 | 작업 |137| 단축키 | 작업 |

138| :-------------- | :------------------------ |138| :- | :- |

139| `PgUp` / `PgDn` | 화면의 절반만큼 위 또는 아래로 스크롤 |139| `PgUp` / `PgDn` | 화면의 절반만큼 위 또는 아래로 스크롤 |

140| `Ctrl+Home` | 대화의 시작 부분으로 이동 |140| `Ctrl+Home` | 대화의 시작 부분으로 이동 |

141| `Ctrl+End` | 최신 메시지로 이동하고 자동 추적 다시 활성화 |141| `Ctrl+End` | 최신 메시지로 이동하고 자동 추적 다시 활성화 |


208트랜스크립트 모드는 `less` 스타일의 네비게이션과 검색을 제공합니다:208트랜스크립트 모드는 `less` 스타일의 네비게이션과 검색을 제공합니다:

209 209 

210| 키 | 작업 |210| 키 | 작업 |

211| :----------------------------------- | :---------------------------------------------------------------------- |211| :- | :- |

212| `/` | 검색을 엽니다. 입력하여 일치 항목을 찾고, `Enter`를 눌러 수락하고, `Esc`를 눌러 취소하고 스크롤 위치를 복원합니다 |212| `/` | 검색을 엽니다. 입력하여 일치 항목을 찾고, `Enter`를 눌러 수락하고, `Esc`를 눌러 취소하고 스크롤 위치를 복원합니다 |

213| `n` / `N` | 다음 또는 이전 일치 항목으로 이동합니다. 검색 표시줄을 닫은 후에 작동합니다 |213| `n` / `N` | 다음 또는 이전 일치 항목으로 이동합니다. 검색 표시줄을 닫은 후에 작동합니다 |

214| `j` / `k` 또는 `↑` / `↓` | 한 줄 스크롤 |214| `j` / `k` 또는 `↑` / `↓` | 한 줄 스크롤 |

Details

136앱을 설치하면 다음 권한을 부여합니다:136앱을 설치하면 다음 권한을 부여합니다:

137 137 

138| 권한 | 액세스 |138| 권한 | 액세스 |

139| ---------------- | ------- |139| - | - |

140| Actions | 읽기 및 쓰기 |140| Actions | 읽기 및 쓰기 |

141| Checks | 읽기 및 쓰기 |141| Checks | 읽기 및 쓰기 |

142| Contents | 읽기 및 쓰기 |142| Contents | 읽기 및 쓰기 |


399이는 가장 일반적으로 사용되는 입력입니다. 각각은 `anthropics/claude-code-action` 단계의 `with:` 키에 매핑됩니다.399이는 가장 일반적으로 사용되는 입력입니다. 각각은 `anthropics/claude-code-action` 단계의 `with:` 키에 매핑됩니다.

400 400 

401| 파라미터 | 설명 | 필수 |401| 파라미터 | 설명 | 필수 |

402| ------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |402| - | - | - |

403| `prompt` | Claude에 대한 지침. 일반 텍스트 또는 [스킬](/docs/ko/skills) 호출. 생략하면 Claude는 [트리거 구문](#interactive-and-automation-modes) 대신 응답합니다 | 아니오 |403| `prompt` | Claude에 대한 지침. 일반 텍스트 또는 [스킬](/docs/ko/skills) 호출. 생략하면 Claude는 [트리거 구문](#interactive-and-automation-modes) 대신 응답합니다 | 아니오 |

404| `claude_args` | Claude Code에 전달된 CLI 인수 | 아니오 |404| `claude_args` | Claude Code에 전달된 CLI 인수 | 아니오 |

405| `anthropic_api_key` | Claude API 키 | Claude API의 경우 `claude_code_oauth_token` 또는 [워크로드 ID 페더레이션](#set-up-for-an-organization)을 사용하지 않는 한 필수입니다. Bedrock, Agent Platform 또는 Foundry에는 사용되지 않습니다 |405| `anthropic_api_key` | Claude API 키 | Claude API의 경우 `claude_code_oauth_token` 또는 [워크로드 ID 페더레이션](#set-up-for-an-organization)을 사용하지 않는 한 필수입니다. Bedrock, Agent Platform 또는 Foundry에는 사용되지 않습니다 |

Details

101 Claude Code GitHub Action이 실행되는 저장소에서 제공자에 대한 비밀을 추가하고, 첫 번째 단계에서 사용자 정의 GitHub App을 생성한 경우 두 가지 앱 비밀을 추가합니다. GitHub의 [GitHub Actions에서 비밀 사용하기](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) 가이드를 참조합니다.101 Claude Code GitHub Action이 실행되는 저장소에서 제공자에 대한 비밀을 추가하고, 첫 번째 단계에서 사용자 정의 GitHub App을 생성한 경우 두 가지 앱 비밀을 추가합니다. GitHub의 [GitHub Actions에서 비밀 사용하기](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) 가이드를 참조합니다.

102 102 

103 | 비밀 | 필요한 대상 | 값 |103 | 비밀 | 필요한 대상 | 값 |

104 | -------------------------------- | ---------------------------- | ---------------------- |104 | - | - | - |

105 | `AWS_ROLE_TO_ASSUME` | Amazon Bedrock | IAM 역할의 ARN |105 | `AWS_ROLE_TO_ASSUME` | Amazon Bedrock | IAM 역할의 ARN |

106 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Google Cloud의 Agent Platform | 제공자의 전체 리소스 이름 |106 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Google Cloud의 Agent Platform | 제공자의 전체 리소스 이름 |

107 | `GCP_SERVICE_ACCOUNT` | Google Cloud의 Agent Platform | 서비스 계정의 이메일 주소 |107 | `GCP_SERVICE_ACCOUNT` | Google Cloud의 Agent Platform | 서비스 계정의 이메일 주소 |

Details

21아래 표는 Claude Code의 어떤 기능이 GHES를 지원하는지 및 github.com 동작과의 차이점을 보여줍니다.21아래 표는 Claude Code의 어떤 기능이 GHES를 지원하는지 및 github.com 동작과의 차이점을 보여줍니다.

22 22 

23| 기능 | GHES 지원 | 참고 |23| 기능 | GHES 지원 | 참고 |

24| :-------------- | :-------- | :----------------------------------------------------------------------------------------------------- |24| :- | :- | :- |

25| 클라우드 세션 | ✅ 지원됨 | 소유자가 GHES 인스턴스를 한 번 연결하면 개발자는 `claude --cloud` 또는 [claude.ai/code](https://claude.ai/code)를 평소처럼 사용합니다 |25| 클라우드 세션 | ✅ 지원됨 | 소유자가 GHES 인스턴스를 한 번 연결하면 개발자는 `claude --cloud` 또는 [claude.ai/code](https://claude.ai/code)를 평소처럼 사용합니다 |

26| 코드 리뷰 | ✅ 지원됨 | github.com과 동일한 자동화된 PR 리뷰 |26| 코드 리뷰 | ✅ 지원됨 | github.com과 동일한 자동화된 PR 리뷰 |

27| Claude Security | ✅ 지원됨 | Enterprise 플랜의 공개 베타에서 [claude.ai/security](https://claude.ai/security)에서 사용 가능 |27| Claude Security | ✅ 지원됨 | Enterprise 플랜의 공개 베타에서 [claude.ai/security](https://claude.ai/security)에서 사용 가능 |


68매니페스트는 GitHub App을 다음 권한 및 웹훅 이벤트로 구성하며, 이들은 함께 클라우드 세션, 코드 검토, Claude Security, 플러그인 마켓플레이스 및 기여도 메트릭을 포함합니다:68매니페스트는 GitHub App을 다음 권한 및 웹훅 이벤트로 구성하며, 이들은 함께 클라우드 세션, 코드 검토, Claude Security, 플러그인 마켓플레이스 및 기여도 메트릭을 포함합니다:

69 69 

70| 권한 | 액세스 | 사용 목적 |70| 권한 | 액세스 | 사용 목적 |

71| :------------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------ |71| :- | :- | :- |

72| Contents | 읽기 및 쓰기 | 저장소 복제 및 분기 푸시 |72| Contents | 읽기 및 쓰기 | 저장소 복제 및 분기 푸시 |

73| Pull requests | 읽기 및 쓰기 | PR 생성 및 검토 의견 게시 |73| Pull requests | 읽기 및 쓰기 | PR 생성 및 검토 의견 게시 |

74| Issues | 읽기 및 쓰기 | 문제 언급에 응답 |74| Issues | 읽기 및 쓰기 | 문제 언급에 응답 |


131조직 전체에 내부 도구를 배포하기 위해 GHES 인스턴스에서 플러그인 마켓플레이스를 호스팅합니다. 마켓플레이스 구조는 github.com 호스팅 마켓플레이스와 동일하지만, 마켓플레이스를 추가하는 위치에 따라 설치 방식이 다르며, 표면에 따라 자격 증명이 다릅니다:131조직 전체에 내부 도구를 배포하기 위해 GHES 인스턴스에서 플러그인 마켓플레이스를 호스팅합니다. 마켓플레이스 구조는 github.com 호스팅 마켓플레이스와 동일하지만, 마켓플레이스를 추가하는 위치에 따라 설치 방식이 다르며, 표면에 따라 자격 증명이 다릅니다:

132 132 

133| 표면 | 설치 방식 | 각 사용자가 필요한 것 |133| 표면 | 설치 방식 | 각 사용자가 필요한 것 |

134| :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------- |134| :- | :- | :- |

135| Claude Code CLI 및 데스크톱 | Claude Code는 머신의 기존 git 자격 증명을 사용하여 마켓플레이스 저장소를 복제합니다 | 머신에서 GHES 호스트에 대한 Git 액세스 |135| Claude Code CLI 및 데스크톱 | Claude Code는 머신의 기존 git 자격 증명을 사용하여 마켓플레이스 저장소를 복제합니다 | 머신에서 GHES 호스트에 대한 Git 액세스 |

136| 관리되는 설정 (`extraKnownMarketplaces`) | Claude Code는 항목을 등록하고 머신의 기존 git 자격 증명을 사용하여 저장소를 복제합니다 | 머신에서 GHES 호스트에 대한 Git 액세스 |136| 관리되는 설정 (`extraKnownMarketplaces`) | Claude Code는 항목을 등록하고 머신의 기존 git 자격 증명을 사용하여 저장소를 복제합니다 | 머신에서 GHES 호스트에 대한 Git 액세스 |

137| claude.ai 조직 플러그인 설정 | 소유자가 GHES 인스턴스를 소스로 선택합니다. Anthropic의 백엔드는 [관리자 설정](#admin-setup)의 GitHub App을 사용하여 저장소를 가져오고 동기화합니다 | 추가된 후 사용자당 필요한 것이 없습니다. 이를 추가하는 소유자는 액세스 확인으로 자신의 GitHub Enterprise 계정을 연결해야 하며, GitHub App은 마켓플레이스 저장소에 설치되어야 합니다 |137| claude.ai 조직 플러그인 설정 | 소유자가 GHES 인스턴스를 소스로 선택합니다. Anthropic의 백엔드는 [관리자 설정](#admin-setup)의 GitHub App을 사용하여 저장소를 가져오고 동기화합니다 | 추가된 후 사용자당 필요한 것이 없습니다. 이를 추가하는 소유자는 액세스 확인으로 자신의 GitHub Enterprise 계정을 연결해야 하며, GitHub App은 마켓플레이스 저장소에 설치되어야 합니다 |

glossary.md +1 −1

Details

489이 용어는 이전 문서, 블로그 게시물 및 커뮤니티 콘텐츠에 나타납니다. 이 사이트를 검색할 때 현재 이름을 사용합니다.489이 용어는 이전 문서, 블로그 게시물 및 커뮤니티 콘텐츠에 나타납니다. 이 사이트를 검색할 때 현재 이름을 사용합니다.

490 490 

491| 이전 용어 | 현재 이름 | 참고 |491| 이전 용어 | 현재 이름 | 참고 |

492| ----------------------------------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------- |492| - | - | - |

493| Headless mode | [Non-interactive mode](#non-interactive-mode) | 동일한 `-p` 플래그, 동일한 동작 |493| Headless mode | [Non-interactive mode](#non-interactive-mode) | 동일한 `-p` 플래그, 동일한 동작 |

494| Web session; "Claude Code on the web" as the name for any cloud session | [Cloud session](#cloud-session) | "Claude Code on the web"은 이제 claude.ai/code의 브라우저 표면만 지칭합니다 |494| Web session; "Claude Code on the web" as the name for any cloud session | [Cloud session](#cloud-session) | "Claude Code on the web"은 이제 claude.ai/code의 브라우저 표면만 지칭합니다 |

495| Custom commands | [Skills](#skill) | `.claude/commands/` 파일은 계속 작동합니다 |495| Custom commands | [Skills](#skill) | `.claude/commands/` 파일은 계속 작동합니다 |

goal.md +1 −1

Details

22세 가지 접근 방식이 프롬프트 사이의 현재 세션을 계속 실행합니다. 다음 턴을 시작해야 할 때를 기준으로 선택합니다:22세 가지 접근 방식이 프롬프트 사이의 현재 세션을 계속 실행합니다. 다음 턴을 시작해야 할 때를 기준으로 선택합니다:

23 23 

24| 접근 방식 | 다음 턴 시작 시기 | 중지 시기 |24| 접근 방식 | 다음 턴 시작 시기 | 중지 시기 |

25| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------ |25| :- | :- | :- |

26| `/goal` | 이전 턴이 완료될 때, 또는 대화형 세션에서 [유휴 체크인](#background-work-defers-evaluation) 또는 [자동 재시도](#other-errors-retry-or-pause-the-goal)가 발생할 때 | 모델이 조건이 충족되었음을 확인하거나 불가능하다고 판단할 때, 또는 [수정해야 하는 오류](#errors-you-have-to-fix-clear-the-goal)로 인해 턴이 실패할 때, 또는 [`/goal clear`](#clear-a-goal)를 실행할 때 |26| `/goal` | 이전 턴이 완료될 때, 또는 대화형 세션에서 [유휴 체크인](#background-work-defers-evaluation) 또는 [자동 재시도](#other-errors-retry-or-pause-the-goal)가 발생할 때 | 모델이 조건이 충족되었음을 확인하거나 불가능하다고 판단할 때, 또는 [수정해야 하는 오류](#errors-you-have-to-fix-clear-the-goal)로 인해 턴이 실패할 때, 또는 [`/goal clear`](#clear-a-goal)를 실행할 때 |

27| [`/loop`](/docs/ko/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | 시간 간격이 경과할 때 | 사용자가 중지하거나 Claude가 작업이 완료되었다고 판단할 때 |27| [`/loop`](/docs/ko/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | 시간 간격이 경과할 때 | 사용자가 중지하거나 Claude가 작업이 완료되었다고 판단할 때 |

28| [Stop hook](/docs/ko/hooks-guide#prompt-based-hooks) | 이전 턴이 완료될 때 | 사용자의 스크립트 또는 프롬프트가 결정할 때 |28| [Stop hook](/docs/ko/hooks-guide#prompt-based-hooks) | 이전 턴이 완료될 때 | 사용자의 스크립트 또는 프롬프트가 결정할 때 |

Details

251고정 변수가 설정되지 않으면 Claude Code는 이러한 기본 모델을 사용합니다:251고정 변수가 설정되지 않으면 Claude Code는 이러한 기본 모델을 사용합니다:

252 252 

253| 모델 유형 | 기본값 |253| 모델 유형 | 기본값 |

254| :------- | :--------------------------- |254| :- | :- |

255| 주 모델 | `claude-opus-5-5` |255| 주 모델 | `claude-opus-5-5` |

256| 소형/빠른 모델 | `claude-sonnet-4-5@20250929` |256| 소형/빠른 모델 | `claude-sonnet-4-5@20250929` |

257 257 

headless.md +5 −5

Details

55베어 모드에서 Claude는 Bash, 파일 읽기 및 파일 편집 도구에 액세스할 수 있습니다. 플래그를 사용하여 필요한 컨텍스트를 전달합니다:55베어 모드에서 Claude는 Bash, 파일 읽기 및 파일 편집 도구에 액세스할 수 있습니다. 플래그를 사용하여 필요한 컨텍스트를 전달합니다:

56 56 

57| 로드할 항목 | 사용 |57| 로드할 항목 | 사용 |

58| ----------- | ------------------------------------------------------- |58| - | - |

59| 시스템 프롬프트 추가 | `--append-system-prompt`, `--append-system-prompt-file` |59| 시스템 프롬프트 추가 | `--append-system-prompt`, `--append-system-prompt-file` |

60| 설정 | `--settings <file-or-json>` |60| 설정 | `--settings <file-or-json>` |

61| MCP 서버 | `--mcp-config <file-or-json>` |61| MCP 서버 | `--mcp-config <file-or-json>` |


223API 요청이 재시도 가능한 오류로 실패하면 Claude Code는 재시도하기 전에 `system/api_retry` 이벤트를 내보냅니다. v2.1.246 이상에서 `401` 또는 `403`이 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 자격 증명을 거부하면 Claude Code는 처음 두 번의 재시도를 조용히 수행하고 이벤트 없이 진행한 다음 세 번째 연속 재시도부터 평소대로 이벤트를 내보냅니다. 조용한 재시도는 여전히 `attempt`에 포함됩니다. 이벤트를 사용하여 자신의 인터페이스에서 재시도 진행 상황을 표시할 수 있습니다.223API 요청이 재시도 가능한 오류로 실패하면 Claude Code는 재시도하기 전에 `system/api_retry` 이벤트를 내보냅니다. v2.1.246 이상에서 `401` 또는 `403`이 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 자격 증명을 거부하면 Claude Code는 처음 두 번의 재시도를 조용히 수행하고 이벤트 없이 진행한 다음 세 번째 연속 재시도부터 평소대로 이벤트를 내보냅니다. 조용한 재시도는 여전히 `attempt`에 포함됩니다. 이벤트를 사용하여 자신의 인터페이스에서 재시도 진행 상황을 표시할 수 있습니다.

224 224 

225| 필드 | 유형 | 설명 |225| 필드 | 유형 | 설명 |

226| ---------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |226| - | - | - |

227| `type` | `"system"` | 메시지 유형 |227| `type` | `"system"` | 메시지 유형 |

228| `subtype` | `"api_retry"` | 이를 재시도 이벤트로 식별 |228| `subtype` | `"api_retry"` | 이를 재시도 이벤트로 식별 |

229| `attempt` | 정수 | 현재 시도 번호, 1부터 시작 |229| `attempt` | 정수 | 현재 시도 번호, 1부터 시작 |


253`system/init` 이벤트의 플러그인 필드를 사용하여 로드되지 않은 플러그인을 포착합니다:253`system/init` 이벤트의 플러그인 필드를 사용하여 로드되지 않은 플러그인을 포착합니다:

254 254 

255| 필드 | 유형 | 설명 |255| 필드 | 유형 | 설명 |

256| --------------- | -- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |256| - | - | - |

257| `plugins` | 배열 | 성공적으로 로드된 플러그인, 각각 `name` 및 `path` 포함 |257| `plugins` | 배열 | 성공적으로 로드된 플러그인, 각각 `name` 및 `path` 포함 |

258| `plugin_errors` | 배열 | 플러그인 로드 시간 오류, 각각 `plugin`, `type` 및 `message` 포함. 만족하지 않은 종속성 버전 및 누락된 경로 또는 유효하지 않은 아카이브와 같은 `--plugin-dir` 로드 실패를 포함합니다. 영향을 받은 플러그인은 강등되고 `plugins`에서 없습니다. 오류가 없으면 키가 생략됩니다 |258| `plugin_errors` | 배열 | 플러그인 로드 시간 오류, 각각 `plugin`, `type` 및 `message` 포함. 만족하지 않은 종속성 버전 및 누락된 경로 또는 유효하지 않은 아카이브와 같은 `--plugin-dir` 로드 실패를 포함합니다. 영향을 받은 플러그인은 강등되고 `plugins`에서 없습니다. 오류가 없으면 키가 생략됩니다 |

259 259 


263Claude Code는 시작 시 각 `--mcp-config` 항목을 검증하고 검증에 실패한 항목을 건너뜁니다(예: `type`이 없는 `url` 항목). 실행이 계속되고 깔끔하게 종료되므로 이러한 필드를 확인하여 로드되지 않은 서버를 포착합니다:263Claude Code는 시작 시 각 `--mcp-config` 항목을 검증하고 검증에 실패한 항목을 건너뜁니다(예: `type`이 없는 `url` 항목). 실행이 계속되고 깔끔하게 종료되므로 이러한 필드를 확인하여 로드되지 않은 서버를 포착합니다:

264 264 

265| 필드 | 유형 | 설명 |265| 필드 | 유형 | 설명 |

266| ------------------- | -- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |266| - | - | - |

267| `mcp_servers` | 배열 | 세션의 MCP 서버, 각각 `name` 및 `status` 포함 |267| `mcp_servers` | 배열 | 세션의 MCP 서버, 각각 `name` 및 `status` 포함 |

268| `mcp_server_errors` | 배열 | 구성 검증으로 건너뛴 `--mcp-config` 항목, 각각 `name`, `type` 및 `message` 포함. `type`은 `unknown_type`, `url_missing_type`, `invalid_config` 또는 `reserved_name`과 같은 건너뛰기 범주입니다; 인식하지 못하는 값은 일반 건너뛰기로 취급합니다. 영향을 받은 서버는 `mcp_servers`에서 없습니다. 오류가 없으면 키가 생략되므로 CI 게이트는 비어 있지 않은 배열에서 실패할 수 있습니다. Claude Code v2.1.219 이상이 필요합니다 |268| `mcp_server_errors` | 배열 | 구성 검증으로 건너뛴 `--mcp-config` 항목, 각각 `name`, `type` 및 `message` 포함. `type`은 `unknown_type`, `url_missing_type`, `invalid_config` 또는 `reserved_name`과 같은 건너뛰기 범주입니다; 인식하지 못하는 값은 일반 건너뛰기로 취급합니다. 영향을 받은 서버는 `mcp_servers`에서 없습니다. 오류가 없으면 키가 생략되므로 CI 게이트는 비어 있지 않은 배열에서 실패할 수 있습니다. Claude Code v2.1.219 이상이 필요합니다 |

269 269 


276[`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ko/env-vars)이 설정되면 Claude Code는 첫 번째 턴 전에 마켓플레이스 플러그인이 설치되는 동안 `system/plugin_install` 이벤트를 내보냅니다. 이를 사용하여 자신의 UI에서 설치 진행 상황을 표시합니다.276[`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ko/env-vars)이 설정되면 Claude Code는 첫 번째 턴 전에 마켓플레이스 플러그인이 설치되는 동안 `system/plugin_install` 이벤트를 내보냅니다. 이를 사용하여 자신의 UI에서 설치 진행 상황을 표시합니다.

277 277 

278| 필드 | 유형 | 설명 |278| 필드 | 유형 | 설명 |

279| ------------ | ------------------------------------------------------- | ---------------------------------------------------------------------------------- |279| - | - | - |

280| `type` | `"system"` | 메시지 유형 |280| `type` | `"system"` | 메시지 유형 |

281| `subtype` | `"plugin_install"` | 이를 플러그인 설치 이벤트로 식별 |281| `subtype` | `"plugin_install"` | 이를 플러그인 설치 이벤트로 식별 |

282| `status` | `"started"`, `"installed"`, `"failed"` 또는 `"completed"` | `started` 및 `completed`는 전체 설치를 괄호로 묶습니다; `installed` 및 `failed`는 개별 마켓플레이스를 보고합니다 |282| `status` | `"started"`, `"installed"`, `"failed"` 또는 `"completed"` | `started` 및 `completed`는 전체 설치를 괄호로 묶습니다; `installed` 및 `failed`는 개별 마켓플레이스를 보고합니다 |

hooks.md +75 −75

Details

35아래 표는 각 이벤트가 언제 발생하는지 요약합니다. [Hook 이벤트](#hook-events) 섹션에서는 각 이벤트의 전체 입력 스키마와 결정 제어 옵션을 문서화합니다.35아래 표는 각 이벤트가 언제 발생하는지 요약합니다. [Hook 이벤트](#hook-events) 섹션에서는 각 이벤트의 전체 입력 스키마와 결정 제어 옵션을 문서화합니다.

36 36 

37| 이벤트 | 발생 시점 |37| 이벤트 | 발생 시점 |

38| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |38| :- | :- |

39| `SessionStart` | 세션이 시작되거나 재개될 때 |39| `SessionStart` | 세션이 시작되거나 재개될 때 |

40| `Setup` | `--init-only`로 Claude Code를 시작하거나, `-p` 모드에서 `--init` 또는 `--maintenance`로 시작할 때. CI 또는 스크립트에서 일회성 준비를 위함 |40| `Setup` | `--init-only`로 Claude Code를 시작하거나, `-p` 모드에서 `--init` 또는 `--maintenance`로 시작할 때. CI 또는 스크립트에서 일회성 준비를 위함 |

41| `UserPromptSubmit` | 프롬프트를 제출할 때, Claude가 처리하기 전 |41| `UserPromptSubmit` | 프롬프트를 제출할 때, Claude가 처리하기 전 |


259hook을 정의하는 위치에 따라 범위가 결정됩니다:259hook을 정의하는 위치에 따라 범위가 결정됩니다:

260 260 

261| 위치 | 범위 | 공유 가능 |261| 위치 | 범위 | 공유 가능 |

262| :------------------------------------- | :---------------------------------------------------------------------- | :------------------------------------- |262| :- | :- | :- |

263| `~/.claude/settings.json` | 모든 프로젝트 | 아니요, 로컬 머신에만 해당 |263| `~/.claude/settings.json` | 모든 프로젝트 | 아니요, 로컬 머신에만 해당 |

264| `.claude/settings.json` | 단일 프로젝트 | 예, 리포지토리에 커밋 가능 |264| `.claude/settings.json` | 단일 프로젝트 | 예, 리포지토리에 커밋 가능 |

265| `.claude/settings.local.json` | 단일 프로젝트 | 아니요, Claude Code가 설정을 저장할 때 gitignored |265| `.claude/settings.local.json` | 단일 프로젝트 | 아니요, Claude Code가 설정을 저장할 때 gitignored |


297`matcher` 필드는 hook이 실행되는 시기를 필터링합니다. matcher가 평가되는 방식은 포함된 문자에 따라 다릅니다:297`matcher` 필드는 hook이 실행되는 시기를 필터링합니다. matcher가 평가되는 방식은 포함된 문자에 따라 다릅니다:

298 298 

299| Matcher 값 | 평가 대상 | 예제 |299| Matcher 값 | 평가 대상 | 예제 |

300| :----------------------------------- | :--------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ |300| :- | :- | :- |

301| `"*"`, `""` 또는 생략됨 | 모두 일치 | 이벤트의 모든 발생에서 실행됨 |301| `"*"`, `""` 또는 생략됨 | 모두 일치 | 이벤트의 모든 발생에서 실행됨 |

302| 문자, 숫자, `_`, `-`, 공백, `,` 및 `\|`만 포함 | 정확한 문자열 또는 `\|` 또는 `,`로 구분된 정확한 문자열 목록(선택적 주변 공백 포함) | `Bash`는 Bash 도구만 일치합니다. `Edit\|Write` 및 `Edit, Write`는 각각 두 도구 중 하나와 정확히 일치합니다. `code-reviewer`는 해당 에이전트 유형만 일치합니다. |302| 문자, 숫자, `_`, `-`, 공백, `,` 및 `\|`만 포함 | 정확한 문자열 또는 `\|` 또는 `,`로 구분된 정확한 문자열 목록(선택적 주변 공백 포함) | `Bash`는 Bash 도구만 일치합니다. `Edit\|Write` 및 `Edit, Write`는 각각 두 도구 중 하나와 정확히 일치합니다. `code-reviewer`는 해당 에이전트 유형만 일치합니다. |

303| 다른 문자 포함 | JavaScript 정규 표현식, 앵커 없음 | `^Notebook`은 이름이 `Notebook`으로 시작하는 모든 도구와 일치합니다. `mcp__memory__.*`는 `memory` 서버의 모든 도구와 일치합니다. |303| 다른 문자 포함 | JavaScript 정규 표현식, 앵커 없음 | `^Notebook`은 이름이 `Notebook`으로 시작하는 모든 도구와 일치합니다. `mcp__memory__.*`는 `memory` 서버의 모든 도구와 일치합니다. |


315각 이벤트 유형은 다른 필드에서 일치합니다:315각 이벤트 유형은 다른 필드에서 일치합니다:

316 316 

317| 이벤트 | Matcher가 필터링하는 항목 | 예제 matcher 값 |317| 이벤트 | Matcher가 필터링하는 항목 | 예제 matcher 값 |

318| :------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |318| :- | :- | :- |

319| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | 도구 이름 | `Bash`, `Edit\|Write`, `mcp__.*` |319| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | 도구 이름 | `Bash`, `Edit\|Write`, `mcp__.*` |

320| `SessionStart` | 세션이 시작된 방식 | `startup`, `resume`, `clear`, `compact`, `fork` |320| `SessionStart` | 세션이 시작된 방식 | `startup`, `resume`, `clear`, `compact`, `fork` |

321| `Setup` | 설정을 트리거한 CLI 플래그 | `init`, `maintenance` |321| `Setup` | 설정을 트리거한 CLI 플래그 | `init`, `maintenance` |


440이 필드는 모든 hook 유형에 적용됩니다:440이 필드는 모든 hook 유형에 적용됩니다:

441 441 

442| 필드 | 필수 | 설명 |442| 필드 | 필수 | 설명 |

443| :-------------- | :-- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |443| :- | :- | :- |

444| `type` | 예 | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` 또는 `"agent"` |444| `type` | 예 | `"command"`, `"http"`, `"mcp_tool"`, `"prompt"` 또는 `"agent"` |

445| `if` | 아니요 | `"Bash(git *)"` 또는 `"Edit(*.ts)"`와 같은 이 hook이 실행되는 시기를 필터링하는 권한 규칙 구문. hook 명령은 도구 호출이 패턴과 일치하는 경우에만 실행됩니다. Bash 패턴이 하위 명령, `$()` 및 백틱에 대해 평가되는 방식에 대해서는 아래의 [Bash 일치 테이블](#bash-if-matching)을 참조하십시오. 도구 이벤트에서만 평가됩니다: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` 및 `PermissionDenied`. 다른 이벤트에서는 `if`가 설정된 hook이 실행되지 않습니다. [권한 규칙](/docs/ko/permissions)과 동일한 구문을 사용합니다. |445| `if` | 아니요 | `"Bash(git *)"` 또는 `"Edit(*.ts)"`와 같은 이 hook이 실행되는 시기를 필터링하는 권한 규칙 구문. hook 명령은 도구 호출이 패턴과 일치하는 경우에만 실행됩니다. Bash 패턴이 하위 명령, `$()` 및 백틱에 대해 평가되는 방식에 대해서는 아래의 [Bash 일치 테이블](#bash-if-matching)을 참조하십시오. 도구 이벤트에서만 평가됩니다: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` 및 `PermissionDenied`. 다른 이벤트에서는 `if`가 설정된 hook이 실행되지 않습니다. [권한 규칙](/docs/ko/permissions)과 동일한 구문을 사용합니다. |

446| `timeout` | 아니요 | 취소하기 전 초 단위. Claude Code는 [`async: true`](#run-hooks-in-the-background)로 실행하는 명령 hook에 적용하지 않습니다. 기본값: `command`, `http` 및 `mcp_tool`의 경우 600, `prompt`의 경우 30, `agent`의 경우 60. Claude Code는 [`UserPromptSubmit`](#userpromptsubmit), [`PreModelSwitch`](#premodelswitch) 및 [`PostModelSwitch`](#postmodelswitch)에서 `command`, `http` 및 `mcp_tool` 기본값을 30으로 낮추고, [`MessageDisplay`](#messagedisplay)에서 10으로 낮춥니다. [`SessionEnd`](#sessionend) hook은 1.5초 예산을 공유합니다. 설정이 더 긴 hook별 `timeout`을 설정하면 Claude Code는 예산을 일치하도록 올립니다(최대 60초). |446| `timeout` | 아니요 | 취소하기 전 초 단위. Claude Code는 [`async: true`](#run-hooks-in-the-background)로 실행하는 명령 hook에 적용하지 않습니다. 기본값: `command`, `http` 및 `mcp_tool`의 경우 600, `prompt`의 경우 30, `agent`의 경우 60. Claude Code는 [`UserPromptSubmit`](#userpromptsubmit), [`PreModelSwitch`](#premodelswitch) 및 [`PostModelSwitch`](#postmodelswitch)에서 `command`, `http` 및 `mcp_tool` 기본값을 30으로 낮추고, [`MessageDisplay`](#messagedisplay)에서 10으로 낮춥니다. [`SessionEnd`](#sessionend) hook은 1.5초 예산을 공유합니다. 설정이 더 긴 hook별 `timeout`을 설정하면 Claude Code는 예산을 일치하도록 올립니다(최대 60초). |


454<span id="bash-if-matching" />Bash 패턴의 경우 hook 명령이 실행되는지 여부는 패턴의 형태와 Claude가 호출하는 Bash 명령에 따라 다릅니다. 선행 `VAR=value` 할당은 일치하기 전에 제거됩니다.454<span id="bash-if-matching" />Bash 패턴의 경우 hook 명령이 실행되는지 여부는 패턴의 형태와 Claude가 호출하는 Bash 명령에 따라 다릅니다. 선행 `VAR=value` 할당은 일치하기 전에 제거됩니다.

455 455 

456| `if` 패턴 | Bash 명령 | Hook 실행? | 이유 |456| `if` 패턴 | Bash 명령 | Hook 실행? | 이유 |

457| :----------------- | :-------------------------- | :------- | :------------------------------------------------------------------ |457| :- | :- | :- | :- |

458| `Bash(git *)` | `FOO=bar git push` | 예 | 선행 할당이 제거됨; `git push`가 일치함 |458| `Bash(git *)` | `FOO=bar git push` | 예 | 선행 할당이 제거됨; `git push`가 일치함 |

459| `Bash(git *)` | `npm test && git push` | 예 | 각 하위 명령이 확인됨; `git push`가 일치함 |459| `Bash(git *)` | `npm test && git push` | 예 | 각 하위 명령이 확인됨; `git push`가 일치함 |

460| `Bash(rm *)` | `echo $(rm -rf /)` | 예 | `$()` 및 백틱 내의 명령이 확인됨; `rm -rf /`가 일치함 |460| `Bash(rm *)` | `echo $(rm -rf /)` | 예 | `$()` 및 백틱 내의 명령이 확인됨; `rm -rf /`가 일치함 |


472[공통 필드](#common-fields) 외에도 명령 hook은 다음 필드를 허용합니다:472[공통 필드](#common-fields) 외에도 명령 hook은 다음 필드를 허용합니다:

473 473 

474| 필드 | 필수 | 설명 |474| 필드 | 필수 | 설명 |

475| :------------ | :-- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |475| :- | :- | :- |

476| `command` | 예 | 실행할 셸 명령. `args`를 사용하면 직접 생성할 실행 파일입니다. [Exec 형식 및 셸 형식](#exec-form-and-shell-form) 참조 |476| `command` | 예 | 실행할 셸 명령. `args`를 사용하면 직접 생성할 실행 파일입니다. [Exec 형식 및 셸 형식](#exec-form-and-shell-form) 참조 |

477| `args` | 아니요 | 인수 목록. 존재하면 `command`는 실행 파일로 해결되고 `args`를 인수 벡터로 하여 직접 생성되며, 셸이 관여하지 않습니다. [Exec 형식 및 셸 형식](#exec-form-and-shell-form) 참조 |477| `args` | 아니요 | 인수 목록. 존재하면 `command`는 실행 파일로 해결되고 `args`를 인수 벡터로 하여 직접 생성되며, 셸이 관여하지 않습니다. [Exec 형식 및 셸 형식](#exec-form-and-shell-form) 참조 |

478| `async` | 아니요 | `true`이면 차단하지 않고 백그라운드에서 실행됩니다. [백그라운드에서 hook 실행](#run-hooks-in-the-background) 참조 |478| `async` | 아니요 | `true`이면 차단하지 않고 백그라운드에서 실행됩니다. [백그라운드에서 hook 실행](#run-hooks-in-the-background) 참조 |


531[공통 필드](#common-fields) 외에도 HTTP hook은 다음 필드를 허용합니다:531[공통 필드](#common-fields) 외에도 HTTP hook은 다음 필드를 허용합니다:

532 532 

533| 필드 | 필수 | 설명 |533| 필드 | 필수 | 설명 |

534| :--------------- | :-- | :------------------------------------------------------------------------------------------------------------ |534| :- | :- | :- |

535| `url` | 예 | POST 요청을 보낼 URL |535| `url` | 예 | POST 요청을 보낼 URL |

536| `headers` | 아니요 | 키-값 쌍으로 추가 HTTP 헤더. 값은 `$VAR_NAME` 또는 `${VAR_NAME}` 구문을 사용한 환경 변수 보간을 지원합니다. `allowedEnvVars`에 나열된 변수만 해결됩니다. |536| `headers` | 아니요 | 키-값 쌍으로 추가 HTTP 헤더. 값은 `$VAR_NAME` 또는 `${VAR_NAME}` 구문을 사용한 환경 변수 보간을 지원합니다. `allowedEnvVars`에 나열된 변수만 해결됩니다. |

537| `allowedEnvVars` | 아니요 | 헤더 값에 보간될 수 있는 환경 변수 이름 목록. 나열되지 않은 변수에 대한 참조는 빈 문자열로 바뀝니다. 환경 변수 보간이 작동하려면 필수입니다. |537| `allowedEnvVars` | 아니요 | 헤더 값에 보간될 수 있는 환경 변수 이름 목록. 나열되지 않은 변수에 대한 참조는 빈 문자열로 바뀝니다. 환경 변수 보간이 작동하려면 필수입니다. |


572[공통 필드](#common-fields) 외에도 MCP 도구 hook은 다음 필드를 허용합니다:572[공통 필드](#common-fields) 외에도 MCP 도구 hook은 다음 필드를 허용합니다:

573 573 

574| 필드 | 필수 | 설명 |574| 필드 | 필수 | 설명 |

575| :------- | :-- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |575| :- | :- | :- |

576| `server` | 예 | 구성된 MCP 서버의 이름. [플러그인 번들 서버](/docs/ko/mcp#plugin-provided-mcp-servers)의 경우 `plugin:my-plugin:db`와 같은 범위 지정 이름 `plugin:<plugin-name>:<server-name>`입니다. 베어 서버 키가 아닙니다. 서버는 이미 연결되어 있어야 합니다. hook은 OAuth 또는 연결 흐름을 트리거하지 않습니다. |576| `server` | 예 | 구성된 MCP 서버의 이름. [플러그인 번들 서버](/docs/ko/mcp#plugin-provided-mcp-servers)의 경우 `plugin:my-plugin:db`와 같은 범위 지정 이름 `plugin:<plugin-name>:<server-name>`입니다. 베어 서버 키가 아닙니다. 서버는 이미 연결되어 있어야 합니다. hook은 OAuth 또는 연결 흐름을 트리거하지 않습니다. |

577| `tool` | 예 | 해당 서버에서 호출할 도구의 이름 |577| `tool` | 예 | 해당 서버에서 호출할 도구의 이름 |

578| `input` | 아니요 | 도구에 전달된 인수. 문자열 값은 hook의 [JSON 입력](#hook-input-and-output)에서 `${path}` 대체를 지원합니다. 예를 들어 `"${tool_input.file_path}"` |578| `input` | 아니요 | 도구에 전달된 인수. 문자열 값은 hook의 [JSON 입력](#hook-input-and-output)에서 `${path}` 대체를 지원합니다. 예를 들어 `"${tool_input.file_path}"` |


636[공통 필드](#common-fields) 외에도 프롬프트 및 에이전트 hook은 다음 필드를 허용합니다:636[공통 필드](#common-fields) 외에도 프롬프트 및 에이전트 hook은 다음 필드를 허용합니다:

637 637 

638| 필드 | 필수 | 설명 |638| 필드 | 필수 | 설명 |

639| :------- | :-- | :------------------------------------------------------------------------------------------------------------------------ |639| :- | :- | :- |

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

641| `model` | 아니요 | 평가에 사용할 모델. 기본값은 빠른 모델입니다. |641| `model` | 아니요 | 평가에 사용할 모델. 기본값은 빠른 모델입니다. |

642 642 


788Hook 이벤트는 각 [hook 이벤트](#hook-events) 섹션에서 문서화된 이벤트 특정 필드 외에 이러한 필드를 JSON으로 받습니다. 명령 hook의 경우 이 JSON은 stdin을 통해 도착합니다. HTTP hook의 경우 POST 요청 본문으로 도착합니다.788Hook 이벤트는 각 [hook 이벤트](#hook-events) 섹션에서 문서화된 이벤트 특정 필드 외에 이러한 필드를 JSON으로 받습니다. 명령 hook의 경우 이 JSON은 stdin을 통해 도착합니다. HTTP hook의 경우 POST 요청 본문으로 도착합니다.

789 789 

790| 필드 | 설명 |790| 필드 | 설명 |

791| :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |791| :- | :- |

792| `session_id` | 현재 세션 식별자 |792| `session_id` | 현재 세션 식별자 |

793| `prompt_id` | 현재 처리 중인 사용자 프롬프트를 식별하는 UUID입니다. [OpenTelemetry 이벤트의 `prompt.id` 속성](/docs/ko/monitoring-usage#event-correlation-attributes)과 일치하므로 hook 출력을 단일 프롬프트의 원격 분석과 연관시킬 수 있습니다. 첫 번째 사용자 입력까지 없습니다. Claude Code v2.1.196 이상 필요 |793| `prompt_id` | 현재 처리 중인 사용자 프롬프트를 식별하는 UUID입니다. [OpenTelemetry 이벤트의 `prompt.id` 속성](/docs/ko/monitoring-usage#event-correlation-attributes)과 일치하므로 hook 출력을 단일 프롬프트의 원격 분석과 연관시킬 수 있습니다. 첫 번째 사용자 입력까지 없습니다. Claude Code v2.1.196 이상 필요 |

794| `transcript_path` | 대화 JSON 경로입니다. 트랜스크립트 파일은 비동기적으로 기록되며 메모리 내 대화보다 뒤떨어질 수 있으므로 hook이 발생할 때 현재 턴의 가장 최근 메시지를 아직 포함하지 않을 수 있습니다. 현재 턴의 최종 어시스턴트 텍스트가 필요한 hook은 트랜스크립트를 읽는 대신 [Stop](#stop) 및 [SubagentStop](#subagentstop)에서 `last_assistant_message`를 사용해야 합니다 |794| `transcript_path` | 대화 JSON 경로입니다. 트랜스크립트 파일은 비동기적으로 기록되며 메모리 내 대화보다 뒤떨어질 수 있으므로 hook이 발생할 때 현재 턴의 가장 최근 메시지를 아직 포함하지 않을 수 있습니다. 현재 턴의 최종 어시스턴트 텍스트가 필요한 hook은 트랜스크립트를 읽는 대신 [Stop](#stop) 및 [SubagentStop](#subagentstop)에서 `last_assistant_message`를 사용해야 합니다 |


801`--agent`로 실행하거나 subagent 내부에서 실행할 때 두 개의 추가 필드가 포함됩니다:801`--agent`로 실행하거나 subagent 내부에서 실행할 때 두 개의 추가 필드가 포함됩니다:

802 802 

803| 필드 | 설명 |803| 필드 | 설명 |

804| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |804| :- | :- |

805| `agent_id` | subagent의 고유 식별자. hook이 subagent 호출 내부에서 발생할 때만 존재합니다. 이를 사용하여 subagent hook 호출을 메인 스레드 호출과 구별합니다. |805| `agent_id` | subagent의 고유 식별자. hook이 subagent 호출 내부에서 발생할 때만 존재합니다. 이를 사용하여 subagent hook 호출을 메인 스레드 호출과 구별합니다. |

806| `agent_type` | 에이전트 이름 (예: `"Explore"` 또는 `"security-reviewer"`). 세션이 `--agent`를 사용하거나 hook이 subagent 내부에서 발생할 때 존재합니다. subagent의 경우 subagent의 유형이 세션의 `--agent` 값보다 우선합니다. [SubagentStart](#subagentstart)에서 사용자 정의 및 플러그인 subagent가 보고하는 값과 플러그인 범위 이름에 대해 matcher를 작성하는 방법을 참조하세요. |806| `agent_type` | 에이전트 이름 (예: `"Explore"` 또는 `"security-reviewer"`). 세션이 `--agent`를 사용하거나 hook이 subagent 내부에서 발생할 때 존재합니다. subagent의 경우 subagent의 유형이 세션의 `--agent` 값보다 우선합니다. [SubagentStart](#subagentstart)에서 사용자 정의 및 플러그인 subagent가 보고하는 값과 플러그인 범위 이름에 대해 matcher를 작성하는 방법을 참조하세요. |

807 807 


928종료 코드 2는 hook이 "멈춰, 이것을 하지 마"라고 신호하는 방식입니다. 효과는 이벤트에 따라 다릅니다. 일부 이벤트는 차단할 수 있는 작업을 나타내기 때문입니다 (아직 발생하지 않은 도구 호출처럼) 그리고 다른 이벤트는 이미 발생했거나 방지할 수 없는 것을 나타냅니다.928종료 코드 2는 hook이 "멈춰, 이것을 하지 마"라고 신호하는 방식입니다. 효과는 이벤트에 따라 다릅니다. 일부 이벤트는 차단할 수 있는 작업을 나타내기 때문입니다 (아직 발생하지 않은 도구 호출처럼) 그리고 다른 이벤트는 이미 발생했거나 방지할 수 없는 것을 나타냅니다.

929 929 

930| Hook 이벤트 | 차단 가능? | 종료 코드 2에서 발생하는 것 |930| Hook 이벤트 | 차단 가능? | 종료 코드 2에서 발생하는 것 |

931| :-------------------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |931| :- | :- | :- |

932| `PreToolUse` | 예 | 도구 호출을 차단합니다 |932| `PreToolUse` | 예 | 도구 호출을 차단합니다 |

933| `PermissionRequest` | 아니오 | 종료 코드 2는 이 이벤트에 대해 수행되지 않으며 권한 흐름은 변경되지 않고 진행됩니다. 대신 [`decision` 객체](#permissionrequest-decision-control)를 통해 거부합니다 |933| `PermissionRequest` | 아니오 | 종료 코드 2는 이 이벤트에 대해 수행되지 않으며 권한 흐름은 변경되지 않고 진행됩니다. 대신 [`decision` 객체](#permissionrequest-decision-control)를 통해 거부합니다 |

934| `UserPromptSubmit` | 예 | 프롬프트 처리를 차단하고 프롬프트를 지웁니다 |934| `UserPromptSubmit` | 예 | 프롬프트 처리를 차단하고 프롬프트를 지웁니다 |


1005* \*\*`hookSpecificOutput`\*\*은 더 풍부한 제어가 필요한 이벤트를 위한 중첩 객체입니다. 이벤트 이름으로 설정된 `hookEventName` 필드가 필요합니다.1005* \*\*`hookSpecificOutput`\*\*은 더 풍부한 제어가 필요한 이벤트를 위한 중첩 객체입니다. 이벤트 이름으로 설정된 `hookEventName` 필드가 필요합니다.

1006 1006 

1007| 필드 | 기본값 | 설명 |1007| 필드 | 기본값 | 설명 |

1008| :----------------- | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1008| :- | :- | :- |

1009| `continue` | `true` | `false`인 경우 hook이 실행된 후 Claude가 완전히 중지됩니다. 모든 이벤트 특정 결정 필드보다 우선합니다 |1009| `continue` | `true` | `false`인 경우 hook이 실행된 후 Claude가 완전히 중지됩니다. 모든 이벤트 특정 결정 필드보다 우선합니다 |

1010| `stopReason` | 없음 | `continue`가 `false`일 때 사용자에게 표시되는 메시지. 대화에 남아 있으므로 대화가 계속되면 Claude가 이를 봅니다 |1010| `stopReason` | 없음 | `continue`가 `false`일 때 사용자에게 표시되는 메시지. 대화에 남아 있으므로 대화가 계속되면 Claude가 이를 봅니다 |

1011| `suppressOutput` | `false` | 효과 없음: Claude Code는 필드를 허용하지만 작동하지 않습니다. 성공한 hook의 stdout은 트랜스크립트에 표시되지 않으며 디버그 로그에 기록됩니다 |1011| `suppressOutput` | `false` | 효과 없음: Claude Code는 필드를 허용하지만 작동하지 않습니다. 성공한 hook의 stdout은 트랜스크립트에 표시되지 않으며 디버그 로그에 기록됩니다 |


1103모든 이벤트가 JSON을 통해 동작을 차단하거나 제어하는 것을 지원하는 것은 아닙니다. 그렇게 하는 이벤트는 각각 다른 필드 집합을 사용하여 해당 결정을 표현합니다. hook을 작성하기 전에 이 표를 빠른 참조로 사용하세요:1103모든 이벤트가 JSON을 통해 동작을 차단하거나 제어하는 것을 지원하는 것은 아닙니다. 그렇게 하는 이벤트는 각각 다른 필드 집합을 사용하여 해당 결정을 표현합니다. hook을 작성하기 전에 이 표를 빠른 참조로 사용하세요:

1104 1104 

1105| 이벤트 | 결정 패턴 | 주요 필드 |1105| 이벤트 | 결정 패턴 | 주요 필드 |

1106| :---------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1106| :- | :- | :- |

1107| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | 최상위 `decision` | `decision: "block"`, `reason`. Stop 및 SubagentStop은 또한 [오류가 아닌 피드백을 위해 대화를 계속하는](#stop-decision-control) `hookSpecificOutput.additionalContext`를 허용합니다 |1107| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | 최상위 `decision` | `decision: "block"`, `reason`. Stop 및 SubagentStop은 또한 [오류가 아닌 피드백을 위해 대화를 계속하는](#stop-decision-control) `hookSpecificOutput.additionalContext`를 허용합니다 |

1108| TeammateIdle, TaskCompleted | 종료 코드 또는 `continue: false` | 종료 코드 2는 stderr 피드백으로 작업을 차단합니다. JSON `{"continue": false, "stopReason": "..."}` 또한 팀원을 완전히 중지하여 `Stop` hook 동작과 일치합니다. [TaskCompleted는 `TaskUpdate` 도구가 이벤트를 트리거했을 때 이를 무시합니다](#taskcompleted-decision-control) |1108| TeammateIdle, TaskCompleted | 종료 코드 또는 `continue: false` | 종료 코드 2는 stderr 피드백으로 작업을 차단합니다. JSON `{"continue": false, "stopReason": "..."}` 또한 팀원을 완전히 중지하여 `Stop` hook 동작과 일치합니다. [TaskCompleted는 `TaskUpdate` 도구가 이벤트를 트리거했을 때 이를 무시합니다](#taskcompleted-decision-control) |

1109| TaskCreated | 종료 코드 또는 최상위 `decision` | 종료 코드 2 또는 `decision: "block"`은 [작업을 취소](#taskcreated-decision-control)하고 메시지를 Claude에 반환합니다. `continue: false`는 무시됩니다 |1109| TaskCreated | 종료 코드 또는 최상위 `decision` | 종료 코드 2 또는 `decision: "block"`은 [작업을 취소](#taskcreated-decision-control)하고 메시지를 Claude에 반환합니다. `continue: false`는 무시됩니다 |


1194matcher 값은 세션이 시작된 방식에 해당합니다:1194matcher 값은 세션이 시작된 방식에 해당합니다:

1195 1195 

1196| Matcher | 언제 발생하는지 |1196| Matcher | 언제 발생하는지 |

1197| :-------- | :--------------------------------------------------------------------------------------------- |1197| :- | :- |

1198| `startup` | 새 세션 |1198| `startup` | 새 세션 |

1199| `resume` | `--resume`, `--continue` 또는 `/resume` |1199| `resume` | `--resume`, `--continue` 또는 `/resume` |

1200| `clear` | `/clear` |1200| `clear` | `/clear` |


1218[공통 입력 필드](#common-input-fields) 외에도 SessionStart hook은 `source` 및 선택적으로 `model`, `agent_type`, `session_title`을 받습니다:1218[공통 입력 필드](#common-input-fields) 외에도 SessionStart hook은 `source` 및 선택적으로 `model`, `agent_type`, `session_title`을 받습니다:

1219 1219 

1220| 필드 | 설명 |1220| 필드 | 설명 |

1221| :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |1221| :- | :- |

1222| `source` | 세션이 시작된 방식: 새 세션의 경우 `"startup"`, 재개된 세션의 경우 `"resume"`, `/clear` 후 `"clear"`, 압축 후 `"compact"`, 또는 기존 세션에서 포크된 새 세션의 경우 `"fork"` |1222| `source` | 세션이 시작된 방식: 새 세션의 경우 `"startup"`, 재개된 세션의 경우 `"resume"`, `/clear` 후 `"clear"`, 압축 후 `"compact"`, 또는 기존 세션에서 포크된 새 세션의 경우 `"fork"` |

1223| `model` | 활성 모델 식별자. 예를 들어 `/clear` 후 또는 대화 복구를 통해 세션이 복원될 때 생략될 수 있으므로 필드를 읽기 전에 확인하세요 |1223| `model` | 활성 모델 식별자. 예를 들어 `/clear` 후 또는 대화 복구를 통해 세션이 복원될 때 생략될 수 있으므로 필드를 읽기 전에 확인하세요 |

1224| `agent_type` | `claude --agent <name>`으로 Claude Code를 시작할 때 존재하는 에이전트 이름 |1224| `agent_type` | `claude --agent <name>`으로 Claude Code를 시작할 때 존재하는 에이전트 이름 |


1227`source`가 `"resume"` 또는 `"fork"`이고 트랜스크립트에 Claude의 응답이 최소 하나 포함되어 있을 때 SessionStart hook은 아래의 네 필드도 받습니다. Hook은 이를 사용하여 첫 번째 요청 전에 오래된 대화를 재개하는 비용을 보고할 수 있습니다 (예: [`systemMessage`](#json-output)에서). 이 필드는 Claude Code v2.1.251 이상이 필요합니다.1227`source`가 `"resume"` 또는 `"fork"`이고 트랜스크립트에 Claude의 응답이 최소 하나 포함되어 있을 때 SessionStart hook은 아래의 네 필드도 받습니다. Hook은 이를 사용하여 첫 번째 요청 전에 오래된 대화를 재개하는 비용을 보고할 수 있습니다 (예: [`systemMessage`](#json-output)에서). 이 필드는 Claude Code v2.1.251 이상이 필요합니다.

1228 1228 

1229| 필드 | 설명 |1229| 필드 | 설명 |

1230| :---------------------------- | :------------------------------------------------------------------------------------------------------ |1230| :- | :- |

1231| `seconds_since_last_response` | 재개된 트랜스크립트의 마지막 응답 이후의 벽시계 초 |1231| `seconds_since_last_response` | 재개된 트랜스크립트의 마지막 응답 이후의 벽시계 초 |

1232| `context_tokens` | 재개된 세션의 첫 번째 요청이 프롬프트로 다시 전송하는 토큰 |1232| `context_tokens` | 재개된 세션의 첫 번째 요청이 프롬프트로 다시 전송하는 토큰 |

1233| `prompt_cache_likely_expired` | 마지막 응답이 세션의 [prompt cache 수명](/docs/ko/prompt-caching#cache-lifetime)보다 오래되었거나 나중의 압축이 캐시된 대화를 대체했을 때 `true` |1233| `prompt_cache_likely_expired` | 마지막 응답이 세션의 [prompt cache 수명](/docs/ko/prompt-caching#cache-lifetime)보다 오래되었거나 나중의 압축이 캐시된 대화를 대체했을 때 `true` |


1257Claude Code는 [일반 텍스트로 처리하는](#exit-code-0) stdout을 Claude의 컨텍스트에 추가합니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 이러한 이벤트 특정 필드를 반환할 수 있습니다:1257Claude Code는 [일반 텍스트로 처리하는](#exit-code-0) stdout을 Claude의 컨텍스트에 추가합니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 이러한 이벤트 특정 필드를 반환할 수 있습니다:

1258 1258 

1259| 필드 | 설명 |1259| 필드 | 설명 |

1260| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1260| :- | :- |

1261| `additionalContext` | 대화 시작 부분, 첫 번째 프롬프트 전에 Claude의 컨텍스트에 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하여 텍스트가 전달되는 방식과 포함할 내용을 확인하세요 |1261| `additionalContext` | 대화 시작 부분, 첫 번째 프롬프트 전에 Claude의 컨텍스트에 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하여 텍스트가 전달되는 방식과 포함할 내용을 확인하세요 |

1262| `initialUserMessage` | 세션의 첫 번째 사용자 메시지로 사용되는 문자열. [비대화형 모드](/docs/ko/headless)에서 `-p` 플래그와 함께 적용되며, 프롬프트가 제공되지 않으면 첫 번째 턴이 됩니다. 프롬프트가 제공되면 다음 턴으로 따릅니다. `additionalContext`와 달리 기존 턴에 첨부되는 이것은 턴을 생성합니다 |1262| `initialUserMessage` | 세션의 첫 번째 사용자 메시지로 사용되는 문자열. [비대화형 모드](/docs/ko/headless)에서 `-p` 플래그와 함께 적용되며, 프롬프트가 제공되지 않으면 첫 번째 턴이 됩니다. 프롬프트가 제공되면 다음 턴으로 따릅니다. `additionalContext`와 달리 기존 턴에 첨부되는 이것은 턴을 생성합니다 |

1263| `sessionTitle` | 세션 제목을 설정합니다. `/rename`과 동일한 효과입니다. 시작 폴더, git 분기 또는 worktree 이름에서 세션을 자동으로 이름 지정하는 데 사용합니다. `source`가 `"startup"`, `"resume"` 또는 `"fork"`일 때 적용됩니다; `"clear"` 및 `"compact"`에서는 무시됩니다 |1263| `sessionTitle` | 세션 제목을 설정합니다. `/rename`과 동일한 효과입니다. 시작 폴더, git 분기 또는 worktree 이름에서 세션을 자동으로 이름 지정하는 데 사용합니다. `source`가 `"startup"`, `"resume"` 또는 `"fork"`일 때 적용됩니다; `"clear"` 및 `"compact"`에서는 무시됩니다 |


1341matcher 값은 hook을 트리거한 CLI 플래그에 해당합니다:1341matcher 값은 hook을 트리거한 CLI 플래그에 해당합니다:

1342 1342 

1343| Matcher | 언제 발생하는지 |1343| Matcher | 언제 발생하는지 |

1344| :------------ | :----------------------------------------- |1344| :- | :- |

1345| `init` | `claude --init-only` 또는 `claude -p --init` |1345| `init` | `claude --init-only` 또는 `claude -p --init` |

1346| `maintenance` | `claude -p --maintenance` |1346| `maintenance` | `claude -p --maintenance` |

1347 1347 


1394[공통 입력 필드](#common-input-fields) 외에도 InstructionsLoaded hook은 이러한 필드를 받습니다:1394[공통 입력 필드](#common-input-fields) 외에도 InstructionsLoaded hook은 이러한 필드를 받습니다:

1395 1395 

1396| 필드 | 설명 |1396| 필드 | 설명 |

1397| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------- |1397| :- | :- |

1398| `file_path` | 로드된 명령 파일의 절대 경로 |1398| `file_path` | 로드된 명령 파일의 절대 경로 |

1399| `memory_type` | 파일의 범위: `"User"`, `"Project"`, `"Local"` 또는 `"Managed"` |1399| `memory_type` | 파일의 범위: `"User"`, `"Project"`, `"Local"` 또는 `"Managed"` |

1400| `load_reason` | 파일이 로드된 이유: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` 또는 `"compact"`. `"compact"` 값은 압축 이벤트 후 명령 파일이 다시 로드될 때 발생합니다 |1400| `load_reason` | 파일이 로드된 이유: `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` 또는 `"compact"`. `"compact"` 값은 압축 이벤트 후 명령 파일이 다시 로드될 때 발생합니다 |


1465프롬프트를 차단하려면 `decision`을 `"block"`으로 설정한 JSON 객체를 반환합니다:1465프롬프트를 차단하려면 `decision`을 `"block"`으로 설정한 JSON 객체를 반환합니다:

1466 1466 

1467| 필드 | 설명 |1467| 필드 | 설명 |

1468| :----------------------- | :---------------------------------------------------------------------------------------- |1468| :- | :- |

1469| `decision` | `"block"`은 프롬프트가 처리되는 것을 방지하고 컨텍스트에서 지웁니다. 생략하여 프롬프트를 진행하도록 허용 |1469| `decision` | `"block"`은 프롬프트가 처리되는 것을 방지하고 컨텍스트에서 지웁니다. 생략하여 프롬프트를 진행하도록 허용 |

1470| `reason` | `decision`이 `"block"`일 때 사용자에게 표시됩니다. 컨텍스트에 추가되지 않음 |1470| `reason` | `decision`이 `"block"`일 때 사용자에게 표시됩니다. 컨텍스트에 추가되지 않음 |

1471| `additionalContext` | Claude의 컨텍스트에 제출된 프롬프트와 함께 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |1471| `additionalContext` | Claude의 컨텍스트에 제출된 프롬프트와 함께 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |


1524`UserPromptExpansion` hook은 확장을 차단하거나 컨텍스트를 추가할 수 있습니다. 모든 [JSON 출력 필드](#json-output)를 사용할 수 있습니다.1524`UserPromptExpansion` hook은 확장을 차단하거나 컨텍스트를 추가할 수 있습니다. 모든 [JSON 출력 필드](#json-output)를 사용할 수 있습니다.

1525 1525 

1526| 필드 | 설명 |1526| 필드 | 설명 |

1527| :------------------ | :---------------------------------------------------------------------------------------- |1527| :- | :- |

1528| `decision` | `"block"`은 slash 명령이 확장되는 것을 방지합니다. 생략하여 진행하도록 허용 |1528| `decision` | `"block"`은 slash 명령이 확장되는 것을 방지합니다. 생략하여 진행하도록 허용 |

1529| `reason` | `decision`이 `"block"`일 때 사용자에게 표시됩니다 |1529| `reason` | `decision`이 `"block"`일 때 사용자에게 표시됩니다 |

1530| `additionalContext` | 확장된 프롬프트와 함께 Claude의 컨텍스트에 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |1530| `additionalContext` | 확장된 프롬프트와 함께 Claude의 컨텍스트에 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |


1569[공통 입력 필드](#common-input-fields) 외에도 MessageDisplay hook은 턴과 메시지의 식별자, 이 호출이 메시지 내에서의 위치, `delta`의 새 텍스트를 받습니다. 배치 경계는 텍스트가 스트리밍되는 방식에 따라 다르므로 줄이 특정 방식으로 그룹화될 것으로 예상하기보다는 `index` 및 `final`을 사용하여 메시지를 통한 진행 상황을 추적합니다.1569[공통 입력 필드](#common-input-fields) 외에도 MessageDisplay hook은 턴과 메시지의 식별자, 이 호출이 메시지 내에서의 위치, `delta`의 새 텍스트를 받습니다. 배치 경계는 텍스트가 스트리밍되는 방식에 따라 다르므로 줄이 특정 방식으로 그룹화될 것으로 예상하기보다는 `index` 및 `final`을 사용하여 메시지를 통한 진행 상황을 추적합니다.

1570 1570 

1571| 필드 | 설명 |1571| 필드 | 설명 |

1572| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1572| :- | :- |

1573| `turn_id` | 현재 턴의 UUID |1573| `turn_id` | 현재 턴의 UUID |

1574| `message_id` | 표시되는 어시스턴트 메시지의 UUID. 메시지의 모든 배치에서 안정적입니다. 이는 API `msg_…` id가 아니므로 트랜스크립트 메시지 id와 상관관계를 지을 수 없습니다 |1574| `message_id` | 표시되는 어시스턴트 메시지의 UUID. 메시지의 모든 배치에서 안정적입니다. 이는 API `msg_…` id가 아니므로 트랜스크립트 메시지 id와 상관관계를 지을 수 없습니다 |

1575| `index` | 메시지 내 이 배치의 0 기반 인덱스 |1575| `index` | 메시지 내 이 배치의 0 기반 인덱스 |


1597모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 MessageDisplay hook은 `displayContent`를 반환하여 화면의 delta를 바꿀 수 있습니다:1597모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 MessageDisplay hook은 `displayContent`를 반환하여 화면의 delta를 바꿀 수 있습니다:

1598 1598 

1599| 필드 | 설명 |1599| 필드 | 설명 |

1600| :--------------- | :----------------------------- |1600| :- | :- |

1601| `displayContent` | delta 대신 표시되는 텍스트. 생략하여 원본을 표시 |1601| `displayContent` | delta 대신 표시되는 텍스트. 생략하여 원본을 표시 |

1602 1602 

1603MessageDisplay hook은 결정 제어가 없습니다. 메시지를 차단하거나 트랜스크립트에 저장되거나 Claude에 전송되는 것을 변경할 수 없습니다. Claude Code는 이들의 JSON 출력에서 `displayContent`를 작동하고 `systemMessage` 및 `continue`를 삭제합니다.1603MessageDisplay hook은 결정 제어가 없습니다. 메시지를 차단하거나 트랜스크립트에 저장되거나 Claude에 전송되는 것을 변경할 수 없습니다. Claude Code는 이들의 JSON 출력에서 `displayContent`를 작동하고 `systemMessage` 및 `continue`를 삭제합니다.


1738셸 명령을 실행합니다.1738셸 명령을 실행합니다.

1739 1739 

1740| 필드 | 유형 | 예제 | 설명 |1740| 필드 | 유형 | 예제 | 설명 |

1741| :------------------ | :-- | :----------------- | :--------------------------------------------------------------------------------------- |1741| :- | :- | :- | :- |

1742| `command` | 문자열 | `"npm test"` | 실행할 셸 명령 |1742| `command` | 문자열 | `"npm test"` | 실행할 셸 명령 |

1743| `description` | 문자열 | `"Run test suite"` | 명령이 수행하는 작업의 선택적 설명 |1743| `description` | 문자열 | `"Run test suite"` | 명령이 수행하는 작업의 선택적 설명 |

1744| `timeout` | 숫자 | `120000` | 선택적 시간 초과 (밀리초). [최대](/docs/ko/tools-reference#bash-tool-behavior) 이상의 값은 거부되지 않고 최대값으로 감소됩니다 |1744| `timeout` | 숫자 | `120000` | 선택적 시간 초과 (밀리초). [최대](/docs/ko/tools-reference#bash-tool-behavior) 이상의 값은 거부되지 않고 최대값으로 감소됩니다 |


1755`changedFiles` 및 `files`는 명령이 변경한 내용을 나열합니다; 나머지 필드는 해당 목록이 얼마나 완전하고 신뢰할 수 있는지를 말합니다.1755`changedFiles` 및 `files`는 명령이 변경한 내용을 나열합니다; 나머지 필드는 해당 목록이 얼마나 완전하고 신뢰할 수 있는지를 말합니다.

1756 1756 

1757| 필드 | 유형 | 예제 | 설명 |1757| 필드 | 유형 | 예제 | 설명 |

1758| :------------- | :- | :------------------------------------------------------ | :------------------------------------------------------------------------------------------ |1758| :- | :- | :- | :- |

1759| `changedFiles` | 배열 | `["/path/to/src/app.ts"]` | 명령이 변경한 파일의 절대 경로, 최대 200개. `files`가 diff를 보유하거나 `moreFiles`가 0 이상일 때마다 존재 |1759| `changedFiles` | 배열 | `["/path/to/src/app.ts"]` | 명령이 변경한 파일의 절대 경로, 최대 200개. `files`가 diff를 보유하거나 `moreFiles`가 0 이상일 때마다 존재 |

1760| `files` | 배열 | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | 최대 5개의 변경된 파일의 diff, 표시용. 명령이 추가하거나 제거한 파일의 경우 `created` 또는 `deleted`는 `true` |1760| `files` | 배열 | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | 최대 5개의 변경된 파일의 diff, 표시용. 명령이 추가하거나 제거한 파일의 경우 `created` 또는 `deleted`는 `true` |

1761| `moreFiles` | 숫자 | `2` | `files`에 diff가 없는 변경된 파일의 개수 |1761| `moreFiles` | 숫자 | `2` | `files`에 diff가 없는 변경된 파일의 개수 |


1774필드는 Bash 도구와 일치하며 `command` 문자열에 명령이 있습니다:1774필드는 Bash 도구와 일치하며 `command` 문자열에 명령이 있습니다:

1775 1775 

1776| 필드 | 유형 | 예제 | 설명 |1776| 필드 | 유형 | 예제 | 설명 |

1777| :------------------ | :-- | :------------------------- | :------------------ |1777| :- | :- | :- | :- |

1778| `command` | 문자열 | `"Get-ChildItem -Recurse"` | 실행할 PowerShell 명령 |1778| `command` | 문자열 | `"Get-ChildItem -Recurse"` | 실행할 PowerShell 명령 |

1779| `description` | 문자열 | `"List files recursively"` | 명령이 수행하는 작업의 선택적 설명 |1779| `description` | 문자열 | `"List files recursively"` | 명령이 수행하는 작업의 선택적 설명 |

1780| `timeout` | 숫자 | `120000` | 선택적 시간 초과 (밀리초) |1780| `timeout` | 숫자 | `120000` | 선택적 시간 초과 (밀리초) |


1793파일을 생성하거나 덮어씁니다.1793파일을 생성하거나 덮어씁니다.

1794 1794 

1795| 필드 | 유형 | 예제 | 설명 |1795| 필드 | 유형 | 예제 | 설명 |

1796| :---------- | :-- | :-------------------- | :---------- |1796| :- | :- | :- | :- |

1797| `file_path` | 문자열 | `"/path/to/file.txt"` | 쓸 파일의 절대 경로 |1797| `file_path` | 문자열 | `"/path/to/file.txt"` | 쓸 파일의 절대 경로 |

1798| `content` | 문자열 | `"file content"` | 파일에 쓸 내용 |1798| `content` | 문자열 | `"file content"` | 파일에 쓸 내용 |

1799 1799 


1804기존 파일의 문자열을 바꿉니다.1804기존 파일의 문자열을 바꿉니다.

1805 1805 

1806| 필드 | 유형 | 예제 | 설명 |1806| 필드 | 유형 | 예제 | 설명 |

1807| :------------ | :-- | :-------------------- | :------------ |1807| :- | :- | :- | :- |

1808| `file_path` | 문자열 | `"/path/to/file.txt"` | 편집할 파일의 절대 경로 |1808| `file_path` | 문자열 | `"/path/to/file.txt"` | 편집할 파일의 절대 경로 |

1809| `old_string` | 문자열 | `"original text"` | 찾아 바꿀 텍스트 |1809| `old_string` | 문자열 | `"original text"` | 찾아 바꿀 텍스트 |

1810| `new_string` | 문자열 | `"replacement text"` | 대체 텍스트 |1810| `new_string` | 문자열 | `"replacement text"` | 대체 텍스트 |


1817파일 내용을 읽습니다.1817파일 내용을 읽습니다.

1818 1818 

1819| 필드 | 유형 | 예제 | 설명 |1819| 필드 | 유형 | 예제 | 설명 |

1820| :---------- | :-- | :-------------------- | :--------------- |1820| :- | :- | :- | :- |

1821| `file_path` | 문자열 | `"/path/to/file.txt"` | 읽을 파일의 절대 경로 |1821| `file_path` | 문자열 | `"/path/to/file.txt"` | 읽을 파일의 절대 경로 |

1822| `offset` | 숫자 | `10` | 읽기를 시작할 선택적 줄 번호 |1822| `offset` | 숫자 | `10` | 읽기를 시작할 선택적 줄 번호 |

1823| `limit` | 숫자 | `50` | 읽을 선택적 줄 수 |1823| `limit` | 숫자 | `50` | 읽을 선택적 줄 수 |


1829glob 패턴과 일치하는 파일을 찾습니다.1829glob 패턴과 일치하는 파일을 찾습니다.

1830 1830 

1831| 필드 | 유형 | 예제 | 설명 |1831| 필드 | 유형 | 예제 | 설명 |

1832| :-------- | :-- | :--------------- | :---------------------------- |1832| :- | :- | :- | :- |

1833| `pattern` | 문자열 | `"**/*.ts"` | 파일과 일치시킬 glob 패턴 |1833| `pattern` | 문자열 | `"**/*.ts"` | 파일과 일치시킬 glob 패턴 |

1834| `path` | 문자열 | `"/path/to/dir"` | 검색할 선택적 디렉토리. 기본값은 현재 작업 디렉토리 |1834| `path` | 문자열 | `"/path/to/dir"` | 검색할 선택적 디렉토리. 기본값은 현재 작업 디렉토리 |

1835 1835 


1840정규식으로 파일 내용을 검색합니다.1840정규식으로 파일 내용을 검색합니다.

1841 1841 

1842| 필드 | 유형 | 예제 | 설명 |1842| 필드 | 유형 | 예제 | 설명 |

1843| :------------ | :-- | :--------------- | :---------------------------------------------------------------------------- |1843| :- | :- | :- | :- |

1844| `pattern` | 문자열 | `"TODO.*fix"` | 검색할 정규식 패턴 |1844| `pattern` | 문자열 | `"TODO.*fix"` | 검색할 정규식 패턴 |

1845| `path` | 문자열 | `"/path/to/dir"` | 검색할 선택적 파일 또는 디렉토리 |1845| `path` | 문자열 | `"/path/to/dir"` | 검색할 선택적 파일 또는 디렉토리 |

1846| `glob` | 문자열 | `"*.ts"` | 파일을 필터링할 선택적 glob 패턴 |1846| `glob` | 문자열 | `"*.ts"` | 파일을 필터링할 선택적 glob 패턴 |


1855웹 콘텐츠를 가져오고 처리합니다.1855웹 콘텐츠를 가져오고 처리합니다.

1856 1856 

1857| 필드 | 유형 | 예제 | 설명 |1857| 필드 | 유형 | 예제 | 설명 |

1858| :------- | :-- | :---------------------------- | :----------------- |1858| :- | :- | :- | :- |

1859| `url` | 문자열 | `"https://example.com/api"` | 콘텐츠를 가져올 URL |1859| `url` | 문자열 | `"https://example.com/api"` | 콘텐츠를 가져올 URL |

1860| `prompt` | 문자열 | `"Extract the API endpoints"` | 가져온 콘텐츠에서 실행할 프롬프트 |1860| `prompt` | 문자열 | `"Extract the API endpoints"` | 가져온 콘텐츠에서 실행할 프롬프트 |

1861 1861 


1866웹을 검색합니다.1866웹을 검색합니다.

1867 1867 

1868| 필드 | 유형 | 예제 | 설명 |1868| 필드 | 유형 | 예제 | 설명 |

1869| :---------------- | :-- | :----------------------------- | :------------------- |1869| :- | :- | :- | :- |

1870| `query` | 문자열 | `"react hooks best practices"` | 검색 쿼리 |1870| `query` | 문자열 | `"react hooks best practices"` | 검색 쿼리 |

1871| `allowed_domains` | 배열 | `["docs.example.com"]` | 선택적: 이러한 도메인의 결과만 포함 |1871| `allowed_domains` | 배열 | `["docs.example.com"]` | 선택적: 이러한 도메인의 결과만 포함 |

1872| `blocked_domains` | 배열 | `["spam.example.com"]` | 선택적: 이러한 도메인의 결과 제외 |1872| `blocked_domains` | 배열 | `["spam.example.com"]` | 선택적: 이러한 도메인의 결과 제외 |


1878[subagent](/docs/ko/sub-agents)를 생성합니다.1878[subagent](/docs/ko/sub-agents)를 생성합니다.

1879 1879 

1880| 필드 | 유형 | 예제 | 설명 |1880| 필드 | 유형 | 예제 | 설명 |

1881| :-------------- | :-- | :------------------------- | :------------------ |1881| :- | :- | :- | :- |

1882| `prompt` | 문자열 | `"Find all API endpoints"` | 에이전트가 수행할 작업 |1882| `prompt` | 문자열 | `"Find all API endpoints"` | 에이전트가 수행할 작업 |

1883| `description` | 문자열 | `"Find API endpoints"` | 작업의 짧은 설명 |1883| `description` | 문자열 | `"Find API endpoints"` | 작업의 짧은 설명 |

1884| `subagent_type` | 문자열 | `"Explore"` | 사용할 특화된 에이전트의 유형 |1884| `subagent_type` | 문자열 | `"Explore"` | 사용할 특화된 에이전트의 유형 |


1887foreground Agent 호출이 완료되면 [PostToolUse hook](#posttooluse)은 subagent의 결과와 실행 원격 측정을 `tool_response`에서 받습니다. 이 필드를 읽어 실행을 검사합니다; subagent 전체의 토큰 및 비용 롤업의 경우 [토큰 및 비용 카운터](/docs/ko/monitoring-usage#token-counter)를 `query_source` `"subagent"`로 필터링하여 사용합니다 (`totalTokens` 및 `usage`는 최종 요청만 다룹니다):1887foreground Agent 호출이 완료되면 [PostToolUse hook](#posttooluse)은 subagent의 결과와 실행 원격 측정을 `tool_response`에서 받습니다. 이 필드를 읽어 실행을 검사합니다; subagent 전체의 토큰 및 비용 롤업의 경우 [토큰 및 비용 카운터](/docs/ko/monitoring-usage#token-counter)를 `query_source` `"subagent"`로 필터링하여 사용합니다 (`totalTokens` 및 `usage`는 최종 요청만 다룹니다):

1888 1888 

1889| 필드 | 유형 | 예제 | 설명 |1889| 필드 | 유형 | 예제 | 설명 |

1890| :------------------ | :-- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1890| :- | :- | :- | :- |

1891| `status` | 문자열 | `"completed"` | foreground subagent의 경우 `"completed"`, 백그라운드 subagent의 경우 `"async_launched"`. v2.1.198부터 subagent는 기본적으로 백그라운드에서 실행되므로 생략된 `run_in_background`도 `"async_launched"`를 생성합니다 |1891| `status` | 문자열 | `"completed"` | foreground subagent의 경우 `"completed"`, 백그라운드 subagent의 경우 `"async_launched"`. v2.1.198부터 subagent는 기본적으로 백그라운드에서 실행되므로 생략된 `run_in_background`도 `"async_launched"`를 생성합니다 |

1892| `agentId` | 문자열 | `"a4d2c8f1e0b3a297"` | subagent 실행의 식별자 |1892| `agentId` | 문자열 | `"a4d2c8f1e0b3a297"` | subagent 실행의 식별자 |

1893| `content` | 배열 | `[{"type": "text", "text": "Found 12 endpoints..."}]` | subagent의 최종 텍스트 블록, 또는 [`SubagentHandback`](/docs/ko/tools-reference)을 통해 보고서가 전달되는 subagent의 경우 그 손 전달에 대한 짧은 메모 |1893| `content` | 배열 | `[{"type": "text", "text": "Found 12 endpoints..."}]` | subagent의 최종 텍스트 블록, 또는 [`SubagentHandback`](/docs/ko/tools-reference)을 통해 보고서가 전달되는 subagent의 경우 그 손 전달에 대한 짧은 메모 |


1913사용자에게 1\~4개의 객관식 질문을 합니다.1913사용자에게 1\~4개의 객관식 질문을 합니다.

1914 1914 

1915| 필드 | 유형 | 예제 | 설명 |1915| 필드 | 유형 | 예제 | 설명 |

1916| :---------- | :- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------- |1916| :- | :- | :- | :- |

1917| `questions` | 배열 | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | 제시할 질문, 각각 `question` 문자열, 짧은 `header`, `options` 배열, 선택적 `multiSelect` 플래그 |1917| `questions` | 배열 | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | 제시할 질문, 각각 `question` 문자열, 짧은 `header`, `options` 배열, 선택적 `multiSelect` 플래그 |

1918| `answers` | 객체 | `{"Which framework?": "React"}` | 선택적. 질문 텍스트를 선택한 옵션 레이블로 매핑합니다. 다중 선택 답변은 쉼표로 레이블을 결합합니다. Claude는 이 필드를 설정하지 않습니다; `updatedInput`을 통해 프로그래밍 방식으로 답변을 제공하세요 |1918| `answers` | 객체 | `{"Which framework?": "React"}` | 선택적. 질문 텍스트를 선택한 옵션 레이블로 매핑합니다. 다중 선택 답변은 쉼표로 레이블을 결합합니다. Claude는 이 필드를 설정하지 않습니다; `updatedInput`을 통해 프로그래밍 방식으로 답변을 제공하세요 |

1919 1919 


1924Claude가 [plan 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)를 떠나기 전에 계획을 제시하고 사용자에게 승인을 요청합니다. Claude는 도구를 호출하기 전에 계획을 파일에 디스크에 작성하므로 모델의 리터럴 `tool_input`은 일반적으로 비어 있습니다. Claude Code는 hook에 전달하기 전에 계획 내용과 파일 경로를 주입합니다.1924Claude가 [plan 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)를 떠나기 전에 계획을 제시하고 사용자에게 승인을 요청합니다. Claude는 도구를 호출하기 전에 계획을 파일에 디스크에 작성하므로 모델의 리터럴 `tool_input`은 일반적으로 비어 있습니다. Claude Code는 hook에 전달하기 전에 계획 내용과 파일 경로를 주입합니다.

1925 1925 

1926| 필드 | 유형 | 예제 | 설명 |1926| 필드 | 유형 | 예제 | 설명 |

1927| :--------------- | :-- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------ |1927| :- | :- | :- | :- |

1928| `plan` | 문자열 | `"## Refactor auth\n1. Extract..."` | Markdown의 계획 내용. 디스크의 계획 파일에서 주입됨 |1928| `plan` | 문자열 | `"## Refactor auth\n1. Extract..."` | Markdown의 계획 내용. 디스크의 계획 파일에서 주입됨 |

1929| `planFilePath` | 문자열 | `"/Users/.../plans/refactor-auth.md"` | 계획 파일의 경로. 주입됨 |1929| `planFilePath` | 문자열 | `"/Users/.../plans/refactor-auth.md"` | 계획 파일의 경로. 주입됨 |

1930| `allowedPrompts` | 배열 | `[{"tool": "Bash", "prompt": "run tests"}]` | 더 이상 사용되지 않음. Claude Code는 필드를 수락하지만 무시합니다. v2.1.205 이전에는 Claude가 계획을 구현하기 위해 요청하는 prompt 기반 권한을 전달했습니다 |1930| `allowedPrompts` | 배열 | `[{"tool": "Bash", "prompt": "run tests"}]` | 더 이상 사용되지 않음. Claude Code는 필드를 수락하지만 무시합니다. v2.1.205 이전에는 Claude가 계획을 구현하기 위해 요청하는 prompt 기반 권한을 전달했습니다 |


1938`PreToolUse` hook은 도구 호출 진행 여부를 제어할 수 있습니다. 최상위 `decision` 필드를 사용하는 다른 hook과 달리 PreToolUse는 `hookSpecificOutput` 객체 내에 결정을 반환합니다. 이는 더 풍부한 제어를 제공합니다: 네 가지 결과 (허용, 거부, 요청 또는 연기) 및 실행 전에 도구 입력을 수정하는 기능.1938`PreToolUse` hook은 도구 호출 진행 여부를 제어할 수 있습니다. 최상위 `decision` 필드를 사용하는 다른 hook과 달리 PreToolUse는 `hookSpecificOutput` 객체 내에 결정을 반환합니다. 이는 더 풍부한 제어를 제공합니다: 네 가지 결과 (허용, 거부, 요청 또는 연기) 및 실행 전에 도구 입력을 수정하는 기능.

1939 1939 

1940| 필드 | 설명 |1940| 필드 | 설명 |

1941| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1941| :- | :- |

1942| `permissionDecision` | `"allow"`는 권한 프롬프트를 건너뜁니다 ([어떤 모드도 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves) 및 [`updatedInput`과 쌍을 이루어야 하는](#allow-with-updatedinput) `AskUserQuestion` 및 `ExitPlanMode` 제외). `"deny"`는 도구 호출을 방지합니다. `"ask"`는 사용자에게 확인을 요청합니다. `"defer"`는 나중에 재개하도록 연기합니다. [거부 및 요청 규칙](/docs/ko/permissions#manage-permissions)은 hook이 반환하는 것과 관계없이 여전히 평가됩니다 |1942| `permissionDecision` | `"allow"`는 권한 프롬프트를 건너뜁니다 ([어떤 모드도 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves) 및 [`updatedInput`과 쌍을 이루어야 하는](#allow-with-updatedinput) `AskUserQuestion` 및 `ExitPlanMode` 제외). `"deny"`는 도구 호출을 방지합니다. `"ask"`는 사용자에게 확인을 요청합니다. `"defer"`는 나중에 재개하도록 연기합니다. [거부 및 요청 규칙](/docs/ko/permissions#manage-permissions)은 hook이 반환하는 것과 관계없이 여전히 평가됩니다 |

1943| `permissionDecisionReason` | `"allow"` 및 `"ask"`의 경우 사용자에게 표시되지만 Claude에는 표시되지 않습니다. `"deny"`의 경우 Claude에 표시됩니다. `"defer"`의 경우 무시됩니다 |1943| `permissionDecisionReason` | `"allow"` 및 `"ask"`의 경우 사용자에게 표시되지만 Claude에는 표시되지 않습니다. `"deny"`의 경우 Claude에 표시됩니다. `"defer"`의 경우 무시됩니다 |

1944| `updatedInput` | 실행 전에 도구의 입력 매개변수를 수정합니다. 전체 입력 객체를 바꾸므로 변경되지 않은 필드를 수정된 필드와 함께 포함합니다. Claude Code는 권한 규칙과 Bash 명령의 [자동 백그라운드 적격성](/docs/ko/tools-reference#background-commands)을 hook이 반환하는 입력에 대해 평가합니다 (Claude가 보낸 입력이 아님). `"allow"`와 결합하여 자동 승인하거나 `"ask"`와 결합하여 수정된 입력을 사용자에게 표시합니다. `"defer"`의 경우 무시됩니다 |1944| `updatedInput` | 실행 전에 도구의 입력 매개변수를 수정합니다. 전체 입력 객체를 바꾸므로 변경되지 않은 필드를 수정된 필드와 함께 포함합니다. Claude Code는 권한 규칙과 Bash 명령의 [자동 백그라운드 적격성](/docs/ko/tools-reference#background-commands)을 hook이 반환하는 입력에 대해 평가합니다 (Claude가 보낸 입력이 아님). `"allow"`와 결합하여 자동 승인하거나 `"ask"`와 결합하여 수정된 입력을 사용자에게 표시합니다. `"defer"`의 경우 무시됩니다 |


2070`PermissionRequest` hook은 권한 요청을 허용하거나 거부할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 hook 스크립트는 이러한 이벤트 특정 필드가 있는 `decision` 객체를 반환할 수 있습니다:2070`PermissionRequest` hook은 권한 요청을 허용하거나 거부할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 hook 스크립트는 이러한 이벤트 특정 필드가 있는 `decision` 객체를 반환할 수 있습니다:

2071 2071 

2072| 필드 | 설명 |2072| 필드 | 설명 |

2073| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |2073| :- | :- |

2074| `behavior` | `"allow"`는 권한을 부여하고, `"deny"`는 거부합니다. [거부 및 요청 규칙](/docs/ko/permissions#manage-permissions)은 여전히 평가되므로 hook이 `"allow"`를 반환해도 일치하는 거부 규칙을 재정의하지 않습니다 |2074| `behavior` | `"allow"`는 권한을 부여하고, `"deny"`는 거부합니다. [거부 및 요청 규칙](/docs/ko/permissions#manage-permissions)은 여전히 평가되므로 hook이 `"allow"`를 반환해도 일치하는 거부 규칙을 재정의하지 않습니다 |

2075| `updatedInput` | `"allow"`만 해당: 실행 전에 도구의 입력 매개변수를 수정합니다. 전체 입력 객체를 바꾸므로 변경되지 않은 필드를 수정된 필드와 함께 포함합니다. 수정된 입력은 거부 및 요청 규칙에 대해 다시 평가됩니다 |2075| `updatedInput` | `"allow"`만 해당: 실행 전에 도구의 입력 매개변수를 수정합니다. 전체 입력 객체를 바꾸므로 변경되지 않은 필드를 수정된 필드와 함께 포함합니다. 수정된 입력은 거부 및 요청 규칙에 대해 다시 평가됩니다 |

2076| `updatedPermissions` | `"allow"`만 해당: 적용할 [권한 업데이트 항목](#permission-update-entries) 배열 (예: 허용 규칙 추가 또는 세션 권한 모드 변경) |2076| `updatedPermissions` | `"allow"`만 해당: 적용할 [권한 업데이트 항목](#permission-update-entries) 배열 (예: 허용 규칙 추가 또는 세션 권한 모드 변경) |


2100`updatedPermissions` 출력 필드와 [`permission_suggestions` 입력 필드](#permissionrequest-input) 모두 동일한 항목 객체 배열을 사용합니다. 각 항목에는 다른 필드를 결정하는 `type`과 변경이 작성되는 위치를 제어하는 `destination`이 있습니다.2100`updatedPermissions` 출력 필드와 [`permission_suggestions` 입력 필드](#permissionrequest-input) 모두 동일한 항목 객체 배열을 사용합니다. 각 항목에는 다른 필드를 결정하는 `type`과 변경이 작성되는 위치를 제어하는 `destination`이 있습니다.

2101 2101 

2102| `type` | 필드 | 효과 |2102| `type` | 필드 | 효과 |

2103| :------------------ | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |2103| :- | :- | :- |

2104| `addRules` | `rules`, `behavior`, `destination` | 권한 규칙을 추가합니다. `rules`는 `{toolName, ruleContent?}` 객체의 배열입니다. 전체 도구와 일치하려면 `ruleContent`를 생략합니다. `behavior`는 `"allow"`, `"deny"` 또는 `"ask"`입니다 |2104| `addRules` | `rules`, `behavior`, `destination` | 권한 규칙을 추가합니다. `rules`는 `{toolName, ruleContent?}` 객체의 배열입니다. 전체 도구와 일치하려면 `ruleContent`를 생략합니다. `behavior`는 `"allow"`, `"deny"` 또는 `"ask"`입니다 |

2105| `replaceRules` | `rules`, `behavior`, `destination` | 주어진 `behavior`의 모든 규칙을 `destination`에서 제공된 `rules`로 바꿉니다 |2105| `replaceRules` | `rules`, `behavior`, `destination` | 주어진 `behavior`의 모든 규칙을 `destination`에서 제공된 `rules`로 바꿉니다 |

2106| `removeRules` | `rules`, `behavior`, `destination` | 주어진 `behavior`의 일치하는 규칙을 제거합니다 |2106| `removeRules` | `rules`, `behavior`, `destination` | 주어진 `behavior`의 일치하는 규칙을 제거합니다 |


2117모든 항목의 `destination` 필드는 변경이 메모리에만 유지되는지 또는 설정 파일에 유지되는지를 결정합니다.2117모든 항목의 `destination` 필드는 변경이 메모리에만 유지되는지 또는 설정 파일에 유지되는지를 결정합니다.

2118 2118 

2119| `destination` | 쓰기 대상 |2119| `destination` | 쓰기 대상 |

2120| :---------------- | :---------------------------- |2120| :- | :- |

2121| `session` | 메모리 전용, 세션이 끝나면 삭제됨 |2121| `session` | 메모리 전용, 세션이 끝나면 삭제됨 |

2122| `localSettings` | `.claude/settings.local.json` |2122| `localSettings` | `.claude/settings.local.json` |

2123| `projectSettings` | `.claude/settings.json` |2123| `projectSettings` | `.claude/settings.json` |


2166```2166```

2167 2167 

2168| 필드 | 설명 |2168| 필드 | 설명 |

2169| :------------ | :-------------------------------------------------------- |2169| :- | :- |

2170| `duration_ms` | 선택적. 도구 실행 시간 (밀리초). 권한 프롬프트 및 PreToolUse hook에 소요된 시간 제외 |2170| `duration_ms` | 선택적. 도구 실행 시간 (밀리초). 권한 프롬프트 및 PreToolUse hook에 소요된 시간 제외 |

2171 2171 

2172<h4 id="posttooluse-decision-control">2172<h4 id="posttooluse-decision-control">


2176`PostToolUse` hook은 도구 실행 후 Claude에 피드백을 제공할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 hook 스크립트는 이러한 이벤트 특정 필드를 반환할 수 있습니다:2176`PostToolUse` hook은 도구 실행 후 Claude에 피드백을 제공할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 hook 스크립트는 이러한 이벤트 특정 필드를 반환할 수 있습니다:

2177 2177 

2178| 필드 | 설명 |2178| 필드 | 설명 |

2179| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2179| :- | :- |

2180| `decision` | `"block"`은 `reason`을 도구 결과 옆에 추가합니다. Claude는 여전히 원본 출력을 봅니다; 이를 바꾸려면 `updatedToolOutput`을 사용합니다 |2180| `decision` | `"block"`은 `reason`을 도구 결과 옆에 추가합니다. Claude는 여전히 원본 출력을 봅니다; 이를 바꾸려면 `updatedToolOutput`을 사용합니다 |

2181| `reason` | `decision`이 `"block"`일 때 Claude에 표시되는 설명 |2181| `reason` | `decision`이 `"block"`일 때 Claude에 표시되는 설명 |

2182| `additionalContext` | 도구 결과와 함께 Claude의 컨텍스트에 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |2182| `additionalContext` | 도구 결과와 함께 Claude의 컨텍스트에 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |


2278```2278```

2279 2279 

2280| 필드 | 설명 |2280| 필드 | 설명 |

2281| :------------- | :-------------------------------------------------------------------------------------------------- |2281| :- | :- |

2282| `error` | 무엇이 잘못되었는지 설명하는 문자열. 형식은 실패한 도구에 따라 다릅니다 |2282| `error` | 무엇이 잘못되었는지 설명하는 문자열. 형식은 실패한 도구에 따라 다릅니다 |

2283| `is_interrupt` | 선택적 부울. 실패가 도구가 보고한 오류가 아닌 중단으로 도달했을 때 true. 실행 중인 도구를 취소하면 이 hook이 발생하지 않습니다; 도구 결과는 중단 메시지를 전달합니다 |2283| `is_interrupt` | 선택적 부울. 실패가 도구가 보고한 오류가 아닌 중단으로 도달했을 때 true. 실행 중인 도구를 취소하면 이 hook이 발생하지 않습니다; 도구 결과는 중단 메시지를 전달합니다 |

2284| `duration_ms` | 선택적. 도구 실행 시간 (밀리초). 권한 프롬프트 및 PreToolUse hook에 소요된 시간 제외 |2284| `duration_ms` | 선택적. 도구 실행 시간 (밀리초). 권한 프롬프트 및 PreToolUse hook에 소요된 시간 제외 |


2296`PostToolUseFailure` hook은 도구 실패 후 Claude에 컨텍스트를 제공할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 hook 스크립트는 이러한 이벤트 특정 필드를 반환할 수 있습니다:2296`PostToolUseFailure` hook은 도구 실패 후 Claude에 컨텍스트를 제공할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 hook 스크립트는 이러한 이벤트 특정 필드를 반환할 수 있습니다:

2297 2297 

2298| 필드 | 설명 |2298| 필드 | 설명 |

2299| :------------------ | :---------------------------------------------------------------------------------- |2299| :- | :- |

2300| `additionalContext` | Claude의 컨텍스트에 오류와 함께 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |2300| `additionalContext` | Claude의 컨텍스트에 오류와 함께 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |

2301 2301 

2302```json theme={null}2302```json theme={null}


2357`PostToolBatch` hook은 Claude에 대한 컨텍스트를 주입할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 hook 스크립트는 이러한 이벤트 특정 필드를 반환할 수 있습니다:2357`PostToolBatch` hook은 Claude에 대한 컨텍스트를 주입할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 hook 스크립트는 이러한 이벤트 특정 필드를 반환할 수 있습니다:

2358 2358 

2359| 필드 | 설명 |2359| 필드 | 설명 |

2360| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------- |2360| :- | :- |

2361| `additionalContext` | 다음 모델 호출 전에 한 번 주입되는 컨텍스트 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하여 전달 세부 정보, 포함할 내용, 재개된 세션이 과거 값을 처리하는 방식을 확인하세요 |2361| `additionalContext` | 다음 모델 호출 전에 한 번 주입되는 컨텍스트 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하여 전달 세부 정보, 포함할 내용, 재개된 세션이 과거 값을 처리하는 방식을 확인하세요 |

2362 2362 

2363```json theme={null}2363```json theme={null}


2403```2403```

2404 2404 

2405| 필드 | 설명 |2405| 필드 | 설명 |

2406| :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2406| :- | :- |

2407| `reason` | 거부 이유. 분류기 판정의 경우 대부분의 세션에서 `[Data Exfiltration]`과 같은 대괄호의 일치하는 규칙 이름을 지정합니다; [거부 검토](/docs/ko/auto-mode-config#review-denials)를 참조하여 다른 형식을 확인하세요. [판정 없는 거부](#permissiondenied-decision-control)의 경우 `Auto mode could not evaluate this action and is blocking it for safety`로 시작합니다. 분류기 모델을 사용할 수 없어서 거부하는 경우 고정 텍스트 `Classifier unavailable`입니다 |2407| `reason` | 거부 이유. 분류기 판정의 경우 대부분의 세션에서 `[Data Exfiltration]`과 같은 대괄호의 일치하는 규칙 이름을 지정합니다; [거부 검토](/docs/ko/auto-mode-config#review-denials)를 참조하여 다른 형식을 확인하세요. [판정 없는 거부](#permissiondenied-decision-control)의 경우 `Auto mode could not evaluate this action and is blocking it for safety`로 시작합니다. 분류기 모델을 사용할 수 없어서 거부하는 경우 고정 텍스트 `Classifier unavailable`입니다 |

2408 2408 

2409<h4 id="permissiondenied-decision-control">2409<h4 id="permissiondenied-decision-control">


2434데스크톱 알림이 꺼져 있어도 이 hook 이벤트를 받습니다: `preferredNotifChannel` 설정 (예: `notifications_disabled`)은 알림 방식만 변경하고 hook이 실행되는지 여부는 변경하지 않습니다.2434데스크톱 알림이 꺼져 있어도 이 hook 이벤트를 받습니다: `preferredNotifChannel` 설정 (예: `notifications_disabled`)은 알림 방식만 변경하고 hook이 실행되는지 여부는 변경하지 않습니다.

2435 2435 

2436| Matcher | 언제 발생하는지 |2436| Matcher | 언제 발생하는지 |

2437| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2437| :- | :- |

2438| `permission_prompt` | Claude가 도구 사용 또는 샌드박스 명령의 [네트워크 요청](/docs/ko/sandboxing#network-isolation)에 대한 권한이 필요하고 프롬프트가 약 6초 대기했습니다 |2438| `permission_prompt` | Claude가 도구 사용 또는 샌드박스 명령의 [네트워크 요청](/docs/ko/sandboxing#network-isolation)에 대한 권한이 필요하고 프롬프트가 약 6초 대기했습니다 |

2439| `idle_prompt` | Claude가 약 60초 전에 응답을 마쳤고 입력하지 않았습니다 |2439| `idle_prompt` | Claude가 약 60초 전에 응답을 마쳤고 입력하지 않았습니다 |

2440| `auth_success` | 인증 완료 |2440| `auth_success` | 인증 완료 |


2551SubagentStart hook은 subagent 생성을 차단할 수 없지만 subagent에 컨텍스트를 주입할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 다음을 반환할 수 있습니다:2551SubagentStart hook은 subagent 생성을 차단할 수 없지만 subagent에 컨텍스트를 주입할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 다음을 반환할 수 있습니다:

2552 2552 

2553| 필드 | 설명 |2553| 필드 | 설명 |

2554| :------------------ | :----------------------------------------------------------------------------------------------------- |2554| :- | :- |

2555| `additionalContext` | subagent의 대화 시작 부분에 추가되는 문자열. 첫 번째 프롬프트 전에 추가됩니다. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |2555| `additionalContext` | subagent의 대화 시작 부분에 추가되는 문자열. 첫 번째 프롬프트 전에 추가됩니다. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |

2556 2556 

2557```json theme={null}2557```json theme={null}


2629```2629```

2630 2630 

2631| 필드 | 설명 |2631| 필드 | 설명 |

2632| :----------------- | :----------------------- |2632| :- | :- |

2633| `task_id` | 생성되는 작업의 식별자 |2633| `task_id` | 생성되는 작업의 식별자 |

2634| `task_subject` | 작업의 제목 |2634| `task_subject` | 작업의 제목 |

2635| `task_description` | 작업의 자세한 설명. 없을 수 있음 |2635| `task_description` | 작업의 자세한 설명. 없을 수 있음 |


2690```2690```

2691 2691 

2692| 필드 | 설명 |2692| 필드 | 설명 |

2693| :----------------- | :----------------------- |2693| :- | :- |

2694| `task_id` | 완료되는 작업의 식별자 |2694| `task_id` | 완료되는 작업의 식별자 |

2695| `task_subject` | 작업의 제목 |2695| `task_subject` | 작업의 제목 |

2696| `task_description` | 작업의 자세한 설명. 없을 수 있음 |2696| `task_description` | 작업의 자세한 설명. 없을 수 있음 |


2745`background_tasks`의 각 항목은 하나의 진행 중인 작업을 설명하며 이러한 필드를 사용합니다:2745`background_tasks`의 각 항목은 하나의 진행 중인 작업을 설명하며 이러한 필드를 사용합니다:

2746 2746 

2747| 필드 | 설명 |2747| 필드 | 설명 |

2748| :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2748| :- | :- |

2749| `id` | 작업 식별자 |2749| `id` | 작업 식별자 |

2750| `type` | 친화적 작업 유형 레이블 (예: `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, `MCP task`). 각 레이블은 어느 Claude Code 기능이 작업을 생성했는지 식별합니다. 인식되지 않는 유형의 경우 원본 판별식으로 폴백 |2750| `type` | 친화적 작업 유형 레이블 (예: `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, `MCP task`). 각 레이블은 어느 Claude Code 기능이 작업을 생성했는지 식별합니다. 인식되지 않는 유형의 경우 원본 판별식으로 폴백 |

2751| `status` | 현재 작업 상태 |2751| `status` | 현재 작업 상태 |


2759`session_crons`의 각 항목은 `CronCreate`, `ScheduleWakeup`, `/loop`에서 소싱된 하나의 세션 범위 예약된 깨어남을 설명합니다:2759`session_crons`의 각 항목은 `CronCreate`, `ScheduleWakeup`, `/loop`에서 소싱된 하나의 세션 범위 예약된 깨어남을 설명합니다:

2760 2760 

2761| 필드 | 설명 |2761| 필드 | 설명 |

2762| :---------- | :--------------------------------------------------------------------- |2762| :- | :- |

2763| `id` | Cron 작업 식별자 |2763| `id` | Cron 작업 식별자 |

2764| `schedule` | Cron 표현식 (예: `0 9 * * 1-5`) |2764| `schedule` | Cron 표현식 (예: `0 9 * * 1-5`) |

2765| `recurring` | 일회성 깨어남의 경우 `false` (일정이 단일 발생 시간을 인코딩), 모든 일치에서 다시 발생하는 작업의 경우 `true` |2765| `recurring` | 일회성 깨어남의 경우 `false` (일정이 단일 발생 시간을 인코딩), 모든 일치에서 다시 발생하는 작업의 경우 `true` |


2803`Stop` 및 `SubagentStop` hook은 Claude가 계속할지 여부를 제어할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 hook 스크립트는 이러한 이벤트 특정 필드를 반환할 수 있습니다:2803`Stop` 및 `SubagentStop` hook은 Claude가 계속할지 여부를 제어할 수 있습니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 hook 스크립트는 이러한 이벤트 특정 필드를 반환할 수 있습니다:

2804 2804 

2805| 필드 | 설명 |2805| 필드 | 설명 |

2806| :------------------------------------- | :------------------------------------------------------------------------------------------------------------- |2806| :- | :- |

2807| `decision` | `"block"`은 Claude가 중지되는 것을 방지합니다. 생략하여 Claude가 중지하도록 허용 |2807| `decision` | `"block"`은 Claude가 중지되는 것을 방지합니다. 생략하여 Claude가 중지하도록 허용 |

2808| `reason` | Claude가 중지되는 것이 차단될 때 필수입니다. Claude에 계속해야 하는 이유를 알립니다 |2808| `reason` | Claude가 중지되는 것이 차단될 때 필수입니다. Claude에 계속해야 하는 이유를 알립니다 |

2809| `hookSpecificOutput.additionalContext` | 비오류 피드백 Claude. 대화가 계속되므로 Claude가 이에 따라 행동할 수 있지만 `decision: "block"`과 달리 트랜스크립트에 hook 오류가 아닌 hook 피드백으로 표시됩니다 |2809| `hookSpecificOutput.additionalContext` | 비오류 피드백 Claude. 대화가 계속되므로 Claude가 이에 따라 행동할 수 있지만 `decision: "block"`과 달리 트랜스크립트에 hook 오류가 아닌 hook 피드백으로 표시됩니다 |


2841[공통 입력 필드](#common-input-fields) 외에도 StopFailure hook은 `error`, 선택적 `error_details`, 선택적 `last_assistant_message`를 받습니다. `error` 필드는 오류 유형을 식별하며 matcher 필터링에 사용됩니다.2841[공통 입력 필드](#common-input-fields) 외에도 StopFailure hook은 `error`, 선택적 `error_details`, 선택적 `last_assistant_message`를 받습니다. `error` 필드는 오류 유형을 식별하며 matcher 필터링에 사용됩니다.

2842 2842 

2843| 필드 | 설명 |2843| 필드 | 설명 |

2844| :----------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2844| :- | :- |

2845| `error` | 오류 유형: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, 또는 `unknown` |2845| `error` | 오류 유형: `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, 또는 `unknown` |

2846| `error_details` | 사용 가능한 경우 오류에 대한 추가 세부 정보 |2846| `error_details` | 사용 가능한 경우 오류에 대한 추가 세부 정보 |

2847| `last_assistant_message` | 대화에 표시되는 렌더링된 오류 텍스트. `Stop` 및 `SubagentStop`과 달리 이 필드는 Claude의 대화형 출력을 보유하고 `StopFailure`의 경우 `"API Error: Rate limit reached"`와 같은 API 오류 문자열 자체를 포함합니다 |2847| `last_assistant_message` | 대화에 표시되는 렌더링된 오류 텍스트. `Stop` 및 `SubagentStop`과 달리 이 필드는 Claude의 대화형 출력을 보유하고 `StopFailure`의 경우 `"API Error: Rate limit reached"`와 같은 API 오류 문자열 자체를 포함합니다 |


2887```2887```

2888 2888 

2889| 필드 | 설명 |2889| 필드 | 설명 |

2890| :-------------- | :------------------- |2890| :- | :- |

2891| `teammate_name` | 유휴 상태가 되려고 하는 팀원의 이름 |2891| `teammate_name` | 유휴 상태가 되려고 하는 팀원의 이름 |

2892| `team_name` | 팀의 이름 |2892| `team_name` | 팀의 이름 |

2893 2893 


2924matcher는 구성 소스에서 필터링합니다:2924matcher는 구성 소스에서 필터링합니다:

2925 2925 

2926| Matcher | 언제 발생하는지 |2926| Matcher | 언제 발생하는지 |

2927| :----------------- | :------------------------------------------------------ |2927| :- | :- |

2928| `user_settings` | `~/.claude/settings.json` 변경 |2928| `user_settings` | `~/.claude/settings.json` 변경 |

2929| `project_settings` | `.claude/settings.json` 변경 |2929| `project_settings` | `.claude/settings.json` 변경 |

2930| `local_settings` | `.claude/settings.local.json` 변경 |2930| `local_settings` | `.claude/settings.local.json` 변경 |


2975ConfigChange hook은 구성 변경이 적용되는 것을 차단할 수 있습니다. 종료 코드 2 또는 JSON `decision`을 사용하여 변경을 방지합니다. 차단되면 새 설정이 실행 중인 세션에 적용되지 않습니다.2975ConfigChange hook은 구성 변경이 적용되는 것을 차단할 수 있습니다. 종료 코드 2 또는 JSON `decision`을 사용하여 변경을 방지합니다. 차단되면 새 설정이 실행 중인 세션에 적용되지 않습니다.

2976 2976 

2977| 필드 | 설명 |2977| 필드 | 설명 |

2978| :--------- | :------------------------------------------- |2978| :- | :- |

2979| `decision` | `"block"`은 구성 변경이 적용되는 것을 방지합니다. 생략하여 변경을 허용 |2979| `decision` | `"block"`은 구성 변경이 적용되는 것을 방지합니다. 생략하여 변경을 허용 |

2980| `reason` | 수락되지만 절대 표시되지 않음 |2980| `reason` | 수락되지만 절대 표시되지 않음 |

2981 2981 


3024모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 CwdChanged hook은 `watchPaths`를 반환하여 [FileChanged](#filechanged)가 감시하는 파일 경로를 동적으로 설정할 수 있습니다:3024모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 CwdChanged hook은 `watchPaths`를 반환하여 [FileChanged](#filechanged)가 감시하는 파일 경로를 동적으로 설정할 수 있습니다:

3025 3025 

3026| 필드 | 설명 |3026| 필드 | 설명 |

3027| :----------- | :---------------------------------------------------------------------------------------- |3027| :- | :- |

3028| `watchPaths` | 절대 경로의 배열. 현재 동적 감시 목록을 바꿉니다 (matcher 구성의 경로는 항상 감시됨). 새 디렉토리에 들어갈 때 빈 배열을 반환하는 것이 일반적입니다 |3028| `watchPaths` | 절대 경로의 배열. 현재 동적 감시 목록을 바꿉니다 (matcher 구성의 경로는 항상 감시됨). 새 디렉토리에 들어갈 때 빈 배열을 반환하는 것이 일반적입니다 |

3029 3029 

3030CwdChanged hook은 결정 제어가 없습니다. 디렉토리 변경을 차단할 수 없습니다.3030CwdChanged hook은 결정 제어가 없습니다. 디렉토리 변경을 차단할 수 없습니다.


3050matcher는 디렉토리가 추가된 방식에 따라 필터링합니다:3050matcher는 디렉토리가 추가된 방식에 따라 필터링합니다:

3051 3051 

3052| Matcher | 언제 발생하는지 |3052| Matcher | 언제 발생하는지 |

3053| :------------------- | :-------------------------------------------------- |3053| :- | :- |

3054| `slash_command` | `/add-dir`으로 디렉토리를 추가합니다 |3054| `slash_command` | `/add-dir`으로 디렉토리를 추가합니다 |

3055| `register_repo_root` | SDK 클라이언트가 `register_repo_root` 제어 요청으로 디렉토리를 추가합니다 |3055| `register_repo_root` | SDK 클라이언트가 `register_repo_root` 제어 요청으로 디렉토리를 추가합니다 |

3056 3056 


3061[공통 입력 필드](#common-input-fields) 외에도 DirectoryAdded hook은 `directory` 및 `source`를 받습니다.3061[공통 입력 필드](#common-input-fields) 외에도 DirectoryAdded hook은 `directory` 및 `source`를 받습니다.

3062 3062 

3063| 필드 | 설명 |3063| 필드 | 설명 |

3064| :---------- | :------------------------------------------------------------------------------------- |3064| :- | :- |

3065| `directory` | 추가된 디렉토리의 절대 경로 |3065| `directory` | 추가된 디렉토리의 절대 경로 |

3066| `source` | 디렉토리가 추가된 방식, `/add-dir`의 경우 `"slash_command"` 또는 SDK 제어 요청의 경우 `"register_repo_root"` |3066| `source` | 디렉토리가 추가된 방식, `/add-dir`의 경우 `"slash_command"` 또는 SDK 제어 요청의 경우 `"register_repo_root"` |

3067 3067 


3135[공통 입력 필드](#common-input-fields) 외에도 FileChanged hook은 `file_path` 및 `event`를 받습니다.3135[공통 입력 필드](#common-input-fields) 외에도 FileChanged hook은 `file_path` 및 `event`를 받습니다.

3136 3136 

3137| 필드 | 설명 |3137| 필드 | 설명 |

3138| :---------- | :--------------------------------------------------------------- |3138| :- | :- |

3139| `file_path` | 변경된 파일의 절대 경로 |3139| `file_path` | 변경된 파일의 절대 경로 |

3140| `event` | 발생한 일: `"change"` (파일 수정), `"add"` (파일 생성) 또는 `"unlink"` (파일 삭제) |3140| `event` | 발생한 일: `"change"` (파일 수정), `"add"` (파일 생성) 또는 `"unlink"` (파일 삭제) |

3141 3141 


3157모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 FileChanged hook은 `watchPaths`를 반환하여 감시되는 파일 경로를 동적으로 업데이트할 수 있습니다:3157모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 FileChanged hook은 `watchPaths`를 반환하여 감시되는 파일 경로를 동적으로 업데이트할 수 있습니다:

3158 3158 

3159| 필드 | 설명 |3159| 필드 | 설명 |

3160| :----------- | :---------------------------------------------------------------------------------------------------- |3160| :- | :- |

3161| `watchPaths` | 절대 경로의 배열. 현재 동적 감시 목록을 바꿉니다 (matcher 구성의 경로는 항상 감시됨). hook 스크립트가 변경된 파일을 기반으로 감시할 추가 파일을 발견할 때 사용합니다 |3161| `watchPaths` | 절대 경로의 배열. 현재 동적 감시 목록을 바꿉니다 (matcher 구성의 경로는 항상 감시됨). hook 스크립트가 변경된 파일을 기반으로 감시할 추가 파일을 발견할 때 사용합니다 |

3162 3162 

3163FileChanged hook은 결정 제어가 없습니다. 파일 변경을 차단할 수 없습니다.3163FileChanged hook은 결정 제어가 없습니다. 파일 변경을 차단할 수 없습니다.


3291matcher 값은 압축이 수동으로 또는 자동으로 트리거되었는지 나타냅니다:3291matcher 값은 압축이 수동으로 또는 자동으로 트리거되었는지 나타냅니다:

3292 3292 

3293| Matcher | 언제 발생하는지 |3293| Matcher | 언제 발생하는지 |

3294| :------- | :------------------------------------------------------------------------- |3294| :- | :- |

3295| `manual` | `/compact` |3295| `manual` | `/compact` |

3296| `auto` | 대화가 [자동 압축 윈도우](/docs/ko/model-config#set-the-auto-compact-window)에 도달할 때 자동 압축 |3296| `auto` | 대화가 [자동 압축 윈도우](/docs/ko/model-config#set-the-auto-compact-window)에 도달할 때 자동 압축 |

3297 3297 


3327`PreCompact`와 동일한 matcher 값이 적용됩니다:3327`PreCompact`와 동일한 matcher 값이 적용됩니다:

3328 3328 

3329| Matcher | 언제 발생하는지 |3329| Matcher | 언제 발생하는지 |

3330| :------- | :--------------------------------------------------------------------------- |3330| :- | :- |

3331| `manual` | `/compact` 후 |3331| `manual` | `/compact` 후 |

3332| `auto` | 대화가 [자동 압축 윈도우](/docs/ko/model-config#set-the-auto-compact-window)에 도달할 때 자동 압축 후 |3332| `auto` | 대화가 [자동 압축 윈도우](/docs/ko/model-config#set-the-auto-compact-window)에 도달할 때 자동 압축 후 |

3333 3333 


3445[공통 입력 필드](#common-input-fields) 외에도 PreModelSwitch hook은 아래 표의 필드를 받습니다. 마지막 다섯 개는 새 모델로 대화를 다시 전송하는 비용을 설명하므로 hook은 전환이 발생하기 전에 해당 수치를 표시할 수 있습니다.3445[공통 입력 필드](#common-input-fields) 외에도 PreModelSwitch hook은 아래 표의 필드를 받습니다. 마지막 다섯 개는 새 모델로 대화를 다시 전송하는 비용을 설명하므로 hook은 전환이 발생하기 전에 해당 수치를 표시할 수 있습니다.

3446 3446 

3447| 필드 | 유형 | 설명 |3447| 필드 | 유형 | 설명 |

3448| :-------------------------- | :------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3448| :- | :- | :- |

3449| `from_model` | 문자열 | 전환 전의 모델 ID |3449| `from_model` | 문자열 | 전환 전의 모델 ID |

3450| `to_model` | 문자열 | 전환 후의 모델 ID. matcher는 이 모델의 정규 이름과 비교합니다 |3450| `to_model` | 문자열 | 전환 후의 모델 ID. matcher는 이 모델의 정규 이름과 비교합니다 |

3451| `requested_model` | 문자열 또는 `null` | 요청이 이름을 지정한 모델: `opus`와 같은 별칭, 전체 모델 ID, 또는 요청이 기본 모델인 경우 `null` |3451| `requested_model` | 문자열 또는 `null` | 요청이 이름을 지정한 모델: `opus`와 같은 별칭, 전체 모델 ID, 또는 요청이 기본 모델인 경우 `null` |


3485더 세밀한 제어를 위해 [PreToolUse](#pretooluse-decision-control)처럼 `hookSpecificOutput` 객체에서 `permissionDecision` 및 `permissionDecisionReason`을 반환합니다. `PreModelSwitch`는 `"allow"`, `"deny"`, `"ask"`를 수락합니다. `"defer"`, `updatedInput`, `additionalContext`는 수락하지 않습니다. 아래 표는 두 필드를 설명합니다:3485더 세밀한 제어를 위해 [PreToolUse](#pretooluse-decision-control)처럼 `hookSpecificOutput` 객체에서 `permissionDecision` 및 `permissionDecisionReason`을 반환합니다. `PreModelSwitch`는 `"allow"`, `"deny"`, `"ask"`를 수락합니다. `"defer"`, `updatedInput`, `additionalContext`는 수락하지 않습니다. 아래 표는 두 필드를 설명합니다:

3486 3486 

3487| 필드 | 설명 |3487| 필드 | 설명 |

3488| :------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |3488| :- | :- |

3489| `permissionDecision` | `"allow"`는 진행하고 [prompt cache가 따뜻할 때 Claude Code가 표시하는 확인](/docs/ko/prompt-caching#switching-models)을 건너뜁니다. `"deny"`는 전환을 취소합니다. `"ask"`는 사용자에게 확인을 요청합니다 |3489| `permissionDecision` | `"allow"`는 진행하고 [prompt cache가 따뜻할 때 Claude Code가 표시하는 확인](/docs/ko/prompt-caching#switching-models)을 건너뜁니다. `"deny"`는 전환을 취소합니다. `"ask"`는 사용자에게 확인을 요청합니다 |

3490| `permissionDecisionReason` | `"deny"`의 경우 사용자에게 전환이 차단된 이유로 표시되거나 `set_model` 요청에 대한 오류로 반환됩니다. `"ask"`의 경우 확인 프롬프트에 표시됩니다. `"allow"`의 경우 무시됩니다 |3490| `permissionDecisionReason` | `"deny"`의 경우 사용자에게 전환이 차단된 이유로 표시되거나 `set_model` 요청에 대한 오류로 반환됩니다. `"ask"`의 경우 확인 프롬프트에 표시됩니다. `"allow"`의 경우 무시됩니다 |

3491 3491 


3565Claude Code는 hook의 [일반 텍스트 stdout](#exit-code-0)을 종료 0에서 가져오거나 JSON 출력에서 `additionalContext`를 가져오고 전환 후 다음 요청과 함께 Claude에 전달합니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 다음을 반환할 수 있습니다:3565Claude Code는 hook의 [일반 텍스트 stdout](#exit-code-0)을 종료 0에서 가져오거나 JSON 출력에서 `additionalContext`를 가져오고 전환 후 다음 요청과 함께 Claude에 전달합니다. 모든 hook에 사용 가능한 [JSON 출력 필드](#json-output) 외에도 다음을 반환할 수 있습니다:

3566 3566 

3567| 필드 | 설명 |3567| 필드 | 설명 |

3568| :------------------ | :------------------------------------------------------------------------------------- |3568| :- | :- |

3569| `additionalContext` | 다음 요청과 함께 Claude의 컨텍스트에 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |3569| `additionalContext` | 다음 요청과 함께 Claude의 컨텍스트에 추가되는 문자열. [Claude를 위한 컨텍스트 추가](#add-context-for-claude)를 참조하세요 |

3570 3570 

3571다음 프롬프트를 보낸 후 5초 이내에 hook이 완료되지 않으면 Claude Code는 해당 출력 없이 그 요청을 보내고 대신 그다음 요청에 첨부합니다. 다음 요청 전에 모델이 여러 번 변경되면 Claude Code는 마지막 전환의 대상 모델에 대한 출력만 전달합니다.3571다음 프롬프트를 보낸 후 5초 이내에 hook이 완료되지 않으면 Claude Code는 해당 출력 없이 그 요청을 보내고 대신 그다음 요청에 첨부합니다. 다음 요청 전에 모델이 여러 번 변경되면 Claude Code는 마지막 전환의 대상 모델에 대한 출력만 전달합니다.


3579hook 입력의 `reason` 필드는 세션이 종료된 이유를 나타냅니다:3579hook 입력의 `reason` 필드는 세션이 종료된 이유를 나타냅니다:

3580 3580 

3581| 이유 | 설명 |3581| 이유 | 설명 |

3582| :---------------------------- | :------------------------------------------------------------------- |3582| :- | :- |

3583| `clear` | `/clear` 명령으로 세션 지워짐 |3583| `clear` | `/clear` 명령으로 세션 지워짐 |

3584| `resume` | 대화형 `/resume`을 통해 세션 전환됨 |3584| `resume` | 대화형 `/resume`을 통해 세션 전환됨 |

3585| `logout` | 사용자 로그아웃 |3585| `logout` | 사용자 로그아웃 |


3685```3685```

3686 3686 

3687| 필드 | 값 | 설명 |3687| 필드 | 값 | 설명 |

3688| :-------- | :---------------------------- | :---------------------------------------- |3688| :- | :- | :- |

3689| `action` | `accept`, `decline`, `cancel` | 요청을 수락, 거부 또는 취소할지 여부 |3689| `action` | `accept`, `decline`, `cancel` | 요청을 수락, 거부 또는 취소할지 여부 |

3690| `content` | 객체 | 제출할 form 필드 값. `action`이 `accept`일 때만 사용됨 |3690| `content` | 객체 | 제출할 form 필드 값. `action`이 `accept`일 때만 사용됨 |

3691 3691 


3739```3739```

3740 3740 

3741| 필드 | 값 | 설명 |3741| 필드 | 값 | 설명 |

3742| :-------- | :---------------------------- | :---------------------------------------------- |3742| :- | :- | :- |

3743| `action` | `accept`, `decline`, `cancel` | 사용자의 작업을 재정의합니다 |3743| `action` | `accept`, `decline`, `cancel` | 사용자의 작업을 재정의합니다 |

3744| `content` | 객체 | form 필드 값을 재정의합니다. `action`이 `accept`일 때만 의미 있음 |3744| `content` | 객체 | form 필드 값을 재정의합니다. `action`이 `accept`일 때만 의미 있음 |

3745 3745 


3828```3828```

3829 3829 

3830| 필드 | 필수 | 설명 |3830| 필드 | 필수 | 설명 |

3831| :---------------- | :-- | :----------------------------------------------------------------------------------------------------------------------------- |3831| :- | :- | :- |

3832| `type` | 예 | `"prompt"`여야 합니다 |3832| `type` | 예 | `"prompt"`여야 합니다 |

3833| `prompt` | 예 | LLM으로 전송할 프롬프트 텍스트. hook 입력 JSON에 대한 자리 표시자로 `$ARGUMENTS` 사용. `$ARGUMENTS`가 없으면 입력 JSON이 프롬프트에 추가됩니다 |3833| `prompt` | 예 | LLM으로 전송할 프롬프트 텍스트. hook 입력 JSON에 대한 자리 표시자로 `$ARGUMENTS` 사용. `$ARGUMENTS`가 없으면 입력 JSON이 프롬프트에 추가됩니다 |

3834| `model` | 아니오 | 평가에 사용할 모델. 기본값은 빠른 모델입니다 |3834| `model` | 아니오 | 평가에 사용할 모델. 기본값은 빠른 모델입니다 |


3850```3850```

3851 3851 

3852| 필드 | 설명 |3852| 필드 | 설명 |

3853| :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |3853| :- | :- |

3854| `ok` | `true`는 허용합니다. `false`의 경우 아래의 이벤트별 동작을 참조하세요 |3854| `ok` | `true`는 허용합니다. `false`의 경우 아래의 이벤트별 동작을 참조하세요 |

3855| `reason` | `ok`가 `false`일 때 필수입니다 |3855| `reason` | `ok`가 `false`일 때 필수입니다 |

3856| `impossible` | 선택 사항입니다. 모델이 조건을 절대 만족할 수 없다고 판단할 때 `ok: false`와 함께 반환합니다. `Stop` 및 `SubagentStop`에서 Claude Code는 이유를 다시 피드백하는 대신 턴을 종료하도록 허용합니다. 에이전트 hook 및 기타 이벤트는 이를 무시합니다 |3856| `impossible` | 선택 사항입니다. 모델이 조건을 절대 만족할 수 없다고 판단할 때 `ok: false`와 함께 반환합니다. `Stop` 및 `SubagentStop`에서 Claude Code는 이유를 다시 피드백하는 대신 턴을 종료하도록 허용합니다. 에이전트 hook 및 기타 이벤트는 이를 무시합니다 |

hooks-guide.md +5 −5

Details

188빈 `matcher`는 모든 알림 유형에서 발생합니다. 특정 이벤트에서만 발생하도록 하려면 다음 값 중 하나로 설정합니다:188빈 `matcher`는 모든 알림 유형에서 발생합니다. 특정 이벤트에서만 발생하도록 하려면 다음 값 중 하나로 설정합니다:

189 189 

190| Matcher | 발생 시점 |190| Matcher | 발생 시점 |

191| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |191| :- | :- |

192| `permission_prompt` | Claude가 도구 사용을 승인하거나 샌드박스된 명령의 [네트워크 요청](/docs/ko/sandboxing#network-isolation)을 승인하도록 요청할 때, 그리고 프롬프트가 약 6초 동안 대기했을 때 |192| `permission_prompt` | Claude가 도구 사용을 승인하거나 샌드박스된 명령의 [네트워크 요청](/docs/ko/sandboxing#network-isolation)을 승인하도록 요청할 때, 그리고 프롬프트가 약 6초 동안 대기했을 때 |

193| `idle_prompt` | Claude가 약 60초 전에 응답을 완료했고 입력하지 않았을 때 |193| `idle_prompt` | Claude가 약 60초 전에 응답을 완료했고 입력하지 않았을 때 |

194| `auth_success` | 인증이 완료될 때 |194| `auth_success` | 인증이 완료될 때 |


500Claude Code는 라이프사이클의 특정 지점에서 hook 이벤트를 발생시킵니다. 이벤트가 발생하면 Claude Code는 일치하는 모든 hooks를 병렬로 실행합니다. [Hook 핸들러 필드](/docs/ko/hooks#hook-handler-fields)를 참조하여 중복 핸들러가 처리되는 방식을 확인하세요. 아래 표는 각 이벤트와 발생 시기를 보여줍니다:500Claude Code는 라이프사이클의 특정 지점에서 hook 이벤트를 발생시킵니다. 이벤트가 발생하면 Claude Code는 일치하는 모든 hooks를 병렬로 실행합니다. [Hook 핸들러 필드](/docs/ko/hooks#hook-handler-fields)를 참조하여 중복 핸들러가 처리되는 방식을 확인하세요. 아래 표는 각 이벤트와 발생 시기를 보여줍니다:

501 501 

502| 이벤트 | 발생 시점 |502| 이벤트 | 발생 시점 |

503| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |503| :- | :- |

504| `SessionStart` | 세션이 시작되거나 재개될 때 |504| `SessionStart` | 세션이 시작되거나 재개될 때 |

505| `Setup` | `--init-only`로 Claude Code를 시작하거나, `-p` 모드에서 `--init` 또는 `--maintenance`로 시작할 때. CI 또는 스크립트에서 일회성 준비를 위함 |505| `Setup` | `--init-only`로 Claude Code를 시작하거나, `-p` 모드에서 `--init` 또는 `--maintenance`로 시작할 때. CI 또는 스크립트에서 일회성 준비를 위함 |

506| `UserPromptSubmit` | 프롬프트를 제출할 때, Claude가 처리하기 전 |506| `UserPromptSubmit` | 프롬프트를 제출할 때, Claude가 처리하기 전 |


719각 이벤트 유형은 특정 필드에서 일치합니다:719각 이벤트 유형은 특정 필드에서 일치합니다:

720 720 

721| 이벤트 | Matcher가 필터링하는 것 | 예제 matcher 값 |721| 이벤트 | Matcher가 필터링하는 것 | 예제 matcher 값 |

722| :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |722| :- | :- | :- |

723| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | 도구 이름 | `Bash`, `Edit\|Write`, `mcp__.*` |723| `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` | 도구 이름 | `Bash`, `Edit\|Write`, `mcp__.*` |

724| `SessionStart` | 세션이 시작된 방식 | `startup`, `resume`, `clear`, `compact`, `fork` |724| `SessionStart` | 세션이 시작된 방식 | `startup`, `resume`, `clear`, `compact`, `fork` |

725| `Setup` | 어떤 CLI 플래그가 설정을 트리거했는지 | `init`, `maintenance` |725| `Setup` | 어떤 CLI 플래그가 설정을 트리거했는지 | `init`, `maintenance` |


841Hook 명령이 실행되는지 여부는 `if` 패턴의 형태와 Claude가 호출하는 Bash 명령에 따라 달라집니다:841Hook 명령이 실행되는지 여부는 `if` 패턴의 형태와 Claude가 호출하는 Bash 명령에 따라 달라집니다:

842 842 

843| `if` 패턴 | Bash 명령 | Hook이 실행되나요? | 이유 |843| `if` 패턴 | Bash 명령 | Hook이 실행되나요? | 이유 |

844| :----------------- | :--------------------- | :----------- | :---------------------------------------------------------- |844| :- | :- | :- | :- |

845| `Bash(git *)` | `git push` | 예 | 명령 이름이 일치합니다 |845| `Bash(git *)` | `git push` | 예 | 명령 이름이 일치합니다 |

846| `Bash(git *)` | `npm test && git push` | 예 | 각 서브명령이 확인됩니다; `git push`가 일치합니다 |846| `Bash(git *)` | `npm test && git push` | 예 | 각 서브명령이 확인됩니다; `git push`가 일치합니다 |

847| `Bash(git *)` | `echo $(git log)` | 예 | `$()` 및 백틱 내의 명령이 확인됩니다; `git log`가 일치합니다 |847| `Bash(git *)` | `echo $(git log)` | 예 | `$()` 및 백틱 내의 명령이 확인됩니다; `git log`가 일치합니다 |


861Hook을 추가하는 위치는 범위를 결정합니다:861Hook을 추가하는 위치는 범위를 결정합니다:

862 862 

863| 위치 | 범위 | 공유 가능 |863| 위치 | 범위 | 공유 가능 |

864| :--------------------------------------- | :------------------------------------------------------------------------------------------- | :------------------------------------- |864| :- | :- | :- |

865| `~/.claude/settings.json` | 모든 프로젝트 | 아니오, 컴퓨터에 로컬 |865| `~/.claude/settings.json` | 모든 프로젝트 | 아니오, 컴퓨터에 로컬 |

866| `.claude/settings.json` | 단일 프로젝트 | 예, 리포지토리에 커밋 가능 |866| `.claude/settings.json` | 단일 프로젝트 | 예, 리포지토리에 커밋 가능 |

867| `.claude/settings.local.json` | 단일 프로젝트 | 아니오, Claude Code가 설정을 저장할 때 gitignored |867| `.claude/settings.local.json` | 단일 프로젝트 | 아니오, Claude Code가 설정을 저장할 때 gitignored |

Details

45내장 도구는 일반적으로 다섯 가지 범주로 나뉘며, 각각은 다른 종류의 에이전시를 나타냅니다.45내장 도구는 일반적으로 다섯 가지 범주로 나뉘며, 각각은 다른 종류의 에이전시를 나타냅니다.

46 46 

47| 범주 | Claude가 할 수 있는 것 |47| 범주 | Claude가 할 수 있는 것 |

48| ------------ | ------------------------------------------------------------------------------------- |48| - | - |

49| **파일 작업** | 파일 읽기, 코드 편집, 새 파일 생성, 이름 변경 및 재구성 |49| **파일 작업** | 파일 읽기, 코드 편집, 새 파일 생성, 이름 변경 및 재구성 |

50| **검색** | 패턴으로 파일 찾기, 정규식으로 콘텐츠 검색, 코드베이스 탐색 |50| **검색** | 패턴으로 파일 찾기, 정규식으로 콘텐츠 검색, 코드베이스 탐색 |

51| **실행** | 셸 명령 실행, 서버 시작, 테스트 실행, git 사용 |51| **실행** | 셸 명령 실행, 서버 시작, 테스트 실행, git 사용 |


95Claude Code는 세 가지 환경에서 실행되며, 각각은 코드가 실행되는 위치에 대해 다른 장단점이 있습니다.95Claude Code는 세 가지 환경에서 실행되며, 각각은 코드가 실행되는 위치에 대해 다른 장단점이 있습니다.

96 96 

97| 환경 | 코드 실행 위치 | 사용 사례 |97| 환경 | 코드 실행 위치 | 사용 사례 |

98| --------- | --------------------------------------------------------------------- | --------------------------- |98| - | - | - |

99| **로컬** | 사용자 머신 | 기본값. 파일, 도구, 환경에 대한 전체 접근 |99| **로컬** | 사용자 머신 | 기본값. 파일, 도구, 환경에 대한 전체 접근 |

100| **클라우드** | Anthropic 관리 VM 또는 [조직이 운영하는 자체 호스팅 환경](/docs/ko/self-hosted-environments) | 작업 오프로드, 로컬에 없는 리포지토리에서 작업 |100| **클라우드** | Anthropic 관리 VM 또는 [조직이 운영하는 자체 호스팅 환경](/docs/ko/self-hosted-environments) | 작업 오프로드, 로컬에 없는 리포지토리에서 작업 |

101| **원격 제어** | 사용자 머신, 브라우저에서 제어 | 웹 UI를 사용하면서 실행 및 파일을 로컬로 유지 |101| **원격 제어** | 사용자 머신, 브라우저에서 제어 | 웹 UI를 사용하면서 실행 및 파일을 로컬로 유지 |

Details

21</h3>21</h3>

22 22 

23| 단축키 | 설명 | 컨텍스트 |23| 단축키 | 설명 | 컨텍스트 |

24| :-------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |24| :- | :- | :- |

25| `Ctrl+C` | 중단 또는 입력 지우기 | 실행 중인 작업을 중단합니다. 실행 중인 작업이 없으면 첫 번째 누름은 프롬프트 입력을 지우고 두 번째 누름은 Claude Code를 종료합니다 |25| `Ctrl+C` | 중단 또는 입력 지우기 | 실행 중인 작업을 중단합니다. 실행 중인 작업이 없으면 첫 번째 누름은 프롬프트 입력을 지우고 두 번째 누름은 Claude Code를 종료합니다 |

26| `Ctrl+X Ctrl+K` | 이 세션의 모든 실행 중인 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)를 중지하고 나머지 세션에 대해 [아티팩트 자동 회신](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)을 끕니다. 3초 이내에 두 번 누르면 확인됩니다 | 서브에이전트 제어 |26| `Ctrl+X Ctrl+K` | 이 세션의 모든 실행 중인 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)를 중지하고 나머지 세션에 대해 [아티팩트 자동 회신](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)을 끕니다. 3초 이내에 두 번 누르면 확인됩니다 | 서브에이전트 제어 |

27| `Ctrl+D` | Claude Code 세션 종료 | 첫 번째 누름은 확인 힌트를 표시하고 800ms 이내에 두 번째 누름은 종료합니다. 프롬프트에 텍스트가 있을 때 `Ctrl+D`는 커서 뒤의 문자를 삭제합니다 |27| `Ctrl+D` | Claude Code 세션 종료 | 첫 번째 누름은 확인 힌트를 표시하고 800ms 이내에 두 번째 누름은 종료합니다. 프롬프트에 텍스트가 있을 때 `Ctrl+D`는 커서 뒤의 문자를 삭제합니다 |


50</h3>50</h3>

51 51 

52| 단축키 | 설명 | 컨텍스트 |52| 단축키 | 설명 | 컨텍스트 |

53| :------------------------- | :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |53| :- | :- | :- |

54| `Ctrl+A` | 현재 줄의 시작으로 커서 이동 | 여러 줄 입력에서 현재 논리 줄의 시작으로 이동합니다 |54| `Ctrl+A` | 현재 줄의 시작으로 커서 이동 | 여러 줄 입력에서 현재 논리 줄의 시작으로 이동합니다 |

55| `Ctrl+E` | 현재 줄의 끝으로 커서 이동 | 여러 줄 입력에서 현재 논리 줄의 끝으로 이동합니다 |55| `Ctrl+E` | 현재 줄의 끝으로 커서 이동 | 여러 줄 입력에서 현재 논리 줄의 끝으로 이동합니다 |

56| `Ctrl+K` | 줄 끝까지 삭제 | 삭제된 텍스트를 붙여넣기 위해 저장합니다 |56| `Ctrl+K` | 줄 끝까지 삭제 | 삭제된 텍스트를 붙여넣기 위해 저장합니다 |


82</h3>82</h3>

83 83 

84| 단축키 | 설명 | 컨텍스트 |84| 단축키 | 설명 | 컨텍스트 |

85| :------- | :-------------- | :------------------------------------------------------------------ |85| :- | :- | :- |

86| `Ctrl+T` | 코드 블록의 구문 강조 전환 | `/theme` 선택기 메뉴 내에서만 작동합니다. Claude의 응답에서 코드가 구문 색상을 사용하는지 여부를 제어합니다 |86| `Ctrl+T` | 코드 블록의 구문 강조 전환 | `/theme` 선택기 메뉴 내에서만 작동합니다. Claude의 응답에서 코드가 구문 색상을 사용하는지 여부를 제어합니다 |

87 87 

88<h3 id="multiline-input">88<h3 id="multiline-input">


90</h3>90</h3>

91 91 

92| 방법 | 단축키 | 컨텍스트 |92| 방법 | 단축키 | 컨텍스트 |

93| :---------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- |93| :- | :- | :- |

94| 빠른 탈출 | `\` + `Enter` | 모든 터미널에서 작동합니다 |94| 빠른 탈출 | `\` + `Enter` | 모든 터미널에서 작동합니다 |

95| Option 키 | `Option+Enter` | macOS에서 [Option을 Meta로](/docs/ko/terminal-config#enable-option-key-shortcuts-on-macos) 활성화한 후 |95| Option 키 | `Option+Enter` | macOS에서 [Option을 Meta로](/docs/ko/terminal-config#enable-option-key-shortcuts-on-macos) 활성화한 후 |

96| Shift+Enter | `Shift+Enter` | iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal에서 기본적으로 지원됩니다. 다른 터미널의 경우 [여러 줄 프롬프트 입력](/docs/ko/terminal-config#enter-multiline-prompts)을 참조하세요 |96| Shift+Enter | `Shift+Enter` | iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal에서 기본적으로 지원됩니다. 다른 터미널의 경우 [여러 줄 프롬프트 입력](/docs/ko/terminal-config#enter-multiline-prompts)을 참조하세요 |


102</h3>102</h3>

103 103 

104| 단축키 | 설명 | 참고 |104| 단축키 | 설명 | 참고 |

105| :------- | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |105| :- | :- | :- |

106| `/` 시작 | 명령 또는 스킬 | [명령](#commands) 및 [스킬](/docs/ko/skills)을 참조하세요 |106| `/` 시작 | 명령 또는 스킬 | [명령](#commands) 및 [스킬](/docs/ko/skills)을 참조하세요 |

107| `!` 시작 | 셸 모드 | 명령을 직접 실행하고 출력을 세션에 추가하며 Claude가 이에 응답하도록 합니다 |107| `!` 시작 | 셸 모드 | 명령을 직접 실행하고 출력을 세션에 추가하며 Claude가 이에 응답하도록 합니다 |

108| `@` | 파일 경로 언급 | 파일 경로 자동 완성을 트리거합니다. [교차 세션 메시징](/docs/ko/cross-session-messaging#message-another-session)이 있는 세션에서 `@` 뒤에 최소 한 글자를 입력하면 Claude Code는 이 머신의 다른 라이브 세션도 제안하므로 Claude에게 선택한 세션에 메시지를 보내도록 할 수 있습니다. Claude Code v2.1.232 이상 필요 |108| `@` | 파일 경로 언급 | 파일 경로 자동 완성을 트리거합니다. [교차 세션 메시징](/docs/ko/cross-session-messaging#message-another-session)이 있는 세션에서 `@` 뒤에 최소 한 글자를 입력하면 Claude Code는 이 머신의 다른 라이브 세션도 제안하므로 Claude에게 선택한 세션에 메시지를 보내도록 할 수 있습니다. Claude Code v2.1.232 이상 필요 |


116트랜스크립트 뷰어가 열려 있을 때 (`Ctrl+O`로 전환), 이러한 단축키를 사용할 수 있습니다. 어떤 렌더러가 활성화되어 있는지 확인하려면 인수 없이 `/tui`를 실행하세요. `Ctrl+E`는 [`transcript:toggleShowAll`](/docs/ko/keybindings)을 통해 다시 바인딩할 수 있습니다.116트랜스크립트 뷰어가 열려 있을 때 (`Ctrl+O`로 전환), 이러한 단축키를 사용할 수 있습니다. 어떤 렌더러가 활성화되어 있는지 확인하려면 인수 없이 `/tui`를 실행하세요. `Ctrl+E`는 [`transcript:toggleShowAll`](/docs/ko/keybindings)을 통해 다시 바인딩할 수 있습니다.

117 117 

118| 단축키 | 설명 |118| 단축키 | 설명 |

119| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |119| :- | :- |

120| `?` | 키보드 단축키 도움말 패널을 전환합니다. [전체 화면 렌더링](/docs/ko/fullscreen) 필요 |120| `?` | 키보드 단축키 도움말 패널을 전환합니다. [전체 화면 렌더링](/docs/ko/fullscreen) 필요 |

121| `{` / `}` | vim 단락 모션처럼 이전 또는 다음 사용자 프롬프트로 이동합니다. [전체 화면 렌더링](/docs/ko/fullscreen) 필요 |121| `{` / `}` | vim 단락 모션처럼 이전 또는 다음 사용자 프롬프트로 이동합니다. [전체 화면 렌더링](/docs/ko/fullscreen) 필요 |

122| `Ctrl+E` | 모든 콘텐츠 표시를 전환합니다. 클래식 렌더러에서만 사용 가능하며 [전체 화면 렌더링](/docs/ko/fullscreen)에서는 사용 불가 |122| `Ctrl+E` | 모든 콘텐츠 표시를 전환합니다. 클래식 렌더러에서만 사용 가능하며 [전체 화면 렌더링](/docs/ko/fullscreen)에서는 사용 불가 |


129</h3>129</h3>

130 130 

131| 단축키 | 설명 | 참고 |131| 단축키 | 설명 | 참고 |

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

133| `Space` 누르기 또는 탭 | 음성 받아쓰기 | [음성 받아쓰기](/docs/ko/voice-dictation)를 활성화해야 합니다. 누르고 있으면 녹음하거나 탭 전환을 위해 `/voice tap`을 실행하세요. [다시 바인딩 가능](/docs/ko/voice-dictation#rebind-the-dictation-key) |133| `Space` 누르기 또는 탭 | 음성 받아쓰기 | [음성 받아쓰기](/docs/ko/voice-dictation)를 활성화해야 합니다. 누르고 있으면 녹음하거나 탭 전환을 위해 `/voice tap`을 실행하세요. [다시 바인딩 가능](/docs/ko/voice-dictation#rebind-the-dictation-key) |

134 134 

135<h2 id="commands">135<h2 id="commands">


168</h3>168</h3>

169 169 

170| 명령어 | 작업 | 시작 모드 |170| 명령어 | 작업 | 시작 모드 |

171| :---------------- | :------------------------------------------------------------------------ | :------------- |171| :- | :- | :- |

172| `Esc` 또는 `Ctrl+[` | NORMAL 모드로 진입합니다. Kitty 키보드 프로토콜을 사용하는 터미널에서 `Ctrl+[`는 v2.1.242 이상이 필요합니다 | INSERT, VISUAL |172| `Esc` 또는 `Ctrl+[` | NORMAL 모드로 진입합니다. Kitty 키보드 프로토콜을 사용하는 터미널에서 `Ctrl+[`는 v2.1.242 이상이 필요합니다 | INSERT, VISUAL |

173| `i` | 커서 앞에 삽입 | NORMAL |173| `i` | 커서 앞에 삽입 | NORMAL |

174| `I` | 줄의 시작에 삽입 | NORMAL |174| `I` | 줄의 시작에 삽입 | NORMAL |


205</h3>205</h3>

206 206 

207| 명령어 | 작업 |207| 명령어 | 작업 |

208| :-------------- | :-------------------------------------------------------------------------------------------------- |208| :- | :- |

209| `h`/`j`/`k`/`l` | 왼쪽/아래/위/오른쪽으로 이동 |209| `h`/`j`/`k`/`l` | 왼쪽/아래/위/오른쪽으로 이동 |

210| `Space` | 오른쪽으로 이동 |210| `Space` | 오른쪽으로 이동 |

211| `w` | 다음 단어 |211| `w` | 다음 단어 |


233</h3>233</h3>

234 234 

235| 명령어 | 작업 |235| 명령어 | 작업 |

236| :-------------------- | :---------------------------------------------------------------------- |236| :- | :- |

237| `x` | 문자 삭제 |237| `x` | 문자 삭제 |

238| `dd` | 줄 삭제 |238| `dd` | 줄 삭제 |

239| `D` | 줄의 끝까지 삭제 |239| `D` | 줄의 끝까지 삭제 |


261텍스트 객체는 `d`, `c`, `y`와 같은 연산자와 함께 작동합니다:261텍스트 객체는 `d`, `c`, `y`와 같은 연산자와 함께 작동합니다:

262 262 

263| 명령어 | 작업 |263| 명령어 | 작업 |

264| :-------- | :------------------- |264| :- | :- |

265| `iw`/`aw` | 내부/주변 단어 |265| `iw`/`aw` | 내부/주변 단어 |

266| `iW`/`aW` | 내부/주변 WORD (공백으로 구분) |266| `iW`/`aW` | 내부/주변 WORD (공백으로 구분) |

267| `i"`/`a"` | 내부/주변 큰따옴표 |267| `i"`/`a"` | 내부/주변 큰따옴표 |


277문자 단위 선택을 위해 `v`를 누르거나 줄 단위 선택을 위해 `V`를 누릅니다. 모션은 선택을 확장하고, 연산자는 직접 작동합니다.277문자 단위 선택을 위해 `v`를 누르거나 줄 단위 선택을 위해 `V`를 누릅니다. 모션은 선택을 확장하고, 연산자는 직접 작동합니다.

278 278 

279| 명령어 | 작업 |279| 명령어 | 작업 |

280| :--------------- | :----------------------- |280| :- | :- |

281| `d`/`x` | 선택 삭제 |281| `d`/`x` | 선택 삭제 |

282| `y` | 선택 야앙크 |282| `y` | 선택 야앙크 |

283| `c`/`s` | 선택 변경 |283| `c`/`s` | 선택 변경 |


686답변이 나타나면 오버레이는 다음 키를 허용합니다.686답변이 나타나면 오버레이는 다음 키를 허용합니다.

687 687 

688| 키 | 작업 |688| 키 | 작업 |

689| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |689| :- | :- |

690| `Space`, `Enter`, `Escape` | 답변을 해제하고 프롬프트로 돌아가기 |690| `Space`, `Enter`, `Escape` | 답변을 해제하고 프롬프트로 돌아가기 |

691| `Up` / `Down` | 답변 스크롤 |691| `Up` / `Down` | 답변 스크롤 |

692| `Shift+Left` / `Shift+Right` | 이 답변과 이전의 `/btw` 답변 사이를 이동합니다. `Shift+Left`는 더 오래된 답변으로 이동하고 `Shift+Right`는 현재 답변으로 돌아갑니다. `[` 및 `]`도 동일하게 작동하며, 화살표 키로 `Shift`를 보고하지 않는 터미널용입니다. `Tab` / `Shift+Tab`은 동일한 답변들을 순환합니다. Claude Code v2.1.257 이상이 필요합니다. v2.1.187과 v2.1.256 사이에는 키가 일반 `Left` / `Right`였습니다. |692| `Shift+Left` / `Shift+Right` | 이 답변과 이전의 `/btw` 답변 사이를 이동합니다. `Shift+Left`는 더 오래된 답변으로 이동하고 `Shift+Right`는 현재 답변으로 돌아갑니다. `[` 및 `]`도 동일하게 작동하며, 화살표 키로 `Shift`를 보고하지 않는 터미널용입니다. `Tab` / `Shift+Tab`은 동일한 답변들을 순환합니다. Claude Code v2.1.257 이상이 필요합니다. v2.1.187과 v2.1.256 사이에는 키가 일반 `Left` / `Right`였습니다. |


848Claude Code는 참조가 지칭하는 저장소가 아니라, git 원격에서 식별한 저장소의 호스트에 맞춰 링크를 구성합니다:848Claude Code는 참조가 지칭하는 저장소가 아니라, git 원격에서 식별한 저장소의 호스트에 맞춰 링크를 구성합니다:

849 849 

850| 저장소의 호스트 | `owner/repo#123`이 링크되는 위치 |850| 저장소의 호스트 | `owner/repo#123`이 링크되는 위치 |

851| :------------------------------------------------------- | :------------------------------------------- |851| :- | :- |

852| github.com, GitHub Enterprise 호스트, 또는 아래에 나열되지 않은 모든 호스트 | `https://<host>/owner/repo/issues/123` |852| github.com, GitHub Enterprise 호스트, 또는 아래에 나열되지 않은 모든 호스트 | `https://<host>/owner/repo/issues/123` |

853| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |853| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |

854| bitbucket.org, codeberg.org, 또는 gitea.com | 링크 없음; 참조는 일반 텍스트로 유지됨 |854| bitbucket.org, codeberg.org, 또는 gitea.com | 링크 없음; 참조는 일반 텍스트로 유지됨 |

jetbrains.md +1 −1

Details

256**모델에 노출된 도구.** 서버는 여러 도구를 호스팅하지만 모델에는 하나만 표시됩니다. 나머지는 CLI가 diff 열기 및 선택 항목 읽기와 같은 자체 UI에 사용하는 내부 RPC이며 도구 목록이 Claude에 도달하기 전에 필터링됩니다.256**모델에 노출된 도구.** 서버는 여러 도구를 호스팅하지만 모델에는 하나만 표시됩니다. 나머지는 CLI가 diff 열기 및 선택 항목 읽기와 같은 자체 UI에 사용하는 내부 RPC이며 도구 목록이 Claude에 도달하기 전에 필터링됩니다.

257 257 

258| 도구 이름 (훅에서 보이는 대로) | 수행 작업 | 읽기 전용 |258| 도구 이름 (훅에서 보이는 대로) | 수행 작업 | 읽기 전용 |

259| -------------------------- | -------------------------------------------------------------------------------------------------------------- | ----- |259| - | - | - |

260| `mcp__ide__getDiagnostics` | IDE의 검사 진단, 편집기에 표시되는 오류 및 경고를 반환합니다. 각 호출은 하나의 파일을 포함합니다: Claude가 지정한 파일 또는 Claude가 지정하지 않은 경우 활성 편집기의 파일입니다. | 예 |260| `mcp__ide__getDiagnostics` | IDE의 검사 진단, 편집기에 표시되는 오류 및 경고를 반환합니다. 각 호출은 하나의 파일을 포함합니다: Claude가 지정한 파일 또는 Claude가 지정하지 않은 경우 활성 편집기의 파일입니다. | 예 |

261 261 

262JetBrains 플러그인은 모델에 코드 실행 도구를 노출하지 않습니다.262JetBrains 플러그인은 모델에 코드 실행 도구를 노출하지 않습니다.

keybindings.md +30 −30

Details

17<Note>keybindings 파일의 변경 사항은 자동으로 감지되고 Claude Code를 다시 시작하지 않고도 적용됩니다.</Note>17<Note>keybindings 파일의 변경 사항은 자동으로 감지되고 Claude Code를 다시 시작하지 않고도 적용됩니다.</Note>

18 18 

19| 필드 | 설명 |19| 필드 | 설명 |

20| :--------- | :-------------------------------- |20| :- | :- |

21| `$schema` | 편집기 자동 완성을 위한 선택적 JSON Schema URL |21| `$schema` | 편집기 자동 완성을 위한 선택적 JSON Schema URL |

22| `$docs` | 선택적 설명서 URL |22| `$docs` | 선택적 설명서 URL |

23| `bindings` | 컨텍스트별 바인딩 블록 배열 |23| `bindings` | 컨텍스트별 바인딩 블록 배열 |


47각 바인딩 블록은 바인딩이 적용되는 **컨텍스트**를 지정합니다:47각 바인딩 블록은 바인딩이 적용되는 **컨텍스트**를 지정합니다:

48 48 

49| 컨텍스트 | 설명 |49| 컨텍스트 | 설명 |

50| :---------------- | :------------------------------------------------ |50| :- | :- |

51| `Global` | 앱의 모든 곳에 적용됨 |51| `Global` | 앱의 모든 곳에 적용됨 |

52| `Chat` | 주 채팅 입력 영역 |52| `Chat` | 주 채팅 입력 영역 |

53| `Autocomplete` | 자동 완성 메뉴가 열려 있음 |53| `Autocomplete` | 자동 완성 메뉴가 열려 있음 |


86`Global` 컨텍스트에서 사용 가능한 작업:86`Global` 컨텍스트에서 사용 가능한 작업:

87 87 

88| 작업 | 기본값 | 설명 |88| 작업 | 기본값 | 설명 |

89| :--------------------- | :-------- | :------------------------------------------------------------------------- |89| :- | :- | :- |

90| `app:interrupt` | Ctrl+C | 현재 작업 취소 |90| `app:interrupt` | Ctrl+C | 현재 작업 취소 |

91| `app:exit` | Ctrl+D | Claude Code 종료. 800ms 이내에 두 번 누르면 확인됨 |91| `app:exit` | Ctrl+D | Claude Code 종료. 800ms 이내에 두 번 누르면 확인됨 |

92| `app:redraw` | (바인딩 해제됨) | 터미널 다시 그리기 강제 |92| `app:redraw` | (바인딩 해제됨) | 터미널 다시 그리기 강제 |


100명령 기록을 탐색하기 위한 작업:100명령 기록을 탐색하기 위한 작업:

101 101 

102| 작업 | 기본값 | 설명 |102| 작업 | 기본값 | 설명 |

103| :----------------- | :----- | :------- |103| :- | :- | :- |

104| `history:search` | Ctrl+R | 기록 검색 열기 |104| `history:search` | Ctrl+R | 기록 검색 열기 |

105| `history:previous` | Up | 이전 기록 항목 |105| `history:previous` | Up | 이전 기록 항목 |

106| `history:next` | Down | 다음 기록 항목 |106| `history:next` | Down | 다음 기록 항목 |


112`Chat` 컨텍스트에서 사용 가능한 작업:112`Chat` 컨텍스트에서 사용 가능한 작업:

113 113 

114| 작업 | 기본값 | 설명 |114| 작업 | 기본값 | 설명 |

115| :-------------------- | :----------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |115| :- | :- | :- |

116| `chat:cancel` | Escape | 현재 입력 취소 |116| `chat:cancel` | Escape | 현재 입력 취소 |

117| `chat:clearInput` | Ctrl+L | 입력과 대화를 유지하면서 전체 화면을 다시 그리기 강제합니다 |117| `chat:clearInput` | Ctrl+L | 입력과 대화를 유지하면서 전체 화면을 다시 그리기 강제합니다 |

118| `chat:clearScreen` | Cmd+K | `chat:clearInput`과 동일합니다. [대화 지우기](/docs/ko/fullscreen#clear-the-conversation)에서 Cmd+K가 iTerm2 및 Terminal.app에서 어떻게 작동하는지 확인하세요 |118| `chat:clearScreen` | Cmd+K | `chat:clearInput`과 동일합니다. [대화 지우기](/docs/ko/fullscreen#clear-the-conversation)에서 Cmd+K가 iTerm2 및 Terminal.app에서 어떻게 작동하는지 확인하세요 |


139`Autocomplete` 컨텍스트에서 사용 가능한 작업:139`Autocomplete` 컨텍스트에서 사용 가능한 작업:

140 140 

141| 작업 | 기본값 | 설명 |141| 작업 | 기본값 | 설명 |

142| :---------------------- | :----- | :---- |142| :- | :- | :- |

143| `autocomplete:accept` | Tab | 제안 수락 |143| `autocomplete:accept` | Tab | 제안 수락 |

144| `autocomplete:dismiss` | Escape | 메뉴 닫기 |144| `autocomplete:dismiss` | Escape | 메뉴 닫기 |

145| `autocomplete:previous` | Up | 이전 제안 |145| `autocomplete:previous` | Up | 이전 제안 |


152`Confirmation` 컨텍스트에서 사용 가능한 작업:152`Confirmation` 컨텍스트에서 사용 가능한 작업:

153 153 

154| 작업 | 기본값 | 설명 |154| 작업 | 기본값 | 설명 |

155| :---------------------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |155| :- | :- | :- |

156| `confirm:yes` | Enter | 작업 확인 |156| `confirm:yes` | Enter | 작업 확인 |

157| `confirm:no` | Escape | 작업 거부 |157| `confirm:no` | Escape | 작업 거부 |

158| `confirm:previous` | Up | 이전 옵션 |158| `confirm:previous` | Up | 이전 옵션 |


195권한 대화 상자의 `Confirmation` 컨텍스트에서 사용 가능한 작업:195권한 대화 상자의 `Confirmation` 컨텍스트에서 사용 가능한 작업:

196 196 

197| 작업 | 기본값 | 설명 |197| 작업 | 기본값 | 설명 |

198| :----------------------- | :-------- | :------------------------------------------------------------------- |198| :- | :- | :- |

199| `permission:toggleDebug` | (바인딩 해제됨) | 권한 디버그 정보 전환. v2.1.146에서 `app:exit`를 가렸기 때문에 이전 기본값인 Ctrl+D가 제거되었습니다 |199| `permission:toggleDebug` | (바인딩 해제됨) | 권한 디버그 정보 전환. v2.1.146에서 `app:exit`를 가렸기 때문에 이전 기본값인 Ctrl+D가 제거되었습니다 |

200 200 

201<h3 id="transcript-actions">201<h3 id="transcript-actions">


205`Transcript` 컨텍스트에서 사용 가능한 작업:205`Transcript` 컨텍스트에서 사용 가능한 작업:

206 206 

207| 작업 | 기본값 | 설명 |207| 작업 | 기본값 | 설명 |

208| :------------------------- | :---------------- | :----------- |208| :- | :- | :- |

209| `transcript:toggleShowAll` | Ctrl+E | 모든 콘텐츠 표시 전환 |209| `transcript:toggleShowAll` | Ctrl+E | 모든 콘텐츠 표시 전환 |

210| `transcript:exit` | q, Ctrl+C, Escape | 트랜스크립트 보기 종료 |210| `transcript:exit` | q, Ctrl+C, Escape | 트랜스크립트 보기 종료 |

211 211 


218`HistorySearch` 컨텍스트에서 사용 가능한 작업:218`HistorySearch` 컨텍스트에서 사용 가능한 작업:

219 219 

220| 작업 | 기본값 | 설명 |220| 작업 | 기본값 | 설명 |

221| :------------------------- | :---------- | :-------------------- |221| :- | :- | :- |

222| `historySearch:next` | Ctrl+R | 다음 일치 항목 |222| `historySearch:next` | Ctrl+R | 다음 일치 항목 |

223| `historySearch:accept` | Escape, Tab | 선택 수락 |223| `historySearch:accept` | Escape, Tab | 선택 수락 |

224| `historySearch:cancel` | Ctrl+C | 검색 취소 |224| `historySearch:cancel` | Ctrl+C | 검색 취소 |


234`Task` 컨텍스트에서 사용 가능한 작업:234`Task` 컨텍스트에서 사용 가능한 작업:

235 235 

236| 작업 | 기본값 | 설명 |236| 작업 | 기본값 | 설명 |

237| :---------------- | :-------------------- | :-------------------------------------------------------- |237| :- | :- | :- |

238| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | 현재 작업을 백그라운드로 이동합니다. Ctrl+X Ctrl+B 조합은 tmux 접두사 충돌을 방지합니다 |238| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | 현재 작업을 백그라운드로 이동합니다. Ctrl+X Ctrl+B 조합은 tmux 접두사 충돌을 방지합니다 |

239 239 

240<h3 id="theme-actions">240<h3 id="theme-actions">


244`ThemePicker` 컨텍스트에서 사용 가능한 작업:244`ThemePicker` 컨텍스트에서 사용 가능한 작업:

245 245 

246| 작업 | 기본값 | 설명 |246| 작업 | 기본값 | 설명 |

247| :------------------------------- | :----- | :------- |247| :- | :- | :- |

248| `theme:toggleSyntaxHighlighting` | Ctrl+T | 구문 강조 전환 |248| `theme:toggleSyntaxHighlighting` | Ctrl+T | 구문 강조 전환 |

249 249 

250<h3 id="help-actions">250<h3 id="help-actions">


254`Help` 컨텍스트에서 사용 가능한 작업:254`Help` 컨텍스트에서 사용 가능한 작업:

255 255 

256| 작업 | 기본값 | 설명 |256| 작업 | 기본값 | 설명 |

257| :------------- | :----- | :-------- |257| :- | :- | :- |

258| `help:dismiss` | Escape | 도움말 메뉴 닫기 |258| `help:dismiss` | Escape | 도움말 메뉴 닫기 |

259 259 

260<h3 id="tabs-actions">260<h3 id="tabs-actions">


264`Tabs` 컨텍스트에서 사용 가능한 작업:264`Tabs` 컨텍스트에서 사용 가능한 작업:

265 265 

266| 작업 | 기본값 | 설명 |266| 작업 | 기본값 | 설명 |

267| :-------------- | :-------------- | :--- |267| :- | :- | :- |

268| `tabs:next` | Tab, Right | 다음 탭 |268| `tabs:next` | Tab, Right | 다음 탭 |

269| `tabs:previous` | Shift+Tab, Left | 이전 탭 |269| `tabs:previous` | Shift+Tab, Left | 이전 탭 |

270 270 


275`Attachments` 컨텍스트에서 사용 가능한 작업:275`Attachments` 컨텍스트에서 사용 가능한 작업:

276 276 

277| 작업 | 기본값 | 설명 |277| 작업 | 기본값 | 설명 |

278| :--------------------- | :---------------- | :------------- |278| :- | :- | :- |

279| `attachments:next` | Right | 다음 첨부 파일 |279| `attachments:next` | Right | 다음 첨부 파일 |

280| `attachments:previous` | Left | 이전 첨부 파일 |280| `attachments:previous` | Left | 이전 첨부 파일 |

281| `attachments:remove` | Backspace, Delete | 선택한 첨부 파일 제거 |281| `attachments:remove` | Backspace, Delete | 선택한 첨부 파일 제거 |


288`Footer` 컨텍스트에서 사용 가능한 작업:288`Footer` 컨텍스트에서 사용 가능한 작업:

289 289 

290| 작업 | 기본값 | 설명 |290| 작업 | 기본값 | 설명 |

291| :---------------------- | :---------------- | :------------------------------------------------------------------------------------------------------------- |291| :- | :- | :- |

292| `footer:next` | Right | 다음 바닥글 항목 |292| `footer:next` | Right | 다음 바닥글 항목 |

293| `footer:previous` | Left | 이전 바닥글 항목 |293| `footer:previous` | Left | 이전 바닥글 항목 |

294| `footer:up` | Up | 바닥글에서 위로 네비게이션(맨 위에서 선택 해제) |294| `footer:up` | Up | 바닥글에서 위로 네비게이션(맨 위에서 선택 해제) |


308`MessageSelector` 컨텍스트에서 사용 가능한 작업:308`MessageSelector` 컨텍스트에서 사용 가능한 작업:

309 309 

310| 작업 | 기본값 | 설명 |310| 작업 | 기본값 | 설명 |

311| :----------------------- | :---------------------------------------- | :---------- |311| :- | :- | :- |

312| `messageSelector:up` | Up, K, Ctrl+P | 목록에서 위로 이동 |312| `messageSelector:up` | Up, K, Ctrl+P | 목록에서 위로 이동 |

313| `messageSelector:down` | Down, J, Ctrl+N | 목록에서 아래로 이동 |313| `messageSelector:down` | Down, J, Ctrl+N | 목록에서 아래로 이동 |

314| `messageSelector:top` | Ctrl+Up, Shift+Up, Meta+Up, Shift+K | 맨 위로 이동 |314| `messageSelector:top` | Ctrl+Up, Shift+Up, Meta+Up, Shift+K | 맨 위로 이동 |


322`DiffDialog` 컨텍스트에서 사용 가능한 작업:322`DiffDialog` 컨텍스트에서 사용 가능한 작업:

323 323 

324| 작업 | 기본값 | 설명 |324| 작업 | 기본값 | 설명 |

325| :-------------------- | :-------- | :---------------------------------------------------------------------------------------------------- |325| :- | :- | :- |

326| `diff:dismiss` | Escape | Diff 뷰어 닫기; 세부 정보 보기에서는 파일 목록으로 돌아갑니다 |326| `diff:dismiss` | Escape | Diff 뷰어 닫기; 세부 정보 보기에서는 파일 목록으로 돌아갑니다 |

327| `diff:previousSource` | Left | 이전 diff 소스 |327| `diff:previousSource` | Left | 이전 diff 소스 |

328| `diff:nextSource` | Right | 다음 diff 소스 |328| `diff:nextSource` | Right | 다음 diff 소스 |


334Diff 세부 정보 보기는 또한 페이저 스타일 키를 표준 [스크롤 작업](#scroll-actions)에 바인딩합니다. 이러한 바인딩은 `DiffDialog` 컨텍스트의 일부이며 세부 정보 보기에만 적용됩니다. [스크롤 작업](#scroll-actions) 아래에 나열된 `Scroll` 컨텍스트 기본값은 변경되지 않습니다.334Diff 세부 정보 보기는 또한 페이저 스타일 키를 표준 [스크롤 작업](#scroll-actions)에 바인딩합니다. 이러한 바인딩은 `DiffDialog` 컨텍스트의 일부이며 세부 정보 보기에만 적용됩니다. [스크롤 작업](#scroll-actions) 아래에 나열된 `Scroll` 컨텍스트 기본값은 변경되지 않습니다.

335 335 

336| 작업 | 기본값 | 설명 |336| 작업 | 기본값 | 설명 |

337| :-------------------- | :------------- | :---------------- |337| :- | :- | :- |

338| `scroll:pageUp` | PageUp | 뷰포트의 절반만큼 위로 스크롤 |338| `scroll:pageUp` | PageUp | 뷰포트의 절반만큼 위로 스크롤 |

339| `scroll:pageDown` | PageDown | 뷰포트의 절반만큼 아래로 스크롤 |339| `scroll:pageDown` | PageDown | 뷰포트의 절반만큼 아래로 스크롤 |

340| `scroll:fullPageUp` | Shift+Space, B | 전체 뷰포트만큼 위로 스크롤 |340| `scroll:fullPageUp` | Shift+Space, B | 전체 뷰포트만큼 위로 스크롤 |


349`/diff`가 전체 화면 렌더링에서 열리는 [diff 패널](/docs/ko/interactive-mode#diff-panel)에 대한 작업입니다. `app:cycleDiffBase`는 패널이 열려 있는 동안 활성화되는 `DiffPanel` 컨텍스트에 있습니다. 나머지는 `Global`입니다. 패널에는 Claude Code v2.1.260 이상이 필요합니다.349`/diff`가 전체 화면 렌더링에서 열리는 [diff 패널](/docs/ko/interactive-mode#diff-panel)에 대한 작업입니다. `app:cycleDiffBase`는 패널이 열려 있는 동안 활성화되는 `DiffPanel` 컨텍스트에 있습니다. 나머지는 `Global`입니다. 패널에는 Claude Code v2.1.260 이상이 필요합니다.

350 350 

351| 작업 | 기본값 | 설명 |351| 작업 | 기본값 | 설명 |

352| :-------------------------- | :------------------- | :---------------------------------------- |352| :- | :- | :- |

353| `app:toggleReplTab` | (바인딩 해제됨) | Diff 패널을 열거나 닫습니다. `/diff` 실행과 동일합니다 |353| `app:toggleReplTab` | (바인딩 해제됨) | Diff 패널을 열거나 닫습니다. `/diff` 실행과 동일합니다 |

354| `app:cycleDiffBase` | Ctrl+X B | 패널의 비교 기준을 순환합니다: 이 세션, 커밋되지 않음, 그 다음 브랜치 |354| `app:cycleDiffBase` | Ctrl+X B | 패널의 비교 기준을 순환합니다: 이 세션, 커밋되지 않음, 그 다음 브랜치 |

355| `app:diffFileListUp` | Ctrl+Up, Meta+Up | 패널의 파일 목록이 오버플로우할 때 위로 스크롤 |355| `app:diffFileListUp` | Ctrl+Up, Meta+Up | 패널의 파일 목록이 오버플로우할 때 위로 스크롤 |


364`ModelPicker` 컨텍스트에서 사용 가능한 작업:364`ModelPicker` 컨텍스트에서 사용 가능한 작업:

365 365 

366| 작업 | 기본값 | 설명 |366| 작업 | 기본값 | 설명 |

367| :---------------------------- | :---- | :------------------- |367| :- | :- | :- |

368| `modelPicker:decreaseEffort` | Left | 노력 수준 감소 |368| `modelPicker:decreaseEffort` | Left | 노력 수준 감소 |

369| `modelPicker:increaseEffort` | Right | 노력 수준 증가 |369| `modelPicker:increaseEffort` | Right | 노력 수준 증가 |

370| `modelPicker:thisSessionOnly` | s | 강조 표시된 모델을 이 세션에만 적용 |370| `modelPicker:thisSessionOnly` | s | 강조 표시된 모델을 이 세션에만 적용 |


376`EffortSlider` 컨텍스트에서 사용 가능한 작업입니다. 이는 인수 없이 `/effort`를 실행할 때 열리는 슬라이더입니다. 슬라이더의 Left, Right, Enter 및 Escape 키는 다시 바인딩할 수 없습니다.376`EffortSlider` 컨텍스트에서 사용 가능한 작업입니다. 이는 인수 없이 `/effort`를 실행할 때 열리는 슬라이더입니다. 슬라이더의 Left, Right, Enter 및 Escape 키는 다시 바인딩할 수 없습니다.

377 377 

378| 작업 | 기본값 | 설명 |378| 작업 | 기본값 | 설명 |

379| :----------------------------- | :-- | :------------------------------------------------------------------------------- |379| :- | :- | :- |

380| `effortSlider:thisSessionOnly` | s | 포커스된 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 이 세션에만 적용합니다. v2.1.257 이상 필요 |380| `effortSlider:thisSessionOnly` | s | 포커스된 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 이 세션에만 적용합니다. v2.1.257 이상 필요 |

381 381 

382<h3 id="select-actions">382<h3 id="select-actions">


386`Select` 컨텍스트에서 사용 가능한 작업:386`Select` 컨텍스트에서 사용 가능한 작업:

387 387 

388| 작업 | 기본값 | 설명 |388| 작업 | 기본값 | 설명 |

389| :---------------- | :-------------- | :-------------- |389| :- | :- | :- |

390| `select:next` | Down, J, Ctrl+N | 다음 옵션 |390| `select:next` | Down, J, Ctrl+N | 다음 옵션 |

391| `select:previous` | Up, K, Ctrl+P | 이전 옵션 |391| `select:previous` | Up, K, Ctrl+P | 이전 옵션 |

392| `select:pageUp` | PageUp | 옵션 한 페이지 위로 이동 |392| `select:pageUp` | PageUp | 옵션 한 페이지 위로 이동 |


407`Plugin` 컨텍스트에서 사용 가능한 작업:407`Plugin` 컨텍스트에서 사용 가능한 작업:

408 408 

409| 작업 | 기본값 | 설명 |409| 작업 | 기본값 | 설명 |

410| :---------------- | :---- | :---------------------------------------- |410| :- | :- | :- |

411| `plugin:toggle` | Space | 플러그인 선택 전환 |411| `plugin:toggle` | Space | 플러그인 선택 전환 |

412| `plugin:install` | I | 선택한 플러그인 설치 |412| `plugin:install` | I | 선택한 플러그인 설치 |

413| `plugin:favorite` | F | 선택한 플러그인을 즐겨찾기로 설정하여 설치된 탭 상단 근처에 정렬되도록 함 |413| `plugin:favorite` | F | 선택한 플러그인을 즐겨찾기로 설정하여 설치된 탭 상단 근처에 정렬되도록 함 |


419`Settings` 컨텍스트에서 사용 가능한 작업입니다. `select:accept` 및 `confirm:no` 작업은 [선택 작업](#select-actions) 및 [확인 작업](#confirmation-actions) 컨텍스트에서 재사용되며 설정별 동작을 가집니다: 변경 사항은 변경하는 즉시 각 설정에 적용되므로 Escape는 변경 사항을 거부하는 대신 변경 사항을 저장하고 패널을 닫습니다.419`Settings` 컨텍스트에서 사용 가능한 작업입니다. `select:accept` 및 `confirm:no` 작업은 [선택 작업](#select-actions) 및 [확인 작업](#confirmation-actions) 컨텍스트에서 재사용되며 설정별 동작을 가집니다: 변경 사항은 변경하는 즉시 각 설정에 적용되므로 Escape는 변경 사항을 거부하는 대신 변경 사항을 저장하고 패널을 닫습니다.

420 420 

421| 작업 | 기본값 | 설명 |421| 작업 | 기본값 | 설명 |

422| :---------------- | :----------- | :----------------------- |422| :- | :- | :- |

423| `settings:search` | / | 검색 모드 진입 |423| `settings:search` | / | 검색 모드 진입 |

424| `settings:retry` | R | 사용량 데이터 다시 로드(오류 시) |424| `settings:retry` | R | 사용량 데이터 다시 로드(오류 시) |

425| `select:accept` | Enter, Space | 선택한 설정을 변경하거나 해당 서브메뉴 열기 |425| `select:accept` | Enter, Space | 선택한 설정을 변경하거나 해당 서브메뉴 열기 |


432`Agents` 컨텍스트에서 사용 가능한 작업입니다. 이는 `claude agents`로 열리는 [에이전트 보기](/docs/ko/agent-view)에 적용됩니다. v2.1.257 이상 필요합니다.432`Agents` 컨텍스트에서 사용 가능한 작업입니다. 이는 `claude agents`로 열리는 [에이전트 보기](/docs/ko/agent-view)에 적용됩니다. v2.1.257 이상 필요합니다.

433 433 

434| 작업 | 기본값 | 설명 |434| 작업 | 기본값 | 설명 |

435| :------------------ | :----- | :----------------------------------------------------------- |435| :- | :- | :- |

436| `agents:switchView` | Ctrl+S | [세션 그룹화](/docs/ko/agent-view#organize-the-list)를 상태와 디렉토리 사이에서 전환 |436| `agents:switchView` | Ctrl+S | [세션 그룹화](/docs/ko/agent-view#organize-the-list)를 상태와 디렉토리 사이에서 전환 |

437| `agents:togglePin` | Ctrl+T | 선택한 세션 [고정 또는 고정 해제](/docs/ko/agent-view#organize-the-list) |437| `agents:togglePin` | Ctrl+T | 선택한 세션 [고정 또는 고정 해제](/docs/ko/agent-view#organize-the-list) |

438 438 


449[음성 받아쓰기](/docs/ko/voice-dictation)가 활성화되었을 때 `Chat` 컨텍스트에서 사용 가능한 작업:449[음성 받아쓰기](/docs/ko/voice-dictation)가 활성화되었을 때 `Chat` 컨텍스트에서 사용 가능한 작업:

450 450 

451| 작업 | 기본값 | 설명 |451| 작업 | 기본값 | 설명 |

452| :----------------- | :---- | :--------------------------------- |452| :- | :- | :- |

453| `voice:pushToTalk` | Space | 프롬프트를 받아쓰기. `/voice` 모드에 따라 누르거나 탭 |453| `voice:pushToTalk` | Space | 프롬프트를 받아쓰기. `/voice` 모드에 따라 누르거나 탭 |

454 454 

455<h3 id="scroll-actions">455<h3 id="scroll-actions">


459[전체 화면 렌더링](/docs/ko/fullscreen)이 활성화되었을 때 `Scroll` 컨텍스트에서 사용 가능한 작업:459[전체 화면 렌더링](/docs/ko/fullscreen)이 활성화되었을 때 `Scroll` 컨텍스트에서 사용 가능한 작업:

460 460 

461| 작업 | 기본값 | 설명 |461| 작업 | 기본값 | 설명 |

462| :-------------------------- | :------------------- | :----------------------------------------------------------------------- |462| :- | :- | :- |

463| `scroll:lineUp` | `wheelup` | 한 줄 위로 스크롤합니다. 마우스 휠 스크롤이 이 작업을 트리거합니다 |463| `scroll:lineUp` | `wheelup` | 한 줄 위로 스크롤합니다. 마우스 휠 스크롤이 이 작업을 트리거합니다 |

464| `scroll:lineDown` | `wheeldown` | 한 줄 아래로 스크롤합니다. 마우스 휠 스크롤이 이 작업을 트리거합니다 |464| `scroll:lineDown` | `wheeldown` | 한 줄 아래로 스크롤합니다. 마우스 휠 스크롤이 이 작업을 트리거합니다 |

465| `scroll:pageUp` | PageUp | 뷰포트 높이의 절반만큼 위로 스크롤 |465| `scroll:pageUp` | PageUp | 뷰포트 높이의 절반만큼 위로 스크롤 |


615이러한 단축키는 다시 바인딩할 수 없습니다:615이러한 단축키는 다시 바인딩할 수 없습니다:

616 616 

617| 단축키 | 이유 |617| 단축키 | 이유 |

618| :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |618| :- | :- |

619| Ctrl+C | 하드코딩된 중단/취소 |619| Ctrl+C | 하드코딩된 중단/취소 |

620| Ctrl+D | 하드코딩된 종료 |620| Ctrl+D | 하드코딩된 종료 |

621| Ctrl+M | Claude Code는 항상 이를 Enter로 수신합니다 |621| Ctrl+M | Claude Code는 항상 이를 Enter로 수신합니다 |


631일부 단축키는 터미널 멀티플렉서와 충돌할 수 있습니다:631일부 단축키는 터미널 멀티플렉서와 충돌할 수 있습니다:

632 632 

633| 단축키 | 충돌 |633| 단축키 | 충돌 |

634| :----- | :----------------------- |634| :- | :- |

635| Ctrl+B | tmux 접두사(두 번 눌러서 보내기) |635| Ctrl+B | tmux 접두사(두 번 눌러서 보내기) |

636| Ctrl+A | GNU screen 접두사 |636| Ctrl+A | GNU screen 접두사 |

637| Ctrl+Z | Unix 프로세스 일시 중단(SIGTSTP) |637| Ctrl+Z | Unix 프로세스 일시 중단(SIGTSTP) |

Details

23아래의 각 설정은 독립적입니다. 서로를 대체하지 않고 계층화되므로 저장소에 맞는 것을 적용하십시오. [Claude를 시작할 위치 선택](#choose-where-to-start-claude)은 설정 파일이 어디에 있는지 결정하므로 먼저 읽으십시오. [모두 함께 사용](#put-it-together)은 모두 결합된 것을 보여줍니다.23아래의 각 설정은 독립적입니다. 서로를 대체하지 않고 계층화되므로 저장소에 맞는 것을 적용하십시오. [Claude를 시작할 위치 선택](#choose-where-to-start-claude)은 설정 파일이 어디에 있는지 결정하므로 먼저 읽으십시오. [모두 함께 사용](#put-it-together)은 모두 결합된 것을 보여줍니다.

24 24 

25| 원하는 것 | 사용 |25| 원하는 것 | 사용 |

26| :----------------------------------------------- | :-------------------------------------------------------------------------------------- |26| :- | :- |

27| 모든 하위 시스템을 다루는 하나의 루트 파일 대신 터치하는 코드에 대한 규칙만 로드 | 디렉토리별 [CLAUDE.md 파일](#layer-claude-md-files-by-directory) |27| 모든 하위 시스템을 다루는 하나의 루트 파일 대신 터치하는 코드에 대한 규칙만 로드 | 디렉토리별 [CLAUDE.md 파일](#layer-claude-md-files-by-directory) |

28| 작업하지 않는 패키지의 CLAUDE.md 파일 제외 | [`claudeMdExcludes`](#exclude-irrelevant-claude-md-files) |28| 작업하지 않는 패키지의 CLAUDE.md 파일 제외 | [`claudeMdExcludes`](#exclude-irrelevant-claude-md-files) |

29| Claude가 빌드 출력, 생성된 코드, 벤더된 종속성 열기 차단 | `permissions.deny`의 [`Read` 거부 규칙](#block-reads-of-generated-and-vendored-code) |29| Claude가 빌드 출력, 생성된 코드, 벤더된 종속성 열기 차단 | `permissions.deny`의 [`Read` 거부 규칙](#block-reads-of-generated-and-vendored-code) |


67`claude`를 시작하는 위치는 Claude가 추가 권한 부여 없이 읽고 편집할 수 있는 파일, 시작 시 로드되는 CLAUDE.md 파일, 적용되는 프로젝트 설정을 결정합니다.67`claude`를 시작하는 위치는 Claude가 추가 권한 부여 없이 읽고 편집할 수 있는 파일, 시작 시 로드되는 CLAUDE.md 파일, 적용되는 프로젝트 설정을 결정합니다.

68 68 

69| 시작 위치 | 파일 액세스 | 시작 시 로드된 CLAUDE.md | 사용 시기 |69| 시작 위치 | 파일 액세스 | 시작 시 로드된 CLAUDE.md | 사용 시기 |

70| :------ | :------------------------- | :---------------------------------------- | :------------------------------ |70| :- | :- | :- | :- |

71| 저장소 루트 | 모든 파일 | 루트만; 하위 디렉토리 파일은 Claude가 그곳을 읽을 때 요청 시 로드 | 작업이 여러 패키지 또는 하위 시스템에 걸쳐 있음 |71| 저장소 루트 | 모든 파일 | 루트만; 하위 디렉토리 파일은 Claude가 그곳을 읽을 때 요청 시 로드 | 작업이 여러 패키지 또는 하위 시스템에 걸쳐 있음 |

72| 하위 디렉토리 | 더 많은 권한을 부여할 때까지 해당 하위 트리만 | 해당 디렉토리의 모든 상위 항목 | 작업이 하나의 패키지 또는 하위 시스템으로 범위가 지정됨 |72| 하위 디렉토리 | 더 많은 권한을 부여할 때까지 해당 하위 트리만 | 해당 디렉토리의 모든 상위 항목 | 작업이 하나의 패키지 또는 하위 시스템으로 범위가 지정됨 |

73 73 


123디렉토리별 `CLAUDE.md` 파일과 `.claude/rules/` 아래의 [경로 범위 규칙](/docs/ko/memory#path-specific-rules) 모두 트리의 일부에 지침을 대상으로 지정할 수 있습니다. 파일이 있는 위치와 로드되는 시기가 다릅니다.123디렉토리별 `CLAUDE.md` 파일과 `.claude/rules/` 아래의 [경로 범위 규칙](/docs/ko/memory#path-specific-rules) 모두 트리의 일부에 지침을 대상으로 지정할 수 있습니다. 파일이 있는 위치와 로드되는 시기가 다릅니다.

124 124 

125| 접근 방식 | 파일 위치 | 로드 시기 | 사용 시기 |125| 접근 방식 | 파일 위치 | 로드 시기 | 사용 시기 |

126| :------------------------- | :-------------------- | :--------------------------------------------- | :--------------------------------------- |126| :- | :- | :- | :- |

127| 디렉토리별 `CLAUDE.md` | 디렉토리 내부, 코드와 함께 | 해당 디렉토리에서 시작할 때 시작 시, 또는 Claude가 파일을 읽을 때 요청 시 | 디렉토리 소유자가 자신의 규칙을 유지; 지침은 코드와 함께 버전 관리됨 |127| 디렉토리별 `CLAUDE.md` | 디렉토리 내부, 코드와 함께 | 해당 디렉토리에서 시작할 때 시작 시, 또는 Claude가 파일을 읽을 때 요청 시 | 디렉토리 소유자가 자신의 규칙을 유지; 지침은 코드와 함께 버전 관리됨 |

128| `.claude/rules/`의 경로 범위 규칙 | 저장소 루트의 중앙 `.claude/` | Claude가 규칙의 `paths:` 글로브와 일치하는 파일로 작업할 때 | 모든 규칙을 한 곳에 원하거나, 동일한 규칙이 많은 분산된 경로에 적용됨 |128| `.claude/rules/`의 경로 범위 규칙 | 저장소 루트의 중앙 `.claude/` | Claude가 규칙의 `paths:` 글로브와 일치하는 파일로 작업할 때 | 모든 규칙을 한 곳에 원하거나, 동일한 규칙이 많은 분산된 경로에 적용됨 |

129 129 


316디렉토리를 추가하는 방법에 관계없이 Claude는 파일을 읽고 편집할 수 있습니다. 디렉토리의 CLAUDE.md, `.claude/rules/` 파일, 스킬도 로드되는지는 추가 방법에 따라 다릅니다:316디렉토리를 추가하는 방법에 관계없이 Claude는 파일을 읽고 편집할 수 있습니다. 디렉토리의 CLAUDE.md, `.claude/rules/` 파일, 스킬도 로드되는지는 추가 방법에 따라 다릅니다:

317 317 

318| 추가 방법 | CLAUDE.md 및 규칙 로드 | 스킬 로드 |318| 추가 방법 | CLAUDE.md 및 규칙 로드 | 스킬 로드 |

319| :------------------------------- | :---------------- | :----- |319| :- | :- | :- |

320| `additionalDirectories` 설정 | 절대 안 함 | 절대 안 함 |320| `additionalDirectories` 설정 | 절대 안 함 | 절대 안 함 |

321| `--add-dir` 플래그 또는 `/add-dir` 명령 | 아래 환경 변수만 | 예 |321| `--add-dir` 플래그 또는 `/add-dir` 명령 | 아래 환경 변수만 | 예 |

322 322 

Details

64Claude Code를 게이트웨이에 인증하려면 환경 변수에 자격 증명을 설정합니다. 어떤 변수를 사용할지는 게이트웨이 팀이 말한 것에 따라 다릅니다:64Claude Code를 게이트웨이에 인증하려면 환경 변수에 자격 증명을 설정합니다. 어떤 변수를 사용할지는 게이트웨이 팀이 말한 것에 따라 다릅니다:

65 65 

66| 자격 증명 설정 위치 | 사용 시기 |66| 자격 증명 설정 위치 | 사용 시기 |

67| :------------------------------------------------------ | :-------------------------------------------------------- |67| :- | :- |

68| `ANTHROPIC_AUTH_TOKEN` | 게이트웨이 팀이 "bearer token" 또는 "Authorization header"라고 말했을 때 |68| `ANTHROPIC_AUTH_TOKEN` | 게이트웨이 팀이 "bearer token" 또는 "Authorization header"라고 말했을 때 |

69| `ANTHROPIC_API_KEY` | 게이트웨이 팀이 "API key" 또는 "x-api-key"라고 말했을 때 |69| `ANTHROPIC_API_KEY` | 게이트웨이 팀이 "API key" 또는 "x-api-key"라고 말했을 때 |

70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | 자격 증명이 회전하거나 자격 증명 모음에서 나올 때 |70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | 자격 증명이 회전하거나 자격 증명 모음에서 나올 때 |


578Claude Code를 게이트웨이를 통해 실행할 때 가장 일반적인 오류와 게이트웨이 측 원인 및 해결 방법입니다:578Claude Code를 게이트웨이를 통해 실행할 때 가장 일반적인 오류와 게이트웨이 측 원인 및 해결 방법입니다:

579 579 

580| 오류 | 원인 | 해결 방법 |580| 오류 | 원인 | 해결 방법 |

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

582| 두 자격 증명 소스를 명시하고 `auth may not work as expected`로 끝나는 시작 경고. 이전 버전은 `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` 대신 표시합니다. | 게이트웨이 자격 증명과 저장된 로그인이 모두 활성화되어 있습니다. 변수는 요청에 사용되지만, 오래된 로그인은 예상치 못한 인증 동작을 유발할 수 있습니다. | 변수를 설정 해제하여 저장된 로그인을 사용하거나, `/logout`을 실행하여 게이트웨이 자격 증명을 사용합니다. |582| 두 자격 증명 소스를 명시하고 `auth may not work as expected`로 끝나는 시작 경고. 이전 버전은 `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` 대신 표시합니다. | 게이트웨이 자격 증명과 저장된 로그인이 모두 활성화되어 있습니다. 변수는 요청에 사용되지만, 오래된 로그인은 예상치 못한 인증 동작을 유발할 수 있습니다. | 변수를 설정 해제하여 저장된 로그인을 사용하거나, `/logout`을 실행하여 게이트웨이 자격 증명을 사용합니다. |

583| 잘못되거나 인식되지 않는 토큰을 명시하는 `401` 오류 | 자격 증명이 게이트웨이가 발급한 것이 아니거나, 게이트웨이가 읽지 않는 헤더에 있습니다. | 변수가 [자격 증명 표](#set-the-credential-variable)의 자격 증명 종류와 일치하는지 확인하고, 게이트웨이에서 키가 취소된 경우 다시 생성합니다. |583| 잘못되거나 인식되지 않는 토큰을 명시하는 `401` 오류 | 자격 증명이 게이트웨이가 발급한 것이 아니거나, 게이트웨이가 읽지 않는 헤더에 있습니다. | 변수가 [자격 증명 표](#set-the-credential-variable)의 자격 증명 종류와 일치하는지 확인하고, 게이트웨이에서 키가 취소된 경우 다시 생성합니다. |

584| `Your apiKeyHelper script is failing` 또는 비대화형 모드에서 stderr의 `apiKeyHelper failed:` | [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정의 명령이 사용 가능한 키를 생성하지 않아서 요청이 자리 표시자 키를 전달합니다. | 명령을 직접 실행하여 실패 이유를 확인하고, 만료된 세션을 보고하면 자격 증명 제공자로 다시 인증합니다. [오류 참조](/docs/ko/errors#your-apikeyhelper-script-is-failing)를 참조하세요. |584| `Your apiKeyHelper script is failing` 또는 비대화형 모드에서 stderr의 `apiKeyHelper failed:` | [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정의 명령이 사용 가능한 키를 생성하지 않아서 요청이 자리 표시자 키를 전달합니다. | 명령을 직접 실행하여 실패 이유를 확인하고, 만료된 세션을 보고하면 자격 증명 제공자로 다시 인증합니다. [오류 참조](/docs/ko/errors#your-apikeyhelper-script-is-failing)를 참조하세요. |

Details

41Google Cloud의 Agent Platform은 Google Cloud의 Claude 엔드포인트이며, 이전의 Vertex AI입니다. 변수 이름은 `VERTEX` 표기법을 유지합니다.41Google Cloud의 Agent Platform은 Google Cloud의 Claude 엔드포인트이며, 이전의 Vertex AI입니다. 변수 이름은 `VERTEX` 표기법을 유지합니다.

42 42 

43| 형식 | 선택됨 | 엔드포인트 | 변경 없이 전달 |43| 형식 | 선택됨 | 엔드포인트 | 변경 없이 전달 |

44| :-------------------------------------- | :-------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------- |44| :- | :- | :- | :- |

45| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (선택사항) | `anthropic-beta` 및 `anthropic-version` 요청 헤더 |45| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (선택사항) | `anthropic-beta` 및 `anthropic-version` 요청 헤더 |

46| Amazon Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL`과 `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream`, `/model/{model}/count-tokens` (선택사항) | `anthropic_beta` 및 `anthropic_version` 요청 본문 필드 |46| Amazon Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL`과 `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream`, `/model/{model}/count-tokens` (선택사항) | `anthropic_beta` 및 `anthropic_version` 요청 본문 필드 |

47| Google Cloud의 Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL`과 `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (선택사항) | `anthropic-beta` 및 `anthropic-version` 요청 헤더, 그리고 `anthropic_version` 요청 본문 필드 |47| Google Cloud의 Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL`과 `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (선택사항) | `anthropic-beta` 및 `anthropic-version` 요청 헤더, 그리고 `anthropic_version` 요청 본문 필드 |


107아래 표는 세 가지 연결 방법을 비교하며, 행마다 하나의 동작을 나타냅니다. Microsoft Foundry 및 Claude Platform on AWS는 Anthropic Messages 형식을 사용하지만 Claude Code가 자체 변수를 통해 도달하므로 제외되었습니다. 이들의 경우 [Microsoft Foundry](/docs/ko/microsoft-foundry) 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 페이지를 참조하십시오.107아래 표는 세 가지 연결 방법을 비교하며, 행마다 하나의 동작을 나타냅니다. Microsoft Foundry 및 Claude Platform on AWS는 Anthropic Messages 형식을 사용하지만 Claude Code가 자체 변수를 통해 도달하므로 제외되었습니다. 이들의 경우 [Microsoft Foundry](/docs/ko/microsoft-foundry) 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 페이지를 참조하십시오.

108 108 

109| 동작 | Amazon Bedrock 또는 Agent Platform 형식 | Anthropic Messages 형식 | Claude 앱 게이트웨이 로그인 |109| 동작 | Amazon Bedrock 또는 Agent Platform 형식 | Anthropic Messages 형식 | Claude 앱 게이트웨이 로그인 |

110| :---------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |110| :- | :- | :- | :- |

111| 기본적으로 요청의 모델 ID | Amazon Bedrock의 `us.anthropic.claude-opus-4-8`과 같은 제공자 형식 | `claude-opus-4-8`과 같은 Anthropic ID | Anthropic ID |111| 기본적으로 요청의 모델 ID | Amazon Bedrock의 `us.anthropic.claude-opus-4-8`과 같은 제공자 형식 | `claude-opus-4-8`과 같은 Anthropic ID | Anthropic ID |

112| 전송되는 `anthropic-beta` 값 | Amazon Bedrock 및 Agent Platform이 허용하는 부분 집합 | [기능 통과](#feature-pass-through)에 설명된 전체 집합, 개발자가 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities)를 설정하지 않은 경우 | Amazon Bedrock 및 Agent Platform이 허용하는 부분 집합 |112| 전송되는 `anthropic-beta` 값 | Amazon Bedrock 및 Agent Platform이 허용하는 부분 집합 | [기능 통과](#feature-pass-through)에 설명된 전체 집합, 개발자가 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities)를 설정하지 않은 경우 | Amazon Bedrock 및 Agent Platform이 허용하는 부분 집합 |

113| Claude Code가 인식하지 못하는 모델 ID(예: 게이트웨이 별칭)에 대한 요청 필드 | 적응형 추론이 아닌 고정 예산의 사고, 그리고 노력 또는 컨텍스트 관리 필드 없음 | Amazon Bedrock 또는 Agent Platform 업스트림이 거부할 수 있는 적응형 추론, 노력 및 컨텍스트 관리를 포함하여 현재 Claude 모델이 Claude API에서 허용하는 모든 것 | Amazon Bedrock 또는 Agent Platform 형식과 동일 |113| Claude Code가 인식하지 못하는 모델 ID(예: 게이트웨이 별칭)에 대한 요청 필드 | 적응형 추론이 아닌 고정 예산의 사고, 그리고 노력 또는 컨텍스트 관리 필드 없음 | Amazon Bedrock 또는 Agent Platform 업스트림이 거부할 수 있는 적응형 추론, 노력 및 컨텍스트 관리를 포함하여 현재 Claude 모델이 Claude API에서 허용하는 모든 것 | Amazon Bedrock 또는 Agent Platform 형식과 동일 |


132Claude Code는 API 요청에 이러한 헤더를 포함합니다. 헤더 이름은 전송 중에 대소문자를 구분하지 않습니다. `anthropic-version` 및 `anthropic-beta`를 변경 없이 전달하고, 업스트림이 [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws)일 때 `anthropic-workspace-id`를 전달합니다. 나머지는 게이트웨이가 라우팅, 속성 및 추적을 위해 사용할 수 있으며 전달할 필요가 없습니다.132Claude Code는 API 요청에 이러한 헤더를 포함합니다. 헤더 이름은 전송 중에 대소문자를 구분하지 않습니다. `anthropic-version` 및 `anthropic-beta`를 변경 없이 전달하고, 업스트림이 [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws)일 때 `anthropic-workspace-id`를 전달합니다. 나머지는 게이트웨이가 라우팅, 속성 및 추적을 위해 사용할 수 있으며 전달할 필요가 없습니다.

133 133 

134| 헤더 | 설명 |134| 헤더 | 설명 |

135| :------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |135| :- | :- |

136| `Authorization`, `x-api-key` | 개발자의 게이트웨이 자격 증명. 설정한 [자격 증명 변수](/docs/ko/llm-gateway-connect#set-the-credential-variable)에 따라 하나 또는 두 헤더 모두에 포함됨 |136| `Authorization`, `x-api-key` | 개발자의 게이트웨이 자격 증명. 설정한 [자격 증명 변수](/docs/ko/llm-gateway-connect#set-the-credential-variable)에 따라 하나 또는 두 헤더 모두에 포함됨 |

137| `anthropic-version` | API 버전. 현재 `2023-06-01`. Amazon Bedrock 및 Google Cloud의 Agent Platform 형식 요청은 또한 `anthropic_version` 본문 필드를 전달하며, 그 값은 이 헤더의 값이 아닌 제공자 방언 문자열입니다. |137| `anthropic-version` | API 버전. 현재 `2023-06-01`. Amazon Bedrock 및 Google Cloud의 Agent Platform 형식 요청은 또한 `anthropic_version` 본문 필드를 전달하며, 그 값은 이 헤더의 값이 아닌 제공자 방언 문자열입니다. |

138| `anthropic-beta` | 요청에 대한 쉼표로 구분된 기능 값. 헤더를 그대로 전달합니다. 개별 값을 허용 목록에 추가하지 마십시오. Claude Code 릴리스에 따라 집합이 변경되기 때문입니다. 개발자가 claude.ai 로그인으로 인증할 때 (이는 `ANTHROPIC_BASE_URL`이 게이트웨이 자격 증명 변수 없이 설정될 때 가능함), 이 헤더는 또한 업스트림이 요구하는 OAuth 기능을 전달하며, 이를 제거하면 해당 요청이 `401`로 실패합니다. |138| `anthropic-beta` | 요청에 대한 쉼표로 구분된 기능 값. 헤더를 그대로 전달합니다. 개별 값을 허용 목록에 추가하지 마십시오. Claude Code 릴리스에 따라 집합이 변경되기 때문입니다. 개발자가 claude.ai 로그인으로 인증할 때 (이는 `ANTHROPIC_BASE_URL`이 게이트웨이 자격 증명 변수 없이 설정될 때 가능함), 이 헤더는 또한 업스트림이 요구하는 OAuth 기능을 전달하며, 이를 제거하면 해당 요청이 `401`로 실패합니다. |


161헤더는 아래 행에 나열된 것만 전달합니다. 고정된 어휘, 도구 이름 및 기간이며, 프롬프트 텍스트나 파일 내용은 절대 아닙니다. 모든 값은 인쇄 가능한 ASCII입니다.161헤더는 아래 행에 나열된 것만 전달합니다. 고정된 어휘, 도구 이름 및 기간이며, 프롬프트 텍스트나 파일 내용은 절대 아닙니다. 모든 값은 인쇄 가능한 ASCII입니다.

162 162 

163| 헤더 | 설명 |163| 헤더 | 설명 |

164| :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |164| :- | :- |

165| `x-claude-code-request-class` | 이 요청의 종류: 주 대화의 턴에 대해 `main`, [서브에이전트](/docs/ko/sub-agents)의 턴에 대해 `subagent`, 워크플로우 내에서 실행되는 에이전트에 대해 `workflow`, 대화를 압축하는 요약 요청에 대해 `compaction`, 세션 제목, 분류기 및 요약과 같은 측면 요청에 대해 `auxiliary`. 모든 요청에서 전송됨 |165| `x-claude-code-request-class` | 이 요청의 종류: 주 대화의 턴에 대해 `main`, [서브에이전트](/docs/ko/sub-agents)의 턴에 대해 `subagent`, 워크플로우 내에서 실행되는 에이전트에 대해 `workflow`, 대화를 압축하는 요약 요청에 대해 `compaction`, 세션 제목, 분류기 및 요약과 같은 측면 요청에 대해 `auxiliary`. 모든 요청에서 전송됨 |

166| `x-claude-code-agent-type` | 요청을 발급한 서브에이전트의 종류: `Explore`, `Plan` 또는 `general-purpose`와 같은 기본 제공 에이전트 타입 이름, 사용자 정의 에이전트에 대해 `custom`, [에이전트 팀](/docs/ko/agent-teams) 멤버가 리드의 프로세스에서 실행 중일 때 `teammate`, 또는 [포크](/docs/ko/sub-agents#fork-the-current-conversation)에 대해 `fork`. 서브에이전트 자신의 턴에만 존재합니다. 서브에이전트의 압축 또는 측면 요청은 에이전트 ID를 유지하지만 타입을 전달하지 않습니다. 사용자가 선택한 에이전트 이름은 절대 전송되지 않습니다. |166| `x-claude-code-agent-type` | 요청을 발급한 서브에이전트의 종류: `Explore`, `Plan` 또는 `general-purpose`와 같은 기본 제공 에이전트 타입 이름, 사용자 정의 에이전트에 대해 `custom`, [에이전트 팀](/docs/ko/agent-teams) 멤버가 리드의 프로세스에서 실행 중일 때 `teammate`, 또는 [포크](/docs/ko/sub-agents#fork-the-current-conversation)에 대해 `fork`. 서브에이전트 자신의 턴에만 존재합니다. 서브에이전트의 압축 또는 측면 요청은 에이전트 ID를 유지하지만 타입을 전달하지 않습니다. 사용자가 선택한 에이전트 이름은 절대 전송되지 않습니다. |

167| `x-claude-code-compaction` | [압축](/docs/ko/prompt-caching#compacting-the-conversation) 중에 대화를 요약하는 요청에 존재합니다. 값은 트리거된 것을 나타냅니다: 컨텍스트 윈도우가 용량에 접근할 때 `auto`, `/compact`에 대해 `manual`, API가 요청을 너무 길다고 거부했을 때 `reactive`. 다른 모든 요청에서는 없습니다. |167| `x-claude-code-compaction` | [압축](/docs/ko/prompt-caching#compacting-the-conversation) 중에 대화를 요약하는 요청에 존재합니다. 값은 트리거된 것을 나타냅니다: 컨텍스트 윈도우가 용량에 접근할 때 `auto`, `/compact`에 대해 `manual`, API가 요청을 너무 길다고 거부했을 때 `reactive`. 다른 모든 요청에서는 없습니다. |


194Claude Code는 이러한 응답 헤더를 읽어 정지된 스트림을 감지하고, 재시도 여부 및 시기를 결정하며, 사용량 제한을 표시합니다. 다음 표는 각 헤더에 대해 반환할 내용을 나열합니다. 또한 오류 응답 본문을 수정하지 않고 전달하여 Claude Code의 [기능 거부 복구](#automatic-retry-and-error-forwarding)가 업스트림의 오류 표현과 일치할 수 있도록 합니다.194Claude Code는 이러한 응답 헤더를 읽어 정지된 스트림을 감지하고, 재시도 여부 및 시기를 결정하며, 사용량 제한을 표시합니다. 다음 표는 각 헤더에 대해 반환할 내용을 나열합니다. 또한 오류 응답 본문을 수정하지 않고 전달하여 Claude Code의 [기능 거부 복구](#automatic-retry-and-error-forwarding)가 업스트림의 오류 표현과 일치할 수 있도록 합니다.

195 195 

196| 헤더 | 반환할 내용 및 이유 |196| 헤더 | 반환할 내용 및 이유 |

197| :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |197| :- | :- |

198| `content-type` | 스트리밍된 Anthropic Messages 형식 응답에서는 `text/event-stream`을 반환하고, Amazon Bedrock 형식 응답에서는 `application/vnd.amazon.eventstream`을 수정하지 않고 반환합니다. 여기서 [다른 유형은 요청을 실패시킵니다](/docs/ko/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). [스트리밍](#streaming)은 이러한 스트림에서 정지 감지를 실행하는 연결을 나열합니다 |198| `content-type` | 스트리밍된 Anthropic Messages 형식 응답에서는 `text/event-stream`을 반환하고, Amazon Bedrock 형식 응답에서는 `application/vnd.amazon.eventstream`을 수정하지 않고 반환합니다. 여기서 [다른 유형은 요청을 실패시킵니다](/docs/ko/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). [스트리밍](#streaming)은 이러한 스트림에서 정지 감지를 실행하는 연결을 나열합니다 |

199| `retry-after` | HTTP 날짜가 아닌 정수 초를 반환합니다. Claude Code는 다음 [자동 재시도](/docs/ko/errors#automatic-retries) 전에 최소한 그 시간만큼 대기하며, [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ko/env-vars) 세션 외부에서 60 이상의 값은 재시도를 중지하고 오류를 즉시 표시합니다 |199| `retry-after` | HTTP 날짜가 아닌 정수 초를 반환합니다. Claude Code는 다음 [자동 재시도](/docs/ko/errors#automatic-retries) 전에 최소한 그 시간만큼 대기하며, [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ko/env-vars) 세션 외부에서 60 이상의 값은 재시도를 중지하고 오류를 즉시 표시합니다 |

200| `x-should-retry` | 업스트림의 값을 수정하지 않고 그대로 전달합니다. Claude Code는 실패한 요청을 재시도할지 결정할 때 이 헤더를 하나의 입력으로 읽습니다: `true`는 응답을 재시도 가능으로 표시하고 `false`는 재시도 불가능으로 표시합니다. 재시도 횟수, 백오프 및 Claude Code가 재시도하는 실패에 대해서는 [자동 재시도](/docs/ko/errors#automatic-retries)를 참조하세요 |200| `x-should-retry` | 업스트림의 값을 수정하지 않고 그대로 전달합니다. Claude Code는 실패한 요청을 재시도할지 결정할 때 이 헤더를 하나의 입력으로 읽습니다: `true`는 응답을 재시도 가능으로 표시하고 `false`는 재시도 불가능으로 표시합니다. 재시도 횟수, 백오프 및 Claude Code가 재시도하는 실패에 대해서는 [자동 재시도](/docs/ko/errors#automatic-retries)를 참조하세요 |


235세분화된 도구 스트리밍은 직접 연결 기본값 중 하나입니다. 요청이 사용자 정의 기본 URL을 통해 라우팅될 때마다 기본적으로 꺼져 있으며, 개발자가 [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/ko/env-vars)을 설정할 때 게이트웨이가 이를 수신합니다.235세분화된 도구 스트리밍은 직접 연결 기본값 중 하나입니다. 요청이 사용자 정의 기본 URL을 통해 라우팅될 때마다 기본적으로 꺼져 있으며, 개발자가 [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/ko/env-vars)을 설정할 때 게이트웨이가 이를 수신합니다.

236 236 

237| 기능 | 헤더 및 본문 쌍 | 손상될 때의 증상 | 해결 방법 |237| 기능 | 헤더 및 본문 쌍 | 손상될 때의 증상 | 해결 방법 |

238| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------- |238| :- | :- | :- | :- |

239| [적응형 추론](/docs/ko/model-config#adjust-effort-level) | 베타 헤더 없음. Claude Code는 Claude 4.6 이상에 대해 `thinking: {"type": "adaptive"}`를 전송하고, 게이트웨이 별칭과 같이 인식하지 못하는 모델 이름을 현재 모델로 취급하여 필드를 수신합니다. | 업스트림 모델 빌드가 이를 수락하지 않을 때 `thinking` 필드 또는 `adaptive` 태그의 이름을 지정하는 `400` | 업스트림을 업그레이드합니다. Opus 4.6 및 Sonnet 4.6에서 개발자는 대신 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`을 설정할 수 있습니다. |239| [적응형 추론](/docs/ko/model-config#adjust-effort-level) | 베타 헤더 없음. Claude Code는 Claude 4.6 이상에 대해 `thinking: {"type": "adaptive"}`를 전송하고, 게이트웨이 별칭과 같이 인식하지 못하는 모델 이름을 현재 모델로 취급하여 필드를 수신합니다. | 업스트림 모델 빌드가 이를 수락하지 않을 때 `thinking` 필드 또는 `adaptive` 태그의 이름을 지정하는 `400` | 업스트림을 업그레이드합니다. Opus 4.6 및 Sonnet 4.6에서 개발자는 대신 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`을 설정할 수 있습니다. |

240| [컨텍스트 관리](https://platform.claude.com/docs/en/build-with-claude/context-editing) | 컨텍스트 관리 베타 헤더는 `context_management` 본문 필드와 쌍을 이룹니다. | `Extra inputs are not permitted`를 포함한 `400`. 게이트웨이가 Anthropic 형식 요청을 수락하지만 Amazon Bedrock으로 전달할 때 일반적입니다. | 둘 다 전달하거나 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/ko/env-vars) |240| [컨텍스트 관리](https://platform.claude.com/docs/en/build-with-claude/context-editing) | 컨텍스트 관리 베타 헤더는 `context_management` 본문 필드와 쌍을 이룹니다. | `Extra inputs are not permitted`를 포함한 `400`. 게이트웨이가 Anthropic 형식 요청을 수락하지만 Amazon Bedrock으로 전달할 때 일반적입니다. | 둘 다 전달하거나 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/ko/env-vars) |

241| [확장 컨텍스트](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) 및 [인터리브된 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | 베타 헤더만, 본문 필드 없음 | 헤더가 제거될 때 조용히 사용 불가능. 업스트림은 기능 요청을 보지 못합니다. | `anthropic-beta`를 그대로 전달합니다. |241| [확장 컨텍스트](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) 및 [인터리브된 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | 베타 헤더만, 본문 필드 없음 | 헤더가 제거될 때 조용히 사용 불가능. 업스트림은 기능 요청을 보지 못합니다. | `anthropic-beta`를 그대로 전달합니다. |

Details

56단계에는 3가지 다른 자격증명이 포함되며, 체크포인트는 무언가 실패할 때 어느 것이 잘못되었는지 알 수 있도록 자리 표시자로 이름을 지정합니다.56단계에는 3가지 다른 자격증명이 포함되며, 체크포인트는 무언가 실패할 때 어느 것이 잘못되었는지 알 수 있도록 자리 표시자로 이름을 지정합니다.

57 57 

58| 자격증명 | 보유자 | 체크포인트의 자리 표시자 |58| 자격증명 | 보유자 | 체크포인트의 자리 표시자 |

59| :------------ | :------------------------------------------------------------------ | :----------------------------- |59| :- | :- | :- |

60| 공급자 자격증명 | 게이트웨이로, 업스트림 공급자에게 전달합니다. | 게이트웨이에서 구성됨; 클라이언트 명령에 나타나지 않음 |60| 공급자 자격증명 | 게이트웨이로, 업스트림 공급자에게 전달합니다. | 게이트웨이에서 구성됨; 클라이언트 명령에 나타나지 않음 |

61| 게이트웨이 관리 자격증명 | 귀사로, 게이트웨이 제품이 관리자 또는 테스트 인터페이스용으로 발급하는 경우 | `<gateway-key>` |61| 게이트웨이 관리 자격증명 | 귀사로, 게이트웨이 제품이 관리자 또는 테스트 인터페이스용으로 발급하는 경우 | `<gateway-key>` |

62| 개발자 키 | 각 개발자로, [개발자 자격증명 발급](#issue-developer-credentials)에서 게이트웨이가 발급합니다. | `<developer-key>` |62| 개발자 키 | 각 개발자로, [개발자 자격증명 발급](#issue-developer-credentials)에서 게이트웨이가 발급합니다. | `<developer-key>` |


180어느 경로를 선택하든 동일한 변수 집합이 적용됩니다. 대부분의 롤아웃은 `ANTHROPIC_BASE_URL`과 자격증명만 필요합니다. 게이트웨이 설정에서 필요한 경우 조건부 행을 포함하십시오.180어느 경로를 선택하든 동일한 변수 집합이 적용됩니다. 대부분의 롤아웃은 `ANTHROPIC_BASE_URL`과 자격증명만 필요합니다. 게이트웨이 설정에서 필요한 경우 조건부 행을 포함하십시오.

181 181 

182| 변수 또는 설정 | 수행 작업 | 포함 시기 |182| 변수 또는 설정 | 수행 작업 | 포함 시기 |

183| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |183| :- | :- | :- |

184| `ANTHROPIC_BASE_URL` | Claude Code의 API 요청을 `api.anthropic.com` 대신 게이트웨이로 전송합니다. | 항상 |184| `ANTHROPIC_BASE_URL` | Claude Code의 API 요청을 `api.anthropic.com` 대신 게이트웨이로 전송합니다. | 항상 |

185| `apiKeyHelper` 또는 `ANTHROPIC_AUTH_TOKEN` 또는 `ANTHROPIC_API_KEY`의 자격증명 | 게이트웨이에 대한 각 요청을 인증합니다. 도우미는 키를 가져오는 명령을 실행합니다. 변수는 각각 `Authorization: Bearer` 및 `x-api-key`로 전송되는 정적 키를 보유합니다. | 항상; 3개 중 1개 |185| `apiKeyHelper` 또는 `ANTHROPIC_AUTH_TOKEN` 또는 `ANTHROPIC_API_KEY`의 자격증명 | 게이트웨이에 대한 각 요청을 인증합니다. 도우미는 키를 가져오는 명령을 실행합니다. 변수는 각각 `Authorization: Bearer` 및 `x-api-key`로 전송되는 정적 키를 보유합니다. | 항상; 3개 중 1개 |

186| `ANTHROPIC_CUSTOM_HEADERS` | 모든 API 요청에 추가 HTTP 헤더를 추가합니다. | 게이트웨이가 모든 요청에 테넌트 또는 라우팅 헤더를 요구하는 경우 |186| `ANTHROPIC_CUSTOM_HEADERS` | 모든 API 요청에 추가 HTTP 헤더를 추가합니다. | 게이트웨이가 모든 요청에 테넌트 또는 라우팅 헤더를 요구하는 경우 |


283롤아웃 후 시간이 지남에 따라 3가지 변경 사항이 게이트웨이에 도달합니다. 각각에는 주의할 증상과 취할 조치가 있습니다.283롤아웃 후 시간이 지남에 따라 3가지 변경 사항이 게이트웨이에 도달합니다. 각각에는 주의할 증상과 취할 조치가 있습니다.

284 284 

285| 변경 | 게이트웨이가 따라가지 못했을 때의 증상 | 조치 |285| 변경 | 게이트웨이가 따라가지 못했을 때의 증상 | 조치 |

286| :--------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |286| :- | :- | :- |

287| 새로운 Claude Code 릴리스는 `anthropic-beta` 값 및 요청 본문 필드를 추가합니다. | 개발자가 Claude Code를 업데이트한 후 새 필드를 명명하는 `400` 오류를 보고합니다. [기능 통과](/docs/ko/llm-gateway-protocol#feature-pass-through) 참조 | 허용 목록을 작성하는 대신 `anthropic-*` 헤더 및 요청 본문을 그대로 전달합니다. 개발자에게 도달하기 전에 새 Claude Code 릴리스를 게이트웨이에 대해 테스트합니다. [Claude Code 버전 업그레이드 계획](#plan-claude-code-version-upgrades)의 영역을 확인합니다. |287| 새로운 Claude Code 릴리스는 `anthropic-beta` 값 및 요청 본문 필드를 추가합니다. | 개발자가 Claude Code를 업데이트한 후 새 필드를 명명하는 `400` 오류를 보고합니다. [기능 통과](/docs/ko/llm-gateway-protocol#feature-pass-through) 참조 | 허용 목록을 작성하는 대신 `anthropic-*` 헤더 및 요청 본문을 그대로 전달합니다. 개발자에게 도달하기 전에 새 Claude Code 릴리스를 게이트웨이에 대해 테스트합니다. [Claude Code 버전 업그레이드 계획](#plan-claude-code-version-upgrades)의 영역을 확인합니다. |

288| 새로운 Claude 모델을 사용할 수 있게 됩니다. | 개발자가 새 모델 이름을 선택하면 `404`를 받습니다. `/model` 선택기에 나열되지 않습니다. | 게이트웨이의 라우팅 구성에 모델 이름을 추가한 다음 [라우팅 확인](#confirm-the-gateway-routes-your-models)을 다시 실행합니다. `ANTHROPIC_MODEL` 또는 기본 모델 변수를 배포하는 경우 관리되는 설정을 업데이트합니다. |288| 새로운 Claude 모델을 사용할 수 있게 됩니다. | 개발자가 새 모델 이름을 선택하면 `404`를 받습니다. `/model` 선택기에 나열되지 않습니다. | 게이트웨이의 라우팅 구성에 모델 이름을 추가한 다음 [라우팅 확인](#confirm-the-gateway-routes-your-models)을 다시 실행합니다. `ANTHROPIC_MODEL` 또는 기본 모델 변수를 배포하는 경우 관리되는 설정을 업데이트합니다. |

289| 자격증명이 만료되거나 회전이 필요합니다. | 모든 개발자 요청이 업스트림에서 `401`로 실패하기 시작합니다. | 게이트웨이의 공급자 자격증명을 자체 일정에 따라 회전합니다. 개발자 키는 게이트웨이에서 회전하고, [`apiKeyHelper`](/docs/ko/llm-gateway-connect#rotate-credentials-with-apikeyhelper)는 설정을 재배포하지 않고 개발자별 회전을 처리합니다. |289| 자격증명이 만료되거나 회전이 필요합니다. | 모든 개발자 요청이 업스트림에서 `401`로 실패하기 시작합니다. | 게이트웨이의 공급자 자격증명을 자체 일정에 따라 회전합니다. 개발자 키는 게이트웨이에서 회전하고, [`apiKeyHelper`](/docs/ko/llm-gateway-connect#rotate-credentials-with-apikeyhelper)는 설정을 재배포하지 않고 개발자별 회전을 처리합니다. |


299릴리스를 테스트할 때, 게이트웨이가 거부하는 새 헤더 또는 요청 필드는 [게이트웨이 유지 관리](#maintain-the-gateway)에 설명된 `400` 오류로 나타납니다. 아래 표는 오류를 생성하지 않는 버전 종속 변경 사항을 다루며, 각 업그레이드 전체에서 각 변경 사항을 일정하게 유지하는 설정을 포함합니다.299릴리스를 테스트할 때, 게이트웨이가 거부하는 새 헤더 또는 요청 필드는 [게이트웨이 유지 관리](#maintain-the-gateway)에 설명된 `400` 오류로 나타납니다. 아래 표는 오류를 생성하지 않는 버전 종속 변경 사항을 다루며, 각 업그레이드 전체에서 각 변경 사항을 일정하게 유지하는 설정을 포함합니다.

300 300 

301| 영역 | 개발자가 업그레이드할 때 변경될 수 있는 사항 | 일정하게 유지하는 설정 |301| 영역 | 개발자가 업그레이드할 때 변경될 수 있는 사항 | 일정하게 유지하는 설정 |

302| :--------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |302| :- | :- | :- |

303| 기능 플래그 기본값 | [Anthropic에서 기능 플래그를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(예: 클라우드 공급자의 세션 또는 원격 분석이 꺼진 세션)은 설치된 버전에 내장된 플래그 기본값을 사용합니다. 릴리스가 이러한 기본값 중 하나를 변경하면 해당 개발자가 업그레이드하는 즉시 동작이 변경됩니다. | 버전 핀 자체, `requiredMaximumVersion` 또는 `DISABLE_UPDATES` |303| 기능 플래그 기본값 | [Anthropic에서 기능 플래그를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(예: 클라우드 공급자의 세션 또는 원격 분석이 꺼진 세션)은 설치된 버전에 내장된 플래그 기본값을 사용합니다. 릴리스가 이러한 기본값 중 하나를 변경하면 해당 개발자가 업그레이드하는 즉시 동작이 변경됩니다. | 버전 핀 자체, `requiredMaximumVersion` 또는 `DISABLE_UPDATES` |

304| 모델 기능 가정 | 설치된 버전이 인식하지 못하는 모델 ID(예: 게이트웨이 별칭 `prod-opus`)는 나중 버전이 ID를 인식하거나 매핑할 때까지 [적응형 추론](/docs/ko/model-config#adaptive-reasoning-and-fixed-thinking-budgets), 노력 매개변수 및 [컨텍스트 윈도우](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)에 대한 기본 가정에서 실행됩니다. | 게이트웨이에서 Anthropic 모델 ID를 라우팅하거나, Anthropic 모델 ID를 별칭에 매핑하는 [`modelOverrides`](/docs/ko/model-config#override-model-ids-per-version) 항목을 추가합니다. 클라우드 공급자 연결에서는 대신 [고정된 모델의 기능을 선언](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)할 수 있습니다. |304| 모델 기능 가정 | 설치된 버전이 인식하지 못하는 모델 ID(예: 게이트웨이 별칭 `prod-opus`)는 나중 버전이 ID를 인식하거나 매핑할 때까지 [적응형 추론](/docs/ko/model-config#adaptive-reasoning-and-fixed-thinking-budgets), 노력 매개변수 및 [컨텍스트 윈도우](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)에 대한 기본 가정에서 실행됩니다. | 게이트웨이에서 Anthropic 모델 ID를 라우팅하거나, Anthropic 모델 ID를 별칭에 매핑하는 [`modelOverrides`](/docs/ko/model-config#override-model-ids-per-version) 항목을 추가합니다. 클라우드 공급자 연결에서는 대신 [고정된 모델의 기능을 선언](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)할 수 있습니다. |

305| 기본 모델 및 별칭 | 새 세션이 기본적으로 시작되는 모델과 `opus` 및 `sonnet`과 같은 별칭이 확인되는 모델은 [각 버전에 내장](/docs/ko/model-config#pin-models-for-third-party-deployments)되어 있으며 개발자가 업그레이드할 때 변경될 수 있습니다. | 새 세션이 시작되는 모델의 경우 [`ANTHROPIC_DEFAULT_MODEL`](/docs/ko/model-config#set-a-default-model-for-new-sessions), 각 별칭이 확인되는 모델의 경우 [`ANTHROPIC_DEFAULT_*_MODEL` 변수](/docs/ko/model-config#environment-variables)(예: `ANTHROPIC_DEFAULT_OPUS_MODEL`). `ANTHROPIC_DEFAULT_MODEL`은 Claude Code v2.1.236 이상이 필요합니다. |305| 기본 모델 및 별칭 | 새 세션이 기본적으로 시작되는 모델과 `opus` 및 `sonnet`과 같은 별칭이 확인되는 모델은 [각 버전에 내장](/docs/ko/model-config#pin-models-for-third-party-deployments)되어 있으며 개발자가 업그레이드할 때 변경될 수 있습니다. | 새 세션이 시작되는 모델의 경우 [`ANTHROPIC_DEFAULT_MODEL`](/docs/ko/model-config#set-a-default-model-for-new-sessions), 각 별칭이 확인되는 모델의 경우 [`ANTHROPIC_DEFAULT_*_MODEL` 변수](/docs/ko/model-config#environment-variables)(예: `ANTHROPIC_DEFAULT_OPUS_MODEL`). `ANTHROPIC_DEFAULT_MODEL`은 Claude Code v2.1.236 이상이 필요합니다. |

managed-mcp.md +14 −14

Details

30Claude Code는 다양한 제한 수준을 지원합니다. 각 패턴은 다음 중 하나 이상의 메커니즘을 사용합니다: 고정 집합을 배포하기 위한 `managed-mcp.json`, 사용자가 추가한 서버와 함께 서버를 제공하기 위한 `managedMcpServers` 관리 설정, 그리고 사용자가 구성하는 항목을 필터링하기 위한 `allowedMcpServers`/`deniedMcpServers`.30Claude Code는 다양한 제한 수준을 지원합니다. 각 패턴은 다음 중 하나 이상의 메커니즘을 사용합니다: 고정 집합을 배포하기 위한 `managed-mcp.json`, 사용자가 추가한 서버와 함께 서버를 제공하기 위한 `managedMcpServers` 관리 설정, 그리고 사용자가 구성하는 항목을 필터링하기 위한 `allowedMcpServers`/`deniedMcpServers`.

31 31 

32| 패턴 | 기능 | 구성 |32| 패턴 | 기능 | 구성 |

33| :------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |33| :- | :- | :- |

34| **MCP 비활성화** | [세션을 시작한 앱이 등록하는 인프로세스 서버](#exclusive-control-with-managed-mcp-json) 및 [managedMcpServers를 통해 제공하는](#provide-servers-through-managed-settings) 서버를 제외한 서버가 로드되지 않음 | 빈 서버 맵이 있는 `managed-mcp.json` |34| **MCP 비활성화** | [세션을 시작한 앱이 등록하는 인프로세스 서버](#exclusive-control-with-managed-mcp-json) 및 [managedMcpServers를 통해 제공하는](#provide-servers-through-managed-settings) 서버를 제외한 서버가 로드되지 않음 | 빈 서버 맵이 있는 `managed-mcp.json` |

35| **고정 배포** | 모든 사용자가 동일한 서버를 받으며 다른 서버를 추가할 수 없음 | 원하는 서버가 있는 `managed-mcp.json` |35| **고정 배포** | 모든 사용자가 동일한 서버를 받으며 다른 서버를 추가할 수 없음 | 원하는 서버가 있는 `managed-mcp.json` |

36| **제공된 서버** | 모든 사용자가 나열한 원격 서버를 받고 자신의 서버를 유지함 | 관리 설정의 `managedMcpServers` |36| **제공된 서버** | 모든 사용자가 나열한 원격 서버를 받고 자신의 서버를 유지함 | 관리 설정의 `managedMcpServers` |


65관리자 권한이 있는 시스템 경로에 쓸 수 있는 모든 프로세스가 파일을 배포할 수 있습니다. 전체 플릿에서는 일반적으로 Jamf 또는 macOS의 구성 프로필, Windows의 그룹 정책 또는 Intune, Linux의 선택한 플릿 관리 도구 등의 디바이스 관리 도구를 통해 배포됩니다. Claude Code는 다음 경로 중 하나에서 파일을 찾습니다:65관리자 권한이 있는 시스템 경로에 쓸 수 있는 모든 프로세스가 파일을 배포할 수 있습니다. 전체 플릿에서는 일반적으로 Jamf 또는 macOS의 구성 프로필, Windows의 그룹 정책 또는 Intune, Linux의 선택한 플릿 관리 도구 등의 디바이스 관리 도구를 통해 배포됩니다. Claude Code는 다음 경로 중 하나에서 파일을 찾습니다:

66 66 

67| 플랫폼 | 경로 |67| 플랫폼 | 경로 |

68| :---------- | :--------------------------------------------------------- |68| :- | :- |

69| macOS | `/Library/Application Support/ClaudeCode/managed-mcp.json` |69| macOS | `/Library/Application Support/ClaudeCode/managed-mcp.json` |

70| Linux 및 WSL | `/etc/claude-code/managed-mcp.json` |70| Linux 및 WSL | `/etc/claude-code/managed-mcp.json` |

71| Windows | `C:\Program Files\ClaudeCode\managed-mcp.json` |71| Windows | `C:\Program Files\ClaudeCode\managed-mcp.json` |


294`allowedMcpServers` 및 `deniedMcpServers`는 항목 목록입니다. 각 항목은 URL, 명령 또는 이름으로 서버를 식별하는 단일 키를 가진 객체입니다.294`allowedMcpServers` 및 `deniedMcpServers`는 항목 목록입니다. 각 항목은 URL, 명령 또는 이름으로 서버를 식별하는 단일 키를 가진 객체입니다.

295 295 

296| 키 | 일치 대상 | 사용 대상 |296| 키 | 일치 대상 | 사용 대상 |

297| :-------------- | :---------------------------------------- | :-------------------- |297| :- | :- | :- |

298| `serverUrl` | 원격 서버 URL, 정확하거나 `*` 와일드카드 포함 | HTTP 및 SSE 서버 |298| `serverUrl` | 원격 서버 URL, 정확하거나 `*` 와일드카드 포함 | HTTP 및 SSE 서버 |

299| `serverCommand` | stdio 서버를 시작하는 정확한 명령 및 인수 | Stdio 서버 |299| `serverCommand` | stdio 서버를 시작하는 정확한 명령 및 인수 | Stdio 서버 |

300| `serverName` | 사용자가 할당한 레이블. 정확한 일치만 가능하며 와일드카드는 확장되지 않음 | 두 유형 모두, 하지만 아래 경고 참조 |300| `serverName` | 사용자가 할당한 레이블. 정확한 일치만 가능하며 와일드카드는 확장되지 않음 | 두 유형 모두, 하지만 아래 경고 참조 |


302`allowedMcpServers`를 설정하지 않는 것은 빈 배열로 설정하는 것과 다릅니다.302`allowedMcpServers`를 설정하지 않는 것은 빈 배열로 설정하는 것과 다릅니다.

303 303 

304| 설정 | 설정하지 않음 (기본값) | 빈 배열 `[]` | 채워짐 |304| 설정 | 설정하지 않음 (기본값) | 빈 배열 `[]` | 채워짐 |

305| :------------------ | :------------ | :--------------------------------------------- | :--------------------------------------------------- |305| :- | :- | :- | :- |

306| `allowedMcpServers` | 모든 서버 허용 | [조직 자체](#how-a-server-is-evaluated)를 제외한 서버 없음 | [조직 자체](#how-a-server-is-evaluated)를 제외한 일치하는 서버만 허용 |306| `allowedMcpServers` | 모든 서버 허용 | [조직 자체](#how-a-server-is-evaluated)를 제외한 서버 없음 | [조직 자체](#how-a-server-is-evaluated)를 제외한 일치하는 서버만 허용 |

307| `deniedMcpServers` | 차단된 서버 없음 | 차단된 서버 없음 | 일치하는 서버 차단 |307| `deniedMcpServers` | 차단된 서버 없음 | 차단된 서버 없음 | 일치하는 서버 차단 |

308 308 


334 명령, 인수, `env`, URL 또는 헤더에서 `${VAR}` 확장을 사용하는 `managed-mcp.json` 서버는 여전히 확인되며, 사용자, 플러그인, `--mcp-config` 또는 claude.ai가 추가하는 모든 서버도 확인됩니다.334 명령, 인수, `env`, URL 또는 헤더에서 `${VAR}` 확장을 사용하는 `managed-mcp.json` 서버는 여전히 확인되며, 사용자, 플러그인, `--mcp-config` 또는 claude.ai가 추가하는 모든 서버도 확인됩니다.

335 335 

336| 서버 유형 | 일치할 때 허용됨 |336| 서버 유형 | 일치할 때 허용됨 |

337| :--------------- | :------------------------------------------------------------------------ |337| :- | :- |

338| 원격 (HTTP 또는 SSE) | `serverUrl` 항목. `serverName` 일치는 허용 목록에 `serverUrl` 항목이 없을 때만 계산됨 |338| 원격 (HTTP 또는 SSE) | `serverUrl` 항목. `serverName` 일치는 허용 목록에 `serverUrl` 항목이 없을 때만 계산됨 |

339| Stdio | `serverCommand` 항목. `serverName` 일치는 허용 목록에 `serverCommand` 항목이 없을 때만 계산됨 |339| Stdio | `serverCommand` 항목. `serverName` 일치는 허용 목록에 `serverCommand` 항목이 없을 때만 계산됨 |

340 340 


345* **URL은 패턴의 어디든 `*` 와일드카드를 지원합니다.** 스키마 포함. 호스트명 일치는 대소문자를 구분하지 않으며 후행 FQDN 점을 무시하므로 `https://Mcp.Example.com/*`은 `https://mcp.example.com/api`와 일치합니다. 경로는 대소문자를 구분합니다.345* **URL은 패턴의 어디든 `*` 와일드카드를 지원합니다.** 스키마 포함. 호스트명 일치는 대소문자를 구분하지 않으며 후행 FQDN 점을 무시하므로 `https://Mcp.Example.com/*`은 `https://mcp.example.com/api`와 일치합니다. 경로는 대소문자를 구분합니다.

346 346 

347| 패턴 | 허용 |347| 패턴 | 허용 |

348| :-------------------------- | :------------------------------------- |348| :- | :- |

349| `https://mcp.example.com/*` | 특정 도메인의 모든 경로 |349| `https://mcp.example.com/*` | 특정 도메인의 모든 경로 |

350| `https://mcp.example.com` | 또한 해당 도메인의 모든 경로. 경로가 없는 패턴은 모든 경로와 일치 |350| `https://mcp.example.com` | 또한 해당 도메인의 모든 경로. 경로가 없는 패턴은 모든 경로와 일치 |

351| `https://*.example.com/*` | `example.com`의 모든 하위 도메인 |351| `https://*.example.com/*` | `example.com`의 모든 하위 도메인 |


359서버의 구성된 값은 `.mcp.json`의 나머지와 같이 라이브 프로세스 환경에서 확장됩니다. 정책 항목은 고정된 환경에서 확장되므로 프로젝트 또는 사용자 설정 파일에 의해 설정된 변수가 허용 목록 항목의 의미를 변경할 수 없습니다. 정책 항목은 여전히 참조하는 모든 변수에 대해 시작 셸의 값에 따라 달라지므로 적용에 의존하는 항목에는 리터럴 URL 및 명령을 사용합니다.359서버의 구성된 값은 `.mcp.json`의 나머지와 같이 라이브 프로세스 환경에서 확장됩니다. 정책 항목은 고정된 환경에서 확장되므로 프로젝트 또는 사용자 설정 파일에 의해 설정된 변수가 허용 목록 항목의 의미를 변경할 수 없습니다. 정책 항목은 여전히 참조하는 모든 변수에 대해 시작 셸의 값에 따라 달라지므로 적용에 의존하는 항목에는 리터럴 URL 및 명령을 사용합니다.

360 360 

361| 항목 목록 | 확장 대상 | URL 항목의 스키마, 호스트 또는 경로 범위를 변경하는 확장 |361| 항목 목록 | 확장 대상 | URL 항목의 스키마, 호스트 또는 경로 범위를 변경하는 확장 |

362| ------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------- |362| - | - | - |

363| `allowedMcpServers` | Claude Code가 시작한 환경, 더하기 관리 설정의 `env` 값 | Claude Code는 항목을 무시합니다 |363| `allowedMcpServers` | Claude Code가 시작한 환경, 더하기 관리 설정의 `env` 값 | Claude Code는 항목을 무시합니다 |

364| `deniedMcpServers` | 동일하며, 시작 값이 없고 `:-default`가 없는 변수는 저장소 외부의 설정 파일(예: 사용자 또는 관리 설정)에서 채워지며, 이는 항목이 일치하는 범위를 확대합니다 | 항목은 여전히 일치합니다 |364| `deniedMcpServers` | 동일하며, 시작 값이 없고 `:-default`가 없는 변수는 저장소 외부의 설정 파일(예: 사용자 또는 관리 설정)에서 채워지며, 이는 항목이 일치하는 범위를 확대합니다 | 항목은 여전히 일치합니다 |

365 365 


408 ```408 ```

409 409 

410 | 서버 | 결과 |410 | 서버 | 결과 |

411 | :---------------------------------------------- | :---------------------- |411 | :- | :- |

412 | `https://mcp.example.com/api`의 HTTP 서버 | 허용됨: URL 패턴과 일치 |412 | `https://mcp.example.com/api`의 HTTP 서버 | 허용됨: URL 패턴과 일치 |

413 | `https://api.internal.example.com/mcp`의 HTTP 서버 | 허용됨: 와일드카드 하위 도메인과 일치 |413 | `https://api.internal.example.com/mcp`의 HTTP 서버 | 허용됨: 와일드카드 하위 도메인과 일치 |

414 | `https://external.example.com/mcp`의 HTTP 서버 | 차단됨: URL 패턴과 일치하지 않음 |414 | `https://external.example.com/mcp`의 HTTP 서버 | 차단됨: URL 패턴과 일치하지 않음 |


425 ```425 ```

426 426 

427 | 서버 | 결과 |427 | 서버 | 결과 |

428 | :-------------------------------------------- | :---------------- |428 | :- | :- |

429 | `["npx", "-y", "approved-package"]`의 Stdio 서버 | 허용됨: 명령과 일치 |429 | `["npx", "-y", "approved-package"]`의 Stdio 서버 | 허용됨: 명령과 일치 |

430 | `["node", "server.js"]`의 Stdio 서버 | 차단됨: 명령과 일치하지 않음 |430 | `["node", "server.js"]`의 Stdio 서버 | 차단됨: 명령과 일치하지 않음 |

431 | `my-api`라는 HTTP 서버 | 차단됨: 일치할 이름 항목 없음 |431 | `my-api`라는 HTTP 서버 | 차단됨: 일치할 이름 항목 없음 |


442 ```442 ```

443 443 

444 | 서버 | 결과 |444 | 서버 | 결과 |

445 | :------------------------------------------------------------ | :------------------------------------- |445 | :- | :- |

446 | `["npx", "-y", "approved-package"]`의 `local-tool`이라는 Stdio 서버 | 허용됨: 명령과 일치 |446 | `["npx", "-y", "approved-package"]`의 `local-tool`이라는 Stdio 서버 | 허용됨: 명령과 일치 |

447 | `["node", "server.js"]`의 `local-tool`이라는 Stdio 서버 | 차단됨: 명령 항목이 존재하지만 일치하지 않음 |447 | `["node", "server.js"]`의 `local-tool`이라는 Stdio 서버 | 차단됨: 명령 항목이 존재하지만 일치하지 않음 |

448 | `["node", "server.js"]`의 `github`라는 Stdio 서버 | 차단됨: stdio 서버는 명령 항목이 존재할 때 명령과 일치해야 함 |448 | `["node", "server.js"]`의 `github`라는 Stdio 서버 | 차단됨: stdio 서버는 명령 항목이 존재할 때 명령과 일치해야 함 |


461 ```461 ```

462 462 

463 | 서버 | 결과 |463 | 서버 | 결과 |

464 | :--------------------------------- | :--------------- |464 | :- | :- |

465 | 모든 명령의 `github`라는 Stdio 서버 | 허용됨: 명령 제한 없음 |465 | 모든 명령의 `github`라는 Stdio 서버 | 허용됨: 명령 제한 없음 |

466 | 모든 명령의 `internal-tool`이라는 Stdio 서버 | 허용됨: 명령 제한 없음 |466 | 모든 명령의 `internal-tool`이라는 Stdio 서버 | 허용됨: 명령 제한 없음 |

467 | `github`라는 HTTP 서버 | 허용됨: 이름과 일치 |467 | `github`라는 HTTP 서버 | 허용됨: 이름과 일치 |


481 ```481 ```

482 482 

483 | 서버 | 결과 |483 | 서버 | 결과 |

484 | :----------------------------------------- | :--------------------------------- |484 | :- | :- |

485 | `https://mcp.example.com/api`의 HTTP 서버 | 허용됨: 허용 목록 URL 패턴과 일치, 거부 목록 일치 없음 |485 | `https://mcp.example.com/api`의 HTTP 서버 | 허용됨: 허용 목록 URL 패턴과 일치, 거부 목록 일치 없음 |

486 | `https://staging.example.com/api`의 HTTP 서버 | 차단됨: 둘 다 일치하지만 거부 목록이 우선 |486 | `https://staging.example.com/api`의 HTTP 서버 | 차단됨: 둘 다 일치하지만 거부 목록이 우선 |

487 | `https://other.com/mcp`의 HTTP 서버 | 차단됨: 허용 목록과 일치하지 않음 |487 | `https://other.com/mcp`의 HTTP 서버 | 차단됨: 허용 목록과 일치하지 않음 |


512`managed-mcp.json`이 배포되고 세션에 `--mcp-config` 서버도 있을 때 시작 시 사용자가 보는 내용은 [managed-mcp.json을 사용한 독점 제어](#exclusive-control-with-managed-mcp-json)를 참조하십시오. 이 표를 사용하여 다른 보고서를 인식하고 변경 사항을 배포하기 전에 사용자에게 예상되는 사항을 알려주십시오:512`managed-mcp.json`이 배포되고 세션에 `--mcp-config` 서버도 있을 때 시작 시 사용자가 보는 내용은 [managed-mcp.json을 사용한 독점 제어](#exclusive-control-with-managed-mcp-json)를 참조하십시오. 이 표를 사용하여 다른 보고서를 인식하고 변경 사항을 배포하기 전에 사용자에게 예상되는 사항을 알려주십시오:

513 513 

514| 제한 사항 | 사용자가 보는 내용 |514| 제한 사항 | 사용자가 보는 내용 |

515| :--------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |515| :- | :- |

516| `managed-mcp.json`이 있고 사용자가 `claude mcp add`를 실행함 | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |516| `managed-mcp.json`이 있고 사용자가 `claude mcp add`를 실행함 | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |

517| 서버가 거부 목록에 있고 사용자가 `claude mcp add`를 실행함 | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |517| 서버가 거부 목록에 있고 사용자가 `claude mcp add`를 실행함 | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

518| 서버가 허용 목록에 없고 사용자가 `claude mcp add`를 실행함 | `Cannot add MCP server "<name>": not allowed by enterprise policy` |518| 서버가 허용 목록에 없고 사용자가 `claude mcp add`를 실행함 | `Cannot add MCP server "<name>": not allowed by enterprise policy` |


535이 페이지에서 다루는 모든 파일 및 설정, 제어 항목 및 전달 방법:535이 페이지에서 다루는 모든 파일 및 설정, 제어 항목 및 전달 방법:

536 536 

537| 표면 | 제어 항목 | 위치 | 전달 방법 |537| 표면 | 제어 항목 | 위치 | 전달 방법 |

538| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |538| :- | :- | :- | :- |

539| `managed-mcp.json` | 고정 서버 집합, 독점 제어 | 시스템 경로: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, 또는 `C:\Program Files\ClaudeCode\` | MDM, GPO, 플릿 관리, 또는 관리자 권한이 있는 모든 프로세스. 서버 관리 설정을 통해 설정할 수 없음 |539| `managed-mcp.json` | 고정 서버 집합, 독점 제어 | 시스템 경로: `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, 또는 `C:\Program Files\ClaudeCode\` | MDM, GPO, 플릿 관리, 또는 관리자 권한이 있는 모든 프로세스. 서버 관리 설정을 통해 설정할 수 없음 |

540| `managedMcpServers` | 모든 사용자에게 자신의 서버와 함께 제공되는 원격 서버 | 관리형 설정 소스만; 설정은 다른 곳에서 효과 없음 | [관리형 설정 소스](/docs/ko/admin-setup#decide-how-settings-reach-devices): 서버 관리 설정, 게이트웨이 정책, `managed-settings.json`, MDM 프로필, 또는 HKLM 레지스트리 |540| `managedMcpServers` | 모든 사용자에게 자신의 서버와 함께 제공되는 원격 서버 | 관리형 설정 소스만; 설정은 다른 곳에서 효과 없음 | [관리형 설정 소스](/docs/ko/admin-setup#decide-how-settings-reach-devices): 서버 관리 설정, 게이트웨이 정책, `managed-settings.json`, MDM 프로필, 또는 HKLM 레지스트리 |

541| `allowedMcpServers` | 허용된 서버의 허용 목록 | 모든 [설정 범위](/docs/ko/settings#where-settings-live); [서버 평가 방식](#how-a-server-is-evaluated)에서 여러 범위 및 관리형 소스의 목록이 결합되는 방식을 설명 | 적용을 위해, [관리형 설정 소스](/docs/ko/admin-setup#decide-how-settings-reach-devices): 서버 관리 설정, `managed-settings.json`, MDM 프로필, 또는 레지스트리 |541| `allowedMcpServers` | 허용된 서버의 허용 목록 | 모든 [설정 범위](/docs/ko/settings#where-settings-live); [서버 평가 방식](#how-a-server-is-evaluated)에서 여러 범위 및 관리형 소스의 목록이 결합되는 방식을 설명 | 적용을 위해, [관리형 설정 소스](/docs/ko/admin-setup#decide-how-settings-reach-devices): 서버 관리 설정, `managed-settings.json`, MDM 프로필, 또는 레지스트리 |

Details

71아래 표를 사용하여 이미 디바이스를 관리하는 방식에 따라 메커니즘을 선택하세요.71아래 표를 사용하여 이미 디바이스를 관리하는 방식에 따라 메커니즘을 선택하세요.

72 72 

73| 메커니즘 | 전달 방식 | Claude Code가 읽는 시점 | 사용 시기 |73| 메커니즘 | 전달 방식 | Claude Code가 읽는 시점 | 사용 시기 |

74| :-------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------- |74| :- | :- | :- | :- |

75| [서버 관리 설정](/docs/ko/server-managed-settings) | claude.ai 관리 콘솔 또는 자체 호스팅 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)에서 | 시작 시 가져오고 매시간 폴링됨. [정책이 적용되는 위치 및 시기](#where-and-when-a-policy-applies) 참조 | 각 머신을 건드리지 않고 claude.ai 조직의 정책을 변경할 수 있는 한 곳을 원할 때 |75| [서버 관리 설정](/docs/ko/server-managed-settings) | claude.ai 관리 콘솔 또는 자체 호스팅 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)에서 | 시작 시 가져오고 매시간 폴링됨. [정책이 적용되는 위치 및 시기](#where-and-when-a-policy-applies) 참조 | 각 머신을 건드리지 않고 claude.ai 조직의 정책을 변경할 수 있는 한 곳을 원할 때 |

76| MDM 또는 OS 수준 정책 | Jamf, Intune, Group Policy 또는 유사한 도구를 통해 macOS 구성 프로필 또는 Windows `HKLM` 레지스트리 값으로 제공됨. [각 메커니즘이 정책을 저장하는 위치](#where-each-mechanism-stores-the-policy) 참조 | 시작 시 읽고 30분마다 변경 사항 확인 | 이미 MDM 또는 Group Policy로 디바이스를 관리할 때 |76| MDM 또는 OS 수준 정책 | Jamf, Intune, Group Policy 또는 유사한 도구를 통해 macOS 구성 프로필 또는 Windows `HKLM` 레지스트리 값으로 제공됨. [각 메커니즘이 정책을 저장하는 위치](#where-each-mechanism-stores-the-policy) 참조 | 시작 시 읽고 30분마다 변경 사항 확인 | 이미 MDM 또는 Group Policy로 디바이스를 관리할 때 |

77| 파일 기반 | 각 머신의 시스템 디렉토리에 `managed-settings.json`으로 제공됨. [각 메커니즘이 정책을 저장하는 위치](#where-each-mechanism-stores-the-policy) 참조 | 시작 시 읽고 파일이 변경될 때 다시 로드됨 | MDM이 없는 머신, Linux 호스트 또는 직접 빌드한 이미지 |77| 파일 기반 | 각 머신의 시스템 디렉토리에 `managed-settings.json`으로 제공됨. [각 메커니즘이 정책을 저장하는 위치](#where-each-mechanism-stores-the-policy) 참조 | 시작 시 읽고 파일이 변경될 때 다시 로드됨 | MDM이 없는 머신, Linux 호스트 또는 직접 빌드한 이미지 |


207이 표는 `"merge"` 아래에서 Claude Code가 각 종류의 키를 결합하는 방식을 보여줍니다. [`managedSourcesBehavior` 항목](/docs/ko/settings-reference#managedsourcesbehavior)은 세 행의 모든 키를 이름 지정합니다: 제한 허용 목록, 전체로 취한 값, 그리고 가장 높은 순위의 소스에서만 읽은 키입니다.207이 표는 `"merge"` 아래에서 Claude Code가 각 종류의 키를 결합하는 방식을 보여줍니다. [`managedSourcesBehavior` 항목](/docs/ko/settings-reference#managedsourcesbehavior)은 세 행의 모든 키를 이름 지정합니다: 제한 허용 목록, 전체로 취한 값, 그리고 가장 높은 순위의 소스에서만 읽은 키입니다.

208 208 

209| 키의 종류 | Claude Code가 결합하는 방식 | 예 |209| 키의 종류 | Claude Code가 결합하는 방식 | 예 |

210| :------------------- | :--------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |210| :- | :- | :- |

211| 목록 | 모든 소스의 항목을 결합합니다 | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |211| 목록 | 모든 소스의 항목을 결합합니다 | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |

212| 잠금 | 모든 소스가 설정하는 가장 엄격한 값을 적용합니다. 더 느슨한 값은 가장 높은 순위의 소스에서만 적용됩니다 | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |212| 잠금 | 모든 소스가 설정하는 가장 엄격한 값을 적용합니다. 더 느슨한 값은 가장 높은 순위의 소스에서만 적용됩니다 | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |

213| 제한 허용 목록 | 더 낮은 소스의 항목을 추가하지 않고 이를 설정하는 가장 높은 순위의 소스에서 전체 목록을 취합니다 | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, 및 `fallbackModel` 체인 |213| 제한 허용 목록 | 더 낮은 소스의 항목을 추가하지 않고 이를 설정하는 가장 높은 순위의 소스에서 전체 목록을 취합니다 | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, 및 `fallbackModel` 체인 |


363일부 적용 키는 유효하지 않을 때 삭제되지 않습니다. Claude Code는 값이 수정될 때까지 더 엄격한 폴백을 적용합니다. 표는 각 키에 대해 적용되는 내용을 보여줍니다:363일부 적용 키는 유효하지 않을 때 삭제되지 않습니다. Claude Code는 값이 수정될 때까지 더 엄격한 폴백을 적용합니다. 표는 각 키에 대해 적용되는 내용을 보여줍니다:

364 364 

365| 필드 | 존재하지만 유효하지 않을 때의 동작 |365| 필드 | 존재하지만 유효하지 않을 때의 동작 |

366| :---------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |366| :- | :- |

367| `allowedMcpServers` | 값이 수정될 때까지 빈 허용 목록으로 적용되므로, 사용자가 추가하는 MCP 서버는 허용되지 않습니다. 조직이 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers)를 통해 전달하는 서버는 여전히 로드되고, `managed-mcp.json` 서버는 [서버 평가 방법](/docs/ko/managed-mcp#how-a-server-is-evaluated)에 따라 로드됩니다. 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. |367| `allowedMcpServers` | 값이 수정될 때까지 빈 허용 목록으로 적용되므로, 사용자가 추가하는 MCP 서버는 허용되지 않습니다. 조직이 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers)를 통해 전달하는 서버는 여전히 로드되고, `managed-mcp.json` 서버는 [서버 평가 방법](/docs/ko/managed-mcp#how-a-server-is-evaluated)에 따라 로드됩니다. 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. |

368| `allowedHttpHookUrls` | Claude Code는 값을 수정할 때까지 빈 관리형 [허용 목록](/docs/ko/settings-reference#allowedhttphookurls)을 적용하므로, HTTP 훅은 다른 설정 파일이 해당 URL을 나열하는 경우에만 실행됩니다. 개별 항목만 유효하지 않으면, Claude Code는 해당 항목을 제거하고 나머지를 적용합니다. |368| `allowedHttpHookUrls` | Claude Code는 값을 수정할 때까지 빈 관리형 [허용 목록](/docs/ko/settings-reference#allowedhttphookurls)을 적용하므로, HTTP 훅은 다른 설정 파일이 해당 URL을 나열하는 경우에만 실행됩니다. 개별 항목만 유효하지 않으면, Claude Code는 해당 항목을 제거하고 나머지를 적용합니다. |

369| `httpHookAllowedEnvVars` | Claude Code는 값을 수정할 때까지 빈 관리형 [허용 목록](/docs/ko/settings-reference#httphookallowedenvvars)을 적용하므로, 헤더 변수는 다른 설정 파일이 이름을 지정하는 경우에만 보간됩니다. 개별 항목만 유효하지 않으면, Claude Code는 해당 항목을 제거하고 나머지를 적용합니다. |369| `httpHookAllowedEnvVars` | Claude Code는 값을 수정할 때까지 빈 관리형 [허용 목록](/docs/ko/settings-reference#httphookallowedenvvars)을 적용하므로, 헤더 변수는 다른 설정 파일이 이름을 지정하는 경우에만 보간됩니다. 개별 항목만 유효하지 않으면, Claude Code는 해당 항목을 제거하고 나머지를 적용합니다. |


404이 표는 권한, 플러그인 및 전달 제어를 다룹니다. 여기에 나열되지 않은 키의 경우, [설정 참조](/docs/ko/settings-reference#all-settings) 인덱스의 범위 열에 관리형 전용 여부가 표시됩니다. 그곳의 나머지 관리형 전용 키에는 게이트웨이 로그인 URL, 버전, 브라우저, 모바일 시뮬레이터, SSH 호스트, Desktop 로컬 세션, 샌드박스 바이너리 경로, 모델 가격 책정 및 CLAUDE.md 제어가 포함됩니다.404이 표는 권한, 플러그인 및 전달 제어를 다룹니다. 여기에 나열되지 않은 키의 경우, [설정 참조](/docs/ko/settings-reference#all-settings) 인덱스의 범위 열에 관리형 전용 여부가 표시됩니다. 그곳의 나머지 관리형 전용 키에는 게이트웨이 로그인 URL, 버전, 브라우저, 모바일 시뮬레이터, SSH 호스트, Desktop 로컬 세션, 샌드박스 바이너리 경로, 모델 가격 책정 및 CLAUDE.md 제어가 포함됩니다.

405 405 

406| 설정 | 설명 |406| 설정 | 설명 |

407| :-------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |407| :- | :- |

408| [`allowAllClaudeAiMcps`](/docs/ko/settings-reference#allowallclaudeaimcps) | Claude Code가 자체적으로 가져오는 claude.ai 커넥터를 배포된 `managed-mcp.json`과 함께 로드합니다. 이는 커넥터를 억제하는 대신 추가로 로드합니다 |408| [`allowAllClaudeAiMcps`](/docs/ko/settings-reference#allowallclaudeaimcps) | Claude Code가 자체적으로 가져오는 claude.ai 커넥터를 배포된 `managed-mcp.json`과 함께 로드합니다. 이는 커넥터를 억제하는 대신 추가로 로드합니다 |

409| [`allowedChannelPlugins`](/docs/ko/settings-reference#allowedchannelplugins) | 메시지를 푸시할 수 있는 채널 플러그인의 허용 목록입니다. 설정되면 기본 Anthropic 허용 목록을 대체합니다. `channelsEnabled: true`가 필요합니다. [실행할 수 있는 채널 플러그인 제한](/docs/ko/channels#restrict-which-channel-plugins-can-run)을 참조하세요 |409| [`allowedChannelPlugins`](/docs/ko/settings-reference#allowedchannelplugins) | 메시지를 푸시할 수 있는 채널 플러그인의 허용 목록입니다. 설정되면 기본 Anthropic 허용 목록을 대체합니다. `channelsEnabled: true`가 필요합니다. [실행할 수 있는 채널 플러그인 제한](/docs/ko/channels#restrict-which-channel-plugins-can-run)을 참조하세요 |

410| [`allowManagedHooksOnly`](/docs/ko/settings-reference#allowmanagedhooksonly) | `true`일 때 실행되는 훅을 제한합니다. [allowManagedHooksOnly에서 실행되는 항목](/docs/ko/settings-reference#what-runs-under-allowmanagedhooksonly)에서 전체 효과 목록을 참조하세요 |410| [`allowManagedHooksOnly`](/docs/ko/settings-reference#allowmanagedhooksonly) | `true`일 때 실행되는 훅을 제한합니다. [allowManagedHooksOnly에서 실행되는 항목](/docs/ko/settings-reference#what-runs-under-allowmanagedhooksonly)에서 전체 효과 목록을 참조하세요 |

mcp.md +5 −5

Details

572MCP 서버는 세 가지 범위에서 구성할 수 있습니다. 선택한 범위는 서버가 로드되는 프로젝트와 구성이 팀과 공유되는지 여부를 제어합니다. 관리자는 [관리형 구성](#managed-mcp-configuration)을 통해 모든 사용자를 위해 서버를 배포하거나 제공할 수도 있습니다.572MCP 서버는 세 가지 범위에서 구성할 수 있습니다. 선택한 범위는 서버가 로드되는 프로젝트와 구성이 팀과 공유되는지 여부를 제어합니다. 관리자는 [관리형 구성](#managed-mcp-configuration)을 통해 모든 사용자를 위해 서버를 배포하거나 제공할 수도 있습니다.

573 573 

574| 범위 | 로드 위치 | 팀과 공유 | 저장 위치 |574| 범위 | 로드 위치 | 팀과 공유 | 저장 위치 |

575| ---------------------- | -------- | ------------ | -------------------- |575| - | - | - | - |

576| [로컬](#local-scope) | 현재 프로젝트만 | 아니오 | `~/.claude.json` |576| [로컬](#local-scope) | 현재 프로젝트만 | 아니오 | `~/.claude.json` |

577| [프로젝트](#project-scope) | 현재 프로젝트만 | 예, 버전 제어를 통해 | 프로젝트 루트의 `.mcp.json` |577| [프로젝트](#project-scope) | 현재 프로젝트만 | 예, 버전 제어를 통해 | 프로젝트 루트의 `.mcp.json` |

578| [사용자](#user-scope) | 모든 프로젝트 | 아니오 | `~/.claude.json` |578| [사용자](#user-scope) | 모든 프로젝트 | 아니오 | `~/.claude.json` |


1085Claude Code는 헬퍼를 실행할 때 다음 환경 변수를 설정합니다:1085Claude Code는 헬퍼를 실행할 때 다음 환경 변수를 설정합니다:

1086 1086 

1087| 변수 | 값 |1087| 변수 | 값 |

1088| :---------------------------- | :-------------------------------------------------------------------------- |1088| :- | :- |

1089| `CLAUDE_CODE_MCP_SERVER_NAME` | MCP 서버의 이름 |1089| `CLAUDE_CODE_MCP_SERVER_NAME` | MCP 서버의 이름 |

1090| `CLAUDE_CODE_MCP_SERVER_URL` | MCP 서버의 URL |1090| `CLAUDE_CODE_MCP_SERVER_URL` | MCP 서버의 URL |

1091| `CLAUDE_PLUGIN_ROOT` | 플러그인의 루트 디렉토리. [플러그인](/docs/ko/plugins/components#mcp-servers)이 서버를 제공할 때만 설정됩니다 |1091| `CLAUDE_PLUGIN_ROOT` | 플러그인의 루트 디렉토리. [플러그인](/docs/ko/plugins/components#mcp-servers)이 서버를 제공할 때만 설정됩니다 |


1101Claude Code는 서버를 선언한 구성에서 `headersHelper` 명령의 작업 디렉토리를 선택합니다. Claude Code에서 실행하는 `cd`는 이를 이동하지 않으며, [`/cd`](/docs/ko/permissions#move-the-session-to-another-directory)는 세션의 기본 작업 디렉토리에서 실행되는 서버에 대해서만 이를 이동합니다. 아래의 각 행은 `headersHelper` 명령의 상대 경로가 확인되는 디렉토리를 제공합니다.1101Claude Code는 서버를 선언한 구성에서 `headersHelper` 명령의 작업 디렉토리를 선택합니다. Claude Code에서 실행하는 `cd`는 이를 이동하지 않으며, [`/cd`](/docs/ko/permissions#move-the-session-to-another-directory)는 세션의 기본 작업 디렉토리에서 실행되는 서버에 대해서만 이를 이동합니다. 아래의 각 행은 `headersHelper` 명령의 상대 경로가 확인되는 디렉토리를 제공합니다.

1102 1102 

1103| 서버를 구성한 위치 | 작업 디렉토리 |1103| 서버를 구성한 위치 | 작업 디렉토리 |

1104| :--------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------- |1104| :- | :- |

1105| [플러그인](/docs/ko/plugins/components#mcp-servers) | 플러그인의 루트 디렉토리. Claude Code v2.1.195 이상이 필요합니다 |1105| [플러그인](/docs/ko/plugins/components#mcp-servers) | 플러그인의 루트 디렉토리. Claude Code v2.1.195 이상이 필요합니다 |

1106| 프로젝트 `.mcp.json` 또는 [로컬 범위](#local-scope) 서버 | 서버가 선언된 프로젝트 디렉토리 |1106| 프로젝트 `.mcp.json` 또는 [로컬 범위](#local-scope) 서버 | 서버가 선언된 프로젝트 디렉토리 |

1107| 프로젝트의 에이전트 파일, SDK의 `mcpServers` 옵션 또는 `setMcpServers()` 메서드의 서버, 또는 [`--mcp-config`](/docs/ko/cli-reference) | 세션의 [기본 작업 디렉토리](/docs/ko/permissions#working-directories) |1107| 프로젝트의 에이전트 파일, SDK의 `mcpServers` 옵션 또는 `setMcpServers()` 메서드의 서버, 또는 [`--mcp-config`](/docs/ko/cli-reference) | 세션의 [기본 작업 디렉토리](/docs/ko/permissions#working-directories) |


1270claude.ai 커넥터를 제어하는 설정은 세션이 실행되는 위치에 따라 달라집니다. 일부 세션만 claude.ai에서 커넥터를 가져오기 때문입니다. 아래의 각 행은 한 종류의 세션에서 커넥터가 도착하는 방식과 그곳에서 이를 제어하는 것을 이름 지정합니다. 데스크톱 앱의 [WSL 세션](/docs/ko/desktop-wsl#what-works-in-a-wsl-session)은 아직 커넥터를 사용할 수 없으므로 행이 없습니다.1270claude.ai 커넥터를 제어하는 설정은 세션이 실행되는 위치에 따라 달라집니다. 일부 세션만 claude.ai에서 커넥터를 가져오기 때문입니다. 아래의 각 행은 한 종류의 세션에서 커넥터가 도착하는 방식과 그곳에서 이를 제어하는 것을 이름 지정합니다. 데스크톱 앱의 [WSL 세션](/docs/ko/desktop-wsl#what-works-in-a-wsl-session)은 아직 커넥터를 사용할 수 없으므로 행이 없습니다.

1271 1271 

1272| 세션이 실행되는 위치 | 커넥터가 도착하는 방식 | 이를 제어하는 것 |1272| 세션이 실행되는 위치 | 커넥터가 도착하는 방식 | 이를 제어하는 것 |

1273| :---------------------------------------------------------------------------------------------------------------- | :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |1273| :- | :- | :- |

1274| Terminal, [VS Code](/docs/ko/vs-code), [JetBrains](/docs/ko/jetbrains) 및 [Agent SDK](/docs/ko/agent-sdk/claude-code-features) 세션 | Claude Code가 claude.ai에서 가져옴 | 이 섹션의 설정 및 [관리형 MCP 구성](/docs/ko/managed-mcp) |1274| Terminal, [VS Code](/docs/ko/vs-code), [JetBrains](/docs/ko/jetbrains) 및 [Agent SDK](/docs/ko/agent-sdk/claude-code-features) 세션 | Claude Code가 claude.ai에서 가져옴 | 이 섹션의 설정 및 [관리형 MCP 구성](/docs/ko/managed-mcp) |

1275| [클라우드 세션](/docs/ko/claude-code-on-the-web) | 원격 호스트가 전달 | claude.ai 조직 설정, 그리고 세션에 도달하는 [허용 목록 및 거부 목록](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 설정 및 이를 실행하는 호스트의 모든 `managed-mcp.json` |1275| [클라우드 세션](/docs/ko/claude-code-on-the-web) | 원격 호스트가 전달 | claude.ai 조직 설정, 그리고 세션에 도달하는 [허용 목록 및 거부 목록](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 설정 및 이를 실행하는 호스트의 모든 `managed-mcp.json` |

1276| [데스크톱 앱](/docs/ko/desktop)의 로컬 및 SSH 세션 | 데스크톱 앱이 프로세스 내에서 전달 | 조직의 [커넥터 도구 제어](#organization-controls-on-connector-tools)의 `blocked` 항목 |1276| [데스크톱 앱](/docs/ko/desktop)의 로컬 및 SSH 세션 | 데스크톱 앱이 프로세스 내에서 전달 | 조직의 [커넥터 도구 제어](#organization-controls-on-connector-tools)의 `blocked` 항목 |


1586`ENABLE_TOOL_SEARCH` 환경 변수로 도구 검색 동작을 제어하세요:1586`ENABLE_TOOL_SEARCH` 환경 변수로 도구 검색 동작을 제어하세요:

1587 1587 

1588| 값 | 동작 |1588| 값 | 동작 |

1589| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1589| :- | :- |

1590| (설정 안 함) | 모든 MCP 도구가 연기되고 필요에 따라 로드됩니다. Google Cloud의 Agent Platform 모델이 Claude 4.5 세대보다 이전이거나, `ANTHROPIC_BASE_URL`이 비자사 호스트이거나, Microsoft Foundry 배포가 Azure에서 호스팅될 때 미리 로드로 폴백됩니다 |1590| (설정 안 함) | 모든 MCP 도구가 연기되고 필요에 따라 로드됩니다. Google Cloud의 Agent Platform 모델이 Claude 4.5 세대보다 이전이거나, `ANTHROPIC_BASE_URL`이 비자사 호스트이거나, Microsoft Foundry 배포가 Azure에서 호스팅될 때 미리 로드로 폴백됩니다 |

1591| `true` | 모든 MCP 도구가 연기됩니다. 단, Microsoft Foundry 배포가 Azure에서 호스팅될 때는 서버 측 거부가 여전히 미리 로드를 강제하고, Google Cloud의 Agent Platform 모델이 Claude 4.5 세대보다 이전일 때는 Claude Code가 도구를 미리 로드합니다. Claude Code는 프록시를 통해 베타 헤더를 전송하며, `tool_reference` 블록을 지원하지 않는 프록시에서는 요청이 실패합니다 |1591| `true` | 모든 MCP 도구가 연기됩니다. 단, Microsoft Foundry 배포가 Azure에서 호스팅될 때는 서버 측 거부가 여전히 미리 로드를 강제하고, Google Cloud의 Agent Platform 모델이 Claude 4.5 세대보다 이전일 때는 Claude Code가 도구를 미리 로드합니다. Claude Code는 프록시를 통해 베타 헤더를 전송하며, `tool_reference` 블록을 지원하지 않는 프록시에서는 요청이 실패합니다 |

1592| `auto` | 임계값 모드: Claude Code는 정의가 컨텍스트 윈도우의 10% 미만일 때 연기할 도구를 미리 로드하고, 정의가 10%에 도달하면 모두 연기합니다 |1592| `auto` | 임계값 모드: Claude Code는 정의가 컨텍스트 윈도우의 10% 미만일 때 연기할 도구를 미리 로드하고, 정의가 10%에 도달하면 모두 연기합니다 |

Details

61 서버는 상태 표시기와 함께 나타납니다:61 서버는 상태 표시기와 함께 나타납니다:

62 62 

63 | 상태 | 의미 |63 | 상태 | 의미 |

64 | :------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------- |64 | :- | :- |

65 | `✔ Connected` | 사용할 준비가 되었습니다. `claude-code-docs`에서 이것을 봐야 합니다 |65 | `✔ Connected` | 사용할 준비가 되었습니다. `claude-code-docs`에서 이것을 봐야 합니다 |

66 | `! Connected · tools fetch failed` | 서버가 연결되었지만 도구를 나열할 수 없습니다. 오류 세부 정보는 `claude mcp get <name>`을 실행하세요 |66 | `! Connected · tools fetch failed` | 서버가 연결되었지만 도구를 나열할 수 없습니다. 오류 세부 정보는 `claude mcp get <name>`을 실행하세요 |

67 | `! Needs authentication` | 서버에 도달할 수 있지만 브라우저 로그인이 필요하거나 `--header`로 전달된 토큰이 필요합니다. [로그인이 필요한 서버 연결하기](#connect-a-server-that-requires-sign-in)를 참조하세요 |67 | `! Needs authentication` | 서버에 도달할 수 있지만 브라우저 로그인이 필요하거나 `--header`로 전달된 토큰이 필요합니다. [로그인이 필요한 서버 연결하기](#connect-a-server-that-requires-sign-in)를 참조하세요 |


129`claude mcp add` 명령은 `--scope` 플래그에 따라 두 파일에 걸쳐 저장된 세 가지 범위 중 하나에 서버를 씁니다. 이러한 파일을 직접 편집할 필요는 없지만 위치를 알면 디버깅 및 버전 제어에 도움이 됩니다.129`claude mcp add` 명령은 `--scope` 플래그에 따라 두 파일에 걸쳐 저장된 세 가지 범위 중 하나에 서버를 씁니다. 이러한 파일을 직접 편집할 필요는 없지만 위치를 알면 디버깅 및 버전 제어에 도움이 됩니다.

130 130 

131| 범위 | 파일 | 사용 가능 대상 |131| 범위 | 파일 | 사용 가능 대상 |

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

133| `local` | `~/.claude.json`, 이 프로젝트의 항목 아래 | 사용자만, 이 프로젝트만. 기본값 |133| `local` | `~/.claude.json`, 이 프로젝트의 항목 아래 | 사용자만, 이 프로젝트만. 기본값 |

134| `project` | 프로젝트 루트의 `.mcp.json` | 프로젝트를 복제하는 모든 사람 |134| `project` | 프로젝트 루트의 `.mcp.json` | 프로젝트를 복제하는 모든 사람 |

135| `user` | `~/.claude.json`, 최상위 `mcpServers` 키 아래 | 사용자만, 모든 프로젝트 |135| `user` | `~/.claude.json`, 최상위 `mcpServers` 키 아래 | 사용자만, 모든 프로젝트 |

memory.md +8 −8

Details

26Claude Code에는 두 가지 상호 보완적인 메모리 시스템이 있습니다. 둘 다 모든 대화의 시작 시 로드됩니다. Claude는 이들을 강제된 구성이 아닌 컨텍스트로 취급합니다. 작업을 차단하려면 어떤 Claude의 결정과 관계없이 [PreToolUse 훅](/docs/ko/hooks-guide)을 사용합니다. 지침이 더 구체적이고 간결할수록 Claude가 더 일관되게 따릅니다.26Claude Code에는 두 가지 상호 보완적인 메모리 시스템이 있습니다. 둘 다 모든 대화의 시작 시 로드됩니다. Claude는 이들을 강제된 구성이 아닌 컨텍스트로 취급합니다. 작업을 차단하려면 어떤 Claude의 결정과 관계없이 [PreToolUse 훅](/docs/ko/hooks-guide)을 사용합니다. 지침이 더 구체적이고 간결할수록 Claude가 더 일관되게 따릅니다.

27 27 

28| | CLAUDE.md 파일 | 자동 메모리 |28| | CLAUDE.md 파일 | 자동 메모리 |

29| :-------- | :---------------------- | :------------------------------------------------------------ |29| :- | :- | :- |

30| **작성자** | 사용자 | Claude |30| **작성자** | 사용자 | Claude |

31| **포함 내용** | 지침 및 규칙 | 학습 및 패턴 |31| **포함 내용** | 지침 및 규칙 | 학습 및 패턴 |

32| **범위** | 프로젝트, 사용자 또는 조직 | 저장소당, 작업 트리 전체에서 공유 |32| **범위** | 프로젝트, 사용자 또는 조직 | 저장소당, 작업 트리 전체에서 공유 |


63CLAUDE.md 파일은 여러 위치에 있을 수 있으며, 각각 다른 범위를 가집니다. 아래 표는 로드 순서대로 나열되어 있으며, 가장 광범위한 범위에서 가장 구체적인 범위까지이므로 프로젝트 지침이 사용자 지침 이후에 컨텍스트에 나타납니다.63CLAUDE.md 파일은 여러 위치에 있을 수 있으며, 각각 다른 범위를 가집니다. 아래 표는 로드 순서대로 나열되어 있으며, 가장 광범위한 범위에서 가장 구체적인 범위까지이므로 프로젝트 지침이 사용자 지침 이후에 컨텍스트에 나타납니다.

64 64 

65| 범위 | 위치 | 목적 | 사용 사례 예시 | 공유 대상 |65| 범위 | 위치 | 목적 | 사용 사례 예시 | 공유 대상 |

66| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | ---------------------------- | -------------- |66| - | - | - | - | - |

67| **관리형 정책** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux 및 WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | IT/DevOps에서 관리하는 조직 전체 지침 | 회사 코딩 표준, 보안 정책, 규정 준수 요구사항 | 조직의 모든 사용자 |67| **관리형 정책** | • macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux 및 WSL: `/etc/claude-code/CLAUDE.md`<br />• Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | IT/DevOps에서 관리하는 조직 전체 지침 | 회사 코딩 표준, 보안 정책, 규정 준수 요구사항 | 조직의 모든 사용자 |

68| **사용자 지침** | `~/.claude/CLAUDE.md` | 모든 프로젝트에 대한 개인 선호도 | 코드 스타일 선호도, 개인 도구 단축키 | 본인만 (모든 프로젝트) |68| **사용자 지침** | `~/.claude/CLAUDE.md` | 모든 프로젝트에 대한 개인 선호도 | 코드 스타일 선호도, 개인 도구 단축키 | 본인만 (모든 프로젝트) |

69| **프로젝트 지침** | `./CLAUDE.md` 또는 `./.claude/CLAUDE.md`. `./AGENTS.md`가 이들 대신 또는 함께 로드되는 시기는 [AGENTS.md](#agents-md)를 참조하십시오 | 프로젝트를 위한 팀 공유 지침 | 프로젝트 아키텍처, 코딩 표준, 일반적인 워크플로우 | 소스 제어를 통한 팀 멤버 |69| **프로젝트 지침** | `./CLAUDE.md` 또는 `./.claude/CLAUDE.md`. `./AGENTS.md`가 이들 대신 또는 함께 로드되는 시기는 [AGENTS.md](#agents-md)를 참조하십시오 | 프로젝트를 위한 팀 공유 지침 | 프로젝트 아키텍처, 코딩 표준, 일반적인 워크플로우 | 소스 제어를 통한 팀 멤버 |


223`paths` 필드에서 glob 패턴을 사용하여 확장자, 디렉토리 또는 조합으로 파일을 일치시키십시오:223`paths` 필드에서 glob 패턴을 사용하여 확장자, 디렉토리 또는 조합으로 파일을 일치시키십시오:

224 224 

225| 패턴 | 일치 |225| 패턴 | 일치 |

226| ---------------------- | ------------------------- |226| - | - |

227| `**/*.ts` | 모든 디렉토리의 모든 TypeScript 파일 |227| `**/*.ts` | 모든 디렉토리의 모든 TypeScript 파일 |

228| `src/**/*` | `src/` 디렉토리 아래의 모든 파일 |228| `src/**/*` | `src/` 디렉토리 아래의 모든 파일 |

229| `*.md` | 프로젝트 루트의 마크다운 파일 |229| `*.md` | 프로젝트 루트의 마크다운 파일 |


253YAML [frontmatter](/docs/ko/glossary#frontmatter)로 규칙을 구성하십시오. `---` 마커 사이에 위치합니다. `paths`는 Claude Code가 규칙에서 읽는 유일한 필드입니다. 다른 필드는 오류 없이 무시됩니다. Claude Code는 규칙을 컨텍스트에 로드하기 전에 frontmatter를 제거합니다.253YAML [frontmatter](/docs/ko/glossary#frontmatter)로 규칙을 구성하십시오. `---` 마커 사이에 위치합니다. `paths`는 Claude Code가 규칙에서 읽는 유일한 필드입니다. 다른 필드는 오류 없이 무시됩니다. Claude Code는 규칙을 컨텍스트에 로드하기 전에 frontmatter를 제거합니다.

254 254 

255| 필드 | 필수 | 설명 |255| 필드 | 필수 | 설명 |

256| :------ | :-- | :----------------------------------------------------------------------------------- |256| :- | :- | :- |

257| `paths` | 아니오 | [규칙을 일치하는 파일로 범위를 지정](#path-specific-rules)하는 Glob 패턴. YAML 목록 또는 쉼표로 구분된 문자열을 허용합니다 |257| `paths` | 아니오 | [규칙을 일치하는 파일로 범위를 지정](#path-specific-rules)하는 Glob 패턴. YAML 목록 또는 쉼표로 구분된 문자열을 허용합니다 |

258 258 

259마커 사이의 YAML이 구문 분석되지 않으면 Claude Code는 frontmatter를 무시하고 `paths`가 없는 것처럼 규칙을 로드합니다. `claude --debug`를 실행하여 구문 분석 오류를 확인하십시오.259마커 사이의 YAML이 구문 분석되지 않으면 Claude Code는 frontmatter를 무시하고 `paths`가 없는 것처럼 규칙을 로드합니다. `claude --debug`를 실행하여 구문 분석 오류를 확인하십시오.


330관리형 CLAUDE.md와 [관리형 설정](/docs/ko/managed-settings)은 다른 목적을 제공합니다. 기술적 강제를 위해 설정을 사용하고 CLAUDE.md를 동작 지침에 사용하십시오:330관리형 CLAUDE.md와 [관리형 설정](/docs/ko/managed-settings)은 다른 목적을 제공합니다. 기술적 강제를 위해 설정을 사용하고 CLAUDE.md를 동작 지침에 사용하십시오:

331 331 

332| 관심사 | 구성 위치 |332| 관심사 | 구성 위치 |

333| :--------------------- | :---------------------------------------------- |333| :- | :- |

334| 특정 도구, 명령어 또는 파일 경로 차단 | 관리형 설정: `permissions.deny` |334| 특정 도구, 명령어 또는 파일 경로 차단 | 관리형 설정: `permissions.deny` |

335| 샌드박스 격리 강제 | 관리형 설정: `sandbox.enabled` |335| 샌드박스 격리 강제 | 관리형 설정: `sandbox.enabled` |

336| 환경 변수 및 API 제공자 라우팅 | 관리형 설정: `env` |336| 환경 변수 및 API 제공자 라우팅 | 관리형 설정: `env` |


371Claude Code는 [`AGENTS.md`](/docs/ko/glossary#agents-md)를 프로젝트 지침으로 읽을 수 있으므로, 다른 코딩 에이전트를 위해 이미 설정된 저장소는 `CLAUDE.md`, 가져오기 또는 설정을 추가할 필요 없이 작동합니다. 이 표는 저장소의 지침 파일 조합에 따라 Claude가 기본적으로 읽는 내용을 보여줍니다:371Claude Code는 [`AGENTS.md`](/docs/ko/glossary#agents-md)를 프로젝트 지침으로 읽을 수 있으므로, 다른 코딩 에이전트를 위해 이미 설정된 저장소는 `CLAUDE.md`, 가져오기 또는 설정을 추가할 필요 없이 작동합니다. 이 표는 저장소의 지침 파일 조합에 따라 Claude가 기본적으로 읽는 내용을 보여줍니다:

372 372 

373| 저장소에 있는 파일 | Claude가 읽는 내용 |373| 저장소에 있는 파일 | Claude가 읽는 내용 |

374| :------------------------------------------------------------------------------ | :------------------------------------ |374| :- | :- |

375| `AGENTS.md`가 있고, 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없음 | `AGENTS.md` |375| `AGENTS.md`가 있고, 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없음 | `AGENTS.md` |

376| `AGENTS.md`와 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 있음 | `CLAUDE.md` 파일만 |376| `AGENTS.md`와 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 있음 | `CLAUDE.md` 파일만 |

377| 이미 [`AGENTS.md`를 가져오는](#share-one-file-with-other-coding-tools) `CLAUDE.md`가 있음 | `CLAUDE.md`, 가져오기를 통해 포함된 `AGENTS.md` |377| 이미 [`AGENTS.md`를 가져오는](#share-one-file-with-other-coding-tools) `CLAUDE.md`가 있음 | `CLAUDE.md`, 가져오기를 통해 포함된 `AGENTS.md` |


409Claude가 읽는 파일을 변경하려면, Claude Code 세션에서 `/config`를 입력하여 설정 패널을 열고, **프로젝트 지침**을 다음 값 중 하나로 설정합니다:409Claude가 읽는 파일을 변경하려면, Claude Code 세션에서 `/config`를 입력하여 설정 패널을 열고, **프로젝트 지침**을 다음 값 중 하나로 설정합니다:

410 410 

411| 값 | Claude가 읽는 내용 |411| 값 | Claude가 읽는 내용 |

412| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |412| :- | :- |

413| `claude-md-or-agents-md` | `CLAUDE.md` 파일, 또는 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없을 때 `AGENTS.md` 파일. 이것이 기본값입니다 |413| `claude-md-or-agents-md` | `CLAUDE.md` 파일, 또는 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없을 때 `AGENTS.md` 파일. 이것이 기본값입니다 |

414| `claude-md-and-agents-md` | `CLAUDE.md`와 `AGENTS.md` 파일을 함께, 각 디렉토리의 `CLAUDE.md` 파일을 먼저 읽고 그 다음 `AGENTS.md`. Claude Code는 이미 로드한 `AGENTS.md`를 건너뜁니다. 따라서 `CLAUDE.md`가 가져오거나 심볼릭 링크하는 것은 두 번 읽지 않습니다 |414| `claude-md-and-agents-md` | `CLAUDE.md`와 `AGENTS.md` 파일을 함께, 각 디렉토리의 `CLAUDE.md` 파일을 먼저 읽고 그 다음 `AGENTS.md`. Claude Code는 이미 로드한 `AGENTS.md`를 건너뜁니다. 따라서 `CLAUDE.md`가 가져오거나 심볼릭 링크하는 것은 두 번 읽지 않습니다 |

415| `claude-md` | `CLAUDE.md` 파일만 |415| `claude-md` | `CLAUDE.md` 파일만 |


448Claude가 **프로젝트 지침** 설정을 통해 읽는 `AGENTS.md`는 다음과 같은 방식으로 `CLAUDE.md`와 다릅니다:448Claude가 **프로젝트 지침** 설정을 통해 읽는 `AGENTS.md`는 다음과 같은 방식으로 `CLAUDE.md`와 다릅니다:

449 449 

450| | `CLAUDE.md` | 설정을 통해 읽은 `AGENTS.md` |450| | `CLAUDE.md` | 설정을 통해 읽은 `AGENTS.md` |

451| :------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------- | :------------------------------------------------------------ |451| :- | :- | :- |

452| [`InstructionsLoaded` 훅](/docs/ko/hooks#instructionsloaded) | 실행됨 | 실행되지 않음. `CLAUDE.md`가 가져오거나 심볼릭 링크하는 `AGENTS.md`의 경우 평소대로 실행됨 |452| [`InstructionsLoaded` 훅](/docs/ko/hooks#instructionsloaded) | 실행됨 | 실행되지 않음. `CLAUDE.md`가 가져오거나 심볼릭 링크하는 `AGENTS.md`의 경우 평소대로 실행됨 |

453| [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories)가 설정되었을 때 `--add-dir`으로 추가한 디렉토리 | 해당 `CLAUDE.md` 로드 | 해당 `AGENTS.md` 로드 안 함 |453| [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories)가 설정되었을 때 `--add-dir`으로 추가한 디렉토리 | 해당 `CLAUDE.md` 로드 | 해당 `AGENTS.md` 로드 안 함 |

454| 작업 디렉토리 외부 파일의 `@path` 가져오기 | Claude Code가 [외부 가져오기](#import-additional-files) 승인을 요청함 | 이 프로젝트에 대해 이미 외부 가져오기를 승인한 경우에만 로드, 프롬프트 없음 |454| 작업 디렉토리 외부 파일의 `@path` 가져오기 | Claude Code가 [외부 가져오기](#import-additional-files) 승인을 요청함 | 이 프로젝트에 대해 이미 외부 가져오기를 승인한 경우에만 로드, 프롬프트 없음 |

mobile.md +1 −1

Details

41앱에서 클라우드 세션을 시작하거나, 프로젝트를 열거나, 컴퓨터에서 실행 중인 Claude Code 세션을 조종하거나, Dispatch에 작업을 메시지로 보낼 수 있습니다. 앱은 각각에 대해 동일하지만 작업이 발생하는 위치가 다릅니다.41앱에서 클라우드 세션을 시작하거나, 프로젝트를 열거나, 컴퓨터에서 실행 중인 Claude Code 세션을 조종하거나, Dispatch에 작업을 메시지로 보낼 수 있습니다. 앱은 각각에 대해 동일하지만 작업이 발생하는 위치가 다릅니다.

42 42 

43| 기능 | 연결 대상 | 사용 시기 |43| 기능 | 연결 대상 | 사용 시기 |

44| :--------------------------------------------- | :------------------------------- | :------------------------------------------------------------------------------------------- |44| :- | :- | :- |

45| [클라우드 세션](/docs/ko/claude-code-on-the-web) | Anthropic 관리 클라우드 인프라의 세션 | 저장소가 GitHub에 있고 휴대폰을 치워도 작업이 계속 실행되어야 할 때입니다. 설정하려면 [클라우드 빠른 시작](/docs/ko/web-quickstart)을 참조하세요. |45| [클라우드 세션](/docs/ko/claude-code-on-the-web) | Anthropic 관리 클라우드 인프라의 세션 | 저장소가 GitHub에 있고 휴대폰을 치워도 작업이 계속 실행되어야 할 때입니다. 설정하려면 [클라우드 빠른 시작](/docs/ko/web-quickstart)을 참조하세요. |

46| [프로젝트](/docs/ko/claude-projects) | Claude가 병렬 클라우드 세션을 스레드로 조정하는 대화 | 단일 작업이 아닌 관련 작업의 흐름이 있고 어떤 스레드가 완료되었거나 사용자가 필요한지 확인하려고 할 때입니다. |46| [프로젝트](/docs/ko/claude-projects) | Claude가 병렬 클라우드 세션을 스레드로 조정하는 대화 | 단일 작업이 아닌 관련 작업의 흐름이 있고 어떤 스레드가 완료되었거나 사용자가 필요한지 확인하려고 할 때입니다. |

47| [Remote Control](/docs/ko/remote-control) | 컴퓨터에서 실행 중인 Claude Code 세션 | 작업에 로컬 파일 시스템, 도구 또는 MCP 서버가 필요할 때입니다. |47| [Remote Control](/docs/ko/remote-control) | 컴퓨터에서 실행 중인 Claude Code 세션 | 작업에 로컬 파일 시스템, 도구 또는 MCP 서버가 필요할 때입니다. |

model-config.md +12 −12

Details

32모델 별칭을 사용하여 정확한 버전 번호를 기억하지 않고도 모델 설정을 선택합니다:32모델 별칭을 사용하여 정확한 버전 번호를 기억하지 않고도 모델 설정을 선택합니다:

33 33 

34| 모델 별칭 | 동작 |34| 모델 별칭 | 동작 |

35| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |35| - | - |

36| **`default`** | 모든 모델 재정의를 지우고 [계정의 런타임 기본값](#default-model-setting)으로 되돌리는 특수 값입니다. 자체로는 모델 별칭이 아닙니다 |36| **`default`** | 모든 모델 재정의를 지우고 [계정의 런타임 기본값](#default-model-setting)으로 되돌리는 특수 값입니다. 자체로는 모델 별칭이 아닙니다 |

37| **`best`** | [`fable` 별칭이 확인되는](#fable-alias-resolution) 모델을 사용합니다. Fable을 사용할 수 있는 경우, 그렇지 않으면 `opus`와 동일한 모델을 사용합니다 |37| **`best`** | [`fable` 별칭이 확인되는](#fable-alias-resolution) 모델을 사용합니다. Fable을 사용할 수 있는 경우, 그렇지 않으면 `opus`와 동일한 모델을 사용합니다 |

38| **`fable`** | 가장 어렵고 오래 실행되는 작업을 위해 [공급자의 Fable 모델](#fable-alias-resolution)을 사용합니다 |38| **`fable`** | 가장 어렵고 오래 실행되는 작업을 위해 [공급자의 Fable 모델](#fable-alias-resolution)을 사용합니다 |


46`opus` 및 `sonnet` 별칭이 확인되는 버전은 공급자에 따라 다릅니다:46`opus` 및 `sonnet` 별칭이 확인되는 버전은 공급자에 따라 다릅니다:

47 47 

48| 공급자 | `opus` | `sonnet` |48| 공급자 | `opus` | `sonnet` |

49| :------------------------------------------------- | :------- | :--------- |49| :- | :- | :- |

50| Anthropic API | Opus 5.5 | Sonnet 5 |50| Anthropic API | Opus 5.5 | Sonnet 5 |

51| [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |51| [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |

52| Amazon Bedrock, Google Cloud의 Agent Platform | Opus 5.5 | Sonnet 4.5 |52| Amazon Bedrock, Google Cloud의 Agent Platform | Opus 5.5 | Sonnet 4.5 |


290모든 표면은 수신하는 허용 목록을 적용합니다. 각 표면에 도달하는 전달 메커니즘은 다릅니다:290모든 표면은 수신하는 허용 목록을 적용합니다. 각 표면에 도달하는 전달 메커니즘은 다릅니다:

291 291 

292| 전달 메커니즘 | CLI 및 IDE | 데스크톱 로컬 세션 | 웹, 모바일 및 클라우드 세션 | Agent SDK 및 비대화형 | Cowork |292| 전달 메커니즘 | CLI 및 IDE | 데스크톱 로컬 세션 | 웹, 모바일 및 클라우드 세션 | Agent SDK 및 비대화형 | Cowork |

293| :----------------------------------------------------------- | :-------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------- | :--------- |293| :- | :- | :- | :- | :- | :- |

294| 관리 콘솔의 [서버 관리 설정](/docs/ko/server-managed-settings) | 적용됨 | 적용됨 | 적용됨 | 적용됨 | 전달되지 않음 |294| 관리 콘솔의 [서버 관리 설정](/docs/ko/server-managed-settings) | 적용됨 | 적용됨 | 적용됨 | 적용됨 | 전달되지 않음 |

295| [MDM 또는 관리형 설정 파일](/docs/ko/managed-settings#delivery-mechanisms) | 적용됨 | 적용됨 | Anthropic 호스팅 환경에서는 전달되지 않음. [자체 호스팅 환경](/docs/ko/self-hosted-environments)에서는 [Claude Code가 관리형 소스를 결합하는 방식](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)에 따라 러너 이미지에서 적용됨 | 적용됨 | 배포된 경우 적용됨 |295| [MDM 또는 관리형 설정 파일](/docs/ko/managed-settings#delivery-mechanisms) | 적용됨 | 적용됨 | Anthropic 호스팅 환경에서는 전달되지 않음. [자체 호스팅 환경](/docs/ko/self-hosted-environments)에서는 [Claude Code가 관리형 소스를 결합하는 방식](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)에 따라 러너 이미지에서 적용됨 | 적용됨 | 배포된 경우 적용됨 |

296 296 


578사용 가능한 노력 수준은 모델에 따라 다릅니다. 여기에 나열되지 않은 모델은 노력을 지원하지 않습니다:578사용 가능한 노력 수준은 모델에 따라 다릅니다. 여기에 나열되지 않은 모델은 노력을 지원하지 않습니다:

579 579 

580| 모델 | 수준 |580| 모델 | 수준 |

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

582| Fable 5.1 및 Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |582| Fable 5.1 및 Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8, Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8, Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

584| Opus 4.6 및 Sonnet 4.6 | `low`, `medium`, `high`, `max` |584| Opus 4.6 및 Sonnet 4.6 | `low`, `medium`, `high`, `max` |


640각 수준은 토큰 지출을 기능에 대해 교환합니다. 기본값은 대부분의 코딩 작업에 적합합니다. 다른 균형을 원할 때 조정하세요.640각 수준은 토큰 지출을 기능에 대해 교환합니다. 기본값은 대부분의 코딩 작업에 적합합니다. 다른 균형을 원할 때 조정하세요.

641 641 

642| 수준 | 사용 시기 |642| 수준 | 사용 시기 |

643| :---------- | :------------------------------------------------------------------------------ |643| :- | :- |

644| `low` | 짧고 범위가 정해진 지연 시간에 민감하지만 지능에 민감하지 않은 작업을 위해 예약 |644| `low` | 짧고 범위가 정해진 지연 시간에 민감하지만 지능에 민감하지 않은 작업을 위해 예약 |

645| `medium` | 일부 지능을 교환할 수 있는 비용에 민감한 작업의 토큰 사용 감소. Opus 5.5의 기본값 |645| `medium` | 일부 지능을 교환할 수 있는 비용에 민감한 작업의 토큰 사용 감소. Opus 5.5의 기본값 |

646| `high` | 토큰 사용과 지능의 균형. Opus 5.5 및 Opus 4.7을 제외한 모든 모델의 기본값 |646| `high` | 토큰 사용과 지능의 균형. Opus 5.5 및 Opus 4.7을 제외한 모든 모델의 기본값 |


695확장 생각은 Claude가 응답하기 전에 내보내는 추론입니다. [적응형 추론](#adjust-effort-level)을 지원하는 모델에서 노력 수준은 얼마나 많은 생각이 발생하는지에 대한 주요 제어입니다. 아래 설정은 생각을 켜거나 끄고 표시 방법을 제어합니다. Anthropic API에서 생각이 꺼져 있으면 Claude Code는 [해당 조합을 허용하지 않는](/docs/ko/errors#effort-isnt-available-with-thinking-turned-off) Opus 5와 같은 모델에 더 높은 수준 대신 노력 `high`를 보냅니다.695확장 생각은 Claude가 응답하기 전에 내보내는 추론입니다. [적응형 추론](#adjust-effort-level)을 지원하는 모델에서 노력 수준은 얼마나 많은 생각이 발생하는지에 대한 주요 제어입니다. 아래 설정은 생각을 켜거나 끄고 표시 방법을 제어합니다. Anthropic API에서 생각이 꺼져 있으면 Claude Code는 [해당 조합을 허용하지 않는](/docs/ko/errors#effort-isnt-available-with-thinking-turned-off) Opus 5와 같은 모델에 더 높은 수준 대신 노력 `high`를 보냅니다.

696 696 

697| 제어 | 설정 방법 |697| 제어 | 설정 방법 |

698| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |698| :- | :- |

699| 현재 세션 토글 | macOS에서 `Option+T` 또는 Windows 및 Linux에서 `Alt+T` 누르기 |699| 현재 세션 토글 | macOS에서 `Option+T` 또는 Windows 및 Linux에서 `Alt+T` 누르기 |

700| 전역 기본값 설정 | `/config`를 실행하고 생각 모드를 토글합니다. `~/.claude/settings.json`에 `alwaysThinkingEnabled`로 저장됨 |700| 전역 기본값 설정 | `/config`를 실행하고 생각 모드를 토글합니다. `~/.claude/settings.json`에 `alwaysThinkingEnabled`로 저장됨 |

701| 환경 변수를 통해 비활성화 | [`MAX_THINKING_TOKENS=0`](/docs/ko/env-vars)을 설정하여 Anthropic API에서 Opus 5.5 및 Fable 모델을 제외한 생각을 끕니다. [타사 제공자](/docs/ko/third-party-integrations)에서 Claude Code는 `thinking` 매개변수를 생략하고 적응형 추론 모델은 여전히 생각할 수 있습니다. 다른 값은 [고정 생각 예산](#adaptive-reasoning-and-fixed-thinking-budgets)에만 적용됩니다. |701| 환경 변수를 통해 비활성화 | [`MAX_THINKING_TOKENS=0`](/docs/ko/env-vars)을 설정하여 Anthropic API에서 Opus 5.5 및 Fable 모델을 제외한 생각을 끕니다. [타사 제공자](/docs/ko/third-party-integrations)에서 Claude Code는 `thinking` 매개변수를 생략하고 적응형 추론 모델은 여전히 생각할 수 있습니다. 다른 값은 [고정 생각 예산](#adaptive-reasoning-and-fixed-thinking-budgets)에만 적용됩니다. |


715Opus 4.6 및 Sonnet 4.6은 `[1m]` 변형을 통해서만 1M에 도달하며, 해당 변형에 대한 액세스는 플랜에 따라 다릅니다. Max, Team, Enterprise 플랜(Team Standard 및 Team Premium 좌석 모두 포함)에서 1M 컨텍스트가 있는 Opus 4.6은 구독에 포함됩니다. 1M 컨텍스트가 있는 Sonnet 4.6은 Max를 포함한 모든 구독 플랜에서 [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)이 필요합니다.715Opus 4.6 및 Sonnet 4.6은 `[1m]` 변형을 통해서만 1M에 도달하며, 해당 변형에 대한 액세스는 플랜에 따라 다릅니다. Max, Team, Enterprise 플랜(Team Standard 및 Team Premium 좌석 모두 포함)에서 1M 컨텍스트가 있는 Opus 4.6은 구독에 포함됩니다. 1M 컨텍스트가 있는 Sonnet 4.6은 Max를 포함한 모든 구독 플랜에서 [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)이 필요합니다.

716 716 

717| 플랜 | 1M 컨텍스트가 있는 Opus 4.6 | 1M 컨텍스트가 있는 Sonnet 4.6 |717| 플랜 | 1M 컨텍스트가 있는 Opus 4.6 | 1M 컨텍스트가 있는 Sonnet 4.6 |

718| --------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |718| - | - | - |

719| Max, Team, Enterprise | 구독에 포함됨 | [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) 필요 |719| Max, Team, Enterprise | 구독에 포함됨 | [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) 필요 |

720| Pro | [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) 필요 | [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) 필요 |720| Pro | [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) 필요 | [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) 필요 |

721| API 및 종량제 | 전체 액세스 | 전체 액세스 |721| API 및 종량제 | 전체 액세스 | 전체 액세스 |


856다음 환경 변수를 사용하여 별칭이 매핑되는 모델 이름을 제어합니다. 각 값은 전체 모델 이름이거나 API 제공자에 해당하는 식별자여야 합니다. 세션이 시작되는 모델을 선택하려면 [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions)을 설정합니다. 이 표에서는 이를 생략합니다.856다음 환경 변수를 사용하여 별칭이 매핑되는 모델 이름을 제어합니다. 각 값은 전체 모델 이름이거나 API 제공자에 해당하는 식별자여야 합니다. 세션이 시작되는 모델을 선택하려면 [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions)을 설정합니다. 이 표에서는 이를 생략합니다.

857 857 

858| 환경 변수 | 설명 |858| 환경 변수 | 설명 |

859| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |859| - | - |

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

861| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus`에 사용할 모델이거나 Plan Mode가 활성화되었을 때 `opusplan`에 사용할 모델입니다. |861| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus`에 사용할 모델이거나 Plan Mode가 활성화되었을 때 `opusplan`에 사용할 모델입니다. |

862| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet`에 사용할 모델이거나 Plan Mode가 활성화되지 않았을 때 `opusplan`에 사용할 모델입니다. |862| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet`에 사용할 모델이거나 Plan Mode가 활성화되지 않았을 때 `opusplan`에 사용할 모델입니다. |


882제공자에 대한 버전별 모델 ID와 함께 다음 환경 변수를 사용합니다:882제공자에 대한 버전별 모델 ID와 함께 다음 환경 변수를 사용합니다:

883 883 

884| 제공자 | 예시 |884| 제공자 | 예시 |

885| :--------------------------- | :------------------------------------------------------------------- |885| :- | :- |

886| Amazon Bedrock | `export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` |886| Amazon Bedrock | `export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` |

887| Google Cloud의 Agent Platform | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |887| Google Cloud의 Agent Platform | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |

888| Microsoft Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |888| Microsoft Foundry | `export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'` |


923이러한 변수는 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry와 같은 타사 제공자에서 적용됩니다. `_NAME` 및 `_DESCRIPTION` 변수는 `ANTHROPIC_BASE_URL`이 [LLM gateway](/docs/ko/llm-gateway)를 가리킬 때도 적용됩니다. `api.anthropic.com`에 직접 연결할 때는 영향을 주지 않습니다.923이러한 변수는 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry와 같은 타사 제공자에서 적용됩니다. `_NAME` 및 `_DESCRIPTION` 변수는 `ANTHROPIC_BASE_URL`이 [LLM gateway](/docs/ko/llm-gateway)를 가리킬 때도 적용됩니다. `api.anthropic.com`에 직접 연결할 때는 영향을 주지 않습니다.

924 924 

925| 환경 변수 | 설명 |925| 환경 변수 | 설명 |

926| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |926| - | - |

927| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | `/model` 선택기에서 고정된 Opus 모델의 표시 이름입니다. 설정되지 않으면 Claude Code가 고정된 ID를 인식하면 행은 모델의 이름을 표시하고, 그렇지 않으면 고정된 ID를 표시합니다. |927| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | `/model` 선택기에서 고정된 Opus 모델의 표시 이름입니다. 설정되지 않으면 Claude Code가 고정된 ID를 인식하면 행은 모델의 이름을 표시하고, 그렇지 않으면 고정된 ID를 표시합니다. |

928| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | `/model` 선택기에서 고정된 Opus 모델의 표시 설명입니다. 설정되지 않으면 행은 `Custom Opus model`로 시작하는 기본 설명을 표시합니다. |928| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | `/model` 선택기에서 고정된 Opus 모델의 표시 설명입니다. 설정되지 않으면 행은 `Custom Opus model`로 시작하는 기본 설명을 표시합니다. |

929| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | 고정된 Opus 모델이 지원하는 기능의 쉼표로 구분된 목록입니다. |929| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | 고정된 Opus 모델이 지원하는 기능의 쉼표로 구분된 목록입니다. |


933Claude Code는 모델 ID를 알려진 패턴과 비교하여 [노력 수준](#adjust-effort-level) 및 [확장 사고](#extended-thinking)와 같은 기능을 활성화합니다. Amazon Bedrock ARN 또는 사용자 정의 배포 이름과 같은 제공자별 ID는 종종 이러한 패턴과 일치하지 않아 지원되는 기능이 비활성화됩니다. `_SUPPORTED_CAPABILITIES`를 설정하여 Claude Code에 모델이 실제로 지원하는 기능을 알립니다:933Claude Code는 모델 ID를 알려진 패턴과 비교하여 [노력 수준](#adjust-effort-level) 및 [확장 사고](#extended-thinking)와 같은 기능을 활성화합니다. Amazon Bedrock ARN 또는 사용자 정의 배포 이름과 같은 제공자별 ID는 종종 이러한 패턴과 일치하지 않아 지원되는 기능이 비활성화됩니다. `_SUPPORTED_CAPABILITIES`를 설정하여 Claude Code에 모델이 실제로 지원하는 기능을 알립니다:

934 934 

935| 기능 값 | 활성화 |935| 기능 값 | 활성화 |

936| ---------------------- | -------------------------------------------- |936| - | - |

937| `effort` | [노력 수준](#adjust-effort-level) 및 `/effort` 명령 |937| `effort` | [노력 수준](#adjust-effort-level) 및 `/effort` 명령 |

938| `xhigh_effort` | `xhigh` 노력 수준 |938| `xhigh_effort` | `xhigh` 노력 수준 |

939| `max_effort` | `max` 노력 수준 |939| `max_effort` | `max` 노력 수준 |


995Claude Code는 성능을 최적화하고 비용을 절감하기 위해 [prompt caching](/docs/ko/prompt-caching)을 자동으로 사용합니다. 전역적으로 또는 특정 모델 계층에 대해 prompt caching을 비활성화할 수 있습니다:995Claude Code는 성능을 최적화하고 비용을 절감하기 위해 [prompt caching](/docs/ko/prompt-caching)을 자동으로 사용합니다. 전역적으로 또는 특정 모델 계층에 대해 prompt caching을 비활성화할 수 있습니다:

996 996 

997| 환경 변수 | 설명 |997| 환경 변수 | 설명 |

998| ------------------------------- | ------------------------------------------------------------- |998| - | - |

999| `DISABLE_PROMPT_CACHING` | 모든 모델에 대해 prompt caching을 비활성화하려면 `1`로 설정합니다. 모델별 설정보다 우선합니다. |999| `DISABLE_PROMPT_CACHING` | 모든 모델에 대해 prompt caching을 비활성화하려면 `1`로 설정합니다. 모델별 설정보다 우선합니다. |

1000| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |1000| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |

1001| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |1001| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |

Details

110관리되는 설정이 있는 머신에서는 [관리되는 설정이 OTLP 대상을 잠그는 방법](#how-managed-settings-lock-the-otlp-destination)을 참조하여 Claude Code가 제거하는 항목을 확인합니다.110관리되는 설정이 있는 머신에서는 [관리되는 설정이 OTLP 대상을 잠그는 방법](#how-managed-settings-lock-the-otlp-destination)을 참조하여 Claude Code가 제거하는 항목을 확인합니다.

111 111 

112| 환경 변수 | 설명 | 예제 값 |112| 환경 변수 | 설명 | 예제 값 |

113| --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |113| - | - | - |

114| `CLAUDE_CODE_ENABLE_TELEMETRY` | 원격 측정 수집 활성화 (필수) | `1` |114| `CLAUDE_CODE_ENABLE_TELEMETRY` | 원격 측정 수집 활성화 (필수) | `1` |

115| `OTEL_METRICS_EXPORTER` | 메트릭 내보내기 유형 (쉼표로 구분). `none`을 사용하여 비활성화 | `console`, `otlp`, `prometheus`, `none` |115| `OTEL_METRICS_EXPORTER` | 메트릭 내보내기 유형 (쉼표로 구분). `none`을 사용하여 비활성화 | `console`, `otlp`, `prometheus`, `none` |

116| `OTEL_LOGS_EXPORTER` | 로그/이벤트 내보내기 유형 (쉼표로 구분). `none`을 사용하여 비활성화 | `console`, `otlp`, `none` |116| `OTEL_LOGS_EXPORTER` | 로그/이벤트 내보내기 유형 (쉼표로 구분). `none`을 사용하여 비활성화 | `console`, `otlp`, `none` |


144OTLP 내보내기를 위한 클라이언트 인증서를 구성하는 방법은 해당 신호에 사용되는 OTLP 프로토콜에 따라 다르며, `OTEL_EXPORTER_OTLP_PROTOCOL` 또는 신호별 재정의를 통해 설정됩니다. 동일한 구성이 메트릭, 로그 및 추적에 적용됩니다.144OTLP 내보내기를 위한 클라이언트 인증서를 구성하는 방법은 해당 신호에 사용되는 OTLP 프로토콜에 따라 다르며, `OTEL_EXPORTER_OTLP_PROTOCOL` 또는 신호별 재정의를 통해 설정됩니다. 동일한 구성이 메트릭, 로그 및 추적에 적용됩니다.

145 145 

146| 프로토콜 | 클라이언트 인증서 변수 | 수집기의 CA 신뢰 |146| 프로토콜 | 클라이언트 인증서 변수 | 수집기의 CA 신뢰 |

147| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------- |147| :- | :- | :- |

148| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY` 및 선택적으로 `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. [네트워크 구성](/docs/ko/network-config#mtls-authentication) 참조 | `NODE_EXTRA_CA_CERTS` |148| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY` 및 선택적으로 `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. [네트워크 구성](/docs/ko/network-config#mtls-authentication) 참조 | `NODE_EXTRA_CA_CERTS` |

149| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` 및 `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, 또는 신호별 인증서를 사용하기 위한 `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY`와 같은 신호별 변형 | `OTEL_EXPORTER_OTLP_CERTIFICATE` |149| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` 및 `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, 또는 신호별 인증서를 사용하기 위한 `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY`와 같은 신호별 변형 | `OTEL_EXPORTER_OTLP_CERTIFICATE` |

150 150 


157다음 환경 변수는 카디널리티를 관리하기 위해 메트릭에 포함되는 속성을 제어합니다:157다음 환경 변수는 카디널리티를 관리하기 위해 메트릭에 포함되는 속성을 제어합니다:

158 158 

159| 환경 변수 | 설명 | 기본값 | 비활성화 예 |159| 환경 변수 | 설명 | 기본값 | 비활성화 예 |

160| ------------------------------------------ | ----------------------------------------------------------------------------------------- | ------- | ------- |160| - | - | - | - |

161| `OTEL_METRICS_INCLUDE_SESSION_ID` | 메트릭에 session.id 속성 포함 | `true` | `false` |161| `OTEL_METRICS_INCLUDE_SESSION_ID` | 메트릭에 session.id 속성 포함 | `true` | `false` |

162| `OTEL_METRICS_INCLUDE_VERSION` | 메트릭에 app.version 속성 포함 | `false` | `true` |162| `OTEL_METRICS_INCLUDE_VERSION` | 메트릭에 app.version 속성 포함 | `false` | `true` |

163| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 메트릭에 user.account\_uuid 및 user.account\_id 속성 포함 | `true` | `false` |163| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 메트릭에 user.account\_uuid 및 user.account\_id 속성 포함 | `true` | `false` |


176추적은 기본적으로 꺼져 있습니다. 활성화하려면 `CLAUDE_CODE_ENABLE_TELEMETRY=1` 및 `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`을 모두 설정한 다음 `OTEL_TRACES_EXPORTER`를 설정하여 스팬을 보낼 위치를 선택합니다. 추적은 엔드포인트, 프로토콜, 헤더 및 [mTLS](#mtls-authentication)에 대해 [일반적인 OTLP 구성](#common-configuration-variables)을 재사용합니다. 관리되는 설정이 있는 머신에서는 Claude Code가 시작 시 [개발자가 설정한 신호별 자격 증명 및 엔드포인트를 제거](#how-managed-settings-lock-the-otlp-destination)할 수 있습니다.176추적은 기본적으로 꺼져 있습니다. 활성화하려면 `CLAUDE_CODE_ENABLE_TELEMETRY=1` 및 `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`을 모두 설정한 다음 `OTEL_TRACES_EXPORTER`를 설정하여 스팬을 보낼 위치를 선택합니다. 추적은 엔드포인트, 프로토콜, 헤더 및 [mTLS](#mtls-authentication)에 대해 [일반적인 OTLP 구성](#common-configuration-variables)을 재사용합니다. 관리되는 설정이 있는 머신에서는 Claude Code가 시작 시 [개발자가 설정한 신호별 자격 증명 및 엔드포인트를 제거](#how-managed-settings-lock-the-otlp-destination)할 수 있습니다.

177 177 

178| 환경 변수 | 설명 | 예제 값 |178| 환경 변수 | 설명 | 예제 값 |

179| ------------------------------------- | ----------------------------------------------------- | ------------------------------------ |179| - | - | - |

180| `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` | 스팬 추적 활성화 (필수). `ENABLE_ENHANCED_TELEMETRY_BETA`도 허용됨 | `1` |180| `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` | 스팬 추적 활성화 (필수). `ENABLE_ENHANCED_TELEMETRY_BETA`도 허용됨 | `1` |

181| `OTEL_TRACES_EXPORTER` | 추적 내보내기 유형 (쉼표로 구분). `none`을 사용하여 비활성화 | `console`, `otlp`, `none` |181| `OTEL_TRACES_EXPORTER` | 추적 내보내기 유형 (쉼표로 구분). `none`을 사용하여 비활성화 | `console`, `otlp`, `none` |

182| `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` | 추적 프로토콜 (`OTEL_EXPORTER_OTLP_PROTOCOL` 재정의) | `grpc`, `http/json`, `http/protobuf` |182| `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` | 추적 프로토콜 (`OTEL_EXPORTER_OTLP_PROTOCOL` 재정의) | `grpc`, `http/json`, `http/protobuf` |


227**`claude_code.interaction`**227**`claude_code.interaction`**

228 228 

229| 속성 | 설명 | 게이트 대상 |229| 속성 | 설명 | 게이트 대상 |

230| ------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------- |230| - | - | - |

231| `user_prompt` | 프롬프트 텍스트. 게이트가 설정되지 않으면 값은 `<REDACTED>`입니다 | `OTEL_LOG_USER_PROMPTS` |231| `user_prompt` | 프롬프트 텍스트. 게이트가 설정되지 않으면 값은 `<REDACTED>`입니다 | `OTEL_LOG_USER_PROMPTS` |

232| `user_prompt_length` | 프롬프트 길이 (문자 단위) | |232| `user_prompt_length` | 프롬프트 길이 (문자 단위) | |

233| `interaction.sequence` | 상호 작용 1 기반 카운터 ([`event.sequence`](#event-correlation-attributes)에 설명된 대로 세션당이 아닌 Claude Code 프로세스당 계산됨) | |233| `interaction.sequence` | 상호 작용 1 기반 카운터 ([`event.sequence`](#event-correlation-attributes)에 설명된 대로 세션당이 아닌 Claude Code 프로세스당 계산됨) | |


237**`claude_code.llm_request`**237**`claude_code.llm_request`**

238 238 

239| 속성 | 설명 | 게이트 대상 |239| 속성 | 설명 | 게이트 대상 |

240| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |240| - | - | - |

241| `model` | 모델 식별자 | |241| `model` | 모델 식별자 | |

242| `gen_ai.system` | 항상 `anthropic`. OpenTelemetry GenAI 의미론적 규칙 | |242| `gen_ai.system` | 항상 `anthropic`. OpenTelemetry GenAI 의미론적 규칙 | |

243| `gen_ai.request.model` | `model`과 동일한 값. OpenTelemetry GenAI 의미론적 규칙 | |243| `gen_ai.request.model` | `model`과 동일한 값. OpenTelemetry GenAI 의미론적 규칙 | |


274**`claude_code.tool`**274**`claude_code.tool`**

275 275 

276| 속성 | 설명 | 게이트 대상 |276| 속성 | 설명 | 게이트 대상 |

277| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |277| - | - | - |

278| `tool_name` | 도구 이름 | |278| `tool_name` | 도구 이름 | |

279| `tool_name_safe` | 사용자 선택 이름을 포함하지 않는 `tool_name`의 형식. 기본 제공 도구 이름은 그대로 전달됩니다. MCP 도구 이름은 `mcp_other`로 나타나며, `playwright` 도구 `browser_*`와 같이 고정된 형태와 일치하는 도구 이름은 그대로 전달됩니다. Claude Code v2.1.268 이상 필요 | |279| `tool_name_safe` | 사용자 선택 이름을 포함하지 않는 `tool_name`의 형식. 기본 제공 도구 이름은 그대로 전달됩니다. MCP 도구 이름은 `mcp_other`로 나타나며, `playwright` 도구 `browser_*`와 같이 고정된 형태와 일치하는 도구 이름은 그대로 전달됩니다. Claude Code v2.1.268 이상 필요 | |

280| `bash_command_class` | Bash 도구의 경우: 고정 목록의 명령 첫 프로그램 범주 (예: `vcs` 또는 `package_manager`). 목록 외의 프로그램의 경우 `other`, 줄을 구문 분석할 수 없을 때 `unparsed`. Claude Code v2.1.268 이상 필요 | |280| `bash_command_class` | Bash 도구의 경우: 고정 목록의 명령 첫 프로그램 범주 (예: `vcs` 또는 `package_manager`). 목록 외의 프로그램의 경우 `other`, 줄을 구문 분석할 수 없을 때 `unparsed`. Claude Code v2.1.268 이상 필요 | |


305이벤트는 이러한 속성을 전달하며, 각각은 콘텐츠 제한 (기본값 60KB)에서 잘립니다. `Gated by`는 속성이 `OTEL_LOG_TOOL_CONTENT=1` 위에 필요한 변수를 이름 지으며, Edit 및 Write의 경우 해당 변수는 속성이 아닌 이벤트 자체를 게이트합니다.305이벤트는 이러한 속성을 전달하며, 각각은 콘텐츠 제한 (기본값 60KB)에서 잘립니다. `Gated by`는 속성이 `OTEL_LOG_TOOL_CONTENT=1` 위에 필요한 변수를 이름 지으며, Edit 및 Write의 경우 해당 변수는 속성이 아닌 이벤트 자체를 게이트합니다.

306 306 

307| 속성 | 설명 | 게이트 대상 |307| 속성 | 설명 | 게이트 대상 |

308| -------------- | -------------------------------------------------- | -------------------------------------- |308| - | - | - |

309| `content` | Read 도구가 반환한 텍스트 또는 Write 호출이 작성하도록 요청한 텍스트 | `OTEL_LOG_TOOL_DETAILS` (Write 도구의 경우) |309| `content` | Read 도구가 반환한 텍스트 또는 Write 호출이 작성하도록 요청한 텍스트 | `OTEL_LOG_TOOL_DETAILS` (Write 도구의 경우) |

310| `output` | Bash 명령의 결합된 출력 (stderr가 stdout에 인터리브됨) | |310| `output` | Bash 명령의 결합된 출력 (stderr가 stdout에 인터리브됨) | |

311| `diff` | Edit 도구가 적용한 구조화된 패치 | `OTEL_LOG_TOOL_DETAILS` |311| `diff` | Edit 도구가 적용한 구조화된 패치 | `OTEL_LOG_TOOL_DETAILS` |


317**`claude_code.tool.blocked_on_user`**317**`claude_code.tool.blocked_on_user`**

318 318 

319| 속성 | 설명 | 게이트 대상 |319| 속성 | 설명 | 게이트 대상 |

320| ------------- | ------------------------------------------------------- | ------ |320| - | - | - |

321| `duration_ms` | 권한 결정 대기 시간 | |321| `duration_ms` | 권한 결정 대기 시간 | |

322| `decision` | `accept` 또는 `reject` | |322| `decision` | `accept` 또는 `reject` | |

323| `source` | 결정 출처 ([Tool decision event](#tool-decision-event)와 일치) | |323| `source` | 결정 출처 ([Tool decision event](#tool-decision-event)와 일치) | |


325**`claude_code.tool.execution`**325**`claude_code.tool.execution`**

326 326 

327| 속성 | 설명 | 게이트 대상 |327| 속성 | 설명 | 게이트 대상 |

328| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |328| - | - | - |

329| `duration_ms` | 도구 본문 실행 시간 | |329| `duration_ms` | 도구 본문 실행 시간 | |

330| `tool_use_id` | 부모 `claude_code.tool` 스팬과 동일한 값 | |330| `tool_use_id` | 부모 `claude_code.tool` 스팬과 동일한 값 | |

331| `gen_ai.tool.call.id` | `tool_use_id`와 동일한 값. OpenTelemetry GenAI 의미론적 규칙 | |331| `gen_ai.tool.call.id` | `tool_use_id`와 동일한 값. OpenTelemetry GenAI 의미론적 규칙 | |


340대화형 CLI 세션에서 상세 베타 추적은 또한 조직이 이 기능에 대해 허용 목록에 있어야 합니다. Agent SDK 및 비대화형 `-p` 세션은 허용 목록이 필요하지 않습니다.340대화형 CLI 세션에서 상세 베타 추적은 또한 조직이 이 기능에 대해 허용 목록에 있어야 합니다. Agent SDK 및 비대화형 `-p` 세션은 허용 목록이 필요하지 않습니다.

341 341 

342| 속성 | 설명 | 게이트 대상 |342| 속성 | 설명 | 게이트 대상 |

343| ------------------------ | ------------------------------- | ----------------------- |343| - | - | - |

344| `hook_event` | 훅 이벤트 유형 (예: `PreToolUse`) | |344| `hook_event` | 훅 이벤트 유형 (예: `PreToolUse`) | |

345| `hook_name` | 전체 훅 이름 (예: `PreToolUse:Write`) | |345| `hook_name` | 전체 훅 이름 (예: `PreToolUse:Write`) | |

346| `num_hooks` | 실행된 일치하는 훅 명령 수 | |346| `num_hooks` | 실행된 일치하는 훅 명령 수 | |


533모든 메트릭과 이벤트는 다음과 같은 표준 속성을 공유합니다:533모든 메트릭과 이벤트는 다음과 같은 표준 속성을 공유합니다:

534 534 

535| 속성 | 설명 | 제어 대상 |535| 속성 | 설명 | 제어 대상 |

536| --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |536| - | - | - |

537| `session.id` | 고유한 세션 식별자 | `OTEL_METRICS_INCLUDE_SESSION_ID` (기본값: true) |537| `session.id` | 고유한 세션 식별자 | `OTEL_METRICS_INCLUDE_SESSION_ID` (기본값: true) |

538| `app.version` | 현재 Claude Code 버전 | `OTEL_METRICS_INCLUDE_VERSION` (기본값: false) |538| `app.version` | 현재 Claude Code 버전 | `OTEL_METRICS_INCLUDE_VERSION` (기본값: false) |

539| `app.entrypoint` | 세션이 시작된 방식(예: `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, 또는 `claude-vscode`) | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (기본값: false) |539| `app.entrypoint` | 세션이 시작된 방식(예: `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, 또는 `claude-vscode`) | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (기본값: false) |


564Claude Code는 저장소의 `origin` 원격에서 이러한 속성을 세션당 한 번 파생합니다. 한 저장소의 HTTPS 및 SSH 원격은 동일한 값을 생성합니다:564Claude Code는 저장소의 `origin` 원격에서 이러한 속성을 세션당 한 번 파생합니다. 한 저장소의 HTTPS 및 SSH 원격은 동일한 값을 생성합니다:

565 565 

566| 속성 | 값 |566| 속성 | 값 |

567| ------------------------- | -------------------------------------------------------------------------------------------------- |567| - | - |

568| `vcs.repository.url.full` | 저장소의 브라우저 URL(`.git` 제외)(예: `https://github.com/example-org/example-repo`) |568| `vcs.repository.url.full` | 저장소의 브라우저 URL(`.git` 제외)(예: `https://github.com/example-org/example-repo`) |

569| `vcs.owner.name` | 소유자 또는 그룹 경로(예: `example-org`); 원격 경로에 단일 세그먼트가 있을 때 생략됨 |569| `vcs.owner.name` | 소유자 또는 그룹 경로(예: `example-org`); 원격 경로에 단일 세그먼트가 있을 때 생략됨 |

570| `vcs.repository.name` | 기본 저장소 이름(예: `example-repo`) |570| `vcs.repository.name` | 기본 저장소 이름(예: `example-repo`) |


583Claude Code는 다음 메트릭을 내보냅니다. Unit 열은 각 메트릭에 첨부된 OpenTelemetry 단위 문자열을 보여줍니다; 카운트 메트릭은 없습니다.583Claude Code는 다음 메트릭을 내보냅니다. Unit 열은 각 메트릭에 첨부된 OpenTelemetry 단위 문자열을 보여줍니다; 카운트 메트릭은 없습니다.

584 584 

585| 메트릭 이름 | 설명 | 단위 |585| 메트릭 이름 | 설명 | 단위 |

586| ------------------------------------- | ------------------ | ------ |586| - | - | - |

587| `claude_code.session.count` | 시작된 CLI 세션 수 | 없음 |587| `claude_code.session.count` | 시작된 CLI 세션 수 | 없음 |

588| `claude_code.lines_of_code.count` | 수정된 코드 라인 수 | 없음 |588| `claude_code.lines_of_code.count` | 수정된 코드 라인 수 | 없음 |

589| `claude_code.pull_request.count` | 생성된 풀 요청 수 | 없음 |589| `claude_code.pull_request.count` | 생성된 풀 요청 수 | 없음 |


718사용자가 프롬프트를 제출하면 Claude Code는 여러 API 호출을 수행하고 여러 도구를 실행할 수 있습니다. `prompt.id` 속성을 사용하면 이러한 모든 이벤트를 이를 트리거한 단일 프롬프트에 연결할 수 있습니다.718사용자가 프롬프트를 제출하면 Claude Code는 여러 API 호출을 수행하고 여러 도구를 실행할 수 있습니다. `prompt.id` 속성을 사용하면 이러한 모든 이벤트를 이를 트리거한 단일 프롬프트에 연결할 수 있습니다.

719 719 

720| 속성 | 설명 |720| 속성 | 설명 |

721| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |721| - | - |

722| `prompt.id` | 단일 사용자 프롬프트 처리 중에 생성된 모든 이벤트를 연결하는 UUID v4 식별자 |722| `prompt.id` | 단일 사용자 프롬프트 처리 중에 생성된 모든 이벤트를 연결하는 UUID v4 식별자 |

723| `event.sequence` | 이벤트 순서 지정을 위한 0 기반 카운터(세션당이 아닌 Claude Code 프로세스당 계산됨) |723| `event.sequence` | 이벤트 순서 지정을 위한 0 기반 카운터(세션당이 아닌 Claude Code 프로세스당 계산됨) |

724| `message.uuid` | 세션 기록에 유지되는 메시지의 UUID(\~/.claude/projects/*/*.jsonl 파일). `assistant_response`, `api_response_body`, 및 명령 디스패치를 제외한 `user_prompt`에 있습니다(0개 이상의 메시지를 생성할 수 있음). `assistant_response` 및 `api_response_body`에서 이는 응답의 최종 기록 항목이며, 다음 턴의 `parentUuid`가 이로부터 체인됩니다. Claude Code v2.1.214 이상 필요, `api_response_body`에서 v2.1.274 이상 필요 |724| `message.uuid` | 세션 기록에 유지되는 메시지의 UUID(\~/.claude/projects/*/*.jsonl 파일). `assistant_response`, `api_response_body`, 및 명령 디스패치를 제외한 `user_prompt`에 있습니다(0개 이상의 메시지를 생성할 수 있음). `assistant_response` 및 `api_response_body`에서 이는 응답의 최종 기록 항목이며, 다음 턴의 `parentUuid`가 이로부터 체인됩니다. Claude Code v2.1.214 이상 필요, `api_response_body`에서 v2.1.274 이상 필요 |


1432</h3>1432</h3>

1433 1433 

1434| 메트릭 | 분석 기회 |1434| 메트릭 | 분석 기회 |

1435| ------------------------------------------------------------- | ---------------------------------------------------------------------------- |1435| - | - |

1436| `claude_code.token.usage` | `type` (입력/출력), 사용자, 팀, 모델, `skill.name`, `plugin.name` 또는 `agent.name`별로 분류 |1436| `claude_code.token.usage` | `type` (입력/출력), 사용자, 팀, 모델, `skill.name`, `plugin.name` 또는 `agent.name`별로 분류 |

1437| `claude_code.session.count` | 시간 경과에 따른 채택 및 참여 추적 |1437| `claude_code.session.count` | 시간 경과에 따른 채택 및 참여 추적 |

1438| `claude_code.lines_of_code.count` | 코드 추가 및 제거를 추적하여 생산성 측정, 모델별로 분류 |1438| `claude_code.lines_of_code.count` | 코드 추가 및 제거를 추적하여 생산성 측정, 모델별로 분류 |


1522전체 호출 세부 정보로 MCP 서버 활동을 캡처하려면 로그 내보내기를 활성화하고 `OTEL_LOG_TOOL_DETAILS=1`을 설정합니다. 각 MCP 작업은 표준 ID 속성과 함께 서버 이름, 도구 이름 및 호출 인수를 전달하는 구조화된 이벤트를 생성합니다:1522전체 호출 세부 정보로 MCP 서버 활동을 캡처하려면 로그 내보내기를 활성화하고 `OTEL_LOG_TOOL_DETAILS=1`을 설정합니다. 각 MCP 작업은 표준 ID 속성과 함께 서버 이름, 도구 이름 및 호출 인수를 전달하는 구조화된 이벤트를 생성합니다:

1523 1523 

1524| 이벤트 | MCP에 대해 기록하는 것 |1524| 이벤트 | MCP에 대해 기록하는 것 |

1525| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |1525| - | - |

1526| `mcp_server_connection` | 서버 연결, 연결 해제 및 연결 실패 (`server_name`, `transport_type`, `server_scope` 및 오류 세부 정보 포함) |1526| `mcp_server_connection` | 서버 연결, 연결 해제 및 연결 실패 (`server_name`, `transport_type`, `server_scope` 및 오류 세부 정보 포함) |

1527| `tool_result` | 각 MCP 도구 호출 (`tool_name` 및 `mcp_server_scope` 포함, `mcp_server_name` 및 `mcp_tool_name`을 포함하는 `tool_parameters` 페이로드, 호출 인수를 포함하는 `tool_input` 페이로드) |1527| `tool_result` | 각 MCP 도구 호출 (`tool_name` 및 `mcp_server_scope` 포함, `mcp_server_name` 및 `mcp_tool_name`을 포함하는 `tool_parameters` 페이로드, 호출 인수를 포함하는 `tool_input` 페이로드) |

1528| `tool_decision` | 호출이 허용되었는지 거부되었는지, 그리고 결정이 구성, 훅 또는 사용자에서 나왔는지 여부, 그리고 `mcp_server_name` 및 `mcp_tool_name`을 포함하는 `tool_parameters` 페이로드 |1528| `tool_decision` | 호출이 허용되었는지 거부되었는지, 그리고 결정이 구성, 훅 또는 사용자에서 나왔는지 여부, 그리고 `mcp_server_name` 및 `mcp_tool_name`을 포함하는 `tool_parameters` 페이로드 |


1540감지 규칙을 구축할 때 모니터링하려는 신호를 찾고 해당 이벤트 및 속성에 대해 백엔드를 쿼리합니다:1540감지 규칙을 구축할 때 모니터링하려는 신호를 찾고 해당 이벤트 및 속성에 대해 백엔드를 쿼리합니다:

1541 1541 

1542| 신호 | 이벤트 | 주요 속성 |1542| 신호 | 이벤트 | 주요 속성 |

1543| ---------------------------------------------- | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1543| - | - | - |

1544| 도구 호출 허용 또는 거부, 그리고 어떻게 | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1544| 도구 호출 허용 또는 거부, 그리고 어떻게 | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |

1545| 권한 모드 에스컬레이션 | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1545| 권한 모드 에스컬레이션 | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1546| 정책 훅이 작업을 차단함 | `hook_execution_complete` | `hook_event`, `num_blocking` |1546| 정책 훅이 작업을 차단함 | `hook_execution_complete` | `hook_event`, `num_blocking` |

Details

206Claude Code는 네 개의 독립적인 타이머를 실행하여 스트리밍 모델 응답이 조용해지면 중단하므로, 연결이 끊어지면 실패하고 재시도하며 중단되지 않습니다. 첫 바이트 마감 시간은 응답 헤더를 기다리는 동안 응답이 도착하기 전을 포함합니다. 다른 세 개의 타이머는 각각 다른 신호에 대해 라이브 응답을 감시합니다.206Claude Code는 네 개의 독립적인 타이머를 실행하여 스트리밍 모델 응답이 조용해지면 중단하므로, 연결이 끊어지면 실패하고 재시도하며 중단되지 않습니다. 첫 바이트 마감 시간은 응답 헤더를 기다리는 동안 응답이 도착하기 전을 포함합니다. 다른 세 개의 타이머는 각각 다른 신호에 대해 라이브 응답을 감시합니다.

207 207 

208| 타이머 | 중단 조건 | 실행 위치 | 기본 시간 초과 |208| 타이머 | 중단 조건 | 실행 위치 | 기본 시간 초과 |

209| :---------- | :----------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------ |209| :- | :- | :- | :- |

210| 첫 바이트 마감 시간 | Claude Code가 요청을 보낸 후 응답 헤더가 도착하지 않음 | 직접 Anthropic API 및 [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws) (HTTPS 프록시 포함), 단 `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`이 [게이트웨이](/docs/ko/gateways)를 통해 라우팅하는 경우는 제외. Amazon Bedrock에서 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`로 옵트인; Google Cloud의 Agent Platform 또는 Microsoft Foundry에서는 실행되지 않음 | 직접 Anthropic API에서 180초, 다른 곳에서 300초, 요청 본문 32KB당 1초 추가 |210| 첫 바이트 마감 시간 | Claude Code가 요청을 보낸 후 응답 헤더가 도착하지 않음 | 직접 Anthropic API 및 [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws) (HTTPS 프록시 포함), 단 `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`이 [게이트웨이](/docs/ko/gateways)를 통해 라우팅하는 경우는 제외. Amazon Bedrock에서 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`로 옵트인; Google Cloud의 Agent Platform 또는 Microsoft Foundry에서는 실행되지 않음 | 직접 Anthropic API에서 180초, 다른 곳에서 300초, 요청 본문 32KB당 1초 추가 |

211| 이벤트 수준 감시견 | 응답 이벤트가 파싱되지 않음. 바이트 수준 감시견이 실행되는 연결에서는 도착한 바이트(keep-alive ping 포함)도 이 감시견을 재설정하며, 파싱된 이벤트가 없는 상태로 약 5분까지 지속 | 모든 제공자 | 300초 |211| 이벤트 수준 감시견 | 응답 이벤트가 파싱되지 않음. 바이트 수준 감시견이 실행되는 연결에서는 도착한 바이트(keep-alive ping 포함)도 이 감시견을 재설정하며, 파싱된 이벤트가 없는 상태로 약 5분까지 지속 | 모든 제공자 | 300초 |

212| 바이트 수준 감시견 | 와이어에 바이트가 도착하지 않음 (SSE keep-alive ping 포함) | 직접 Anthropic API, [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws), 및 [게이트웨이](/docs/ko/gateways) 연결 (사용자 정의 `ANTHROPIC_BASE_URL` 포함). Amazon Bedrock `vnd.amazon.eventstream` 응답에서 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`로 옵트인; Google Cloud의 Agent Platform 또는 Microsoft Foundry에서는 실행되지 않음 | 직접 Anthropic API에서 180초, 다른 곳에서 300초 |212| 바이트 수준 감시견 | 와이어에 바이트가 도착하지 않음 (SSE keep-alive ping 포함) | 직접 Anthropic API, [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws), 및 [게이트웨이](/docs/ko/gateways) 연결 (사용자 정의 `ANTHROPIC_BASE_URL` 포함). Amazon Bedrock `vnd.amazon.eventstream` 응답에서 `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`로 옵트인; Google Cloud의 Agent Platform 또는 Microsoft Foundry에서는 실행되지 않음 | 직접 Anthropic API에서 180초, 다른 곳에서 300초 |


233Claude Code는 다음 URL에 대한 액세스가 필요합니다. 특히 컨테이너화되거나 제한된 네트워크 환경에서 프록시 구성 및 방화벽 규칙에 이러한 URL을 허용 목록에 추가하십시오. 첫 실행 설정 연결 확인은 `api.anthropic.com` 또는 `platform.claude.com`에 도달할 수 없을 때 여기를 가리킵니다. 확인 메시지 및 복구 단계는 [Anthropic 서비스에 연결할 수 없음](/docs/ko/errors#unable-to-connect-to-anthropic-services)을 참조하십시오.233Claude Code는 다음 URL에 대한 액세스가 필요합니다. 특히 컨테이너화되거나 제한된 네트워크 환경에서 프록시 구성 및 방화벽 규칙에 이러한 URL을 허용 목록에 추가하십시오. 첫 실행 설정 연결 확인은 `api.anthropic.com` 또는 `platform.claude.com`에 도달할 수 없을 때 여기를 가리킵니다. 확인 메시지 및 복구 단계는 [Anthropic 서비스에 연결할 수 없음](/docs/ko/errors#unable-to-connect-to-anthropic-services)을 참조하십시오.

234 234 

235| URL | 필요한 용도 |235| URL | 필요한 용도 |

236| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |236| - | - |

237| `api.anthropic.com` | Claude API 요청, WebFetch [도메인 안전 확인](/docs/ko/data-usage#webfetch-domain-safety-check), 기능 플래그 가져오기 및 원격 분석 이벤트 로깅 포함 |237| `api.anthropic.com` | Claude API 요청, WebFetch [도메인 안전 확인](/docs/ko/data-usage#webfetch-domain-safety-check), 기능 플래그 가져오기 및 원격 분석 이벤트 로깅 포함 |

238| `claude.ai` | claude.ai 계정 인증 |238| `claude.ai` | claude.ai 계정 인증 |

239| `claude.com` | claude.ai 계정 로그인이 브라우저에서 `claude.com` 페이지를 열고, 이는 `claude.ai`로 리디렉션됩니다. 사전 승인된 WebFetch 문서 조회도 CLI에서 이 호스트에 도달합니다 |239| `claude.com` | claude.ai 계정 로그인이 브라우저에서 `claude.com` 페이지를 열고, 이는 `claude.ai`로 리디렉션됩니다. 사전 승인된 WebFetch 문서 조회도 CLI에서 이 호스트에 도달합니다 |

Details

30이 표는 각 스타일이 세션을 어떻게 변경하는지와 언제 사용하면 좋은지 보여줍니다:30이 표는 각 스타일이 세션을 어떻게 변경하는지와 언제 사용하면 좋은지 보여줍니다:

31 31 

32| 스타일 | 변경 사항 | 사용 시기 |32| 스타일 | 변경 사항 | 사용 시기 |

33| :-------------------------- | :------------------------------------------------- | :-------------------------------------------------------- |33| :- | :- | :- |

34| [Proactive](#proactive) | Claude가 즉시 작업을 시작하고 일상적인 결정에 대해 묻는 대신 합리적인 가정을 합니다 | Claude가 일상적인 결정을 계속 처리하도록 하고 싶으며, 가정이 잘못되면 방향을 수정할 수 있습니다 |34| [Proactive](#proactive) | Claude가 즉시 작업을 시작하고 일상적인 결정에 대해 묻는 대신 합리적인 가정을 합니다 | Claude가 일상적인 결정을 계속 처리하도록 하고 싶으며, 가정이 잘못되면 방향을 수정할 수 있습니다 |

35| [Concise](#concise) | 응답이 결과로 시작하고 서문, 설명, 요약을 생략합니다 | 기본 응답이 원하는 것보다 깁니다 |35| [Concise](#concise) | 응답이 결과로 시작하고 서문, 설명, 요약을 생략합니다 | 기본 응답이 원하는 것보다 깁니다 |

36| [Explanatory](#explanatory) | Claude가 작성한 코드 뒤의 선택을 설명하는 짧은 `Insight` 블록을 추가합니다 | 코드베이스를 배우고 있거나 변경 사항과 함께 추론을 원합니다 |36| [Explanatory](#explanatory) | Claude가 작성한 코드 뒤의 선택을 설명하는 짧은 `Insight` 블록을 추가합니다 | 코드베이스를 배우고 있거나 변경 사항과 함께 추론을 원합니다 |


180YAML [frontmatter](/docs/ko/glossary#frontmatter)를 사용하여 출력 스타일을 구성합니다. 파일 맨 위의 `---` 마커 사이에 위치합니다. 모든 필드는 선택 사항이며, 필드 이름은 하이픈으로 구분된 소문자 단어를 사용합니다. 오타가 있는 필드는 오류 없이 무시됩니다. YAML이 파싱되지 않으면 스타일은 여전히 파일 이름으로 로드되며 필드가 설정되지 않습니다. `claude --debug`를 실행하여 파싱 오류를 확인합니다.180YAML [frontmatter](/docs/ko/glossary#frontmatter)를 사용하여 출력 스타일을 구성합니다. 파일 맨 위의 `---` 마커 사이에 위치합니다. 모든 필드는 선택 사항이며, 필드 이름은 하이픈으로 구분된 소문자 단어를 사용합니다. 오타가 있는 필드는 오류 없이 무시됩니다. YAML이 파싱되지 않으면 스타일은 여전히 파일 이름으로 로드되며 필드가 설정되지 않습니다. `claude --debug`를 실행하여 파싱 오류를 확인합니다.

181 181 

182| 필드 | 필수 | 설명 |182| 필드 | 필수 | 설명 |

183| :------------------------- | :-- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |183| :- | :- | :- |

184| `name` | 아니요 | 출력 스타일의 이름으로, `/config` 선택기에 표시됩니다. 기본값: 파일 이름 |184| `name` | 아니요 | 출력 스타일의 이름으로, `/config` 선택기에 표시됩니다. 기본값: 파일 이름 |

185| `description` | 아니요 | 출력 스타일의 설명으로, `/config` 선택기에 표시됩니다 |185| `description` | 아니요 | 출력 스타일의 설명으로, `/config` 선택기에 표시됩니다 |

186| `keep-coding-instructions` | 아니요 | `true`로 설정하면 Claude Code의 기본 제공 소프트웨어 엔지니어링 지침을 스타일과 함께 유지합니다. 기본값: `false` |186| `keep-coding-instructions` | 아니요 | `true`로 설정하면 Claude Code의 기본 제공 소프트웨어 엔지니어링 지침을 스타일과 함께 유지합니다. 기본값: `false` |


197이 표는 원하는 것을 이를 수행하는 기능과 일치시킵니다:197이 표는 원하는 것을 이를 수행하는 기능과 일치시킵니다:

198 198 

199| 원하는 것 | 사용 | 적합한 이유 |199| 원하는 것 | 사용 | 적합한 이유 |

200| :------------------------------------------- | :---------------------------------------------------------------- | :----------------------------------------------------------------------- |200| :- | :- | :- |

201| 특정 음성, 길이 또는 형식의 모든 응답, 또는 다른 역할의 Claude | 출력 스타일 | 전체 세션에 적용되며, 한 명령으로 스타일을 전환합니다 |201| 특정 음성, 길이 또는 형식의 모든 응답, 또는 다른 역할의 Claude | 출력 스타일 | 전체 세션에 적용되며, 한 명령으로 스타일을 전환합니다 |

202| Claude가 프로젝트의 규칙, 명령 및 구조를 알기를 원함 | [CLAUDE.md](/docs/ko/memory) | 이는 Claude가 코드베이스에 대해 알아야 할 내용을 보유하며, 선택한 스타일에 관계없이 로드된 상태로 유지됩니다 |202| Claude가 프로젝트의 규칙, 명령 및 구조를 알기를 원함 | [CLAUDE.md](/docs/ko/memory) | 이는 Claude가 코드베이스에 대해 알아야 할 내용을 보유하며, 선택한 스타일에 관계없이 로드된 상태로 유지됩니다 |

203| 릴리스 체크리스트 또는 검토 절차와 같은 한 종류의 작업에 대한 지침 | [skill](/docs/ko/skills) | Claude는 이를 호출하거나 작업이 일치할 때만 로드하므로 관련 없는 응답을 형성하지 않습니다 |203| 릴리스 체크리스트 또는 검토 절차와 같은 한 종류의 작업에 대한 지침 | [skill](/docs/ko/skills) | Claude는 이를 호출하거나 작업이 일치할 때만 로드하므로 관련 없는 응답을 형성하지 않습니다 |

overview.md +1 −1

Details

227위의 [Terminal](/docs/ko/quickstart), [VS Code](/docs/ko/vs-code), [JetBrains](/docs/ko/jetbrains), [Desktop](/docs/ko/desktop) 및 [Web](/docs/ko/claude-code-on-the-web) 환경 외에도 Claude Code는 CI/CD, 채팅 및 브라우저 워크플로우와 통합됩니다:227위의 [Terminal](/docs/ko/quickstart), [VS Code](/docs/ko/vs-code), [JetBrains](/docs/ko/jetbrains), [Desktop](/docs/ko/desktop) 및 [Web](/docs/ko/claude-code-on-the-web) 환경 외에도 Claude Code는 CI/CD, 채팅 및 브라우저 워크플로우와 통합됩니다:

228 228 

229| 원하는 것 | 최적의 옵션 |229| 원하는 것 | 최적의 옵션 |

230| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |230| - | - |

231| 휴대폰이나 다른 기기에서 로컬 세션 계속하기 | [원격 제어](/docs/ko/remote-control) |231| 휴대폰이나 다른 기기에서 로컬 세션 계속하기 | [원격 제어](/docs/ko/remote-control) |

232| Telegram, Discord, iMessage 또는 자신의 웹훅에서 세션으로 이벤트 푸시 | [Channels](/docs/ko/channels) |232| Telegram, Discord, iMessage 또는 자신의 웹훅에서 세션으로 이벤트 푸시 | [Channels](/docs/ko/channels) |

233| 로컬에서 작업 시작, 모바일에서 계속 | [`claude --cloud`](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud), 그 다음 [Claude 모바일 앱](/docs/ko/mobile) |233| 로컬에서 작업 시작, 모바일에서 계속 | [`claude --cloud`](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud), 그 다음 [Claude 모바일 앱](/docs/ko/mobile) |

Details

17각 모드는 편의성과 감시 사이에서 서로 다른 트레이드오프를 만듭니다. 아래 표는 각 모드에서 Claude가 권한 프롬프트 없이 수행할 수 있는 작업을 보여줍니다. 수동 모드는 구성 값인 `default` 아래에 나타납니다.17각 모드는 편의성과 감시 사이에서 서로 다른 트레이드오프를 만듭니다. 아래 표는 각 모드에서 Claude가 권한 프롬프트 없이 수행할 수 있는 작업을 보여줍니다. 수동 모드는 구성 값인 `default` 아래에 나타납니다.

18 18 

19| 모드 | 요청 없이 실행되는 작업 | 최적 사용 사례 |19| 모드 | 요청 없이 실행되는 작업 | 최적 사용 사례 |

20| :------------------------------------------------------------------ | :------------------------------------------------------------------------ | :------------------- |20| :- | :- | :- |

21| `default` | 읽기만 | 모든 작업을 직접 검토, 민감한 작업 |21| `default` | 읽기만 | 모든 작업을 직접 검토, 민감한 작업 |

22| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | 읽기, 파일 편집, 일반적인 파일시스템 명령어 (`mkdir`, `touch`, `mv`, `cp` 등) | 검토 중인 코드 반복 작업 |22| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | 읽기, 파일 편집, 일반적인 파일시스템 명령어 (`mkdir`, `touch`, `mv`, `cp` 등) | 검토 중인 코드 반복 작업 |

23| [`plan`](#analyze-before-you-edit-with-plan-mode) | 읽기, 그리고 [자동 모드](#eliminate-prompts-with-auto-mode)를 사용할 수 있을 때 분류기 승인 명령어 | 변경 전 코드베이스 탐색 |23| [`plan`](#analyze-before-you-edit-with-plan-mode) | 읽기, 그리고 [자동 모드](#eliminate-prompts-with-auto-mode)를 사용할 수 있을 때 분류기 승인 명령어 | 변경 전 코드베이스 탐색 |


53권한 모드는 Claude가 작업 전에 물어보는지 여부를 결정하고, [Bash sandbox](/docs/ko/sandboxing) 및 외부 [isolation boundaries](/docs/ko/sandbox-environments)는 작업이 실행되면 도달할 수 있는 것을 결정합니다. 아래의 각 행은 목표를 시작점으로 그곳에 도달하는 플래그 또는 설정 및 필요한 격리와 쌍을 이룹니다. [사용 가능한 모드](#available-modes)는 각 모드에서 프롬프트 없이 실행되는 것을 나열합니다.53권한 모드는 Claude가 작업 전에 물어보는지 여부를 결정하고, [Bash sandbox](/docs/ko/sandboxing) 및 외부 [isolation boundaries](/docs/ko/sandbox-environments)는 작업이 실행되면 도달할 수 있는 것을 결정합니다. 아래의 각 행은 목표를 시작점으로 그곳에 도달하는 플래그 또는 설정 및 필요한 격리와 쌍을 이룹니다. [사용 가능한 모드](#available-modes)는 각 모드에서 프롬프트 없이 실행되는 것을 나열합니다.

54 54 

55| 원하는 것 | 시작 | 필요한 격리 | 참고 |55| 원하는 것 | 시작 | 필요한 격리 | 참고 |

56| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |56| :- | :- | :- | :- |

57| 모든 작업을 직접 검토 | Manual 모드: `claude --permission-mode default` | 없음 | 민감한 작업, 낯선 코드 |57| 모든 작업을 직접 검토 | Manual 모드: `claude --permission-mode default` | 없음 | 민감한 작업, 낯선 코드 |

58| 분류기 없이 더 적은 프롬프트로 로컬에서 반복 | Manual 모드 + [auto-allow mode](/docs/ko/sandboxing#sandbox-modes)의 Bash sandbox: `claude --permission-mode default`, 그 다음 `/sandbox` 실행 및 auto-allow 선택 | 기본 제공 Bash sandbox, macOS, Linux, WSL2 | Deny 규칙은 여전히 적용되고, `Bash(git push *)`와 같이 명령을 지정하는 ask 규칙은 여전히 프롬프트합니다. 설정 파일에서 대신 sandbox를 켜려면 [`sandbox.enabled`](/docs/ko/settings-reference#sandbox-enabled)를 `true`로 설정합니다. |58| 분류기 없이 더 적은 프롬프트로 로컬에서 반복 | Manual 모드 + [auto-allow mode](/docs/ko/sandboxing#sandbox-modes)의 Bash sandbox: `claude --permission-mode default`, 그 다음 `/sandbox` 실행 및 auto-allow 선택 | 기본 제공 Bash sandbox, macOS, Linux, WSL2 | Deny 규칙은 여전히 적용되고, `Bash(git push *)`와 같이 명령을 지정하는 ask 규칙은 여전히 프롬프트합니다. 설정 파일에서 대신 sandbox를 켜려면 [`sandbox.enabled`](/docs/ko/settings-reference#sandbox-enabled)를 `true`로 설정합니다. |

59| 변경 전에 탐색 | `claude --permission-mode plan` | 없음 | Claude Code는 [계획을 승인](#review-and-approve-a-plan)할 때까지 편집을 차단합니다. |59| 변경 전에 탐색 | `claude --permission-mode plan` | 없음 | Claude Code는 [계획을 승인](#review-and-approve-a-plan)할 때까지 편집을 차단합니다. |


84기본 제공 기본값은 Claude Code를 실행하는 방법, 플랜, Claude Code가 기능 플래그를 가져올 수 있는지 여부에 따라 달라집니다. 세션과 일치하는 첫 번째 행이 적용됩니다. 표는 터미널 또는 VS Code 확장을 통해 시작하는 세션을 다룹니다. 데스크톱 앱 및 claude.ai는 [권한 모드 전환](#switch-permission-modes)의 Desktop 및 Web 탭을 참조하세요.84기본 제공 기본값은 Claude Code를 실행하는 방법, 플랜, Claude Code가 기능 플래그를 가져올 수 있는지 여부에 따라 달라집니다. 세션과 일치하는 첫 번째 행이 적용됩니다. 표는 터미널 또는 VS Code 확장을 통해 시작하는 세션을 다룹니다. 데스크톱 앱 및 claude.ai는 [권한 모드 전환](#switch-permission-modes)의 Desktop 및 Web 탭을 참조하세요.

85 85 

86| Claude Code를 실행하는 방법 | 기본 제공 시작 권한 모드 |86| Claude Code를 실행하는 방법 | 기본 제공 시작 권한 모드 |

87| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------- |87| :- | :- |

88| 모든 설정 파일이 `disableAutoMode`를 `"disable"`로 설정 | `default` |88| 모든 설정 파일이 `disableAutoMode`를 `"disable"`로 설정 | `default` |

89| [기능 플래그 가져오기](/docs/ko/env-vars#features-that-need-feature-flag-fetching)가 꺼짐 | `default` |89| [기능 플래그 가져오기](/docs/ko/env-vars#features-that-need-feature-flag-fetching)가 꺼짐 | `default` |

90| [이 기본값을 추가하는 버전으로 설치 또는 업그레이드 후 첫 번째 세션](/docs/ko/env-vars#first-session-after-an-install-or-upgrade), 신선한 설치 후 Claude Code가 시간 내에 플래그를 가져오지 않은 경우 제외 | `default` |90| [이 기본값을 추가하는 버전으로 설치 또는 업그레이드 후 첫 번째 세션](/docs/ko/env-vars#first-session-after-an-install-or-upgrade), 신선한 설치 후 Claude Code가 시간 내에 플래그를 가져오지 않은 경우 제외 | `default` |


111한 세션, 또는 머신, 프로젝트, 또는 조직의 모든 세션에 대한 기본값으로 시작 권한 모드를 설정할 수 있습니다. 둘 이상의 설정 파일이 `permissions.defaultMode`를 설정하면 [설정 우선순위](/docs/ko/settings#settings-precedence)가 결정하므로 프로젝트 또는 관리형 값이 `~/.claude/settings.json`을 능가합니다. 이미 실행 중인 세션의 권한 모드를 변경하려면 [권한 모드 전환](#switch-permission-modes)을 참조하세요.111한 세션, 또는 머신, 프로젝트, 또는 조직의 모든 세션에 대한 기본값으로 시작 권한 모드를 설정할 수 있습니다. 둘 이상의 설정 파일이 `permissions.defaultMode`를 설정하면 [설정 우선순위](/docs/ko/settings#settings-precedence)가 결정하므로 프로젝트 또는 관리형 값이 `~/.claude/settings.json`을 능가합니다. 이미 실행 중인 세션의 권한 모드를 변경하려면 [권한 모드 전환](#switch-permission-modes)을 참조하세요.

112 112 

113| 시작 권한 모드를 설정하려면 | 이렇게 하세요 |113| 시작 권한 모드를 설정하려면 | 이렇게 하세요 |

114| :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |114| :- | :- |

115| 시작하려는 한 세션 | 권한 모드를 플래그로 전달합니다. 예: `claude --permission-mode default` |115| 시작하려는 한 세션 | 권한 모드를 플래그로 전달합니다. 예: `claude --permission-mode default` |

116| 이 머신에서 시작하는 모든 터미널 세션 | `~/.claude/settings.json`에서 `permissions.defaultMode`를 설정합니다. VS Code 확장이 읽는 것은 [권한 모드 전환](#switch-permission-modes)을 참조하세요. |116| 이 머신에서 시작하는 모든 터미널 세션 | `~/.claude/settings.json`에서 `permissions.defaultMode`를 설정합니다. VS Code 확장이 읽는 것은 [권한 모드 전환](#switch-permission-modes)을 참조하세요. |

117| 한 프로젝트에서 시작하는 모든 터미널 세션 | 프로젝트의 `.claude/settings.json`에서 `permissions.defaultMode`를 설정합니다. 터미널에서 시작하는 세션은 `auto` 및 `bypassPermissions`를 제외한 모든 값을 준수합니다. VS Code 확장이 시작하는 세션은 시작 권한 모드에 대해 프로젝트 설정을 읽지 않습니다. |117| 한 프로젝트에서 시작하는 모든 터미널 세션 | 프로젝트의 `.claude/settings.json`에서 `permissions.defaultMode`를 설정합니다. 터미널에서 시작하는 세션은 `auto` 및 `bypassPermissions`를 제외한 모든 값을 준수합니다. VS Code 확장이 시작하는 세션은 시작 권한 모드에 대해 프로젝트 설정을 읽지 않습니다. |


166 **세션 중**: 프롬프트 상자 하단의 모드 표시기를 클릭합니다. 이 페이지의 모드에 대해 다음 레이블을 사용합니다:166 **세션 중**: 프롬프트 상자 하단의 모드 표시기를 클릭합니다. 이 페이지의 모드에 대해 다음 레이블을 사용합니다:

167 167 

168 | UI 레이블 | 모드 |168 | UI 레이블 | 모드 |

169 | :----------------- | :------------------ |169 | :- | :- |

170 | Manual | `default` |170 | Manual | `default` |

171 | Edit automatically | `acceptEdits` |171 | Edit automatically | `acceptEdits` |

172 | Plan | `plan` |172 | Plan | `plan` |


614`bypassPermissions` 모드와 [bypass permissions를 사용할 수 있는](#skip-all-checks-with-bypasspermissions-mode) plan 모드의 대화형 터미널 세션을 제외하고는 특정 경로에 대한 쓰기는 자동으로 승인되지 않습니다. 이는 저장소 상태와 Claude의 자체 설정이 실수로 손상되는 것을 방지합니다.614`bypassPermissions` 모드와 [bypass permissions를 사용할 수 있는](#skip-all-checks-with-bypasspermissions-mode) plan 모드의 대화형 터미널 세션을 제외하고는 특정 경로에 대한 쓰기는 자동으로 승인되지 않습니다. 이는 저장소 상태와 Claude의 자체 설정이 실수로 손상되는 것을 방지합니다.

615 615 

616| 모드 | 보호된 경로 쓰기 |616| 모드 | 보호된 경로 쓰기 |

617| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |617| :- | :- |

618| `default`, `acceptEdits` | 프롬프트됨 |618| `default`, `acceptEdits` | 프롬프트됨 |

619| `plan` | [bypass permissions를 사용할 수 있는](#skip-all-checks-with-bypasspermissions-mode) 대화형 터미널 세션에서 허용됨. 그렇지 않으면 계획 중에 [auto mode](#eliminate-prompts-with-auto-mode)를 사용할 수 있을 때 분류기로 라우팅되고, 그렇지 않으면 프롬프트됨 |619| `plan` | [bypass permissions를 사용할 수 있는](#skip-all-checks-with-bypasspermissions-mode) 대화형 터미널 세션에서 허용됨. 그렇지 않으면 계획 중에 [auto mode](#eliminate-prompts-with-auto-mode)를 사용할 수 있을 때 분류기로 라우팅되고, 그렇지 않으면 프롬프트됨 |

620| `auto` | 분류기로 라우팅됨 |620| `auto` | 분류기로 라우팅됨 |


659대신 발생하는 일은 권한 모드에 따라 달라집니다:659대신 발생하는 일은 권한 모드에 따라 달라집니다:

660 660 

661| 모드 | Claude Code가 critical-path 제거로 수행하는 작업 |661| 모드 | Claude Code가 critical-path 제거로 수행하는 작업 |

662| :----------------------- | :------------------------------------------------------------------------------------------------------------------------- |662| :- | :- |

663| `default`, `acceptEdits` | 승인을 요청합니다 |663| `default`, `acceptEdits` | 승인을 요청합니다 |

664| `plan` | 승인을 요청합니다. [계획 중에 auto mode를 사용할 수 있고](#analyze-before-you-edit-with-plan-mode) bypass permissions를 사용할 수 없으면 대신 분류기로 보냅니다 |664| `plan` | 승인을 요청합니다. [계획 중에 auto mode를 사용할 수 있고](#analyze-before-you-edit-with-plan-mode) bypass permissions를 사용할 수 없으면 대신 분류기로 보냅니다 |

665| `auto` | [분류기](#eliminate-prompts-with-auto-mode)로 보냅니다 |665| `auto` | [분류기](#eliminate-prompts-with-auto-mode)로 보냅니다 |

permissions.md +15 −15

Details

15Claude Code는 강력함과 안전성의 균형을 맞추기 위해 계층화된 권한 시스템을 사용합니다. 다음 표는 각 도구 유형에 대해 수동 모드에서 작업 실행 전에 승인을 요청하는지 여부를 보여줍니다. 다른 [권한 모드](#permission-modes)는 이 중 어떤 것이 사용자에게 묻는지를 변경하며, [분류기가 작업을 평가하는 방식](/docs/ko/permission-modes#how-the-classifier-evaluates-actions)은 분류기가 보는 작업을 나열합니다.15Claude Code는 강력함과 안전성의 균형을 맞추기 위해 계층화된 권한 시스템을 사용합니다. 다음 표는 각 도구 유형에 대해 수동 모드에서 작업 실행 전에 승인을 요청하는지 여부를 보여줍니다. 다른 [권한 모드](#permission-modes)는 이 중 어떤 것이 사용자에게 묻는지를 변경하며, [분류기가 작업을 평가하는 방식](/docs/ko/permission-modes#how-the-classifier-evaluates-actions)은 분류기가 보는 작업을 나열합니다.

16 16 

17| 도구 유형 | 예시 | 승인 필요 | "예, 다시 묻지 않기" 동작 |17| 도구 유형 | 예시 | 승인 필요 | "예, 다시 묻지 않기" 동작 |

18| :------ | :------------ | :--------------------------------------------------------------------------- | :--------------- |18| :- | :- | :- | :- |

19| 읽기 전용 | 파일 읽기, Grep | 아니오, [작업 디렉토리 및 추가 디렉토리](#working-directories) 내에서 | 해당 없음 |19| 읽기 전용 | 파일 읽기, Grep | 아니오, [작업 디렉토리 및 추가 디렉토리](#working-directories) 내에서 | 해당 없음 |

20| Bash 명령 | 셸 실행 | 예, [읽기 전용 명령](#read-only-commands)의 기본 제공 집합 제외 | 저장소 및 명령당 영구적 |20| Bash 명령 | 셸 실행 | 예, [읽기 전용 명령](#read-only-commands)의 기본 제공 집합 제외 | 저장소 및 명령당 영구적 |

21| 파일 수정 | Edit/Write 파일 | 예 | 세션 종료까지 |21| 파일 수정 | Edit/Write 파일 | 예 | 세션 종료까지 |


76Claude Code는 도구 승인 방식을 제어하는 여러 권한 모드를 지원합니다. [권한 모드](/docs/ko/permission-modes)에서 각 모드를 사용할 시기를 확인합니다. 세션이 시작되는 모드를 변경하려면 [설정 파일](/docs/ko/settings#where-settings-live)에서 `defaultMode`를 설정합니다. [세션이 시작되는 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)에서는 각 플랜의 기본 설정과 VS Code 확장이 읽는 내용을 다룹니다.76Claude Code는 도구 승인 방식을 제어하는 여러 권한 모드를 지원합니다. [권한 모드](/docs/ko/permission-modes)에서 각 모드를 사용할 시기를 확인합니다. 세션이 시작되는 모드를 변경하려면 [설정 파일](/docs/ko/settings#where-settings-live)에서 `defaultMode`를 설정합니다. [세션이 시작되는 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)에서는 각 플랜의 기본 설정과 VS Code 확장이 읽는 내용을 다룹니다.

77 77 

78| 모드 | 설명 |78| 모드 | 설명 |

79| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |79| :- | :- |

80| `default` | 각 도구를 처음 사용할 때 권한을 요청합니다. CLI, VS Code 및 JetBrains 확장, 데스크톱 앱에서 Manual로 표시되며, Claude Code는 `manual`을 별칭으로 허용합니다. 레이블과 별칭은 Claude Code v2.1.200 이상이 필요합니다. 데스크톱 앱의 레이블은 CLI 버전에 따라 달라지지 않습니다 |80| `default` | 각 도구를 처음 사용할 때 권한을 요청합니다. CLI, VS Code 및 JetBrains 확장, 데스크톱 앱에서 Manual로 표시되며, Claude Code는 `manual`을 별칭으로 허용합니다. 레이블과 별칭은 Claude Code v2.1.200 이상이 필요합니다. 데스크톱 앱의 레이블은 CLI 버전에 따라 달라지지 않습니다 |

81| `acceptEdits` | 작업 디렉토리 또는 `additionalDirectories`의 경로에 대해 파일 편집 및 `mkdir`, `touch`, `mv`, `cp` 등의 일반적인 파일 시스템 명령을 자동으로 수락합니다 |81| `acceptEdits` | 작업 디렉토리 또는 `additionalDirectories`의 경로에 대해 파일 편집 및 `mkdir`, `touch`, `mv`, `cp` 등의 일반적인 파일 시스템 명령을 자동으로 수락합니다 |

82| `plan` | Claude는 파일을 읽고 읽기 전용 셸 명령을 실행하여 탐색하지만 소스 파일을 편집하지 않습니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)를 사용할 수 있으며, 분류기 승인 명령도 실행됩니다. CLI 및 VS Code 확장에서 Plan으로 표시됩니다 |82| `plan` | Claude는 파일을 읽고 읽기 전용 셸 명령을 실행하여 탐색하지만 소스 파일을 편집하지 않습니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)를 사용할 수 있으며, 분류기 승인 명령도 실행됩니다. CLI 및 VS Code 확장에서 Plan으로 표시됩니다 |


103도구의 모든 사용을 일치시키려면 괄호 없이 도구 이름만 사용합니다:103도구의 모든 사용을 일치시키려면 괄호 없이 도구 이름만 사용합니다:

104 104 

105| 규칙 | 효과 |105| 규칙 | 효과 |

106| :--------- | :------------------ |106| :- | :- |

107| `Bash` | 모든 Bash 명령과 일치합니다 |107| `Bash` | 모든 Bash 명령과 일치합니다 |

108| `WebFetch` | 모든 웹 가져오기 요청과 일치합니다 |108| `WebFetch` | 모든 웹 가져오기 요청과 일치합니다 |

109| `Read` | 모든 파일 읽기와 일치합니다 |109| `Read` | 모든 파일 읽기와 일치합니다 |


117괄호 안에 지정자를 추가하여 특정 도구 사용과 일치시킵니다:117괄호 안에 지정자를 추가하여 특정 도구 사용과 일치시킵니다:

118 118 

119| 규칙 | 효과 |119| 규칙 | 효과 |

120| :----------------------------- | :---------------------------- |120| :- | :- |

121| `Bash(npm run build)` | 정확한 명령 `npm run build`와 일치합니다 |121| `Bash(npm run build)` | 정확한 명령 `npm run build`와 일치합니다 |

122| `Read(./.env)` | 현재 디렉토리의 `.env` 파일 읽기와 일치합니다 |122| `Read(./.env)` | 현재 디렉토리의 `.env` 파일 읽기와 일치합니다 |

123| `WebFetch(domain:example.com)` | example.com으로의 가져오기 요청과 일치합니다 |123| `WebFetch(domain:example.com)` | example.com으로의 가져오기 요청과 일치합니다 |


133매개변수 규칙은 Claude가 해당 매개변수가 정확한 값으로 설정된 도구를 호출할 때 일치합니다. 한 매개변수 값에 대한 허용 규칙은 호출이 전반적으로 안전하다는 것을 확립하지 않으므로, 허용 규칙은 각 도구의 자체 지정자 구문을 계속 사용합니다. 이는 도구가 허용하는 모든 스칼라 매개변수에 대해 작동합니다:133매개변수 규칙은 Claude가 해당 매개변수가 정확한 값으로 설정된 도구를 호출할 때 일치합니다. 한 매개변수 값에 대한 허용 규칙은 호출이 전반적으로 안전하다는 것을 확립하지 않으므로, 허용 규칙은 각 도구의 자체 지정자 구문을 계속 사용합니다. 이는 도구가 허용하는 모든 스칼라 매개변수에 대해 작동합니다:

134 134 

135| 규칙 | 일치 |135| 규칙 | 일치 |

136| :----------------------------- | :-------------------------- |136| :- | :- |

137| `Agent(model:opus)` | Opus 모델 계층을 요청하는 Agent 호출 |137| `Agent(model:opus)` | Opus 모델 계층을 요청하는 Agent 호출 |

138| `Agent(isolation:worktree)` | git worktree를 요청하는 Agent 호출 |138| `Agent(isolation:worktree)` | git worktree를 요청하는 Agent 호출 |

139| `Bash(run_in_background:true)` | 백그라운드에서 실행되는 Bash 호출 |139| `Bash(run_in_background:true)` | 백그라운드에서 실행되는 Bash 호출 |


178`*`는 규칙의 어느 곳에나 올 수 있습니다: 시작, 중간 또는 끝. 각 행은 규칙, 일치하는 명령, 일치하지 않는 근처 명령을 보여줍니다:178`*`는 규칙의 어느 곳에나 올 수 있습니다: 시작, 중간 또는 끝. 각 행은 규칙, 일치하는 명령, 일치하지 않는 근처 명령을 보여줍니다:

179 179 

180| 작성 내용 | 일치 | 일치하지 않음 |180| 작성 내용 | 일치 | 일치하지 않음 |

181| :--------------------- | :----------------------------------------------------------------------------------- | :------------------------------------- |181| :- | :- | :- |

182| `Bash(npm run build)` | `npm run build` | `npm run build --watch` |182| `Bash(npm run build)` | `npm run build` | `npm run build --watch` |

183| `Bash(npm run *)` | `npm run build`, `npm run test --watch`, `npm run` | `npm install` |183| `Bash(npm run *)` | `npm run build`, `npm run test --watch`, `npm run` | `npm install` |

184| `Bash(git log * main)` | `git log --oneline main`, `git log -5 main`, `git log --output=<file> main` | `git log main`, `git push origin main` |184| `Bash(git log * main)` | `git log --oneline main`, `git log -5 main`, `git log --output=<file> main` | `git log main`, `git push origin main` |


265Bash 규칙은 Claude Code가 [복합 명령](#compound-commands)을 분할하고 [래퍼](#process-wrappers)를 제거한 후 Claude가 작성한 명령 텍스트와 일치합니다. 다른 형식으로 호출된 동일한 프로그램과는 일치하지 않으므로 deny 또는 ask 규칙은 Claude가 일반적으로 생성하는 호출을 중지하며 프로그램 주변의 보안 경계가 아닙니다. 이러한 규칙은 `deny` 또는 `ask`에서 첫 번째 형식을 중지하고 다른 형식은 중지하지 않습니다:265Bash 규칙은 Claude Code가 [복합 명령](#compound-commands)을 분할하고 [래퍼](#process-wrappers)를 제거한 후 Claude가 작성한 명령 텍스트와 일치합니다. 다른 형식으로 호출된 동일한 프로그램과는 일치하지 않으므로 deny 또는 ask 규칙은 Claude가 일반적으로 생성하는 호출을 중지하며 프로그램 주변의 보안 경계가 아닙니다. 이러한 규칙은 `deny` 또는 `ask`에서 첫 번째 형식을 중지하고 다른 형식은 중지하지 않습니다:

266 266 

267| 규칙 | 중지 | 중지하지 않음 |267| 규칙 | 중지 | 중지하지 않음 |

268| :----------------- | :------------------------- | :---------------------------------------------------------------------------------------------------- |268| :- | :- | :- |

269| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |269| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |

270| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |270| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |

271| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |271| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |


370Read 및 Edit 규칙은 모두 [gitignore](https://git-scm.com/docs/gitignore) 패턴 구문을 사용하며 4가지 고유한 패턴 유형이 있습니다. 단일 세그먼트 디렉토리 패턴의 경우 일치 깊이는 이 섹션의 뒷부분에서 설명하는 규칙 유형에도 따릅니다:370Read 및 Edit 규칙은 모두 [gitignore](https://git-scm.com/docs/gitignore) 패턴 구문을 사용하며 4가지 고유한 패턴 유형이 있습니다. 단일 세그먼트 디렉토리 패턴의 경우 일치 깊이는 이 섹션의 뒷부분에서 설명하는 규칙 유형에도 따릅니다:

371 371 

372| 패턴 | 의미 | 예시 | 일치 |372| 패턴 | 의미 | 예시 | 일치 |

373| ------------------ | ---------------- | -------------------------------- | -------------------------------------------------- |373| - | - | - | - |

374| `//path` | 파일 시스템 루트의 절대 경로 | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |374| `//path` | 파일 시스템 루트의 절대 경로 | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |

375| `~/path` | 홈 디렉토리의 경로 | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |375| `~/path` | 홈 디렉토리의 경로 | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |

376| `/path` | 설정 소스에 상대적인 경로 | `Edit(/src/**/*.ts)` | 프로젝트 설정의 `<primary working directory>/src/**/*.ts` |376| `/path` | 설정 소스에 상대적인 경로 | `Edit(/src/**/*.ts)` | 프로젝트 설정의 `<primary working directory>/src/**/*.ts` |


383`/path` 패턴은 설정 소스가 정의된 디렉토리에 앵커되므로 동일한 규칙은 배치 위치에 따라 다른 위치와 일치합니다:383`/path` 패턴은 설정 소스가 정의된 디렉토리에 앵커되므로 동일한 규칙은 배치 위치에 따라 다른 위치와 일치합니다:

384 384 

385| 규칙 정의 위치 | `/path` 해석 |385| 규칙 정의 위치 | `/path` 해석 |

386| :----------------------------------- | :--------------------------------- |386| :- | :- |

387| `.claude/settings.json`의 프로젝트 설정 | `<primary working directory>/path` |387| `.claude/settings.json`의 프로젝트 설정 | `<primary working directory>/path` |

388| `.claude/settings.local.json`의 로컬 설정 | `<primary working directory>/path` |388| `.claude/settings.local.json`의 로컬 설정 | `<primary working directory>/path` |

389| `~/.claude/settings.json`의 사용자 설정 | `~/.claude/path` |389| `~/.claude/settings.json`의 사용자 설정 | `~/.claude/path` |


408규칙은 해당 앵커 아래의 파일만 일치합니다. 그 범위 내에서 일치 깊이는 패턴 형태와 단일 세그먼트 디렉토리 패턴의 경우 규칙 유형에 따라 달라집니다. 베어 파일명은 gitignore 의미론을 따르고 어느 깊이에서나 일치하므로 `Read(.env)` 및 `Read(**/.env)`는 동등합니다:408규칙은 해당 앵커 아래의 파일만 일치합니다. 그 범위 내에서 일치 깊이는 패턴 형태와 단일 세그먼트 디렉토리 패턴의 경우 규칙 유형에 따라 달라집니다. 베어 파일명은 gitignore 의미론을 따르고 어느 깊이에서나 일치하므로 `Read(.env)` 및 `Read(**/.env)`는 동등합니다:

409 409 

410| Deny 규칙 | 차단 | 차단하지 않음 |410| Deny 규칙 | 차단 | 차단하지 않음 |

411| ------------------------------- | -------------------------- | -------------------------- |411| - | - | - |

412| `Read(.env)` 또는 `Read(**/.env)` | 현재 디렉토리 또는 그 아래의 모든 `.env` | 상위 디렉토리 또는 다른 프로젝트의 `.env` |412| `Read(.env)` 또는 `Read(**/.env)` | 현재 디렉토리 또는 그 아래의 모든 `.env` | 상위 디렉토리 또는 다른 프로젝트의 `.env` |

413| `Read(//**/.env)` | 파일 시스템의 어디든 모든 `.env` | 없음; 규칙은 파일 시스템 루트에 앵커됨 |413| `Read(//**/.env)` | 파일 시스템의 어디든 모든 `.env` | 없음; 규칙은 파일 시스템 루트에 앵커됨 |

414 414 


432```432```

433 433 

434| 규칙 | `src/app.ts` 일치 | `vendor/pkg/src/lib.js` 일치 |434| 규칙 | `src/app.ts` 일치 | `vendor/pkg/src/lib.js` 일치 |

435| :----------------------------------- | :-------------- | :------------------------- |435| :- | :- | :- |

436| `Edit(src/**)` as an allow rule | 예 | 아니오 |436| `Edit(src/**)` as an allow rule | 예 | 아니오 |

437| `Edit(src/**)` as a deny or ask rule | 예 | 예 |437| `Edit(src/**)` as a deny or ask rule | 예 | 예 |

438| `Edit(/src/**)` in any rule type | 예 | 아니오 |438| `Edit(/src/**)` in any rule type | 예 | 아니오 |


491각 행은 `allow` 목록과 `deny` 목록에서 규칙이 수행하는 작업을 보여줍니다:491각 행은 `allow` 목록과 `deny` 목록에서 규칙이 수행하는 작업을 보여줍니다:

492 492 

493| 규칙 | `allow`에서 | `deny`에서 |493| 규칙 | `allow`에서 | `deny`에서 |

494| :------------------- | :----------------------------------------------------------- | :------------------------------------------------------------------------------------------ |494| :- | :- | :- |

495| `WebFetch` | Claude는 프롬프트 없이 fetch합니다. 샌드박스된 명령이 도달할 수 있는 호스트를 변경하지 않습니다. | Claude Code는 `WebFetch` 도구를 제거하므로 Claude는 fetch할 수 없습니다. 샌드박스된 명령이 도달할 수 있는 호스트를 변경하지 않습니다. |495| `WebFetch` | Claude는 프롬프트 없이 fetch합니다. 샌드박스된 명령이 도달할 수 있는 호스트를 변경하지 않습니다. | Claude Code는 `WebFetch` 도구를 제거하므로 Claude는 fetch할 수 없습니다. 샌드박스된 명령이 도달할 수 있는 호스트를 변경하지 않습니다. |

496| `WebFetch(domain:*)` | Claude는 프롬프트 없이 fetch하고, 샌드박스된 명령은 모든 호스트에 도달할 수 있습니다. | Claude Code는 도구를 유지하고 각 fetch를 거부하며, 샌드박스된 명령은 어떤 호스트에도 도달할 수 없습니다. |496| `WebFetch(domain:*)` | Claude는 프롬프트 없이 fetch하고, 샌드박스된 명령은 모든 호스트에 도달할 수 있습니다. | Claude Code는 도구를 유지하고 각 fetch를 거부하며, 샌드박스된 명령은 어떤 호스트에도 도달할 수 없습니다. |

497 497 


558경로 패턴은 [Read 및 Edit 규칙](#read-and-edit)의 `//`, `~/` 및 `/` 앵커를 공유하지만 일치는 gitignore 스타일이 아닌 전체 디렉토리 경로에 앵커됩니다. `*`는 정확히 하나의 경로 세그먼트와 일치하고 `**`는 세그먼트 전체에서 일치합니다. 후행 `/**`는 또한 명명된 루트와 일치합니다.558경로 패턴은 [Read 및 Edit 규칙](#read-and-edit)의 `//`, `~/` 및 `/` 앵커를 공유하지만 일치는 gitignore 스타일이 아닌 전체 디렉토리 경로에 앵커됩니다. `*`는 정확히 하나의 경로 세그먼트와 일치하고 `**`는 세그먼트 전체에서 일치합니다. 후행 `/**`는 또한 명명된 루트와 일치합니다.

559 559 

560| 규칙 | 일치 | 일치하지 않음 |560| 규칙 | 일치 | 일치하지 않음 |

561| --------------------- | ------------------------------------------ | -------------------------- |561| - | - | - |

562| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |562| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |

563| `Cd(~/code/**)` | `~/code` 및 그 아래의 모든 디렉토리 | `~/code` 외부의 디렉토리 |563| `Cd(~/code/**)` | `~/code` 및 그 아래의 모든 디렉토리 | `~/code` 외부의 디렉토리 |

564| `Cd(**/node_modules)` | 현재 디렉토리 아래 어느 깊이에서나 모든 `node_modules` 디렉토리 | `node_modules/pkg` |564| `Cd(**/node_modules)` | 현재 디렉토리 아래 어느 깊이에서나 모든 `node_modules` 디렉토리 | `node_modules/pkg` |


625다음 구성 유형은 `--add-dir` 디렉토리에서 로드됩니다:625다음 구성 유형은 `--add-dir` 디렉토리에서 로드됩니다:

626 626 

627| 구성 | `--add-dir`에서 로드됨 |627| 구성 | `--add-dir`에서 로드됨 |

628| :-------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |628| :- | :- |

629| `.claude/skills/`의 [Skills](/docs/ko/skills) | 예, 라이브 리로드 포함 |629| `.claude/skills/`의 [Skills](/docs/ko/skills) | 예, 라이브 리로드 포함 |

630| `.claude/commands/`의 [Command files](/docs/ko/skills#where-skills-live) | 예, 라이브 리로드 없음. 추가된 디렉토리와 프로젝트가 모두 동일한 이름의 명령을 정의할 때 Claude Code는 프로젝트의 명령을 실행합니다 |630| `.claude/commands/`의 [Command files](/docs/ko/skills#where-skills-live) | 예, 라이브 리로드 없음. 추가된 디렉토리와 프로젝트가 모두 동일한 이름의 명령을 정의할 때 Claude Code는 프로젝트의 명령을 실행합니다 |

631| `.claude/agents/`의 [Subagents](/docs/ko/sub-agents) | 예, 라이브 리로드 없음 |631| `.claude/agents/`의 [Subagents](/docs/ko/sub-agents) | 예, 라이브 리로드 없음 |


727각 행은 저장소가 제공할 수 있는 한 종류의 콘텐츠입니다. 열은 폴더 자체를 신뢰하지 않은 두 가지 상황입니다: 상위 폴더만 신뢰했거나, 신뢰 대화상자를 절대 표시하지 않는 `claude -p` 또는 SDK를 실행했습니다. 상위 폴더 열은 [중첩된 저장소](#project-allow-rules-and-workspace-trust) 내부에는 적용되지 않습니다: 대화형 세션에서 Claude Code는 신뢰 대화상자를 표시하며, `claude -p` 또는 SDK 실행은 `claude -p` 열을 따릅니다.727각 행은 저장소가 제공할 수 있는 한 종류의 콘텐츠입니다. 열은 폴더 자체를 신뢰하지 않은 두 가지 상황입니다: 상위 폴더만 신뢰했거나, 신뢰 대화상자를 절대 표시하지 않는 `claude -p` 또는 SDK를 실행했습니다. 상위 폴더 열은 [중첩된 저장소](#project-allow-rules-and-workspace-trust) 내부에는 적용되지 않습니다: 대화형 세션에서 Claude Code는 신뢰 대화상자를 표시하며, `claude -p` 또는 SDK 실행은 `claude -p` 열을 따릅니다.

728 728 

729| 저장소가 제공하는 것 | 상위 폴더만 신뢰한 경우 | `claude -p` 또는 SDK, 폴더를 신뢰하지 않은 경우 |729| 저장소가 제공하는 것 | 상위 폴더만 신뢰한 경우 | `claude -p` 또는 SDK, 폴더를 신뢰하지 않은 경우 |

730| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |730| :- | :- | :- |

731| 설정 파일의 [Hooks](/docs/ko/hooks), [`env`](/docs/ko/settings-reference#env) 블록 및 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper)와 같은 도우미 명령, 그리고 프로젝트 스킬의 [hooks](/docs/ko/hooks#hooks-in-skills-and-agents) 및 [`allowed-tools`](/docs/ko/skills#pre-approve-tools-for-a-skill) | 사용됨 | 사용됨. 워크스페이스 신뢰는 어떤 세션에서도 스킬의 `allowed-tools`를 제한하지 않습니다 |731| 설정 파일의 [Hooks](/docs/ko/hooks), [`env`](/docs/ko/settings-reference#env) 블록 및 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper)와 같은 도우미 명령, 그리고 프로젝트 스킬의 [hooks](/docs/ko/hooks#hooks-in-skills-and-agents) 및 [`allowed-tools`](/docs/ko/skills#pre-approve-tools-for-a-skill) | 사용됨 | 사용됨. 워크스페이스 신뢰는 어떤 세션에서도 스킬의 `allowed-tools`를 제한하지 않습니다 |

732| `.claude/settings.json`의 `permissions.allow` 규칙 및 `additionalDirectories` | 신뢰 대화상자를 수락할 때까지 사용되지 않으며, 대화상자는 다시 나타나 이를 나열합니다 | 사용되지 않습니다. Claude Code는 [`this workspace has not been trusted`](/docs/ko/errors#workspace-has-not-been-trusted) 경고를 stderr에 출력합니다 |732| `.claude/settings.json`의 `permissions.allow` 규칙 및 `additionalDirectories` | 신뢰 대화상자를 수락할 때까지 사용되지 않으며, 대화상자는 다시 나타나 이를 나열합니다 | 사용되지 않습니다. Claude Code는 [`this workspace has not been trusted`](/docs/ko/errors#workspace-has-not-been-trusted) 경고를 stderr에 출력합니다 |

733| 프로젝트 [subagent](/docs/ko/sub-agents#hooks-in-subagent-frontmatter)의 Frontmatter hooks, 프로젝트 [`@skills-dir` plugin](/docs/ko/plugins/loading#plugins-shared-through-a-repository), 그리고 저장소 또는 `--add-dir` 디렉터리의 [`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces) 항목 | 사용되지 않으며, 대화상자가 제공되지 않습니다 | 사용되지 않습니다 |733| 프로젝트 [subagent](/docs/ko/sub-agents#hooks-in-subagent-frontmatter)의 Frontmatter hooks, 프로젝트 [`@skills-dir` plugin](/docs/ko/plugins/loading#plugins-shared-through-a-repository), 그리고 저장소 또는 `--add-dir` 디렉터리의 [`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces) 항목 | 사용되지 않으며, 대화상자가 제공되지 않습니다 | 사용되지 않습니다 |

platforms.md +3 −3

Details

15작업 방식과 프로젝트가 있는 위치에 따라 플랫폼을 선택합니다.15작업 방식과 프로젝트가 있는 위치에 따라 플랫폼을 선택합니다.

16 16 

17| 플랫폼 | 최적 용도 | 제공 기능 |17| 플랫폼 | 최적 용도 | 제공 기능 |

18| :-------------------------------- | :----------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |18| :- | :- | :- |

19| [CLI](/docs/ko/quickstart) | 터미널 워크플로우, 스크립팅, 원격 서버 | 전체 기능 세트, [Agent SDK](/docs/ko/headless), macOS의 [컴퓨터 사용](/docs/ko/computer-use) (Pro 및 Max), 타사 제공자 |19| [CLI](/docs/ko/quickstart) | 터미널 워크플로우, 스크립팅, 원격 서버 | 전체 기능 세트, [Agent SDK](/docs/ko/headless), macOS의 [컴퓨터 사용](/docs/ko/computer-use) (Pro 및 Max), 타사 제공자 |

20| [Desktop](/docs/ko/desktop) | 시각적 검토, 병렬 세션, 관리형 설정 | Diff 뷰어, 앱 미리보기, Pro 및 Max의 [컴퓨터 사용](/docs/ko/desktop#let-claude-use-your-computer) 및 [Dispatch](/docs/ko/desktop#sessions-from-dispatch) |20| [Desktop](/docs/ko/desktop) | 시각적 검토, 병렬 세션, 관리형 설정 | Diff 뷰어, 앱 미리보기, Pro 및 Max의 [컴퓨터 사용](/docs/ko/desktop#let-claude-use-your-computer) 및 [Dispatch](/docs/ko/desktop#sessions-from-dispatch) |

21| [VS Code](/docs/ko/vs-code) | VS Code 내에서 터미널로 전환하지 않고 작업 | 인라인 Diff, 통합 터미널, 파일 컨텍스트 |21| [VS Code](/docs/ko/vs-code) | VS Code 내에서 터미널로 전환하지 않고 작업 | 인라인 Diff, 통합 터미널, 파일 컨텍스트 |


34통합을 통해 Claude는 코드베이스 외부의 서비스와 작업할 수 있습니다.34통합을 통해 Claude는 코드베이스 외부의 서비스와 작업할 수 있습니다.

35 35 

36| 통합 | 기능 | 사용 용도 |36| 통합 | 기능 | 사용 용도 |

37| :----------------------------------------------- | :-------------------------------------------- | :----------------------------------------------- |37| :- | :- | :- |

38| [Chrome](/docs/ko/chrome) | 로그인된 세션으로 브라우저를 제어합니다 | 웹 앱 테스트, 양식 작성, API 없이 사이트 자동화 |38| [Chrome](/docs/ko/chrome) | 로그인된 세션으로 브라우저를 제어합니다 | 웹 앱 테스트, 양식 작성, API 없이 사이트 자동화 |

39| [GitHub Actions](/docs/ko/github-actions) | CI 파이프라인에서 Claude를 실행합니다 | 자동화된 PR 검토, 이슈 분류, 예약된 유지보수 |39| [GitHub Actions](/docs/ko/github-actions) | CI 파이프라인에서 Claude를 실행합니다 | 자동화된 PR 검토, 이슈 분류, 예약된 유지보수 |

40| [GitLab CI/CD](/docs/ko/gitlab-ci-cd) | GitHub Actions와 동일하지만 GitLab용입니다 | GitLab의 CI 기반 자동화 |40| [GitLab CI/CD](/docs/ko/gitlab-ci-cd) | GitHub Actions와 동일하지만 GitLab용입니다 | GitLab의 CI 기반 자동화 |


51Claude Code는 터미널에 있지 않을 때 작업할 수 있는 여러 방법을 제공합니다. 이들은 작업을 트리거하는 것, Claude가 실행되는 위치, 그리고 설정해야 할 양이 다릅니다.51Claude Code는 터미널에 있지 않을 때 작업할 수 있는 여러 방법을 제공합니다. 이들은 작업을 트리거하는 것, Claude가 실행되는 위치, 그리고 설정해야 할 양이 다릅니다.

52 52 

53| | 트리거 | Claude 실행 위치 | 설정 | 최적 용도 |53| | 트리거 | Claude 실행 위치 | 설정 | 최적 용도 |

54| :------------------------------------------------------- | :--------------------------------------------------------------------- | :------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------- | :----------------------------- |54| :- | :- | :- | :- | :- |

55| [Dispatch](/docs/ko/desktop#sessions-from-dispatch) | Claude 모바일 앱에서 작업 메시지 전송 | 사용자 머신 (Desktop) | [모바일 앱을 Desktop과 페어링](https://support.claude.com/en/articles/13947068) | 외출 중 작업 위임, 최소 설정 |55| [Dispatch](/docs/ko/desktop#sessions-from-dispatch) | Claude 모바일 앱에서 작업 메시지 전송 | 사용자 머신 (Desktop) | [모바일 앱을 Desktop과 페어링](https://support.claude.com/en/articles/13947068) | 외출 중 작업 위임, 최소 설정 |

56| [Remote Control](/docs/ko/remote-control) | [claude.ai/code](https://claude.ai/code) 또는 Claude 모바일 앱에서 실행 중인 세션 제어 | 사용자 머신 (CLI 또는 VS Code) | `claude remote-control` 실행 | 다른 기기에서 진행 중인 작업 조종 |56| [Remote Control](/docs/ko/remote-control) | [claude.ai/code](https://claude.ai/code) 또는 Claude 모바일 앱에서 실행 중인 세션 제어 | 사용자 머신 (CLI 또는 VS Code) | `claude remote-control` 실행 | 다른 기기에서 진행 중인 작업 조종 |

57| [Channels](/docs/ko/channels) | Telegram 또는 Discord와 같은 채팅 앱이나 자체 서버에서 이벤트 푸시 | 사용자 머신 (CLI) | [채널 플러그인 설치](/docs/ko/channels#quickstart) 또는 [직접 구축](/docs/ko/channels-reference) | CI 실패 또는 채팅 메시지와 같은 외부 이벤트에 반응 |57| [Channels](/docs/ko/channels) | Telegram 또는 Discord와 같은 채팅 앱이나 자체 서버에서 이벤트 푸시 | 사용자 머신 (CLI) | [채널 플러그인 설치](/docs/ko/channels#quickstart) 또는 [직접 구축](/docs/ko/channels-reference) | CI 실패 또는 채팅 메시지와 같은 외부 이벤트에 반응 |

plugin-evals.md +10 −10

Details

348대부분의 경우 플러그인 루트에서 `claude plugin eval .`을 실행하면 로드된 플러그인으로 스위트의 모든 케이스를 실행합니다. 단일 케이스 파일을 실행하거나 개발 중인 플러그인이 아닌 설치된 플러그인을 평가하려면 다른 target을 전달합니다:348대부분의 경우 플러그인 루트에서 `claude plugin eval .`을 실행하면 로드된 플러그인으로 스위트의 모든 케이스를 실행합니다. 단일 케이스 파일을 실행하거나 개발 중인 플러그인이 아닌 설치된 플러그인을 평가하려면 다른 target을 전달합니다:

349 349 

350| Target | 실행되는 항목 |350| Target | 실행되는 항목 |

351| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |351| :- | :- |

352| `.`과 같은 플러그인의 루트 디렉토리 | 해당 플러그인이 로드된 eval 디렉토리 아래의 모든 케이스 |352| `.`과 같은 플러그인의 루트 디렉토리 | 해당 플러그인이 로드된 eval 디렉토리 아래의 모든 케이스 |

353| 단일 `prompt.md` 또는 `case.yaml` 파일 | 해당 케이스, 포함하는 플러그인이 로드됨 |353| 단일 `prompt.md` 또는 `case.yaml` 파일 | 해당 케이스, 포함하는 플러그인이 로드됨 |

354| 설치된 플러그인 이름, `name` 또는 `name@marketplace` | 설치된 복사본의 eval 디렉토리의 케이스, 설치된 복사본이 로드됨. 결과는 현재 디렉토리의 `./evals/results/` 또는 `--eval-dir`이 있는 `./<dir>/results/`에 기록됨 |354| 설치된 플러그인 이름, `name` 또는 `name@marketplace` | 설치된 복사본의 eval 디렉토리의 케이스, 설치된 복사본이 로드됨. 결과는 현재 디렉토리의 `./evals/results/` 또는 `--eval-dir`이 있는 `./<dir>/results/`에 기록됨 |


380이 표는 실행 횟수, 모델, 채점, 비용, 도구 부여, 모의 및 출력에 대한 옵션을 다룹니다. `claude plugin eval --help`를 실행하면 `--case`, `--tag`, `--eval-dir`, `--no-scaffold`, `--report` 및 `--verbose`도 포함하는 전체 목록을 볼 수 있습니다.380이 표는 실행 횟수, 모델, 채점, 비용, 도구 부여, 모의 및 출력에 대한 옵션을 다룹니다. `claude plugin eval --help`를 실행하면 `--case`, `--tag`, `--eval-dir`, `--no-scaffold`, `--report` 및 `--verbose`도 포함하는 전체 목록을 볼 수 있습니다.

381 381 

382| 옵션 | 기본값 | 효과 |382| 옵션 | 기본값 | 효과 |

383| :------------------------- | :------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |383| :- | :- | :- |

384| `--runs <n>` | 각 케이스의 `runs`, 그렇지 않으면 3 | 팔당 케이스당 실행 |384| `--runs <n>` | 각 케이스의 `runs`, 그렇지 않으면 3 | 팔당 케이스당 실행 |

385| `-j`, `--concurrency <n>` | `1` | 최대 이 많은 에이전트 실행을 동시에 실행합니다(1\~8). 계정의 속도 제한을 공유하므로 이는 벽시계 시간을 단축하지만 해당 제한을 초과하는 처리량을 높이지는 않습니다. 결과는 케이스 순서를 유지합니다 |385| `-j`, `--concurrency <n>` | `1` | 최대 이 많은 에이전트 실행을 동시에 실행합니다(1\~8). 계정의 속도 제한을 공유하므로 이는 벽시계 시간을 단축하지만 해당 제한을 초과하는 처리량을 높이지는 않습니다. 결과는 케이스 순서를 유지합니다 |

386| `--model <model>` | 각 케이스의 `model`, 그렇지 않으면 설정된 경우 `ANTHROPIC_MODEL`, 그렇지 않으면 Claude Code의 기본값 | 테스트 중인 에이전트의 모델. 모델 롤아웃이 플러그인 회귀로 잘못 인식되지 않도록 CI에서 고정합니다 |386| `--model <model>` | 각 케이스의 `model`, 그렇지 않으면 설정된 경우 `ANTHROPIC_MODEL`, 그렇지 않으면 Claude Code의 기본값 | 테스트 중인 에이전트의 모델. 모델 롤아웃이 플러그인 회귀로 잘못 인식되지 않도록 CI에서 고정합니다 |


419작업의 종료 코드는 발생한 상황을 알려줍니다:419작업의 종료 코드는 발생한 상황을 알려줍니다:

420 420 

421| 종료 코드 | 의미 |421| 종료 코드 | 의미 |

422| :---- | :------------------------------------------------------------------------------------------------------------------------------------ |422| :- | :- |

423| 0 | 모든 케이스가 `--threshold`에서 이상으로 점수를 받았고 모든 케이스 파일이 로드됨 |423| 0 | 모든 케이스가 `--threshold`에서 이상으로 점수를 받았고 모든 케이스 파일이 로드됨 |

424| 1 | 케이스가 임계값 아래로 점수를 받았거나, 케이스 파일이 로드되지 않았거나, 케이스를 찾을 수 없었거나, 실행을 시작할 수 없었거나, 플러그인 디렉토리를 신뢰하지 않고 `--trust-plugin`을 전달하지 않았거나, 옵션이 유효하지 않음 |424| 1 | 케이스가 임계값 아래로 점수를 받았거나, 케이스 파일이 로드되지 않았거나, 케이스를 찾을 수 없었거나, 실행을 시작할 수 없었거나, 플러그인 디렉토리를 신뢰하지 않고 `--trust-plugin`을 전달하지 않았거나, 옵션이 유효하지 않음 |

425| 2 | 부분 실행: `--max-cost-usd` 상한에 도달했거나 첫 실행 전 또는 첫 실행 시 자격 증명이 거부됨. `results.json`은 여전히 `partial: true`와 이유와 함께 작성됨 |425| 2 | 부분 실행: `--max-cost-usd` 상한에 도달했거나 첫 실행 전 또는 첫 실행 시 자격 증명이 거부됨. `results.json`은 여전히 `partial: true`와 이유와 함께 작성됨 |


470다음은 게이팅 스크립트가 일반적으로 읽는 필드입니다. 문서는 또한 스위트 구성, 모든 그레이더 정의 및 설명과 증거가 있는 실행별 그레이더 결과를 포함합니다:470다음은 게이팅 스크립트가 일반적으로 읽는 필드입니다. 문서는 또한 스위트 구성, 모든 그레이더 정의 및 설명과 증거가 있는 실행별 그레이더 결과를 포함합니다:

471 471 

472| 필드 | 의미 |472| 필드 | 의미 |

473| :------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------- |473| :- | :- |

474| `partial`, `partialReason` | `cost_ceiling`, `interrupted` 또는 `auth_failed`일 때 `true`이며, 스위트가 완료되지 않았을 때입니다. 부분 결과를 추세 차트에서 제외합니다 |474| `partial`, `partialReason` | `cost_ceiling`, `interrupted` 또는 `auth_failed`일 때 `true`이며, 스위트가 완료되지 않았을 때입니다. 부분 결과를 추세 차트에서 제외합니다 |

475| `aggregates.overallScore` | 스위트 전체의 평균 케이스 점수 |475| `aggregates.overallScore` | 스위트 전체의 평균 케이스 점수 |

476| `aggregates.casesPassed`, `aggregates.casesTotal` | `--threshold` 이상의 케이스 및 총 케이스 |476| `aggregates.casesPassed`, `aggregates.casesTotal` | `--threshold` 이상의 케이스 및 총 케이스 |


552`prompt.md` frontmatter는 이 필드를 허용합니다. 알 수 없는 키는 오류입니다.552`prompt.md` frontmatter는 이 필드를 허용합니다. 알 수 없는 키는 오류입니다.

553 553 

554| 필드 | 기본값 | 목적 |554| 필드 | 기본값 | 목적 |

555| :--------------------- | :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |555| :- | :- | :- |

556| `schema_version` | `"1.1"`, 자동으로 설정됨 | 케이스 형식 버전. `prompt.md`로 작성된 케이스는 자동으로 설정되므로 거의 설정하지 않습니다. |556| `schema_version` | `"1.1"`, 자동으로 설정됨 | 케이스 형식 버전. `prompt.md`로 작성된 케이스는 자동으로 설정되므로 거의 설정하지 않습니다. |

557| `name` | 디렉토리 이름 | 케이스 이름. `--case` 글로브는 이를 일치시키고 보고서는 이를 키로 합니다. |557| `name` | 디렉토리 이름 | 케이스 이름. `--case` 글로브는 이를 일치시키고 보고서는 이를 키로 합니다. |

558| `description` | | 인간용. 실행 시간에 사용되지 않음 |558| `description` | | 인간용. 실행 시간에 사용되지 않음 |


576이 필드는 `case.yaml`에만 존재합니다.576이 필드는 `case.yaml`에만 존재합니다.

577 577 

578| 필드 | 목적 |578| 필드 | 목적 |

579| :------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------- |579| :- | :- |

580| `context.scaffold_script` | Claude가 시작하기 전에 빈 작업 공간에서 실행되는 케이스 디렉토리의 Bash 스크립트. 고정 파일 또는 git 저장소를 만듭니다. [`--scaffold`](#add-setup-or-history-with-case-yaml)를 전달할 때만 실행됩니다. |580| `context.scaffold_script` | Claude가 시작하기 전에 빈 작업 공간에서 실행되는 케이스 디렉토리의 Bash 스크립트. 고정 파일 또는 git 저장소를 만듭니다. [`--scaffold`](#add-setup-or-history-with-case-yaml)를 전달할 때만 실행됩니다. |

581| `context.history_file` | 케이스 디렉토리의 `.jsonl` 기록을 재개합니다. 케이스의 프롬프트가 다음 사용자 턴이 됩니다. |581| `context.history_file` | 케이스 디렉토리의 `.jsonl` 기록을 재개합니다. 케이스의 프롬프트가 다음 사용자 턴이 됩니다. |

582| `context.add_dirs` | Claude가 실행 중에 읽을 수 있는 케이스 디렉토리 내부의 디렉토리, 읽기 전용으로 부여됨 |582| `context.add_dirs` | Claude가 실행 중에 읽을 수 있는 케이스 디렉토리 내부의 디렉토리, 읽기 전용으로 부여됨 |


590`graders/` 아래의 모든 채점자 파일은 frontmatter에서 이 키를 가져가고, 유형에 대한 옵션도 가져갑니다. 채점자의 이름은 `.md` 없는 파일 이름입니다.590`graders/` 아래의 모든 채점자 파일은 frontmatter에서 이 키를 가져가고, 유형에 대한 옵션도 가져갑니다. 채점자의 이름은 `.md` 없는 파일 이름입니다.

591 591 

592| 키 | 기본값 | 목적 |592| 키 | 기본값 | 목적 |

593| :------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------- |593| :- | :- | :- |

594| `type` | 필수 | [채점자 유형](#grader-types) 중 하나 |594| `type` | 필수 | [채점자 유형](#grader-types) 중 하나 |

595| `weight` | `1` | 실행의 점수에서 상대 가중치. 모든 양수 |595| `weight` | `1` | 실행의 점수에서 상대 가중치. 모든 양수 |

596| `arm` | 설정 안 됨 | `with-only`는 [두 arm 실행](#compare-against-a-no-plugin-baseline)에서 채점에서 채점자를 제외합니다. `both`는 Claude Code가 다른 경우 제외할 채점자를 두 arm에서 채점하도록 강제합니다. |596| `arm` | 설정 안 됨 | `with-only`는 [두 arm 실행](#compare-against-a-no-plugin-baseline)에서 채점에서 채점자를 제외합니다. `both`는 Claude Code가 다른 경우 제외할 채점자를 두 arm에서 채점하도록 강제합니다. |


602`regex` 채점자는 `target`을 가져가고 `llm` 채점자는 `focus`를 가져갑니다. 둘 다 동일한 값을 허용합니다.602`regex` 채점자는 `target`을 가져가고 `llm` 채점자는 `focus`를 가져갑니다. 둘 다 동일한 값을 허용합니다.

603 603 

604| 값 | 채점자가 보는 것 |604| 값 | 채점자가 보는 것 |

605| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |605| :- | :- |

606| `last_message` | Claude의 최종 응답 텍스트. 이것이 기본값입니다. |606| `last_message` | Claude의 최종 응답 텍스트. 이것이 기본값입니다. |

607| `trace` | 전체 세션을 JSON으로, 라인당 하나의 메시지. `regex` 채점자는 모든 메시지를 봅니다. `llm` 판사는 처음 12개와 마지막 12개를 봅니다. 그 안의 따옴표와 줄 바꿈은 JSON 이스케이프되므로 정규식은 `"` 대신 `\"`를 일치시킵니다. |607| `trace` | 전체 세션을 JSON으로, 라인당 하나의 메시지. `regex` 채점자는 모든 메시지를 봅니다. `llm` 판사는 처음 12개와 마지막 12개를 봅니다. 그 안의 따옴표와 줄 바꿈은 JSON 이스케이프되므로 정규식은 `"` 대신 `\"`를 일치시킵니다. |

608| `files` | Claude가 실행 중에 만든 경로 목록, 라인당 하나. 내용이 아니고, 스캐폴드가 만들었거나 Claude가 수정한 파일이 아닙니다. |608| `files` | Claude가 실행 중에 만든 경로 목록, 라인당 하나. 내용이 아니고, 스캐폴드가 만들었거나 Claude가 수정한 파일이 아닙니다. |


616아래의 각 채점자 유형은 옵션과 통과 조건을 나열합니다.616아래의 각 채점자 유형은 옵션과 통과 조건을 나열합니다.

617 617 

618| 유형 | 옵션 | 통과 조건 |618| 유형 | 옵션 | 통과 조건 |

619| :------------ | :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |619| :- | :- | :- |

620| `regex` | `pattern`, `flags`, `match`, `target` | JavaScript 정규식 `pattern`이 대상에서 발견됩니다. `match: not_contains`를 설정하여 부재를 요구하거나 `match: "count:N"`을 설정하여 정확히 N개의 일치를 요구합니다. 대소문자 불감을 `flags: i`에 넣습니다. 인라인 `(?i)`는 지원되지 않습니다. |620| `regex` | `pattern`, `flags`, `match`, `target` | JavaScript 정규식 `pattern`이 대상에서 발견됩니다. `match: not_contains`를 설정하여 부재를 요구하거나 `match: "count:N"`을 설정하여 정확히 N개의 일치를 요구합니다. 대소문자 불감을 `flags: i`에 넣습니다. 인라인 `(?i)`는 지원되지 않습니다. |

621| `tool_used` | `tool`, `input_match`, `min`, `max` | `tool`에 대한 호출 수. JSON 인코딩된 입력이 선택적 `input_match` 정규식과 일치하는 것은 `min`(기본 1) 및 `max`(기본 무제한) 사이입니다. 도구가 절대 호출되지 않았음을 주장하려면 `min: 0` 및 `max: 0`을 설정합니다. |621| `tool_used` | `tool`, `input_match`, `min`, `max` | `tool`에 대한 호출 수. JSON 인코딩된 입력이 선택적 `input_match` 정규식과 일치하는 것은 `min`(기본 1) 및 `max`(기본 무제한) 사이입니다. 도구가 절대 호출되지 않았음을 주장하려면 `min: 0` 및 `max: 0`을 설정합니다. |

622| `tool_order` | `before`, `after` | 두 도구가 모두 호출되고 첫 번째 일치하는 `before` 호출이 첫 번째 일치하는 `after` 호출보다 앞에 있습니다. 각각은 도구 이름 또는 `{ tool, input_match }` |622| `tool_order` | `before`, `after` | 두 도구가 모두 호출되고 첫 번째 일치하는 `before` 호출이 첫 번째 일치하는 `after` 호출보다 앞에 있습니다. 각각은 도구 이름 또는 `{ tool, input_match }` |


631`mocks/<server>/` 아래의 `<tool>.md` 파일은 하나의 도구에 답변합니다. 본문은 도구 결과이며, `{{input.<field>}}` 및 `{{file:fixtures/<name>}}` 치환이 있습니다. frontmatter는 이 키를 허용합니다.631`mocks/<server>/` 아래의 `<tool>.md` 파일은 하나의 도구에 답변합니다. 본문은 도구 결과이며, `{{input.<field>}}` 및 `{{file:fixtures/<name>}}` 치환이 있습니다. frontmatter는 이 키를 허용합니다.

632 632 

633| 키 | 기본값 | 목적 |633| 키 | 기본값 | 목적 |

634| :----------- | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |634| :- | :- | :- |

635| `type` | `fixed` | `fixed`는 본문을 작성한 대로 반환합니다. `agent`는 본문을 작은 모델이 실행을 위해 서버를 재생하고 이전 호출을 기록으로 보는 지침으로 취급합니다. |635| `type` | `fixed` | `fixed`는 본문을 작성한 대로 반환합니다. `agent`는 본문을 작은 모델이 실행을 위해 서버를 재생하고 이전 호출을 기록으로 보는 지침으로 취급합니다. |

636| `expect` | 설정 안 됨 | 점선 입력 경로에서 `string`, `number`, `boolean`, `array`, `object`와 같은 유형 이름, `/regex/`, 리터럴 또는 허용된 리터럴 목록으로의 맵. 위반하는 호출은 점수 0으로 실행을 중단하고 `aborted`로 서버, 도구 및 이유로 보고됩니다. |636| `expect` | 설정 안 됨 | 점선 입력 경로에서 `string`, `number`, `boolean`, `array`, `object`와 같은 유형 이름, `/regex/`, 리터럴 또는 허용된 리터럴 목록으로의 맵. 위반하는 호출은 점수 0으로 실행을 중단하고 `aborted`로 서버, 도구 및 이유로 보고됩니다. |

637| `error` | `false` | `fixed`만. 본문을 도구 오류로 반환합니다. |637| `error` | `false` | `fixed`만. 본문을 도구 오류로 반환합니다. |

Details

31이 표는 각 마켓플레이스의 저장소와 마켓플레이스 이름을 제공하며, 이는 해당 마켓플레이스에서 플러그인을 설치할 때 `@` 뒤에 입력하는 것입니다. 커뮤니티 마켓플레이스의 이름은 저장소 이름이 아닌 `claude-community`입니다.31이 표는 각 마켓플레이스의 저장소와 마켓플레이스 이름을 제공하며, 이는 해당 마켓플레이스에서 플러그인을 설치할 때 `@` 뒤에 입력하는 것입니다. 커뮤니티 마켓플레이스의 이름은 저장소 이름이 아닌 `claude-community`입니다.

32 32 

33| | 공식 | 커뮤니티 | 데모 |33| | 공식 | 커뮤니티 | 데모 |

34| :-------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- |34| :- | :- | :- | :- |

35| 저장소 | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) | [`anthropics/claude-code`](https://github.com/anthropics/claude-code/tree/main/plugins) |35| 저장소 | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) | [`anthropics/claude-code`](https://github.com/anthropics/claude-code/tree/main/plugins) |

36| 마켓플레이스 이름 | `claude-plugins-official` | `claude-community` | `claude-code-plugins` |36| 마켓플레이스 이름 | `claude-plugins-official` | `claude-community` | `claude-code-plugins` |

37| 포함 내용 | Anthropic이 유지 관리하는 플러그인, 파트너 및 기타 작성자의 플러그인 | 작성자가 Anthropic에 제출한 타사 플러그인 | 플러그인이 포함할 수 있는 것을 보여주는 작은 예제 플러그인 세트 |37| 포함 내용 | Anthropic이 유지 관리하는 플러그인, 파트너 및 기타 작성자의 플러그인 | 작성자가 Anthropic에 제출한 타사 플러그인 | 플러그인이 포함할 수 있는 것을 보여주는 작은 예제 플러그인 세트 |

Details

77태그는 세 가지 속성을 사용하며, 모두 필수입니다:77태그는 세 가지 속성을 사용하며, 모두 필수입니다:

78 78 

79| 속성 | 설명 |79| 속성 | 설명 |

80| :------ | :------------------------------- |80| :- | :- |

81| `v` | 프로토콜 버전. `1`이 유일하게 지원되는 값입니다. |81| `v` | 프로토콜 버전. `1`이 유일하게 지원되는 값입니다. |

82| `type` | 힌트 종류. `plugin`이 유일하게 지원되는 값입니다. |82| `type` | 힌트 종류. `plugin`이 유일하게 지원되는 값입니다. |

83| `value` | `name@marketplace` 형식의 플러그인 식별자 |83| `value` | `name@marketplace` 형식의 플러그인 식별자 |

Details

51명령어에는 다른 위치에 대한 플래그가 없습니다. 대신 프로젝트 내에서 스캐폴드하려면 [플러그인 생성](/docs/ko/plugins/create)을 참조하세요.51명령어에는 다른 위치에 대한 플래그가 없습니다. 대신 프로젝트 내에서 스캐폴드하려면 [플러그인 생성](/docs/ko/plugins/create)을 참조하세요.

52 52 

53| 플래그 | 설명 |53| 플래그 | 설명 |

54| :----------------------- | :----------------------------------------------------------------------------------------- |54| :- | :- |

55| `--description <text>` | 매니페스트 설명 |55| `--description <text>` | 매니페스트 설명 |

56| `--author <name>` | 작성자 이름. 기본값은 `git config user.name` |56| `--author <name>` | 작성자 이름. 기본값은 `git config user.name` |

57| `--author-email <email>` | 작성자 이메일. 기본값은 `git config user.email` |57| `--author-email <email>` | 작성자 이메일. 기본값은 `git config user.email` |


85대부분의 플러그인은 프롬프트 없이 설치됩니다. 마켓플레이스 항목이 [설치를 위해 명령어를 실행](/docs/ko/plugins/host-marketplace)하거나 [다운로드를 위해 `headersHelper`를 설정](/docs/ko/plugins/host-marketplace#how-users-accept-a-headershelper-command)하는 플러그인의 경우, Claude Code는 먼저 명령어를 출력하고 `Run this command now? [y/N]`을 묻습니다.85대부분의 플러그인은 프롬프트 없이 설치됩니다. 마켓플레이스 항목이 [설치를 위해 명령어를 실행](/docs/ko/plugins/host-marketplace)하거나 [다운로드를 위해 `headersHelper`를 설정](/docs/ko/plugins/host-marketplace#how-users-accept-a-headershelper-command)하는 플러그인의 경우, Claude Code는 먼저 명령어를 출력하고 `Run this command now? [y/N]`을 묻습니다.

86 86 

87| 플래그 | 설명 |87| 플래그 | 설명 |

88| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |88| :- | :- |

89| `-s, --scope <scope>` | 설치 범위: `user`, `project` 또는 `local`. 기본값은 `user` |89| `-s, --scope <scope>` | 설치 범위: `user`, `project` 또는 `local`. 기본값은 `user` |

90| `--config <key=value>` | 플러그인의 매니페스트가 선언하는 [`userConfig`](/docs/ko/plugins/manifest-reference) 옵션을 설정합니다. 각 옵션에 대해 플래그를 반복합니다. Claude Code v2.1.147 이상 필요 |90| `--config <key=value>` | 플러그인의 매니페스트가 선언하는 [`userConfig`](/docs/ko/plugins/manifest-reference) 옵션을 설정합니다. 각 옵션에 대해 플래그를 반복합니다. Claude Code v2.1.147 이상 필요 |

91| `-y, --yes` | `Run this command now?` 프롬프트 없이 표시된 설치 명령어를 수락합니다. Bash 도구나 훅과 같이 Claude Code 세션 내에서 명령어가 실행될 때는 무시됩니다. Claude Code v2.1.229 이상 필요 |91| `-y, --yes` | `Run this command now?` 프롬프트 없이 표시된 설치 명령어를 수락합니다. Bash 도구나 훅과 같이 Claude Code 세션 내에서 명령어가 실행될 때는 무시됩니다. Claude Code v2.1.229 이상 필요 |


150```150```

151 151 

152| 플래그 | 설명 |152| 플래그 | 설명 |

153| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |153| :- | :- |

154| `-s, --scope <scope>` | 범위에서 제거: `user`, `project` 또는 `local`. 기본값은 `user` |154| `-s, --scope <scope>` | 범위에서 제거: `user`, `project` 또는 `local`. 기본값은 `user` |

155| `--keep-data` | 플러그인의 지속적 데이터 디렉토리 `~/.claude/plugins/data/<id>/`를 보존합니다 |155| `--keep-data` | 플러그인의 지속적 데이터 디렉토리 `~/.claude/plugins/data/<id>/`를 보존합니다 |

156| `--prune` | 남은 플러그인이 필요하지 않은 자동 설치된 [종속성](/docs/ko/plugins/dependencies)도 제거합니다 |156| `--prune` | 남은 플러그인이 필요하지 않은 자동 설치된 [종속성](/docs/ko/plugins/dependencies)도 제거합니다 |


176```176```

177 177 

178| 플래그 | 설명 |178| 플래그 | 설명 |

179| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------- |179| :- | :- |

180| `-s, --scope <scope>` | 활성화할 범위: `user`, `project` 또는 `local`. 생략하면 자동 감지됩니다 |180| `-s, --scope <scope>` | 활성화할 범위: `user`, `project` 또는 `local`. 생략하면 자동 감지됩니다 |

181| `--json` | stdout의 마지막 줄에 하나의 JSON 객체로 결과를 출력합니다. [`plugin install --json`](#plugin-json-result)과 동일한 형식입니다. Claude Code v2.1.268 이상 필요 |181| `--json` | stdout의 마지막 줄에 하나의 JSON 객체로 결과를 출력합니다. [`plugin install --json`](#plugin-json-result)과 동일한 형식입니다. Claude Code v2.1.268 이상 필요 |

182 182 


214```214```

215 215 

216| 플래그 | 설명 |216| 플래그 | 설명 |

217| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------- |217| :- | :- |

218| `-a, --all` | 활성화된 모든 플러그인을 비활성화합니다. 플러그인 이름이나 `--scope`와 결합할 수 없습니다 |218| `-a, --all` | 활성화된 모든 플러그인을 비활성화합니다. 플러그인 이름이나 `--scope`와 결합할 수 없습니다 |

219| `-s, --scope <scope>` | 비활성화할 범위: `user`, `project` 또는 `local`. 생략하면 자동 감지됩니다 |219| `-s, --scope <scope>` | 비활성화할 범위: `user`, `project` 또는 `local`. 생략하면 자동 감지됩니다 |

220| `--json` | stdout의 마지막 줄에 하나의 JSON 객체로 결과를 출력합니다. [`plugin install --json`](#plugin-json-result)과 동일한 형식입니다. Claude Code v2.1.268 이상 필요 |220| `--json` | stdout의 마지막 줄에 하나의 JSON 객체로 결과를 출력합니다. [`plugin install --json`](#plugin-json-result)과 동일한 형식입니다. Claude Code v2.1.268 이상 필요 |


247```247```

248 248 

249| 플래그 | 설명 |249| 플래그 | 설명 |

250| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |250| :- | :- |

251| `-s, --scope <scope>` | 업데이트할 범위: `user`, `project`, `local` 또는 `managed`. 기본값은 플러그인이 설치된 범위입니다 |251| `-s, --scope <scope>` | 업데이트할 범위: `user`, `project`, `local` 또는 `managed`. 기본값은 플러그인이 설치된 범위입니다 |

252| `-y, --yes` | [명령어 소스](/docs/ko/plugins/host-marketplace) 플러그인에서 변경된 설치 명령어를 프롬프트 없이 수락합니다. stdin 또는 stdout이 TTY가 아닐 때 필요합니다. `--accept-command`를 전달하지 않는 한 필요합니다. Claude Code v2.1.229 이상 필요 |252| `-y, --yes` | [명령어 소스](/docs/ko/plugins/host-marketplace) 플러그인에서 변경된 설치 명령어를 프롬프트 없이 수락합니다. stdin 또는 stdout이 TTY가 아닐 때 필요합니다. `--accept-command`를 전달하지 않는 한 필요합니다. Claude Code v2.1.229 이상 필요 |

253| `--accept-command <sha256>` | 이전 [`--json` 실행](#plugin-json-result)이 `shownCommand`에서 보고한 `sha256`을 가진 마켓플레이스에서 선언한 명령어를 수락합니다. `-y` 대신 사용합니다. `-y`와 결합할 수 없습니다. Claude Code v2.1.271 이상 필요 |253| `--accept-command <sha256>` | 이전 [`--json` 실행](#plugin-json-result)이 `shownCommand`에서 보고한 `sha256`을 가진 마켓플레이스에서 선언한 명령어를 수락합니다. `-y` 대신 사용합니다. `-y`와 결합할 수 없습니다. Claude Code v2.1.271 이상 필요 |


276```276```

277 277 

278| 플래그 | 설명 |278| 플래그 | 설명 |

279| :------------ | :------------------------------------------------------ |279| :- | :- |

280| `--json` | 목록을 JSON으로 출력합니다 |280| `--json` | 목록을 JSON으로 출력합니다 |

281| `--available` | 설치하지 않은 마켓플레이스가 제공하는 플러그인도 나열합니다. `--json` 없이는 효과가 없습니다 |281| `--available` | 설치하지 않은 마켓플레이스가 제공하는 플러그인도 나열합니다. `--json` 없이는 효과가 없습니다 |

282 282 


296`--json`을 사용하면 Claude Code는 설치당 하나의 객체를 포함하는 배열을 출력합니다. 각 객체는 아래 필드를 포함합니다. `id`, `version`, `scope`, `enabled` 및 `installPath`는 항상 존재하고 다른 필드는 적용될 때만 나타납니다.296`--json`을 사용하면 Claude Code는 설치당 하나의 객체를 포함하는 배열을 출력합니다. 각 객체는 아래 필드를 포함합니다. `id`, `version`, `scope`, `enabled` 및 `installPath`는 항상 존재하고 다른 필드는 적용될 때만 나타납니다.

297 297 

298| 필드 | 유형 | 설명 |298| 필드 | 유형 | 설명 |

299| :------------- | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |299| :- | :- | :- |

300| `id` | string | 설치의 경우 `name@marketplace`, 세션 전용 플러그인의 경우 `name@inline`, skills-directory 플러그인의 경우 `name@skills-dir`, claude.ai에서 동기화된 플러그인의 경우 `name@synced` |300| `id` | string | 설치의 경우 `name@marketplace`, 세션 전용 플러그인의 경우 `name@inline`, skills-directory 플러그인의 경우 `name@skills-dir`, claude.ai에서 동기화된 플러그인의 경우 `name@synced` |

301| `version` | string | 마켓플레이스 설치의 경우 [Claude Code가 설치 시 계산한](/docs/ko/plugins/loading#versions-and-updates) 버전입니다. 세션 전용, skills-directory 또는 동기화된 플러그인의 경우 매니페스트의 `version` 또는 선언하지 않을 때 `unknown` |301| `version` | string | 마켓플레이스 설치의 경우 [Claude Code가 설치 시 계산한](/docs/ko/plugins/loading#versions-and-updates) 버전입니다. 세션 전용, skills-directory 또는 동기화된 플러그인의 경우 매니페스트의 `version` 또는 선언하지 않을 때 `unknown` |

302| `scope` | string | 설치의 경우 `user`, `project`, `local` 또는 `managed`; skills-directory 플러그인의 경우 `user` 또는 `project`; 세션 전용 플러그인의 경우 `session`; claude.ai에서 동기화된 플러그인의 경우 `synced` |302| `scope` | string | 설치의 경우 `user`, `project`, `local` 또는 `managed`; skills-directory 플러그인의 경우 `user` 또는 `project`; 세션 전용 플러그인의 경우 `session`; claude.ai에서 동기화된 플러그인의 경우 `synced` |


314`--json --available`을 사용하면 Claude Code는 배열 대신 하나의 객체를 출력합니다. 해당 `installed` 필드는 설치된 플러그인 객체의 배열을 보유하고 `available` 필드는 아래 필드를 포함하는 설치되지 않은 마켓플레이스 플러그인당 하나의 객체를 보유합니다.314`--json --available`을 사용하면 Claude Code는 배열 대신 하나의 객체를 출력합니다. 해당 `installed` 필드는 설치된 플러그인 객체의 배열을 보유하고 `available` 필드는 아래 필드를 포함하는 설치되지 않은 마켓플레이스 플러그인당 하나의 객체를 보유합니다.

315 315 

316| 필드 | 유형 | 설명 |316| 필드 | 유형 | 설명 |

317| :---------------- | :--------------- | :-------------------------------------------------------------------------------- |317| :- | :- | :- |

318| `pluginId` | string | `name@marketplace` |318| `pluginId` | string | `name@marketplace` |

319| `name` | string | 마켓플레이스의 플러그인 이름 |319| `name` | string | 마켓플레이스의 플러그인 이름 |

320| `marketplaceName` | string | 이를 제공하는 마켓플레이스 |320| `marketplaceName` | string | 이를 제공하는 마켓플레이스 |


364```364```

365 365 

366| 플래그 | 설명 |366| 플래그 | 설명 |

367| :-------------------- | :------------------------------------------------- |367| :- | :- |

368| `-s, --scope <scope>` | 범위에서 정리: `user`, `project` 또는 `local`. 기본값은 `user` |368| `-s, --scope <scope>` | 범위에서 정리: `user`, `project` 또는 `local`. 기본값은 `user` |

369| `--dry-run` | 제거하지 않고 제거될 항목을 나열합니다 |369| `--dry-run` | 제거하지 않고 제거될 항목을 나열합니다 |

370| `-y, --yes` | 확인 프롬프트를 건너뜁니다. stdin 또는 stdout이 TTY가 아닐 때 필요합니다 |370| `-y, --yes` | 확인 프롬프트를 건너뜁니다. stdin 또는 stdout이 TTY가 아닐 때 필요합니다 |


384`prune`이 하는 일은 터미널이 연결되어 있는지와 `-y`를 전달하는지에 따라 다릅니다:384`prune`이 하는 일은 터미널이 연결되어 있는지와 `-y`를 전달하는지에 따라 다릅니다:

385 385 

386| 터미널 및 플래그 | 어떤 일이 발생하는지 |386| 터미널 및 플래그 | 어떤 일이 발생하는지 |

387| :------------------------------- | :------------------------------------------------------------------------------------ |387| :- | :- |

388| 대화형 터미널, `-y` 없음 | 고아 종속성을 나열하고 `Remove? [y/N]`을 묻습니다 |388| 대화형 터미널, `-y` 없음 | 고아 종속성을 나열하고 `Remove? [y/N]`을 묻습니다 |

389| 모든 터미널, `-y` | 제거하고 `Removed N auto-installed plugins: <names>`를 출력합니다 |389| 모든 터미널, `-y` | 제거하고 `Removed N auto-installed plugins: <names>`를 출력합니다 |

390| TTY가 아닌 stdin 또는 stdout, `-y` 없음 | 목록을 출력하고 ``Not a TTY — run `claude plugin prune -y` to remove.``를 출력하고 아무것도 제거하지 않습니다 |390| TTY가 아닌 stdin 또는 stdout, `-y` 없음 | 목록을 출력하고 ``Not a TTY — run `claude plugin prune -y` to remove.``를 출력하고 아무것도 제거하지 않습니다 |


415이 표는 대부분의 실행이 사용하는 옵션을 나열합니다. `--case`, `--tag`, `--output-dir`, `--report`, `--allow-real-servers`, `--keep-temp` 및 `--verbose`를 포함한 전체 집합에 대해 `claude plugin eval --help`를 실행하세요.415이 표는 대부분의 실행이 사용하는 옵션을 나열합니다. `--case`, `--tag`, `--output-dir`, `--report`, `--allow-real-servers`, `--keep-temp` 및 `--verbose`를 포함한 전체 집합에 대해 `claude plugin eval --help`를 실행하세요.

416 416 

417| 옵션 | 설명 | 기본값 |417| 옵션 | 설명 | 기본값 |

418| :------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- |418| :- | :- | :- |

419| `--runs <n>` | 각 [arm](/docs/ko/plugin-evals#compare-against-a-no-plugin-baseline)의 케이스당 실행 | 각 케이스의 `runs`, 그렇지 않으면 3 |419| `--runs <n>` | 각 [arm](/docs/ko/plugin-evals#compare-against-a-no-plugin-baseline)의 케이스당 실행 | 각 케이스의 `runs`, 그렇지 않으면 3 |

420| `-j, --concurrency <n>` | 한 번에 실행할 에이전트 세션, 1\~8. 속도 제한을 공유합니다 | `1` |420| `-j, --concurrency <n>` | 한 번에 실행할 에이전트 세션, 1\~8. 속도 제한을 공유합니다 | `1` |

421| `--model <model>` | 테스트 중인 에이전트의 모델 | 각 케이스의 `model`, 그렇지 않으면 `ANTHROPIC_MODEL`이 설정되어 있으면, 그렇지 않으면 Claude Code의 기본값 |421| `--model <model>` | 테스트 중인 에이전트의 모델 | 각 케이스의 `model`, 그렇지 않으면 `ANTHROPIC_MODEL`이 설정되어 있으면, 그렇지 않으면 Claude Code의 기본값 |


434종료 코드는 실행이 어떻게 끝났는지 보고합니다. 파이프라인에서 이에 대해 조치하려면 [CI에서 evals 실행](/docs/ko/plugin-evals#run-evals-in-ci)을 참조하세요.434종료 코드는 실행이 어떻게 끝났는지 보고합니다. 파이프라인에서 이에 대해 조치하려면 [CI에서 evals 실행](/docs/ko/plugin-evals#run-evals-in-ci)을 참조하세요.

435 435 

436| 종료 코드 | 의미 |436| 종료 코드 | 의미 |

437| :---- | :----------------------------------- |437| :- | :- |

438| `0` | 모든 케이스가 임계값을 충족합니다 |438| `0` | 모든 케이스가 임계값을 충족합니다 |

439| `1` | 실패한 케이스, 로드 오류 또는 신뢰할 수 없는 플러그인 디렉토리 |439| `1` | 실패한 케이스, 로드 오류 또는 신뢰할 수 없는 플러그인 디렉토리 |

440| `2` | 부분 실행 |440| `2` | 부분 실행 |


466명령어는 다음 옵션을 수락합니다:466명령어는 다음 옵션을 수락합니다:

467 467 

468| 옵션 | 설명 | 기본값 |468| 옵션 | 설명 | 기본값 |

469| :------------------ | :------------------------------------------------------------------- | :------------------------------------------- |469| :- | :- | :- |

470| `--bare` | 인터뷰를 실행하는 대신 `<name>`에 대한 빈 `prompt.md` 및 `graders/criteria.md`를 씁니다 | |470| `--bare` | 인터뷰를 실행하는 대신 `<name>`에 대한 빈 `prompt.md` 및 `graders/criteria.md`를 씁니다 | |

471| `-i, --interactive` | 인터뷰를 요구합니다. 템플릿을 쓰는 대신 터미널이 없으면 실패합니다 | |471| `-i, --interactive` | 인터뷰를 요구합니다. 템플릿을 쓰는 대신 터미널이 없으면 실패합니다 | |

472| `--eval-dir <dir>` | 케이스를 쓸 현재 디렉토리 아래의 디렉토리 | 매니페스트의 `experimental.evals`, 그렇지 않으면 `evals` |472| `--eval-dir <dir>` | 케이스를 쓸 현재 디렉토리 아래의 디렉토리 | 매니페스트의 `experimental.evals`, 그렇지 않으면 `evals` |


486`[path]`는 플러그인 디렉토리이며 기본값은 현재 디렉토리입니다. 명령어는 플러그인을 나열하는 `.claude-plugin/marketplace.json`에 대해 해당 디렉토리에서 위로 걸어가서 마켓플레이스 항목을 찾습니다.486`[path]`는 플러그인 디렉토리이며 기본값은 현재 디렉토리입니다. 명령어는 플러그인을 나열하는 `.claude-plugin/marketplace.json`에 대해 해당 디렉토리에서 위로 걸어가서 마켓플레이스 항목을 찾습니다.

487 487 

488| 플래그 | 설명 |488| 플래그 | 설명 |

489| :-------------------- | :----------------------------------------------------- |489| :- | :- |

490| `--push` | 태그를 생성한 후 `--remote`로 푸시합니다 |490| `--push` | 태그를 생성한 후 `--remote`로 푸시합니다 |

491| `--dry-run` | 태그를 생성하지 않고 태그 지정될 항목을 출력합니다 |491| `--dry-run` | 태그를 생성하지 않고 태그 지정될 항목을 출력합니다 |

492| `-f, --force` | 더티 작업 트리 및 태그 이미 존재 확인을 건너뜁니다 |492| `-f, --force` | 더티 작업 트리 및 태그 이미 존재 확인을 건너뜁니다 |


526```526```

527 527 

528| 플래그 | 설명 |528| 플래그 | 설명 |

529| :--------- | :--------------------------------------------------------------------------------------- |529| :- | :- |

530| `--strict` | 경고를 오류로 취급하므로 런타임이 허용하는 인식되지 않은 필드 및 누락된 메타데이터가 실행을 실패하게 합니다. Claude Code v2.1.145 이상 필요 |530| `--strict` | 경고를 오류로 취급하므로 런타임이 허용하는 인식되지 않은 필드 및 누락된 메타데이터가 실행을 실패하게 합니다. Claude Code v2.1.145 이상 필요 |

531| `--json` | 검증 보고서를 동일한 종료 코드를 포함하는 하나의 JSON 객체로 출력합니다. Claude Code v2.1.259 이상 필요 |531| `--json` | 검증 보고서를 동일한 종료 코드를 포함하는 하나의 JSON 객체로 출력합니다. Claude Code v2.1.259 이상 필요 |

532 532 


568Claude Code는 검증한 파일, 경로가 있는 오류 및 경고, 그리고 판정 줄을 출력합니다. 종료 코드는 판정을 따릅니다:568Claude Code는 검증한 파일, 경로가 있는 오류 및 경고, 그리고 판정 줄을 출력합니다. 종료 코드는 판정을 따릅니다:

569 569 

570| 종료 코드 | 판정 줄 | 의미 |570| 종료 코드 | 판정 줄 | 의미 |

571| :---- | :------------------------------------------------------------------------------ | :-------------------------------------- |571| :- | :- | :- |

572| `0` | `Validation passed` 또는 `Validation passed with warnings` | 매니페스트가 로드됩니다. `--strict`를 사용하면 경고도 없습니다 |572| `0` | `Validation passed` 또는 `Validation passed with warnings` | 매니페스트가 로드됩니다. `--strict`를 사용하면 경고도 없습니다 |

573| `1` | `Validation failed` 또는 `Validation failed (--strict treats warnings as errors)` | 오류 또는 `--strict` 아래의 경고 |573| `1` | `Validation failed` 또는 `Validation failed (--strict treats warnings as errors)` | 오류 또는 `--strict` 아래의 경고 |

574| `2` | `Unexpected error during validation: <reason>` | 검증자 자체가 실패했습니다(예: 읽을 수 없는 경로) |574| `2` | `Unexpected error during validation: <reason>` | 검증자 자체가 실패했습니다(예: 읽을 수 없는 경로) |


607```607```

608 608 

609| 플래그 | 설명 |609| 플래그 | 설명 |

610| :-------------------- | :------------------------------------------------------------------------------------------------------------------ |610| :- | :- |

611| `--scope <scope>` | 마켓플레이스를 선언할 설정 파일: `user`, `project` 또는 `local`. 기본값은 `user` |611| `--scope <scope>` | 마켓플레이스를 선언할 설정 파일: `user`, `project` 또는 `local`. 기본값은 `user` |

612| `--sparse <paths...>` | monorepos의 경우 git 체크아웃을 이러한 디렉토리로 제한합니다. `github` 및 `git` 소스만 해당 |612| `--sparse <paths...>` | monorepos의 경우 git 체크아웃을 이러한 디렉토리로 제한합니다. `github` 및 `git` 소스만 해당 |

613| `--claudeai` | 인수를 소스 대신 [claude.ai에서 호스팅되는 마켓플레이스](/docs/ko/plugins/install#add-from-claude-ai)의 이름으로 읽습니다. Claude Code v2.1.273 이상 필요 |613| `--claudeai` | 인수를 소스 대신 [claude.ai에서 호스팅되는 마켓플레이스](/docs/ko/plugins/install#add-from-claude-ai)의 이름으로 읽습니다. Claude Code v2.1.273 이상 필요 |


615`<source>`는 아래 표의 형식 중 하나를 사용하고 해당 형식은 소스 유형과 Claude Code가 마켓플레이스를 가져오는 방식을 결정합니다. 결과 소스 객체는 [마켓플레이스 참조](/docs/ko/plugins/marketplace-reference)를 참조하세요.615`<source>`는 아래 표의 형식 중 하나를 사용하고 해당 형식은 소스 유형과 Claude Code가 마켓플레이스를 가져오는 방식을 결정합니다. 결과 소스 객체는 [마켓플레이스 참조](/docs/ko/plugins/marketplace-reference)를 참조하세요.

616 616 

617| 입력 | 소스 유형 | Claude Code가 가져오는 방식 |617| 입력 | 소스 유형 | Claude Code가 가져오는 방식 |

618| :------------------------------------------------------------------------ | :---------- | :-------------------------------------------------------------------- |618| :- | :- | :- |

619| `owner/repo`, `owner/repo#ref` 또는 `owner/repo@ref` | `github` | GitHub 저장소를 복제하고 주어진 경우 `ref`로 고정합니다. 소유자와 저장소는 GitHub 명명 규칙을 따라야 합니다 |619| `owner/repo`, `owner/repo#ref` 또는 `owner/repo@ref` | `github` | GitHub 저장소를 복제하고 주어진 경우 `ref`로 고정합니다. 소유자와 저장소는 GitHub 명명 규칙을 따라야 합니다 |

620| `user@host:path[.git][#ref]` | `git` | SSH를 통해 복제합니다 |620| `user@host:path[.git][#ref]` | `git` | SSH를 통해 복제합니다 |

621| `https://example.com/repo.git[#ref]` 또는 `/_git/`를 포함하는 URL | `git` | Azure DevOps URL을 포함하여 HTTPS를 통해 복제합니다 |621| `https://example.com/repo.git[#ref]` 또는 `/_git/`를 포함하는 URL | `git` | Azure DevOps URL을 포함하여 HTTPS를 통해 복제합니다 |


659```659```

660 660 

661| 플래그 | 설명 |661| 플래그 | 설명 |

662| :------- | :--------------- |662| :- | :- |

663| `--json` | 목록을 JSON으로 출력합니다 |663| `--json` | 목록을 JSON으로 출력합니다 |

664 664 

665Claude Code는 `Configured marketplaces:`를 출력하고 마켓플레이스당 하나의 `Source:` 줄을 출력하거나 `No marketplaces configured`를 출력합니다.665Claude Code는 `Configured marketplaces:`를 출력하고 마켓플레이스당 하나의 `Source:` 줄을 출력하거나 `No marketplaces configured`를 출력합니다.


667`--json`을 사용하면 Claude Code는 마켓플레이스당 하나의 객체를 포함하는 배열을 출력하고 아래 필드를 포함합니다. 모든 필드는 문자열입니다.667`--json`을 사용하면 Claude Code는 마켓플레이스당 하나의 객체를 포함하는 배열을 출력하고 아래 필드를 포함합니다. 모든 필드는 문자열입니다.

668 668 

669| 필드 | 설명 |669| 필드 | 설명 |

670| :---------------- | :-------------------------------------------------------- |670| :- | :- |

671| `name` | 마켓플레이스의 이름 |671| `name` | 마켓플레이스의 이름 |

672| `source` | `github`, `git`, `url`, `directory`, `file` 또는 `claudeai` |672| `source` | `github`, `git`, `url`, `directory`, `file` 또는 `claudeai` |

673| `repo` | `owner/repo`. `github` 소스만 해당 |673| `repo` | `owner/repo`. `github` 소스만 해당 |


701`<name>`은 전달한 소스가 아니라 `plugin marketplace list`가 표시하는 마켓플레이스 이름입니다.701`<name>`은 전달한 소스가 아니라 `plugin marketplace list`가 표시하는 마켓플레이스 이름입니다.

702 702 

703| 플래그 | 설명 |703| 플래그 | 설명 |

704| :---------------- | :-------------------------------------------------------------------------------- |704| :- | :- |

705| `--scope <scope>` | 한 설정 범위에서 선언을 제거합니다: `user`, `project` 또는 `local`. 없으면 Claude Code는 모든 범위에서 제거합니다 |705| `--scope <scope>` | 한 설정 범위에서 선언을 제거합니다: `user`, `project` 또는 `local`. 없으면 Claude Code는 모든 범위에서 제거합니다 |

706 706 

707모든 범위에서 마켓플레이스를 제거합니다:707모든 범위에서 마켓플레이스를 제거합니다:


747아래 표는 모든 세션 형식을 나열합니다. 셸 하위 명령어 `init`, `update`, `details`, `prune`, `eval` 및 `eval init`에는 세션 형식이 없습니다.747아래 표는 모든 세션 형식을 나열합니다. 셸 하위 명령어 `init`, `update`, `details`, `prune`, `eval` 및 `eval init`에는 세션 형식이 없습니다.

748 748 

749| 명령어 | 별칭 | 어떤 일을 하는지 |749| 명령어 | 별칭 | 어떤 일을 하는지 |

750| :-------------------------------------------------- | :--------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |750| :- | :- | :- |

751| `/plugin` | | **Discover** 탭에서 패널을 엽니다. `/plugin` 뒤의 인식되지 않은 첫 단어는 동일하게 합니다 |751| `/plugin` | | **Discover** 탭에서 패널을 엽니다. `/plugin` 뒤의 인식되지 않은 첫 단어는 동일하게 합니다 |

752| `/plugin help` | `/plugin --help`, `/plugin -h` | `/plugin` 하위 명령어의 사용 목록을 표시합니다 |752| `/plugin help` | `/plugin --help`, `/plugin -h` | `/plugin` 하위 명령어의 사용 목록을 표시합니다 |

753| `/plugin list [--enabled\|--disabled]` | `ls` | 마켓플레이스에서 설치한 플러그인을 버전, 범위 및 상태와 함께 인라인으로 출력합니다. 필터 플래그는 해당 상태만 표시합니다. 활성화 상태가 아직 적용되지 않은 플러그인은 `— run /reload-plugins to apply`로 표시됩니다. Claude Code v2.1.163 이상 필요 |753| `/plugin list [--enabled\|--disabled]` | `ls` | 마켓플레이스에서 설치한 플러그인을 버전, 범위 및 상태와 함께 인라인으로 출력합니다. 필터 플래그는 해당 상태만 표시합니다. 활성화 상태가 아직 적용되지 않은 플러그인은 `— run /reload-plugins to apply`로 표시됩니다. Claude Code v2.1.163 이상 필요 |


783```783```

784 784 

785| 플래그 | 설명 |785| 플래그 | 설명 |

786| :-------- | :--------------------------------------------------- |786| :- | :- |

787| `--force` | 프롬프트 캐시를 무효화할 때에도 다시 로드를 적용합니다. 대시 없이 `force`도 작동합니다 |787| `--force` | 프롬프트 캐시를 무효화할 때에도 다시 로드를 적용합니다. 대시 없이 `force`도 작동합니다 |

788 788 

789<h3 id="reload-summary">789<h3 id="reload-summary">


821플러그인 작성자는 이들을 사용하여 게시하기 전에 플러그인을 테스트합니다. 로드-편집-다시 로드 워크플로우는 [마켓플레이스 없이 개발](/docs/ko/plugins/create#develop-without-a-marketplace)을 참조하세요.821플러그인 작성자는 이들을 사용하여 게시하기 전에 플러그인을 테스트합니다. 로드-편집-다시 로드 워크플로우는 [마켓플레이스 없이 개발](/docs/ko/plugins/create#develop-without-a-marketplace)을 참조하세요.

822 822 

823| 플래그 | 설명 | 예 |823| 플래그 | 설명 | 예 |

824| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------- |824| :- | :- | :- |

825| `--plugin-dir <path>` | 디렉토리 또는 그 디렉토리의 `.zip` 아카이브에서 플러그인을 로드합니다. 플러그인 폴더는 `.claude-plugin/plugin.json`을 보유하는 각 자식 폴더를 로드합니다. 각 플래그는 하나의 경로를 사용합니다 | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |825| `--plugin-dir <path>` | 디렉토리 또는 그 디렉토리의 `.zip` 아카이브에서 플러그인을 로드합니다. 플러그인 폴더는 `.claude-plugin/plugin.json`을 보유하는 각 자식 폴더를 로드합니다. 각 플래그는 하나의 경로를 사용합니다 | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |

826| `--plugin-url <url>` | URL에서 플러그인 `.zip` 아카이브를 가져옵니다. 플래그를 반복하거나 하나의 인용된 값에서 여러 URL을 공백으로 구분하여 전달합니다 | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |826| `--plugin-url <url>` | URL에서 플러그인 `.zip` 아카이브를 가져옵니다. 플래그를 반복하거나 하나의 인용된 값에서 여러 URL을 공백으로 구분하여 전달합니다 | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |

827 827 

Details

29 아래 표에서 언어를 찾아 해당 행의 바이너리를 설치하세요. 언어가 나열되지 않은 경우 [공식 플러그인 없이 언어 추가](#add-a-language-without-an-official-plugin)를 참조하세요.29 아래 표에서 언어를 찾아 해당 행의 바이너리를 설치하세요. 언어가 나열되지 않은 경우 [공식 플러그인 없이 언어 추가](#add-a-language-without-an-official-plugin)를 참조하세요.

30 30 

31 | 언어 | 플러그인 | 바이너리 |31 | 언어 | 플러그인 | 바이너리 |

32 | :---------------------- | :--------------------------------------------------------------------------------------------------------------- | :--------------------------- |32 | :- | :- | :- |

33 | C/C++ | [`clangd-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/clangd-lsp) | `clangd` |33 | C/C++ | [`clangd-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/clangd-lsp) | `clangd` |

34 | C# | [`csharp-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/csharp-lsp) | `csharp-ls` |34 | C# | [`csharp-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/csharp-lsp) | `csharp-ls` |

35 | Go | [`gopls-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/gopls-lsp) | `gopls` |35 | Go | [`gopls-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/gopls-lsp) | `gopls` |

Details

953플러그인은 색상 테마와 출력 스타일을 포함할 수 있습니다. 둘 다 사용자의 자신의 것과 동일한 선택기에 나타납니다. 둘 중 하나의 경우, manifest 키를 설정하면 폴더 스캔을 대체합니다.953플러그인은 색상 테마와 출력 스타일을 포함할 수 있습니다. 둘 다 사용자의 자신의 것과 동일한 선택기에 나타납니다. 둘 중 하나의 경우, manifest 키를 설정하면 폴더 스캔을 대체합니다.

954 954 

955| 컴포넌트 | 다음으로 저장 | 형식 | 다음에 나타남 | Manifest 키 |955| 컴포넌트 | 다음으로 저장 | 형식 | 다음에 나타남 | Manifest 키 |

956| :----- | :------------------------ | :------------------------------------------------------------------------------------------------------- | :----------------------------------- | :-------------------- |956| :- | :- | :- | :- | :- |

957| 테마 | `themes/<slug>.json` | 사용자가 `~/.claude/themes/`에 작성하는 [사용자 정의 테마 파일](/docs/ko/terminal-config#create-a-custom-theme) 형식 | `/theme`, 파일의 `name` 아래 | `experimental.themes` |957| 테마 | `themes/<slug>.json` | 사용자가 `~/.claude/themes/`에 작성하는 [사용자 정의 테마 파일](/docs/ko/terminal-config#create-a-custom-theme) 형식 | `/theme`, 파일의 `name` 아래 | `experimental.themes` |

958| 출력 스타일 | `output-styles/<name>.md` | [사용자 정의 출력 스타일](/docs/ko/output-styles#create-a-custom-output-style) 형식, `name`과 `description` frontmatter 포함 | `/output-style`, `<plugin>:<name>`으로 | `outputStyles` |958| 출력 스타일 | `output-styles/<name>.md` | [사용자 정의 출력 스타일](/docs/ko/output-styles#create-a-custom-output-style) 형식, `name`과 `description` frontmatter 포함 | `/output-style`, `<plugin>:<name>`으로 | `outputStyles` |

959 959 

Details

151표는 대부분의 플러그인이 시작하는 디렉토리를 나열하며, [전체 레이아웃](/docs/ko/plugins/manifest-reference#standard-layout)은 나머지를 나열합니다.151표는 대부분의 플러그인이 시작하는 디렉토리를 나열하며, [전체 레이아웃](/docs/ko/plugins/manifest-reference#standard-layout)은 나머지를 나열합니다.

152 152 

153| 위치 | 내용 |153| 위치 | 내용 |

154| :--------------------------- | :-------------------------------------------------------------------------------------- |154| :- | :- |

155| `.claude-plugin/plugin.json` | 매니페스트입니다. `--plugin-dir`으로 플러그인을 로드하고 매니페스트가 없으면 Claude Code는 디렉토리 이름으로 플러그인의 이름을 지정합니다 |155| `.claude-plugin/plugin.json` | 매니페스트입니다. `--plugin-dir`으로 플러그인을 로드하고 매니페스트가 없으면 Claude Code는 디렉토리 이름으로 플러그인의 이름을 지정합니다 |

156| `skills/` | 스킬당 하나의 `<name>/SKILL.md` 디렉토리 |156| `skills/` | 스킬당 하나의 `<name>/SKILL.md` 디렉토리 |

157| `commands/` | 평면 마크다운 파일, 스킬의 이전 형식입니다. 새 플러그인에는 `skills/`를 사용하세요 |157| `commands/` | 평면 마크다운 파일, 스킬의 이전 형식입니다. 새 플러그인에는 `skills/`를 사용하세요 |

Details

169`marketplace.json`의 각 플러그인 항목에는 Claude Code에 해당 플러그인을 가져올 위치를 알려주는 `source`가 있습니다. 플러그인의 파일이 저장된 위치에 따라 소스를 선택합니다. 표는 대부분의 마켓플레이스 소유자가 사용하는 소스를 나열합니다.169`marketplace.json`의 각 플러그인 항목에는 Claude Code에 해당 플러그인을 가져올 위치를 알려주는 `source`가 있습니다. 플러그인의 파일이 저장된 위치에 따라 소스를 선택합니다. 표는 대부분의 마켓플레이스 소유자가 사용하는 소스를 나열합니다.

170 170 

171| 소스 | 사용 시기 | 최소 `source` 값 |171| 소스 | 사용 시기 | 최소 `source` 값 |

172| :----------- | :------------------------------ | :---------------------------------------------------------------------------------------- |172| :- | :- | :- |

173| 상대 경로 | 플러그인의 파일이 마켓플레이스 디렉터리 내부에 있음 | `"./plugins/my-first-plugin"` |173| 상대 경로 | 플러그인의 파일이 마켓플레이스 디렉터리 내부에 있음 | `"./plugins/my-first-plugin"` |

174| `github` | 플러그인이 자신의 GitHub 저장소임 | `{ "source": "github", "repo": "your-org/my-first-plugin" }` |174| `github` | 플러그인이 자신의 GitHub 저장소임 | `{ "source": "github", "repo": "your-org/my-first-plugin" }` |

175| `git-subdir` | 플러그인이 모노레포와 같은 다른 저장소의 하위 디렉터리임 | `{ "source": "git-subdir", "url": "your-org/monorepo", "path": "tools/my-first-plugin" }` |175| `git-subdir` | 플러그인이 모노레포와 같은 다른 저장소의 하위 디렉터리임 | `{ "source": "git-subdir", "url": "your-org/monorepo", "path": "tools/my-first-plugin" }` |

Details

50버전 제약을 설정하려면 다음 필드가 있는 객체를 사용합니다. 각 필드는 문자열입니다:50버전 제약을 설정하려면 다음 필드가 있는 객체를 사용합니다. 각 필드는 문자열입니다:

51 51 

52| 필드 | 설명 |52| 필드 | 설명 |

53| :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |53| :- | :- |

54| `name` | 의존성의 플러그인 이름으로, 마켓플레이스 항목에 표시되는 대로입니다. Claude Code는 `marketplace`를 설정하지 않는 한 선언 플러그인과 동일한 마켓플레이스에서 조회합니다. 필수입니다. |54| `name` | 의존성의 플러그인 이름으로, 마켓플레이스 항목에 표시되는 대로입니다. Claude Code는 `marketplace`를 설정하지 않는 한 선언 플러그인과 동일한 마켓플레이스에서 조회합니다. 필수입니다. |

55| `version` | `~2.1.0`, `^2.0`, `>=1.4` 또는 `=2.1.0`과 같은 [의미 있는 버전 범위](https://github.com/npm/node-semver#ranges)입니다. 의존성은 이 범위를 만족하는 최고 git 태그에 설치되므로 의존성의 유지 관리자는 [릴리스에 태그를 지정](#tag-plugin-releases-for-version-resolution)해야 합니다. |55| `version` | `~2.1.0`, `^2.0`, `>=1.4` 또는 `=2.1.0`과 같은 [의미 있는 버전 범위](https://github.com/npm/node-semver#ranges)입니다. 의존성은 이 범위를 만족하는 최고 git 태그에 설치되므로 의존성의 유지 관리자는 [릴리스에 태그를 지정](#tag-plugin-releases-for-version-resolution)해야 합니다. |

56| `marketplace` | `name`을 해결할 다른 마켓플레이스입니다. 허용 목록은 [다른 마켓플레이스에서 플러그인에 의존](#depend-on-a-plugin-from-another-marketplace)에 설명된 교차 마켓플레이스 의존성을 제어합니다. |56| `marketplace` | `name`을 해결할 다른 마켓플레이스입니다. 허용 목록은 [다른 마켓플레이스에서 플러그인에 의존](#depend-on-a-plugin-from-another-marketplace)에 설명된 교차 마켓플레이스 의존성을 제어합니다. |


228여러 설치된 플러그인이 동일한 의존성을 제약하면 의존성은 모든 범위를 만족하는 최고 버전으로 해결됩니다. 일반적인 조합은 다음과 같이 해결됩니다:228여러 설치된 플러그인이 동일한 의존성을 제약하면 의존성은 모든 범위를 만족하는 최고 버전으로 해결됩니다. 일반적인 조합은 다음과 같이 해결됩니다:

229 229 

230| 플러그인 A 필요 | 플러그인 B 필요 | 결과 |230| 플러그인 A 필요 | 플러그인 B 필요 | 결과 |

231| :-------- | :-------- | :------------------------------------------------------------------------------------ |231| :- | :- | :- |

232| `^2.0` | `>=2.1` | 최고 `2.x` 태그에서 `2.1.0` 이상에서 한 번 설치합니다. 두 플러그인 모두 로드됩니다. |232| `^2.0` | `>=2.1` | 최고 `2.x` 태그에서 `2.1.0` 이상에서 한 번 설치합니다. 두 플러그인 모두 로드됩니다. |

233| `~2.1` | `~3.0` | 플러그인 B 설치가 `has conflicting version requirements` 메시지로 실패합니다. 플러그인 A와 의존성은 그대로 유지됩니다. |233| `~2.1` | `~3.0` | 플러그인 B 설치가 `has conflicting version requirements` 메시지로 실패합니다. 플러그인 A와 의존성은 그대로 유지됩니다. |

234| `=2.1.0` | 없음 | 의존성은 `2.1.0`에 유지됩니다. 플러그인 A가 설치된 동안 자동 업데이트는 최신 버전을 건너뜁니다. |234| `=2.1.0` | 없음 | 의존성은 `2.1.0`에 유지됩니다. 플러그인 A가 설치된 동안 자동 업데이트는 최신 버전을 건너뜁니다. |

Details

26GitHub, 다른 git 호스트, 호스팅된 `marketplace.json` URL 또는 공유 파일 시스템의 디렉터리에서 마켓플레이스를 호스팅할 수 있습니다. 사용자에게 호스트에 대한 추가 명령과 머신에 필요한 것을 알려주세요:26GitHub, 다른 git 호스트, 호스팅된 `marketplace.json` URL 또는 공유 파일 시스템의 디렉터리에서 마켓플레이스를 호스팅할 수 있습니다. 사용자에게 호스트에 대한 추가 명령과 머신에 필요한 것을 알려주세요:

27 27 

28| 호스트 | Claude Code 세션에서 사용자가 실행 | 사용자가 필요한 것 |28| 호스트 | Claude Code 세션에서 사용자가 실행 | 사용자가 필요한 것 |

29| :-------------------------------------------------------- | :--------------------------------------------------------------------- | :------------------------------------------------------------------------------------------ |29| :- | :- | :- |

30| GitHub | `/plugin marketplace add your-org/your-marketplace` | `git`, 비공개 저장소의 경우 [비공개 마켓플레이스에 대한 액세스 부여](#grant-access-to-a-private-marketplace)에 설명된 액세스 |30| GitHub | `/plugin marketplace add your-org/your-marketplace` | `git`, 비공개 저장소의 경우 [비공개 마켓플레이스에 대한 액세스 부여](#grant-access-to-a-private-marketplace)에 설명된 액세스 |

31| GitLab, Bitbucket, GitHub Enterprise Server 또는 다른 git 호스트 | `/plugin marketplace add https://gitlab.example.com/team/plugins.git` | `git`, 머신에서 호스트에 대한 액세스. `owner/repo` 약식은 항상 github.com을 의미하므로 전체 URL을 보내세요 |31| GitLab, Bitbucket, GitHub Enterprise Server 또는 다른 git 호스트 | `/plugin marketplace add https://gitlab.example.com/team/plugins.git` | `git`, 머신에서 호스트에 대한 액세스. `owner/repo` 약식은 항상 github.com을 의미하므로 전체 URL을 보내세요 |

32| 호스팅된 `marketplace.json` URL | `/plugin marketplace add https://plugins.example.com/marketplace.json` | URL에 대한 HTTPS 액세스. 사용자는 카탈로그 자체에 `git`이 필요하지 않습니다 |32| 호스팅된 `marketplace.json` URL | `/plugin marketplace add https://plugins.example.com/marketplace.json` | URL에 대한 HTTPS 액세스. 사용자는 카탈로그 자체에 `git`이 필요하지 않습니다 |


159플러그인을 회사에 롤아웃하려면 마켓플레이스 소유자, 관리 설정을 제어하는 관리자 및 Claude Code를 사용하는 각 사람이 필요합니다. 관리자 없이 롤아웃을 실행할 수 있으며, 이 경우 각 사람이 마켓플레이스를 추가하고 플러그인을 직접 설치합니다.159플러그인을 회사에 롤아웃하려면 마켓플레이스 소유자, 관리 설정을 제어하는 관리자 및 Claude Code를 사용하는 각 사람이 필요합니다. 관리자 없이 롤아웃을 실행할 수 있으며, 이 경우 각 사람이 마켓플레이스를 추가하고 플러그인을 직접 설치합니다.

160 160 

161| 담당자 | 수행할 작업 | 다루는 위치 |161| 담당자 | 수행할 작업 | 다루는 위치 |

162| :------------- | :------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------- |162| :- | :- | :- |

163| 마켓플레이스 소유자인 당신 | 회사만 읽을 수 있는 저장소에 카탈로그를 유지하고, 호스트에 대한 추가 명령을 보내며, 각 사람이 머신에서 필요한 것을 말합니다 | [마켓플레이스 호스팅](#host-your-marketplace) 및 [비공개 마켓플레이스에 대한 액세스 부여](#grant-access-to-a-private-marketplace) |163| 마켓플레이스 소유자인 당신 | 회사만 읽을 수 있는 저장소에 카탈로그를 유지하고, 호스트에 대한 추가 명령을 보내며, 각 사람이 머신에서 필요한 것을 말합니다 | [마켓플레이스 호스팅](#host-your-marketplace) 및 [비공개 마켓플레이스에 대한 액세스 부여](#grant-access-to-a-private-marketplace) |

164| 관리자 | 관리 설정에서 `extraKnownMarketplaces` 및 `enabledPlugins`로 마켓플레이스를 등록하고 모든 사람을 위해 플러그인을 켜며, 거기서 `autoUpdate`를 설정합니다 | [마켓플레이스 및 플러그인 요구](/docs/ko/plugins/org#require-a-marketplace-and-its-plugins) 및 [업데이트 정책 설정](/docs/ko/plugins/org#set-update-policy) |164| 관리자 | 관리 설정에서 `extraKnownMarketplaces` 및 `enabledPlugins`로 마켓플레이스를 등록하고 모든 사람을 위해 플러그인을 켜며, 거기서 `autoUpdate`를 설정합니다 | [마켓플레이스 및 플러그인 요구](/docs/ko/plugins/org#require-a-marketplace-and-its-plugins) 및 [업데이트 정책 설정](/docs/ko/plugins/org#set-update-policy) |

165| 각 사람 | 머신에 이미 저장된 자격 증명이 있는 비공개 git 저장소에 대한 읽기 액세스가 필요합니다. 관리자가 없으면 추가 및 설치 명령도 실행합니다 | [비공개 마켓플레이스 추가](/docs/ko/plugins/install#add-a-private-marketplace) |165| 각 사람 | 머신에 이미 저장된 자격 증명이 있는 비공개 git 저장소에 대한 읽기 액세스가 필요합니다. 관리자가 없으면 추가 및 설치 명령도 실행합니다 | [비공개 마켓플레이스 추가](/docs/ko/plugins/install#add-a-private-marketplace) |


331선택한 위치는 어떤 다운로드가 헤더를 받는지와 Claude Code가 명령을 실행할 때를 결정합니다:331선택한 위치는 어떤 다운로드가 헤더를 받는지와 Claude Code가 명령을 실행할 때를 결정합니다:

332 332 

333| 위치 | 헤더를 받는 다운로드 | Claude Code가 거기서 설정된 `headersHelper`를 실행할 때 |333| 위치 | 헤더를 받는 다운로드 | Claude Code가 거기서 설정된 `headersHelper`를 실행할 때 |

334| :-------------- | :---------------------------------------------- | :--------------------------------------------------------------------------------------------------- |334| :- | :- | :- |

335| 마켓플레이스 `url` 소스 | 마켓플레이스 URL의 원점에서의 아카이브 다운로드, 즉 동일한 스킴, 호스트 및 포트 | 마켓플레이스의 `marketplace.json` 각 가져오기 전과 해당 원점의 각 아카이브 다운로드 전. Claude Code는 한 번 실행의 출력을 최대 60초 동안 재사용합니다 |335| 마켓플레이스 `url` 소스 | 마켓플레이스 URL의 원점에서의 아카이브 다운로드, 즉 동일한 스킴, 호스트 및 포트 | 마켓플레이스의 `marketplace.json` 각 가져오기 전과 해당 원점의 각 아카이브 다운로드 전. Claude Code는 한 번 실행의 출력을 최대 60초 동안 재사용합니다 |

336| 플러그인 항목 | 해당 항목의 다운로드만 | 사용자가 해당 플러그인 하나를 직접 설치 또는 업데이트하고 [명령을 수락](#how-users-accept-a-headershelper-command)할 때만 |336| 플러그인 항목 | 해당 항목의 다운로드만 | 사용자가 해당 플러그인 하나를 직접 설치 또는 업데이트하고 [명령을 수락](#how-users-accept-a-headershelper-command)할 때만 |

337 337 


415마켓플레이스 `url` 소스의 `headersHelper`를 마켓플레이스가 게시하는 카탈로그가 아닌 설정 파일(예: [`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces) 항목)에 선언합니다. Claude Code는 따라서 각 설치 또는 업데이트에서 사용자에게 수락하도록 요청하지 않습니다. 대신 선언하는 설정 파일이 Claude Code가 실행할 때를 결정합니다:415마켓플레이스 `url` 소스의 `headersHelper`를 마켓플레이스가 게시하는 카탈로그가 아닌 설정 파일(예: [`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces) 항목)에 선언합니다. Claude Code는 따라서 각 설치 또는 업데이트에서 사용자에게 수락하도록 요청하지 않습니다. 대신 선언하는 설정 파일이 Claude Code가 실행할 때를 결정합니다:

416 416 

417| 설정 파일 | Claude Code가 명령을 실행할 때 |417| 설정 파일 | Claude Code가 명령을 실행할 때 |

418| :------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |418| :- | :- |

419| 사용자 설정, `--settings` 파일 또는 머신의 관리 설정 파일 | 백그라운드 마켓플레이스 새로 고침을 포함하여 요청 없이 |419| 사용자 설정, `--settings` 파일 또는 머신의 관리 설정 파일 | 백그라운드 마켓플레이스 새로 고침을 포함하여 요청 없이 |

420| 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json` | 해당 폴더 자체에 대한 [작업 공간 신뢰 대화](/docs/ko/permissions#what-runs-before-you-trust-a-folder)를 사용자가 수락한 후에만. `-p` 또는 SDK 세션은 수락으로 계산되지 않으며 부모 폴더에 부여된 신뢰도 계산되지 않습니다 |420| 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json` | 해당 폴더 자체에 대한 [작업 공간 신뢰 대화](/docs/ko/permissions#what-runs-before-you-trust-a-folder)를 사용자가 수락한 후에만. `-p` 또는 SDK 세션은 수락으로 계산되지 않으며 부모 폴더에 부여된 신뢰도 계산되지 않습니다 |

421| 서버 관리 설정 | 대화형 세션에서 사용자가 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)에서 전달된 설정을 승인한 후에만 |421| 서버 관리 설정 | 대화형 세션에서 사용자가 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)에서 전달된 설정을 승인한 후에만 |

Details

211Claude Code 세션에서 `/plugin marketplace add`를 실행한 후 마켓플레이스의 소스를 입력합니다: GitHub 저장소, 모든 호스트의 git 저장소, 로컬 디렉토리 또는 파일, 또는 호스팅된 `marketplace.json`.211Claude Code 세션에서 `/plugin marketplace add`를 실행한 후 마켓플레이스의 소스를 입력합니다: GitHub 저장소, 모든 호스트의 git 저장소, 로컬 디렉토리 또는 파일, 또는 호스팅된 `marketplace.json`.

212 212 

213| 소스 | 입력할 내용 | 예시 |213| 소스 | 입력할 내용 | 예시 |

214| :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ |214| :- | :- | :- |

215| GitHub 저장소 | `owner/repo`. 분기 또는 태그를 고정하려면 `#ref`를 추가합니다. | `/plugin marketplace add anthropics/claude-code`, 또는 `v1.2.0` 태그를 고정하려면 `/plugin marketplace add your-org/plugins#v1.2.0` |215| GitHub 저장소 | `owner/repo`. 분기 또는 태그를 고정하려면 `#ref`를 추가합니다. | `/plugin marketplace add anthropics/claude-code`, 또는 `v1.2.0` 태그를 고정하려면 `/plugin marketplace add your-org/plugins#v1.2.0` |

216| 모든 호스트의 Git 저장소 | 전체 클론 URL. 분기 또는 태그를 고정하려면 `#ref`를 추가합니다. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |216| 모든 호스트의 Git 저장소 | 전체 클론 URL. 분기 또는 태그를 고정하려면 `#ref`를 추가합니다. | `/plugin marketplace add https://gitlab.example.com/your-group/your-marketplace.git#v1.0.0` |

217| 로컬 디렉토리 또는 파일 | `.claude-plugin/marketplace.json`을 보유한 디렉토리 또는 JSON 파일 자체에 대한 상대 또는 절대 경로. 상대 경로를 `./` 또는 `../`로 시작합니다. Claude Code는 bare `name/name`을 GitHub 저장소로 읽기 때문입니다. | `/plugin marketplace add ./my-marketplace` |217| 로컬 디렉토리 또는 파일 | `.claude-plugin/marketplace.json`을 보유한 디렉토리 또는 JSON 파일 자체에 대한 상대 또는 절대 경로. 상대 경로를 `./` 또는 `../`로 시작합니다. Claude Code는 bare `name/name`을 GitHub 저장소로 읽기 때문입니다. | `/plugin marketplace add ./my-marketplace` |


400또한 셸 또는 세션 내에서 명령으로 마켓플레이스를 나열, 업데이트 및 제거할 수 있습니다:400또한 셸 또는 세션 내에서 명령으로 마켓플레이스를 나열, 업데이트 및 제거할 수 있습니다:

401 401 

402| 작업 | 셸에서 | 세션 내 |402| 작업 | 셸에서 | 세션 내 |

403| :------------- | :---------------------------------------- | :---------------------------------- |403| :- | :- | :- |

404| 마켓플레이스 나열 | `claude plugin marketplace list` | `/plugin marketplace list` |404| 마켓플레이스 나열 | `claude plugin marketplace list` | `/plugin marketplace list` |

405| 마켓플레이스 목록 업데이트 | `claude plugin marketplace update <name>` | `/plugin marketplace update <name>` |405| 마켓플레이스 목록 업데이트 | `claude plugin marketplace update <name>` | `/plugin marketplace update <name>` |

406| 마켓플레이스 제거 | `claude plugin marketplace remove <name>` | `/plugin marketplace remove <name>` |406| 마켓플레이스 제거 | `claude plugin marketplace remove <name>` | `/plugin marketplace remove <name>` |

Details

53모든 플러그인에는 `<name>@<origin>` 형식의 id가 있으며, 이는 설정 파일과 `claude plugin list --json`에서 볼 수 있습니다. `@` 뒤의 부분은 Claude Code가 플러그인을 찾은 위치를 알려줍니다:53모든 플러그인에는 `<name>@<origin>` 형식의 id가 있으며, 이는 설정 파일과 `claude plugin list --json`에서 볼 수 있습니다. `@` 뒤의 부분은 Claude Code가 플러그인을 찾은 위치를 알려줍니다:

54 54 

55| ID 끝 | 플러그인이 어떻게 도착했는지 | 켜거나 끄는 방법 |55| ID 끝 | 플러그인이 어떻게 도착했는지 | 켜거나 끄는 방법 |

56| :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- |56| :- | :- | :- |

57| `@<marketplace>` | 추가한 마켓플레이스에서 설치함 | 설정 파일의 `enabledPlugins` 아래에서 `"<name>@<marketplace>": true` 또는 `false` |57| `@<marketplace>` | 추가한 마켓플레이스에서 설치함 | 설정 파일의 `enabledPlugins` 아래에서 `"<name>@<marketplace>": true` 또는 `false` |

58| `@inline` | `--plugin-dir` 또는 `--plugin-url`로 Claude Code를 시작했거나, [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/ko/env-vars#variables)를 설정했거나, Agent SDK 앱이 `plugins` 옵션을 전달했습니다. 해당 세션에만 로드됩니다 | 매니페스트가 `defaultEnabled: false`를 설정하거나 설정 파일이 `"<name>@inline": false`를 설정하지 않는 한 세션에 대해 켜짐 |58| `@inline` | `--plugin-dir` 또는 `--plugin-url`로 Claude Code를 시작했거나, [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/ko/env-vars#variables)를 설정했거나, Agent SDK 앱이 `plugins` 옵션을 전달했습니다. 해당 세션에만 로드됩니다 | 매니페스트가 `defaultEnabled: false`를 설정하거나 설정 파일이 `"<name>@inline": false`를 설정하지 않는 한 세션에 대해 켜짐 |

59| `@skills-dir` | `.claude-plugin/plugin.json`이 있는 플러그인 디렉토리를 `~/.claude/skills/` 또는 프로젝트의 `.claude/skills/` 아래에 저장했습니다 | 매니페스트의 `defaultEnabled`, 설정 파일이 `"<name>@skills-dir"`을 `true` 또는 `false`로 설정하지 않는 한 |59| `@skills-dir` | `.claude-plugin/plugin.json`이 있는 플러그인 디렉토리를 `~/.claude/skills/` 또는 프로젝트의 `.claude/skills/` 아래에 저장했습니다 | 매니페스트의 `defaultEnabled`, 설정 파일이 `"<name>@skills-dir"`을 `true` 또는 `false`로 설정하지 않는 한 |


1426개의 소스 중 어느 곳에서나 `enabledPlugins` 항목을 설정할 수 있습니다. 표는 가장 낮은 우선 순위에서 가장 높은 우선 순위로 나열하고 각각이 누구에게 적용되는지 나열합니다. 설정 파일 자체는 [설정 파일 및 영향을 미치는 사람](/docs/ko/settings#where-settings-live)을 참조합니다.1426개의 소스 중 어느 곳에서나 `enabledPlugins` 항목을 설정할 수 있습니다. 표는 가장 낮은 우선 순위에서 가장 높은 우선 순위로 나열하고 각각이 누구에게 적용되는지 나열합니다. 설정 파일 자체는 [설정 파일 및 영향을 미치는 사람](/docs/ko/settings#where-settings-live)을 참조합니다.

143 143 

144| 소스 | 설정 위치 | 도달 범위 |144| 소스 | 설정 위치 | 도달 범위 |

145| :---------- | :------------------------------------------------------------------------------- | :------------------------------------------------------------------- |145| :- | :- | :- |

146| `--add-dir` | `--add-dir`로 전달하는 디렉토리의 `.claude/settings.json` 또는 `.claude/settings.local.json` | 이 세션만. `true` 값만 효과가 있으며 다른 모든 소스가 이를 재정의합니다 |146| `--add-dir` | `--add-dir`로 전달하는 디렉토리의 `.claude/settings.json` 또는 `.claude/settings.local.json` | 이 세션만. `true` 값만 효과가 있으며 다른 모든 소스가 이를 재정의합니다 |

147| `user` | `~/.claude/settings.json` | 모든 프로젝트에서 사용자 |147| `user` | `~/.claude/settings.json` | 모든 프로젝트에서 사용자 |

148| `project` | `.claude/settings.json` | 저장소를 복제하는 모든 사람 |148| `project` | `.claude/settings.json` | 저장소를 복제하는 모든 사람 |


182Claude Code는 플러그인 파일과 상태 기록을 하나의 플러그인 루트 아래에 유지하며, 이는 [`CLAUDE_CODE_PLUGIN_CACHE_DIR`](/docs/ko/env-vars)을 설정하지 않는 한 `~/.claude/plugins`입니다. 표의 모든 경로는 해당 루트에 상대적입니다.182Claude Code는 플러그인 파일과 상태 기록을 하나의 플러그인 루트 아래에 유지하며, 이는 [`CLAUDE_CODE_PLUGIN_CACHE_DIR`](/docs/ko/env-vars)을 설정하지 않는 한 `~/.claude/plugins`입니다. 표의 모든 경로는 해당 루트에 상대적입니다.

183 183 

184| 경로 | 보유 내용 |184| 경로 | 보유 내용 |

185| :--------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |185| :- | :- |

186| `cache/<marketplace>/<plugin>/<version>/` | 마켓플레이스 플러그인의 설치된 각 버전당 하나의 디렉토리. `<plugin>`은 마켓플레이스 항목 이름이고 `<version>`은 [해결된 버전](#versions-and-updates)입니다. `${CLAUDE_PLUGIN_ROOT}`는 이 디렉토리를 가리킵니다 |186| `cache/<marketplace>/<plugin>/<version>/` | 마켓플레이스 플러그인의 설치된 각 버전당 하나의 디렉토리. `<plugin>`은 마켓플레이스 항목 이름이고 `<version>`은 [해결된 버전](#versions-and-updates)입니다. `${CLAUDE_PLUGIN_ROOT}`는 이 디렉토리를 가리킵니다 |

187| `data/<plugin-id>/` | 플러그인의 영구 디렉토리, `${CLAUDE_PLUGIN_DATA}`로 노출됩니다. `<plugin-id>`가 형성되는 방식은 [경로 변수 및 영구 데이터](/docs/ko/plugins/components#path-variables-and-persistent-data)를 참조합니다. Claude Code는 플러그인 구성 요소가 처음 사용할 때 생성하고 업데이트 전체에서 유지합니다. Claude Code는 마지막 범위에서 플러그인을 제거할 때 삭제하며, `--keep-data`를 전달하지 않는 한 |187| `data/<plugin-id>/` | 플러그인의 영구 디렉토리, `${CLAUDE_PLUGIN_DATA}`로 노출됩니다. `<plugin-id>`가 형성되는 방식은 [경로 변수 및 영구 데이터](/docs/ko/plugins/components#path-variables-and-persistent-data)를 참조합니다. Claude Code는 플러그인 구성 요소가 처음 사용할 때 생성하고 업데이트 전체에서 유지합니다. Claude Code는 마지막 범위에서 플러그인을 제거할 때 삭제하며, `--keep-data`를 전달하지 않는 한 |

188| `marketplaces/<name>/` | GitHub, 다른 Git 호스트 또는 URL에서 추가한 마켓플레이스의 복제 또는 다운로드. 로컬 `file` 또는 `directory` 소스에서 추가한 마켓플레이스는 여기에 복사본이 없으며, `known_marketplaces.json`의 `installLocation`은 제공한 경로입니다 |188| `marketplaces/<name>/` | GitHub, 다른 Git 호스트 또는 URL에서 추가한 마켓플레이스의 복제 또는 다운로드. 로컬 `file` 또는 `directory` 소스에서 추가한 마켓플레이스는 여기에 복사본이 없으며, `known_marketplaces.json`의 `installLocation`은 제공한 경로입니다 |


247설치는 플러그인의 루트 디렉토리에 `package.json`과 지원되는 잠금 파일이 모두 포함될 때만 실행됩니다. 잠금 파일은 Claude Code가 실행하는 명령을 결정합니다:247설치는 플러그인의 루트 디렉토리에 `package.json`과 지원되는 잠금 파일이 모두 포함될 때만 실행됩니다. 잠금 파일은 Claude Code가 실행하는 명령을 결정합니다:

248 248 

249| 잠금 파일 | 명령 |249| 잠금 파일 | 명령 |

250| :------------------------------------------- | :----------------------------------------------- |250| :- | :- |

251| `bun.lock` 또는 `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |251| `bun.lock` 또는 `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |

252| `npm-shrinkwrap.json` 또는 `package-lock.json` | `npm ci --ignore-scripts` |252| `npm-shrinkwrap.json` 또는 `package-lock.json` | `npm ci --ignore-scripts` |

253 253 


3153. 둘 다 설정되지 않으면 버전은 소스 유형에서 옵니다:3153. 둘 다 설정되지 않으면 버전은 소스 유형에서 옵니다:

316 316 

317| 소스 유형 | `version` 필드가 설정되지 않을 때 버전 |317| 소스 유형 | `version` 필드가 설정되지 않을 때 버전 |

318| :---------------------------------------- | :------------------------------------------------------------------------ |318| :- | :- |

319| `github`, `url`, 또는 `git-subdir` | 소스의 커밋 SHA, 12자로 단축됨. `git-subdir` 버전은 또한 하위 디렉토리 경로의 해시를 전달합니다 |319| `github`, `url`, 또는 `git-subdir` | 소스의 커밋 SHA, 12자로 단축됨. `git-subdir` 버전은 또한 하위 디렉토리 경로의 해시를 전달합니다 |

320| `archive` | SHA-256 다이제스트, 12자로 단축됨: 마켓플레이스 항목의 `sha256` 핀 또는 핀이 없을 때 다운로드된 파일의 다이제스트 |320| `archive` | SHA-256 다이제스트, 12자로 단축됨: 마켓플레이스 항목의 `sha256` 핀 또는 핀이 없을 때 다운로드된 파일의 다이제스트 |

321| Git 호스팅 마켓플레이스 내 상대 경로 | 설치된 디렉토리의 커밋 SHA |321| Git 호스팅 마켓플레이스 내 상대 경로 | 설치된 디렉토리의 커밋 SHA |


335플러그인을 설치할 때 Claude Code는 마켓플레이스 카탈로그의 로컬 복사본에서 조회합니다. 세션에서 `/plugin install`을 실행하거나 셸에서 `claude plugin install`을 실행하고 마켓플레이스 없이 또는 마켓플레이스와 함께 플러그인의 이름을 지정할 수 있습니다. 표는 이러한 조합 중 어느 것이 로컬 복사본을 새로 고치는지 보여줍니다.335플러그인을 설치할 때 Claude Code는 마켓플레이스 카탈로그의 로컬 복사본에서 조회합니다. 세션에서 `/plugin install`을 실행하거나 셸에서 `claude plugin install`을 실행하고 마켓플레이스 없이 또는 마켓플레이스와 함께 플러그인의 이름을 지정할 수 있습니다. 표는 이러한 조합 중 어느 것이 로컬 복사본을 새로 고치는지 보여줍니다.

336 336 

337| 플러그인 이름 | 명령 | Claude Code가 새로 고치는 것 |337| 플러그인 이름 | 명령 | Claude Code가 새로 고치는 것 |

338| :----------------- | :------------------------------------------- | :------------------------------- |338| :- | :- | :- |

339| `name@marketplace` | `/plugin install` 또는 `claude plugin install` | 조회 전에 명명된 마켓플레이스 |339| `name@marketplace` | `/plugin install` 또는 `claude plugin install` | 조회 전에 명명된 마켓플레이스 |

340| `name` 단독 | `/plugin install` | 자동 업데이트가 켜진 마켓플레이스만, 조회가 누락된 후에만 |340| `name` 단독 | `/plugin install` | 자동 업데이트가 켜진 마켓플레이스만, 조회가 누락된 후에만 |

341| `name` 단독 | `claude plugin install` | 없음. 새로 고침 없이 캐시된 카탈로그를 읽습니다 |341| `name` 단독 | `claude plugin install` | 없음. 새로 고침 없이 캐시된 카탈로그를 읽습니다 |

Details

125`commands` 및 `hooks`와 같은 컴포넌트 키의 경우 [컴포넌트 경로 형식](#component-path-forms)은 예제와 함께 허용되는 각 형식을 보여주며, 모든 경로는 `./` 접두사, 확장자 및 포함에 대한 [경로 규칙](#path-rules)을 따릅니다.125`commands` 및 `hooks`와 같은 컴포넌트 키의 경우 [컴포넌트 경로 형식](#component-path-forms)은 예제와 함께 허용되는 각 형식을 보여주며, 모든 경로는 `./` 접두사, 확장자 및 포함에 대한 [경로 규칙](#path-rules)을 따릅니다.

126 126 

127| 필드 | 타입 | 설명 |127| 필드 | 타입 | 설명 |

128| :----------------------------------- | :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |128| :- | :- | :- |

129| `$schema` | String | 편집기 자동 완성을 위한 JSON Schema URL. Claude Code는 로드 시 이를 무시합니다 |129| `$schema` | String | 편집기 자동 완성을 위한 JSON Schema URL. Claude Code는 로드 시 이를 무시합니다 |

130| [`name`](#name) | String | 플러그인 식별자, 필수. kebab-case를 사용하세요. 모든 컴포넌트는 이 아래에 네임스페이스됩니다 |130| [`name`](#name) | String | 플러그인 식별자, 필수. kebab-case를 사용하세요. 모든 컴포넌트는 이 아래에 네임스페이스됩니다 |

131| [`displayName`](#displayname) | String | `name` 대신 UI에 표시되는 이름 |131| [`displayName`](#displayname) | String | `name` 대신 UI에 표시되는 이름 |


234각 값은 정확히 `source` 또는 `content` 중 하나를 설정하며, 둘 다 설정하거나 둘 다 설정하지 않는 항목은 유효성 검사에 실패합니다. 이 테이블의 다른 필드는 선택 사항입니다:234각 값은 정확히 `source` 또는 `content` 중 하나를 설정하며, 둘 다 설정하거나 둘 다 설정하지 않는 항목은 유효성 검사에 실패합니다. 이 테이블의 다른 필드는 선택 사항입니다:

235 235 

236| 필드 | 타입 | 설명 |236| 필드 | 타입 | 설명 |

237| :------------- | :--------------- | :------------------------------- |237| :- | :- | :- |

238| `source` | string | 명령의 Markdown 파일 경로, 플러그인 루트에 상대적 |238| `source` | string | 명령의 Markdown 파일 경로, 플러그인 루트에 상대적 |

239| `content` | string | `source` 대신 명령 본문의 인라인 Markdown |239| `content` | string | `source` 대신 명령 본문의 인라인 Markdown |

240| `description` | string | 명령에 대해 표시되는 설명 |240| `description` | string | 명령에 대해 표시되는 설명 |


290`mcpServers` 값은 다음 형식 중 하나를 사용합니다:290`mcpServers` 값은 다음 형식 중 하나를 사용합니다:

291 291 

292| 형식 | 예제 값 | Claude Code가 수행하는 작업 |292| 형식 | 예제 값 | Claude Code가 수행하는 작업 |

293| :------------ | :------------------------------------------------------------------------------------- | :-------------------------------------------------------------- |293| :- | :- | :- |

294| `.json` 파일 경로 | `"./mcp/servers.json"` | 파일을 `mcpServers` 맵으로 읽음 |294| `.json` 파일 경로 | `"./mcp/servers.json"` | 파일을 `mcpServers` 맵으로 읽음 |

295| MCP 번들 경로 | `"./bundle.mcpb"` | `.mcpb` 또는 `.dxt` 번들을 플러그인 루트 아래 `.mcpb-cache/`로 추출하고 서버 구성을 읽음 |295| MCP 번들 경로 | `"./bundle.mcpb"` | `.mcpb` 또는 `.dxt` 번들을 플러그인 루트 아래 `.mcpb-cache/`로 추출하고 서버 구성을 읽음 |

296| MCP 번들 URL | `"https://example.com/server.mcpb"` | 번들을 `.mcpb-cache/`로 다운로드한 다음 읽음 |296| MCP 번들 URL | `"https://example.com/server.mcpb"` | 번들을 `.mcpb-cache/`로 다운로드한 다음 읽음 |


309각 서버 구성은 다음 필드가 있는 엄격한 객체입니다. 알 수 없는 키는 유효성 검사에 실패합니다.309각 서버 구성은 다음 필드가 있는 엄격한 객체입니다. 알 수 없는 키는 유효성 검사에 실패합니다.

310 310 

311| 필드 | 필수 | 설명 |311| 필드 | 필수 | 설명 |

312| :---------------------- | :-- | :---------------------------------------------------------------------------------------------------------------- |312| :- | :- | :- |

313| `command` | Yes | 언어 서버 바이너리. 값이 `/`로 시작하지 않으면 공백 없음; 인수를 `args`에 배치 |313| `command` | Yes | 언어 서버 바이너리. 값이 `/`로 시작하지 않으면 공백 없음; 인수를 `args`에 배치 |

314| `extensionToLanguage` | Yes | 파일 확장자를 LSP 언어 ID에 매핑, 최소 하나의 항목. 키는 `.go`와 같이 점으로 시작 |314| `extensionToLanguage` | Yes | 파일 확장자를 LSP 언어 ID에 매핑, 최소 하나의 항목. 키는 `.go`와 같이 점으로 시작 |

315| `args` | No | 서버에 전달되는 인수 |315| `args` | No | 서버에 전달되는 인수 |


349각 항목은 다음 필드가 있는 엄격한 객체입니다.349각 항목은 다음 필드가 있는 엄격한 객체입니다.

350 350 

351| 필드 | 필수 | 설명 |351| 필드 | 필수 | 설명 |

352| :------------ | :-- | :--------------------------------------------------------------------------------------------------------- |352| :- | :- | :- |

353| `name` | Yes | 플러그인 내에서 고유한 식별자 |353| `name` | Yes | 플러그인 내에서 고유한 식별자 |

354| `command` | Yes | Claude Code가 세션 작업 디렉토리에서 지속적인 백그라운드 프로세스로 실행하는 셸 명령 |354| `command` | Yes | Claude Code가 세션 작업 디렉토리에서 지속적인 백그라운드 프로세스로 실행하는 셸 명령 |

355| `description` | Yes | 작업 패널 및 알림 요약에 표시되는 간단한 요약 |355| `description` | Yes | 작업 패널 및 알림 요약에 표시되는 간단한 요약 |


417각 값은 다음 필드가 있는 엄격한 객체입니다. 알 수 없는 키는 유효성 검사에 실패합니다.417각 값은 다음 필드가 있는 엄격한 객체입니다. 알 수 없는 키는 유효성 검사에 실패합니다.

418 418 

419| 필드 | 필수 | 설명 |419| 필드 | 필수 | 설명 |

420| :------------ | :-- | :---------------------------------------------------------------------------------------------------------------------------------------- |420| :- | :- | :- |

421| `type` | Yes | `string`, `number`, `boolean`, `directory` 또는 `file` 중 하나 |421| `type` | Yes | `string`, `number`, `boolean`, `directory` 또는 `file` 중 하나 |

422| `title` | Yes | 구성 대화 상자에 표시되는 레이블 |422| `title` | Yes | 구성 대화 상자에 표시되는 레이블 |

423| `description` | Yes | 필드 아래에 표시되는 도움말 텍스트 |423| `description` | Yes | 필드 아래에 표시되는 도움말 텍스트 |


500테이블은 값이 이러한 각 필드에 도달할 수 있는 방법을 보여줍니다.500테이블은 값이 이러한 각 필드에 도달할 수 있는 방법을 보여줍니다.

501 501 

502| 필드 | 값이 도달할 수 있는 방법 |502| 필드 | 값이 도달할 수 있는 방법 |

503| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |503| :- | :- |

504| 셸 형식 훅 명령 | [exec form](/docs/ko/hooks#exec-form-and-shell-form)을 `args`와 함께 사용하거나 훅의 환경에서 `CLAUDE_PLUGIN_OPTION_<KEY>`를 읽습니다 |504| 셸 형식 훅 명령 | [exec form](/docs/ko/hooks#exec-form-and-shell-form)을 `args`와 함께 사용하거나 훅의 환경에서 `CLAUDE_PLUGIN_OPTION_<KEY>`를 읽습니다 |

505| 모니터 명령 | Claude Code를 통하지 않습니다. 모니터 프로세스는 `CLAUDE_PLUGIN_OPTION_<KEY>`를 받지 않으므로 모니터 스크립트가 값을 직접 얻어야 합니다 |505| 모니터 명령 | Claude Code를 통하지 않습니다. 모니터 프로세스는 `CLAUDE_PLUGIN_OPTION_<KEY>`를 받지 않으므로 모니터 스크립트가 값을 직접 얻어야 합니다 |

506| MCP `headersHelper` | Claude Code를 통하지 않습니다. 헬퍼의 환경은 `CLAUDE_PLUGIN_ROOT`, `CLAUDE_CODE_MCP_SERVER_NAME` 및 `CLAUDE_CODE_MCP_SERVER_URL`을 전달하지만 옵션 값은 없으므로 헬퍼 스크립트가 값을 직접 얻어야 합니다 |506| MCP `headersHelper` | Claude Code를 통하지 않습니다. 헬퍼의 환경은 `CLAUDE_PLUGIN_ROOT`, `CLAUDE_CODE_MCP_SERVER_NAME` 및 `CLAUDE_CODE_MCP_SERVER_URL`을 전달하지만 옵션 값은 없으므로 헬퍼 스크립트가 값을 직접 얻어야 합니다 |


514각 항목은 플러그인의 MCP 서버 중 하나에 바인딩된 엄격한 객체이며 다음 필드가 있습니다:514각 항목은 플러그인의 MCP 서버 중 하나에 바인딩된 엄격한 객체이며 다음 필드가 있습니다:

515 515 

516| 필드 | 필수 | 설명 |516| 필드 | 필수 | 설명 |

517| :------------ | :-- | :-------------------------------------------------------------------------------------------------------- |517| :- | :- | :- |

518| `server` | Yes | 채널이 바인딩되는 이 플러그인의 `mcpServers`의 MCP 서버 키 |518| `server` | Yes | 채널이 바인딩되는 이 플러그인의 `mcpServers`의 MCP 서버 키 |

519| `displayName` | No | 구성 대화 상자 제목에 표시되는 이름. 기본값은 서버 이름입니다 |519| `displayName` | No | 구성 대화 상자 제목에 표시되는 이름. 기본값은 서버 이름입니다 |

520| `userConfig` | No | 요청할 옵션, [최상위 `userConfig`](#user-configuration)와 동일한 형식. 저장된 값은 서버의 `env`의 `${user_config.KEY}` 참조로 대체됩니다 |520| `userConfig` | No | 요청할 옵션, [최상위 `userConfig`](#user-configuration)와 동일한 형식. 저장된 값은 서버의 `env`의 `${user_config.KEY}` 참조로 대체됩니다 |


554Claude Code는 플러그인 컴포넌트에 세 가지 경로 변수를 제공합니다. [각 변수가 해결되는 위치](#where-each-variable-resolves)에 나열된 필드에서 `${NAME}`으로 참조하고 이를 받는 프로세스에서 환경 변수로 읽으세요.554Claude Code는 플러그인 컴포넌트에 세 가지 경로 변수를 제공합니다. [각 변수가 해결되는 위치](#where-each-variable-resolves)에 나열된 필드에서 `${NAME}`으로 참조하고 이를 받는 프로세스에서 환경 변수로 읽으세요.

555 555 

556| 변수 | 해결되는 대상 | 사용 목적 |556| 변수 | 해결되는 대상 | 사용 목적 |

557| :---------------------- | :---------------------------------------------------------------------------------------------------------------------- | :-------------------------------------- |557| :- | :- | :- |

558| `${CLAUDE_PLUGIN_ROOT}` | 플러그인의 설치된 버전의 절대 경로 | 플러그인과 함께 번들된 스크립트, 바이너리 및 구성 파일 |558| `${CLAUDE_PLUGIN_ROOT}` | 플러그인의 설치된 버전의 절대 경로 | 플러그인과 함께 번들된 스크립트, 바이너리 및 구성 파일 |

559| `${CLAUDE_PLUGIN_DATA}` | `~/.claude/plugins/data/<id>/`, 첫 참조 시 생성되고 플러그인 업데이트 전체에서 유지됨. `<id>`는 문자, 숫자, `_` 또는 `-` 이외의 모든 문자가 `-`로 대체된 플러그인 식별자 | `node_modules`와 같은 설치된 의존성, 생성된 코드 및 캐시 |559| `${CLAUDE_PLUGIN_DATA}` | `~/.claude/plugins/data/<id>/`, 첫 참조 시 생성되고 플러그인 업데이트 전체에서 유지됨. `<id>`는 문자, 숫자, `_` 또는 `-` 이외의 모든 문자가 `-`로 대체된 플러그인 식별자 | `node_modules`와 같은 설치된 의존성, 생성된 코드 및 캐시 |

560| `${CLAUDE_PROJECT_DIR}` | 프로젝트 루트 | 프로젝트 로컬 스크립트 및 구성 파일 |560| `${CLAUDE_PROJECT_DIR}` | 프로젝트 루트 | 프로젝트 로컬 스크립트 및 구성 파일 |


570각 플러그인 컴포넌트에서 `${...}` 참조는 특정 필드에서 인라인으로 해결되며 일부 컴포넌트는 또한 프로세스 환경에서 변수를 받습니다:570각 플러그인 컴포넌트에서 `${...}` 참조는 특정 필드에서 인라인으로 해결되며 일부 컴포넌트는 또한 프로세스 환경에서 변수를 받습니다:

571 571 

572| 플러그인 컴포넌트 | `${...}`이 해결되는 필드 | 프로세스로 내보내짐 |572| 플러그인 컴포넌트 | `${...}`이 해결되는 필드 | 프로세스로 내보내짐 |

573| :------------------------- | :------------------------------------------ | :---------------------------------------------------------------------------------------------- |573| :- | :- | :- |

574| 훅 명령 | `command` 및 `args`의 어디든지 | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` 및 `CLAUDE_PLUGIN_OPTION_<KEY>` |574| 훅 명령 | `command` 및 `args`의 어디든지 | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` 및 `CLAUDE_PLUGIN_OPTION_<KEY>` |

575| 모니터 명령 | `command`의 어디든지 | 내보내지지 않음 |575| 모니터 명령 | `command`의 어디든지 | 내보내지지 않음 |

576| MCP `stdio` 서버 | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |576| MCP `stdio` 서버 | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |


617각 컴포넌트 타입은 매니페스트가 다른 곳을 가리키지 않을 때 사용되는 플러그인 루트 아래의 기본 위치를 가집니다.617각 컴포넌트 타입은 매니페스트가 다른 곳을 가리키지 않을 때 사용되는 플러그인 루트 아래의 기본 위치를 가집니다.

618 618 

619| 컴포넌트 | 기본 위치 | 내용 |619| 컴포넌트 | 기본 위치 | 내용 |

620| :----- | :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |620| :- | :- | :- |

621| 매니페스트 | `.claude-plugin/plugin.json` | 플러그인 메타데이터 및 구성. 선택 사항 |621| 매니페스트 | `.claude-plugin/plugin.json` | 플러그인 메타데이터 및 구성. 선택 사항 |

622| 스킬 | `skills/` | 스킬당 하나의 `<name>/SKILL.md`. 루트에 `SKILL.md`가 있고 `skills/`가 없으며 `skills` 키가 없는 플러그인은 단일 스킬로 로드됩니다 |622| 스킬 | `skills/` | 스킬당 하나의 `<name>/SKILL.md`. 루트에 `SKILL.md`가 있고 `skills/`가 없으며 `skills` 키가 없는 플러그인은 단일 스킬로 로드됩니다 |

623| 명령 | `commands/` | 평면 Markdown 명령 파일. 새 플러그인의 경우 `skills/`를 선호합니다 |623| 명령 | `commands/` | 평면 Markdown 명령 파일. 새 플러그인의 경우 `skills/`를 선호합니다 |

Details

60표는 Claude Code가 `marketplace.json`에서 읽는 모든 키를 나열합니다. `name`, `owner`, `plugins`는 필수입니다.60표는 Claude Code가 `marketplace.json`에서 읽는 모든 키를 나열합니다. `name`, `owner`, `plugins`는 필수입니다.

61 61 

62| 필드 | 유형 | 설명 |62| 필드 | 유형 | 설명 |

63| :----------------------------------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| `name` | string | 마켓플레이스 식별자. 공백, 제어 문자 또는 양방향 서식 문자 없음, `/` 또는 `\` 없음, `..` 없음, `.` 아님. [예약된 이름](#reserved-names) 참조. 사용자는 플러그인을 설치할 때 `@` 뒤에 입력합니다 |64| `name` | string | 마켓플레이스 식별자. 공백, 제어 문자 또는 양방향 서식 문자 없음, `/` 또는 `\` 없음, `..` 없음, `.` 아님. [예약된 이름](#reserved-names) 참조. 사용자는 플러그인을 설치할 때 `@` 뒤에 입력합니다 |

65| `owner` | object | 유지보수자 정보. `name`은 필수이고 `email` 및 `url`은 선택사항입니다 |65| `owner` | object | 유지보수자 정보. `name`은 필수이고 `email` 및 `url`은 선택사항입니다 |

66| `plugins` | array | [플러그인 항목](#plugin-entries). 각 항목은 독립적으로 검증되므로 하나의 잘못된 항목이 마켓플레이스를 실패하게 하지 않습니다 |66| `plugins` | array | [플러그인 항목](#plugin-entries). 각 항목은 독립적으로 검증되므로 하나의 잘못된 항목이 마켓플레이스를 실패하게 하지 않습니다 |


84표는 항목의 자체 필드와 항목에서 의미가 변경되는 매니페스트 필드를 나열합니다.84표는 항목의 자체 필드와 항목에서 의미가 변경되는 매니페스트 필드를 나열합니다.

85 85 

86| 필드 | 유형 | 설명 |86| 필드 | 유형 | 설명 |

87| :--------------- | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |87| :- | :- | :- |

88| `name` | string | 공백, 제어 문자 또는 양방향 서식 문자가 없는 플러그인 식별자. 사용자는 플러그인의 자체 `plugin.json`이 다른 `name`을 설정하더라도 설치할 때 `@` 앞에 입력합니다 |88| `name` | string | 공백, 제어 문자 또는 양방향 서식 문자가 없는 플러그인 식별자. 사용자는 플러그인의 자체 `plugin.json`이 다른 `name`을 설정하더라도 설치할 때 `@` 앞에 입력합니다 |

89| `source` | string or object | 플러그인을 가져올 위치. [플러그인 소스](#plugin-sources) 참조 |89| `source` | string or object | 플러그인을 가져올 위치. [플러그인 소스](#plugin-sources) 참조 |

90| `description` | string | [`/plugin`](/docs/ko/plugins/install) 목록 및 세부 정보에 표시됨 |90| `description` | string | [`/plugin`](/docs/ko/plugins/install) 목록 및 세부 정보에 표시됨 |


133`strict`는 가져온 플러그인이 자체 `plugin.json`을 가지고 있고 항목도 [구성 요소 필드](#entry-and-plugin-json) 중 하나를 선언할 때 어떤 일이 발생하는지 결정합니다: `commands`, `agents`, `skills`, `hooks`, `outputStyles`, `themes`. `strict: true`(기본값)일 때, Claude Code는 항목의 구성 요소 필드를 `plugin.json`에 추가합니다. `hooks` 제외하고, 그 매처는 매니페스트의 이벤트별 매처를 대체합니다. `strict: false`일 때, 구성 요소 필드를 선언하는 항목은 충돌이며, 플러그인이 로드되지 않습니다. 표는 `strict`, `plugin.json`, 항목의 구성 요소 필드의 각 조합을 보여줍니다.133`strict`는 가져온 플러그인이 자체 `plugin.json`을 가지고 있고 항목도 [구성 요소 필드](#entry-and-plugin-json) 중 하나를 선언할 때 어떤 일이 발생하는지 결정합니다: `commands`, `agents`, `skills`, `hooks`, `outputStyles`, `themes`. `strict: true`(기본값)일 때, Claude Code는 항목의 구성 요소 필드를 `plugin.json`에 추가합니다. `hooks` 제외하고, 그 매처는 매니페스트의 이벤트별 매처를 대체합니다. `strict: false`일 때, 구성 요소 필드를 선언하는 항목은 충돌이며, 플러그인이 로드되지 않습니다. 표는 `strict`, `plugin.json`, 항목의 구성 요소 필드의 각 조합을 보여줍니다.

134 134 

135| `strict` | `plugin.json` | 항목 구성 요소 필드 | 결과 |135| `strict` | `plugin.json` | 항목 구성 요소 필드 | 결과 |

136| :---------- | :------------ | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |136| :- | :- | :- | :- |

137| any | absent | any | 항목이 매니페스트입니다 |137| any | absent | any | 항목이 매니페스트입니다 |

138| `true`, 기본값 | present | any | `plugin.json`이 권한입니다. Claude Code는 항목의 구성 요소 필드를 추가합니다. `hooks` 제외하고, 그 매처는 [매니페스트의 이벤트별 매처를 대체합니다](/docs/ko/plugins/manifest-reference#how-entry-fields-combine-with-plugin-json) |138| `true`, 기본값 | present | any | `plugin.json`이 권한입니다. Claude Code는 항목의 구성 요소 필드를 추가합니다. `hooks` 제외하고, 그 매처는 [매니페스트의 이벤트별 매처를 대체합니다](/docs/ko/plugins/manifest-reference#how-entry-fields-combine-with-plugin-json) |

139| `false` | present | none | `plugin.json`이 매니페스트입니다. `true`와 동일 |139| `false` | present | none | `plugin.json`이 매니페스트입니다. `true`와 동일 |


148아래 표는 각 플러그인 소스 유형과 해당 필드를 나열합니다.148아래 표는 각 플러그인 소스 유형과 해당 필드를 나열합니다.

149 149 

150| 유형 | 필드 | 참고 |150| 유형 | 필드 | 참고 |

151| :----------- | :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- |151| :- | :- | :- |

152| 상대 경로 | 문자열 자체 | 마켓플레이스 내의 디렉토리로, 마켓플레이스 루트에서 확인됩니다. `./`로 시작해야 하며, [`metadata.pluginRoot`](#relative-path-plugin-source) 아래에 베어 이름을 작성하지 않는 한 그렇습니다. `"."`는 루트 자체를 의미합니다 |152| 상대 경로 | 문자열 자체 | 마켓플레이스 내의 디렉토리로, 마켓플레이스 루트에서 확인됩니다. `./`로 시작해야 하며, [`metadata.pluginRoot`](#relative-path-plugin-source) 아래에 베어 이름을 작성하지 않는 한 그렇습니다. `"."`는 루트 자체를 의미합니다 |

153| `github` | `repo`, `ref`, `sha` | `owner/repo` 형식의 GitHub 저장소 |153| `github` | `repo`, `ref`, `sha` | `owner/repo` 형식의 GitHub 저장소 |

154| `url` | `url`, `ref`, `sha` | URL로 지정된 모든 git 저장소 |154| `url` | `url`, `ref`, `sha` | URL로 지정된 모든 git 저장소 |


372`url`, `git`, `github` 유형 이름은 [플러그인 소스](#plugin-sources)에서와 마켓플레이스 소스에서 다른 의미를 가집니다:372`url`, `git`, `github` 유형 이름은 [플러그인 소스](#plugin-sources)에서와 마켓플레이스 소스에서 다른 의미를 가집니다:

373 373 

374| 유형 이름 | 마켓플레이스 소스로 | 플러그인 소스로 |374| 유형 이름 | 마켓플레이스 소스로 | 플러그인 소스로 |

375| :------- | :----------------------------------------------------------------------- | :------------------------------------------------ |375| :- | :- | :- |

376| `url` | `marketplace.json` 파일에 대한 직접 링크, `url`, `headers`, `headersHelper` 필드 포함 | 복제할 git 저장소, `url`, `ref`, `sha` 필드 포함 |376| `url` | `marketplace.json` 파일에 대한 직접 링크, `url`, `headers`, `headersHelper` 필드 포함 | 복제할 git 저장소, `url`, `ref`, `sha` 필드 포함 |

377| `git` | 복제할 git 저장소, `url`, `ref`, `path`, `sparsePaths` 필드 포함 | 존재하지 않음 |377| `git` | 복제할 git 저장소, `url`, `ref`, `path`, `sparsePaths` 필드 포함 | 존재하지 않음 |

378| `github` | GitHub 저장소, `repo`, `ref`, `path`, `sparsePaths` 필드 포함 | GitHub 저장소, `repo`, `ref`, `sha` 필드 포함, `path` 없음 |378| `github` | GitHub 저장소, `repo`, `ref`, `path`, `sparsePaths` 필드 포함 | GitHub 저장소, `repo`, `ref`, `sha` 필드 포함, `path` 없음 |


380표는 모든 마켓플레이스 소스 유형을 필드, 생성하는 `claude plugin marketplace add` 입력, 그리고 세 가지 설정 키 각각에서의 작동 방식과 함께 나열합니다.380표는 모든 마켓플레이스 소스 유형을 필드, 생성하는 `claude plugin marketplace add` 입력, 그리고 세 가지 설정 키 각각에서의 작동 방식과 함께 나열합니다.

381 381 

382| 유형 | 필드 | `marketplace add` 입력 | `extraKnownMarketplaces` | `strictKnownMarketplaces` | `blockedMarketplaces` |382| 유형 | 필드 | `marketplace add` 입력 | `extraKnownMarketplaces` | `strictKnownMarketplaces` | `blockedMarketplaces` |

383| :------------ | :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------- |383| :- | :- | :- | :- | :- | :- |

384| `url` | `url`, `headers`, `headersHelper` | git 형식과 일치하지 않는 `http://` 또는 `https://` URL | 로드 | 동일한 URL 허용 | 동일한 URL 차단 |384| `url` | `url`, `headers`, `headersHelper` | git 형식과 일치하지 않는 `http://` 또는 `https://` URL | 로드 | 동일한 URL 허용 | 동일한 URL 차단 |

385| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref`, 또는 `owner/repo#ref` | 로드 | 동일한 `repo`, `ref`, `path` 허용. `repo`는 `owner/*`일 수 있음 | 동일한 것 차단, 동일한 저장소에 대한 `git` URL |385| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref`, 또는 `owner/repo#ref` | 로드 | 동일한 `repo`, `ref`, `path` 허용. `repo`는 `owner/*`일 수 있음 | 동일한 것 차단, 동일한 저장소에 대한 `git` URL |

386| `git` | `url`, `ref`, `path`, `sparsePaths` | `user@host:path` URL, 또는 `.git`로 끝나거나 `/_git/`를 포함하거나 github.com 또는 gitlab.com 저장소를 이름 지정하는 `https://` URL. `#ref`는 ref를 고정 | 로드 | 동일한 URL, `ref`, `path` 허용 | 동일한 것 차단, 동일한 github.com 저장소의 다른 철자 |386| `git` | `url`, `ref`, `path`, `sparsePaths` | `user@host:path` URL, 또는 `.git`로 끝나거나 `/_git/`를 포함하거나 github.com 또는 gitlab.com 저장소를 이름 지정하는 `https://` URL. `#ref`는 ref를 고정 | 로드 | 동일한 URL, `ref`, `path` 허용 | 동일한 것 차단, 동일한 github.com 저장소의 다른 철자 |


399표는 기본값, 제약 또는 유형별 의미를 가진 각 마켓플레이스 소스 필드를 나열합니다.399표는 기본값, 제약 또는 유형별 의미를 가진 각 마켓플레이스 소스 필드를 나열합니다.

400 400 

401| 필드 | 유형 | 설명 |401| 필드 | 유형 | 설명 |

402| :-------------- | :-------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |402| :- | :- | :- |

403| `url` | `url` | `marketplace.json` 파일에 대한 링크. Claude Code는 해당 파일만 다운로드하므로, 마켓플레이스의 플러그인은 [상대 경로 소스](#relative-path-plugin-source)를 사용할 수 없습니다 |403| `url` | `url` | `marketplace.json` 파일에 대한 링크. Claude Code는 해당 파일만 다운로드하므로, 마켓플레이스의 플러그인은 [상대 경로 소스](#relative-path-plugin-source)를 사용할 수 없습니다 |

404| `url` | `git` | 복제할 git 저장소 |404| `url` | `git` | 복제할 git 저장소 |

405| `headers` | `url` | Claude Code가 가져오기와 함께 보내는 HTTP 헤더의 맵, 인증된 호스트의 경우 |405| `headers` | `url` | Claude Code가 가져오기와 함께 보내는 HTTP 헤더의 맵, 인증된 호스트의 경우 |


472표는 마켓플레이스 수준의 메시지를 각 메시지가 관련된 필드에 매핑합니다.472표는 마켓플레이스 수준의 메시지를 각 메시지가 관련된 필드에 매핑합니다.

473 473 

474| 메시지 | 수준 | 필드 |474| 메시지 | 수준 | 필드 |

475| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :- | :------------------------------------------------------------------------------- |475| :- | :- | :- |

476| `Marketplace must have a name` | 오류 | `name`이 비어 있음 |476| `Marketplace must have a name` | 오류 | `name`이 비어 있음 |

477| `Marketplace name cannot contain spaces. Use kebab-case (e.g., "my-marketplace")` | 오류 | `name` |477| `Marketplace name cannot contain spaces. Use kebab-case (e.g., "my-marketplace")` | 오류 | `name` |

478| `Marketplace name cannot contain path separators (/ or \), ".." sequences, or be "."` | 오류 | `name` |478| `Marketplace name cannot contain path separators (/ or \), ".." sequences, or be "."` | 오류 | `name` |

Details

148이러한 OpenTelemetry 이벤트 및 속성은 백엔드에서 각 플러그인 질문에 답합니다:148이러한 OpenTelemetry 이벤트 및 속성은 백엔드에서 각 플러그인 질문에 답합니다:

149 149 

150| 질문 | OpenTelemetry 이벤트 또는 속성 |150| 질문 | OpenTelemetry 이벤트 또는 속성 |

151| :-------------------------- | :----------------------------------------------------------------------------------------------------------------------------- |151| :- | :- |

152| 어떤 플러그인이 설치되고 어디서 설치되는가 | [`claude_code.plugin_installed`](/docs/ko/monitoring-usage#plugin-installed-event), 설치당 하나 |152| 어떤 플러그인이 설치되고 어디서 설치되는가 | [`claude_code.plugin_installed`](/docs/ko/monitoring-usage#plugin-installed-event), 설치당 하나 |

153| 어떤 플러그인이 몇 개 세션에서 활성화되는가 | [`claude_code.plugin_loaded`](/docs/ko/monitoring-usage#plugin-loaded-event), 세션 시작 시 활성화된 플러그인당 하나 |153| 어떤 플러그인이 몇 개 세션에서 활성화되는가 | [`claude_code.plugin_loaded`](/docs/ko/monitoring-usage#plugin-loaded-event), 세션 시작 시 활성화된 플러그인당 하나 |

154| 어떤 스킬이 활성화되고 어떤 플러그인이 소유하는가 | [`claude_code.skill_activated`](/docs/ko/monitoring-usage#skill-activated-event), 플러그인 스킬의 경우 `plugin.name` 및 `marketplace.name` 포함 |154| 어떤 스킬이 활성화되고 어떤 플러그인이 소유하는가 | [`claude_code.skill_activated`](/docs/ko/monitoring-usage#skill-activated-event), 플러그인 스킬의 경우 `plugin.name` 및 `marketplace.name` 포함 |


164일부 이벤트에서 실제 이름을 얻으려면, 익스포터를 구성하는 동일한 [관리 설정](/docs/ko/monitoring-usage#administrator-configuration)의 `env` 블록에서 텔레메트리를 내보내는 머신에서 [`OTEL_LOG_TOOL_DETAILS`](/docs/ko/monitoring-usage#common-configuration-variables) 환경 변수를 `1`로 설정합니다:164일부 이벤트에서 실제 이름을 얻으려면, 익스포터를 구성하는 동일한 [관리 설정](/docs/ko/monitoring-usage#administrator-configuration)의 `env` 블록에서 텔레메트리를 내보내는 머신에서 [`OTEL_LOG_TOOL_DETAILS`](/docs/ko/monitoring-usage#common-configuration-variables) 환경 변수를 `1`로 설정합니다:

165 165 

166| 이벤트 | 기본값 | `OTEL_LOG_TOOL_DETAILS=1` 포함 |166| 이벤트 | 기본값 | `OTEL_LOG_TOOL_DETAILS=1` 포함 |

167| :------------------------------------ | :-------------------------------------------------------------------------------------- | :------------------------------------------ |167| :- | :- | :- |

168| `plugin_loaded` | `plugin.name` 및 `marketplace.name`은 리터럴 문자열 `third-party` | 실제 이름 |168| `plugin_loaded` | `plugin.name` 및 `marketplace.name`은 리터럴 문자열 `third-party` | 실제 이름 |

169| `plugin_installed`, `skill_activated` | `plugin.name` 및 `marketplace.name` 생략; `skill_activated`에서 `skill.name`은 `custom_skill` | 실제 이름 |169| `plugin_installed`, `skill_activated` | `plugin.name` 및 `marketplace.name` 생략; `skill_activated`에서 `skill.name`은 `custom_skill` | 실제 이름 |

170| 비용 카운터 | `plugin.name`은 `third-party`; `marketplace.name` 없음 | 실제 `plugin.name`; `marketplace.name` 여전히 없음 |170| 비용 카운터 | `plugin.name`은 `third-party`; `marketplace.name` 없음 | 실제 `plugin.name`; `marketplace.name` 여전히 없음 |

plugins/org.md +2 −2

Details

111표는 관리 설정 및 저장소의 `.claude/settings.json`에서 각 종류의 Claude Code 세션이 `extraKnownMarketplaces` 및 `enabledPlugins`를 적용하는 시기를 보여줍니다. Desktop 앱 및 IDE 확장의 경우 [플러그인 설치](/docs/ko/plugins/install#install-a-plugin)를 참조합니다.111표는 관리 설정 및 저장소의 `.claude/settings.json`에서 각 종류의 Claude Code 세션이 `extraKnownMarketplaces` 및 `enabledPlugins`를 적용하는 시기를 보여줍니다. Desktop 앱 및 IDE 확장의 경우 [플러그인 설치](/docs/ko/plugins/install#install-a-plugin)를 참조합니다.

112 112 

113| 표면 | 관리 `extraKnownMarketplaces` 및 `enabledPlugins` | 저장소 `.claude/settings.json` |113| 표면 | 관리 `extraKnownMarketplaces` 및 `enabledPlugins` | 저장소 `.claude/settings.json` |

114| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------ |114| :- | :- | :- |

115| 터미널, 대화형 | 설정을 받는 모든 머신에서 세션 시작 시 적용됨 | `extraKnownMarketplaces`는 신뢰 후 적용됨; `enabledPlugins`는 세션 시작 시 적용됨 |115| 터미널, 대화형 | 설정을 받는 모든 머신에서 세션 시작 시 적용됨 | `extraKnownMarketplaces`는 신뢰 후 적용됨; `enabledPlugins`는 세션 시작 시 적용됨 |

116| `-p` 및 CI | 세션 시작 시 적용되며, 설치는 백그라운드에서 실행됨 | 신뢰하는 폴더에서만 `extraKnownMarketplaces`; `enabledPlugins` 적용됨 |116| `-p` 및 CI | 세션 시작 시 적용되며, 설치는 백그라운드에서 실행됨 | 신뢰하는 폴더에서만 `extraKnownMarketplaces`; `enabledPlugins` 적용됨 |

117| 클라우드 세션 | Anthropic 호스팅 환경에서는 서버 관리 설정만 세션에 도달하며, 플러그인을 설치하기 전에 대기합니다. MDM 정책 및 관리 설정 파일은 사용자의 머신에 남아 있습니다. 자체 호스팅 환경의 경우 [정책이 적용되는 위치 및 시기](/docs/ko/managed-settings#where-and-when-a-policy-applies)를 참조합니다. | [플러그인 설치](/docs/ko/plugins/install#install-a-plugin) 아래의 **클라우드 세션** 탭을 참조합니다. |117| 클라우드 세션 | Anthropic 호스팅 환경에서는 서버 관리 설정만 세션에 도달하며, 플러그인을 설치하기 전에 대기합니다. MDM 정책 및 관리 설정 파일은 사용자의 머신에 남아 있습니다. 자체 호스팅 환경의 경우 [정책이 적용되는 위치 및 시기](/docs/ko/managed-settings#where-and-when-a-policy-applies)를 참조합니다. | [플러그인 설치](/docs/ko/plugins/install#install-a-plugin) 아래의 **클라우드 세션** 탭을 참조합니다. |


198표는 각 플러그인 정책 키, 적용하는 것 및 할 수 없는 것을 나열합니다.198표는 각 플러그인 정책 키, 적용하는 것 및 할 수 없는 것을 나열합니다.

199 199 

200| 키 | 적용하는 것 | 할 수 없는 것 |200| 키 | 적용하는 것 | 할 수 없는 것 |

201| :----------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------- |201| :- | :- | :- |

202| `strictKnownMarketplaces` | 마켓플레이스 소스의 허용 목록. `[]`는 공식 마켓플레이스를 포함한 모든 소스를 차단합니다. 별칭: `allowedMarketplaces` | 마켓플레이스를 등록하거나, 허용된 마켓플레이스 내의 항목을 제한하거나, `--plugin-dir`을 차단하지 않습니다 |202| `strictKnownMarketplaces` | 마켓플레이스 소스의 허용 목록. `[]`는 공식 마켓플레이스를 포함한 모든 소스를 차단합니다. 별칭: `allowedMarketplaces` | 마켓플레이스를 등록하거나, 허용된 마켓플레이스 내의 항목을 제한하거나, `--plugin-dir`을 차단하지 않습니다 |

203| `blockedMarketplaces` | 마켓플레이스 소스의 차단 목록, 허용 목록 전에 확인됨 | 이미 일치하지 않는 소스에서 등록된 마켓플레이스를 차단하지 않습니다 |203| `blockedMarketplaces` | 마켓플레이스 소스의 차단 목록, 허용 목록 전에 확인됨 | 이미 일치하지 않는 소스에서 등록된 마켓플레이스를 차단하지 않습니다 |

204| `syncClaudeAiPlugins` | 각 사용자의 계정에서 [동기화된](/docs/ko/plugins/loading#synced-plugins) 플러그인을 Claude Code가 다운로드하고 로드하는 것을 중지하려면 `false`로 설정하세요. Claude Code v2.1.273 이상 필요 | 하나의 동기화된 플러그인을 끄지 않습니다. 그렇게 하려면 [`enabledPlugins`](/docs/ko/settings-reference#enabledplugins)에서 `"<name>@synced": false`를 설정하세요 |204| `syncClaudeAiPlugins` | 각 사용자의 계정에서 [동기화된](/docs/ko/plugins/loading#synced-plugins) 플러그인을 Claude Code가 다운로드하고 로드하는 것을 중지하려면 `false`로 설정하세요. Claude Code v2.1.273 이상 필요 | 하나의 동기화된 플러그인을 끄지 않습니다. 그렇게 하려면 [`enabledPlugins`](/docs/ko/settings-reference#enabledplugins)에서 `"<name>@synced": false`를 설정하세요 |

Details

26플러그인을 설치해야 하는 사람에 따라 배포 옵션을 선택하세요:26플러그인을 설치해야 하는 사람에 따라 배포 옵션을 선택하세요:

27 27 

28| 경로 | 설치할 수 있는 사람 | 필요한 것 | 사용자가 자동으로 업데이트를 받나요? |28| 경로 | 설치할 수 있는 사람 | 필요한 것 | 사용자가 자동으로 업데이트를 받나요? |

29| :------------------------------------------------------------- | :------------------------------------------------ | :----------------------------------------------------------------- | :------------------- |29| :- | :- | :- | :- |

30| [마켓플레이스 없음](#share-a-plugin-without-a-marketplace) | 플러그인 폴더 또는 `.zip` 파일을 받은 사람 | 플러그인의 폴더 | 없음. 보낸 복사본을 로드합니다 |30| [마켓플레이스 없음](#share-a-plugin-without-a-marketplace) | 플러그인 폴더 또는 `.zip` 파일을 받은 사람 | 플러그인의 폴더 | 없음. 보낸 복사본을 로드합니다 |

31| [자신의 마켓플레이스](#publish-through-your-own-marketplace) | 저장소에 접근할 수 있는 모든 사람(팀이 복제할 수 있는 비공개 저장소일 수 있음) | `.claude-plugin/marketplace.json`이 있는 git 저장소 또는 기타 호스트(플러그인을 나열함) | 꺼짐 |31| [자신의 마켓플레이스](#publish-through-your-own-marketplace) | 저장소에 접근할 수 있는 모든 사람(팀이 복제할 수 있는 비공개 저장소일 수 있음) | `.claude-plugin/marketplace.json`이 있는 git 저장소 또는 기타 호스트(플러그인을 나열함) | 꺼짐 |

32| [Anthropic의 커뮤니티 마켓플레이스](#submit-to-the-community-marketplace) | `anthropics/claude-plugins-community`를 추가하는 모든 사람 | 플러그인 디렉터리 제출 양식을 통한 제출 | 꺼짐 |32| [Anthropic의 커뮤니티 마켓플레이스](#submit-to-the-community-marketplace) | `anthropics/claude-plugins-community`를 추가하는 모든 사람 | 플러그인 디렉터리 제출 양식을 통한 제출 | 꺼짐 |

Details

86</h3>86</h3>

87 87 

88| 필드 | 유형 | 설명 |88| 필드 | 유형 | 설명 |

89| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------- |89| :- | :- | :- |

90| `topic` | string | 선택 사항입니다. 스피너 팁에서 "\_topic\_으로 작업 중입니까?"를 채우는 구문입니다. 기본값은 각 하이픈 세그먼트가 대문자로 표기된 플러그인 이름입니다. 최대 64자입니다. |90| `topic` | string | 선택 사항입니다. 스피너 팁에서 "\_topic\_으로 작업 중입니까?"를 채우는 구문입니다. 기본값은 각 하이픈 세그먼트가 대문자로 표기된 플러그인 이름입니다. 최대 64자입니다. |

91| `signals` | object | 플러그인이 관련성이 있는 시기를 결정하는 매처입니다. Claude Code는 최소한 하나의 신호가 설정된 경우에만 플러그인을 제안합니다. [`relevance.signals`](#relevance-signals)를 참조하세요. |91| `signals` | object | 플러그인이 관련성이 있는 시기를 결정하는 매처입니다. Claude Code는 최소한 하나의 신호가 설정된 경우에만 플러그인을 제안합니다. [`relevance.signals`](#relevance-signals)를 참조하세요. |

92 92 


99`signals` 객체는 다음 필드를 허용합니다.99`signals` 객체는 다음 필드를 허용합니다.

100 100 

101| 필드 | 유형 | 설명 | 제한 |101| 필드 | 유형 | 설명 | 제한 |

102| :------------- | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------- |102| :- | :- | :- | :- |

103| `cwd` | array of strings | 세션의 작업 디렉토리와 일치하는 Glob 패턴입니다. [작업 디렉토리 일치](#working-directory-matching)를 참조하세요. | 각 256자의 10개 패턴 |103| `cwd` | array of strings | 세션의 작업 디렉토리와 일치하는 Glob 패턴입니다. [작업 디렉토리 일치](#working-directory-matching)를 참조하세요. | 각 256자의 10개 패턴 |

104| `cli` | array of strings | 이 세션에서 Claude가 실행한 셸 명령의 명령 이름입니다(예: `["terraform"]`). 정확한 일치입니다. [명령 이름 일치](#command-name-matching)를 참조하세요. | 각 64자의 10개 항목 |104| `cli` | array of strings | 이 세션에서 Claude가 실행한 셸 명령의 명령 이름입니다(예: `["terraform"]`). 정확한 일치입니다. [명령 이름 일치](#command-name-matching)를 참조하세요. | 각 64자의 10개 항목 |

105| `hosts` | array of strings | 이 세션의 Bash 명령에서 `http://` 또는 `https://` URL에 표시되는 호스트 이름입니다(예: `["registry.terraform.io"]`). 베어 소문자 호스트 이름만: 스키마, 포트 또는 경로 없음. 정확한 대소문자 구분 없는 일치입니다. | 각 128자의 20개 항목 |105| `hosts` | array of strings | 이 세션의 Bash 명령에서 `http://` 또는 `https://` URL에 표시되는 호스트 이름입니다(예: `["registry.terraform.io"]`). 베어 소문자 호스트 이름만: 스키마, 포트 또는 경로 없음. 정확한 대소문자 구분 없는 일치입니다. | 각 128자의 20개 항목 |

Details

52표는 각 계층에 어떤 이름이 속하는지 나열합니다:52표는 각 계층에 어떤 이름이 속하는지 나열합니다:

53 53 

54| 계층 | 마켓플레이스 |54| 계층 | 마켓플레이스 |

55| :--- | :------------------------------------------------------------------------ |55| :- | :- |

56| 공식 | [공식 마켓플레이스 이름](#official-marketplace-names)(예: `claude-plugins-official`) |56| 공식 | [공식 마켓플레이스 이름](#official-marketplace-names)(예: `claude-plugins-official`) |

57| 커뮤니티 | `claude-community`, `claude-plugins-community`, 및 `healthcare` |57| 커뮤니티 | `claude-community`, `claude-plugins-community`, 및 `healthcare` |

58| 타사 | 다른 모든 마켓플레이스 |58| 타사 | 다른 모든 마켓플레이스 |

Details

25프리픽스 일치를 최대한 활용하기 위해 Claude Code는 각 요청을 정렬하여 턴 간에 거의 변경되지 않는 콘텐츠가 먼저 오도록 합니다:25프리픽스 일치를 최대한 활용하기 위해 Claude Code는 각 요청을 정렬하여 턴 간에 거의 변경되지 않는 콘텐츠가 먼저 오도록 합니다:

26 26 

27| 계층 | 콘텐츠 | 변경 시기 |27| 계층 | 콘텐츠 | 변경 시기 |

28| --------- | ---------------------------- | ----------------------------------- |28| - | - | - |

29| 시스템 프롬프트 | 핵심 지침, 도구 정의 | 로드된 도구 정의 집합이 변경될 때 |29| 시스템 프롬프트 | 핵심 지침, 도구 정의 | 로드된 도구 정의 집합이 변경될 때 |

30| 프로젝트 컨텍스트 | CLAUDE.md, 자동 메모리, 범위 미지정 규칙 | 세션 시작 후 또는 `/clear` 또는 `/compact` 후 |30| 프로젝트 컨텍스트 | CLAUDE.md, 자동 메모리, 범위 미지정 규칙 | 세션 시작 후 또는 `/clear` 또는 `/compact` 후 |

31| 대화 | 사용자 메시지, Claude의 응답, 도구 결과 | 매 턴마다 |31| 대화 | 사용자 메시지, Claude의 응답, 도구 결과 | 매 턴마다 |


318TTL을 직접 선택하지 않으면 Claude Code는 Claude 구독 내에서 플랜의 포함된 사용량 범위 내에서만 1시간 TTL을 요청합니다. 여기서는 메인 대화에 대해 1시간을 요청하고, Anthropic이 서버 측에서 제어하는 작은 도우미 요청 세트를 요청합니다. 이 표는 두 가지 청구 방식 모두에서 각 버킷의 기본 TTL을 제공합니다.318TTL을 직접 선택하지 않으면 Claude Code는 Claude 구독 내에서 플랜의 포함된 사용량 범위 내에서만 1시간 TTL을 요청합니다. 여기서는 메인 대화에 대해 1시간을 요청하고, Anthropic이 서버 측에서 제어하는 작은 도우미 요청 세트를 요청합니다. 이 표는 두 가지 청구 방식 모두에서 각 버킷의 기본 TTL을 제공합니다.

319 319 

320| 요청 버킷 | Claude 구독, 플랜 사용량 범위 내 | 사용 크레딧, API 키 또는 클라우드 제공자 |320| 요청 버킷 | Claude 구독, 플랜 사용량 범위 내 | 사용 크레딧, API 키 또는 클라우드 제공자 |

321| ------- | --------------------------- | ------------------------- |321| - | - | - |

322| 메인 대화 | 1시간 | 5분 |322| 메인 대화 | 1시간 | 5분 |

323| 기타 모든 것 | 5분, 서버 제어 도우미 요청 제외(1시간 받음) | 5분 |323| 기타 모든 것 | 5분, 서버 제어 도우미 요청 제외(1시간 받음) | 5분 |

324 324 


367캐시 성능은 API가 모든 응답에서 보고하는 두 개의 토큰 수로 표시됩니다. 이를 실시간으로 확인하는 가장 직접적인 방법은 `current_usage` 객체를 읽는 [상태 표시줄 스크립트](/docs/ko/statusline)입니다:367캐시 성능은 API가 모든 응답에서 보고하는 두 개의 토큰 수로 표시됩니다. 이를 실시간으로 확인하는 가장 직접적인 방법은 `current_usage` 객체를 읽는 [상태 표시줄 스크립트](/docs/ko/statusline)입니다:

368 368 

369| 필드 | 의미 |369| 필드 | 의미 |

370| ----------------------------- | ------------------------------------------------------------------------------------------------------------------ |370| - | - |

371| `cache_creation_input_tokens` | 이번 턴에 캐시에 기록된 토큰, 캐시 쓰기 요금으로 청구됨 |371| `cache_creation_input_tokens` | 이번 턴에 캐시에 기록된 토큰, 캐시 쓰기 요금으로 청구됨 |

372| `cache_read_input_tokens` | 이번 턴에 캐시에서 제공된 토큰, 모델의 [캐시된 토큰 요금](https://platform.claude.com/docs/en/about-claude/pricing)으로 청구되며, 표준 입력 요금보다 낮음 |372| `cache_read_input_tokens` | 이번 턴에 캐시에서 제공된 토큰, 모델의 [캐시된 토큰 요금](https://platform.claude.com/docs/en/about-claude/pricing)으로 청구되며, 표준 입력 요금보다 낮음 |

373 373 


403특정 모델이나 공급자와의 caching 동작을 디버깅할 때 caching을 비활성화하는 것이 유용할 수 있습니다. 이를 끄려면 다음 환경 변수 중 하나를 `1`로 설정합니다:403특정 모델이나 공급자와의 caching 동작을 디버깅할 때 caching을 비활성화하는 것이 유용할 수 있습니다. 이를 끄려면 다음 환경 변수 중 하나를 `1`로 설정합니다:

404 404 

405| 변수 | 효과 |405| 변수 | 효과 |

406| ------------------------------- | -------------- |406| - | - |

407| `DISABLE_PROMPT_CACHING` | 모든 모델에 대해 비활성화 |407| `DISABLE_PROMPT_CACHING` | 모든 모델에 대해 비활성화 |

408| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku만 비활성화 |408| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku만 비활성화 |

409| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet만 비활성화 |409| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet만 비활성화 |

quickstart.md +2 −2

Details

289**셸 명령**289**셸 명령**

290 290 

291| 명령 | 기능 | 예시 |291| 명령 | 기능 | 예시 |

292| ------------------- | ----------------------- | ----------------------------------- |292| - | - | - |

293| `claude` | 대화형 모드 시작 | `claude` |293| `claude` | 대화형 모드 시작 | `claude` |

294| `claude "task"` | 초기 프롬프트를 사용하여 대화형 모드 시작 | `claude "fix the build error"` |294| `claude "task"` | 초기 프롬프트를 사용하여 대화형 모드 시작 | `claude "fix the build error"` |

295| `claude -p "query"` | 일회성 쿼리 실행 후 종료 | `claude -p "explain this function"` |295| `claude -p "query"` | 일회성 쿼리 실행 후 종료 | `claude -p "explain this function"` |


299**세션 명령**299**세션 명령**

300 300 

301| 명령 | 기능 | 예시 |301| 명령 | 기능 | 예시 |

302| --------------------- | -------------- | -------- |302| - | - | - |

303| `/clear` | 대화 기록 지우기 | `/clear` |303| `/clear` | 대화 기록 지우기 | `/clear` |

304| `/help` | 사용 가능한 명령 표시 | `/help` |304| `/help` | 사용 가능한 명령 표시 | `/help` |

305| `/exit` 또는 Ctrl+D 두 번 | Claude Code 종료 | `/exit` |305| `/exit` 또는 Ctrl+D 두 번 | Claude Code 종료 | `/exit` |

Details

59 사용 가능한 플래그:59 사용 가능한 플래그:

60 60 

61 | 플래그 | 설명 |61 | 플래그 | 설명 |

62 | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |62 | - | - |

63 | `--name "My Project"` | claude.ai/code의 세션 목록에 표시되는 사용자 정의 세션 제목을 설정합니다. |63 | `--name "My Project"` | claude.ai/code의 세션 목록에 표시되는 사용자 정의 세션 제목을 설정합니다. |

64 | `--remote-control-session-name-prefix <prefix>` | 명시적 이름이 설정되지 않았을 때 자동 생성된 세션 이름의 접두사입니다. 기본값은 컴퓨터의 호스트 이름이며, `myhost-graceful-unicorn`과 같은 이름을 생성합니다. 동일한 효과를 위해 `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX`를 설정하세요. |64 | `--remote-control-session-name-prefix <prefix>` | 명시적 이름이 설정되지 않았을 때 자동 생성된 세션 이름의 접두사입니다. 기본값은 컴퓨터의 호스트 이름이며, `myhost-graceful-unicorn`과 같은 이름을 생성합니다. 동일한 효과를 위해 `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX`를 설정하세요. |

65 | `-c`, `--continue` | 이 디렉토리에서 마지막 서버가 시작한 세션을 다시 가져오며, 새로운 세션을 만드는 대신 사용합니다. [서버를 중지한 후 세션 재개](#resume-sessions-after-stopping-the-server)를 참조하세요. `--session-id`, `--spawn`, `--capacity` 또는 `--create-session-in-dir`과 함께 사용할 수 없습니다. Claude Code v2.1.200 이상이 필요하며, 이전 버전은 이 플래그를 알 수 없는 인수로 거부합니다. |65 | `-c`, `--continue` | 이 디렉토리에서 마지막 서버가 시작한 세션을 다시 가져오며, 새로운 세션을 만드는 대신 사용합니다. [서버를 중지한 후 세션 재개](#resume-sessions-after-stopping-the-server)를 참조하세요. `--session-id`, `--spawn`, `--capacity` 또는 `--create-session-in-dir`과 함께 사용할 수 없습니다. Claude Code v2.1.200 이상이 필요하며, 이전 버전은 이 플래그를 알 수 없는 인수로 거부합니다. |


520Claude Code는 터미널에 있지 않을 때 작업할 수 있는 여러 방법을 제공합니다. 이들은 작업을 트리거하는 것, Claude가 실행되는 위치, 그리고 설정해야 할 양이 다릅니다.520Claude Code는 터미널에 있지 않을 때 작업할 수 있는 여러 방법을 제공합니다. 이들은 작업을 트리거하는 것, Claude가 실행되는 위치, 그리고 설정해야 할 양이 다릅니다.

521 521 

522| | 트리거 | Claude 실행 위치 | 설정 | 최적 용도 |522| | 트리거 | Claude 실행 위치 | 설정 | 최적 용도 |

523| :------------------------------------------------------- | :--------------------------------------------------------------------- | :------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------- | :----------------------------- |523| :- | :- | :- | :- | :- |

524| [Dispatch](/docs/ko/desktop#sessions-from-dispatch) | Claude 모바일 앱에서 작업 메시지 전송 | 사용자 머신 (Desktop) | [모바일 앱을 Desktop과 페어링](https://support.claude.com/en/articles/13947068) | 외출 중 작업 위임, 최소 설정 |524| [Dispatch](/docs/ko/desktop#sessions-from-dispatch) | Claude 모바일 앱에서 작업 메시지 전송 | 사용자 머신 (Desktop) | [모바일 앱을 Desktop과 페어링](https://support.claude.com/en/articles/13947068) | 외출 중 작업 위임, 최소 설정 |

525| [Remote Control](/docs/ko/remote-control) | [claude.ai/code](https://claude.ai/code) 또는 Claude 모바일 앱에서 실행 중인 세션 제어 | 사용자 머신 (CLI 또는 VS Code) | `claude remote-control` 실행 | 다른 기기에서 진행 중인 작업 조종 |525| [Remote Control](/docs/ko/remote-control) | [claude.ai/code](https://claude.ai/code) 또는 Claude 모바일 앱에서 실행 중인 세션 제어 | 사용자 머신 (CLI 또는 VS Code) | `claude remote-control` 실행 | 다른 기기에서 진행 중인 작업 조종 |

526| [Channels](/docs/ko/channels) | Telegram 또는 Discord와 같은 채팅 앱이나 자체 서버에서 이벤트 푸시 | 사용자 머신 (CLI) | [채널 플러그인 설치](/docs/ko/channels#quickstart) 또는 [직접 구축](/docs/ko/channels-reference) | CI 실패 또는 채팅 메시지와 같은 외부 이벤트에 반응 |526| [Channels](/docs/ko/channels) | Telegram 또는 Discord와 같은 채팅 앱이나 자체 서버에서 이벤트 푸시 | 사용자 머신 (CLI) | [채널 플러그인 설치](/docs/ko/channels#quickstart) 또는 [직접 구축](/docs/ko/channels-reference) | CI 실패 또는 채팅 메시지와 같은 외부 이벤트에 반응 |

routines.md +2 −2

Details

288GitHub 트리거는 다음 이벤트 범주 중 하나를 구독할 수 있습니다. 각 범주 내에서 `pull_request.opened`와 같은 특정 작업을 선택하거나 범주의 모든 작업에 반응할 수 있습니다.288GitHub 트리거는 다음 이벤트 범주 중 하나를 구독할 수 있습니다. 각 범주 내에서 `pull_request.opened`와 같은 특정 작업을 선택하거나 범주의 모든 작업에 반응할 수 있습니다.

289 289 

290| 이벤트 | 트리거 시점 |290| 이벤트 | 트리거 시점 |

291| :--- | :------------------------------------------------------- |291| :- | :- |

292| 풀 요청 | PR이 열리거나, 닫히거나, 할당되거나, 레이블이 지정되거나, 동기화되거나, 기타 방식으로 업데이트됨 |292| 풀 요청 | PR이 열리거나, 닫히거나, 할당되거나, 레이블이 지정되거나, 동기화되거나, 기타 방식으로 업데이트됨 |

293| 릴리스 | 릴리스가 생성되거나, 게시되거나, 편집되거나, 삭제됨 |293| 릴리스 | 릴리스가 생성되거나, 게시되거나, 편집되거나, 삭제됨 |

294 294 


299필터를 사용하여 새 세션을 시작하는 풀 요청을 좁히세요. 루틴이 트리거되려면 모든 필터 조건이 일치해야 합니다. 사용 가능한 필터 필드는 다음과 같습니다.299필터를 사용하여 새 세션을 시작하는 풀 요청을 좁히세요. 루틴이 트리거되려면 모든 필터 조건이 일치해야 합니다. 사용 가능한 필터 필드는 다음과 같습니다.

300 300 

301| 필터 | 일치 |301| 필터 | 일치 |

302| :----- | :------------------ |302| :- | :- |

303| 작성자 | PR 작성자의 GitHub 사용자명 |303| 작성자 | PR 작성자의 GitHub 사용자명 |

304| 제목 | PR 제목 텍스트 |304| 제목 | PR 제목 텍스트 |

305| 본문 | PR 설명 텍스트 |305| 본문 | PR 설명 텍스트 |

Details

21아래 표의 처음 두 가지 방식은 컨테이너 없이 호스트 운영 체제에서 실행됩니다. 나머지는 Claude Code를 컨테이너 또는 가상 머신 내에 배치합니다.21아래 표의 처음 두 가지 방식은 컨테이너 없이 호스트 운영 체제에서 실행됩니다. 나머지는 Claude Code를 컨테이너 또는 가상 머신 내에 배치합니다.

22 22 

23| 방식 | 격리되는 항목 | Docker 필요 | 설정 노력 |23| 방식 | 격리되는 항목 | Docker 필요 | 설정 노력 |

24| :----------------------------------- | :--------------------------------------- | :-------- | :------------------------------------------------------------- |24| :- | :- | :- | :- |

25| [샌드박스 Bash 도구](#sandboxed-bash-tool) | Bash, PowerShell, Monitor 명령 및 자식 프로세스 | 아니오 | macOS에서 최소; Linux 및 WSL2에서 낮음 |25| [샌드박스 Bash 도구](#sandboxed-bash-tool) | Bash, PowerShell, Monitor 명령 및 자식 프로세스 | 아니오 | macOS에서 최소; Linux 및 WSL2에서 낮음 |

26| [샌드박스 런타임](#sandbox-runtime) | 전체 Claude Code 프로세스(파일 도구, MCP 서버, 훅 포함) | 아니오 | 낮음 |26| [샌드박스 런타임](#sandbox-runtime) | 전체 Claude Code 프로세스(파일 도구, MCP 서버, 훅 포함) | 아니오 | 낮음 |

27| [개발 컨테이너](#dev-containers) | 전체 개발 환경 | 예 | 중간 |27| [개발 컨테이너](#dev-containers) | 전체 개발 환경 | 예 | 중간 |


44아래 행과 목표를 일치시킨 다음 뒤따르는 세부 정보 섹션을 읽으세요.44아래 행과 목표를 일치시킨 다음 뒤따르는 세부 정보 섹션을 읽으세요.

45 45 

46| 원하는 작업 | 시작 위치 |46| 원하는 작업 | 시작 위치 |

47| :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------- |47| :- | :- |

48| 자신의 머신에서 일상 작업 중 권한 프롬프트 감소 | [샌드박스 Bash 도구](/docs/ko/sandboxing), `/sandbox`로 구성 |48| 자신의 머신에서 일상 작업 중 권한 프롬프트 감소 | [샌드박스 Bash 도구](/docs/ko/sandboxing), `/sandbox`로 구성 |

49| Claude가 `--dangerously-skip-permissions` 또는 자동 모드로 무인 작동 | 사전 구성된 [개발 컨테이너](/docs/ko/devcontainer), 모든 컨테이너 또는 VM, 또는 [샌드박스 런타임](#sandbox-runtime) |49| Claude가 `--dangerously-skip-permissions` 또는 자동 모드로 무인 작동 | 사전 구성된 [개발 컨테이너](/docs/ko/devcontainer), 모든 컨테이너 또는 VM, 또는 [샌드박스 런타임](#sandbox-runtime) |

50| Docker 없이 MCP 서버 및 훅과 Bash 격리 | 샌드박스 런타임 |50| Docker 없이 MCP 서버 및 훅과 Bash 격리 | 샌드박스 런타임 |

sandboxing.md +7 −7

Details

213경로 접두사는 경로가 해석되는 방식을 제어합니다:213경로 접두사는 경로가 해석되는 방식을 제어합니다:

214 214 

215| 접두사 | 의미 | 예시 |215| 접두사 | 의미 | 예시 |

216| :------------- | :------------------------------------------------------- | :------------------------------------------------------------------- |216| :- | :- | :- |

217| `/` | 파일시스템 루트의 절대 경로 | `/tmp/build`는 `/tmp/build`로 유지됩니다 |217| `/` | 파일시스템 루트의 절대 경로 | `/tmp/build`는 `/tmp/build`로 유지됩니다 |

218| `~/` | 홈 디렉토리에 상대적 | `~/.kube`는 `$HOME/.kube`가 됩니다 |218| `~/` | 홈 디렉토리에 상대적 | `~/.kube`는 `$HOME/.kube`가 됩니다 |

219| `./` 또는 접두사 없음 | 프로젝트 설정의 경우 프로젝트 루트에 상대적이거나, 사용자 설정의 경우 `~/.claude`에 상대적 | `.claude/settings.json`의 `./output`은 `<project-root>/output`으로 해석됩니다 |219| `./` 또는 접두사 없음 | 프로젝트 설정의 경우 프로젝트 루트에 상대적이거나, 사용자 설정의 경우 `~/.claude`에 상대적 | `.claude/settings.json`의 `./output`은 `<project-root>/output`으로 해석됩니다 |


223`sandbox.filesystem.denyWrite` 및 `sandbox.filesystem.denyRead`를 사용하여 쓰기 또는 읽기 액세스를 거부할 수도 있으며, `sandbox.filesystem.allowRead`를 사용하여 거부된 영역 내에서 특정 경로 읽기를 다시 허용할 수 있습니다. 읽기 규칙이 겹칠 때 더 구체적인 경로가 우선합니다:223`sandbox.filesystem.denyWrite` 및 `sandbox.filesystem.denyRead`를 사용하여 쓰기 또는 읽기 액세스를 거부할 수도 있으며, `sandbox.filesystem.allowRead`를 사용하여 거부된 영역 내에서 특정 경로 읽기를 다시 허용할 수 있습니다. 읽기 규칙이 겹칠 때 더 구체적인 경로가 우선합니다:

224 224 

225| 예시 규칙 | 결과 |225| 예시 규칙 | 결과 |

226| :-------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------- |226| :- | :- |

227| `"denyRead": ["~/"]`와 `"allowRead": ["~/projects"]` | `~/projects`는 읽을 수 있으며 홈 디렉토리의 나머지는 차단된 상태로 유지됩니다. 더 좁은 허용이 거부된 영역의 해당 부분을 다시 엽니다 |227| `"denyRead": ["~/"]`와 `"allowRead": ["~/projects"]` | `~/projects`는 읽을 수 있으며 홈 디렉토리의 나머지는 차단된 상태로 유지됩니다. 더 좁은 허용이 거부된 영역의 해당 부분을 다시 엽니다 |

228| `"allowRead": ["~/"]`와 `"denyRead": ["~/.env"]` | `~/.env`는 차단된 상태로 유지되며 홈 디렉토리의 나머지는 읽을 수 있습니다. 거부는 더 넓은 허용 내에서 유지되므로 광범위한 허용이 비밀을 자동으로 다시 노출할 수 없습니다 |228| `"allowRead": ["~/"]`와 `"denyRead": ["~/.env"]` | `~/.env`는 차단된 상태로 유지되며 홈 디렉토리의 나머지는 읽을 수 있습니다. 거부는 더 넓은 허용 내에서 유지되므로 광범위한 허용이 비밀을 자동으로 다시 노출할 수 없습니다 |

229| `"allowRead": ["~/"]`와 `"denyRead": ["~/**/.env"]` | 홈 디렉토리 아래의 모든 `.env`는 차단된 상태로 유지되며 나머지는 읽을 수 있습니다. [와일드카드 거부](/docs/ko/settings-reference#sandbox-path-prefixes)는 더 넓은 허용 내에서 정확한 경로와 동일한 방식으로 유지됩니다 |229| `"allowRead": ["~/"]`와 `"denyRead": ["~/**/.env"]` | 홈 디렉토리 아래의 모든 `.env`는 차단된 상태로 유지되며 나머지는 읽을 수 있습니다. [와일드카드 거부](/docs/ko/settings-reference#sandbox-path-prefixes)는 더 넓은 허용 내에서 정확한 경로와 동일한 방식으로 유지됩니다 |


287관리 `credentials.files` 항목이 `filesystem.disabled`를 고정하여 개발자가 파일시스템 격리를 끌 수 없도록 잠그는지 여부는 항목의 `mode`와 샌드박스가 시작될 때 항목에 어떤 일이 발생하는지에 따라 달라집니다:287관리 `credentials.files` 항목이 `filesystem.disabled`를 고정하여 개발자가 파일시스템 격리를 끌 수 없도록 잠그는지 여부는 항목의 `mode`와 샌드박스가 시작될 때 항목에 어떤 일이 발생하는지에 따라 달라집니다:

288 288 

289| 관리 항목 | `filesystem.disabled` 고정 | 격리가 꺼져 있을 때 파일을 보호하는 것 |289| 관리 항목 | `filesystem.disabled` 고정 | 격리가 꺼져 있을 때 파일을 보호하는 것 |

290| ---------------------------------------------------------------------------------------------- | ------------------------ | ---------------------------------------------------------------------------------- |290| - | - | - |

291| `"mode": "deny"` | 예 | 없음: 읽기 블록은 파일시스템 계층의 일부입니다 |291| `"mode": "deny"` | 예 | 없음: 읽기 블록은 파일시스템 계층의 일부입니다 |

292| `"mode": "mask"`, 마스크로 적용됨 | 아니요 | 마스킹 자체: Linux 및 WSL2의 [센티널 복사 및 프록시](#mask-credential-files), macOS의 샌드박스 자체 읽기 규칙 |292| `"mode": "mask"`, 마스크로 적용됨 | 아니요 | 마스킹 자체: Linux 및 WSL2의 [센티널 복사 및 프록시](#mask-credential-files), macOS의 샌드박스 자체 읽기 규칙 |

293| `"mode": "mask"`, [설정 시 `deny`로 폴백됨](#mask-credential-files) | 아니요 | 없음, `deny`와 동일합니다. 디렉토리와 같이 마스킹할 수 없는 경로를 명시적 `deny` 항목으로 나열합니다. 이는 키를 고정합니다 |293| `"mode": "mask"`, [설정 시 `deny`로 폴백됨](#mask-credential-files) | 아니요 | 없음, `deny`와 동일합니다. 디렉토리와 같이 마스킹할 수 없는 경로를 명시적 `deny` 항목으로 나열합니다. 이는 키를 고정합니다 |


302`filesystem.disabled`를 설정하면 파일시스템 계층 자체가 적용하는 보호가 해제됩니다. 다른 계층이 적용하는 보호는 계속 적용됩니다:302`filesystem.disabled`를 설정하면 파일시스템 계층 자체가 적용하는 보호가 해제됩니다. 다른 계층이 적용하는 보호는 계속 적용됩니다:

303 303 

304| 보호 | 파일시스템 격리가 꺼져 있을 때 |304| 보호 | 파일시스템 격리가 꺼져 있을 때 |

305| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |305| - | - |

306| `filesystem.denyRead` 및 [`credentials.files`](#protect-credentials) `deny` 읽기 블록 | 적용되지 않음. 파일시스템 계층이 둘 다 적용합니다 |306| `filesystem.denyRead` 및 [`credentials.files`](#protect-credentials) `deny` 읽기 블록 | 적용되지 않음. 파일시스템 계층이 둘 다 적용합니다 |

307| `credentials.envVars` `deny` 및 `mask` 항목 | 적용됨. 환경 변수 스크러빙은 파일시스템 계층과 독립적입니다 |307| `credentials.envVars` `deny` 및 `mask` 항목 | 적용됨. 환경 변수 스크러빙은 파일시스템 계층과 독립적입니다 |

308| [`credentials.files` `mask` 항목](#mask-credential-files) 마스크로 적용됨 | 적용됨: 마스킹은 파일시스템 계층과 독립적입니다. [폴백된](#mask-credential-files) 항목은 모든 `deny` 항목처럼 적용되지 않습니다 |308| [`credentials.files` `mask` 항목](#mask-credential-files) 마스크로 적용됨 | 적용됨: 마스킹은 파일시스템 계층과 독립적입니다. [폴백된](#mask-credential-files) 항목은 모든 `deny` 항목처럼 적용되지 않습니다 |


459세 가지 AWS 요청 형식은 프록시가 다시 계산할 수 없는 서명을 전달합니다. 이러한 요청이 마스킹된 페어의 플레이스홀더로 서명되면 프록시는 손상된 서명을 전달하는 대신 실패합니다. 마스킹되지 않은 자격증명으로 서명된 요청은 절대 영향을 받지 않습니다. [`credentials.sigv4`](/docs/ko/settings-reference#sandbox-credentials-sigv4) 설정은 Claude Code v2.1.224 이상이 필요하며 형식당 이를 완화합니다: 형식의 키를 `passthrough`로 설정하면 플레이스홀더 파생 서명으로 요청을 전달하므로 호출 도구는 프록시 오류 대신 AWS 자체의 거부 응답을 받습니다. `awsPairs`와 마찬가지로 `sigv4`는 사용자 설정, 관리 설정 및 `--settings` CLI 플래그에서만 인정됩니다.459세 가지 AWS 요청 형식은 프록시가 다시 계산할 수 없는 서명을 전달합니다. 이러한 요청이 마스킹된 페어의 플레이스홀더로 서명되면 프록시는 손상된 서명을 전달하는 대신 실패합니다. 마스킹되지 않은 자격증명으로 서명된 요청은 절대 영향을 받지 않습니다. [`credentials.sigv4`](/docs/ko/settings-reference#sandbox-credentials-sigv4) 설정은 Claude Code v2.1.224 이상이 필요하며 형식당 이를 완화합니다: 형식의 키를 `passthrough`로 설정하면 플레이스홀더 파생 서명으로 요청을 전달하므로 호출 도구는 프록시 오류 대신 AWS 자체의 거부 응답을 받습니다. `awsPairs`와 마찬가지로 `sigv4`는 사용자 설정, 관리 설정 및 `--settings` CLI 플래그에서만 인정됩니다.

460 460 

461| 요청 형식 | `sigv4` 키 | 프록시가 다시 서명할 수 없는 이유 |461| 요청 형식 | `sigv4` 키 | 프록시가 다시 서명할 수 없는 이유 |

462| :------------------- | :---------- | :--------------------------------------------- |462| :- | :- | :- |

463| aws-chunked 스트리밍 업로드 | `streaming` | 청크별 서명이 시드 서명에서 체인되므로 다시 서명하려면 본문을 다시 작성해야 합니다 |463| aws-chunked 스트리밍 업로드 | `streaming` | 청크별 서명이 시드 서명에서 체인되므로 다시 서명하려면 본문을 다시 작성해야 합니다 |

464| 사전 서명된 URL | `presigned` | 서명은 `Authorization` 헤더 없이 URL 자체에 있습니다 |464| 사전 서명된 URL | `presigned` | 서명은 `Authorization` 헤더 없이 URL 자체에 있습니다 |

465| SigV4A 비대칭 서명 | `sigv4a` | 다시 계산할 공유 키 HMAC이 없습니다 |465| SigV4A 비대칭 서명 | `sigv4a` | 다시 계산할 공유 키 HMAC이 없습니다 |


637파일 시스템 및 네트워크 제한은 샌드박스 설정과 권한 규칙을 통해 모두 구성됩니다:637파일 시스템 및 네트워크 제한은 샌드박스 설정과 권한 규칙을 통해 모두 구성됩니다:

638 638 

639| 설정 또는 규칙 | 수행하는 작업 |639| 설정 또는 규칙 | 수행하는 작업 |

640| :------------------------------------------------------------- | :-------------------------------------------------------------- |640| :- | :- |

641| `sandbox.filesystem.allowWrite` | 작업 디렉토리 외부의 경로에 대한 부프로세스 쓰기 액세스 권한 부여 |641| `sandbox.filesystem.allowWrite` | 작업 디렉토리 외부의 경로에 대한 부프로세스 쓰기 액세스 권한 부여 |

642| `sandbox.filesystem.denyWrite` 및 `sandbox.filesystem.denyRead` | 특정 경로에 대한 부프로세스 액세스 차단 |642| `sandbox.filesystem.denyWrite` 및 `sandbox.filesystem.denyRead` | 특정 경로에 대한 부프로세스 액세스 차단 |

643| `sandbox.filesystem.allowRead` | `denyRead` 영역 내에서 특정 경로 읽기를 다시 허용 |643| `sandbox.filesystem.allowRead` | `denyRead` 영역 내에서 특정 경로 읽기를 다시 허용 |


659`/sandbox`는 [권한 모드](/docs/ko/permission-modes)가 아닙니다. 권한 모드는 도구 호출이 실행되는지 여부와 먼저 프롬프트를 받는지 여부를 결정하는 반면, 샌드박스는 Bash 명령이 실행되면 접근할 수 있는 것을 제한합니다. 이들은 제어하는 것과 작업별 프롬프트를 대체하는 것이 다릅니다:659`/sandbox`는 [권한 모드](/docs/ko/permission-modes)가 아닙니다. 권한 모드는 도구 호출이 실행되는지 여부와 먼저 프롬프트를 받는지 여부를 결정하는 반면, 샌드박스는 Bash 명령이 실행되면 접근할 수 있는 것을 제한합니다. 이들은 제어하는 것과 작업별 프롬프트를 대체하는 것이 다릅니다:

660 660 

661| | 제어하는 것 | 프롬프트를 대체하는 것 |661| | 제어하는 것 | 프롬프트를 대체하는 것 |

662| :------------------------------------------------------------- | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------- |662| :- | :- | :- |

663| `/sandbox` | Bash 명령이 실행되면 접근할 수 있는 것 | [자동 허용 모드](#sandbox-modes)의 샌드박스 경계 자체 |663| `/sandbox` | Bash 명령이 실행되면 접근할 수 있는 것 | [자동 허용 모드](#sandbox-modes)의 샌드박스 경계 자체 |

664| [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) | 각 도구 호출이 실행되는지 여부 | 작업을 검토하는 분류기 |664| [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) | 각 도구 호출이 실행되는지 여부 | 작업을 검토하는 분류기 |

665| `--dangerously-skip-permissions` | 각 도구 호출이 실행되는지 여부 | 없음. [보호된 경로](/docs/ko/permission-modes#protected-paths) 검사도 건너뜀; [어떤 모드도 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)은 여전히 적용됨 |665| `--dangerously-skip-permissions` | 각 도구 호출이 실행되는지 여부 | 없음. [보호된 경로](/docs/ko/permission-modes#protected-paths) 검사도 건너뜀; [어떤 모드도 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)은 여전히 적용됨 |

Details

17Claude Code는 반복되는 작업이나 일회성 작업을 예약하는 세 가지 방법을 제공합니다:17Claude Code는 반복되는 작업이나 일회성 작업을 예약하는 세 가지 방법을 제공합니다:

18 18 

19| | [Cloud](/docs/ko/routines) | [Desktop](/docs/ko/desktop-scheduled-tasks) | [`/loop`](/docs/ko/scheduled-tasks) |19| | [Cloud](/docs/ko/routines) | [Desktop](/docs/ko/desktop-scheduled-tasks) | [`/loop`](/docs/ko/scheduled-tasks) |

20| :------------ | :---------------------- | :------------------------------------- | :-------------------------------------------------------- |20| :- | :- | :- | :- |

21| 실행 위치 | Cloud, Anthropic 관리 기본값 | 사용자 머신 | 사용자 머신 |21| 실행 위치 | Cloud, Anthropic 관리 기본값 | 사용자 머신 | 사용자 머신 |

22| 머신 켜짐 필요 | 아니오 | 예 | 예 |22| 머신 켜짐 필요 | 아니오 | 예 | 예 |

23| 열린 세션 필요 | 아니오 | 아니오 | 예 |23| 열린 세션 필요 | 아니오 | 아니오 | 예 |


39`/loop` [번들 스킬](/docs/ko/commands)은 세션이 열려 있는 동안 프롬프트를 반복 실행하는 가장 빠른 방법입니다. 간격과 프롬프트는 모두 선택 사항이며, 제공하는 내용에 따라 루프의 동작이 결정됩니다.39`/loop` [번들 스킬](/docs/ko/commands)은 세션이 열려 있는 동안 프롬프트를 반복 실행하는 가장 빠른 방법입니다. 간격과 프롬프트는 모두 선택 사항이며, 제공하는 내용에 따라 루프의 동작이 결정됩니다.

40 40 

41| 제공하는 내용 | 예시 | 동작 |41| 제공하는 내용 | 예시 | 동작 |

42| :------------- | :-------------------------- | :------------------------------------------------------------------------------------ |42| :- | :- | :- |

43| 간격과 프롬프트 | `/loop 5m check the deploy` | 프롬프트가 [고정 스케줄](#run-on-a-fixed-interval)에서 실행됩니다 |43| 간격과 프롬프트 | `/loop 5m check the deploy` | 프롬프트가 [고정 스케줄](#run-on-a-fixed-interval)에서 실행됩니다 |

44| 프롬프트만 | `/loop check the deploy` | 프롬프트가 각 반복에서 [Claude가 선택한 간격](#let-claude-choose-the-interval)으로 실행됩니다 |44| 프롬프트만 | `/loop check the deploy` | 프롬프트가 각 반복에서 [Claude가 선택한 간격](#let-claude-choose-the-interval)으로 실행됩니다 |

45| 간격만 또는 아무것도 없음 | `/loop` | [내장 유지보수 프롬프트](#run-the-built-in-maintenance-prompt)가 실행되거나, 존재하는 경우 `loop.md`가 실행됩니다 |45| 간격만 또는 아무것도 없음 | `/loop` | [내장 유지보수 프롬프트](#run-the-built-in-maintenance-prompt)가 실행되거나, 존재하는 경우 `loop.md`가 실행됩니다 |


114Claude는 두 위치에서 파일을 찾고 먼저 찾은 것을 사용합니다.114Claude는 두 위치에서 파일을 찾고 먼저 찾은 것을 사용합니다.

115 115 

116| 경로 | 범위 |116| 경로 | 범위 |

117| :------------------ | :-------------------------------------- |117| :- | :- |

118| `.claude/loop.md` | 프로젝트 수준. 두 파일이 모두 존재할 때 우선순위를 가집니다. |118| `.claude/loop.md` | 프로젝트 수준. 두 파일이 모두 존재할 때 우선순위를 가집니다. |

119| `~/.claude/loop.md` | 사용자 수준. 자신의 파일을 정의하지 않는 모든 프로젝트에 적용됩니다. |119| `~/.claude/loop.md` | 사용자 수준. 자신의 파일을 정의하지 않는 모든 프로젝트에 적용됩니다. |

120 120 


172내부적으로 Claude는 다음 도구를 사용합니다.172내부적으로 Claude는 다음 도구를 사용합니다.

173 173 

174| 도구 | 목적 |174| 도구 | 목적 |

175| :----------- | :--------------------------------------------------------------- |175| :- | :- |

176| `CronCreate` | 새 작업을 스케줄합니다. 5필드 cron 표현식, 실행할 프롬프트, 반복 여부 또는 일회성 실행 여부를 허용합니다. |176| `CronCreate` | 새 작업을 스케줄합니다. 5필드 cron 표현식, 실행할 프롬프트, 반복 여부 또는 일회성 실행 여부를 허용합니다. |

177| `CronList` | ID, 스케줄, 프롬프트와 함께 모든 스케줄된 작업을 나열합니다. |177| `CronList` | ID, 스케줄, 프롬프트와 함께 모든 스케줄된 작업을 나열합니다. |

178| `CronDelete` | ID로 작업을 취소합니다. |178| `CronDelete` | ID로 작업을 취소합니다. |


211`CronCreate`는 표준 5필드 cron 표현식을 허용합니다: `minute hour day-of-month month day-of-week`. 모든 필드는 와일드카드(`*`), 단일 값(`5`), 단계(`*/15`), 범위(`1-5`), 쉼표로 구분된 목록(`1,15,30`)을 지원합니다.211`CronCreate`는 표준 5필드 cron 표현식을 허용합니다: `minute hour day-of-month month day-of-week`. 모든 필드는 와일드카드(`*`), 단일 값(`5`), 단계(`*/15`), 범위(`1-5`), 쉼표로 구분된 목록(`1,15,30`)을 지원합니다.

212 212 

213| 예시 | 의미 |213| 예시 | 의미 |

214| :------------- | :---------------------- |214| :- | :- |

215| `*/5 * * * *` | 5분마다 |215| `*/5 * * * *` | 5분마다 |

216| `0 * * * *` | 매시간 정각 |216| `0 * * * *` | 매시간 정각 |

217| `7 * * * *` | 매시간 7분 |217| `7 * * * *` | 매시간 7분 |

Details

165```165```

166 166 

167| 필드 | 유형 | 설명 |167| 필드 | 유형 | 설명 |

168| :-------------- | :-- | :----------------------------------------------------------------------------------- |168| :- | :- | :- |

169| `rule_name` | 문자열 | 경고에 표시되는 식별자 |169| `rule_name` | 문자열 | 경고에 표시되는 식별자 |

170| `reminder` | 문자열 | Claude의 컨텍스트에 추가되는 경고 텍스트, 1 KB로 제한됨 |170| `reminder` | 문자열 | Claude의 컨텍스트에 추가되는 경고 텍스트, 1 KB로 제한됨 |

171| `regex` | 문자열 | 편집된 콘텐츠와 일치하는 Python 정규식 |171| `regex` | 문자열 | 편집된 콘텐츠와 일치하는 Python 정규식 |


182플러그인은 플러그인이 활성화된 방식과 관계없이 동일한 위치에서 `claude-security-guidance.md` 및 `security-patterns.yaml`을 찾습니다:182플러그인은 플러그인이 활성화된 방식과 관계없이 동일한 위치에서 `claude-security-guidance.md` 및 `security-patterns.yaml`을 찾습니다:

183 183 

184| 범위 | 경로 | 참고 |184| 범위 | 경로 | 참고 |

185| :------ | :------------------------------------------ | :---------------------------- |185| :- | :- | :- |

186| 사용자 | `~/.claude/claude-security-guidance.md` | 머신의 모든 프로젝트에 적용됩니다. |186| 사용자 | `~/.claude/claude-security-guidance.md` | 머신의 모든 프로젝트에 적용됩니다. |

187| 프로젝트 | `.claude/claude-security-guidance.md` | 저장소와 함께 체크인됨 |187| 프로젝트 | `.claude/claude-security-guidance.md` | 저장소와 함께 체크인됨 |

188| 프로젝트 로컬 | `.claude/claude-security-guidance.local.md` | 개인 재정의용; `.gitignore`에 추가합니다. |188| 프로젝트 로컬 | `.claude/claude-security-guidance.local.md` | 개인 재정의용; `.gitignore`에 추가합니다. |


206나머지를 유지하면서 개별 계층을 끄려면 일치하는 환경 변수를 설정합니다:206나머지를 유지하면서 개별 계층을 끄려면 일치하는 환경 변수를 설정합니다:

207 207 

208| 변수 | 효과 |208| 변수 | 효과 |

209| :------------------------------ | :------------------------------------------------------ |209| :- | :- |

210| `ENABLE_PATTERN_RULES=0` | [편집당 패턴 확인](#on-each-file-edit) 비활성화 |210| `ENABLE_PATTERN_RULES=0` | [편집당 패턴 확인](#on-each-file-edit) 비활성화 |

211| `ENABLE_STOP_REVIEW=0` | [턴 끝 diff 검토](#at-the-end-of-each-turn) 비활성화 |211| `ENABLE_STOP_REVIEW=0` | [턴 끝 diff 검토](#at-the-end-of-each-turn) 비활성화 |

212| `ENABLE_COMMIT_REVIEW=0` | [커밋 및 푸시 검토](#on-each-commit-or-push-claude-makes) 비활성화 |212| `ENABLE_COMMIT_REVIEW=0` | [커밋 및 푸시 검토](#on-each-commit-or-push-claude-makes) 비활성화 |


234플러그인은 전적으로 [훅](/docs/ko/hooks)에 구축되어 있으며, 이는 Claude의 루프의 특정 지점에서 자신의 코드를 실행하는 메커니즘입니다. 등록:234플러그인은 전적으로 [훅](/docs/ko/hooks)에 구축되어 있으며, 이는 Claude의 루프의 특정 지점에서 자신의 코드를 실행하는 메커니즘입니다. 등록:

235 235 

236| 훅 이벤트 | 목적 |236| 훅 이벤트 | 목적 |

237| :--------------------------------------------------------------- | :-------------------------- |237| :- | :- |

238| `SessionStart` | 플러그인의 Python 환경 부트스트랩 |238| `SessionStart` | 플러그인의 Python 환경 부트스트랩 |

239| `UserPromptSubmit` | 턴 끝 검토가 diff하는 작업 트리 기준선 캡처 |239| `UserPromptSubmit` | 턴 끝 검토가 diff하는 작업 트리 기준선 캡처 |

240| `PostToolUse` on `Edit`, `Write`, and `NotebookEdit` | 편집당 패턴 일치 |240| `PostToolUse` on `Edit`, `Write`, and `NotebookEdit` | 편집당 패턴 일치 |


250플러그인은 심층 방어 접근 방식의 한 계층입니다. 코드가 여전히 편집기에 있는 동안 가장 빨리 문제를 포착하지만 보장이 아니며 나중의 확인을 대체하지 않습니다. 일반적인 스택:250플러그인은 심층 방어 접근 방식의 한 계층입니다. 코드가 여전히 편집기에 있는 동안 가장 빨리 문제를 포착하지만 보장이 아니며 나중의 확인을 대체하지 않습니다. 일반적인 스택:

251 251 

252| 단계 | 도구 | 포함 내용 |252| 단계 | 도구 | 포함 내용 |

253| :---------- | :--------------------------------------------------- | :------------------------------------------------ |253| :- | :- | :- |

254| 세션 내 | Security guidance 플러그인 | Claude가 작성한 코드의 일반적인 취약점, 동일한 세션에서 수정됨 |254| 세션 내 | Security guidance 플러그인 | Claude가 작성한 코드의 일반적인 취약점, 동일한 세션에서 수정됨 |

255| 온디맨드, 단일 통과 | [`/security-review`](/docs/ko/commands#all-commands) | 현재 분기에 대한 일회성 보안 통과, 요청할 때 실행 |255| 온디맨드, 단일 통과 | [`/security-review`](/docs/ko/commands#all-commands) | 현재 분기에 대한 일회성 보안 통과, 요청할 때 실행 |

256| 온디맨드, 심층 스캔 | [Claude Security 플러그인](/docs/ko/claude-security) | 저장소 또는 diff의 다중 에이전트 취약점 스캔, 독립적으로 검토된 결과 및 패치 포함 |256| 온디맨드, 심층 스캔 | [Claude Security 플러그인](/docs/ko/claude-security) | 저장소 또는 diff의 다중 에이전트 취약점 스캔, 독립적으로 검토된 결과 및 패치 포함 |

Details

76이 용어들은 자체 호스팅 페이지 전체에 나타납니다:76이 용어들은 자체 호스팅 페이지 전체에 나타납니다:

77 77 

78| 용어 | 정의 |78| 용어 | 정의 |

79| :----- | :---------------------------------------------------------------------------------------------------------------------------- |79| :- | :- |

80| 환경 | claude.ai 설정에서 생성된 러너의 명명된 그룹입니다. 세션은 개별 러너가 아닌 환경으로 라우팅됩니다. |80| 환경 | claude.ai 설정에서 생성된 러너의 명명된 그룹입니다. 세션은 개별 러너가 아닌 환경으로 라우팅됩니다. |

81| 환경 시크릿 | 러너가 환경에 인증하고 등록하는 데 사용하는 단일 공유 자격 증명입니다. 환경 생성 시 한 번 표시되며, 관리 UI에서 **환경 키**로 표시됩니다. |81| 환경 시크릿 | 러너가 환경에 인증하고 등록하는 데 사용하는 단일 공유 자격 증명입니다. 환경 생성 시 한 번 표시되며, 관리 UI에서 **환경 키**로 표시됩니다. |

82| 러너 | 배포하는 장기 실행 프로세스입니다. 러너는 환경에 등록하고, 러너 토큰을 받고, 세션을 폴링합니다. |82| 러너 | 배포하는 장기 실행 프로세스입니다. 러너는 환경에 등록하고, 러너 토큰을 받고, 세션을 폴링합니다. |

Details

29러너는 래퍼의 환경에 다음을 설정합니다:29러너는 래퍼의 환경에 다음을 설정합니다:

30 30 

31| 변수 | 설명 |31| 변수 | 설명 |

32| :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |32| :- | :- |

33| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | 세션 JWT이며, `sk-ant-cc-` 접두사가 붙습니다. `act` 클레임은 세션 작성자를 식별하며, 작성 표면이 기록한 경우 작성자의 이메일과 업스트림 ID 공급자 주체를 포함합니다. 값은 생성 시점의 토큰입니다. 새로고침은 자식의 stdin을 통해 도착하므로 래퍼는 초기 값만 봅니다. [세션 ID 확인](/docs/ko/self-hosted-environments-identity)을 참조하세요. |33| `CLAUDE_CODE_SESSION_ACCESS_TOKEN` | 세션 JWT이며, `sk-ant-cc-` 접두사가 붙습니다. `act` 클레임은 세션 작성자를 식별하며, 작성 표면이 기록한 경우 작성자의 이메일과 업스트림 ID 공급자 주체를 포함합니다. 값은 생성 시점의 토큰입니다. 새로고침은 자식의 stdin을 통해 도착하므로 래퍼는 초기 값만 봅니다. [세션 ID 확인](/docs/ko/self-hosted-environments-identity)을 참조하세요. |

34| `CCR_SESSION_ACCOUNT_EMAIL` | 세션 작성자의 이메일이며, 서명 검증 없이 러너에 의해 토큰의 `act.email` 클레임에서 미리 추출됩니다. 커밋 트레일러와 같은 레이블 지정에 적합합니다. 이메일이 자격증명 발급을 제어할 때는 토큰을 확인하고 [세션 작성자로 범위가 지정된 자격증명 프로비저닝](#provision-credentials-scoped-to-the-session-creator)에 설명된 대로 클레임을 읽으세요. 토큰이 작성자 이메일을 전달하지 않으면 설정되지 않습니다. 개인 식별 정보로 취급하세요. |34| `CCR_SESSION_ACCOUNT_EMAIL` | 세션 작성자의 이메일이며, 서명 검증 없이 러너에 의해 토큰의 `act.email` 클레임에서 미리 추출됩니다. 커밋 트레일러와 같은 레이블 지정에 적합합니다. 이메일이 자격증명 발급을 제어할 때는 토큰을 확인하고 [세션 작성자로 범위가 지정된 자격증명 프로비저닝](#provision-credentials-scoped-to-the-session-creator)에 설명된 대로 클레임을 읽으세요. 토큰이 작성자 이메일을 전달하지 않으면 설정되지 않습니다. 개인 식별 정보로 취급하세요. |

35| `CLAUDE_RUNNER_CLIENT_PLATFORM` | 세션을 생성한 클라이언트 표면(예: `web_claude_ai`, `desktop_app`, `ios`, `claude_code_cli`, `scheduled_trigger`)입니다. Anthropic은 세션 생성 시 값을 한 번 기록하므로 래퍼와 모든 라이프사이클 훅이 동일한 값을 봅니다. 채택 분석 및 레이블 지정에만 사용하고 인증 신호로는 사용하지 마세요. 세션에 기록되거나 인식된 표면이 없으면 설정되지 않으므로 `set -u` 아래에서 `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}`로 참조하세요. Claude Code v2.1.229 이상이 필요합니다. |35| `CLAUDE_RUNNER_CLIENT_PLATFORM` | 세션을 생성한 클라이언트 표면(예: `web_claude_ai`, `desktop_app`, `ios`, `claude_code_cli`, `scheduled_trigger`)입니다. Anthropic은 세션 생성 시 값을 한 번 기록하므로 래퍼와 모든 라이프사이클 훅이 동일한 값을 봅니다. 채택 분석 및 레이블 지정에만 사용하고 인증 신호로는 사용하지 마세요. 세션에 기록되거나 인식된 표면이 없으면 설정되지 않으므로 `set -u` 아래에서 `${CLAUDE_RUNNER_CLIENT_PLATFORM:-}`로 참조하세요. Claude Code v2.1.229 이상이 필요합니다. |


98저장소당 한 번 실행되며, 러너의 기본 제공 복제 및 페치 대신 실행됩니다. 훅을 사용하여 읽기 전용 미러에서 복제하거나, 아카이브에서 작업 트리를 시드하거나, 세션별 git 인증을 적용하세요. 러너는 다음을 설정합니다:98저장소당 한 번 실행되며, 러너의 기본 제공 복제 및 페치 대신 실행됩니다. 훅을 사용하여 읽기 전용 미러에서 복제하거나, 아카이브에서 작업 트리를 시드하거나, 세션별 git 인증을 적용하세요. 러너는 다음을 설정합니다:

99 99 

100| 변수 | 설명 |100| 변수 | 설명 |

101| :--------------------------------- | :---------------------------------------------------------------------------------------------- |101| :- | :- |

102| `CLAUDE_RUNNER_REPO_URL` | 복제할 저장소 URL이며, `--git-host-rewrite` 및 `--git-ssh-rewrite`가 적용된 후입니다. |102| `CLAUDE_RUNNER_REPO_URL` | 복제할 저장소 URL이며, `--git-host-rewrite` 및 `--git-ssh-rewrite`가 적용된 후입니다. |

103| `CLAUDE_RUNNER_REPO_REF` | 체크아웃할 리비전: 세션이 요청한 대로 분기, 태그 또는 커밋 SHA입니다. 비어 있으면 저장소의 기본 분기를 의미합니다. |103| `CLAUDE_RUNNER_REPO_REF` | 체크아웃할 리비전: 세션이 요청한 대로 분기, 태그 또는 커밋 SHA입니다. 비어 있으면 저장소의 기본 분기를 의미합니다. |

104| `CLAUDE_RUNNER_CHECKOUT_PATH` | 작업 트리를 남겨야 할 절대 경로 |104| `CLAUDE_RUNNER_CHECKOUT_PATH` | 작업 트리를 남겨야 할 절대 경로 |


130훅은 자식 프로세스가 생성된 모든 세션 종료에서 실행되며, 원인이 무엇이든 상관없습니다. 아래의 `CLAUDE_RUNNER_EXIT_REASON` 값은 경우를 열거합니다. VM 선점 또는 정전과 같이 러너가 갑자기 종료될 때는 실행될 수 없습니다. 갑작스러운 종료에 대한 보장이 필요하면 Claude Code `PostToolUse` 훅으로 세션 내에서 주기적으로 스냅샷하세요. 러너는 다음을 설정합니다:130훅은 자식 프로세스가 생성된 모든 세션 종료에서 실행되며, 원인이 무엇이든 상관없습니다. 아래의 `CLAUDE_RUNNER_EXIT_REASON` 값은 경우를 열거합니다. VM 선점 또는 정전과 같이 러너가 갑자기 종료될 때는 실행될 수 없습니다. 갑작스러운 종료에 대한 보장이 필요하면 Claude Code `PostToolUse` 훅으로 세션 내에서 주기적으로 스냅샷하세요. 러너는 다음을 설정합니다:

131 131 

132| 변수 | 설명 |132| 변수 | 설명 |

133| :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |133| :- | :- |

134| `CLAUDE_RUNNER_SESSION_ID` | 태그가 지정된 `session_...` 형식의 세션 ID |134| `CLAUDE_RUNNER_SESSION_ID` | 태그가 지정된 `session_...` 형식의 세션 ID |

135| `CLAUDE_RUNNER_SESSION_UUID` | 정규 UUID 형식의 동일한 세션 ID |135| `CLAUDE_RUNNER_SESSION_UUID` | 정규 UUID 형식의 동일한 세션 ID |

136| `CLAUDE_RUNNER_EXIT_REASON` | 세션이 종료된 방식이며, 아래 표 아래의 값을 참조하세요. |136| `CLAUDE_RUNNER_EXIT_REASON` | 세션이 종료된 방식이며, 아래 표 아래의 값을 참조하세요. |


220오케스트레이터는 생성 요청당 한 번 `${hooks-dir}/spawn-runner`를 실행합니다. 훅은 러너가 부팅될 때까지 기다리지 않고 비동기적으로 작업을 제출해야 하며 `--hook-timeout`(기본값 60초) 내에 반환해야 합니다. 훅은 다음을 받습니다:220오케스트레이터는 생성 요청당 한 번 `${hooks-dir}/spawn-runner`를 실행합니다. 훅은 러너가 부팅될 때까지 기다리지 않고 비동기적으로 작업을 제출해야 하며 `--hook-timeout`(기본값 60초) 내에 반환해야 합니다. 훅은 다음을 받습니다:

221 221 

222| 변수 | 설명 |222| 변수 | 설명 |

223| :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |223| :- | :- |

224| `CLAUDE_RUNNER_WORK_ORDER_FILE` | 새 러너가 등록하는 서명된 작업 주문 JWT를 포함하는 임시 파일의 경로입니다. 훅이 종료된 후 삭제됩니다. 파일의 내용을 로깅하지 마세요. |224| `CLAUDE_RUNNER_WORK_ORDER_FILE` | 새 러너가 등록하는 서명된 작업 주문 JWT를 포함하는 임시 파일의 경로입니다. 훅이 종료된 후 삭제됩니다. 파일의 내용을 로깅하지 마세요. |

225| `CLAUDE_RUNNER_ORDER_ID` | 생성 요청당 고유하고 Kubernetes 리소스 이름에 안전한 불투명 멱등성 키입니다. 프로비저너의 중복 제거 키로 사용하세요. |225| `CLAUDE_RUNNER_ORDER_ID` | 생성 요청당 고유하고 Kubernetes 리소스 이름에 안전한 불투명 멱등성 키입니다. 프로비저너의 중복 제거 키로 사용하세요. |

226| `CLAUDE_RUNNER_SESSION_ID` | 이 요청이 대상인 세션입니다. [`--min-idle`](/docs/ko/self-hosted-environments-reference#orchestrator-cli-flags)이 설정되어 있을 때 특정 세션 전에 대기 러너를 부팅하는 사전 워밍 요청의 경우 비어 있으므로 변수가 설정되어 있다고 가정하지 마세요. |226| `CLAUDE_RUNNER_SESSION_ID` | 이 요청이 대상인 세션입니다. [`--min-idle`](/docs/ko/self-hosted-environments-reference#orchestrator-cli-flags)이 설정되어 있을 때 특정 세션 전에 대기 러너를 부팅하는 사전 워밍 요청의 경우 비어 있으므로 변수가 설정되어 있다고 가정하지 마세요. |

Details

53이러한 호스트는 항상 필요합니다:53이러한 호스트는 항상 필요합니다:

54 54 

55| 호스트 | 포트 | 사용 목적 |55| 호스트 | 포트 | 사용 목적 |

56| :------------------------------------------------ | :----------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |56| :- | :- | :- |

57| `api.anthropic.com` | 443, HTTPS; SCM 커넥터만 WSS | 러너 제어 평면 및 세션 스트리밍, 모델 추론, 기능 플래그, 제품 분석, [JWKS](/docs/ko/self-hosted-environments-identity) 키 가져오기, 커밋 서명, `--use-anthropic-git-proxy`가 설정되었을 때 git 프록시, `--scm-connector-host`가 설정되었을 때 오케스트레이터의 [SCM 커넥터](/docs/ko/self-hosted-environments-reference#scm-connector-flags) 터널 |57| `api.anthropic.com` | 443, HTTPS; SCM 커넥터만 WSS | 러너 제어 평면 및 세션 스트리밍, 모델 추론, 기능 플래그, 제품 분석, [JWKS](/docs/ko/self-hosted-environments-identity) 키 가져오기, 커밋 서명, `--use-anthropic-git-proxy`가 설정되었을 때 git 프록시, `--scm-connector-host`가 설정되었을 때 오케스트레이터의 [SCM 커넥터](/docs/ko/self-hosted-environments-reference#scm-connector-flags) 터널 |

58| `github.com` 또는 GitHub Enterprise 호스트와 같은 git 호스트 | 443 또는 22 | 리포지토리 클론 및 푸시. 러너가 `--use-anthropic-git-proxy`를 사용하는 경우 필요하지 않습니다. 이는 git 트래픽을 `api.anthropic.com`을 통해 라우팅합니다. |58| `github.com` 또는 GitHub Enterprise 호스트와 같은 git 호스트 | 443 또는 22 | 리포지토리 클론 및 푸시. 러너가 `--use-anthropic-git-proxy`를 사용하는 경우 필요하지 않습니다. 이는 git 트래픽을 `api.anthropic.com`을 통해 라우팅합니다. |

59 59 

60이러한 호스트가 필요한지 여부는 구성에 따라 다릅니다:60이러한 호스트가 필요한지 여부는 구성에 따라 다릅니다:

61 61 

62| 호스트 | 포트 | 필요한 경우 |62| 호스트 | 포트 | 필요한 경우 |

63| :----------------------------------- | :-- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |63| :- | :- | :- |

64| `downloads.claude.ai` | 443 | 설치 시간에 네이티브 설치 프로그램으로 호스트에 Claude Code를 설치하거나 업데이트할 때; `install.sh` 스크립트 자체는 `claude.ai`에서 제공됩니다. 세션 런타임에는 세션이 공식 Anthropic 마켓플레이스에서 플러그인을 설치할 때만 필요합니다. |64| `downloads.claude.ai` | 443 | 설치 시간에 네이티브 설치 프로그램으로 호스트에 Claude Code를 설치하거나 업데이트할 때; `install.sh` 스크립트 자체는 `claude.ai`에서 제공됩니다. 세션 런타임에는 세션이 공식 Anthropic 마켓플레이스에서 플러그인을 설치할 때만 필요합니다. |

65| `storage.googleapis.com` | 443 | 세션 런타임에 `/plugin`에 표시되는 플러그인 설치 수 및 메타데이터의 경우. |65| `storage.googleapis.com` | 443 | 세션 런타임에 `/plugin`에 표시되는 플러그인 설치 수 및 메타데이터의 경우. |

66| `code.claude.com` 및 `claude.com` | 443 | 내장 claude-code-guide 에이전트의 문서 조회 및 세션 중 사전 승인된 WebFetch 요청. 이러한 호스트를 차단하면 문서 조회에만 영향을 미칩니다. |66| `code.claude.com` 및 `claude.com` | 443 | 내장 claude-code-guide 에이전트의 문서 조회 및 세션 중 사전 승인된 WebFetch 요청. 이러한 호스트를 차단하면 문서 조회에만 영향을 미칩니다. |

Details

204아래 표는 확인과 관련된 세션 토큰 클레임을 나열합니다. `ccr:*` 네임스페이스 및 `act` 체인에서 ID를 읽습니다. 평면 `account_email`, `organization_uuid` 및 `account_uuid` 클레임은 제거될 수 있는 하위 호환성 중복입니다. 조직의 서비스 ID가 생성한 세션(Claude Tag 채널 세션 포함)은 `act.sub`에서 `agent:` 주제를 가지며 `act.email`, `ccr:account_id`, `account_email` 및 `account_uuid`를 생략합니다. 두 이메일 클레임은 사용자 생성 세션에도 선택 사항입니다: Anthropic은 생성 요청의 자격증명이 이메일을 가질 때만 세션 생성 시 기록하며, CLI에서 발송된 세션은 둘 다 부족할 수 있으므로 이메일이 아닌 `act.sub` 또는 `ccr:account_id`에서 ID를 키합니다. 토큰은 이 표 이상의 추가 클레임을 가질 수도 있습니다. 인식하지 못하는 클레임을 무시합니다.204아래 표는 확인과 관련된 세션 토큰 클레임을 나열합니다. `ccr:*` 네임스페이스 및 `act` 체인에서 ID를 읽습니다. 평면 `account_email`, `organization_uuid` 및 `account_uuid` 클레임은 제거될 수 있는 하위 호환성 중복입니다. 조직의 서비스 ID가 생성한 세션(Claude Tag 채널 세션 포함)은 `act.sub`에서 `agent:` 주제를 가지며 `act.email`, `ccr:account_id`, `account_email` 및 `account_uuid`를 생략합니다. 두 이메일 클레임은 사용자 생성 세션에도 선택 사항입니다: Anthropic은 생성 요청의 자격증명이 이메일을 가질 때만 세션 생성 시 기록하며, CLI에서 발송된 세션은 둘 다 부족할 수 있으므로 이메일이 아닌 `act.sub` 또는 `ccr:account_id`에서 ID를 키합니다. 토큰은 이 표 이상의 추가 클레임을 가질 수도 있습니다. 인식하지 못하는 클레임을 무시합니다.

205 205 

206| 클레임 | 유형 | 설명 |206| 클레임 | 유형 | 설명 |

207| :------------------ | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |207| :- | :- | :- |

208| `iss` | string | 항상 `ccr`. |208| `iss` | string | 항상 `ccr`. |

209| `sub` | string | `ccr:session:<session_id>`. |209| `sub` | string | `ccr:session:<session_id>`. |

210| `aud` | array of strings | 항상 `anthropic-api`를 포함합니다. 자체 호스팅 환경의 세션의 경우 배열은 `ccpool_...`과 같은 환경 ID도 포함합니다. `anthropic-api`가 아닌 환경 ID를 확인합니다. |210| `aud` | array of strings | 항상 `anthropic-api`를 포함합니다. 자체 호스팅 환경의 세션의 경우 배열은 `ccpool_...`과 같은 환경 ID도 포함합니다. `anthropic-api`가 아닌 환경 ID를 확인합니다. |


228`act` 클레임은 세션을 생성한 사용자 또는 서비스 ID에서 [환경](/docs/ko/self-hosted-environments#key-concepts)의 비밀을 허용한 실행기까지의 전체 위임 경로를 기록하고, 해당 비밀을 생성한 ID를 기록합니다. 생성자는 가장 바깥쪽 행위자이므로 `act.sub`은 직접 식별합니다.228`act` 클레임은 세션을 생성한 사용자 또는 서비스 ID에서 [환경](/docs/ko/self-hosted-environments#key-concepts)의 비밀을 허용한 실행기까지의 전체 위임 경로를 기록하고, 해당 비밀을 생성한 ID를 기록합니다. 생성자는 가장 바깥쪽 행위자이므로 `act.sub`은 직접 식별합니다.

229 229 

230| 경로 | 설명 |230| 경로 | 설명 |

231| :---------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- |231| :- | :- |

232| `act.sub` | 생성 사용자의 Anthropic 사용자 ID(형식: `user:<id>`) 또는 조직의 서비스 ID가 세션을 생성했을 때 `agent:<id>`(Claude Tag 채널 세션의 경우). |232| `act.sub` | 생성 사용자의 Anthropic 사용자 ID(형식: `user:<id>`) 또는 조직의 서비스 ID가 세션을 생성했을 때 `agent:<id>`(Claude Tag 채널 세션의 경우). |

233| `act.email` | 생성 사용자의 이메일 주소(세션 생성 시 기록된 경우). 필수로 요구하지 마세요. `act.sub`에서 키합니다. |233| `act.email` | 생성 사용자의 이메일 주소(세션 생성 시 기록된 경우). 필수로 요구하지 마세요. `act.sub`에서 키합니다. |

234| `act.attested_by` | 생성 사용자에 대한 업스트림 ID 제공자의 증명(사용 가능한 경우). `act.attested_by.sub`는 Google 또는 Okta와 같은 SSO 제공자가 발급한 주제입니다. 자신의 시스템에서 ID에 매핑할 때 `act.email`보다 이를 선호합니다. |234| `act.attested_by` | 생성 사용자에 대한 업스트림 ID 제공자의 증명(사용 가능한 경우). `act.attested_by.sub`는 Google 또는 Okta와 같은 SSO 제공자가 발급한 주제입니다. 자신의 시스템에서 ID에 매핑할 때 `act.email`보다 이를 선호합니다. |

Details

21대부분의 플래그에는 해당하는 환경 변수가 있습니다. 둘 다 설정된 경우 플래그가 우선합니다. 기간 플래그는 CLI에서 분 또는 초를 사용하지만, 쌍을 이루는 환경 변수는 항상 밀리초 단위이며 `_MS` 접미사로 표시되고, 기본값 열은 플래그의 단위를 표시합니다: `--exit-if-unused-min 10`은 `SELF_HOSTED_RUNNER_IDLE_SHUTDOWN_MS=600000`과 동일하며, `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS: "15"`와 같은 Helm 값은 15분 기본값이 아닌 15밀리초를 의미합니다.21대부분의 플래그에는 해당하는 환경 변수가 있습니다. 둘 다 설정된 경우 플래그가 우선합니다. 기간 플래그는 CLI에서 분 또는 초를 사용하지만, 쌍을 이루는 환경 변수는 항상 밀리초 단위이며 `_MS` 접미사로 표시되고, 기본값 열은 플래그의 단위를 표시합니다: `--exit-if-unused-min 10`은 `SELF_HOSTED_RUNNER_IDLE_SHUTDOWN_MS=600000`과 동일하며, `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS: "15"`와 같은 Helm 값은 15분 기본값이 아닌 15밀리초를 의미합니다.

22 22 

23| 플래그 | 환경 변수 | 기본값 | 설명 |23| 플래그 | 환경 변수 | 기본값 | 설명 |

24| :---------------------------------------- | :------------------------------------------------ | :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |24| :- | :- | :- | :- |

25| `--api-url <url>` | 없음 | `https://api.anthropic.com` | API 기본 URL입니다. 테스트 목적으로만 재정의하십시오. |25| `--api-url <url>` | 없음 | `https://api.anthropic.com` | API 기본 URL입니다. 테스트 목적으로만 재정의하십시오. |

26| `--base-dir <path>` | `SELF_HOSTED_RUNNER_BASE_DIR` | `/workspace`; Windows에서는 없음 | 저장소 체크아웃 및 세션별 작업 디렉터리용 디렉터리입니다. 러너는 이 경로 또는 상위 경로에 대한 쓰기 액세스 권한이 필요합니다. 러너는 시작 시 디렉터리를 생성하고 생성하거나 쓸 수 없을 때 `cannot create or write to base directory`로 종료됩니다. v2.1.225 이전에는 러너가 첫 번째 세션이 시작될 때 디렉터리를 생성했으므로 사용할 수 없는 경로로 인해 시작이 아닌 세션이 실패했습니다. Windows는 지원되지 않는 러너 호스트이므로 기본값이 없습니다: 플래그를 전달하거나 변수를 설정하지 않으면 러너가 시작 시 종료됩니다. 환경의 모든 러너에서 동일한 값을 사용하십시오. [러너 간 기본 디렉터리 및 용량 동일하게 유지](/docs/ko/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners)를 참조하십시오. |26| `--base-dir <path>` | `SELF_HOSTED_RUNNER_BASE_DIR` | `/workspace`; Windows에서는 없음 | 저장소 체크아웃 및 세션별 작업 디렉터리용 디렉터리입니다. 러너는 이 경로 또는 상위 경로에 대한 쓰기 액세스 권한이 필요합니다. 러너는 시작 시 디렉터리를 생성하고 생성하거나 쓸 수 없을 때 `cannot create or write to base directory`로 종료됩니다. v2.1.225 이전에는 러너가 첫 번째 세션이 시작될 때 디렉터리를 생성했으므로 사용할 수 없는 경로로 인해 시작이 아닌 세션이 실패했습니다. Windows는 지원되지 않는 러너 호스트이므로 기본값이 없습니다: 플래그를 전달하거나 변수를 설정하지 않으면 러너가 시작 시 종료됩니다. 환경의 모든 러너에서 동일한 값을 사용하십시오. [러너 간 기본 디렉터리 및 용량 동일하게 유지](/docs/ko/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners)를 참조하십시오. |

27| `--capacity <n>` | 없음 | `1` | 이 러너가 처리하는 최대 동시 세션 수입니다. 모든 세션은 동일한 잠금된 [소유자](/docs/ko/self-hosted-environments#key-concepts)에 속합니다. 환경의 모든 러너에서 동일한 값을 사용하십시오. [러너 간 기본 디렉터리 및 용량 동일하게 유지](/docs/ko/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners)를 참조하십시오. |27| `--capacity <n>` | 없음 | `1` | 이 러너가 처리하는 최대 동시 세션 수입니다. 모든 세션은 동일한 잠금된 [소유자](/docs/ko/self-hosted-environments#key-concepts)에 속합니다. 환경의 모든 러너에서 동일한 값을 사용하십시오. [러너 간 기본 디렉터리 및 용량 동일하게 유지](/docs/ko/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners)를 참조하십시오. |


69`self-hosted-runner orchestrator` 서브명령은 [on-demand runners](/docs/ko/self-hosted-environments-configuration#on-demand-runners)를 생성하며, `--api-url`, `--environment-secret-file`, `--hooks-dir`, `--health-port` 및 `--log-level`을 러너와 동일한 기본값으로 허용하며, 러너의 플래그에 하나가 있는 경우 동일한 환경 변수를 허용합니다. 단, `--hooks-dir`은 필수이며 `spawn-runner` 훅을 포함해야 합니다. 또한 자체 플래그를 사용합니다:69`self-hosted-runner orchestrator` 서브명령은 [on-demand runners](/docs/ko/self-hosted-environments-configuration#on-demand-runners)를 생성하며, `--api-url`, `--environment-secret-file`, `--hooks-dir`, `--health-port` 및 `--log-level`을 러너와 동일한 기본값으로 허용하며, 러너의 플래그에 하나가 있는 경우 동일한 환경 변수를 허용합니다. 단, `--hooks-dir`은 필수이며 `spawn-runner` 훅을 포함해야 합니다. 또한 자체 플래그를 사용합니다:

70 70 

71| 플래그 | 기본값 | 설명 |71| 플래그 | 기본값 | 설명 |

72| :------------------------------- | :------ | :---------------------------------------------------------------------------------------------------------------------------------- |72| :- | :- | :- |

73| `--hook-concurrency <n>` | `4` | 병렬로 실행되는 최대 `spawn-runner` 훅입니다. 또한 폴링당 청구되는 스폰 요청 수를 제한합니다. |73| `--hook-concurrency <n>` | `4` | 병렬로 실행되는 최대 `spawn-runner` 훅입니다. 또한 폴링당 청구되는 스폰 요청 수를 제한합니다. |

74| `--hook-timeout <sec>` | `60` | 이 많은 초 후 훅의 프로세스 트리를 종료합니다. 타임아웃과 5초 킬 유예는 `--expected-spawn-seconds` 아래에 있어야 합니다. 오케스트레이터는 시작 시 이를 적용합니다. |74| `--hook-timeout <sec>` | `60` | 이 많은 초 후 훅의 프로세스 트리를 종료합니다. 타임아웃과 5초 킬 유예는 `--expected-spawn-seconds` 아래에 있어야 합니다. 오케스트레이터는 시작 시 이를 적용합니다. |

75| `--expected-spawn-seconds <sec>` | `120` | 생성된 러너의 예상 p99 부팅 시간(서버 적용 범위 10\~3600). 모든 폴링에서 서버 측 임차로 전송됩니다. 경과하기 전에 러너가 등록되지 않으면 세션이 새 주문 ID로 다시 제공됩니다. 모든 복제본은 이 값을 공유해야 합니다. |75| `--expected-spawn-seconds <sec>` | `120` | 생성된 러너의 예상 p99 부팅 시간(서버 적용 범위 10\~3600). 모든 폴링에서 서버 측 임차로 전송됩니다. 경과하기 전에 러너가 등록되지 않으면 세션이 새 주문 ID로 다시 제공됩니다. 모든 복제본은 이 값을 공유해야 합니다. |


83오케스트레이터는 Anthropic의 제어 평면에 대한 상시 WebSocket 연결을 유지할 수 있으므로 저장소 선택기 및 분기 또는 ref 리졸버와 같은 호스팅된 사전 세션 흐름이 네트워크 내부에서만 라우팅 가능한 GitHub Enterprise Server 호스트에 도달할 수 있습니다. 커넥터는 `--scm-connector-host`를 설정하지 않으면 꺼져 있습니다.83오케스트레이터는 Anthropic의 제어 평면에 대한 상시 WebSocket 연결을 유지할 수 있으므로 저장소 선택기 및 분기 또는 ref 리졸버와 같은 호스팅된 사전 세션 흐름이 네트워크 내부에서만 라우팅 가능한 GitHub Enterprise Server 호스트에 도달할 수 있습니다. 커넥터는 `--scm-connector-host`를 설정하지 않으면 꺼져 있습니다.

84 84 

85| 플래그 | 기본값 | 설명 |85| 플래그 | 기본값 | 설명 |

86| :------------------------------------------------------ | :------------------------- | :------------------------------------------------------------------------------------ |86| :- | :- | :- |

87| `--scm-connector-host <host[:port]>` | 설정되지 않음 | 요청을 전달할 GitHub Enterprise Server 호스트명입니다. 포트는 기본값이 `443`입니다. 이 플래그를 설정하면 커넥터가 활성화됩니다. |87| `--scm-connector-host <host[:port]>` | 설정되지 않음 | 요청을 전달할 GitHub Enterprise Server 호스트명입니다. 포트는 기본값이 `443`입니다. 이 플래그를 설정하면 커넥터가 활성화됩니다. |

88| `--scm-connector-id <n>` | `--scm-connector-host`와 필수 | 조직의 GitHub Enterprise Server 연결의 숫자 ID입니다. 커넥터를 활성화할 때 Anthropic 계정 팀에 문의하여 값을 얻으세요. |88| `--scm-connector-id <n>` | `--scm-connector-host`와 필수 | 조직의 GitHub Enterprise Server 연결의 숫자 ID입니다. 커넥터를 활성화할 때 Anthropic 계정 팀에 문의하여 값을 얻으세요. |

89| `--scm-connector-provider <slug>` | `ghe` | 공급자를 식별하는 경로 세그먼트이며, `^[a-z0-9-]{1,32}$`와 일치합니다. |89| `--scm-connector-provider <slug>` | `ghe` | 공급자를 식별하는 경로 세그먼트이며, `^[a-z0-9-]{1,32}$`와 일치합니다. |


99이러한 러너 설정은 환경에서만 읽으며 대부분의 배포가 기본값으로 남겨두는 동작을 다룹니다:99이러한 러너 설정은 환경에서만 읽으며 대부분의 배포가 기본값으로 남겨두는 동작을 다룹니다:

100 100 

101| 환경 변수 | 기본값 | 설명 |101| 환경 변수 | 기본값 | 설명 |

102| :----------------------------------------- | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |102| :- | :- | :- |

103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | 러너가 백그라운드 작업이 완료된 후 결과를 읽는 후속 턴이 시작되지 않은 동안 세션을 바쁜 것으로 간주하는 시간입니다. [`--drain-wait-sec` 및 `--release-idle-session-min` 행](#runner-cli-flags)은 드레인 및 유휴 해제에서 보유가 적용되는 위치를 설명하며, [Runner lifecycle](/docs/ko/self-hosted-environments#runner-lifecycle)은 `--retire-at` 은퇴에서 적용되는 위치를 설명합니다. `0` 또는 사용할 수 없는 값은 기본값으로 폴백되므로 보유를 끌 수 없습니다. Claude Code v2.1.228 이상이 필요합니다. |103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | 러너가 백그라운드 작업이 완료된 후 결과를 읽는 후속 턴이 시작되지 않은 동안 세션을 바쁜 것으로 간주하는 시간입니다. [`--drain-wait-sec` 및 `--release-idle-session-min` 행](#runner-cli-flags)은 드레인 및 유휴 해제에서 보유가 적용되는 위치를 설명하며, [Runner lifecycle](/docs/ko/self-hosted-environments#runner-lifecycle)은 `--retire-at` 은퇴에서 적용되는 위치를 설명합니다. `0` 또는 사용할 수 없는 값은 기본값으로 폴백되므로 보유를 끌 수 없습니다. Claude Code v2.1.228 이상이 필요합니다. |

104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | 러너의 시작 스냅샷으로 캡처되고 각 세션의 `CLAUDE_CONFIG_DIR`로 시드되는 디렉토리입니다. 디스크의 변경 사항은 러너 재시작 후 적용됩니다. 변수를 설정하면 러너가 [MCP seeding](/docs/ko/self-hosted-environments-configuration#mcp-servers)을 위해 `.claude.json`을 읽는 위치도 이동하므로 설정하면 자체 기본값을 포함하여 해당 조회를 재배치합니다. 빈 디렉토리를 가리켜 시딩을 완전히 비활성화하세요. |104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | 러너의 시작 스냅샷으로 캡처되고 각 세션의 `CLAUDE_CONFIG_DIR`로 시드되는 디렉토리입니다. 디스크의 변경 사항은 러너 재시작 후 적용됩니다. 변수를 설정하면 러너가 [MCP seeding](/docs/ko/self-hosted-environments-configuration#mcp-servers)을 위해 `.claude.json`을 읽는 위치도 이동하므로 설정하면 자체 기본값을 포함하여 해당 조회를 재배치합니다. 빈 디렉토리를 가리켜 시딩을 완전히 비활성화하세요. |

105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | 세션이 `--kill-session-after-min` 제한에 도달한 후, 러너가 세션을 종료하기 전에 실행 중인 턴이 완료되거나 해제가 완료될 때까지 대기하는 시간입니다. |105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | 세션이 `--kill-session-after-min` 제한에 도달한 후, 러너가 세션을 종료하기 전에 실행 중인 턴이 완료되거나 해제가 완료될 때까지 대기하는 시간입니다. |


149각 러너는 `/healthz`와 동일한 포트에서 `GET /metrics`에서 Prometheus 메트릭을 제공합니다. 주요 시리즈:149각 러너는 `/healthz`와 동일한 포트에서 `GET /metrics`에서 Prometheus 메트릭을 제공합니다. 주요 시리즈:

150 150 

151| 시리즈 | 참고 |151| 시리즈 | 참고 |

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

153| `claude_code_self_hosted_runner_info{runner_id,version,client_label}` | 항상 `1`입니다. 플릿 인벤토리 및 버전 드리프트 감지에 유용합니다. |153| `claude_code_self_hosted_runner_info{runner_id,version,client_label}` | 항상 `1`입니다. 플릿 인벤토리 및 버전 드리프트 감지에 유용합니다. |

154| `claude_code_self_hosted_runner_capacity` | 구성된 `--capacity` |154| `claude_code_self_hosted_runner_capacity` | 구성된 `--capacity` |

155| `claude_code_self_hosted_runner_active_sessions` | 현재 실행 중인 세션 |155| `claude_code_self_hosted_runner_active_sessions` | 현재 실행 중인 세션 |


169오케스트레이터는 `/healthz`와 동일한 포트에서 `GET /metrics`에서 자체 시리즈를 제공합니다:169오케스트레이터는 `/healthz`와 동일한 포트에서 `GET /metrics`에서 자체 시리즈를 제공합니다:

170 170 

171| 시리즈 | 참고 |171| 시리즈 | 참고 |

172| :-------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |172| :- | :- |

173| `claude_code_self_hosted_orchestrator_info{version,pool_id,orchestrator_uuid,hostname}` | 항상 `1` |173| `claude_code_self_hosted_orchestrator_info{version,pool_id,orchestrator_uuid,hostname}` | 항상 `1` |

174| `claude_code_self_hosted_orchestrator_connected` | 가장 최근 폴이 성공했을 때 `1`입니다. 실패 종류와 관계없이 실패한 폴 후 `0`으로 떨어집니다. |174| `claude_code_self_hosted_orchestrator_connected` | 가장 최근 폴이 성공했을 때 `1`입니다. 실패 종류와 관계없이 실패한 폴 후 `0`으로 떨어집니다. |

175| `claude_code_self_hosted_orchestrator_last_poll_age_seconds` | 마지막 폴 시도 이후 초이며, 성공 또는 실패이며, 마지막 성공 이후를 측정하는 러너의 동일한 이름의 메트릭과 달리 `connected`와 쌍을 이루어 실패한 폴을 포착합니다. 오케스트레이터의 폴 루프는 훅 실행을 기다리므로 기본값에서 약 90초인 `--hook-timeout` 더하기 여백 위에 경고하세요. 평면 60이 아닙니다. |175| `claude_code_self_hosted_orchestrator_last_poll_age_seconds` | 마지막 폴 시도 이후 초이며, 성공 또는 실패이며, 마지막 성공 이후를 측정하는 러너의 동일한 이름의 메트릭과 달리 `connected`와 쌍을 이루어 실패한 폴을 포착합니다. 오케스트레이터의 폴 루프는 훅 실행을 기다리므로 기본값에서 약 90초인 `--hook-timeout` 더하기 여백 위에 경고하세요. 평면 60이 아닙니다. |


325대신 해당 목표에 대해 이 표의 시리즈를 사용하세요:325대신 해당 목표에 대해 이 표의 시리즈를 사용하세요:

326 326 

327| 목표 | 사용 |327| 목표 | 사용 |

328| :-- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |328| :- | :- |

329| 처리량 | `claude_code_self_hosted_orchestrator_spawn_hooks_total{result="ok"}`, 성공한 `spawn-runner` 훅당 한 번 증가하고 `rate()` 아래에서 의미 있는 장기 오케스트레이터의 카운터입니다. 훅 호출을 계산하며, 세션이 아니므로 사전 워밍 및 동일한 세션에 대한 반복 스폰이 세션 수에서 분산됩니다. |329| 처리량 | `claude_code_self_hosted_orchestrator_spawn_hooks_total{result="ok"}`, 성공한 `spawn-runner` 훅당 한 번 증가하고 `rate()` 아래에서 의미 있는 장기 오케스트레이터의 카운터입니다. 훅 호출을 계산하며, 세션이 아니므로 사전 워밍 및 동일한 세션에 대한 반복 스폰이 세션 수에서 분산됩니다. |

330| 사용률 | `sum(claude_code_self_hosted_runner_active_sessions)` 대 `sum(claude_code_self_hosted_runner_capacity)`, 러너 수명과 관계없이 모든 스크래핑에서 유효한 게이지 |330| 사용률 | `sum(claude_code_self_hosted_runner_active_sessions)` 대 `sum(claude_code_self_hosted_runner_capacity)`, 러너 수명과 관계없이 모든 스크래핑에서 유효한 게이지 |

331| 백로그 | 큐 깊이를 위한 `claude_code_self_hosted_orchestrator_pool_pending_sessions` 및 `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions`, 0 이상이면 경고 |331| 백로그 | 큐 깊이를 위한 `claude_code_self_hosted_orchestrator_pool_pending_sessions` 및 `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions`, 0 이상이면 경고 |

Details

29Claude Code는 중앙 집중식 구성을 위한 두 가지 방식을 지원합니다. 서버 관리 설정은 Anthropic의 서버에서 구성을 전달합니다. [엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)은 기본 OS 정책(macOS 관리 기본 설정, Windows 레지스트리) 또는 관리 설정 파일을 통해 기기에 직접 배포됩니다.29Claude Code는 중앙 집중식 구성을 위한 두 가지 방식을 지원합니다. 서버 관리 설정은 Anthropic의 서버에서 구성을 전달합니다. [엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)은 기본 OS 정책(macOS 관리 기본 설정, Windows 레지스트리) 또는 관리 설정 파일을 통해 기기에 직접 배포됩니다.

30 30 

31| 방식 | 최적 대상 | 보안 모델 |31| 방식 | 최적 대상 | 보안 모델 |

32| :---------------------------------------------------------- | :---------------------------- | :-------------------------------------------------------- |32| :- | :- | :- |

33| **서버 관리 설정** | MDM이 없는 조직 또는 관리되지 않는 기기의 사용자 | Claude Code가 시작 시 Anthropic의 서버에서 가져오고 세션 중 매시간 새로 고치는 설정 |33| **서버 관리 설정** | MDM이 없는 조직 또는 관리되지 않는 기기의 사용자 | Claude Code가 시작 시 Anthropic의 서버에서 가져오고 세션 중 매시간 새로 고치는 설정 |

34| **[엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)** | MDM 또는 엔드포인트 관리가 있는 조직 | MDM 구성 프로필, 레지스트리 정책 또는 관리 설정 파일을 통해 기기에 배포되는 설정 |34| **[엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)** | MDM 또는 엔드포인트 관리가 있는 조직 | MDM 구성 프로필, 레지스트리 정책 또는 관리 설정 파일을 통해 기기에 배포되는 설정 |

35 35 


363서버 관리 설정은 중앙 집중식 정책 적용을 제공하지만 클라이언트 측 제어로 작동하며 보안 경계가 아닙니다. 관리되지 않는 기기에서 사용자는 이를 우회하기 위해 관리자 또는 sudo 액세스 권한이 필요하지 않습니다.363서버 관리 설정은 중앙 집중식 정책 적용을 제공하지만 클라이언트 측 제어로 작동하며 보안 경계가 아닙니다. 관리되지 않는 기기에서 사용자는 이를 우회하기 위해 관리자 또는 sudo 액세스 권한이 필요하지 않습니다.

364 364 

365| 시나리오 | 동작 |365| 시나리오 | 동작 |

366| :-------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |366| :- | :- |

367| 사용자가 캐시된 설정 파일을 편집함 | 변조된 파일이 시작 시 적용되지만, [Claude Code가 보류하는 값](#fetch-and-caching-behavior)은 서버가 페이로드를 확인할 때까지 제외됩니다. 다음 서버 가져오기에서 올바른 설정이 복원되지만, [다음 시작 시에만 적용되는 키](#fetch-and-caching-behavior)(예: `model` 또는 `env` 블록에 추가된 변수)는 재시작할 때까지 적용 상태로 유지됩니다. |367| 사용자가 캐시된 설정 파일을 편집함 | 변조된 파일이 시작 시 적용되지만, [Claude Code가 보류하는 값](#fetch-and-caching-behavior)은 서버가 페이로드를 확인할 때까지 제외됩니다. 다음 서버 가져오기에서 올바른 설정이 복원되지만, [다음 시작 시에만 적용되는 키](#fetch-and-caching-behavior)(예: `model` 또는 `env` 블록에 추가된 변수)는 재시작할 때까지 적용 상태로 유지됩니다. |

368| 사용자가 캐시된 설정 파일을 삭제함 | [첫 시작 동작](#fetch-and-caching-behavior)이 발생합니다. |368| 사용자가 캐시된 설정 파일을 삭제함 | [첫 시작 동작](#fetch-and-caching-behavior)이 발생합니다. |

369| 사용자가 수정된 Claude Code 바이너리를 실행함 | 수정된 클라이언트를 실행할 수 있는 사용자는 모든 클라이언트 측 제어를 우회할 수 있습니다. |369| 사용자가 수정된 Claude Code 바이너리를 실행함 | 수정된 클라이언트를 실행할 수 있는 사용자는 모든 클라이언트 측 제어를 우회할 수 있습니다. |

sessions.md +7 −7

Details

17세션은 작업할 때 [로컬 대화 기록 파일](#export-and-locate-session-data)에 지속적으로 저장되므로 종료하거나 `/clear`를 실행한 후에 세션으로 돌아갈 수 있습니다. 다음 진입점을 사용합니다:17세션은 작업할 때 [로컬 대화 기록 파일](#export-and-locate-session-data)에 지속적으로 저장되므로 종료하거나 `/clear`를 실행한 후에 세션으로 돌아갈 수 있습니다. 다음 진입점을 사용합니다:

18 18 

19| 명령 | 기능 |19| 명령 | 기능 |

20| :---------------------------------- | :-------------------------------------------------------------------------- |20| :- | :- |

21| `claude --continue` | 현재 디렉토리에서 가장 최근 대화를 다시 엽니다 |21| `claude --continue` | 현재 디렉토리에서 가장 최근 대화를 다시 엽니다 |

22| `claude --resume` | [세션 선택기](#use-the-session-picker)를 엽니다 |22| `claude --resume` | [세션 선택기](#use-the-session-picker)를 엽니다 |

23| `claude --resume <name>` | 지정된 이름의 세션을 직접 재개합니다 |23| `claude --resume <name>` | 지정된 이름의 세션을 직접 재개합니다 |


61비대화형 및 VS Code 경로에서 계획 모드 복원은 Claude Code v2.1.246 이상이 필요합니다. 각 행은 세션이 종료된 권한 모드, 재개하는 터미널, 비대화형 및 VS Code 경로 중 어느 것인지, 그리고 Claude Code가 재개된 세션을 시작하는 권한 모드를 나타냅니다.61비대화형 및 VS Code 경로에서 계획 모드 복원은 Claude Code v2.1.246 이상이 필요합니다. 각 행은 세션이 종료된 권한 모드, 재개하는 터미널, 비대화형 및 VS Code 경로 중 어느 것인지, 그리고 Claude Code가 재개된 세션을 시작하는 권한 모드를 나타냅니다.

62 62 

63| 세션이 종료된 모드 | 재개 방식 | 재개 후 권한 모드 |63| 세션이 종료된 모드 | 재개 방식 | 재개 후 권한 모드 |

64| :------------------ | :------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |64| :- | :- | :- |

65| `bypassPermissions` | 터미널 | 새 세션이 시작될 권한 모드입니다. [권한을 다시 우회](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode)하려면 시작 시 해당 플래그 중 하나 또는 [사용자, `--settings` 또는 관리 설정](/docs/ko/settings-reference#permissions-defaultmode)의 `permissions.defaultMode: "bypassPermissions"`로 활성화합니다 |65| `bypassPermissions` | 터미널 | 새 세션이 시작될 권한 모드입니다. [권한을 다시 우회](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode)하려면 시작 시 해당 플래그 중 하나 또는 [사용자, `--settings` 또는 관리 설정](/docs/ko/settings-reference#permissions-defaultmode)의 `permissions.defaultMode: "bypassPermissions"`로 활성화합니다 |

66| `plan` | 터미널 | 새 세션이 시작될 권한 모드입니다 |66| `plan` | 터미널 | 새 세션이 시작될 권한 모드입니다 |

67| `auto` | 터미널 | `auto`(계정이 여전히 [자동 모드 요구 사항](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)을 충족하는 경우에만) |67| `auto` | 터미널 | `auto`(계정이 여전히 [자동 모드 요구 사항](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)을 충족하는 경우에만) |


115이름으로 재개하면 현재 저장소 및 해당 worktree 전체에서 확인됩니다. 두 형식 모두 정확한 일치를 찾고 다른 worktree에 있더라도 직접 재개합니다:115이름으로 재개하면 현재 저장소 및 해당 worktree 전체에서 확인됩니다. 두 형식 모두 정확한 일치를 찾고 다른 worktree에 있더라도 직접 재개합니다:

116 116 

117| 명령 | 정확한 일치 | 모호한 이름 |117| 명령 | 정확한 일치 | 모호한 이름 |

118| :----------------------- | :----- | :-------------------------------------------- |118| :- | :- | :- |

119| `claude --resume <name>` | 직접 재개 | 이름을 검색어로 미리 채운 세션 선택기를 엽니다 |119| `claude --resume <name>` | 직접 재개 | 이름을 검색어로 미리 채운 세션 선택기를 엽니다 |

120| `/resume <name>` | 직접 재개 | 오류를 보고합니다. 세션 선택기를 열려면 인수 없이 `/resume`를 실행합니다 |120| `/resume <name>` | 직접 재개 | 오류를 보고합니다. 세션 선택기를 열려면 인수 없이 `/resume`를 실행합니다 |

121 121 


126세션에 설명적인 이름을 지정하여 세션 선택기에서 찾을 수 있고 이름으로 재개할 수 있도록 합니다. 이는 여러 작업을 병렬로 진행할 때 가장 중요합니다.126세션에 설명적인 이름을 지정하여 세션 선택기에서 찾을 수 있고 이름으로 재개할 수 있도록 합니다. 이는 여러 작업을 병렬로 진행할 때 가장 중요합니다.

127 127 

128| 시기 | 이름을 설정하는 방법 |128| 시기 | 이름을 설정하는 방법 |

129| :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |129| :- | :- |

130| 시작 시 | `claude -n auth-refactor` |130| 시작 시 | `claude -n auth-refactor` |

131| 세션 중 | `/rename auth-refactor`. 이름은 프롬프트 표시줄에도 나타납니다 |131| 세션 중 | `/rename auth-refactor`. 이름은 프롬프트 표시줄에도 나타납니다 |

132| 세션 선택기에서 | 세션을 강조 표시하고 `Ctrl+R`을 누릅니다 |132| 세션 선택기에서 | 세션을 강조 표시하고 `Ctrl+R`을 누릅니다 |


156세션 내에서 `/resume`을 실행하거나 인수 없이 `claude --resume`을 실행하여 대화형 세션 선택기를 엽니다. 다음 키보드 단축키를 사용하여 탐색, 검색 및 목록 확장:156세션 내에서 `/resume`을 실행하거나 인수 없이 `claude --resume`을 실행하여 대화형 세션 선택기를 엽니다. 다음 키보드 단축키를 사용하여 탐색, 검색 및 목록 확장:

157 157 

158| 단축키 | 작업 |158| 단축키 | 작업 |

159| :--------------------------- | :---------------------------------------------------------------------------------------------------------- |159| :- | :- |

160| `↑` / `↓` | 세션 간 탐색 |160| `↑` / `↓` | 세션 간 탐색 |

161| `→` / `←` | 그룹화된 세션 확장 또는 축소 |161| `→` / `←` | 그룹화된 세션 확장 또는 축소 |

162| `Enter` | 강조 표시된 세션 재개 |162| `Enter` | 강조 표시된 세션 재개 |


199`/branch`는 대화 기록을 복사하고 실행 중인 Claude Code 프로세스를 이로 전환합니다. 이 구분은 분기가 상속하는 항목을 결정합니다:199`/branch`는 대화 기록을 복사하고 실행 중인 Claude Code 프로세스를 이로 전환합니다. 이 구분은 분기가 상속하는 항목을 결정합니다:

200 200 

201| 상태 | `/branch` 이후 |201| 상태 | `/branch` 이후 |

202| :---------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |202| :- | :- |

203| 대화 기록 | `/branch`를 실행한 시점까지 분기로 복사됨 |203| 대화 기록 | `/branch`를 실행한 시점까지 분기로 복사됨 |

204| "이 세션에 대해 허용" 권한 부여 | 이월됨; 분기는 같은 프로세스에서 실행되므로 기존 부여가 계속 적용됩니다. `--fork-session`으로 별도 프로세스로 포크하면 새 프로세스는 이를 시작하지 않으며 해당 위치에서 다시 승인합니다 |204| "이 세션에 대해 허용" 권한 부여 | 이월됨; 분기는 같은 프로세스에서 실행되므로 기존 부여가 계속 적용됩니다. `--fork-session`으로 별도 프로세스로 포크하면 새 프로세스는 이를 시작하지 않으며 해당 위치에서 다시 승인합니다 |

205| 진행 중인 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background) 및 [백그라운드 Bash 명령](/docs/ko/interactive-mode#background-bash-commands) | 계속 실행됩니다. 이들의 출력은 원본 세션이 아닌 전환한 새 분기에 나타납니다 |205| 진행 중인 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background) 및 [백그라운드 Bash 명령](/docs/ko/interactive-mode#background-bash-commands) | 계속 실행됩니다. 이들의 출력은 원본 세션이 아닌 전환한 새 분기에 나타납니다 |


253위치, 보존 및 쓰기 동작은 구성 가능합니다:253위치, 보존 및 쓰기 동작은 구성 가능합니다:

254 254 

255| 대상 | 설정 | 위치 |255| 대상 | 설정 | 위치 |

256| ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------- |256| - | - | - |

257| `~/.claude` 외부로 저장소 이동 | [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars) | 환경 변수 |257| `~/.claude` 외부로 저장소 이동 | [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars) | 환경 변수 |

258| [`<project>` 디렉토리 이름 직접 지정](#name-the-project-directory-yourself) | [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/ko/env-vars) | 환경 변수 |258| [`<project>` 디렉토리 이름 직접 지정](#name-the-project-directory-yourself) | [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/ko/env-vars) | 환경 변수 |

259| 30일 보존 기간 변경 | [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays) | `settings.json` |259| 30일 보존 기간 변경 | [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays) | `settings.json` |

settings.md +2 −2

Details

403Claude Code는 네 개의 파일에서 설정을 읽으며, 조직은 claude.ai 콘솔에서 관리되는 설정을 제공할 수도 있습니다. 각 소스는 범위를 가지고 있습니다. 즉, 설정이 적용되는 사람과 프로젝트의 집합으로, 개인 사용자, 프로젝트의 모든 사람, 또는 조직의 모든 사람일 수 있습니다.403Claude Code는 네 개의 파일에서 설정을 읽으며, 조직은 claude.ai 콘솔에서 관리되는 설정을 제공할 수도 있습니다. 각 소스는 범위를 가지고 있습니다. 즉, 설정이 적용되는 사람과 프로젝트의 집합으로, 개인 사용자, 프로젝트의 모든 사람, 또는 조직의 모든 사람일 수 있습니다.

404 404 

405| 범위 | 파일 | 영향을 받는 사용자 | 용도 |405| 범위 | 파일 | 영향을 받는 사용자 | 용도 |

406| :------ | :------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------- | :------------------------------------- |406| :- | :- | :- | :- |

407| 사용자 | `~/.claude/settings.json` | 이 머신의 모든 프로젝트에서 사용자 | 개인 설정: 테마, 편집기 모드, 기본 모델, 사용자 정의 권한 규칙 |407| 사용자 | `~/.claude/settings.json` | 이 머신의 모든 프로젝트에서 사용자 | 개인 설정: 테마, 편집기 모드, 기본 모델, 사용자 정의 권한 규칙 |

408| 공유 프로젝트 | `.claude/settings.json` | 이를 포함하는 폴더에서 작업하는 모든 사람. Git 저장소에서는 커밋하여 팀원이 받도록 함 | 팀 권한, 훅, 플러그인, 프로젝트에 필요한 환경 변수 |408| 공유 프로젝트 | `.claude/settings.json` | 이를 포함하는 폴더에서 작업하는 모든 사람. Git 저장소에서는 커밋하여 팀원이 받도록 함 | 팀 권한, 훅, 플러그인, 프로젝트에 필요한 환경 변수 |

409| 프로젝트 로컬 | `.claude/settings.local.json` | 이 프로젝트에서만 사용자. Claude Code는 파일을 생성할 때 git에서 제외함. 수동으로 생성한 경우 `.gitignore`에 직접 추가 | 한 프로젝트에 대한 개인 설정 재정의 및 공유 전 테스트 |409| 프로젝트 로컬 | `.claude/settings.local.json` | 이 프로젝트에서만 사용자. Claude Code는 파일을 생성할 때 git에서 제외함. 수동으로 생성한 경우 `.gitignore`에 직접 추가 | 한 프로젝트에 대한 개인 설정 재정의 및 공유 전 테스트 |


788값이 세션을 제한하는 몇 가지 키의 경우, Claude Code는 관리되는 설정을 재정의할 수 없는 범위의 제한적인 값을 준수합니다. 이 표에서 키를 찾아 어느 값을 준수하는지 그리고 어디서 준수하는지 확인합니다.788값이 세션을 제한하는 몇 가지 키의 경우, Claude Code는 관리되는 설정을 재정의할 수 없는 범위의 제한적인 값을 준수합니다. 이 표에서 키를 찾아 어느 값을 준수하는지 그리고 어디서 준수하는지 확인합니다.

789 789 

790| 키 | Claude Code가 준수하는 값 | 참고 |790| 키 | Claude Code가 준수하는 값 | 참고 |

791| :------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ |791| :- | :- | :- |

792| [`disableClaudeAiConnectors`](/docs/ko/settings-reference#disableclaudeaiconnectors) | 모든 범위의 `true` | 관리되는 소스가 `false`를 설정할 때도 준수됩니다 |792| [`disableClaudeAiConnectors`](/docs/ko/settings-reference#disableclaudeaiconnectors) | 모든 범위의 `true` | 관리되는 소스가 `false`를 설정할 때도 준수됩니다 |

793| [`enableArtifact`](/docs/ko/settings-reference#enableartifact) | 모든 범위의 `false`, 그리고 모든 범위의 `disableArtifact: true` | 관리되는 소스가 `true`를 설정할 때도 준수됩니다. 아무것도 [Artifact 도구](/docs/ko/artifacts#disable-artifacts)를 다시 켤 수 없습니다. Claude Code v2.1.242 이상이 필요합니다 |793| [`enableArtifact`](/docs/ko/settings-reference#enableartifact) | 모든 범위의 `false`, 그리고 모든 범위의 `disableArtifact: true` | 관리되는 소스가 `true`를 설정할 때도 준수됩니다. 아무것도 [Artifact 도구](/docs/ko/artifacts#disable-artifacts)를 다시 켤 수 없습니다. Claude Code v2.1.242 이상이 필요합니다 |

794| [`isolatePeerMachines`](/docs/ko/settings-reference#isolatepeermachines) | 모든 범위의 `true` | 관리되는 소스가 `false`를 설정할 때도 준수됩니다 |794| [`isolatePeerMachines`](/docs/ko/settings-reference#isolatepeermachines) | 모든 범위의 `true` | 관리되는 소스가 `false`를 설정할 때도 준수됩니다 |

Details

590/>590/>

591 591 

592| 키 | 설명 | 주제 | 범위 |592| 키 | 설명 | 주제 | 범위 |

593| :---------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------- | :------------- |593| :- | :- | :- | :- |

594| [`advisorModel`](#advisormodel) | Claude가 [advisor tool](/docs/ko/advisor)에 답할 때 사용할 모델 선택 | 모델 및 응답 | 모든 파일 |594| [`advisorModel`](#advisormodel) | Claude가 [advisor tool](/docs/ko/advisor)에 답할 때 사용할 모델 선택 | 모델 및 응답 | 모든 파일 |

595| [`agent`](#agent) | 모든 세션을 명명된 [subagent](/docs/ko/sub-agents)로 시작하고 프롬프트, 도구, 모델 포함 | 에이전트, 세션, 워크트리 | 모든 파일 |595| [`agent`](#agent) | 모든 세션을 명명된 [subagent](/docs/ko/sub-agents)로 시작하고 프롬프트, 도구, 모델 포함 | 에이전트, 세션, 워크트리 | 모든 파일 |

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Claude가 결정할 때 [휴대폰으로 푸시 알림](/docs/ko/remote-control#mobile-push-notifications)을 보낼 수 있도록 허용 | 원격, 데스크톱, 알림 | 모든 파일 |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Claude가 결정할 때 [휴대폰으로 푸시 알림](/docs/ko/remote-control#mobile-push-notifications)을 보낼 수 있도록 허용 | 원격, 데스크톱, 알림 | 모든 파일 |


1131키는 행 자체에 대한 하나와 기본 제공 라인업을 대체하거나 추가하는지에 대한 하나의 두 필드를 사용합니다.1131키는 행 자체에 대한 하나와 기본 제공 라인업을 대체하거나 추가하는지에 대한 하나의 두 필드를 사용합니다.

1132 1132 

1133| 필드 | 유형 | 수행 작업 |1133| 필드 | 유형 | 수행 작업 |

1134| :---------------------- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- |1134| :- | :- | :- |

1135| `options` | 필수 `model`과 선택적 `label` 및 `description`을 포함하는 각 행의 배열 | 선택기가 표시하는 행(이 순서대로), 회색으로 표시된 행은 맨 아래로 이동합니다. `label` 없이 Claude Code는 알려진 모델에 대해 기본 제공 이름으로 행을 제목으로 지정하거나 모델 ID로 지정하고, `description` 없이 일반 두 번째 줄을 작성합니다 |1135| `options` | 필수 `model`과 선택적 `label` 및 `description`을 포함하는 각 행의 배열 | 선택기가 표시하는 행(이 순서대로), 회색으로 표시된 행은 맨 아래로 이동합니다. `label` 없이 Claude Code는 알려진 모델에 대해 기본 제공 이름으로 행을 제목으로 지정하거나 모델 ID로 지정하고, `description` 없이 일반 두 번째 줄을 작성합니다 |

1136| `replaceBuiltInOptions` | 부울, 기본값 `false` | 이 행만, **기본값**, 세션이 이미 사용 중인 모델의 행을 표시하려면 `true`로 설정합니다. 설정 해제하여 기본 제공 라인업 이후에 이 행을 추가합니다 |1136| `replaceBuiltInOptions` | 부울, 기본값 `false` | 이 행만, **기본값**, 세션이 이미 사용 중인 모델의 행을 표시하려면 `true`로 설정합니다. 설정 해제하여 기본 제공 라인업 이후에 이 행을 추가합니다 |

1137 1137 


1188</h4>1188</h4>

1189 1189 

1190| 필드 | 유형 | 수행 작업 |1190| 필드 | 유형 | 수행 작업 |

1191| :----------- | :--------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |1191| :- | :- | :- |

1192| `multiplier` | 0보다 크고 최대 10인 숫자 | `overrides` 행이 다루는지 여부에 관계없이 Claude Code가 계산하는 모든 비용을 조정합니다. 1 미만은 할인, 1 초과는 인상입니다 |1192| `multiplier` | 0보다 크고 최대 10인 숫자 | `overrides` 행이 다루는지 여부에 관계없이 Claude Code가 계산하는 모든 비용을 조정합니다. 1 미만은 할인, 1 초과는 인상입니다 |

1193| `overrides` | 모델 ID를 `input`, `output`, `cacheRead`, `cacheWrite`를 포함하는 요금 객체로 매핑하며, 각각 0\~10000 | 해당 모델의 백만 토큰당 USD 요금(모두 4개 필수). `cacheWrite`는 5분 및 1시간 캐시 쓰기를 모두 다룹니다. [어떤 모델이 행을 적용하는지](#which-models-a-modelpricing-row-applies-to) 참조 |1193| `overrides` | 모델 ID를 `input`, `output`, `cacheRead`, `cacheWrite`를 포함하는 요금 객체로 매핑하며, 각각 0\~10000 | 해당 모델의 백만 토큰당 USD 요금(모두 4개 필수). `cacheWrite`는 5분 및 1시간 캐시 쓰기를 모두 다룹니다. [어떤 모델이 행을 적용하는지](#which-models-a-modelpricing-row-applies-to) 참조 |

1194 1194 


1533각 행은 하나의 규칙 형태와 일치하는 것을 보여줍니다.1533각 행은 하나의 규칙 형태와 일치하는 것을 보여줍니다.

1534 1534 

1535| 규칙 | 일치하는 것 |1535| 규칙 | 일치하는 것 |

1536| :----------------------------- | :---------------------- |1536| :- | :- |

1537| `Bash` | 모든 Bash 명령 |1537| `Bash` | 모든 Bash 명령 |

1538| `Bash(npm run *)` | `npm run`으로 시작하는 명령 |1538| `Bash(npm run *)` | `npm run`으로 시작하는 명령 |

1539| `Read(./.env)` | `.env` 파일 읽기 |1539| `Read(./.env)` | `.env` 파일 읽기 |


1932`allowWrite`, `denyWrite`, `denyRead`, `allowRead`, [`credentials.files`](#sandbox-credentials-files)의 경로는 접두사로 확인됩니다:1932`allowWrite`, `denyWrite`, `denyRead`, `allowRead`, [`credentials.files`](#sandbox-credentials-files)의 경로는 접두사로 확인됩니다:

1933 1933 

1934| 접두사 | 의미 | 예시 |1934| 접두사 | 의미 | 예시 |

1935| :------------- | :------------------------------------------------------------ | :-------------------------------------------------------------------- |1935| :- | :- | :- |

1936| `/` | 파일시스템 루트의 절대 경로 | `/tmp/build`는 `/tmp/build`로 유지됩니다. |1936| `/` | 파일시스템 루트의 절대 경로 | `/tmp/build`는 `/tmp/build`로 유지됩니다. |

1937| `~/` | 홈 디렉토리 기준 상대 경로 | `~/.kube`는 `$HOME/.kube`가 됩니다. |1937| `~/` | 홈 디렉토리 기준 상대 경로 | `~/.kube`는 `$HOME/.kube`가 됩니다. |

1938| `./` 또는 접두사 없음 | 프로젝트 설정의 경우 프로젝트 루트 기준 상대 경로, 사용자 설정의 경우 `~/.claude` 기준 상대 경로 | `.claude/settings.json`의 `./output`은 `<project-root>/output`으로 확인됩니다. |1938| `./` 또는 접두사 없음 | 프로젝트 설정의 경우 프로젝트 루트 기준 상대 경로, 사용자 설정의 경우 `~/.claude` 기준 상대 경로 | `.claude/settings.json`의 `./output`은 `<project-root>/output`으로 확인됩니다. |


2335`mask` 항목은 이러한 선택적 필드를 수용합니다. `extract` 또는 `decode` 없이, Claude Code는 전체 파일 콘텐츠를 하나의 센티널로 대체합니다. 파일시스템 격리가 켜진 macOS에서는 Claude Code가 `extract` 또는 `decode`가 실행되기 전에 `mask` 항목을 `deny`로 적용합니다. [자격증명 파일 마스크](/docs/ko/sandboxing#mask-credential-files)를 참조하십시오.2335`mask` 항목은 이러한 선택적 필드를 수용합니다. `extract` 또는 `decode` 없이, Claude Code는 전체 파일 콘텐츠를 하나의 센티널로 대체합니다. 파일시스템 격리가 켜진 macOS에서는 Claude Code가 `extract` 또는 `decode`가 실행되기 전에 `mask` 항목을 `deny`로 적용합니다. [자격증명 파일 마스크](/docs/ko/sandboxing#mask-credential-files)를 참조하십시오.

2336 2336 

2337| 필드 | 유형 | 수행하는 작업 |2337| 필드 | 유형 | 수행하는 작업 |

2338| :----------------- | :---------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2338| :- | :- | :- |

2339| `extract` | 문자열, 최소 하나의 캡처 그룹을 포함하는 정규식 | 각 일치의 그룹 1로 캡처된 텍스트만 마스크하므로, 파일의 나머지는 파싱 가능한 상태로 유지됩니다. `decode`도 설정되면, Claude Code는 각 캡처를 즉시 대체하는 대신 가능한 JWT로 확인합니다. v2.1.221 이상이 필요합니다. |2339| `extract` | 문자열, 최소 하나의 캡처 그룹을 포함하는 정규식 | 각 일치의 그룹 1로 캡처된 텍스트만 마스크하므로, 파일의 나머지는 파싱 가능한 상태로 유지됩니다. `decode`도 설정되면, Claude Code는 각 캡처를 즉시 대체하는 대신 가능한 JWT로 확인합니다. v2.1.221 이상이 필요합니다. |

2340| `onExtractNoMatch` | `"warn"`, `"deny"`, 또는 `"error"`. 기본값 `"warn"` | `extract` 또는 `decode`가 마스크할 것을 찾지 못할 때 발생하는 일. `warn`은 파일을 샌드박스 내부에서 있는 그대로 읽을 수 있게 남기고, `deny`는 읽을 수 없게 만들고, `error`는 구성을 수정할 때까지 샌드박스 설정을 중지합니다. Claude Code는 읽기 블록이 적용되지 않을 때 `deny`를 `error`로 취급합니다. [파일시스템 격리를 비활성화](/docs/ko/sandboxing#disable-filesystem-isolation)하거나 [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) 항목이 경로를 다시 열 때입니다. v2.1.221 이상이 필요합니다. `decode` 경우는 v2.1.224 이상이 필요합니다. |2340| `onExtractNoMatch` | `"warn"`, `"deny"`, 또는 `"error"`. 기본값 `"warn"` | `extract` 또는 `decode`가 마스크할 것을 찾지 못할 때 발생하는 일. `warn`은 파일을 샌드박스 내부에서 있는 그대로 읽을 수 있게 남기고, `deny`는 읽을 수 없게 만들고, `error`는 구성을 수정할 때까지 샌드박스 설정을 중지합니다. Claude Code는 읽기 블록이 적용되지 않을 때 `deny`를 `error`로 취급합니다. [파일시스템 격리를 비활성화](/docs/ko/sandboxing#disable-filesystem-isolation)하거나 [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) 항목이 경로를 다시 열 때입니다. v2.1.221 이상이 필요합니다. `decode` 경우는 v2.1.224 이상이 필요합니다. |

2341| `decode` | 문자열 `"jwt"` | 파일에서 JSON Web Tokens(JWT)를 찾고, 기본 제공 패턴 또는 설정된 `extract`를 사용하여, 각 후보를 검증하고, 구조적으로 유효한 가짜 토큰으로 대체하므로, 샌드박스 내부의 토큰을 디코드하는 코드는 계속 작동합니다. 후보가 검증되지 않으면, `onExtractNoMatch`가 결과를 관리합니다. v2.1.224 이상이 필요합니다. |2341| `decode` | 문자열 `"jwt"` | 파일에서 JSON Web Tokens(JWT)를 찾고, 기본 제공 패턴 또는 설정된 `extract`를 사용하여, 각 후보를 검증하고, 구조적으로 유효한 가짜 토큰으로 대체하므로, 샌드박스 내부의 토큰을 디코드하는 코드는 계속 작동합니다. 후보가 검증되지 않으면, `onExtractNoMatch`가 결과를 관리합니다. v2.1.224 이상이 필요합니다. |


2410`mask` 항목은 이러한 선택적 필드를 수용합니다. `extract` 또는 `decode` 없이, Claude Code는 전체 값을 하나의 센티널로 대체합니다. `extract` 및 `decode`는 동일한 항목에서 결합될 수 없습니다.2410`mask` 항목은 이러한 선택적 필드를 수용합니다. `extract` 또는 `decode` 없이, Claude Code는 전체 값을 하나의 센티널로 대체합니다. `extract` 및 `decode`는 동일한 항목에서 결합될 수 없습니다.

2411 2411 

2412| 필드 | 유형 | 수행하는 작업 |2412| 필드 | 유형 | 수행하는 작업 |

2413| :----------------- | :---------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2413| :- | :- | :- |

2414| `extract` | 문자열, 최소 하나의 캡처 그룹을 포함하는 정규식 | 각 일치의 그룹 1로 캡처된 텍스트만 마스크합니다. 예를 들어 `DATABASE_URL` 연결 문자열 내부의 비밀번호이므로, 값의 나머지는 파싱 가능한 상태로 유지됩니다. v2.1.224 이상이 필요합니다. |2414| `extract` | 문자열, 최소 하나의 캡처 그룹을 포함하는 정규식 | 각 일치의 그룹 1로 캡처된 텍스트만 마스크합니다. 예를 들어 `DATABASE_URL` 연결 문자열 내부의 비밀번호이므로, 값의 나머지는 파싱 가능한 상태로 유지됩니다. v2.1.224 이상이 필요합니다. |

2415| `onExtractNoMatch` | `"warn"`, `"deny"`, 또는 `"error"`. 기본값 `"warn"`. `decode`를 포함하는 항목에서는 `"warn"`만 수용됨 | `extract`가 아무것도 일치하지 않을 때 발생하는 일. `warn`은 변수를 마스크 없이 전달하고, `deny`는 샌드박스 내부에서 설정 해제하고, `error`는 구성을 수정할 때까지 샌드박스 설정을 중지합니다. v2.1.224 이상이 필요합니다. |2415| `onExtractNoMatch` | `"warn"`, `"deny"`, 또는 `"error"`. 기본값 `"warn"`. `decode`를 포함하는 항목에서는 `"warn"`만 수용됨 | `extract`가 아무것도 일치하지 않을 때 발생하는 일. `warn`은 변수를 마스크 없이 전달하고, `deny`는 샌드박스 내부에서 설정 해제하고, `error`는 구성을 수정할 때까지 샌드박스 설정을 중지합니다. v2.1.224 이상이 필요합니다. |

2416| `decode` | 문자열 `"jwt"` | 전체 값이 JWT인지 검증하고 구조적으로 유효한 가짜 토큰으로 대체하므로, 샌드박스 내부의 토큰을 디코드하는 코드는 계속 작동합니다. 프록시는 송신 시 전체 실제 토큰을 대체합니다. 검증되지 않는 값은 경고와 함께 마스크 없이 전달됩니다. v2.1.224 이상이 필요합니다. |2416| `decode` | 문자열 `"jwt"` | 전체 값이 JWT인지 검증하고 구조적으로 유효한 가짜 토큰으로 대체하므로, 샌드박스 내부의 토큰을 디코드하는 코드는 계속 작동합니다. 프록시는 송신 시 전체 실제 토큰을 대체합니다. 검증되지 않는 값은 경고와 함께 마스크 없이 전달됩니다. v2.1.224 이상이 필요합니다. |


3376각 항목의 URL, 레이블 및 배지 수는 다음과 같이 제한됩니다:3376각 항목의 URL, 레이블 및 배지 수는 다음과 같이 제한됩니다:

3377 3377 

3378| 제약 | 동작 |3378| 제약 | 동작 |

3379| :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3379| :- | :- |

3380| URL 원본 | 캡처된 값은 URL 인코딩되고 구성된 URL은 템플릿의 리터럴 원본을 공유해야 합니다. 캡처는 경로 세그먼트 또는 쿼리 값을 채울 수 있지만 링크가 가리키는 위치를 변경할 수 없습니다 |3380| URL 원본 | 캡처된 값은 URL 인코딩되고 구성된 URL은 템플릿의 리터럴 원본을 공유해야 합니다. 캡처는 경로 세그먼트 또는 쿼리 값을 채울 수 있지만 링크가 가리키는 위치를 변경할 수 없습니다 |

3381| URL 길이 | 2048자보다 긴 구성된 URL은 삭제됩니다 |3381| URL 길이 | 2048자보다 긴 구성된 URL은 삭제됩니다 |

3382| URL 스키마 | `https`, `http` 또는 인식된 편집기 또는 작업 공간 딥 링크 스키마여야 합니다: `vscode`, `vscode-insiders`, `cursor`, `windsurf`, `zed`, `jetbrains`, `idea`, `slack`, `linear`, `notion`, `figma` |3382| URL 스키마 | `https`, `http` 또는 인식된 편집기 또는 작업 공간 딥 링크 스키마여야 합니다: `vscode`, `vscode-insiders`, `cursor`, `windsurf`, `zed`, `jetbrains`, `idea`, `slack`, `linear`, `notion`, `figma` |


3565각 `tips` 항목은 평문 문자열 또는 다음 필드를 포함하는 객체입니다:3565각 `tips` 항목은 평문 문자열 또는 다음 필드를 포함하는 객체입니다:

3566 3566 

3567| 필드 | 필수 | 설명 |3567| 필드 | 필수 | 설명 |

3568| :----------------- | :-- | :------------------------------------------------------------------------------------------------------------ |3568| :- | :- | :- |

3569| `id` | 예 | 최대 64개의 문자, 숫자, `.`, `_` 또는 `-`. Claude Code는 팁의 표시 기록을 이것으로 키합니다. 동일한 id를 가진 두 항목 중 Claude Code는 첫 번째를 사용합니다 |3569| `id` | 예 | 최대 64개의 문자, 숫자, `.`, `_` 또는 `-`. Claude Code는 팁의 표시 기록을 이것으로 키합니다. 동일한 id를 가진 두 항목 중 Claude Code는 첫 번째를 사용합니다 |

3570| `text` | 예 | 팁, 최대 500자의 한 줄. Claude Code는 ANSI 이스케이프 및 제어 문자를 제거하고 공백을 축소합니다 |3570| `text` | 예 | 팁, 최대 500자의 한 줄. Claude Code는 ANSI 이스케이프 및 제어 문자를 제거하고 공백을 축소합니다 |

3571| `cooldownSessions` | 아니오 | Claude Code가 팁을 다시 표시하기 전에 대기하는 세션, `0`에서 `1000`, 기본값 `0` |3571| `cooldownSessions` | 아니오 | Claude Code가 팁을 다시 표시하기 전에 대기하는 세션, `0`에서 `1000`, 기본값 `0` |


4633아래의 각 항목은 소스 유형당 하나의 허용 목록 항목과 이를 수용하는 필드를 보여줍니다. 대부분의 유형은 정확히 일치합니다. `hostPattern` 및 `pathPattern`은 정규식으로 일치하고, `github` 항목은 [소유자 와일드카드](#owner-wildcards)를 사용할 수 있습니다.4633아래의 각 항목은 소스 유형당 하나의 허용 목록 항목과 이를 수용하는 필드를 보여줍니다. 대부분의 유형은 정확히 일치합니다. `hostPattern` 및 `pathPattern`은 정규식으로 일치하고, `github` 항목은 [소유자 와일드카드](#owner-wildcards)를 사용할 수 있습니다.

4634 4634 

4635| 소스 | 예제 항목 | 필드 |4635| 소스 | 예제 항목 | 필드 |

4636| :------------ | :------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------- |4636| :- | :- | :- |

4637| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` 필수; `ref`는 분기 또는 태그; `path`는 하위 디렉터리 |4637| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` 필수; `ref`는 분기 또는 태그; `path`는 하위 디렉터리 |

4638| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` 필수; `ref` 및 `path`는 `github`과 동일 |4638| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` 필수; `ref` 및 `path`는 `github`과 동일 |

4639| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` 필수; `headers`는 인증된 액세스를 위한 HTTP 헤더 추가 |4639| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` 필수; `headers`는 인증된 액세스를 위한 HTTP 헤더 추가 |


4679일치 규칙은 두 설정 간에 다릅니다:4679일치 규칙은 두 설정 간에 다릅니다:

4680 4680 

4681| 규칙 | `strictKnownMarketplaces` | `blockedMarketplaces` |4681| 규칙 | `strictKnownMarketplaces` | `blockedMarketplaces` |

4682| ---------- | ------------------------------------------------------------------------------------ | ------------------------------------------- |4682| - | - | - |

4683| 일치하는 소스 철자 | `owner/repo` 형식만. 동일한 저장소를 복제하는 git URL은 일치하지 않습니다 | 동일한 github.com 저장소로 확인되는 git URL을 포함한 모든 철자 |4683| 일치하는 소스 철자 | `owner/repo` 형식만. 동일한 저장소를 복제하는 git URL은 일치하지 않습니다 | 동일한 github.com 저장소로 확인되는 git URL을 포함한 모든 철자 |

4684| 소유자 대소문자 | 정확한 항목 일치처럼 대소문자 구분 | 대소문자 구분 안 함 |4684| 소유자 대소문자 | 정확한 항목 일치처럼 대소문자 구분 | 대소문자 구분 안 함 |

4685| `ref` | 정확한 항목 규칙을 따릅니다. `ref`가 있는 항목은 정확한 ref를 가진 소스와만 일치하고, 없는 항목은 ref를 지정하지 않는 소스와만 일치합니다 | `ref` 없는 항목은 일치하는 저장소의 모든 ref를 차단합니다 |4685| `ref` | 정확한 항목 규칙을 따릅니다. `ref`가 있는 항목은 정확한 ref를 가진 소스와만 일치하고, 없는 항목은 ref를 지정하지 않는 소스와만 일치합니다 | `ref` 없는 항목은 일치하는 저장소의 모든 ref를 차단합니다 |


4728두 키는 다른 작업을 수행합니다. 이 표는 이들을 비교합니다:4728두 키는 다른 작업을 수행합니다. 이 표는 이들을 비교합니다:

4729 4729 

4730| 측면 | `strictKnownMarketplaces` | `extraKnownMarketplaces` |4730| 측면 | `strictKnownMarketplaces` | `extraKnownMarketplaces` |

4731| ------ | ------------------------- | ------------------------------------------ |4731| - | - | - |

4732| 목적 | 조직 정책 적용 | 팀 편의 |4732| 목적 | 조직 정책 적용 | 팀 편의 |

4733| 설정 파일 | 관리되는 설정만 | 모든 설정 파일 |4733| 설정 파일 | 관리되는 설정만 | 모든 설정 파일 |

4734| 동작 | 허용 목록에 없는 추가 차단 | 누락된 마켓플레이스 등록 |4734| 동작 | 허용 목록에 없는 추가 차단 | 누락된 마켓플레이스 등록 |


6244`"merge"` 아래에서 Claude Code는 각 키를 종류별로 결합합니다. 이 표는 각 종류에 대한 규칙을 제공합니다. 제한 허용 목록, 값 전체 취득 및 최우선 소스 전용 행은 포함하는 모든 키의 이름을 지정하고 다른 행은 예를 제공합니다:6244`"merge"` 아래에서 Claude Code는 각 키를 종류별로 결합합니다. 이 표는 각 종류에 대한 규칙을 제공합니다. 제한 허용 목록, 값 전체 취득 및 최우선 소스 전용 행은 포함하는 모든 키의 이름을 지정하고 다른 행은 예를 제공합니다:

6245 6245 

6246| 키의 종류 | Claude Code가 결합하는 방식 | 키 |6246| 키의 종류 | Claude Code가 결합하는 방식 | 키 |

6247| :----------- | :---------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |6247| :- | :- | :- |

6248| 목록 | 모든 소스의 항목을 결합합니다. | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) 및 기타 목록 키 |6248| 목록 | 모든 소스의 항목을 결합합니다. | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) 및 기타 목록 키 |

6249| 잠금 | 모든 소스가 설정하는 가장 엄격한 값을 적용합니다. 어떤 소스도 엄격한 값을 설정하지 않으면 최우선 소스에서만 더 느슨한 값을 적용합니다. | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) 및 기타 boolean 또는 enum 잠금 |6249| 잠금 | 모든 소스가 설정하는 가장 엄격한 값을 적용합니다. 어떤 소스도 엄격한 값을 설정하지 않으면 최우선 소스에서만 더 느슨한 값을 적용합니다. | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) 및 기타 boolean 또는 enum 잠금 |

6250| 제한 허용 목록 | 하위 소스의 항목을 추가하지 않고 이를 설정하는 최우선 소스에서 전체 목록을 취합니다. 최우선 소스가 설정하지 않으면 다음 소스에서 전체 목록을 취합니다. | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) 및 [`fallbackModel`](#fallbackmodel) 체인 |6250| 제한 허용 목록 | 하위 소스의 항목을 추가하지 않고 이를 설정하는 최우선 소스에서 전체 목록을 취합니다. 최우선 소스가 설정하지 않으면 다음 소스에서 전체 목록을 취합니다. | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) 및 [`fallbackModel`](#fallbackmodel) 체인 |

setup.md +1 −1

Details

116Claude Code를 Windows에서 기본적으로 실행하거나 WSL 내에서 실행할 수 있습니다. 프로젝트가 위치한 곳과 필요한 기능을 기반으로 선택하세요:116Claude Code를 Windows에서 기본적으로 실행하거나 WSL 내에서 실행할 수 있습니다. 프로젝트가 위치한 곳과 필요한 기능을 기반으로 선택하세요:

117 117 

118| 옵션 | 필요 사항 | [샌드박싱](/docs/ko/sandboxing) | 사용 시기 |118| 옵션 | 필요 사항 | [샌드박싱](/docs/ko/sandboxing) | 사용 시기 |

119| ------------ | --------------------------------------------------------------- | ---------------------- | -------------------------- |119| - | - | - | - |

120| 네이티브 Windows | 없음; [Git for Windows](https://git-scm.com/downloads/win)는 선택 사항 | 지원되지 않음 | Windows 기본 프로젝트 및 도구 |120| 네이티브 Windows | 없음; [Git for Windows](https://git-scm.com/downloads/win)는 선택 사항 | 지원되지 않음 | Windows 기본 프로젝트 및 도구 |

121| WSL 2 | WSL 2 활성화 | 지원됨 | Linux 도구 체인 또는 샌드박싱된 명령 실행 |121| WSL 2 | WSL 2 활성화 | 지원됨 | Linux 도구 체인 또는 샌드박싱된 명령 실행 |

122| WSL 1 | WSL 1 활성화 | 지원되지 않음 | WSL 2를 사용할 수 없는 경우 |122| WSL 1 | WSL 1 활성화 | 지원되지 않음 | WSL 2를 사용할 수 없는 경우 |

skills.md +10 −10

Details

43세 가지 번들된 스킬이 함께 작동하여 앱을 시작하고 테스트만이 아닌 실행 중인 앱에 대해 변경 사항을 확인합니다.43세 가지 번들된 스킬이 함께 작동하여 앱을 시작하고 테스트만이 아닌 실행 중인 앱에 대해 변경 사항을 확인합니다.

44 44 

45| 스킬 | 목적 |45| 스킬 | 목적 |

46| :--------------------- | :--------------------------------------------------------- |46| :- | :- |

47| `/run` | 앱을 시작하고 실행하여 변경 사항이 작동하는지 확인 |47| `/run` | 앱을 시작하고 실행하여 변경 사항이 작동하는지 확인 |

48| `/verify` | 앱을 빌드하고 실행하여 코드 변경이 의도한 대로 작동하는지 확인하며, 테스트나 타입 검사로 폴백하지 않음 |48| `/verify` | 앱을 빌드하고 실행하여 코드 변경이 의도한 대로 작동하는지 확인하며, 테스트나 타입 검사로 폴백하지 않음 |

49| `/run-skill-generator` | `/run`과 `/verify`에 프로젝트를 빌드하고 시작하는 방법을 학습시킴 |49| `/run-skill-generator` | `/run`과 `/verify`에 프로젝트를 빌드하고 시작하는 방법을 학습시킴 |


123스킬을 저장하는 위치에 따라 어떤 세션에서 로드될지가 결정됩니다. 홈 디렉토리에 저장하면 모든 프로젝트에서 로드되고, 저장소에 커밋하면 그곳에서 작업하는 모든 사람이 사용할 수 있으며, 플러그인이나 관리형 설정을 통해 배포하면 전체 팀이 접근할 수 있습니다.123스킬을 저장하는 위치에 따라 어떤 세션에서 로드될지가 결정됩니다. 홈 디렉토리에 저장하면 모든 프로젝트에서 로드되고, 저장소에 커밋하면 그곳에서 작업하는 모든 사람이 사용할 수 있으며, 플러그인이나 관리형 설정을 통해 배포하면 전체 팀이 접근할 수 있습니다.

124 124 

125| 위치 | 경로 | 로드되는 위치 |125| 위치 | 경로 | 로드되는 위치 |

126| :------------------- | :------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |126| :- | :- | :- |

127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` in the [managed settings directory](/docs/ko/managed-settings#delivery-mechanisms) | 조직이 배포한 머신의 모든 사용자 |127| Enterprise | `.claude/skills/<skill-name>/SKILL.md` in the [managed settings directory](/docs/ko/managed-settings#delivery-mechanisms) | 조직이 배포한 머신의 모든 사용자 |

128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | 이 머신의 모든 프로젝트, 단 [Cowork 또는 클라우드 세션](#skills-in-cowork-and-cloud-sessions)은 제외 |128| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | 이 머신의 모든 프로젝트, 단 [Cowork 또는 클라우드 세션](#skills-in-cowork-and-cloud-sessions)은 제외 |

129| Project | `.claude/skills/<skill-name>/SKILL.md` | 이 저장소의 세션. 커밋하면 팀도 사용할 수 있습니다 |129| Project | `.claude/skills/<skill-name>/SKILL.md` | 이 저장소의 세션. 커밋하면 팀도 사용할 수 있습니다 |


169두 스킬이 같은 이름을 공유할 때 각각이 어디에서 왔는지에 따라 `/name`이 실행하는 스킬이 결정됩니다. 표는 enterprise, personal, project, nested, plugin 및 claude.ai 위치, 번들된 스킬 및 명령 파일을 다룹니다:169두 스킬이 같은 이름을 공유할 때 각각이 어디에서 왔는지에 따라 `/name`이 실행하는 스킬이 결정됩니다. 표는 enterprise, personal, project, nested, plugin 및 claude.ai 위치, 번들된 스킬 및 명령 파일을 다룹니다:

170 170 

171| 같은 이름 위치 | 실행되는 스킬 |171| 같은 이름 위치 | 실행되는 스킬 |

172| :----------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |172| :- | :- |

173| Enterprise, personal 및 project 중 두 개 | Enterprise가 personal보다 우선하고 personal이 project보다 우선합니다. `~/.claude/skills/`와 프로젝트의 `.claude/skills/` 모두에 `deploy`가 있으면 `/deploy`는 personal 스킬을 실행합니다 |173| Enterprise, personal 및 project 중 두 개 | Enterprise가 personal보다 우선하고 personal이 project보다 우선합니다. `~/.claude/skills/`와 프로젝트의 `.claude/skills/` 모두에 `deploy`가 있으면 `/deploy`는 personal 스킬을 실행합니다 |

174| 해당 위치 중 하나와 [번들된 스킬](#bundled-skills) | 사용자 스킬이 번들된 명령을 대체하지만 별칭은 대체하지 않습니다. 프로젝트 `code-review` 스킬은 `/code-review`를 대체하고 번들된 별칭 `/review`는 사용자 스킬을 실행하지 않습니다 |174| 해당 위치 중 하나와 [번들된 스킬](#bundled-skills) | 사용자 스킬이 번들된 명령을 대체하지만 별칭은 대체하지 않습니다. 프로젝트 `code-review` 스킬은 `/code-review`를 대체하고 번들된 별칭 `/review`는 사용자 스킬을 실행하지 않습니다 |

175| 스킬과 `.claude/commands/`의 파일 | 스킬 |175| 스킬과 `.claude/commands/`의 파일 | 스킬 |


355부울 필드는 `true` 및 `false` 외에도 모든 문자 케이스에서 `yes`, `no`, `on`, `off`, `1`, `0`을 허용합니다. v2.1.218 이전에는 Claude Code가 `true` 및 `false`만 인식했습니다.355부울 필드는 `true` 및 `false` 외에도 모든 문자 케이스에서 `yes`, `no`, `on`, `off`, `1`, `0`을 허용합니다. v2.1.218 이전에는 Claude Code가 `true` 및 `false`만 인식했습니다.

356 356 

357| 필드 | 필수 | 설명 |357| 필드 | 필수 | 설명 |

358| :------------------------- | :-- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |358| :- | :- | :- |

359| `name` | 아니요 | 스킬 목록에 표시되는 표시 이름입니다. 기본값은 디렉토리 이름입니다. [스킬이 명령 이름을 얻는 방법](#how-a-skill-gets-its-command-name)을 참조하여 필드가 스킬을 호출하기 위해 입력하는 이름과 어떻게 상호 작용하는지 확인하세요. |359| `name` | 아니요 | 스킬 목록에 표시되는 표시 이름입니다. 기본값은 디렉토리 이름입니다. [스킬이 명령 이름을 얻는 방법](#how-a-skill-gets-its-command-name)을 참조하여 필드가 스킬을 호출하기 위해 입력하는 이름과 어떻게 상호 작용하는지 확인하세요. |

360| `description` | 권장 | 스킬이 무엇을 하는지, 언제 사용할지입니다. Claude는 이를 사용하여 스킬을 적용할 시기를 결정합니다. 생략하면 마크다운 콘텐츠의 첫 번째 비어 있지 않은 줄을 사용합니다. 주요 사용 사례를 먼저 입력하세요. 결합된 `description` 및 `when_to_use` 텍스트는 컨텍스트 사용을 줄이기 위해 스킬 목록에서 1,536자로 잘립니다. |360| `description` | 권장 | 스킬이 무엇을 하는지, 언제 사용할지입니다. Claude는 이를 사용하여 스킬을 적용할 시기를 결정합니다. 생략하면 마크다운 콘텐츠의 첫 번째 비어 있지 않은 줄을 사용합니다. 주요 사용 사례를 먼저 입력하세요. 결합된 `description` 및 `when_to_use` 텍스트는 컨텍스트 사용을 줄이기 위해 스킬 목록에서 1,536자로 잘립니다. |

361| `when_to_use` | 아니요 | Claude가 스킬을 호출해야 할 때에 대한 추가 컨텍스트입니다. 예를 들어 트리거 구문이나 예제 요청입니다. 스킬 목록의 `description`에 추가되며 1,536자 제한에 포함됩니다. |361| `when_to_use` | 아니요 | Claude가 스킬을 호출해야 할 때에 대한 추가 컨텍스트입니다. 예를 들어 트리거 구문이나 예제 요청입니다. 스킬 목록의 `description`에 추가되며 1,536자 제한에 포함됩니다. |


384Claude Code는 위 표의 모든 필드를 허용합니다. Claude Code 외부에서는 [Agent Skills](https://agentskills.io) 사양의 필드만 사용할 수 있습니다.384Claude Code는 위 표의 모든 필드를 허용합니다. Claude Code 외부에서는 [Agent Skills](https://agentskills.io) 사양의 필드만 사용할 수 있습니다.

385 385 

386| 배포 경로 | 사용할 수 있는 프론트매터 필드 |386| 배포 경로 | 사용할 수 있는 프론트매터 필드 |

387| :--------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------- |387| :- | :- |

388| [모든 수준](#where-skills-live)의 Claude Code 스킬(예: [플러그인](/docs/ko/plugins) 스킬 포함) | 위 표의 모든 필드 |388| [모든 수준](#where-skills-live)의 Claude Code 스킬(예: [플러그인](/docs/ko/plugins) 스킬 포함) | 위 표의 모든 필드 |

389| claude.ai 스킬 업로드, Skills API, [anthropics/skills](https://github.com/anthropics/skills)의 `package_skill.py`로 패키징 | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |389| claude.ai 스킬 업로드, Skills API, [anthropics/skills](https://github.com/anthropics/skills)의 `package_skill.py`로 패키징 | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |

390 390 


407아래 표는 각 레이아웃에 대해 명령 이름이 어디에서 나오는지 보여줍니다.407아래 표는 각 레이아웃에 대해 명령 이름이 어디에서 나오는지 보여줍니다.

408 408 

409| 스킬 위치 | 명령 이름 소스 | 예제 |409| 스킬 위치 | 명령 이름 소스 | 예제 |

410| :----------------------------------------------------------------- | :--------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------- |410| :- | :- | :- |

411| `~/.claude/skills/` 또는 `.claude/skills/` 아래의 스킬 디렉토리 | 디렉토리 이름 | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |411| `~/.claude/skills/` 또는 `.claude/skills/` 아래의 스킬 디렉토리 | 디렉토리 이름 | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` |

412| [중첩된](#where-skills-live) `.claude/skills/` 디렉토리(이름이 다른 스킬과 충돌할 때) | 작업 디렉토리를 기준으로 한 서브디렉토리 경로, 그 다음 스킬 디렉토리 이름 | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |412| [중첩된](#where-skills-live) `.claude/skills/` 디렉토리(이름이 다른 스킬과 충돌할 때) | 작업 디렉토리를 기준으로 한 서브디렉토리 경로, 그 다음 스킬 디렉토리 이름 | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |

413| `.claude/commands/` 아래의 파일 | 확장자 없는 파일 이름 | `.claude/commands/deploy.md` → `/deploy` |413| `.claude/commands/` 아래의 파일 | 확장자 없는 파일 이름 | `.claude/commands/deploy.md` → `/deploy` |


429스킬은 스킬 콘텐츠의 동적 값에 대한 문자열 치환을 지원합니다.429스킬은 스킬 콘텐츠의 동적 값에 대한 문자열 치환을 지원합니다.

430 430 

431| 변수 | 설명 |431| 변수 | 설명 |

432| :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |432| :- | :- |

433| `$ARGUMENTS` | 스킬을 호출할 때 전달된 모든 인수입니다. 플레이스홀더가 인수를 받지 않으면 Claude Code는 `ARGUMENTS: <value>`를 스킬 콘텐츠 끝에 추가합니다. [스킬에 인수 전달](#pass-arguments-to-skills)을 참조하세요. |433| `$ARGUMENTS` | 스킬을 호출할 때 전달된 모든 인수입니다. 플레이스홀더가 인수를 받지 않으면 Claude Code는 `ARGUMENTS: <value>`를 스킬 콘텐츠 끝에 추가합니다. [스킬에 인수 전달](#pass-arguments-to-skills)을 참조하세요. |

434| `$ARGUMENTS[N]` | `$ARGUMENTS[0]`(첫 번째 인수)과 같이 0 기반 인덱스로 특정 인수에 액세스합니다. |434| `$ARGUMENTS[N]` | `$ARGUMENTS[0]`(첫 번째 인수)과 같이 0 기반 인덱스로 특정 인수에 액세스합니다. |

435| `$N` | `$0`(첫 번째 인수) 또는 `$1`(두 번째 인수)과 같이 `$ARGUMENTS[N]`의 약자입니다. |435| `$N` | `$0`(첫 번째 인수) 또는 `$1`(두 번째 인수)과 같이 `$ARGUMENTS[N]`의 약자입니다. |


536두 필드가 호출 및 컨텍스트 로딩에 어떻게 영향을 미치는지는 다음과 같습니다.536두 필드가 호출 및 컨텍스트 로딩에 어떻게 영향을 미치는지는 다음과 같습니다.

537 537 

538| 프론트매터 | 사용자가 호출할 수 있음 | Claude가 호출할 수 있음 | 컨텍스트에 로드되는 시기 |538| 프론트매터 | 사용자가 호출할 수 있음 | Claude가 호출할 수 있음 | 컨텍스트에 로드되는 시기 |

539| :------------------------------- | :------------ | :--------------- | :---------------------------------- |539| :- | :- | :- | :- |

540| (기본값) | 예 | 예 | 설명은 항상 컨텍스트에 있고, 호출될 때 전체 스킬이 로드됨 |540| (기본값) | 예 | 예 | 설명은 항상 컨텍스트에 있고, 호출될 때 전체 스킬이 로드됨 |

541| `disable-model-invocation: true` | 예 | 아니요 | 설명은 컨텍스트에 없고, 사용자가 호출할 때 전체 스킬이 로드됨 |541| `disable-model-invocation: true` | 예 | 아니요 | 설명은 컨텍스트에 없고, 사용자가 호출할 때 전체 스킬이 로드됨 |

542| `user-invocable: false` | 아니요 | 예 | 설명은 항상 컨텍스트에 있고, 호출될 때 전체 스킬이 로드됨 |542| `user-invocable: false` | 아니요 | 예 | 설명은 항상 컨텍스트에 있고, 호출될 때 전체 스킬이 로드됨 |


760스킬과 [서브에이전트](/docs/ko/sub-agents)는 두 방향으로 함께 작동합니다:760스킬과 [서브에이전트](/docs/ko/sub-agents)는 두 방향으로 함께 작동합니다:

761 761 

762| 접근 방식 | 시스템 프롬프트 | 작업 | 또한 로드 |762| 접근 방식 | 시스템 프롬프트 | 작업 | 또한 로드 |

763| :--------------------- | :-------------- | :------------- | :--------------------------------------------------------------------------------- |763| :- | :- | :- | :- |

764| `context: fork`가 있는 스킬 | 에이전트 유형에서 | SKILL.md 콘텐츠 | CLAUDE.md, 에이전트의 [시작 컨텍스트](/docs/ko/sub-agents#what-loads-at-startup)에 따라 |764| `context: fork`가 있는 스킬 | 에이전트 유형에서 | SKILL.md 콘텐츠 | CLAUDE.md, 에이전트의 [시작 컨텍스트](/docs/ko/sub-agents#what-loads-at-startup)에 따라 |

765| `skills` 필드가 있는 서브에이전트 | 서브에이전트의 마크다운 본문 | Claude의 위임 메시지 | 사전 로드된 스킬 + CLAUDE.md, 서브에이전트의 [시작 컨텍스트](/docs/ko/sub-agents#what-loads-at-startup)에 따라 |765| `skills` 필드가 있는 서브에이전트 | 서브에이전트의 마크다운 본문 | Claude의 위임 메시지 | 사전 로드된 스킬 + CLAUDE.md, 서브에이전트의 [시작 컨텍스트](/docs/ko/sub-agents#what-loads-at-startup)에 따라 |

766 766 


843각 키는 스킬 이름이고 각 값은 다음 네 가지 상태 중 하나입니다:843각 키는 스킬 이름이고 각 값은 다음 네 가지 상태 중 하나입니다:

844 844 

845| 값 | Claude에 나열됨 | `/` 메뉴에서 |845| 값 | Claude에 나열됨 | `/` 메뉴에서 |

846| :---------------------- | :---------- | :------- |846| :- | :- | :- |

847| `"on"` | 이름 및 설명 | 예 |847| `"on"` | 이름 및 설명 | 예 |

848| `"name-only"` | 이름만 | 예 |848| `"name-only"` | 이름만 | 예 |

849| `"user-invocable-only"` | 숨김 | 예 |849| `"user-invocable-only"` | 숨김 | 예 |

slack.md +4 −4

Details

33Slack에서 Claude Code를 사용하기 전에 다음을 확인하세요:33Slack에서 Claude Code를 사용하기 전에 다음을 확인하세요:

34 34 

35| 요구 사항 | 세부 정보 |35| 요구 사항 | 세부 정보 |

36| :-------- | :--------------------------------------------------------------------------------- |36| :- | :- |

37| Claude 플랜 | Claude Code 액세스가 있는 Pro, Max, Team 또는 Enterprise(프리미엄 시트 또는 Chat + Claude Code 시트) |37| Claude 플랜 | Claude Code 액세스가 있는 Pro, Max, Team 또는 Enterprise(프리미엄 시트 또는 Chat + Claude Code 시트) |

38| 클라우드 세션 | [클라우드 세션](/docs/ko/claude-code-on-the-web)이 계정에 대해 활성화되어 있습니다 |38| 클라우드 세션 | [클라우드 세션](/docs/ko/claude-code-on-the-web)이 계정에 대해 활성화되어 있습니다 |

39| GitHub 계정 | [claude.ai/code](https://claude.ai/code)에서 연결되어 있으며 최소 하나의 저장소가 인증됨 |39| GitHub 계정 | [claude.ai/code](https://claude.ai/code)에서 연결되어 있으며 최소 하나의 저장소가 인증됨 |


69 계정을 연결한 후 Claude가 Slack의 메시지를 처리하는 방식을 구성합니다. Slack의 Claude 앱 홈으로 이동하여 **라우팅 모드** 설정을 찾습니다.69 계정을 연결한 후 Claude가 Slack의 메시지를 처리하는 방식을 구성합니다. Slack의 Claude 앱 홈으로 이동하여 **라우팅 모드** 설정을 찾습니다.

70 70 

71 | 모드 | 동작 |71 | 모드 | 동작 |

72 | :---------- | :------------------------------------------------------------------------------------------------------------------------------------ |72 | :- | :- |

73 | **코드만** | Claude는 모든 @mentions을 Claude Code 세션으로 라우팅합니다. Claude를 Slack에서 개발 작업 전용으로 사용하는 팀에 가장 적합합니다. |73 | **코드만** | Claude는 모든 @mentions을 Claude Code 세션으로 라우팅합니다. Claude를 Slack에서 개발 작업 전용으로 사용하는 팀에 가장 적합합니다. |

74 | **코드 + 채팅** | Claude는 각 메시지를 분석하고 Claude Code(코딩 작업용)와 Claude Chat(작성, 분석 및 일반 질문용) 간에 지능형으로 라우팅합니다. 모든 유형의 작업에 대해 단일 @Claude 진입점을 원하는 팀에 가장 적합합니다. |74 | **코드 + 채팅** | Claude는 각 메시지를 분석하고 Claude Code(코딩 작업용)와 Claude Chat(작성, 분석 및 일반 질문용) 간에 지능형으로 라우팅합니다. 모든 유형의 작업에 대해 단일 @Claude 진입점을 원하는 팀에 가장 적합합니다. |

75 75 


152</h3>152</h3>

153 153 

154| 액세스 유형 | 요구 사항 |154| 액세스 유형 | 요구 사항 |

155| :------------- | :---------------------------------------- |155| :- | :- |

156| Claude Code 세션 | 각 사용자는 자신의 Claude 계정에서 세션을 실행합니다 |156| Claude Code 세션 | 각 사용자는 자신의 Claude 계정에서 세션을 실행합니다 |

157| 사용량 및 속도 제한 | 세션은 개별 사용자의 플랜 제한에 대해 계산됩니다 |157| 사용량 및 속도 제한 | 세션은 개별 사용자의 플랜 제한에 대해 계산됩니다 |

158| 저장소 액세스 | 사용자는 개인적으로 연결한 저장소에만 액세스할 수 있습니다 |158| 저장소 액세스 | 사용자는 개인적으로 연결한 저장소에만 액세스할 수 있습니다 |


165Slack 워크스페이스 관리자는 Claude 앱을 워크스페이스에서 사용할 수 있는지 여부를 제어합니다:165Slack 워크스페이스 관리자는 Claude 앱을 워크스페이스에서 사용할 수 있는지 여부를 제어합니다:

166 166 

167| 제어 | 설명 |167| 제어 | 설명 |

168| :----------------- | :------------------------------------------------------------------------ |168| :- | :- |

169| 앱 설치 | 워크스페이스 관리자는 Slack 앱 마켓플레이스에서 Claude 앱을 설치할지 여부를 결정합니다 |169| 앱 설치 | 워크스페이스 관리자는 Slack 앱 마켓플레이스에서 Claude 앱을 설치할지 여부를 결정합니다 |

170| Enterprise Grid 배포 | Enterprise Grid 조직의 경우 조직 관리자는 어떤 워크스페이스가 Claude 앱에 액세스할 수 있는지 제어할 수 있습니다 |170| Enterprise Grid 배포 | Enterprise Grid 조직의 경우 조직 관리자는 어떤 워크스페이스가 Claude 앱에 액세스할 수 있는지 제어할 수 있습니다 |

171| 앱 제거 | 워크스페이스에서 앱을 제거하면 해당 워크스페이스의 모든 사용자에 대한 액세스가 즉시 취소됩니다 |171| 앱 제거 | 워크스페이스에서 앱을 제거하면 해당 워크스페이스의 모든 사용자에 대한 액세스가 즉시 취소됩니다 |

statusline.md +2 −2

Details

184Claude Code는 다음 JSON 필드를 stdin을 통해 스크립트로 전송합니다:184Claude Code는 다음 JSON 필드를 stdin을 통해 스크립트로 전송합니다:

185 185 

186| 필드 | 설명 |186| 필드 | 설명 |

187| -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |187| - | - |

188| `model.id`, `model.display_name` | 현재 모델 식별자 및 표시 이름 |188| `model.id`, `model.display_name` | 현재 모델 식별자 및 표시 이름 |

189| `cwd`, `workspace.current_dir` | 현재 작업 디렉토리입니다. 두 필드 모두 동일한 값을 포함하며, `workspace.current_dir`은 `workspace.project_dir`과의 일관성을 위해 선호됩니다. |189| `cwd`, `workspace.current_dir` | 현재 작업 디렉토리입니다. 두 필드 모두 동일한 값을 포함하며, `workspace.current_dir`은 `workspace.project_dir`과의 일관성을 위해 선호됩니다. |

190| `workspace.project_dir` | Claude Code가 시작된 디렉토리이며, 세션 중에 작업 디렉토리가 변경되면 `cwd`와 다를 수 있습니다. |190| `workspace.project_dir` | Claude Code가 시작된 디렉토리이며, 세션 중에 작업 디렉토리가 변경되면 `cwd`와 다를 수 있습니다. |


396표는 각 필드와 그 의미를 나열합니다. 타임스탬프는 Unix epoch 초이며, `rate_limits.*.resets_at`과 동일한 단위입니다. 짧은 상태 라인은 일반적으로 이 중 하나 또는 두 개를 표시합니다. `warm` 및 `hit_ratio`는 캐시 상태를 가장 직접적으로 요약합니다.396표는 각 필드와 그 의미를 나열합니다. 타임스탬프는 Unix epoch 초이며, `rate_limits.*.resets_at`과 동일한 단위입니다. 짧은 상태 라인은 일반적으로 이 중 하나 또는 두 개를 표시합니다. `warm` 및 `hit_ratio`는 캐시 상태를 가장 직접적으로 요약합니다.

397 397 

398| 필드 | 설명 |398| 필드 | 설명 |

399| ------------------------ | ------------------------------------------------------------------------------------------------------------------ |399| - | - |

400| `warm` | 캐시된 접두사가 여전히 TTL 내에 있는지 여부입니다. 마지막 응답이 캐시 토큰을 보고하지 않았을 때 `false`이며, `caching_observed`가 `true`인 경우에도 마찬가지입니다. |400| `warm` | 캐시된 접두사가 여전히 TTL 내에 있는지 여부입니다. 마지막 응답이 캐시 토큰을 보고하지 않았을 때 `false`이며, `caching_observed`가 `true`인 경우에도 마찬가지입니다. |

401| `caching_observed` | 이 세션의 응답이 캐시 토큰을 보고했는지 여부입니다. `false`는 프롬프트 캐싱이 꺼져 있거나 공급자 또는 게이트웨이가 이를 보고하지 않음을 의미합니다. |401| `caching_observed` | 이 세션의 응답이 캐시 토큰을 보고했는지 여부입니다. `false`는 프롬프트 캐싱이 꺼져 있거나 공급자 또는 게이트웨이가 이를 보고하지 않음을 의미합니다. |

402| `ttl` | 현재 캐시된 접두사의 [캐시 수명](/docs/ko/prompt-caching#cache-lifetime): `"5m"` 또는 `"1h"` |402| `ttl` | 현재 캐시된 접두사의 [캐시 수명](/docs/ko/prompt-caching#cache-lifetime): `"5m"` 또는 `"1h"` |

sub-agents.md +9 −9

Details

75 Claude Code에는 특정 작업을 위한 추가 도우미 에이전트가 포함되어 있습니다. 이들은 일반적으로 자동으로 호출되므로 직접 사용할 필요가 없습니다.75 Claude Code에는 특정 작업을 위한 추가 도우미 에이전트가 포함되어 있습니다. 이들은 일반적으로 자동으로 호출되므로 직접 사용할 필요가 없습니다.

76 76 

77 | 에이전트 | 모델 | Claude가 사용하는 경우 |77 | 에이전트 | 모델 | Claude가 사용하는 경우 |

78 | :---------------- | :--------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |78 | :- | :- | :- |

79 | claude | 자신의 모델이 없음; Claude가 subagent로 생성할 때 [모델 순서](#choose-a-model)를 따름 | 작업이 더 특화된 에이전트에 맞지 않을 때. subagent에 [사용 가능한](#available-tools) 모든 도구가 있는 catch-all입니다. 또한 dispatched [background session](/docs/ko/agent-view)의 기본 에이전트; [시작하는 권한 모드](/docs/ko/agent-view#permission-mode-model-and-effort)는 세션이 시작된 방식에 따라 다릅니다. |79 | claude | 자신의 모델이 없음; Claude가 subagent로 생성할 때 [모델 순서](#choose-a-model)를 따름 | 작업이 더 특화된 에이전트에 맞지 않을 때. subagent에 [사용 가능한](#available-tools) 모든 도구가 있는 catch-all입니다. 또한 dispatched [background session](/docs/ko/agent-view)의 기본 에이전트; [시작하는 권한 모드](/docs/ko/agent-view#permission-mode-model-and-effort)는 세션이 시작된 방식에 따라 다릅니다. |

80 | statusline-setup | Sonnet | `/statusline`을 실행하여 상태 표시줄을 구성할 때 |80 | statusline-setup | Sonnet | `/statusline`을 실행하여 상태 표시줄을 구성할 때 |

81 | claude-code-guide | Haiku | Claude Code 기능에 대한 질문을 할 때 |81 | claude-code-guide | Haiku | Claude Code 기능에 대한 질문을 할 때 |


169범위에 따라 서브에이전트 파일을 다른 위치에 저장합니다. 여러 서브에이전트가 같은 이름을 공유할 때, Claude Code는 우선순위가 높은 위치의 서브에이전트를 사용합니다.169범위에 따라 서브에이전트 파일을 다른 위치에 저장합니다. 여러 서브에이전트가 같은 이름을 공유할 때, Claude Code는 우선순위가 높은 위치의 서브에이전트를 사용합니다.

170 170 

171| 위치 | 범위 | 우선순위 | 생성 방법 |171| 위치 | 범위 | 우선순위 | 생성 방법 |

172| :------------------- | :------------ | :----- | :---------------------------------- |172| :- | :- | :- | :- |

173| 관리 설정 | 조직 전체 | 1 (최고) | [관리 설정](/docs/ko/settings)을 통해 배포 |173| 관리 설정 | 조직 전체 | 1 (최고) | [관리 설정](/docs/ko/settings)을 통해 배포 |

174| `--agents` CLI 플래그 | 현재 세션 | 2 | Claude Code 시작 시 JSON 전달 |174| `--agents` CLI 플래그 | 현재 세션 | 2 | Claude Code 시작 시 JSON 전달 |

175| `.claude/agents/` | 현재 프로젝트 | 3 | Claude에 요청하거나 파일을 수동으로 생성 |175| `.claude/agents/` | 현재 프로젝트 | 3 | Claude에 요청하거나 파일을 수동으로 생성 |


304다중 단어 필드 이름은 `maxTurns`와 `disallowedTools`와 같이 camelCase를 사용하며, 표와 정확히 일치해야 합니다. Claude Code는 인식하지 못하는 필드를 오류 보고 없이 무시합니다. 서브에이전트 파일이 로드되지 않은 이유를 알아보려면 [Claude Code가 건너뛰는 서브에이전트 파일](#subagent-files-claude-code-skips)을 참조하세요.304다중 단어 필드 이름은 `maxTurns`와 `disallowedTools`와 같이 camelCase를 사용하며, 표와 정확히 일치해야 합니다. Claude Code는 인식하지 못하는 필드를 오류 보고 없이 무시합니다. 서브에이전트 파일이 로드되지 않은 이유를 알아보려면 [Claude Code가 건너뛰는 서브에이전트 파일](#subagent-files-claude-code-skips)을 참조하세요.

305 305 

306| 필드 | 필수 | 설명 |306| 필드 | 필수 | 설명 |

307| :---------------- | :-- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |307| :- | :- | :- |

308| `name` | 예 | `code-reviewer` 또는 `reviewer-v2`와 같은 고유 식별자. [Hooks](/docs/ko/hooks#subagentstart)는 이 값을 `agent_type`으로 받습니다. 파일 이름이 일치할 필요는 없습니다. 이름은 `:`를 포함할 수 없습니다. `:`는 `my-plugin:reviewer`와 같은 [플러그인 범위 식별자](/docs/ko/plugins/overview)에 예약되어 있습니다. Claude Code는 이름을 포함하는 파일을 로드하지 않고 디버그 로그에 오류를 기록합니다. v2.1.218 이전에는 이러한 이름이 허용되었습니다 |308| `name` | 예 | `code-reviewer` 또는 `reviewer-v2`와 같은 고유 식별자. [Hooks](/docs/ko/hooks#subagentstart)는 이 값을 `agent_type`으로 받습니다. 파일 이름이 일치할 필요는 없습니다. 이름은 `:`를 포함할 수 없습니다. `:`는 `my-plugin:reviewer`와 같은 [플러그인 범위 식별자](/docs/ko/plugins/overview)에 예약되어 있습니다. Claude Code는 이름을 포함하는 파일을 로드하지 않고 디버그 로그에 오류를 기록합니다. v2.1.218 이전에는 이러한 이름이 허용되었습니다 |

309| `description` | 예 | Claude가 이 서브에이전트에 위임해야 할 때 |309| `description` | 예 | Claude가 이 서브에이전트에 위임해야 할 때 |

310| `tools` | 아니오 | 서브에이전트가 사용할 수 있는 [도구](#available-tools). `Read, Grep, Bash`와 같은 쉼표로 구분된 문자열 또는 YAML 목록입니다. 생략하면 서브에이전트가 사용 가능한 모든 도구를 상속합니다. 목록의 항목이 도구로 확인되지 않으면, 서브에이전트는 일반적으로 항목을 이름 지정하는 오류로 [시작에 실패](/docs/ko/errors#agent-would-be-spawned-with-zero-tools)합니다. 스킬을 컨텍스트에 미리 로드하려면 여기에 `Skill`을 나열하는 대신 `skills` 필드를 사용하세요 |310| `tools` | 아니오 | 서브에이전트가 사용할 수 있는 [도구](#available-tools). `Read, Grep, Bash`와 같은 쉼표로 구분된 문자열 또는 YAML 목록입니다. 생략하면 서브에이전트가 사용 가능한 모든 도구를 상속합니다. 목록의 항목이 도구로 확인되지 않으면, 서브에이전트는 일반적으로 항목을 이름 지정하는 오류로 [시작에 실패](/docs/ko/errors#agent-would-be-spawned-with-zero-tools)합니다. 스킬을 컨텍스트에 미리 로드하려면 여기에 `Skill`을 나열하는 대신 `skills` 필드를 사용하세요 |


597`permissionMode`는 이러한 값을 허용하며, `manual`을 `default`의 별칭으로 허용합니다:597`permissionMode`는 이러한 값을 허용하며, `manual`을 `default`의 별칭으로 허용합니다:

598 598 

599| 모드 | 동작 |599| 모드 | 동작 |

600| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |600| :- | :- |

601| `default` | 수동 모드: 권한 프롬프트 |601| `default` | 수동 모드: 권한 프롬프트 |

602| `acceptEdits` | 자동 수락 파일 편집 및 작업 디렉토리 또는 `additionalDirectories`의 경로에 대한 일반적인 파일시스템 명령 |602| `acceptEdits` | 자동 수락 파일 편집 및 작업 디렉토리 또는 `additionalDirectories`의 경로에 대한 일반적인 파일시스템 명령 |

603| `auto` | [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode): 백그라운드 분류자가 명령 및 보호된 디렉토리 쓰기를 검토합니다 |603| `auto` | [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode): 백그라운드 분류자가 명령 및 보호된 디렉토리 쓰기를 검토합니다 |


653메모리가 얼마나 광범위하게 적용되어야 하는지에 따라 범위를 선택합니다:653메모리가 얼마나 광범위하게 적용되어야 하는지에 따라 범위를 선택합니다:

654 654 

655| 범위 | 위치 | 사용 시기 |655| 범위 | 위치 | 사용 시기 |

656| :-------- | :-------------------------------------------- | :------------------------------------------ |656| :- | :- | :- |

657| `user` | `~/.claude/agent-memory/<name-of-agent>/` | 서브에이전트가 모든 프로젝트에서 학습을 기억해야 할 때 |657| `user` | `~/.claude/agent-memory/<name-of-agent>/` | 서브에이전트가 모든 프로젝트에서 학습을 기억해야 할 때 |

658| `project` | `.claude/agent-memory/<name-of-agent>/` | 서브에이전트의 지식이 프로젝트 특정이고 버전 관리를 통해 공유 가능할 때 |658| `project` | `.claude/agent-memory/<name-of-agent>/` | 서브에이전트의 지식이 프로젝트 특정이고 버전 관리를 통해 공유 가능할 때 |

659| `local` | `.claude/agent-memory-local/<name-of-agent>/` | 서브에이전트의 지식이 프로젝트 특정이지만 버전 관리에 체크인되지 않아야 할 때 |659| `local` | `.claude/agent-memory-local/<name-of-agent>/` | 서브에이전트의 지식이 프로젝트 특정이지만 버전 관리에 체크인되지 않아야 할 때 |


782모든 [훅 이벤트](/docs/ko/hooks#hook-events)가 지원됩니다. 서브에이전트에 가장 일반적인 이벤트는:782모든 [훅 이벤트](/docs/ko/hooks#hook-events)가 지원됩니다. 서브에이전트에 가장 일반적인 이벤트는:

783 783 

784| 이벤트 | 매처 입력 | 발생 시기 |784| 이벤트 | 매처 입력 | 발생 시기 |

785| :------------ | :---- | :--------------------------------------- |785| :- | :- | :- |

786| `PreToolUse` | 도구 이름 | 서브에이전트가 도구를 사용하기 전 |786| `PreToolUse` | 도구 이름 | 서브에이전트가 도구를 사용하기 전 |

787| `PostToolUse` | 도구 이름 | 서브에이전트가 도구를 사용한 후 |787| `PostToolUse` | 도구 이름 | 서브에이전트가 도구를 사용한 후 |

788| `Stop` | (없음) | 서브에이전트가 완료될 때(런타임에 `SubagentStop`으로 변환됨) |788| `Stop` | (없음) | 서브에이전트가 완료될 때(런타임에 `SubagentStop`으로 변환됨) |


816주 세션에서 서브에이전트 라이프사이클 이벤트에 응답하는 `settings.json`의 훅을 구성합니다.816주 세션에서 서브에이전트 라이프사이클 이벤트에 응답하는 `settings.json`의 훅을 구성합니다.

817 817 

818| 이벤트 | 매처 입력 | 발생 시기 |818| 이벤트 | 매처 입력 | 발생 시기 |

819| :-------------- | :--------- | :---------------- |819| :- | :- | :- |

820| `SubagentStart` | 에이전트 유형 이름 | 서브에이전트가 실행을 시작할 때 |820| `SubagentStart` | 에이전트 유형 이름 | 서브에이전트가 실행을 시작할 때 |

821| `SubagentStop` | 에이전트 유형 이름 | 서브에이전트가 완료될 때 |821| `SubagentStop` | 에이전트 유형 이름 | 서브에이전트가 완료될 때 |

822 822 


1245이 키를 사용하여 패널과 상호 작용합니다:1245이 키를 사용하여 패널과 상호 작용합니다:

1246 1246 

1247| 키 | 작업 |1247| 키 | 작업 |

1248| :-------- | :------------------------------------------------------------------------------------------------------- |1248| :- | :- |

1249| `↑` / `↓` | 행 간 이동 |1249| `↑` / `↓` | 행 간 이동 |

1250| `Enter` | 선택한 포크의 트랜스크립트를 열고 후속 메시지 전송 |1250| `Enter` | 선택한 포크의 트랜스크립트를 열고 후속 메시지 전송 |

1251| `x` | 실행 중인 경우 선택한 포크를 중지하거나, 더 이상 실행 중이 아닌 경우 행을 닫습니다. 주 세션 행 또는 `Enter`로 트랜스크립트를 연 포크의 행에서는 `x`가 프롬프트에 입력됩니다 |1251| `x` | 실행 중인 경우 선택한 포크를 중지하거나, 더 이상 실행 중이 아닌 경우 행을 닫습니다. 주 세션 행 또는 `Enter`로 트랜스크립트를 연 포크의 행에서는 `x`가 프롬프트에 입력됩니다 |


1260포크는 생성 시점의 주 세션의 모든 것을 상속합니다. 다른 subagent는 정의에서 새로 시작합니다.1260포크는 생성 시점의 주 세션의 모든 것을 상속합니다. 다른 subagent는 정의에서 새로 시작합니다.

1261 1261 

1262| | 포크 | 비포크 subagent |1262| | 포크 | 비포크 subagent |

1263| :------------ | :------------- | :------------------------------------------------------------------------------------- |1263| :- | :- | :- |

1264| 컨텍스트 | 전체 대화 기록 | 전달하는 프롬프트를 사용한 새로운 컨텍스트 |1264| 컨텍스트 | 전체 대화 기록 | 전달하는 프롬프트를 사용한 새로운 컨텍스트 |

1265| 시스템 프롬프트 및 도구 | 주 세션과 동일 | Subagent의 [정의 파일](#write-subagent-files)에서, [background 실행을 위해 필터링됨](#available-tools) |1265| 시스템 프롬프트 및 도구 | 주 세션과 동일 | Subagent의 [정의 파일](#write-subagent-files)에서, [background 실행을 위해 필터링됨](#available-tools) |

1266| 모델 | 주 세션과 동일 | Subagent의 `model` 필드에서 |1266| 모델 | 주 세션과 동일 | Subagent의 `model` 필드에서 |

Details

27대부분의 터미널에서는 Shift+Enter를 누를 수도 있지만, 터미널 에뮬레이터에 따라 지원이 다릅니다:27대부분의 터미널에서는 Shift+Enter를 누를 수도 있지만, 터미널 에뮬레이터에 따라 지원이 다릅니다:

28 28 

29| 터미널 | 줄바꿈을 위한 Shift+Enter |29| 터미널 | 줄바꿈을 위한 Shift+Enter |

30| :---------------------------------------------------------------------- | :-------------------------------------- |30| :- | :- |

31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | 설정 없이 작동 |31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | 설정 없이 작동 |

32| kitty 키보드 프로토콜을 지원하는 기타 터미널(예: foot 및 Alacritty 0.16 이상) | 설정 없이 작동합니다. Claude Code v2.1.269 이상 필요 |32| kitty 키보드 프로토콜을 지원하는 기타 터미널(예: foot 및 Alacritty 0.16 이상) | 설정 없이 작동합니다. Claude Code v2.1.269 이상 필요 |

33| VS Code, Cursor, Devin Desktop, Alacritty 0.16 이전, Zed | 한 번 `/terminal-setup` 실행 |33| VS Code, Cursor, Devin Desktop, Alacritty 0.16 이전, Zed | 한 번 `/terminal-setup` 실행 |


161각 사용자 정의 테마는 `~/.claude/themes/`의 JSON 파일입니다. `.json` 확장자를 제외한 파일 이름이 테마의 슬러그이며, 테마를 선택하면 `custom:<slug>`이 테마 기본 설정으로 저장됩니다. 파일에는 세 가지 선택적 필드가 있습니다.161각 사용자 정의 테마는 `~/.claude/themes/`의 JSON 파일입니다. `.json` 확장자를 제외한 파일 이름이 테마의 슬러그이며, 테마를 선택하면 `custom:<slug>`이 테마 기본 설정으로 저장됩니다. 파일에는 세 가지 선택적 필드가 있습니다.

162 162 

163| 필드 | 유형 | 설명 |163| 필드 | 유형 | 설명 |

164| :---------- | :----- | :------------------------------------------------------------------------------------------------------------------------- |164| :- | :- | :- |

165| `name` | string | `/theme`에 표시되는 표시 레이블입니다. 파일 이름 슬러그로 기본 설정됩니다 |165| `name` | string | `/theme`에 표시되는 표시 레이블입니다. 파일 이름 슬러그로 기본 설정됩니다 |

166| `base` | string | 테마가 시작되는 기본 제공 사전 설정: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, 또는 `light-ansi`. 기본값은 `dark`입니다 |166| `base` | string | 테마가 시작되는 기본 제공 사전 설정: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, 또는 `light-ansi`. 기본값은 `dark`입니다 |

167| `overrides` | object | 색상 토큰 이름을 색상 값으로 매핑합니다. 여기에 나열되지 않은 토큰은 기본 사전 설정으로 통과됩니다 |167| `overrides` | object | 색상 토큰 이름을 색상 값으로 매핑합니다. 여기에 나열되지 않은 토큰은 기본 사전 설정으로 통과됩니다 |


210 기본 브랜드 악센트와 인터페이스 전체에서 사용되는 전경 텍스트 음영을 제어합니다.210 기본 브랜드 악센트와 인터페이스 전체에서 사용되는 전경 텍스트 음영을 제어합니다.

211 211 

212 | 토큰 | 제어 대상 |212 | 토큰 | 제어 대상 |

213 | :------------ | :------------------------------- |213 | :- | :- |

214 | `claude` | 기본 브랜드 악센트, 스피너 및 어시스턴트 레이블에 사용됨 |214 | `claude` | 기본 브랜드 악센트, 스피너 및 어시스턴트 레이블에 사용됨 |

215 | `text` | 기본 전경 텍스트 |215 | `text` | 기본 전경 텍스트 |

216 | `inverseText` | 상태 배지와 같은 색상 배경 위에 그려진 텍스트 |216 | `inverseText` | 상태 배지와 같은 색상 배경 위에 그려진 텍스트 |


227 메시지 및 표시기 전체에서 성공, 실패 및 경고 상태를 신호합니다.227 메시지 및 표시기 전체에서 성공, 실패 및 경고 상태를 신호합니다.

228 228 

229 | 토큰 | 제어 대상 |229 | 토큰 | 제어 대상 |

230 | :-------- | :--------------------- |230 | :- | :- |

231 | `success` | 성공 메시지 및 통과 확인 |231 | `success` | 성공 메시지 및 통과 확인 |

232 | `error` | 오류 메시지 및 실패 |232 | `error` | 오류 메시지 및 실패 |

233 | `warning` | 경고, 주의 메시지 및 자동 모드 표시기 |233 | `warning` | 경고, 주의 메시지 및 자동 모드 표시기 |


240 입력 상자 테두리 색상과 권한 모드 또는 표시기가 활성화된 동안 표시되는 악센트를 설정합니다.240 입력 상자 테두리 색상과 권한 모드 또는 표시기가 활성화된 동안 표시되는 악센트를 설정합니다.

241 241 

242 | 토큰 | 제어 대상 |242 | 토큰 | 제어 대상 |

243 | :------------- | :----------------------------------------------------------------------------------------------------------------------------------- |243 | :- | :- |

244 | `promptBorder` | 입력 상자 테두리 |244 | `promptBorder` | 입력 상자 테두리 |

245 | `planMode` | 계획 모드 악센트, 계획 메시지 및 계획 모드 대화 상자 |245 | `planMode` | 계획 모드 악센트, 계획 메시지 및 계획 모드 대화 상자 |

246 | `autoAccept` | 편집 수락 모드 악센트 |246 | `autoAccept` | 편집 수락 모드 악센트 |


256 파일 편집 및 검토에서 추가되고 제거된 코드를 칠합니다.256 파일 편집 및 검토에서 추가되고 제거된 코드를 칠합니다.

257 257 

258 | 토큰 | 제어 대상 |258 | 토큰 | 제어 대상 |

259 | :------------------ | :------------------------------- |259 | :- | :- |

260 | `diffAdded` | 추가된 줄의 배경 |260 | `diffAdded` | 추가된 줄의 배경 |

261 | `diffRemoved` | 제거된 줄의 배경 |261 | `diffRemoved` | 제거된 줄의 배경 |

262 | `diffAddedDimmed` | 편집을 거부한 후 표시되는 흐린 diff의 추가된 줄 배경 |262 | `diffAddedDimmed` | 편집을 거부한 후 표시되는 흐린 diff의 추가된 줄 배경 |


271 Claude Code는 기본 및 전체 화면 렌더러 모두에서 `userMessageBackground`, `bashMessageBackgroundColor` 및 `memoryBackgroundColor`를 칠합니다. [전체 화면 렌더링 모드](/docs/ko/fullscreen)에서만 `userMessageBackgroundHover` 및 `selectionBg`를 사용합니다.271 Claude Code는 기본 및 전체 화면 렌더러 모두에서 `userMessageBackground`, `bashMessageBackgroundColor` 및 `memoryBackgroundColor`를 칠합니다. [전체 화면 렌더링 모드](/docs/ko/fullscreen)에서만 `userMessageBackgroundHover` 및 `selectionBg`를 사용합니다.

272 272 

273 | 토큰 | 제어 대상 |273 | 토큰 | 제어 대상 |

274 | :--------------------------- | :----------------------- |274 | :- | :- |

275 | `userMessageBackground` | 트랜스크립트의 메시지 뒤 배경 |275 | `userMessageBackground` | 트랜스크립트의 메시지 뒤 배경 |

276 | `userMessageBackgroundHover` | 마우스를 가져가거나 확장된 메시지 뒤 배경 |276 | `userMessageBackgroundHover` | 마우스를 가져가거나 확장된 메시지 뒤 배경 |

277 | `bashMessageBackgroundColor` | 트랜스크립트의 `!` 셸 명령 항목 뒤 배경 |277 | `bashMessageBackgroundColor` | 트랜스크립트의 `!` 셸 명령 항목 뒤 배경 |


285 `/usage` 보기에 표시되는 막대와 메시지를 Claude의 메시지와 구별하는 레이블을 조정합니다.285 `/usage` 보기에 표시되는 막대와 메시지를 Claude의 메시지와 구별하는 레이블을 조정합니다.

286 286 

287 | 토큰 | 제어 대상 |287 | 토큰 | 제어 대상 |

288 | :----------------- | :------------------------- |288 | :- | :- |

289 | `rate_limit_fill` | 사용량 미터의 채워진 부분 |289 | `rate_limit_fill` | 사용량 미터의 채워진 부분 |

290 | `rate_limit_empty` | 사용량 미터의 채워지지 않은 부분 |290 | `rate_limit_empty` | 사용량 미터의 채워지지 않은 부분 |

291 | `briefLabelYou` | 메시지의 `You` 레이블 색상 |291 | `briefLabelYou` | 메시지의 `You` 레이블 색상 |

Details

17</Info>17</Info>

18 18 

19| 도구 | 설명 | 권한 필요 |19| 도구 | 설명 | 권한 필요 |

20| :--------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---- |20| :- | :- | :- |

21| `Agent` | 작업을 처리하기 위해 자체 컨텍스트 윈도우가 있는 [서브에이전트](/docs/ko/sub-agents)를 생성합니다. [에이전트 팀](/docs/ko/agent-teams)이 활성화된 경우, `name`을 전달하는 호출은 [팀원](/docs/ko/agent-teams#how-claude-starts-agent-teams)을 시작할 수 있습니다. [Agent 도구 동작](#agent-tool-behavior)을 참조하세요 | 아니오 |21| `Agent` | 작업을 처리하기 위해 자체 컨텍스트 윈도우가 있는 [서브에이전트](/docs/ko/sub-agents)를 생성합니다. [에이전트 팀](/docs/ko/agent-teams)이 활성화된 경우, `name`을 전달하는 호출은 [팀원](/docs/ko/agent-teams#how-claude-starts-agent-teams)을 시작할 수 있습니다. [Agent 도구 동작](#agent-tool-behavior)을 참조하세요 | 아니오 |

22| `Artifact` | HTML 또는 Markdown 파일을 [아티팩트](/docs/ko/artifacts)로 게시합니다. claude.ai의 비공개 대화형 페이지입니다. 공개 링크로 공유하거나 Team 및 Enterprise 플랜에서 조직 내에서 공유할 수 있습니다. 공개 공유는 Owner가 [활성화](/docs/ko/artifacts#control-public-sharing)해야 합니다. Pro, Max, Team 또는 Enterprise 플랜이 필요하며 `/login` 인증이 필요합니다. [가용성](/docs/ko/artifacts#availability)을 참조하세요 | 예 |22| `Artifact` | HTML 또는 Markdown 파일을 [아티팩트](/docs/ko/artifacts)로 게시합니다. claude.ai의 비공개 대화형 페이지입니다. 공개 링크로 공유하거나 Team 및 Enterprise 플랜에서 조직 내에서 공유할 수 있습니다. 공개 공유는 Owner가 [활성화](/docs/ko/artifacts#control-public-sharing)해야 합니다. Pro, Max, Team 또는 Enterprise 플랜이 필요하며 `/login` 인증이 필요합니다. [가용성](/docs/ko/artifacts#availability)을 참조하세요 | 예 |

23| `AskUserQuestion` | 요구사항을 수집하거나 모호함을 명확히 하기 위해 객관식 질문을 합니다. 질문은 기본적으로 답변할 때까지 열려 있습니다. [AskUserQuestion 도구 동작](#askuserquestion-tool-behavior)을 참조하세요 | 아니오 |23| `AskUserQuestion` | 요구사항을 수집하거나 모호함을 명확히 하기 위해 객관식 질문을 합니다. 질문은 기본적으로 답변할 때까지 열려 있습니다. [AskUserQuestion 도구 동작](#askuserquestion-tool-behavior)을 참조하세요 | 아니오 |


80이 모든 항목은 동일한 규칙 형식인 `ToolName(specifier)`을 허용합니다. specifier는 도구에 따라 다르며, 여러 도구가 형식을 공유합니다:80이 모든 항목은 동일한 규칙 형식인 `ToolName(specifier)`을 허용합니다. specifier는 도구에 따라 다르며, 여러 도구가 형식을 공유합니다:

81 81 

82| 규칙 형식 | 적용 대상 | 세부 정보 |82| 규칙 형식 | 적용 대상 | 세부 정보 |

83| :----------------------------- | :------------------------ | :--------------------------------------------------------------- |83| :- | :- | :- |

84| `Bash(npm run *)` | Bash, Monitor | [명령 패턴 매칭](/docs/ko/permissions#bash) |84| `Bash(npm run *)` | Bash, Monitor | [명령 패턴 매칭](/docs/ko/permissions#bash) |

85| `PowerShell(Get-ChildItem *)` | PowerShell | [명령 패턴 매칭](/docs/ko/permissions#powershell) |85| `PowerShell(Get-ChildItem *)` | PowerShell | [명령 패턴 매칭](/docs/ko/permissions#powershell) |

86| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [경로 패턴 매칭](/docs/ko/permissions#read-and-edit) |86| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [경로 패턴 매칭](/docs/ko/permissions#read-and-edit) |


179Claude Code는 명령이 실행되는 동안 명령의 출력을 작업 파일로 스트리밍합니다. 출력이 5GB를 초과하는 명령은 중단됩니다. 명령이 완료되면, Claude Code는 아래에 설명된 읽기 창에서 해당 파일의 출력을 다시 읽습니다. 출력이 Claude에 인라인으로 도달하는 양은 Claude Code가 결과를 실패로 처리하는지 여부에 따라 달라집니다:179Claude Code는 명령이 실행되는 동안 명령의 출력을 작업 파일로 스트리밍합니다. 출력이 5GB를 초과하는 명령은 중단됩니다. 명령이 완료되면, Claude Code는 아래에 설명된 읽기 창에서 해당 파일의 출력을 다시 읽습니다. 출력이 Claude에 인라인으로 도달하는 양은 Claude Code가 결과를 실패로 처리하는지 여부에 따라 달라집니다:

180 180 

181| 결과 | Claude가 받는 것 |181| 결과 | Claude가 받는 것 |

182| :- | :------------------------------------------------------------------------------------------------------------------------------ |182| :- | :- |

183| 유효 | 기본값으로 대략 30,000자까지 인라인입니다. 그 이상은 세션 디렉토리에 저장되고 64MiB를 초과하여 잘린 파일의 경로와 처음 최대 2,000자까지의 미리보기이며, Claude는 나머지가 필요할 때 파일을 읽거나 검색합니다. |183| 유효 | 기본값으로 대략 30,000자까지 인라인입니다. 그 이상은 세션 디렉토리에 저장되고 64MiB를 초과하여 잘린 파일의 경로와 처음 최대 2,000자까지의 미리보기이며, Claude는 나머지가 필요할 때 파일을 읽거나 검색합니다. |

184| 실패 | 대략 10,000자까지 인라인입니다. 그 이상은 읽기 창에서 잘린 해당 크기의 머리-꼬리 발췌이며, 파일 경로는 없습니다. |184| 실패 | 대략 10,000자까지 인라인입니다. 그 이상은 읽기 창에서 잘린 해당 크기의 머리-꼬리 발췌이며, 파일 경로는 없습니다. |

185 185 


396WebSocket 감시는 `command` 대신 `ws` 입력을 사용하며, 단일 Monitor 호출은 둘을 결합할 수 없습니다. `ws` 입력에는 두 가지 필드가 있습니다:396WebSocket 감시는 `command` 대신 `ws` 입력을 사용하며, 단일 Monitor 호출은 둘을 결합할 수 없습니다. `ws` 입력에는 두 가지 필드가 있습니다:

397 397 

398| 필드 | 필수 | 설명 |398| 필드 | 필수 | 설명 |

399| :---------- | :-- | :------------------------------------------------------------------------------------ |399| :- | :- | :- |

400| `url` | 예 | 연결할 엔드포인트입니다. `ws://` 또는 `wss://` URL이어야 하며 포함된 자격 증명이나 공백이 없어야 하고 ASCII 문자만 사용해야 합니다 |400| `url` | 예 | 연결할 엔드포인트입니다. `ws://` 또는 `wss://` URL이어야 하며 포함된 자격 증명이나 공백이 없어야 하고 ASCII 문자만 사용해야 합니다 |

401| `protocols` | 아니요 | 핸드셰이크 중에 제공할 WebSocket 하위 프로토콜 이름입니다. 각 항목은 유효한 하위 프로토콜 토큰이어야 하며 목록에 중복이 포함될 수 없습니다 |401| `protocols` | 아니요 | 핸드셰이크 중에 제공할 WebSocket 하위 프로토콜 이름입니다. 각 항목은 유효한 하위 프로토콜 토큰이어야 하며 목록에 중복이 포함될 수 없습니다 |

402 402 

Details

15표시되는 오류 메시지 또는 증상을 수정 사항과 일치시키세요:15표시되는 오류 메시지 또는 증상을 수정 사항과 일치시키세요:

16 16 

17| 표시되는 내용 | 해결책 |17| 표시되는 내용 | 해결책 |

18| :---------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |18| :- | :- |

19| `command not found: claude` 또는 `'claude' is not recognized` | [PATH 수정](#command-not-found-claude-after-installation) |19| `command not found: claude` 또는 `'claude' is not recognized` | [PATH 수정](#command-not-found-claude-after-installation) |

20| `syntax error near unexpected token '<'` | [설치 스크립트가 HTML 반환](#install-script-returns-html-instead-of-a-shell-script) |20| `syntax error near unexpected token '<'` | [설치 스크립트가 HTML 반환](#install-script-returns-html-instead-of-a-shell-script) |

21| `curl: (22) The requested URL returned error: 403` | [설치 스크립트가 403 반환](#install-script-returns-html-instead-of-a-shell-script) |21| `curl: (22) The requested URL returned error: 403` | [설치 스크립트가 403 반환](#install-script-returns-html-instead-of-a-shell-script) |


403설치가 완료되었지만 `claude`가 작동하지 않습니다. 정확한 오류는 플랫폼에 따라 다릅니다:403설치가 완료되었지만 `claude`가 작동하지 않습니다. 정확한 오류는 플랫폼에 따라 다릅니다:

404 404 

405| 플랫폼 | 오류 메시지 |405| 플랫폼 | 오류 메시지 |

406| :---------- | :--------------------------------------------------------------------- |406| :- | :- |

407| macOS | `zsh: command not found: claude` |407| macOS | `zsh: command not found: claude` |

408| Linux | `bash: claude: command not found` |408| Linux | `bash: claude: command not found` |

409| Windows CMD | `'claude' is not recognized as an internal or external command` |409| Windows CMD | `'claude' is not recognized as an internal or external command` |

Details

9이 페이지는 Claude Code가 실행 중일 때의 성능, 안정성 및 검색 문제를 다룹니다. 다른 문제의 경우 문제가 있는 위치와 일치하는 페이지부터 시작하세요:9이 페이지는 Claude Code가 실행 중일 때의 성능, 안정성 및 검색 문제를 다룹니다. 다른 문제의 경우 문제가 있는 위치와 일치하는 페이지부터 시작하세요:

10 10 

11| 증상 | 이동 |11| 증상 | 이동 |

12| :---------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------- |12| :- | :- |

13| `command not found`, 설치 실패, PATH 문제, `EACCES`, TLS 오류 | [설치 및 로그인 문제 해결](/docs/ko/troubleshoot-install) |13| `command not found`, 설치 실패, PATH 문제, `EACCES`, TLS 오류 | [설치 및 로그인 문제 해결](/docs/ko/troubleshoot-install) |

14| `The connection dropped while downloading the update` 또는 `aborted`로 업데이트 또는 설치 다운로드 실패 | [오류 참조](/docs/ko/errors#the-connection-dropped-while-downloading-the-update) |14| `The connection dropped while downloading the update` 또는 `aborted`로 업데이트 또는 설치 다운로드 실패 | [오류 참조](/docs/ko/errors#the-connection-dropped-while-downloading-the-update) |

15| 로그인 루프, OAuth 오류, `403 Forbidden`, "organization disabled", Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry 자격 증명 | [설치 및 로그인 문제 해결](/docs/ko/troubleshoot-install#login-and-authentication) |15| 로그인 루프, OAuth 오류, `403 Forbidden`, "organization disabled", Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry 자격 증명 | [설치 및 로그인 문제 해결](/docs/ko/troubleshoot-install#login-and-authentication) |

ultrareview.md +3 −3

Details

131Ultrareview는 플랜의 포함된 사용량이 아닌 사용량 크레딧에 대해 청구되는 프리미엄 기능입니다.131Ultrareview는 플랜의 포함된 사용량이 아닌 사용량 크레딧에 대해 청구되는 프리미엄 기능입니다.

132 132 

133| 플랜 | 포함된 무료 실행 | 무료 실행 후 |133| 플랜 | 포함된 무료 실행 | 무료 실행 후 |

134| ----------------- | --------- | -------------------------------------------------------------------------------------------------- |134| - | - | - |

135| Pro | 3회 무료 실행 | [사용량 크레딧](https://support.claude.com/ko/articles/12429409-extra-usage-for-paid-claude-plans)으로 청구됨 |135| Pro | 3회 무료 실행 | [사용량 크레딧](https://support.claude.com/ko/articles/12429409-extra-usage-for-paid-claude-plans)으로 청구됨 |

136| Max | 3회 무료 실행 | [사용량 크레딧](https://support.claude.com/ko/articles/12429409-extra-usage-for-paid-claude-plans)으로 청구됨 |136| Max | 3회 무료 실행 | [사용량 크레딧](https://support.claude.com/ko/articles/12429409-extra-usage-for-paid-claude-plans)으로 청구됨 |

137| Team 및 Enterprise | 없음 | [사용량 크레딧](https://support.claude.com/ko/articles/12429409-extra-usage-for-paid-claude-plans)으로 청구됨 |137| Team 및 Enterprise | 없음 | [사용량 크레딧](https://support.claude.com/ko/articles/12429409-extra-usage-for-paid-claude-plans)으로 청구됨 |


180진행 메시지 및 라이브 세션 URL은 stderr로 이동하므로 stdout은 구문 분석 가능한 상태로 유지됩니다. 이 플래그를 사용하여 출력, 시간 초과 및 발견 사항 게시 여부를 제어합니다:180진행 메시지 및 라이브 세션 URL은 stderr로 이동하므로 stdout은 구문 분석 가능한 상태로 유지됩니다. 이 플래그를 사용하여 출력, 시간 초과 및 발견 사항 게시 여부를 제어합니다:

181 181 

182| 플래그 | 설명 |182| 플래그 | 설명 |

183| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |183| - | - |

184| `--json` | 형식이 지정된 발견 사항 대신 원본 `bugs.json` 페이로드를 인쇄합니다 |184| `--json` | 형식이 지정된 발견 사항 대신 원본 `bugs.json` 페이로드를 인쇄합니다 |

185| `--timeout <minutes>` | 리뷰가 완료될 때까지 기다릴 최대 분 수입니다. 기본값은 45입니다 |185| `--timeout <minutes>` | 리뷰가 완료될 때까지 기다릴 최대 분 수입니다. 기본값은 45입니다 |

186| `--post` | [발견 사항을 풀 요청에 게시](#post-findings-to-the-pull-request)하여 GitHub 계정에서 하나의 일반 댓글로 게시합니다. `github.com` 풀 요청 대상에서 작동합니다. 다른 대상에서는 Claude Code가 플래그를 무시하고 그렇게 말합니다. Claude Code v2.1.227 이상이 필요합니다 |186| `--post` | [발견 사항을 풀 요청에 게시](#post-findings-to-the-pull-request)하여 GitHub 계정에서 하나의 일반 댓글로 게시합니다. `github.com` 풀 요청 대상에서 작동합니다. 다른 대상에서는 Claude Code가 플래그를 무시하고 그렇게 말합니다. Claude Code v2.1.227 이상이 필요합니다 |


210두 검토 모두 코드를 검토하지만 워크플로우의 다른 단계에서 사용합니다.210두 검토 모두 코드를 검토하지만 워크플로우의 다른 단계에서 사용합니다.

211 211 

212| | `/code-review` | `/code-review ultra` |212| | `/code-review` | `/code-review ultra` |

213| ----- | --------------------------- | ---------------------------- |213| - | - | - |

214| 대상 | 작업 중인 diff, 풀 요청, 브랜치 또는 경로 | 작업 중인 diff 또는 풀 요청 |214| 대상 | 작업 중인 diff, 풀 요청, 브랜치 또는 경로 | 작업 중인 diff 또는 풀 요청 |

215| 실행 | 세션에서 로컬로 | 클라우드 샌드박스에서 |215| 실행 | 세션에서 로컬로 | 클라우드 샌드박스에서 |

216| 깊이 | 노력 인수에 따라 확장 | 독립적 검증이 있는 다중 에이전트 플릿 |216| 깊이 | 노력 인수에 따라 확장 | 독립적 검증이 있는 다중 에이전트 플릿 |

Details

40`/voice`는 선택적 모드 인수를 허용합니다:40`/voice`는 선택적 모드 인수를 허용합니다:

41 41 

42| 명령 | 효과 |42| 명령 | 효과 |

43| :------------ | :------------------------------------ |43| :- | :- |

44| `/voice` | 켜거나 끄기, 현재 모드 유지 |44| `/voice` | 켜거나 끄기, 현재 모드 유지 |

45| `/voice hold` | [누르고 있기 모드](#hold-to-record)에서 활성화 |45| `/voice hold` | [누르고 있기 모드](#hold-to-record)에서 활성화 |

46| `/voice tap` | [탭 모드](#tap-to-record-and-send)에서 활성화 |46| `/voice tap` | [탭 모드](#tap-to-record-and-send)에서 활성화 |


119 119 

120<Accordion title="지원되는 받아쓰기 언어">120<Accordion title="지원되는 받아쓰기 언어">

121 | 언어 | 코드 |121 | 언어 | 코드 |

122 | :----- | :--- |122 | :- | :- |

123 | 체코어 | `cs` |123 | 체코어 | `cs` |

124 | 덴마크어 | `da` |124 | 덴마크어 | `da` |

125 | 네덜란드어 | `nl` |125 | 네덜란드어 | `nl` |

vs-code.md +6 −6

Details

365URL은 두 개의 쿼리 매개변수를 사용합니다:365URL은 두 개의 쿼리 매개변수를 사용합니다:

366 366 

367| 매개변수 | 설명 |367| 매개변수 | 설명 |

368| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |368| - | - |

369| `plugin` | 마켓플레이스에 나열된 플러그인의 이름입니다. 필수입니다. |369| `plugin` | 마켓플레이스에 나열된 플러그인의 이름입니다. 필수입니다. |

370| `marketplace` | 플러그인의 출처이며, GitHub `owner/repo`, `https://` URL 또는 `git@github.com:owner/repo.git`과 같은 git SSH URL입니다. 생략하면 `anthropics/claude-plugins-official`로 기본값이 설정됩니다. |370| `marketplace` | 플러그인의 출처이며, GitHub `owner/repo`, `https://` URL 또는 `git@github.com:owner/repo.git`과 같은 git SSH URL입니다. 생략하면 `anthropics/claude-plugins-official`로 기본값이 설정됩니다. |

371 371 


427</Note>427</Note>

428 428 

429| 명령어 | 단축키 | 설명 |429| 명령어 | 단축키 | 설명 |

430| -------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |430| - | - | - |

431| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | 편집기와 Claude 사이의 포커스 전환 |431| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | 편집기와 Claude 사이의 포커스 전환 |

432| Focus last message | - | 대화에서 가장 최신 메시지로 키보드 포커스를 이동하거나 대기 중인 권한 프롬프트로 이동하여 키보드 또는 화면 판독기로 읽을 수 있습니다. [터미널 모드](#switch-to-terminal-mode)에서는 사용할 수 없습니다. Claude Code v2.1.268 이상 필요 |432| Focus last message | - | 대화에서 가장 최신 메시지로 키보드 포커스를 이동하거나 대기 중인 권한 프롬프트로 이동하여 키보드 또는 화면 판독기로 읽을 수 있습니다. [터미널 모드](#switch-to-terminal-mode)에서는 사용할 수 없습니다. Claude Code v2.1.268 이상 필요 |

433| Open in Side Bar | - | Claude를 사이드바에서 열기 |433| Open in Side Bar | - | Claude를 사이드바에서 열기 |


487핸들러는 두 개의 선택적 쿼리 매개변수를 허용합니다:487핸들러는 두 개의 선택적 쿼리 매개변수를 허용합니다:

488 488 

489| 매개변수 | 설명 |489| 매개변수 | 설명 |

490| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |490| - | - |

491| `prompt` | 프롬프트 상자에 미리 채울 텍스트. URL 인코딩되어야 합니다. 프롬프트는 미리 채워지지만 자동으로 제출되지 않습니다. |491| `prompt` | 프롬프트 상자에 미리 채울 텍스트. URL 인코딩되어야 합니다. 프롬프트는 미리 채워지지만 자동으로 제출되지 않습니다. |

492| `session` | 새 대화를 시작하는 대신 재개할 세션 ID. 세션은 VS Code에서 현재 열려 있는 작업 영역에 속해야 합니다. 세션을 찾을 수 없으면 새 대화가 시작됩니다. 세션이 이미 탭에서 열려 있으면 해당 탭이 포커스됩니다. 프로그래밍 방식으로 세션 ID를 캡처하려면 [대화 계속하기](/docs/ko/headless#continue-conversations)를 참조하십시오. |492| `session` | 새 대화를 시작하는 대신 재개할 세션 ID. 세션은 VS Code에서 현재 열려 있는 작업 영역에 속해야 합니다. 세션을 찾을 수 없으면 새 대화가 시작됩니다. 세션이 이미 탭에서 열려 있으면 해당 탭이 포커스됩니다. 프로그래밍 방식으로 세션 ID를 캡처하려면 [대화 계속하기](/docs/ko/headless#continue-conversations)를 참조하십시오. |

493 493 


519VS Code는 사용자 설정에서 `initialPermissionMode`를 읽고 작업 영역 값을 무시합니다. v2.1.225 이전에는 VS Code가 설정을 기본값 `default`로 설정하고 작업 영역 값을 적용했습니다.519VS Code는 사용자 설정에서 `initialPermissionMode`를 읽고 작업 영역 값을 무시합니다. v2.1.225 이전에는 VS Code가 설정을 기본값 `default`로 설정하고 작업 영역 값을 적용했습니다.

520 520 

521| 설정 | 기본값 | 설명 |521| 설정 | 기본값 | 설명 |

522| ----------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |522| - | - | - |

523| `useTerminal` | `false` | 그래픽 패널 대신 터미널 모드에서 Claude를 실행합니다 |523| `useTerminal` | `false` | 그래픽 패널 대신 터미널 모드에서 Claude를 실행합니다 |

524| `initialPermissionMode` | - | 새 대화에 대한 승인 프롬프트를 제어합니다: `default`, `plan`, `acceptEdits` 또는 `bypassPermissions`. `manual`은 `default`의 별칭이며 모드 표시기에서 **Manual**로 표시된 모드를 선택합니다. 설정을 해제하면 확장 프로그램이 [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에 설명된 대로 시작 권한 모드를 선택합니다. |524| `initialPermissionMode` | - | 새 대화에 대한 승인 프롬프트를 제어합니다: `default`, `plan`, `acceptEdits` 또는 `bypassPermissions`. `manual`은 `default`의 별칭이며 모드 표시기에서 **Manual**로 표시된 모드를 선택합니다. 설정을 해제하면 확장 프로그램이 [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에 설명된 대로 시작 권한 모드를 선택합니다. |

525| `preferredLocation` | `panel` | Claude가 열리는 위치: `sidebar`(오른쪽) 또는 `panel`(새 탭) |525| `preferredLocation` | `panel` | Claude가 열리는 위치: `sidebar`(오른쪽) 또는 `panel`(새 탭) |


584Claude Code는 VS Code 확장 프로그램(그래픽 패널)과 CLI(터미널의 명령줄 인터페이스) 모두로 사용할 수 있습니다. 일부 기능은 CLI에서만 사용할 수 있습니다. CLI 전용 기능이 필요한 경우 VS Code의 통합 터미널에서 `claude`를 실행하십시오. 이를 위해서는 [독립 실행형 CLI 설치](/docs/ko/setup)가 필요합니다. 확장 프로그램은 `claude`를 PATH에 추가하지 않습니다. [VS Code에서 CLI 실행](#run-cli-in-vs-code)을 참조하십시오.584Claude Code는 VS Code 확장 프로그램(그래픽 패널)과 CLI(터미널의 명령줄 인터페이스) 모두로 사용할 수 있습니다. 일부 기능은 CLI에서만 사용할 수 있습니다. CLI 전용 기능이 필요한 경우 VS Code의 통합 터미널에서 `claude`를 실행하십시오. 이를 위해서는 [독립 실행형 CLI 설치](/docs/ko/setup)가 필요합니다. 확장 프로그램은 `claude`를 PATH에 추가하지 않습니다. [VS Code에서 CLI 실행](#run-cli-in-vs-code)을 참조하십시오.

585 585 

586| 기능 | CLI | VS Code 확장 프로그램 |586| 기능 | CLI | VS Code 확장 프로그램 |

587| -------------- | ------------------ | -------------------------------------------------------------------------- |587| - | - | - |

588| 명령 및 기술 | [모두](/docs/ko/commands) | 부분 집합 (채팅 패널에서 `/`를 입력하여 사용 가능한 항목 확인) |588| 명령 및 기술 | [모두](/docs/ko/commands) | 부분 집합 (채팅 패널에서 `/`를 입력하여 사용 가능한 항목 확인) |

589| MCP 서버 구성 | 예 | 예 (채팅 패널에서 `/mcp`를 사용하여 [서버 추가 및 관리](#connect-to-external-tools-with-mcp)) |589| MCP 서버 구성 | 예 | 예 (채팅 패널에서 `/mcp`를 사용하여 [서버 추가 및 관리](#connect-to-external-tools-with-mcp)) |

590| Checkpoints | 예 | 예 |590| Checkpoints | 예 | 예 |


729**모델에 노출된 도구.** 서버는 약 12개의 도구를 호스팅하지만 모델에는 2개만 표시됩니다. 나머지는 CLI가 자체 UI(diff 열기, 선택 항목 읽기, 파일 저장)에 사용하는 내부 RPC이며 도구 목록이 Claude에 도달하기 전에 필터링됩니다.729**모델에 노출된 도구.** 서버는 약 12개의 도구를 호스팅하지만 모델에는 2개만 표시됩니다. 나머지는 CLI가 자체 UI(diff 열기, 선택 항목 읽기, 파일 저장)에 사용하는 내부 RPC이며 도구 목록이 Claude에 도달하기 전에 필터링됩니다.

730 730 

731| 도구 이름(훅에서 보이는 대로) | 기능 | 읽기 전용 |731| 도구 이름(훅에서 보이는 대로) | 기능 | 읽기 전용 |

732| -------------------------- | --------------------------------------------------------------------- | ----- |732| - | - | - |

733| `mcp__ide__getDiagnostics` | 언어 서버 진단(VS Code의 문제 패널의 오류 및 경고)을 반환합니다. 선택적으로 한 파일로 범위를 지정할 수 있습니다. | 예 |733| `mcp__ide__getDiagnostics` | 언어 서버 진단(VS Code의 문제 패널의 오류 및 경고)을 반환합니다. 선택적으로 한 파일로 범위를 지정할 수 있습니다. | 예 |

734| `mcp__ide__executeCode` | 활성 Jupyter 노트북의 커널에서 Python 코드를 실행합니다. 아래의 확인 흐름을 참조하십시오. | 아니요 |734| `mcp__ide__executeCode` | 활성 Jupyter 노트북의 커널에서 Python 코드를 실행합니다. 아래의 확인 흐름을 참조하십시오. | 아니요 |

735 735 

Details

43Claude Code는 모든 곳에서 동일하게 작동합니다. 변경되는 것은 코드가 실행되는 위치와 로컬 구성을 사용할 수 있는지 여부입니다:43Claude Code는 모든 곳에서 동일하게 작동합니다. 변경되는 것은 코드가 실행되는 위치와 로컬 구성을 사용할 수 있는지 여부입니다:

44 44 

45| | 클라우드 세션 | 로컬 세션 | [Remote Control](/docs/ko/remote-control)을 사용한 로컬 세션 |45| | 클라우드 세션 | 로컬 세션 | [Remote Control](/docs/ko/remote-control)을 사용한 로컬 세션 |

46| :-------------------------------- | :------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------ | :---------------------------------------------- |46| :- | :- | :- | :- |

47| **코드 실행 위치** | 기본적으로 Anthropic에서 관리하는 클라우드 VM | 사용자의 머신 | 사용자의 머신 |47| **코드 실행 위치** | 기본적으로 Anthropic에서 관리하는 클라우드 VM | 사용자의 머신 | 사용자의 머신 |

48| **시작 위치** | claude.ai/code, Claude 모바일 앱, **Cloud**가 선택된 Desktop 앱, 또는 `claude --cloud` | 터미널, IDE, 또는 **Local**이 선택된 Desktop 앱 | 터미널, VS Code 확장 프로그램, 또는 Desktop 앱 |48| **시작 위치** | claude.ai/code, Claude 모바일 앱, **Cloud**가 선택된 Desktop 앱, 또는 `claude --cloud` | 터미널, IDE, 또는 **Local**이 선택된 Desktop 앱 | 터미널, VS Code 확장 프로그램, 또는 Desktop 앱 |

49| **채팅 위치** | claude.ai, 모바일 앱, 또는 Desktop 앱 | 시작한 위치 | claude.ai 또는 모바일 앱, 그리고 시작한 위치 |49| **채팅 위치** | claude.ai, 모바일 앱, 또는 Desktop 앱 | 시작한 위치 | claude.ai 또는 모바일 앱, 그리고 시작한 위치 |


175[claude.ai/code](https://claude.ai/code) URL에 쿼리 매개변수를 추가하여 새 세션의 프롬프트, 저장소 및 환경을 미리 채울 수 있습니다. 이를 사용하여 문제 추적기의 버튼과 같은 통합을 구축하여 문제 설명을 프롬프트로 하여 Claude Code를 엽니다.175[claude.ai/code](https://claude.ai/code) URL에 쿼리 매개변수를 추가하여 새 세션의 프롬프트, 저장소 및 환경을 미리 채울 수 있습니다. 이를 사용하여 문제 추적기의 버튼과 같은 통합을 구축하여 문제 설명을 프롬프트로 하여 Claude Code를 엽니다.

176 176 

177| 매개변수 | 설명 |177| 매개변수 | 설명 |

178| :------------- | :---------------------------------------------------------------------------------------- |178| :- | :- |

179| `prompt` | 입력 상자에 미리 채울 프롬프트 텍스트입니다. 별칭 `q`도 허용됩니다. |179| `prompt` | 입력 상자에 미리 채울 프롬프트 텍스트입니다. 별칭 `q`도 허용됩니다. |

180| `prompt_url` | 쿼리 문자열에 포함하기에 너무 긴 프롬프트 텍스트를 가져올 URL입니다. URL은 교차 출처 요청을 허용해야 합니다. `prompt`도 설정된 경우 무시됩니다. |180| `prompt_url` | 쿼리 문자열에 포함하기에 너무 긴 프롬프트 텍스트를 가져올 URL입니다. URL은 교차 출처 요청을 허용해야 합니다. `prompt`도 설정된 경우 무시됩니다. |

181| `repositories` | 미리 선택할 `owner/repo` 슬러그의 쉼표로 구분된 목록입니다. 별칭 `repo`도 허용됩니다. |181| `repositories` | 미리 선택할 `owner/repo` 슬러그의 쉼표로 구분된 목록입니다. 별칭 `repo`도 허용됩니다. |

workflows.md +6 −6

Details

21[서브에이전트](/docs/ko/sub-agents), [스킬](/docs/ko/skills), [에이전트 팀](/docs/ko/agent-teams), 그리고 워크플로우는 모두 다단계 작업을 실행할 수 있습니다. 차이점은 계획을 누가 보유하는지입니다:21[서브에이전트](/docs/ko/sub-agents), [스킬](/docs/ko/skills), [에이전트 팀](/docs/ko/agent-teams), 그리고 워크플로우는 모두 다단계 작업을 실행할 수 있습니다. 차이점은 계획을 누가 보유하는지입니다:

22 22 

23| | 서브에이전트 | 스킬 | 에이전트 팀 | 워크플로우 |23| | 서브에이전트 | 스킬 | 에이전트 팀 | 워크플로우 |

24| :------------------- | :--------------- | :---------------- | :------------------ | :-------------------- |24| :- | :- | :- | :- | :- |

25| 정의 | Claude가 생성하는 워커 | Claude가 따르는 지침 | 피어 세션을 감독하는 리드 에이전트 | 런타임이 실행하는 스크립트 |25| 정의 | Claude가 생성하는 워커 | Claude가 따르는 지침 | 피어 세션을 감독하는 리드 에이전트 | 런타임이 실행하는 스크립트 |

26| 다음에 무엇을 실행할지 결정하는 사람 | Claude, 차례대로 | Claude, 프롬프트를 따르며 | 리드 에이전트, 차례대로 | 스크립트 |26| 다음에 무엇을 실행할지 결정하는 사람 | Claude, 차례대로 | Claude, 프롬프트를 따르며 | 리드 에이전트, 차례대로 | 스크립트 |

27| 중간 결과가 있는 위치 | Claude의 컨텍스트 윈도우 | Claude의 컨텍스트 윈도우 | 공유 작업 목록 | 스크립트 변수 |27| 중간 결과가 있는 위치 | Claude의 컨텍스트 윈도우 | Claude의 컨텍스트 윈도우 | 공유 작업 목록 | 스크립트 변수 |


80Claude Code에는 `/deep-research`가 내장 워크플로우로 포함되어 있습니다:80Claude Code에는 `/deep-research`가 내장 워크플로우로 포함되어 있습니다:

81 81 

82| 명령 | 기능 |82| 명령 | 기능 |

83| :-------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |83| :- | :- |

84| `/deep-research <question>` | 질문에 대해 여러 각도에서 웹 검색을 확산시키고, 찾은 소스를 가져와 교차 검증하며, 각 주장에 투표하고, 교차 검증을 통과하지 못한 주장이 필터링된 인용된 보고서를 반환합니다. [WebSearch 도구](/docs/ko/tools-reference#websearch-tool-behavior)를 사용할 수 있어야 합니다 |84| `/deep-research <question>` | 질문에 대해 여러 각도에서 웹 검색을 확산시키고, 찾은 소스를 가져와 교차 검증하며, 각 주장에 투표하고, 교차 검증을 통과하지 못한 주장이 필터링된 인용된 보고서를 반환합니다. [WebSearch 도구](/docs/ko/tools-reference#websearch-tool-behavior)를 사용할 수 있어야 합니다 |

85 85 

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


96진행 상황 보기에는 각 단계가 에이전트 수, 토큰 총계, 경과 시간과 함께 표시됩니다. 바닥글에는 각 작업의 키가 나열됩니다:96진행 상황 보기에는 각 단계가 에이전트 수, 토큰 총계, 경과 시간과 함께 표시됩니다. 바닥글에는 각 작업의 키가 나열됩니다:

97 97 

98| 키 | 작업 |98| 키 | 작업 |

99| :------------- | :------------------------------------------------------------------------------------------- |99| :- | :- |

100| `↑` / `↓` | 단계 또는 에이전트 선택 |100| `↑` / `↓` | 단계 또는 에이전트 선택 |

101| `Enter` 또는 `→` | 선택한 단계로 드릴다운한 후 에이전트의 세부 정보로 드릴다운합니다. 세부 정보에서 `Enter`는 이를 확장하거나 축소합니다 |101| `Enter` 또는 `→` | 선택한 단계로 드릴다운한 후 에이전트의 세부 정보로 드릴다운합니다. 세부 정보에서 `Enter`는 이를 확장하거나 축소합니다 |

102| `Esc` 또는 `←` | 한 수준 뒤로 이동합니다. v2.1.203부터 v2.1.205까지는 `←`가 단계 또는 에이전트에서 뒤로 이동하지 않았습니다. 해당 버전에서는 `Esc`를 사용하세요 |102| `Esc` 또는 `←` | 한 수준 뒤로 이동합니다. v2.1.203부터 v2.1.205까지는 `←`가 단계 또는 에이전트에서 뒤로 이동하지 않았습니다. 해당 버전에서는 `Esc`를 사용하세요 |


191이 프롬프트를 보는지 여부는 [권한 모드](/docs/ko/permission-modes)에 따라 다릅니다:191이 프롬프트를 보는지 여부는 [권한 모드](/docs/ko/permission-modes)에 따라 다릅니다:

192 192 

193| 권한 모드 | 프롬프트가 표시되는 경우 |193| 권한 모드 | 프롬프트가 표시되는 경우 |

194| :--------------------- | :-------------------------------------------------------------------------------------- |194| :- | :- |

195| 자동 | 첫 번째 실행만. 모든 **예**는 사용자 설정에 동의를 기록하고, 나중의 실행은 프롬프트 없이 시작합니다. ultracode가 활성화되면 완전히 건너뜁니다 |195| 자동 | 첫 번째 실행만. 모든 **예**는 사용자 설정에 동의를 기록하고, 나중의 실행은 프롬프트 없이 시작합니다. ultracode가 활성화되면 완전히 건너뜁니다 |

196| 수동, 편집 수락 | 해당 워크플로우에 대해 **예, 다시 묻지 않기**를 선택하지 않은 한 모든 실행 |196| 수동, 편집 수락 | 해당 워크플로우에 대해 **예, 다시 묻지 않기**를 선택하지 않은 한 모든 실행 |

197| 권한 무시 | Claude Code는 프롬프트하지 않습니다. 실행이 즉시 시작됩니다 |197| 권한 무시 | Claude Code는 프롬프트하지 않습니다. 실행이 즉시 시작됩니다 |


402런타임은 다음 제약을 적용합니다:402런타임은 다음 제약을 적용합니다:

403 403 

404| 제약 | 이유 |404| 제약 | 이유 |

405| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------- |405| :- | :- |

406| 실행 중 사용자 입력 없음 | 실행은 에이전트 권한 프롬프트와 [사용량 제한 대기](#when-a-run-hits-your-usage-limit)에서만 일시 중지됩니다. 단계 간 승인을 위해 각 단계를 자신의 워크플로우로 실행합니다 |406| 실행 중 사용자 입력 없음 | 실행은 에이전트 권한 프롬프트와 [사용량 제한 대기](#when-a-run-hits-your-usage-limit)에서만 일시 중지됩니다. 단계 간 승인을 위해 각 단계를 자신의 워크플로우로 실행합니다 |

407| 워크플로우 자체에서 직접 파일 시스템 또는 셸 액세스 없음 | 에이전트가 읽고, 쓰고, 명령을 실행합니다. 스크립트가 에이전트를 조율합니다 |407| 워크플로우 자체에서 직접 파일 시스템 또는 셸 액세스 없음 | 에이전트가 읽고, 쓰고, 명령을 실행합니다. 스크립트가 에이전트를 조율합니다 |

408| 모듈 로딩 없음: `import()`를 포함하는 스크립트는 실행이 시작되기 전에 실패합니다 | 스크립트 본문은 순수 JavaScript입니다. 라이브러리가 필요한 작업은 에이전트의 작업에 넣습니다 |408| 모듈 로딩 없음: `import()`를 포함하는 스크립트는 실행이 시작되기 전에 실패합니다 | 스크립트 본문은 순수 JavaScript입니다. 라이브러리가 필요한 작업은 에이전트의 작업에 넣습니다 |


490각 값은 에이전트 수에 매핑됩니다:490각 값은 에이전트 수에 매핑됩니다:

491 491 

492| 값 | Claude가 목표로 하는 에이전트 수 |492| 값 | Claude가 목표로 하는 에이전트 수 |

493| :------------- | :------------------------------------ |493| :- | :- |

494| `unrestricted` | 지침 없음: Claude가 작업에 맞게 워크플로우 크기를 조정합니다 |494| `unrestricted` | 지침 없음: Claude가 작업에 맞게 워크플로우 크기를 조정합니다 |

495| `small` | 5개 미만의 에이전트 |495| `small` | 5개 미만의 에이전트 |

496| `medium` | 10개 미만의 에이전트 |496| `medium` | 10개 미만의 에이전트 |

worktrees.md +1 −1

Details

393대화형으로 세션을 재개할 때 Claude Code가 worktree로 반환할 수 없으면, Claude Code는 아래의 메시지 중 하나로 이를 말합니다. Claude Code가 worktree 바인딩을 지우면, 세션 기록에 지우기를 기록합니다. [기록 쓰기를 억제](/docs/ko/sessions#where-transcripts-are-stored)하면, 메시지는 대신 바인딩을 지울 수 없으며 Claude Code가 나중에 재개할 때 worktree를 다시 확인할 것이라고 말합니다.393대화형으로 세션을 재개할 때 Claude Code가 worktree로 반환할 수 없으면, Claude Code는 아래의 메시지 중 하나로 이를 말합니다. Claude Code가 worktree 바인딩을 지우면, 세션 기록에 지우기를 기록합니다. [기록 쓰기를 억제](/docs/ko/sessions#where-transcripts-are-stored)하면, 메시지는 대신 바인딩을 지울 수 없으며 Claude Code가 나중에 재개할 때 worktree를 다시 확인할 것이라고 말합니다.

394 394 

395| 메시지 시작 | 발생한 일과 수행할 작업 |395| 메시지 시작 | 발생한 일과 수행할 작업 |

396| :------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |396| :- | :- |

397| `Your worktree <path> no longer exists` | worktree 디렉토리가 제거되었습니다. 세션은 격리 없이 현재 디렉토리에서 계속되며, Claude Code는 worktree 바인딩을 지웁니다. 조치가 필요하지 않습니다. |397| `Your worktree <path> no longer exists` | worktree 디렉토리가 제거되었습니다. 세션은 격리 없이 현재 디렉토리에서 계속되며, Claude Code는 worktree 바인딩을 지웁니다. 조치가 필요하지 않습니다. |

398| `Could not verify your worktree <path> this time` | Claude Code가 worktree를 확인할 수 없습니다. 일반적으로 일시적인 이유 때문입니다. 바인딩은 유지되며, 세션은 격리 없이 현재 디렉토리에서 계속됩니다. 다시 재개하여 다시 시도하십시오. 계속 발생하면 새 세션에서 worktree에 진입하고 [Claude Code가 worktree 사용을 거부함](#claude-code-refuses-to-use-a-worktree) 아래의 거부 메시지와 일치시키십시오. 이는 worktree의 메타데이터가 아닌 주 체크아웃의 메타데이터를 명시할 수 있습니다. |398| `Could not verify your worktree <path> this time` | Claude Code가 worktree를 확인할 수 없습니다. 일반적으로 일시적인 이유 때문입니다. 바인딩은 유지되며, 세션은 격리 없이 현재 디렉토리에서 계속됩니다. 다시 재개하여 다시 시도하십시오. 계속 발생하면 새 세션에서 worktree에 진입하고 [Claude Code가 worktree 사용을 거부함](#claude-code-refuses-to-use-a-worktree) 아래의 거부 메시지와 일치시키십시오. 이는 worktree의 메타데이터가 아닌 주 체크아웃의 메타데이터를 명시할 수 있습니다. |

399| `Did not re-enter your worktree <path>` | Claude Code가 worktree 바인딩을 안전하지 않은 것으로 거부했습니다. 바인딩을 지우고 세션은 격리 없이 계속됩니다. 메시지는 특정 거부를 포함합니다. [Claude Code가 worktree 사용을 거부함](#claude-code-refuses-to-use-a-worktree) 아래와 일치시키십시오. 일부 거부는 재생성이 필요하고 다른 거부는 경로 변경이 필요하기 때문입니다. |399| `Did not re-enter your worktree <path>` | Claude Code가 worktree 바인딩을 안전하지 않은 것으로 거부했습니다. 바인딩을 지우고 세션은 격리 없이 계속됩니다. 메시지는 특정 거부를 포함합니다. [Claude Code가 worktree 사용을 거부함](#claude-code-refuses-to-use-a-worktree) 아래와 일치시키십시오. 일부 거부는 재생성이 필요하고 다른 거부는 경로 변경이 필요하기 때문입니다. |

Details

50ZDR은 ZDR이 활성화된 조직의 경우에도 다음을 포함하지 않습니다. 이러한 기능은 [표준 데이터 보존 정책](/docs/ko/data-usage#data-retention)을 따릅니다:50ZDR은 ZDR이 활성화된 조직의 경우에도 다음을 포함하지 않습니다. 이러한 기능은 [표준 데이터 보존 정책](/docs/ko/data-usage#data-retention)을 따릅니다:

51 51 

52| 기능 | 세부 정보 |52| 기능 | 세부 정보 |

53| -------------- | ----------------------------------------------------------------------------------------------------------------------------------- |53| - | - |

54| claude.ai의 채팅 | Claude for Enterprise 웹 인터페이스를 통한 채팅 대화는 ZDR에 포함되지 않습니다. |54| claude.ai의 채팅 | Claude for Enterprise 웹 인터페이스를 통한 채팅 대화는 ZDR에 포함되지 않습니다. |

55| Cowork | Cowork 세션은 ZDR에 포함되지 않습니다. |55| Cowork | Cowork 세션은 ZDR에 포함되지 않습니다. |

56| Claude Code 분석 | 프롬프트 또는 모델 응답을 저장하지 않지만 계정 이메일 및 사용 통계와 같은 생산성 메타데이터를 수집합니다. 기여도 메트릭은 ZDR 조직에서 사용할 수 없습니다. [분석 대시보드](/docs/ko/analytics)는 사용 메트릭만 표시합니다. |56| Claude Code 분석 | 프롬프트 또는 모델 응답을 저장하지 않지만 계정 이메일 및 사용 통계와 같은 생산성 메타데이터를 수집합니다. 기여도 메트릭은 ZDR 조직에서 사용할 수 없습니다. [분석 대시보드](/docs/ko/analytics)는 사용 메트릭만 표시합니다. |


64Claude for Enterprise의 Claude Code 조직에 대해 ZDR이 활성화되면 프롬프트 또는 완성을 저장해야 하는 특정 기능이 백엔드 수준에서 자동으로 비활성화됩니다:64Claude for Enterprise의 Claude Code 조직에 대해 ZDR이 활성화되면 프롬프트 또는 완성을 저장해야 하는 특정 기능이 백엔드 수준에서 자동으로 비활성화됩니다:

65 65 

66| 기능 | 이유 |66| 기능 | 이유 |

67| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------ |67| - | - |

68| [웹의 Claude Code](/docs/ko/claude-code-on-the-web)(Desktop 앱에서 시작된 [클라우드 세션](/docs/ko/desktop#cloud-sessions) 포함) | 프롬프트 및 완성을 포함한 대화 기록이 있는 세션 데이터의 서버 측 저장이 필요합니다. |68| [웹의 Claude Code](/docs/ko/claude-code-on-the-web)(Desktop 앱에서 시작된 [클라우드 세션](/docs/ko/desktop#cloud-sessions) 포함) | 프롬프트 및 완성을 포함한 대화 기록이 있는 세션 데이터의 서버 측 저장이 필요합니다. |

69| [Claude Tag](https://claude.com/docs/claude-tag) | 채널 메모리 및 세션 기록을 유지합니다. |69| [Claude Tag](https://claude.com/docs/claude-tag) | 채널 메모리 및 세션 기록을 유지합니다. |

70| [Artifacts](/docs/ko/artifacts) | Anthropic 운영 인프라에 게시된 페이지 콘텐츠를 저장해야 합니다. |70| [Artifacts](/docs/ko/artifacts) | Anthropic 운영 인프라에 게시된 페이지 콘텐츠를 저장해야 합니다. |