SpyBara
Go Premium

Documentation 2026-09-21 22:59 UTC to 2026-09-22 23:59 UTC

76 files changed +2,230 −1,544. View all changes and history on the product overview
2026
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

admin-setup.md +1 −1

Details

167 167 

168* [빠른 시작](/docs/ko/quickstart): 설치부터 프로젝트 작업까지의 첫 세션 안내168* [빠른 시작](/docs/ko/quickstart): 설치부터 프로젝트 작업까지의 첫 세션 안내

169* [일반적인 워크플로우](/docs/ko/common-workflows): 코드 검토, 리팩토링 및 디버깅과 같은 일상적인 작업의 패턴169* [일반적인 워크플로우](/docs/ko/common-workflows): 코드 검토, 리팩토링 및 디버깅과 같은 일상적인 작업의 패턴

170* [Claude 101](https://anthropic.skilljar.com/claude-101) 및 [Claude Code in Action](https://anthropic.skilljar.com/claude-code-in-action): 자기 주도식 Anthropic Academy 과정170* [Claude Code 101](https://academy.claude.com/courses/claude-code-101) 및 [Claude Code in Action](https://academy.claude.com/courses/claude-code-in-action): [Claude Academy](https://academy.claude.com/)의 무료 자기 주도식 과정

171 171 

172로그인 문제의 경우 개발자에게 [인증 문제 해결](/docs/ko/troubleshoot-install#login-and-authentication)을 참조하도록 안내하세요. 가장 일반적인 해결 방법은 다음과 같습니다:172로그인 문제의 경우 개발자에게 [인증 문제 해결](/docs/ko/troubleshoot-install#login-and-authentication)을 참조하도록 안내하세요. 가장 일반적인 해결 방법은 다음과 같습니다:

173 173 

advisor.md +8 −10

Details

56* `/advisor opus`와 같이 모델을 사용하여 `/advisor`를 실행하여 설정합니다.56* `/advisor opus`와 같이 모델을 사용하여 `/advisor`를 실행하여 설정합니다.

57* `/advisor off`를 실행하여 끕니다.57* `/advisor off`를 실행하여 끕니다.

58 58 

59Claude Code는 조직의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록이 제외하는 저장된 조언자를 호출하지 않습니다. 조언자를 사용하려면 `/advisor`로 허용된 모델을 선택하세요. Claude Code는 현재 주 모델이 지원하지 않는 조언자를 여전히 저장합니다. 해당 조언자는 [`/model`](/docs/ko/model-config#setting-your-model)을 사용하여 [호환되는 주 모델](#choose-an-advisor-model)로 전환한 후 활성화됩니다.59Claude Code는 조직의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록이 제외하는 저장된 조언자를 호출하지 않습니다. 조언자를 사용하려면 `/advisor`로 허용된 모델을 선택하세요. Claude Code는 현재 주 모델이 지원하지 않는 조언자를 여전히 저장합니다. 해당 조언자는 [`/model`](/docs/ko/model-config#setting-your-model)을 사용하여 [호환되는 주 모델](#choose-an-advisor-model)로 전환한 후 활성화됩니다. API가 현재 대화에서 이미 저장된 조언자를 거부한 경우, 모델을 전환한 후에도 `/clear` 또는 `/compact`를 실행할 때까지 꺼진 상태로 유지됩니다. 일부 플랜에서 Fable을 조언자로 사용하려면 [Fable 사용량을 사용 크레딧으로 청구하는 것에 대한 일회성 동의](/docs/ko/model-config#fable-and-usage-credits)도 필요합니다. `/advisor fable`이 동의를 제공하기 전에 수행하는 작업에 대해서는 [Fable 조언자 및 사용 크레딧](#fable-advisor-and-usage-credits)을 참고하세요.

60 

61일부 플랜에서 Fable을 조언자로 사용하려면 [Fable 사용량을 사용 크레딧으로 청구하는 것에 대한 일회성 동의](/docs/ko/model-config#fable-and-usage-credits)도 필요합니다. `/advisor fable`이 동의를 제공하기 전에 수행하는 작업에 대해서는 [Fable 조언자 및 사용 크레딧](#fable-advisor-and-usage-credits)을 참고하세요.

62 60 

63<h3 id="set-advisormodel-in-settings">61<h3 id="set-advisormodel-in-settings">

64 설정에서 `advisorModel` 설정62 설정에서 `advisorModel` 설정


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

99 97 

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

101| -------------------- | ---------------------------- | ----------------------------------------------------------------------------- |99| -------------------- | ---------------------------- | ------------------------------------------------------------------ |

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

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

104| Sonnet 5 | Fable, Opus 4.7 이상, Sonnet 5 | Sonnet 4.6 조언자는 거부되며, Opus 4.6 조언자를 사용한 요청은 API 오류로 실패합니다 |102| Sonnet 5 | Fable, Opus 4.7 이상, Sonnet 5 | Sonnet 4.6 조언자는 거부되며, API는 Opus 4.6 조언자를 거부합니다 |

105| Opus 4.6 | Fable, Opus, Sonnet 5 | Sonnet 4.6 조언자는 거부됩니다 |103| Opus 4.6 | Fable, Opus, Sonnet 5 | Sonnet 4.6 조언자는 거부됩니다 |

106| Opus 4.7 또는 Opus 4.8 | Fable, Opus 4.7 이상 | Opus 4.6 또는 Sonnet 조언자는 거부됩니다 |104| Opus 4.7 또는 Opus 4.8 | Fable, Opus 4.7 이상 | Opus 4.6 또는 Sonnet 조언자는 거부됩니다 |

107| Opus 5 | Fable, Opus 5 | Opus 4.6 또는 Sonnet 조언자는 거부되며, Opus 4.7 또는 Opus 4.8 조언자를 사용한 요청은 API 오류로 실패합니다 |105| Opus 5.5 또는 Opus 5 | Fable, Opus 5 이상 | Opus 4.6 또는 Sonnet 조언자는 거부되며, API는 Opus 4.7 또는 Opus 4.8 조언자를 거부합니다 |

108| Fable 5 | Fable 5.1 또는 Fable 5 | Opus 또는 Sonnet 조언자는 거부됩니다 |106| Fable 5 | Fable 5.1 또는 Fable 5 | Opus 또는 Sonnet 조언자는 거부됩니다 |

109| Fable 5.1 | Fable 5.1 | Opus 또는 Sonnet 조언자는 거부되며, Fable 5 조언자를 사용한 요청은 API 오류로 실패합니다 |107| Fable 5.1 | Fable 5.1 | Opus 또는 Sonnet 조언자는 거부되며, API는 Fable 5 조언자를 거부합니다 |

110 108 

111Fable 5.1은 Claude Code v2.1.257 이상이 필요합니다. 둘 다 [Fable 액세스](/docs/ko/model-config#work-with-fable)가 필요합니다.109Fable 5.1은 Claude Code v2.1.257 이상이 필요합니다. 둘 다 [Fable 액세스](/docs/ko/model-config#work-with-fable)가 필요합니다.

112 110 

113조언자를 `fable`, `opus`, 또는 `sonnet`으로 설정하세요. 이러한 별칭은 Claude Code의 각 모델 제품군에 대한 기본 제공 기본 버전으로 확인되며, 새로운 Claude Code 릴리스와 함께 발전합니다. `claude-opus-5`와 같은 전체 모델 ID를 전달할 수도 있습니다.111조언자를 `fable`, `opus`, 또는 `sonnet`으로 설정하세요. 이러한 별칭은 Claude Code의 각 모델 제품군에 대한 기본 제공 기본 버전으로 확인되며, 새로운 Claude Code 릴리스와 함께 발전합니다. `claude-opus-5-5`와 같은 전체 모델 ID를 전달할 수도 있습니다.

114 112 

115하위 에이전트는 구성된 조언자를 상속하고 자신의 모델에 대해 동일한 쌍 확인을 적용합니다.113하위 에이전트는 구성된 조언자를 상속하고 자신의 모델에 대해 동일한 쌍 확인을 적용합니다.

116 114 

117Claude Code는 요청을 보내기 전에 쌍을 검증하며, API는 다시 한 번 검증합니다:115Claude Code는 요청을 보내기 전에 쌍을 검증하며, API는 다시 한 번 검증합니다:

118 116 

119* 표에서 거부된 것으로 나열된 조언자의 경우, Claude Code는 이를 주 모델의 요청에 첨부하지 않습니다. `/advisor` 명령 출력과 알림에 이것이 표시됩니다. 자신의 모델이 쌍 확인을 만족하는 하위 에이전트는 여전히 조언자를 사용할 수 있습니다.117* 표에서 거부된 것으로 나열된 조언자의 경우, Claude Code는 이를 주 모델의 요청에 첨부하지 않습니다. `/advisor` 명령 출력과 알림에 이것이 표시됩니다. 자신의 모델이 쌍 확인을 만족하는 하위 에이전트는 여전히 조언자를 사용할 수 있습니다.

120* 표에서 API 오류로 실패하는 것으로 나열된 조언자의 경우, Claude Code는 이를 첨부하고 API가 이를 거부합니다. 모든 요청이 `'<advisor model>'은(는) 요청 모델이 '<main model>'일 때 조언자로 사용될 수 없습니다`로 실패하며, `/advisor`로 조언자를 변경하거나 끌 때까지 계속됩니다.118* 표에서 API가 거부하는 것으로 나열된 조언자의 경우, Claude Code는 이를 첨부하고 API가 이를 거부합니다. Claude Code는 그 후 조언자 없이 해당 요청을 다시 보내며, 나머지 대화는 조언자 없이 실행되므로 오류가 표시되지 않고 조언자 호출이 없습니다. `/advisor`로 허용되는 조언자를 선택하세요. 변경 사항은 `/clear` 또는 `/compact` 후 및 새 세션에서 적용됩니다.

121* 주 모델 또는 조언자가 Claude Code가 인식하지 못하는 모델이면 조언자가 첨부되지 않습니다.119* 주 모델 또는 조언자가 Claude Code가 인식하지 못하는 모델이면 조언자가 첨부되지 않습니다.

122 120 

123<h3 id="fable-advisor-and-usage-credits">121<h3 id="fable-advisor-and-usage-credits">


195 193 

196조언자 도구는 다음 모두를 요구합니다:194조언자 도구는 다음 모두를 요구합니다:

197 195 

198* **Anthropic API만**: 조언자는 서버 실행 도구입니다. Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서는 사용할 수 없습니다. `ANTHROPIC_BASE_URL`로 구성된 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 가용성은 게이트웨이가 요청을 Anthropic API로 그대로 전달하는지 여부에 따라 달라집니다.196* **Anthropic API만**: 조언자는 서버 실행 도구입니다. Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서는 사용할 수 없습니다. `ANTHROPIC_BASE_URL`로 구성된 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 가용성은 게이트웨이가 요청을 Anthropic API로 그대로 전달하는지 여부에 따라 달라집니다. 게이트웨이 또는 그 업스트림이 조언자 도구를 인식하지 못하는 경우 Claude Code가 응답하는 방식에 대해 [자동 재시도 및 오류 전달](/docs/ko/llm-gateway-protocol#automatic-retry-and-error-forwarding)을 참조하십시오.

199* **지원되는 주 모델**: Fable, Opus 4.6 이상, Sonnet 4.6 이상 또는 Haiku 4.5. [조언자 모델 선택](#choose-an-advisor-model)을 참조하여 각 조언자가 어떤 모델을 지원하는지 확인하십시오.197* **지원되는 주 모델**: Fable, Opus 4.6 이상, Sonnet 4.6 이상 또는 Haiku 4.5. [조언자 모델 선택](#choose-an-advisor-model)을 참조하여 각 조언자가 어떤 모델을 지원하는지 확인하십시오.

200* **기능 플래그 가져오기**: Claude Code는 Anthropic에서 가져온 기능 플래그를 통해 조언자를 켭니다. `DISABLE_TELEMETRY`와 같이 플래그 가져오기를 끄는 변수가 설정된 세션에서는 조언자가 꺼진 상태로 유지됩니다. [기능 플래그 가져오기가 필요한 기능](/docs/ko/env-vars#features-that-need-feature-flag-fetching)을 참조하십시오.198* **기능 플래그 가져오기**: Claude Code는 Anthropic에서 가져온 기능 플래그를 통해 조언자를 켭니다. `DISABLE_TELEMETRY`와 같이 플래그 가져오기를 끄는 변수가 설정된 세션에서는 조언자가 꺼진 상태로 유지됩니다. [기능 플래그 가져오기가 필요한 기능](/docs/ko/env-vars#features-that-need-feature-flag-fetching)을 참조하십시오.

201 199 

Details

189TypeScript는 또한 `applyFlagSettings()` 및 `updateSettings()`를 가집니다:189TypeScript는 또한 `applyFlagSettings()` 및 `updateSettings()`를 가집니다:

190 190 

191* **`applyFlagSettings()`**: `await session.applyFlagSettings({ effortLevel: "high" })`처럼 런타임에 설정을 적용합니다. 메서드는 옵션 필드가 아닌 설정 파일 키를 사용하므로 스키마 및 어떤 키가 세션 중에 적용되는지 [`applyFlagSettings()` 참조](/docs/ko/agent-sdk/typescript#applyflagsettings)를 확인하세요.191* **`applyFlagSettings()`**: `await session.applyFlagSettings({ effortLevel: "high" })`처럼 런타임에 설정을 적용합니다. 메서드는 옵션 필드가 아닌 설정 파일 키를 사용하므로 스키마 및 어떤 키가 세션 중에 적용되는지 [`applyFlagSettings()` 참조](/docs/ko/agent-sdk/typescript#applyflagsettings)를 확인하세요.

192* **`updateSettings()`**: `await session.updateSettings("localSettings", { outputStyle: "Explanatory" })`처럼 프로젝트의 로컬 설정 파일에 허용 목록에 있는 키 집합을 씁니다. 작성된 키는 세션의 다음 요청에서 적용되고 `local` 설정을 로드하는 나중 세션에 대해 지속됩니다. 메서드의 행은 [메서드 테이블](/docs/ko/agent-sdk/typescript#methods)에서 허용 목록에 있는 키 및 버전 하한을 지정합니다.192* **`updateSettings()`**: 허용 목록에 있는 키 하나를 설정 파일에 씁니다. [`updateSettings()` 참조](/docs/ko/agent-sdk/typescript#updatesettings)는 각 소스가 허용하는 키와 버전 하한을 지정합니다.

193 * 프로젝트의 로컬 설정 파일에 쓰려면 `"localSettings"`를 전달하세요. `await session.updateSettings("localSettings", { outputStyle: "Explanatory" })`처럼 사용합니다. 작성된 키는 세션의 다음 요청에서 적용되고 `local` 설정을 로드하는 나중 세션에 대해 지속됩니다.

194 * `"userSettings"`를 전달하여 해당 소스가 허용하는 유일한 키인 `effortLevel`을 씁니다. Claude Code는 이를 세션의 현재 모델에 대한 기본 노력 수준으로 저장하며, 실행 중인 세션의 노력은 변경되지 않습니다.

193 195 

194아래 예제는 2턴 세션을 실행하고 턴 사이에 구성을 변경하며 각 턴에 응답한 모델을 출력합니다. TypeScript에서 프롬프트 스트림은 설정자가 실행될 때까지 두 번째 메시지를 보유하며 두 번째 턴은 새 모델에서 실행됩니다.196아래 예제는 2턴 세션을 실행하고 턴 사이에 구성을 변경하며 각 턴에 응답한 모델을 출력합니다. TypeScript에서 프롬프트 스트림은 설정자가 실행될 때까지 두 번째 메시지를 보유하며 두 번째 턴은 새 모델에서 실행됩니다.

195 197 

Details

37 37 

38* **`query()` 호출:** SDK의 `query()` 함수 한 번의 호출입니다. 단일 호출은 여러 단계를 포함할 수 있습니다: Claude가 응답하고, 도구를 사용하고, 결과를 얻고, 다시 응답합니다. 각 호출은 끝에 하나의 [`result`](/docs/ko/agent-sdk/typescript#sdkresultmessage) 메시지를 생성합니다. 단, [스트리밍 입력 모드](/docs/ko/agent-sdk/streaming-vs-single-mode)에서는 하나의 `query()` 호출이 여러 사용자 턴을 수행하며 각 턴은 자신의 `result` 메시지를 내보냅니다.38* **`query()` 호출:** SDK의 `query()` 함수 한 번의 호출입니다. 단일 호출은 여러 단계를 포함할 수 있습니다: Claude가 응답하고, 도구를 사용하고, 결과를 얻고, 다시 응답합니다. 각 호출은 끝에 하나의 [`result`](/docs/ko/agent-sdk/typescript#sdkresultmessage) 메시지를 생성합니다. 단, [스트리밍 입력 모드](/docs/ko/agent-sdk/streaming-vs-single-mode)에서는 하나의 `query()` 호출이 여러 사용자 턴을 수행하며 각 턴은 자신의 `result` 메시지를 내보냅니다.

39* **Step:** `query()` 호출 내의 단일 요청/응답 사이클입니다. 각 단계는 토큰 사용량이 있는 어시스턴트 메시지를 생성합니다.39* **Step:** `query()` 호출 내의 단일 요청/응답 사이클입니다. 각 단계는 토큰 사용량이 있는 어시스턴트 메시지를 생성합니다.

40* **Session:** 세션 ID로 연결된 일련의 `query()` 호출입니다(`resume` 옵션 사용). 세션 내의 각 `query()` 호출은 자신의 비용을 독립적으로 보고합니다.40* **Session:** 세션 ID로 연결된 일련의 `query()` 호출입니다(`resume` 옵션 사용). 재개된 호출의 결과는 해당 호출 자신의 비용이 아닌 세션 전체의 지출을 보고합니다. [여러 호출에 걸쳐 비용 누적하기](#accumulate-costs-across-multiple-calls)에서 합계가 어떻게 이월되는지 확인하십시오.

41 41 

42다음 다이어그램은 단일 `query()` 호출의 메시지 스트림을 보여주며, 각 단계에서 토큰 사용량이 보고되고 끝에 누적 추정치가 표시됩니다:42다음 다이어그램은 단일 `query()` 호출의 메시지 스트림을 보여주며, 각 단계에서 토큰 사용량이 보고되고 끝에 누적 추정치가 표시됩니다:

43 43 


51 </Step>51 </Step>

52 52 

53 <Step title="결과 메시지는 누적 추정치를 제공합니다">53 <Step title="결과 메시지는 누적 추정치를 제공합니다">

54 `query()` 호출이 완료되면, SDK는 `total_cost_usd` 및 누적 `usage`가 있는 결과 메시지를 내보냅니다. TypeScript에서는 [`SDKResultMessage`](/docs/ko/agent-sdk/typescript#sdkresultmessage)로 입력되고 Python에서는 [`ResultMessage`](/docs/ko/agent-sdk/python#resultmessage)로 입력됩니다. 예를 들어 다중 턴 세션에서 여러 `query()` 호출을 수행하는 경우, 각 결과는 해당 개별 호출의 비용만 반영합니다. 추정 합계만 필요한 경우, 단계별 사용량을 무시하고 이 단일 값을 읽을 수 있습니다.54 `query()` 호출이 완료되면, SDK는 `total_cost_usd` 및 누적 `usage`가 있는 결과 메시지를 내보냅니다. TypeScript에서는 [`SDKResultMessage`](/docs/ko/agent-sdk/typescript#sdkresultmessage)로 입력되고 Python에서는 [`ResultMessage`](/docs/ko/agent-sdk/python#resultmessage)로 입력됩니다. 예상 합계만 필요한 경우, 단계별 사용량을 무시하고 이 단일 값을 읽을 수 있습니다.

55 

56 여러 개의 독립적인 `query()` 호출을 수행하는 경우, 각 결과는 해당 개별 호출의 비용만 반영합니다. 세션을 재개하는 호출도 세션의 이전 지출을 계산합니다.

55 57 

56 스트리밍 입력 모드에서는 각 턴이 자신의 결과 메시지를 내보냅니다. 해당 모드에서 호출 합계를 읽는 방법은 [스트리밍 입력 모드에서 비용 추적](#track-costs-in-streaming-input-mode)을 참조하십시오.58 스트리밍 입력 모드에서는 각 턴이 자신의 결과 메시지를 내보냅니다. 해당 모드에서 호출 합계를 읽는 방법은 [스트리밍 입력 모드에서 비용 추적](#track-costs-in-streaming-input-mode)을 참조하십시오.

57 </Step>59 </Step>


64[스트리밍 입력 모드](/docs/ko/agent-sdk/streaming-vs-single-mode)에서 하나의 `query()` 호출은 여러 사용자 턴을 포함하며 각 턴은 자신의 결과 메시지를 내보냅니다. 결과 필드는 범위가 다릅니다:66[스트리밍 입력 모드](/docs/ko/agent-sdk/streaming-vs-single-mode)에서 하나의 `query()` 호출은 여러 사용자 턴을 포함하며 각 턴은 자신의 결과 메시지를 내보냅니다. 결과 필드는 범위가 다릅니다:

65 67 

66* **`usage`**: 해당 턴만 포함하며, 그 내에서도 주 에이전트 루프만 포함하고 실행한 서브에이전트는 포함하지 않습니다.68* **`usage`**: 해당 턴만 포함하며, 그 내에서도 주 에이전트 루프만 포함하고 실행한 서브에이전트는 포함하지 않습니다.

67* **`total_cost_usd` 및 `modelUsage`, 또는 Python의 `model_usage`**: 지금까지 전체 호출에 대한 누적 합계를 나타냅니다.69* **`total_cost_usd` 및 `modelUsage`, 또는 Python의 `model_usage`**: 지금까지 전체 호출에 대한 누적 합계를 나타내며, 호출이 세션을 재개할 때 복원된 모든 지출을 포함합니다.

68 70 

69앱이 `/clear`, `/reset`, 또는 `/new`를 보내지 않는 호출에서는 결과 전체를 합산하는 대신 최신 결과에서 호출 합계를 읽습니다.71앱이 `/clear`, `/reset`, 또는 `/new`를 보내지 않는 호출에서는 결과 전체를 합산하는 대신 최신 결과에서 호출 합계를 읽습니다.

70 72 


78 80 

79TypeScript에서 SDK는 각 재설정 시 [`SDKConversationResetMessage`](/docs/ko/agent-sdk/typescript#sdkconversationresetmessage)도 내보내므로 스트림에서 재설정을 감지할 수 있습니다. Python에서 SDK는 마찬가지로 `ConversationResetMessage`를 내보냅니다. Python SDK v0.2.137 이전에는 Python 반복자가 해당 메시지를 삭제했으므로 해당 버전에서는 앱이 보내는 `/clear` 턴에서 재설정을 직접 계산합니다.81TypeScript에서 SDK는 각 재설정 시 [`SDKConversationResetMessage`](/docs/ko/agent-sdk/typescript#sdkconversationresetmessage)도 내보내므로 스트림에서 재설정을 감지할 수 있습니다. Python에서 SDK는 마찬가지로 `ConversationResetMessage`를 내보냅니다. Python SDK v0.2.137 이전에는 Python 반복자가 해당 메시지를 삭제했으므로 해당 버전에서는 앱이 보내는 `/clear` 턴에서 재설정을 직접 계산합니다.

80 82 

81`maxBudgetUsd`, 또는 Python의 `max_budget_usd`는 동일한 누적 합계와 비교되므로 `/clear`도 예산을 다시 시작합니다.83`maxBudgetUsd`(TypeScript) 또는 `max_budget_usd`(Python)는 호출 자체의 지출만 계산합니다: 재개된 세션에서 복원된 합계는 이에 대해 계산되지 않으며, `/clear`는 예산을 다시 시작합니다.

82 84 

83<h2 id="get-the-total-cost-of-a-query">85<h2 id="get-the-total-cost-of-a-query">

84 쿼리의 총 비용 얻기86 쿼리의 총 비용 얻기

85</h2>87</h2>

86 88 

87결과 메시지는 TypeScript에서 [`SDKResultMessage`](/docs/ko/agent-sdk/typescript#sdkresultmessage)로, Python에서 [`ResultMessage`](/docs/ko/agent-sdk/python#resultmessage)로 타입이 지정되며, `query()` 호출에 대한 에이전트 루프의 끝을 표시합니다. 이 메시지에는 해당 호출의 모든 단계에 걸친 누적 예상 비용인 `total_cost_usd`가 포함됩니다. Python에서는 이 필드가 선택적으로 타입이 지정되므로, 읽기 전에 `None`이 아닌지 확인하십시오. 성공 및 오류 결과 모두 이를 포함하지만, [세션 충돌](#recover-totals-after-a-session-crash) 후의 최종 결과는 이를 0으로 포함할 수 있습니다.89결과 메시지는 TypeScript에서 [`SDKResultMessage`](/docs/ko/agent-sdk/typescript#sdkresultmessage)로, Python에서 [`ResultMessage`](/docs/ko/agent-sdk/python#resultmessage)로 타입이 지정되며, `query()` 호출에 대한 에이전트 루프의 끝을 표시합니다. 이 메시지에는 해당 호출의 모든 단계에 걸친 누적 예상 비용인 `total_cost_usd`가 포함됩니다. 세션을 재개하는 호출도 세션의 이전 지출을 계산합니다. 값을 읽을 때 두 가지 주의사항이 적용됩니다:

90 

91* Python에서는 필드가 선택적으로 타입이 지정되므로, 읽기 전에 `None`이 아닌지 확인하십시오.

92* 성공 및 오류 결과 모두 이를 포함하지만, [세션 충돌](#recover-totals-after-a-session-crash) 후의 최종 결과는 이를 0으로 포함할 수 있습니다.

88 93 

89세션을 사용하여 여러 `query()` 호출을 수행하는 경우, 각 결과는 해당 개별 호출의 비용만 반영합니다. 스트리밍 입력 모드에서는 [스트리밍 입력 모드에서 비용 추적](#track-costs-in-streaming-input-mode)에 설명된 대로 호출 총액을 읽으십시오.94스트리밍 입력 모드에서는 [스트리밍 입력 모드에서 비용 추적](#track-costs-in-streaming-input-mode)에 설명된 대로 호출 총액을 읽으십시오.

90 95 

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

92 97 


232 여러 호출에 걸쳐 비용 누적하기237 여러 호출에 걸쳐 비용 누적하기

233</h2>238</h2>

234 239 

235각 `query()` 호출은 자체 `total_cost_usd`를 반환합니다. SDK는 세션 수준의 총합을 제공하지 않으므로, 애플리케이션이 여러 `query()` 호출을 수행하는 경우(예: 다중 턴 세션 또는 여러 사용자에 걸쳐), 총합을 직접 누적해야 합니다. 스트리밍 입력 모드에서는 [스트리밍 입력 모드에서 비용 추적하기](#track-costs-in-streaming-input-mode)에 설명된 대로 각 호출의 총합을 읽으십시오. 충돌로 끝난 호출의 경우 [세션 충돌 후 총합 복구하기](#recover-totals-after-a-session-crash)를 참조하십시오.240각 `query()` 호출은 자체 결과에서 `total_cost_usd`를 반환합니다. 값을 결합하는 방식은 호출이 세션을 공유하는지 여부에 따라 달라집니다:

241 

242* **독립적인 호출, `resume` 또는 `continue` 옵션 없음**: 각 결과는 자체 호출만 포함하므로, 아래 예제처럼 총합을 직접 더해야 합니다.

243* **동일한 세션을 재개하는 호출**: Claude Code는 프로세스가 정상적으로 종료될 때 세션의 총합을 [트랜스크립트](/docs/ko/sessions#where-transcripts-are-stored)에 저장하고, 나중에 호출이 세션을 재개하거나 포크할 때 복구합니다. 각 결과는 이미 세션의 이전 지출을 포함합니다. 세션 총합을 위해 최신 결과를 읽으십시오. 결과를 합산하면 복구된 지출이 중복 계산됩니다. v2.1.277 이전에는 SDK 또는 `claude -p`를 통해 재개한 세션이 총합을 0에서 시작했으므로, 각 호출의 결과는 해당 호출만 포함했습니다.

244 

245스트리밍 입력 모드에서는 [스트리밍 입력 모드에서 비용 추적하기](#track-costs-in-streaming-input-mode)에 설명된 대로 각 호출의 총합을 읽으십시오. 충돌로 끝난 호출의 경우 [세션 충돌 후 총합 복구하기](#recover-totals-after-a-session-crash)를 참조하십시오.

236 246 

237다음 예제는 두 개의 `query()` 호출을 순차적으로 실행하고, 각 호출의 `total_cost_usd`를 누적 총합에 더하며, 호출별 비용과 결합된 비용을 모두 출력합니다:247다음 예제는 두 개의 `query()` 호출을 순차적으로 실행하고, 각 호출의 `total_cost_usd`를 누적 총합에 더하며, 호출별 비용과 결합된 비용을 모두 출력합니다:

238 248 


338 348 

339Claude Code 프로세스가 충돌하면 최종 `error_during_execution` 결과를 내보내고 종료합니다. 단일 샷 및 스트리밍 입력 모드 모두에서 그렇습니다. 해당 결과는 0으로 설정된 `usage`, `total_cost_usd` 및 `modelUsage`를 포함할 수 있으므로, 이전에 도착한 것에서 호출의 합계를 복구합니다. 1단계는 이전 결과가 존재할 때마다 전체 합계를 복구합니다. 2단계의 폴백은 메인 루프의 입력 및 캐시 토큰만 복구합니다.349Claude Code 프로세스가 충돌하면 최종 `error_during_execution` 결과를 내보내고 종료합니다. 단일 샷 및 스트리밍 입력 모드 모두에서 그렇습니다. 해당 결과는 0으로 설정된 `usage`, `total_cost_usd` 및 `modelUsage`를 포함할 수 있으므로, 이전에 도착한 것에서 호출의 합계를 복구합니다. 1단계는 이전 결과가 존재할 때마다 전체 합계를 복구합니다. 2단계의 폴백은 메인 루프의 입력 및 캐시 토큰만 복구합니다.

340 350 

3411. 충돌 전 턴의 결과를 사용합니다. 스트리밍 입력 모드에서는 호출 시작 이후 또는 마지막 [`/clear`](#track-costs-in-streaming-input-mode) 이후의 누적 합계를 포함합니다. 해당 결과가 도움이 될 수 없을 때 2단계로 이동합니다:3511. 충돌 전 턴의 결과를 사용합니다. 스트리밍 입력 모드에서는 [스트리밍 입력 모드에서 비용 추적](#track-costs-in-streaming-input-mode)에 설명된 누적 합계를 포함합니다. 해당 결과가 도움이 될 수 없을 때 2단계로 이동합니다:

342 * 호출이 단일 샷이므로 이전 결과가 없습니다.352 * 호출이 단일 샷이므로 이전 결과가 없습니다.

343 * 충돌이 첫 번째 턴에서 발생했습니다.353 * 충돌이 첫 번째 턴에서 발생했습니다.

344 * 충돌 전 턴이 `/clear` 자체였으므로, 그 결과는 재설정만 포함합니다.354 * 충돌 전 턴이 `/clear` 자체였으므로, 그 결과는 재설정만 포함합니다.

Details

10 10 

11이 페이지는 자체 인프라에서의 자체 호스팅을 다룹니다. 배포 가능한 Dockerfile 및 Kubernetes 매니페스트는 [호스팅 쿡북](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting)을 참조하십시오.11이 페이지는 자체 인프라에서의 자체 호스팅을 다룹니다. 배포 가능한 Dockerfile 및 Kubernetes 매니페스트는 [호스팅 쿡북](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting)을 참조하십시오.

12 12 

13인프라 제어, 사용자 정의 격리 또는 자체 데이터 플레인이 필요하지 않은 경우 [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview)를 대신 고려하십시오: Anthropic이 에이전트와 샌드박스를 실행하는 호스팅된 REST API이므로 애플리케이션은 이벤트를 보내고 호스팅 인프라를 운영할 필요 없이 결과를 다시 스트리밍합니다.13에이전트 루프를 자체 인프라에서 실행할 필요가 없는 경우 [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview)를 대신 고려하십시오. Anthropic이 에이전트 루프를 호스팅하며, 애플리케이션은 클라이언트 SDK 또는 REST API를 통해 이벤트를 보내고 스트리밍된 결과를 수신합니다. 도구 실행은 Anthropic 관리 클라우드 샌드박스 또는 자체 인프라의 [자체 호스팅 샌드박스](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes)에서 실행됩니다.

14 14 

15<h2 id="the-subprocess-model">15<h2 id="the-subprocess-model">

16 서브프로세스 모델16 서브프로세스 모델

Details

387* 마커를 두 번 이상 포함하면, 첫 번째가 분할이고 SDK는 나머지를 제거합니다.387* 마커를 두 번 이상 포함하면, 첫 번째가 분할이고 SDK는 나머지를 제거합니다.

388* 마커를 생략하면, SDK는 모든 문자열을 하나의 블록으로 조인하며, 이는 하나의 문자열을 전달하는 것과 같습니다.388* 마커를 생략하면, SDK는 모든 문자열을 하나의 블록으로 조인하며, 이는 하나의 문자열을 전달하는 것과 같습니다.

389 389 

390CLI의 [`--system-prompt` 또는 `--system-prompt-file` 플래그](/docs/ko/cli-reference#system-prompt-flags)를 사용하면, 프롬프트는 하나의 문자열이므로 마커를 전달할 배열이 없습니다. 정적 부분과 요청별 부분 사이에 `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__`만 포함된 줄을 포함하십시오. Claude Code는 프롬프트를 첫 번째 줄에서 동일한 두 블록으로 분할하고 해당 줄을 제거합니다. Claude Code v2.1.275 이상이 필요합니다.

391 

392SDK에서는 배열 형식을 선호하십시오. 이는 마커 줄 없이 경계를 전달합니다.

393 

390<h3 id="change-the-prompt-of-an-existing-session">394<h3 id="change-the-prompt-of-an-existing-session">

391 기존 세션의 프롬프트 변경395 기존 세션의 프롬프트 변경

392</h3>396</h3>

Details

12 Agent SDK를 다른 Claude 도구와 비교12 Agent SDK를 다른 Claude 도구와 비교

13</h2>13</h2>

14 14 

15Agent SDK, CLI, Client SDK, Managed Agents는 각각 다른 요구사항에 맞습니다. 구축 중인 것에 맞는 도구를 찾으려면 표를 사용하십시오.15Agent SDK, CLI, Client SDK, Managed Agents는 에이전트를 누가 실행하는지, 무엇이 기본으로 제공되는지, 어떻게 접근하는지에 따라 다릅니다. 에이전트를 구축하고 실행하려는 방식과 일치하는 행을 찾으십시오.

16 16 

17| 다음의 경우... | 사용 | 이유 |17| 원하는 작업 | 사용 | 제공되는 것 |

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

19| 도구 루프를 직접 구현하지 않고 에이전트를 구축하는 경우 | **Agent SDK** | Python 또는 TypeScript에서 자신의 프로세스에서 에이전트 루프를 실행하는 라이브러리입니다. |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| API를 직접 호출하고 도구 루프를 직접 구현하는 경우 | [**Client SDK**](https://platform.claude.com/docs/en/api/client-sdks) | Claude Code가 아닌 Anthropic API에 직접 액세스합니다. 도구 루프를 직접 구현합니다. |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)가 이를 구동하도록 할 수 있습니다. |

22| 자신의 샌드박스 또는 세션 인프라를 관리하지 않고 장기 실행 또는 비동기 에이전트를 실행하는 경우 | [**Managed Agents**](https://platform.claude.com/docs/en/managed-agents/overview) | 호스팅된 REST API로, Agent SDK와는 별개의 제품입니다. Anthropic이 에이전트와 샌드박스를 실행합니다. |22| Anthropic이 에이전트를 호스팅하고 Claude API를 통해 구성 | [**Managed Agents**](https://platform.claude.com/docs/en/managed-agents/overview) | 에이전트 루프를 실행하는 호스팅된 에이전트 하네스로, Anthropic 관리 클라우드 샌드박스 또는 자신의 인프라에 있는 [자체 호스팅 샌드박스](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes)의 세션을 포함합니다. [자신의 언어용 SDK](https://platform.claude.com/docs/en/managed-agents/quickstart#install-the-sdk), `ant` CLI 또는 REST API에서 사용합니다. |

23 23 

24SDK는 Python 및 TypeScript용 라이브러리로만 사용 가능합니다. 다른 언어에서 동일한 에이전트 루프를 실행하려면 `-p` 플래그 및 `--output-format json`과 함께 [CLI를 서브프로세스로 실행](/docs/ko/headless)하십시오.24Python 또는 TypeScript 이외의 언어에서 동일한 에이전트 루프를 구동하려면 `-p` 플래그 및 `--output-format json`과 함께 [CLI를 서브프로세스로 실행](/docs/ko/headless)하십시오.

25 25 

26<h2 id="capabilities">26<h2 id="capabilities">

27 기능27 기능

Details

905| `resume` | `str \| None` | `None` | 재개할 세션 ID |905| `resume` | `str \| None` | `None` | 재개할 세션 ID |

906| `session_id` | `str \| None` | `None` | 자동 생성된 세션 ID 대신 특정 세션 ID를 사용합니다. 유효한 UUID여야 합니다. `fork_session`도 설정되지 않으면 `continue_conversation` 또는 `resume`과 결합할 수 없습니다 |906| `session_id` | `str \| None` | `None` | 자동 생성된 세션 ID 대신 특정 세션 ID를 사용합니다. 유효한 UUID여야 합니다. `fork_session`도 설정되지 않으면 `continue_conversation` 또는 `resume`과 결합할 수 없습니다 |

907| `max_turns` | `int \| None` | `None` | 최대 에이전트 턴 (도구 사용 왕복) |907| `max_turns` | `int \| None` | `None` | 최대 에이전트 턴 (도구 사용 왕복) |

908| `max_budget_usd` | `float \| None` | `None` | 클라이언트 측 비용 추정이 이 USD 값에 도달하면 쿼리 중지. `total_cost_usd`와 동일한 추정과 비교됨. 정확도 주의 사항 및 재설정 동작은 [비용 및 사용량 추적](/docs/ko/agent-sdk/cost-tracking) 참조 |908| `max_budget_usd` | `float \| None` | `None` | 클라이언트 측 비용 추정이 이 USD 값에 도달하면 쿼리 중지. 호출 자체의 지출만 계산합니다. 재개된 세션에서 복원된 총액은 계산되지 않습니다. 정확도 주의 사항 및 재설정 동작은 [비용 및 사용량 추적](/docs/ko/agent-sdk/cost-tracking) 참조 |

909| `disallowed_tools` | `list[str]` | `[]` | 거부할 도구. `"Bash"`와 같은 단순 이름은 Claude의 컨텍스트에서 도구를 제거합니다. `"Bash(rm *)"` 같은 범위 지정 규칙은 도구를 사용 가능하게 유지하고 `bypassPermissions`를 포함한 모든 권한 모드에서 일치하는 호출을 거부합니다. [작성된 대로 명령](/docs/ko/permissions#bash-rule-limits)에 대해 [권한](/docs/ko/agent-sdk/permissions#allow-and-deny-rules) 참조 |909| `disallowed_tools` | `list[str]` | `[]` | 거부할 도구. `"Bash"`와 같은 단순 이름은 Claude의 컨텍스트에서 도구를 제거합니다. `"Bash(rm *)"` 같은 범위 지정 규칙은 도구를 사용 가능하게 유지하고 `bypassPermissions`를 포함한 모든 권한 모드에서 일치하는 호출을 거부합니다. [작성된 대로 명령](/docs/ko/permissions#bash-rule-limits)에 대해 [권한](/docs/ko/agent-sdk/permissions#allow-and-deny-rules) 참조 |

910| `enable_file_checkpointing` | `bool` | `False` | 되감기를 위한 파일 변경 추적 활성화. [파일 체크포인팅](/docs/ko/agent-sdk/file-checkpointing) 참조 |910| `enable_file_checkpointing` | `bool` | `False` | 되감기를 위한 파일 변경 추적 활성화. [파일 체크포인팅](/docs/ko/agent-sdk/file-checkpointing) 참조 |

911| `model` | `str \| None` | `None` | Claude 모델 별칭 또는 전체 모델 이름. [허용되는 값 및 공급자별 ID](/docs/ko/model-config#available-models) 참조 |911| `model` | `str \| None` | `None` | Claude 모델 별칭 또는 전체 모델 이름. [허용되는 값 및 공급자별 ID](/docs/ko/model-config#available-models) 참조 |


1487`ClaudeAgentOptions`의 `betas` 필드와 함께 사용하여 베타 기능을 활성화합니다.1487`ClaudeAgentOptions`의 `betas` 필드와 함께 사용하여 베타 기능을 활성화합니다.

1488 1488 

1489<Warning>1489<Warning>

1490 `context-1m-2025-08-07` 베타는 2026년 4월 30일부터 폐기되었습니다. Claude Sonnet 4.5 또는 Sonnet 4와 함께 이 헤더를 전달하면 효과가 없으며, 표준 200k 토큰 컨텍스트 윈도우를 초과하는 요청은 오류를 반환합니다. 1M 토큰 컨텍스트 윈도우를 사용하려면 [Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, 또는 Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview)로 마이그레이션하십시오. 이들은 베타 헤더 없이 표준 가격으로 1M 컨텍스트를 포함합니다.1490 `context-1m-2025-08-07` 베타는 2026년 4월 30일부터 폐기되었습니다. Claude Sonnet 4.5 또는 Sonnet 4와 함께 이 헤더를 전달하면 효과가 없으며, 표준 200k 토큰 컨텍스트 윈도우를 초과하는 요청은 오류를 반환합니다. 1M 토큰 컨텍스트 윈도우를 사용하려면 [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, 또는 Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview)로 마이그레이션하십시오. 이들은 베타 헤더 없이 표준 가격으로 1M 컨텍스트를 포함합니다.

1491</Warning>1491</Warning>

1492 1492 

1493<h3 id="mcpsdkserverconfig">1493<h3 id="mcpsdkserverconfig">


1799 1799 

1800`model_usage` dict는 모델 이름을 모델별 사용량에 매핑합니다. 이는 쿼리 파이프라인을 통해 수행된 모든 모델 호출을 포함합니다: 주 루프, 서브에이전트 및 압축 및 Workflow 에이전트와 같은 내부 호출입니다. 권한 분류기 및 토큰 계산 요청과 같은 해당 파이프라인 외부의 도우미 호출은 `model_usage`에서 제외됩니다. `model_usage`를 추정치로 취급하며, 청구 명세서가 아닙니다.1800`model_usage` dict는 모델 이름을 모델별 사용량에 매핑합니다. 이는 쿼리 파이프라인을 통해 수행된 모든 모델 호출을 포함합니다: 주 루프, 서브에이전트 및 압축 및 Workflow 에이전트와 같은 내부 호출입니다. 권한 분류기 및 토큰 계산 요청과 같은 해당 파이프라인 외부의 도우미 호출은 `model_usage`에서 제외됩니다. `model_usage`를 추정치로 취급하며, 청구 명세서가 아닙니다.

1801 1801 

1802[스트리밍 입력 모드](/docs/ko/agent-sdk/streaming-vs-single-mode)에서 `model_usage`와 `total_cost_usd`는 턴 전체에 누적되므로 결과 전체를 합산하는 대신 최신 결과를 읽으십시오. 재설정은 [스트리밍 입력 모드에서 비용 추적](/docs/ko/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode)을 참조하고 0으로 설정된 결과는 [세션 충돌 후 합계 복구](/docs/ko/agent-sdk/cost-tracking#recover-totals-after-a-session-crash)를 참조하십시오.1802[스트리밍 입력 모드](/docs/ko/agent-sdk/streaming-vs-single-mode)에서 `model_usage`와 `total_cost_usd`는 턴 전체에 누적되므로 결과 전체를 합산하는 대신 최신 결과를 읽으십시오. 세션을 재설정하면 [세션의 이전 호출에서 복원된 합계](/docs/ko/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls)도 계산됩니다. 재설정이 실행 합계에 미치는 영향은 [스트리밍 입력 모드에서 비용 추적](/docs/ko/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode)을 참조하고 0으로 설정된 결과는 [세션 충돌 후 합계 복구](/docs/ko/agent-sdk/cost-tracking#recover-totals-after-a-session-crash)를 참조하십시오.

1803 1803 

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 


2923 "command": str | None, # 셸 스크립트; 각 stdout 줄은 이벤트이고, 종료는 감시를 끝냅니다2923 "command": str | None, # 셸 스크립트; 각 stdout 줄은 이벤트이고, 종료는 감시를 끝냅니다

2924 "ws": dict | None, # WebSocket 소스: {"url": str, "protocols": list[str] | None}; 각 텍스트 프레임은 이벤트입니다2924 "ws": dict | None, # WebSocket 소스: {"url": str, "protocols": list[str] | None}; 각 텍스트 프레임은 이벤트입니다

2925 "description": str, # 알림에 표시되는 짧은 설명2925 "description": str, # 알림에 표시되는 짧은 설명

2926 "timeout_ms": int | None, # 이 기한 후 종료 (기본값 300000, 최대 3600000)2926 "timeout_ms": int | None, # 이 기한 후 종료 (기본값 300000, 최대 3600000; 유효한 기한은 최대 1800000)

2927 "persistent": bool | None, # 세션의 수명 동안 실행; TaskStop으로 중지

2928}2927}

2929```2928```

2930 2929 


2933```python theme={null}2932```python theme={null}

2934{2933{

2935 "taskId": str, # 백그라운드 모니터 작업의 ID2934 "taskId": str, # 백그라운드 모니터 작업의 ID

2936 "timeoutMs": int, # 밀리초 단위의 시간 초과 기한 (지속적일 때 0)2935 "timeoutMs": int, # 밀리초 단위의 감시 유효 기한

2937 "persistent": bool | None, # TaskStop 또는 세션 종료까지 실행 중일 때 True2936 "persistent": bool | None, # False: 모든 감시에는 기한이 있습니다

2938}2937}

2939```2938```

2940 2939 


3350 TaskOutput3349 TaskOutput

3351</h3>3350</h3>

3352 3351 

3353**도구 이름:** `TaskOutput`. 이전 이름 `BashOutput`은 여전히 별칭으로 허용됩니다.3352Claude Code v2.1.277에서 제거됨. 이전에는 실행 중이거나 완료된 백그라운드 작업의 출력을 검색했으며, `BashOutput`은 별칭으로 허용되었습니다. Claude는 `Read`를 사용하여 백그라운드 작업의 출력 파일을 읽습니다.

3354 3353 

3355<Note>`TaskOutput`은 더 이상 사용되지 않습니다. 작업의 출력 파일 경로에서 `Read`를 사용하는 것을 선호하십시오. 아래 스키마는 도구를 만나는 훅 및 권한 처리기에 대해 유효합니다.</Note>3354`disallowed_tools` 항목 또는 두 이름 중 하나를 여전히 지정하는 거부 규칙은 경고 없이 무시됩니다.

3356 

3357**입력:**

3358 

3359```python theme={null}

3360{

3361 "task_id": str, # 출력을 가져올 작업 ID

3362 "block": bool, # 완료를 기다릴지 여부 (기본값 True)

3363 "timeout": int, # 최대 대기 시간(ms) (기본값 30000)

3364}

3365```

3366 

3367**출력:**

3368 

3369```python theme={null}

3370{

3371 "retrieval_status": "success" | "timeout" | "not_ready", # 출력이 검색되었는지 여부

3372 "task": dict | None, # 작업 세부 정보: task_id, task_type, status, description, output, 그리고 exitCode와 같은 타입별 필드

3373}

3374```

3375 3355 

3376<h3 id="taskstop">3356<h3 id="taskstop">

3377 TaskStop3357 TaskStop


3629```3609```

3630 3610 

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

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

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

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

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

3636| `allowUnsandboxedCommands` | `bool` | `True` | 모델이 샌드박스 외부에서 명령 실행을 요청하도록 허용합니다. `True`일 때, 모델은 도구 입력에서 `dangerouslyDisableSandbox`를 설정할 수 있으며, 이는 [권한 시스템](#permissions-fallback-for-unsandboxed-commands)으로 폴백됩니다 |3616| `allowUnsandboxedCommands` | `bool` | `True` | 모델이 샌드박스 외부에서 명령 실행을 요청하도록 허용합니다. `True`일 때, 모델은 도구 입력에서 `dangerouslyDisableSandbox`를 설정할 수 있으며, 이는 [권한 시스템](#permissions-fallback-for-unsandboxed-commands)으로 폴백됩니다 |

3637| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `None` | 네트워크 특정 샌드박스 구성 |3617| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `None` | 네트워크 특정 샌드박스 구성 |

3638| `ignoreViolations` | [`SandboxIgnoreViolations`](#sandboxignoreviolations) | `None` | 무시할 샌드박스 위반을 구성합니다 |3618| `ignoreViolations` | [`SandboxIgnoreViolations`](#sandboxignoreviolations) | `None` | 무시할 샌드박스 위반을 구성합니다 |


3737 샌드박스되지 않은 명령을 위한 권한 폴백3717 샌드박스되지 않은 명령을 위한 권한 폴백

3738</h3>3718</h3>

3739 3719 

3740`allowUnsandboxedCommands`가 활성화되면, 모델은 도구 입력에서 `dangerouslyDisableSandbox: True`를 설정하여 샌드박스 외부에서 명령 실행을 요청할 수 있습니다. 이러한 요청은 기존 권한 시스템으로 폴백되므로, `can_use_tool` 핸들러가 호출되어 사용자 정의 인증 로직을 구현할 수 있습니다. `excludedCommands`에 나열된 명령은 대신 자동으로 샌드박스를 우회하며, 모델 개입이 없습니다. [`SandboxSettings`](#sandboxsettings)를 참조하십시오.3720`allowUnsandboxedCommands`가 활성화되면, 모델은 도구 입력에서 `dangerouslyDisableSandbox: True`를 설정하여 샌드박스 외부에서 명령 실행을 요청할 수 있습니다. 이러한 요청은 기존 권한 시스템으로 폴백되므로, `can_use_tool` 핸들러가 호출되어 사용자 정의 인증 로직을 구현할 수 있습니다.

3721 

3722`excludedCommands` 항목은 대신 모델 개입 없이 샌드박스를 우회합니다. [`sandbox.excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에서 항목이 적용되는 시기를 다룹니다.

3741 3723 

3742다음 예제는 각 샌드박스되지 않은 요청을 로깅하고 사용자 정의 인증 로직이 허용하지 않으면 거부합니다:3724다음 예제는 각 샌드박스되지 않은 요청을 로깅하고 사용자 정의 인증 로직이 허용하지 않으면 거부합니다:

3743 3725 

Details

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` | 제한 없음. `total_cost_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)을 참조하십시오 |

652 652 

653두 SDK는 `env` 옵션을 다르게 처리합니다: TypeScript SDK는 서브프로세스 환경을 이것으로 대체하므로 `PATH`와 같은 변수를 유지하기 위해 `process.env`를 이것으로 전개하고, Python SDK는 이것을 상속된 환경에 병합합니다. 이 예제는 중첩을 끄고, 한 번에 최대 5개의 서브에이전트를 허용하며, 예상 지출이 \$5에 도달하면 쿼리를 중지합니다:653두 SDK는 `env` 옵션을 다르게 처리합니다: TypeScript SDK는 서브프로세스 환경을 이것으로 대체하므로 `PATH`와 같은 변수를 유지하기 위해 `process.env`를 이것으로 전개하고, Python SDK는 이것을 상속된 환경에 병합합니다. 이 예제는 중첩을 끄고, 한 번에 최대 5개의 서브에이전트를 허용하며, 예상 지출이 \$5에 도달하면 쿼리를 중지합니다:

654 654 


745 Claude가 서브에이전트에 위임하지 않음745 Claude가 서브에이전트에 위임하지 않음

746</h3>746</h3>

747 747 

748Claude가 서브에이전트에 위임하는 대신 작업을 직접 완료하는 경우:748Claude가 서브에이전트에 위임하지 않고 작업을 직접 완료하는 경우:

749 749 

750* **명시적 프롬프팅 사용**: 프롬프트에서 서브에이전트를 이름으로 언급하세요(예: "code-reviewer 에이전트를 사용하여...").750* **명시적 프롬프팅 사용**: 프롬프트에서 서브에이전트를 이름으로 언급합니다. 예를 들어 "code-reviewer 에이전트를 사용하여 인증 모듈을 확인하세요"

751* **명확한 설명 작성**: Claude가 작업을 적절히 일치시킬 수 있도록 서브에이전트를 사용해야 할 때를 정확히 설명하세요.751* **명확한 설명 작성**: 서브에이전트를 언제 사용할지 정확히 설명하여 Claude가 작업을 적절히 매칭할 수 있도록 합니다

752 752 

753<h3 id="filesystem-based-agents-not-loading">753<h3 id="filesystem-based-agents-not-loading">

754 파일 시스템 기반 에이전트가 로드되지 않음754 파일시스템 기반 에이전트가 로드되지 않음

755</h3>755</h3>

756 756 

757Claude Code는 `~/.claude/agents/` 및 `.claude/agents/`를 감시하며 새로운 또는 편집된 에이전트 파일을 몇 초 내에 선택하며, 재시작이 필요하지 않습니다. 정의가 나타나지 않으면 다음 원인들을 확인하세요:757Claude Code는 `~/.claude/agents/` 및 `.claude/agents/`를 감시하며 새로운 또는 편집된 에이전트 파일을 몇 초 내에 선택합니다. 재시작이 필요하지 않습니다. 정의가 나타나지 않으면 다음 원인들을 확인하세요:

758 758 

759* **새로운 `agents` 디렉토리**: 감시자는 세션이 시작될 때 존재했던 디렉토리만 포함하므로, 새 디렉토리의 첫 번째 파일은 세션 재시작이 필요합니다. 이것이 가장 일반적인 원인입니다.759* **새로운 `agents` 디렉토리**: 감시자는 세션이 시작될 때 존재했던 디렉토리만 감시하므로 새 디렉토리의 첫 번째 파일은 세션 재시작이 필요합니다. 이것이 가장 일반적인 원인입니다.

760* **잘못된 frontmatter 또는 중복된 `name`**: 파일의 YAML을 확인하고, 기존 에이전트가 이미 해당 `name`을 사용하고 있는지 확인하세요.760* **잘못된 frontmatter 또는 중복된 `name`**: 파일의 YAML을 확인하고 기존 에이전트가 이미 해당 `name`을 사용하고 있는지 확인합니다.

761* **`--disable-slash-commands`**: 이 플래그로 시작된 세션은 이러한 디렉토리를 감시하지 않으며 새 파일을 로드하려면 항상 재시작이 필요합니다.761* **`--disable-slash-commands`**: 이 플래그로 시작된 세션은 이러한 디렉토리를 감시하지 않으며 새 파일을 로드하려면 항상 재시작이 필요합니다.

762* **동일한 이름의 프로그래밍 방식 에이전트**: `query()`에 전달된 `agents`는 동일한 이름의 파일 시스템 에이전트를 재정의합니다.762* **추가된 디렉토리 아래의 파일**: Claude Code는 `add_dirs` (Python) 또는 `additionalDirectories` (TypeScript) 옵션이나 CLI의 `--add-dir` 또는 `/add-dir`로 추가된 디렉토리에서 `.claude/agents/`를 로드하지만 감시하지 않으므로 해당 위치의 새로운 또는 편집된 파일은 세션 재시작이 필요합니다.

763* **동일한 이름의 프로그래매틱 에이전트**: `query()`에 전달된 `agents`는 동일한 이름의 파일시스템 에이전트를 재정의합니다.

763 764 

764파일 형식에 대해서는 [서브에이전트 파일 작성 방법](/docs/ko/sub-agents#write-subagent-files)을 참조하세요.765파일 형식에 대해서는 [서브에이전트 파일 작성 방법](/docs/ko/sub-agents#write-subagent-files)을 참조하세요.

765 766 

Details

62 `query()`62 `query()`

63</h3>63</h3>

64 64 

65Claude Code와 상호작용하기 위한 주요 함수입니다. 메시지가 도착할 때 스트리밍하는 비동기 생성기를 만듭니다.65Claude Code와 상호작용하기 위한 주요 함수입니다. 메시지가 도착하는 대로 스트리밍하는 비동기 생성기를 생성합니다.

66 66 

67```typescript theme={null}67```typescript theme={null}

68function query({68function query({


78 매개변수78 매개변수

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 

86<h4 id="returns">86<h4 id="returns">

87 반환값87 반환값

88</h4>88</h4>

89 89 

90[`Query`](#query-object) 객체를 반환하며, 이는 추가 메서드를 포함하는 `AsyncGenerator<`[`SDKMessage`](#sdkmessage)`, void>`를 확장합니다.90추가 메서드가 포함된 `AsyncGenerator<`[`SDKMessage`](#sdkmessage)`, void>`를 확장하는 [`Query`](#query-object) 객체를 반환합니다.

91 91 

92<h3 id="startup">92<h3 id="startup">

93 `startup()`93 `startup()`

94</h3>94</h3>

95 95 

96프롬프트를 사용할 수 있기 전에 CLI 서브프로세스를 생성하고 초기화 핸드셰이크를 완료하여 미리 준비합니다. 반환된 [`WarmQuery`](#warmquery) 핸들은 나중에 프롬프트를 수락하고 이미 준비된 프로세스에 작성하므로, 첫 번째 `query()` 호출은 서브프로세스 생성 및 초기화 비용을 지불하지 않고 해결됩니다.96프롬프트를 사용할 수 있기 전에 CLI 부프로세스를 생성하고 초기화 핸드셰이크를 완료하여 미리 준비합니다. 반환된 [`WarmQuery`](#warmquery) 핸들은 나중에 프롬프트를 수락하고 이미 준비된 프로세스에 작성하므로 첫 번째 `query()` 호출이 부프로세스 생성 및 초기화 비용을 인라인으로 지불하지 않고 해결됩니다.

97 97 

98```typescript theme={null}98```typescript theme={null}

99function startup(params?: {99function startup(params?: {


106 매개변수106 매개변수

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 

114<h4 id="returns-2">114<h4 id="returns-2">

115 반환값115 반환값

116</h4>116</h4>

117 117 

118서브프로세스가 생성되고 초기화 핸드셰이크를 완료하면 해결되는 `Promise<`[`WarmQuery`](#warmquery)`>`를 반환합니다.118부프로세스가 생성되고 초기화 핸드셰이크를 완료한 후 해결되는 `Promise<`[`WarmQuery`](#warmquery)`>`를 반환합니다.

119 119 

120<h4 id="example">120<h4 id="example">

121 예제121 예제

122</h4>122</h4>

123 123 

124`startup()`을 조기에 호출합니다(예: 애플리케이션 부팅 시). 그런 다음 프롬프트가 준비되면 반환된 핸들에서 `.query()`를 호출합니다. 이렇게 하면 서브프로세스 생성 및 초기화가 중요 경로에서 벗어납니다.124`startup()`을 조기에 호출합니다(예: 애플리케이션 부팅 시). 그런 다음 프롬프트가 준비되면 반환된 핸들에서 `.query()`를 호출합니다. 이렇게 하면 부프로세스 생성 및 초기화가 중요 경로에서 제거됩니다.

125 125 

126```typescript theme={null}126```typescript theme={null}

127import { startup } from "@anthropic-ai/claude-agent-sdk";127import { startup } from "@anthropic-ai/claude-agent-sdk";


129// 시작 비용을 미리 지불합니다129// 시작 비용을 미리 지불합니다

130const warm = await startup({ options: { maxTurns: 3 } });130const warm = await startup({ options: { maxTurns: 3 } });

131 131 

132// 나중에 프롬프트가 준비되면 이것은 즉시입니다132// 나중에 프롬프트가 준비되면 즉시 실행됩니다

133for await (const message of warm.query("What files are here?")) {133for await (const message of warm.query("What files are here?")) {

134 console.log(message);134 console.log(message);

135}135}


139 `tool()`139 `tool()`

140</h3>140</h3>

141 141 

142SDK MCP 서버와 함께 사용하기 위한 타입 안전 MCP 도구 정의를 만듭니다.142SDK MCP 서버와 함께 사용할 유형 안전 MCP 도구 정의를 생성합니다.

143 143 

144```typescript theme={null}144```typescript theme={null}

145function tool<Schema extends AnyZodRawShape>(145function tool<Schema extends AnyZodRawShape>(


155 매개변수155 매개변수

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 모두 지원) |

163| `handler` | `(args, extra) => Promise<`[`CallToolResult`](#calltoolresult)`>` | 도구 로직을 실행하는 비동기 함수 |163| `handler` | `(args, extra) => Promise<`[`CallToolResult`](#calltoolresult)`>` | 도구 로직을 실행하는 비동기 함수 |

164| `extras` | `{ annotations?: `[`ToolAnnotations`](#toolannotations)`; searchHint?: string; alwaysLoad?: boolean }` | 선택적 extras입니다. `annotations`은 클라이언트에 MCP 동작 힌트를 제공합니다. `searchHint`는 [도구 검색](/docs/ko/agent-sdk/tool-search)이 활성화되어 있을 때 지연된 도구 목록에 표시되는 한 줄의 기능 구문입니다. `alwaysLoad: true`는 이 도구의 전체 스키마를 초기 프롬프트에 유지하고 지연하지 않습니다 |164| `extras` | `{ annotations?: `[`ToolAnnotations`](#toolannotations)`; searchHint?: string; alwaysLoad?: boolean }` | 선택적 추가 항목입니다. `annotations`는 클라이언트에 MCP 동작 힌트를 제공합니다. `searchHint`는 [도구 검색](/docs/ko/agent-sdk/tool-search)이 활성화되어 있을 때 지연된 도구 목록에 표시되는 한 줄의 기능 구문입니다. `alwaysLoad: true`는 이 도구의 전체 스키마를 초기 프롬프트에 유지하고 지연하지 않습니다 |

165 165 

166<h4 id="toolannotations">166<h4 id="toolannotations">

167 `ToolAnnotations`167 `ToolAnnotations`

168</h4>168</h4>

169 169 

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`일 때만 의미 있음) |

177| `idempotentHint` | `boolean` | `false` | `true`이면 동일한 인수로 반복 호출해도 추가 효과가 없습니다 (`readOnlyHint`가 `false`일 때만 의미 있음) |177| `idempotentHint` | `boolean` | `false` | `true`인 경우 동일한 인수로 반복 호출해도 추가 효과가 없습니다 (`readOnlyHint`가 `false`일 때만 의미 있음) |

178| `openWorldHint` | `boolean` | `true` | `true`이면 도구는 외부 엔티티와 상호작용합니다 (예: 웹 검색). `false`이면 도구의 도메인은 폐쇄적입니다 (예: 메모리 도구) |178| `openWorldHint` | `boolean` | `true` | `true`인 경우 도구는 외부 엔티티와 상호작용합니다 (예: 웹 검색). `false`인 경우 도구의 도메인은 폐쇄적입니다 (예: 메모리 도구) |

179 179 

180```typescript theme={null}180```typescript theme={null}

181import { tool } from "@anthropic-ai/claude-agent-sdk";181import { tool } from "@anthropic-ai/claude-agent-sdk";


196 `createSdkMcpServer()`196 `createSdkMcpServer()`

197</h3>197</h3>

198 198 

199애플리케이션과 동일한 프로세스에서 실행되는 MCP 서버 인스턴스를 만듭니다.199애플리케이션과 동일한 프로세스에서 실행되는 MCP 서버 인스턴스를 생성합니다.

200 200 

201```typescript theme={null}201```typescript theme={null}

202function createSdkMcpServer(options: {202function createSdkMcpServer(options: {


213 매개변수213 매개변수

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 지침 블록으로 모델에 표시됩니다 |

221| `options.tools` | `Array<SdkMcpToolDefinition>` | [`tool()`](#tool)로 만든 도구 정의의 배열 |221| `options.tools` | `Array<SdkMcpToolDefinition>` | [`tool()`](#tool)로 생성된 도구 정의 배열 |

222| `options.alwaysLoad` | `boolean` | `true`일 때 이 서버의 모든 도구는 초기 프롬프트에 유지되고 [도구 검색](/docs/ko/agent-sdk/tool-search) 뒤에서 지연되지 않습니다. [`tool()`](#tool)의 도구별 `alwaysLoad`와 결합됩니다 |222| `options.alwaysLoad` | `boolean` | `true`인 경우 이 서버의 모든 도구는 초기 프롬프트에 유지되며 [도구 검색](/docs/ko/agent-sdk/tool-search) 뒤에서 지연되지 않습니다. [`tool()`](#tool)의 도구별 `alwaysLoad`와 결합됩니다 |

223| `options.timeout` | `number` | 이 서버의 도구 호출에 대한 타임아웃(밀리초)입니다. Claude Code는 [`MCP_TOOL_TIMEOUT`](/docs/ko/env-vars)을 대신하여 이 서버에 적용합니다. 최소 1000의 정수를 전달합니다. Claude Code는 다른 값을 무시합니다. TypeScript Agent SDK v0.3.248 이상 필요 |223| `options.timeout` | `number` | 이 서버의 도구 호출에 대한 타임아웃(밀리초)입니다. Claude Code는 [`MCP_TOOL_TIMEOUT`](/docs/ko/env-vars)을 대신하여 이 서버에 적용합니다. 최소 1000의 정수를 전달합니다. Claude Code는 다른 값을 무시합니다. TypeScript Agent SDK v0.3.248 이상이 필요합니다 |

224 224 

225<h3 id="listsessions">225<h3 id="listsessions">

226 `listSessions()`226 `listSessions()`


236 매개변수236 매개변수

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 경로에서 세션을 포함합니다 |

244 244 

245<h4 id="return-type-sdksessioninfo">245<h4 id="return-type-sdksessioninfo">

246 반환 타입: `SDKSessionInfo`246 반환 유형: `SDKSessionInfo`

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` | 마지막 수정 시간(에포크 이후 밀리초) |

254| `fileSize` | `number \| undefined` | 세션 파일 크기(바이트)입니다. 로컬 JSONL 저장소에만 채워집니다 |254| `fileSize` | `number \| undefined` | 세션 파일 크기(바이트)입니다. 로컬 JSONL 저장소에만 채워집니다 |

255| `customTitle` | `string \| undefined` | 사용자가 설정한 세션 제목 (`/rename`을 통해) |255| `customTitle` | `string \| undefined` | 사용자 설정 세션 제목 (`/rename`을 통해) |

256| `firstPrompt` | `string \| undefined` | 세션의 첫 번째 의미 있는 사용자 프롬프트 |256| `firstPrompt` | `string \| undefined` | 세션의 첫 번째 의미 있는 사용자 프롬프트 |

257| `gitBranch` | `string \| undefined` | 세션 끝의 git 분기 |257| `gitBranch` | `string \| undefined` | 세션 끝의 Git 분기 |

258| `cwd` | `string \| undefined` | 세션의 작업 디렉토리 |258| `cwd` | `string \| undefined` | 세션의 작업 디렉토리 |

259| `tag` | `string \| undefined` | 사용자가 설정한 세션 태그 ([`tagSession()`](#tagsession) 참조) |259| `tag` | `string \| undefined` | 사용자 설정 세션 태그 ([`tagSession()`](#tagsession) 참조) |

260| `createdAt` | `number \| undefined` | 첫 번째 항목의 타임스탬프에서 에포크 이후 밀리초 단위의 생성 시간 |260| `createdAt` | `number \| undefined` | 생성 시간(에포크 이후 밀리초)이며, 첫 번째 항목의 타임스탬프에서 가져옵니다 |

261 261 

262<h4 id="example-2">262<h4 id="example-2">

263 예제263 예제

264</h4>264</h4>

265 265 

266프로젝트의 10개 최신 세션을 인쇄합니다. 결과는 `lastModified` 내림차순으로 정렬되므로 첫 번째 항목이 가장 최신입니다. 모든 프로젝트에서 검색하려면 `dir`을 생략합니다.266프로젝트의 10개 최신 세션을 인쇄합니다. 결과는 `lastModified` 내림차순으로 정렬되므로 첫 번째 항목이 가장 최신입니다. `dir`을 생략하여 모든 프로젝트에서 검색합니다.

267 267 

268```typescript theme={null}268```typescript theme={null}

269import { listSessions } from "@anthropic-ai/claude-agent-sdk";269import { listSessions } from "@anthropic-ai/claude-agent-sdk";


279 `getSessionMessages()`279 `getSessionMessages()`

280</h3>280</h3>

281 281 

282과거 세션 트랜스크립트에서 사용자 및 어시스턴트 메시지를 읽습니다.282과거 세션 기록에서 사용자 및 어시스턴트 메시지를 읽습니다.

283 283 

284```typescript theme={null}284```typescript theme={null}

285function getSessionMessages(285function getSessionMessages(


292 매개변수292 매개변수

293</h4>293</h4>

294 294 

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

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

297| `sessionId` | `string` | 필수 | 읽을 세션 UUID ([`listSessions()`](#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` | 반환할 최대 메시지 수 |

300| `options.offset` | `number` | `undefined` | 시작 부분에서 건너뛸 메시지 수 |300| `options.offset` | `number` | `undefined` | 시작 부분에서 건너뛸 메시지 수 |

301 301 

302<h4 id="return-type-sessionmessage">302<h4 id="return-type-sessionmessage">

303 반환 타입: `SessionMessage`303 반환 유형: `SessionMessage`

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` | 이 메시지가 속한 세션 |

311| `message` | `unknown` | 트랜스크립트의 원본 메시지 페이로드 |311| `message` | `unknown` | 기록에서 원본 메시지 페이로드 |

312| `parent_tool_use_id` | `string \| null` | 서브에이전트 메시지의 경우 생성 `Agent` 도구 호출의 `tool_use_id`입니다. 메인 세션 메시지 및 이전 세션의 경우 `null` |312| `parent_tool_use_id` | `string \| null` | 부에이전트 메시지의 경우 부에이전트를 시작한 `Agent` 또는 `Skill` 도구 호출의 `tool_use_id`입니다. 주 세션 메시지 및 이전 세션의 경우 `null` |

313| `parent_agent_id` | `string \| null` | [중첩된 서브에이전트](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)의 메시지의 경우 이를 생성한 서브에이전트의 `agentId`입니다. 메인 세션 메시지, 최상위 서브에이전트의 메시지 및 이전 세션의 경우 `null`입니다. Claude Code v2.1.202 이상 필요 |313| `parent_agent_id` | `string \| null` | [중첩된 부에이전트](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)의 메시지의 경우 이를 생성한 부에이전트의 `agentId`입니다. 주 세션 메시지, 최상위 부에이전트의 메시지 및 이전 세션의 경우 `null`입니다. Claude Code v2.1.202 이상이 필요합니다 |

314 314 

315<h4 id="example-3">315<h4 id="example-3">

316 예제316 예제


337 `getSessionInfo()`337 `getSessionInfo()`

338</h3>338</h3>

339 339 

340전체 프로젝트 디렉토리를 스캔하지 않고 ID로 단일 세션의 메타데이터를 읽습니다.340전체 프로젝트 디렉토리를 스캔하지 않고 ID별로 단일 세션의 메타데이터를 읽습니다.

341 341 

342```typescript theme={null}342```typescript theme={null}

343function getSessionInfo(343function getSessionInfo(


350 매개변수350 매개변수

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` | 프로젝트 디렉토리 경로입니다. 생략하면 모든 프로젝트 디렉토리를 검색합니다 |


361 `renameSession()`361 `renameSession()`

362</h3>362</h3>

363 363 

364사용자 정의 제목 항목을 추가하여 세션의 이름을 바꿉니다. 반복 호출은 안전합니다. 가장 최신 제목이 우선합니다.364사용자 정의 제목 항목을 추가하여 세션의 이름을 바꿉니다. 반복 호출은 안전하며 가장 최근 제목이 우선합니다.

365 365 

366```typescript theme={null}366```typescript theme={null}

367function renameSession(367function renameSession(


375 매개변수375 매개변수

376</h4>376</h4>

377 377 

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

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

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

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


385 `tagSession()`385 `tagSession()`

386</h3>386</h3>

387 387 

388세션에 태그를 지정합니다. `null`을 전달하여 태그를 지웁니다. 반복 호출은 안전합니다. 가장 최신 태그가 우선합니다.388세션에 태그를 지정합니다. 태그를 지우려면 `null`을 전달합니다. 반복 호출은 안전하며 가장 최근 태그가 우선합니다.

389 389 

390```typescript theme={null}390```typescript theme={null}

391function tagSession(391function tagSession(


399 매개변수399 매개변수

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` |


409 `resolveSettings()`409 `resolveSettings()`

410</h3>410</h3>

411 411 

412CLI와 동일한 병합 엔진을 사용하여 주어진 디렉토리에 대한 효과적인 Claude Code 설정을 해결하며, Claude CLI를 생성하지 않습니다. `query()` 호출을 호출하기 전에 어떤 구성을 볼 수 있는지 검사하는 데 사용합니다.412CLI를 생성하지 않고 CLI와 동일한 병합 엔진을 사용하여 주어진 디렉토리에 대한 효과적인 Claude Code 설정을 해결합니다. `query()` 호출을 호출하기 전에 `query()` 호출이 볼 구성을 검사하는 데 사용합니다.

413 413 

414<Note>414<Note>

415 이 함수는 알파 버전이며 안정화 전에 API가 변경될 수 있습니다.415 이 함수는 알파 버전이며 안정화 전에 API가 변경될 수 있습니다.


417 417 

418스냅샷은 라이브 `query()` 세션이 적용하는 것과 다릅니다:418스냅샷은 라이브 `query()` 세션이 적용하는 것과 다릅니다:

419 419 

420* **`policyHelper`**: `resolveSettings()`는 macOS plist 및 Windows HKLM/HKCU를 포함한 MDM 소스를 읽지만, 관리자가 구성한 `policyHelper` 서브프로세스를 실행하지 않습니다.420* **`policyHelper`**: `resolveSettings()`는 macOS plist 및 Windows HKLM/HKCU를 포함한 MDM 소스를 읽지만 관리자 구성 `policyHelper` 부프로세스를 실행하지 않습니다.

421* **서버 관리 설정**: `resolveSettings()`는 [서버 관리 설정](/docs/ko/server-managed-settings#fetch-and-caching-behavior)을 가져오지 않습니다. 이를 포함하려면 `options.serverManagedSettings`로 전달합니다.421* **서버 관리 설정**: `resolveSettings()`는 [서버 관리 설정](/docs/ko/server-managed-settings#fetch-and-caching-behavior)을 가져오지 않습니다. 포함하려면 `options.serverManagedSettings`으로 전달합니다.

422* **`defaultMode`**: 스냅샷은 모든 계층에서 `permissions.defaultMode`를 그대로 반환하므로, [라이브 세션이 무시하는](/docs/ko/permission-modes#which-mode-a-session-starts-in) 프로젝트 및 로컬 설정의 `'auto'` 및 `'bypassPermissions'` 값을 포함할 수 있습니다.422* **`defaultMode`**: 스냅샷은 모든 계층에서 `permissions.defaultMode`를 그대로 반환하므로 프로젝트 및 로컬 설정의 `'auto'` 및 `'bypassPermissions'` 값을 포함할 수 있으며, [라이브 세션은 무시합니다](/docs/ko/permission-modes#which-mode-a-session-starts-in).

423 423 

424```typescript theme={null}424```typescript theme={null}

425function resolveSettings(425function resolveSettings(


433 433 

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

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

441| `options.serverManagedSettings` | `Settings` | `undefined` | `/api/claude_code/settings`의 서버 관리 설정 페이로드입니다. 제한적이지 않은 키는 필터링 없이 통과합니다 |441| `options.serverManagedSettings` | `Settings` | `undefined` | `/api/claude_code/settings`의 서버 관리 설정 페이로드입니다. 제한이 없는 키는 필터링되지 않고 통과합니다 |

442 442 

443<h4 id="return-type-resolvedsettings">443<h4 id="return-type-resolvedsettings">

444 반환 타입: `ResolvedSettings`444 반환 유형: `ResolvedSettings`

445</h4>445</h4>

446 446 

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? }>` | 소스별 원본 설정이며, 가장 낮은 우선순위에서 가장 높은 우선순위 순서로 정렬됩니다 |

454 454 

455<h4 id="example-4">455<h4 id="example-4">

456 예제456 예제


504| `extraArgs` | `Record<string, string \| null>` | `{}` | 추가 인수입니다 |504| `extraArgs` | `Record<string, string \| null>` | `{}` | 추가 인수입니다 |

505| `fallbackModel` | `string` | `undefined` | 기본 모델이 실패할 경우 사용할 모델입니다. 쉼표로 구분된 목록을 허용합니다. 순서 및 상한에 대해서는 [폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)을 참조하세요. 지침은 [모델 선택](/docs/ko/agent-sdk/configuration#choose-a-model)을 참조하세요 |505| `fallbackModel` | `string` | `undefined` | 기본 모델이 실패할 경우 사용할 모델입니다. 쉼표로 구분된 목록을 허용합니다. 순서 및 상한에 대해서는 [폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)을 참조하세요. 지침은 [모델 선택](/docs/ko/agent-sdk/configuration#choose-a-model)을 참조하세요 |

506| `forkSession` | `boolean` | `false` | `resume`으로 재개할 때 원본 세션을 계속하는 대신 새 세션 ID로 포크합니다 |506| `forkSession` | `boolean` | `false` | `resume`으로 재개할 때 원본 세션을 계속하는 대신 새 세션 ID로 포크합니다 |

507| `forwardSubagentText` | `boolean` | `false` | 서브에이전트 텍스트 및 사고 블록을 `parent_tool_use_id`가 설정된 어시스턴트 및 사용자 메시지로 전달하여 소비자가 중첩된 대화록을 렌더링할 수 있도록 합니다. 이 옵션이 없으면 Claude Code는 서브에이전트 `tool_use` 및 `tool_result` 블록을 내보내지만 텍스트나 사고는 내보내지 않습니다. 모든 중첩 깊이의 서브에이전트 메시지는 Claude Code v2.1.219 이상에서 전달됩니다. v2.1.219 이전에는 깊이 1의 서브에이전트 메시지만 나타났습니다 |507| `forwardSubagentText` | `boolean` | `false` | 서브에이전트 텍스트 및 사고 블록을 `parent_tool_use_id`가 설정된 어시스턴트 및 사용자 메시지로 전달하여 소비자가 중첩된 대화록을 렌더링할 수 있도록 합니다. 이 옵션이 없으면 Claude Code는 서브에이전트 `tool_use` 및 `tool_result` 블록을 내보내지만 텍스트나 사고는 내보내지 않습니다. 모든 중첩 깊이의 서브에이전트 메시지는 Claude Code v2.1.219 이상에서 전달됩니다. v2.1.219 이전에는 깊이 1의 서브에이전트 메시지만 나타났습니다. 포크된 스킬이 생성하는 서브에이전트의 메시지와 중첩된 포크된 스킬의 메시지는 v2.1.275 이상이 필요합니다 |

508| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | 이벤트에 대한 훅 콜백입니다 |508| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | 이벤트에 대한 훅 콜백입니다 |

509| `includeHookEvents` | `boolean` | `false` | 훅 라이프사이클 이벤트를 메시지 스트림에 [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage) 및 [`SDKHookResponseMessage`](#sdkhookresponsemessage)로 포함합니다. `SessionStart` 및 `Setup` 훅의 라이프사이클 이벤트는 항상 포함되며 이 옵션이 필요하지 않습니다. `Notification`, `SessionEnd`, `PreCompact` 및 `PostCompact` 같은 일부 훅 이벤트는 이 옵션이 있어도 `SDKHookStartedMessage`를 생성하지 않습니다. 이러한 이벤트의 경우 Claude Code는 여전히 `SDKHookProgressMessage`를 내보내고, 1초 이상 실행되는 명령어 훅은 출력을 내보내며, [백그라운드에서 실행되는](/docs/ko/hooks#run-hooks-in-the-background) 훅이 완료될 때만 `SDKHookResponseMessage`를 내보냅니다 |509| `includeHookEvents` | `boolean` | `false` | 훅 라이프사이클 이벤트를 메시지 스트림에 [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage) 및 [`SDKHookResponseMessage`](#sdkhookresponsemessage)로 포함합니다. `SessionStart` 및 `Setup` 훅의 라이프사이클 이벤트는 항상 포함되며 이 옵션이 필요하지 않습니다. `Notification`, `SessionEnd`, `PreCompact` 및 `PostCompact` 같은 일부 훅 이벤트는 이 옵션이 있어도 `SDKHookStartedMessage`를 생성하지 않습니다. 이러한 이벤트의 경우 Claude Code는 여전히 `SDKHookProgressMessage`를 내보내고, 1초 이상 실행되는 명령어 훅은 출력을 내보내며, [백그라운드에서 실행되는](/docs/ko/hooks#run-hooks-in-the-background) 훅이 완료될 때만 `SDKHookResponseMessage`를 내보냅니다 |

510| `includePartialMessages` | `boolean` | `false` | 부분 메시지 이벤트를 포함합니다 |510| `includePartialMessages` | `boolean` | `false` | 부분 메시지 이벤트를 포함합니다 |

511| `loadTimeoutMs` | `number` | `60000` | *알파.* 재개 구체화 중 각 `sessionStore.load()` 및 `sessionStore.listSubkeys()` 호출에 대한 밀리초 단위 시간 초과입니다. 어댑터가 이 창 내에서 정착하지 않으면 쿼리가 중단되는 대신 실패합니다. `sessionStore`가 설정되지 않으면 무시됩니다 |511| `loadTimeoutMs` | `number` | `60000` | *알파.* 재개 구체화 중 각 `sessionStore.load()` 및 `sessionStore.listSubkeys()` 호출에 대한 밀리초 단위 시간 초과입니다. 어댑터가 이 창 내에서 정착하지 않으면 쿼리가 중단되는 대신 실패합니다. `sessionStore`가 설정되지 않으면 무시됩니다 |

512| `managedSettings` | `Settings` | `undefined` | 호스트 프로세스가 생성된 세션에 제공하는 정책 계층 설정입니다. 관리자가 배포한 관리 설정이 있는 머신에서 Claude Code는 관리자의 최우선 관리 소스가 `parentSettingsBehavior: 'merge'`를 설정하지 않으면 이를 무시하고, [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 관리 설정을 제공하는 동안 절대 병합하지 않습니다. 병합된 값은 제한적 필터를 통과합니다. [부모 설정 제한](/docs/ko/claude-apps-gateway#restrict-parent-settings)은 필터가 허용하는 것과 `allowManaged*Only` 잠금을 다룹니다. [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ko/env-vars)를 설정한 호스트는 이 페이로드에서 직접 읽은 세 가지 키를 가집니다. Claude Code v2.1.222 이상의 [모델 구성](/docs/ko/model-config#restrict-model-selection), 관리 소스가 v2.1.246 이상에서 설정하지 않을 때 [`modelPricing`](/docs/ko/settings-reference#modelpricing), v2.1.247 이상에서 `ENABLE_TOOL_SEARCH` env 항목입니다 |512| `managedSettings` | `Settings` | `undefined` | 호스트 프로세스가 생성된 세션에 제공하는 정책 계층 설정입니다. 관리자가 배포한 관리 설정이 있는 머신에서 Claude Code는 관리자의 최우선 관리 소스가 `parentSettingsBehavior: 'merge'`를 설정하지 않으면 이를 무시하고, [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 관리 설정을 제공하는 동안 절대 병합하지 않습니다. 병합된 값은 제한적 필터를 통과합니다. [부모 설정 제한](/docs/ko/claude-apps-gateway#restrict-parent-settings)은 필터가 허용하는 것과 `allowManaged*Only` 잠금을 다룹니다. [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ko/env-vars)를 설정한 호스트는 이 페이로드에서 직접 읽은 세 가지 키를 가집니다. Claude Code v2.1.222 이상의 [모델 구성](/docs/ko/model-config#restrict-model-selection), 관리 소스가 v2.1.246 이상에서 설정하지 않을 때 [`modelPricing`](/docs/ko/settings-reference#modelpricing), v2.1.247 이상에서 `ENABLE_TOOL_SEARCH` env 항목입니다 |

513| `maxBudgetUsd` | `number` | `undefined` | 클라이언트 측 비용 추정이 이 USD 값에 도달하면 쿼리를 중지합니다. `total_cost_usd`와 동일한 추정과 비교됩니다. 정확도 주의 사항 및 재설정 동작은 [비용 및 사용량 추적](/docs/ko/agent-sdk/cost-tracking)을 참조하세요 |513| `maxBudgetUsd` | `number` | `undefined` | 클라이언트 측 비용 추정이 이 USD 값에 도달하면 쿼리를 중지합니다. 호출 자체의 지출만 계산합니다. 재개된 세션에서 복원된 합계는 계산되지 않습니다. 정확도 주의 사항 및 재설정 동작은 [비용 및 사용량 추적](/docs/ko/agent-sdk/cost-tracking)을 참조하세요 |

514| `maxThinkingTokens` | `number` | `undefined` | *더 이상 사용되지 않음:* 대신 `thinking`을 사용하세요. 사고 프로세스의 최대 토큰 |514| `maxThinkingTokens` | `number` | `undefined` | *더 이상 사용되지 않음:* 대신 `thinking`을 사용하세요. 사고 프로세스의 최대 토큰 |

515| `maxTurns` | `number` | `undefined` | 최대 에이전트 턴(도구 사용 왕복) |515| `maxTurns` | `number` | `undefined` | 최대 에이전트 턴(도구 사용 왕복) |

516| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP 서버 구성입니다 |516| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | MCP 서버 구성입니다 |


525| `persistSession` | `boolean` | `true` | `false`일 때, 디스크에 대한 세션 지속성을 비활성화합니다. 세션을 나중에 재개할 수 없습니다 |525| `persistSession` | `boolean` | `true` | `false`일 때, 디스크에 대한 세션 지속성을 비활성화합니다. 세션을 나중에 재개할 수 없습니다 |

526| `planModeInstructions` | `string` | `undefined` | 플랜 모드의 사용자 정의 워크플로우 지침입니다. `permissionMode`가 `'plan'`일 때, 이 문자열은 기본 플랜 모드 워크플로우 본문을 대체합니다. CLI는 여전히 읽기 전용 적용 프리앰블과 ExitPlanMode 프로토콜 바닥글로 래핑합니다 |526| `planModeInstructions` | `string` | `undefined` | 플랜 모드의 사용자 정의 워크플로우 지침입니다. `permissionMode`가 `'plan'`일 때, 이 문자열은 기본 플랜 모드 워크플로우 본문을 대체합니다. CLI는 여전히 읽기 전용 적용 프리앰블과 ExitPlanMode 프로토콜 바닥글로 래핑합니다 |

527| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | 로컬 경로에서 사용자 정의 플러그인을 로드합니다. [플러그인](/docs/ko/agent-sdk/plugins)의 세부 정보를 참조하세요 |527| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | 로컬 경로에서 사용자 정의 플러그인을 로드합니다. [플러그인](/docs/ko/agent-sdk/plugins)의 세부 정보를 참조하세요 |

528| `projectConfigRoot` | `string` | `undefined` | `cwd`가 worktree인 신뢰할 수 있는 체크아웃의 절대 경로입니다. Claude Code는 프로젝트 설정, `.mcp.json` 및 프로젝트의 `.claude/` 명령어, 에이전트, 스킬, 워크플로우, 루틴 및 출력 스타일을 `cwd` 대신 이 디렉토리에서 읽고 `CLAUDE_PROJECT_DIR`을 설정합니다. `CLAUDE.md` 파일 및 `.claude/rules/`는 여전히 `cwd`에서 로드됩니다. `apiKeyHelper` 같은 훅, 도우미 스크립트 및 stdio MCP 서버는 이 디렉토리를 작업 디렉토리로 시작합니다. Claude Code v2.1.275 이상이 필요합니다 |

528| `promptSuggestions` | `boolean` | `false` | 프롬프트 제안을 활성화합니다. 턴 후 Claude Code는 예측된 다음 사용자 프롬프트를 전달하는 `prompt_suggestion` 메시지를 내보냅니다. Claude Code는 계정이 사용량 한계에 가깝거나 도달했을 때와 같은 일부 턴에 대해 제안을 생성하지 않습니다. [Claude Code가 제안을 건너뛸 때](/docs/ko/interactive-mode#when-claude-code-skips-suggestions)를 참조하세요 |529| `promptSuggestions` | `boolean` | `false` | 프롬프트 제안을 활성화합니다. 턴 후 Claude Code는 예측된 다음 사용자 프롬프트를 전달하는 `prompt_suggestion` 메시지를 내보냅니다. Claude Code는 계정이 사용량 한계에 가깝거나 도달했을 때와 같은 일부 턴에 대해 제안을 생성하지 않습니다. [Claude Code가 제안을 건너뛸 때](/docs/ko/interactive-mode#when-claude-code-skips-suggestions)를 참조하세요 |

529| `resume` | `string` | `undefined` | 재개할 세션 ID입니다 |530| `resume` | `string` | `undefined` | 재개할 세션 ID입니다 |

530| `resumeDropsTurn` | `string` | `undefined` | `resumeSessionAt`과 함께: 자르기 재개가 버릴 의도가 있는 턴의 프롬프트 UUID입니다. Claude Code는 버려진 범위에 해당 턴에 귀속될 수 없는 것(예: 흡수된 대기 메시지 또는 작업 알림)이 포함되면 재개를 거부하고 거부 메시지에서 `--resume-drops-turn` 플래그를 명시합니다. 에이전트 SDK 및 인쇄 모드 재개만 쌍을 읽습니다. Claude Code v2.1.223 이상이 필요합니다 |531| `resumeDropsTurn` | `string` | `undefined` | `resumeSessionAt`과 함께: 자르기 재개가 버릴 의도가 있는 턴의 프롬프트 UUID입니다. Claude Code는 버려진 범위에 해당 턴에 귀속될 수 없는 것(예: 흡수된 대기 메시지 또는 작업 알림)이 포함되면 재개를 거부하고 거부 메시지에서 `--resume-drops-turn` 플래그를 명시합니다. 에이전트 SDK 및 인쇄 모드 재개만 쌍을 읽습니다. Claude Code v2.1.223 이상이 필요합니다 |


600 : Settings[K] | null;601 : Settings[K] | null;

601 }): Promise<void>;602 }): Promise<void>;

602 updateSettings(603 updateSettings(

603 source: 'localSettings',604 source: 'localSettings' | 'userSettings',

604 settings: Record<string, unknown>,605 settings: Record<string, unknown>,

605 ): Promise<void>;606 ): Promise<void>;

606 initializationResult(): Promise<SDKControlInitializeResponse>;607 initializationResult(): Promise<SDKControlInitializeResponse>;


621 reconnectMcpServer(serverName: string): Promise<void>;622 reconnectMcpServer(serverName: string): Promise<void>;

622 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;623 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;

623 setMcpServers(servers: Record<string, McpServerConfig>): Promise<McpSetServersResult>;624 setMcpServers(servers: Record<string, McpServerConfig>): Promise<McpSetServersResult>;

625 readMcpResource(serverName: string, uri: string): Promise<SDKControlMcpReadResourceResponse>;

624 streamInput(stream: AsyncIterable<SDKUserMessage>): Promise<void>;626 streamInput(stream: AsyncIterable<SDKUserMessage>): Promise<void>;

625 stopTask(taskId: string): Promise<void>;627 stopTask(taskId: string): Promise<void>;

626 close(): void;628 close(): void;


639| `setModel()` | 모델을 변경합니다(스트리밍 입력 모드에서만 사용 가능). `undefined` 또는 문자열 `"default"`를 전달하면 [Claude Code의 기본 모델](/docs/ko/model-config)로 재설정됩니다 |641| `setModel()` | 모델을 변경합니다(스트리밍 입력 모드에서만 사용 가능). `undefined` 또는 문자열 `"default"`를 전달하면 [Claude Code의 기본 모델](/docs/ko/model-config)로 재설정됩니다 |

640| `setMaxThinkingTokens()` | *더 이상 사용되지 않음:* 대신 `thinking` 옵션을 사용하세요. 최대 사고 토큰을 변경합니다. `null`을 전달하면 사고를 세션 기본값으로 재설정합니다. 중간 세션 재정의가 지워지고, 사고가 비활성화된 세션의 경우 사고는 꺼진 상태로 유지됩니다 |642| `setMaxThinkingTokens()` | *더 이상 사용되지 않음:* 대신 `thinking` 옵션을 사용하세요. 최대 사고 토큰을 변경합니다. `null`을 전달하면 사고를 세션 기본값으로 재설정합니다. 중간 세션 재정의가 지워지고, 사고가 비활성화된 세션의 경우 사고는 꺼진 상태로 유지됩니다 |

641| `applyFlagSettings(settings)` | 런타임에 설정을 세션의 플래그 설정 계층으로 병합합니다(스트리밍 입력 모드에서만 사용 가능). [`applyFlagSettings()`](#applyflagsettings)를 참조하세요 |643| `applyFlagSettings(settings)` | 런타임에 설정을 세션의 플래그 설정 계층으로 병합합니다(스트리밍 입력 모드에서만 사용 가능). [`applyFlagSettings()`](#applyflagsettings)를 참조하세요 |

642| `updateSettings(source, settings)` | 설정을 프로젝트의 로컬 설정 파일 `.claude/settings.local.json`으로 병합합니다. 다음 요청에서 적용됩니다. `source: 'localSettings'` 및 현재 `outputStyle`인 허용 목록 키 집합만 허용합니다. 문자열 값 삭제는 지원되지 않습니다. 원격 전송 및 [`settingSources`](#options)가 `local`을 제외하는 세션에서 거부됩니다. TypeScript SDK v0.3.257 이상이 필요하며, Claude Code v2.1.257을 번들합니다 |644| `updateSettings(source, settings)` | 프로젝트의 로컬 설정 파일 또는 사용자 설정 파일에 허용 목록 키를 작성하여 값이 나중 세션에 지속되도록 합니다. [`updateSettings()`](#updatesettings)를 참조하세요. TypeScript SDK v0.3.257 이상이 필요하며, Claude Code v2.1.257을 번들합니다 |

643| `initializationResult()` | 지원되는 명령어, 모델, 계정 정보 및 출력 스타일 구성을 포함한 전체 초기화 결과를 반환합니다 |645| `initializationResult()` | 지원되는 명령어, 모델, 계정 정보 및 출력 스타일 구성을 포함한 전체 초기화 결과를 반환합니다 |

644| `reinitialize()` | 실행 중인 CLI에 `initialize` 제어 요청을 다시 보내고 캐시된 첫 연결 결과 대신 새로운 결과를 반환합니다. 연결 해제 후 세션에 다시 연결하는 것과 같은 전송 간격 후 사용하여 대기 중인 권한 요청이 `canUseTool` 콜백에 다시 도달하도록 합니다. 응답이 손실된 요청이 다시 전달되므로 요청 ID당 콜백을 멱등성으로 만드세요. Claude Code v2.1.195 이상이 필요합니다 |646| `reinitialize()` | 실행 중인 CLI에 `initialize` 제어 요청을 다시 보내고 캐시된 첫 연결 결과 대신 새로운 결과를 반환합니다. 연결 해제 후 세션에 다시 연결하는 것과 같은 전송 간격 후 사용하여 대기 중인 권한 요청이 `canUseTool` 콜백에 다시 도달하도록 합니다. 응답이 손실된 요청이 다시 전달되므로 요청 ID당 콜백을 멱등성으로 만드세요. Claude Code v2.1.195 이상이 필요합니다 |

645| `supportedCommands()` | 사용 가능한 명령어를 반환합니다. 에이전트 SDK v0.3.216부터 목록은 중간 세션 명령어 변경을 반영합니다. [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage)를 참조하세요 |647| `supportedCommands()` | 사용 가능한 명령어를 반환합니다. 에이전트 SDK v0.3.216부터 목록은 중간 세션 명령어 변경을 반영합니다. [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage)를 참조하세요 |

646| `supportedModels()` | 표시 정보가 있는 사용 가능한 모델을 반환합니다 |648| `supportedModels()` | 표시 정보가 있는 사용 가능한 모델을 반환합니다 |

647| `supportedAgents()` | [`AgentInfo`](#agentinfo)`[]`로 사용 가능한 서브에이전트를 반환합니다 |649| `supportedAgents()` | [`AgentInfo`](#agentinfo)`[]`로 사용 가능한 서브에이전트를 반환합니다 |

648| `mcpServerStatus()` | 연결된 MCP 서버의 상태를 반환합니다 |650| `mcpServerStatus()` | 연결된 MCP 서버의 상태를 [`McpServerStatus`](#mcpserverstatus)`[]`로 반환합니다 |

649| `getContextUsage(opts?)` | 세션의 컨텍스트 창 사용량을 카테고리, 스킬 및 도구별로 분류하는 [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse)를 반환합니다. 기본 `detail`을 사용하면 대화형 세션에서 `/context`가 표시하는 것과 동일한 데이터이므로 토큰 수와 함께 Claude Code가 `/context` 사용량 그리드를 그리는 데 사용하는 `color` 및 `gridRows` 같은 표시 필드를 전달합니다. [`detail` 옵션](#sdkcontrolgetcontextusageresponse)은 에이전트 SDK v0.3.257 이상이 필요합니다 |651| `getContextUsage(opts?)` | 세션의 컨텍스트 창 사용량을 카테고리, 스킬 및 도구별로 분류하는 [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse)를 반환합니다. 기본 `detail`을 사용하면 대화형 세션에서 `/context`가 표시하는 것과 동일한 데이터이므로 토큰 수와 함께 Claude Code가 `/context` 사용량 그리드를 그리는 데 사용하는 `color` 및 `gridRows` 같은 표시 필드를 전달합니다. [`detail` 옵션](#sdkcontrolgetcontextusageresponse)은 에이전트 SDK v0.3.257 이상이 필요합니다 |

650| `readFile(path, options?)` | 세션의 파일 시스템에서 파일을 읽습니다. Claude Code는 경로를 `cwd`에 대해 해결합니다. [readFile()이 읽을 수 있는 것](#what-readfile-can-read)은 제공하는 파일을 나열합니다. 읽기 상한을 변경하려면 `{ maxBytes }`를 전달하세요(기본값 1 MB, 상한 10 MB). 이미지 같은 바이너리 파일의 경우 `{ encoding: 'base64' }`를 전달하세요. 권한 거부, 누락된 파일 또는 전송 오류 시 [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) 또는 `null`로 해결됩니다. TypeScript SDK v0.2.121 이상이 필요합니다 |652| `readFile(path, options?)` | 세션의 파일 시스템에서 파일을 읽습니다. Claude Code는 경로를 `cwd`에 대해 해결합니다. [readFile()이 읽을 수 있는 것](#what-readfile-can-read)은 제공하는 파일을 나열합니다. 읽기 상한을 변경하려면 `{ maxBytes }`를 전달하세요(기본값 1 MB, 상한 10 MB). 이미지 같은 바이너리 파일의 경우 `{ encoding: 'base64' }`를 전달하세요. 권한 거부, 누락된 파일 또는 전송 오류 시 [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) 또는 `null`로 해결됩니다. TypeScript SDK v0.2.121 이상이 필요합니다 |

651| `reloadSkills()` | 디스크에서 스킬을 다시 로드하여 중간 세션에서 추가하거나 편집한 스킬을 실행 중인 세션에서 사용할 수 있도록 합니다. 다시 로드 후 사용 가능한 스킬을 나열하는 [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse)로 해결됩니다. 에이전트 SDK v0.3.163 이상이 필요합니다 |653| `reloadSkills()` | 디스크에서 스킬을 다시 로드하여 중간 세션에서 추가하거나 편집한 스킬을 실행 중인 세션에서 사용할 수 있도록 합니다. 다시 로드 후 사용 가능한 스킬을 나열하는 [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse)로 해결됩니다. 에이전트 SDK v0.3.163 이상이 필요합니다 |


653| `reconnectMcpServer(serverName)` | 이름으로 MCP 서버를 다시 연결합니다. 이름이 `.mcp.json` 또는 `~/.claude.json` 같은 설정 파일의 항목과도 일치하면 Claude Code는 설정 파일 항목이 아닌 [`mcpServers`](#options) 또는 `setMcpServers()`를 통해 구성한 서버를 다시 연결합니다. 해당 해결 순서는 Claude Code v2.1.257 이상이 필요합니다 |655| `reconnectMcpServer(serverName)` | 이름으로 MCP 서버를 다시 연결합니다. 이름이 `.mcp.json` 또는 `~/.claude.json` 같은 설정 파일의 항목과도 일치하면 Claude Code는 설정 파일 항목이 아닌 [`mcpServers`](#options) 또는 `setMcpServers()`를 통해 구성한 서버를 다시 연결합니다. 해당 해결 순서는 Claude Code v2.1.257 이상이 필요합니다 |

654| `toggleMcpServer(serverName, enabled)` | `reconnectMcpServer()`와 동일한 이름 해결을 사용하여 이름으로 MCP 서버를 활성화 또는 비활성화합니다. 비활성화하면 서버를 연결 해제합니다 |656| `toggleMcpServer(serverName, enabled)` | `reconnectMcpServer()`와 동일한 이름 해결을 사용하여 이름으로 MCP 서버를 활성화 또는 비활성화합니다. 비활성화하면 서버를 연결 해제합니다 |

655| `setMcpServers(servers)` | 이 세션의 MCP 서버 집합을 동적으로 대체합니다. 추가되고 제거된 서버 및 오류를 명시하는 [`McpSetServersResult`](#mcpsetserversresult)로 해결됩니다 |657| `setMcpServers(servers)` | 이 세션의 MCP 서버 집합을 동적으로 대체합니다. 추가되고 제거된 서버 및 오류를 명시하는 [`McpSetServersResult`](#mcpsetserversresult)로 해결됩니다 |

658| `readMcpResource(serverName, uri)` | *알파.* 연결된 MCP 서버에서 하나의 MCP Apps `ui://` 리소스를 읽어 애플리케이션이 도구의 위젯을 렌더링할 수 있도록 합니다. [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse)로 해결됩니다. TypeScript 에이전트 SDK v0.3.280 이상이 필요합니다 |

656| `streamInput(stream)` | 다중 턴 대화를 위해 쿼리에 입력 메시지를 스트리밍합니다 |659| `streamInput(stream)` | 다중 턴 대화를 위해 쿼리에 입력 메시지를 스트리밍합니다 |

657| `stopTask(taskId)` | ID로 실행 중인 백그라운드 작업을 중지합니다 |660| `stopTask(taskId)` | ID로 실행 중인 백그라운드 작업을 중지합니다 |

658| `close()` | 쿼리를 닫고 기본 프로세스를 종료합니다. 쿼리를 강제로 종료하고 모든 리소스를 정리합니다 |661| `close()` | 쿼리를 닫고 기본 프로세스를 종료합니다. 쿼리를 강제로 종료하고 모든 리소스를 정리합니다 |


673 676 

674값은 플래그 설정 계층에 작성되며, 이는 시작 시 `query()`의 인라인 `settings` 옵션이 채우는 계층과 동일합니다. 이는 [온페이지 우선 순위 섹션](#settings-precedence)이 프로그래밍 옵션이라고 부르는 계층과 동일합니다.677값은 플래그 설정 계층에 작성되며, 이는 시작 시 `query()`의 인라인 `settings` 옵션이 채우는 계층과 동일합니다. 이는 [온페이지 우선 순위 섹션](#settings-precedence)이 프로그래밍 옵션이라고 부르는 계층과 동일합니다.

675 678 

676연속 호출은 최상위 키를 얕게 병합합니다. `{ permissions: {...} }` 포함 두 번째 호출은 이전 호출의 전체 `permissions` 객체를 깊게 병합하는 대신 대체합니다. 플래그 계층에서 키를 지우려면 해당 키에 `null`을 전달하세요. 그러면 대부분의 키가 낮은 우선 순위 소스로 폴백됩니다. 지워진 `model`은 설정 파일이 `model`을 설정하더라도 [Claude Code의 기본 모델](/docs/ko/model-config)로 재설정됩니다. `undefined`를 전달하면 JSON 직렬화가 이를 삭제하므로 효과가 없습니다.679연속 호출은 최상위 키를 얕게 병합합니다. `{ permissions: {...} }` 포함 두 번째 호출은 이전 호출의 전체 `permissions` 객체를 깊게 병합하는 대신 대체합니다.

680 

681플래그 계층에서 키를 지우려면 해당 키에 `null`을 전달하세요. 그러면 대부분의 키가 먼저 시작 시 `query()`의 `settings` 옵션이 설정한 값으로 폴백한 다음 낮은 우선 순위 소스로 폴백합니다. 지워진 `model`은 설정 파일이 `model`을 설정하더라도 [Claude Code의 기본 모델](/docs/ko/model-config)로 재설정됩니다. `undefined`를 전달하면 JSON 직렬화가 이를 삭제하므로 효과가 없습니다.

682 

683`model` 외에 세 가지 키는 폴백하는 대신 세션 상태를 재설정합니다:

684 

685* `effortLevel: null`은 설정 파일의 `effortLevel`이 아닌 모델의 기본 노력 수준으로 세션을 반환합니다. `query()`의 `effort` 옵션도 복원하지 않습니다.

686* `agent: null`은 다음 턴부터 메인 스레드를 에이전트 없이 실행합니다. 설정 파일의 `agent`도 복원하지 않습니다. 지워진 에이전트가 자신의 모델을 적용했으면 세션은 시작 시 해결한 모델로 돌아갑니다.

687* `ultracode: null`은 `false`처럼 ultracode를 끕니다. 설정 파일의 `ultracode` 값을 복원하지 않습니다. 세션은 현재 노력 수준을 유지하므로 같은 호출에서 `effortLevel`을 전달하여 변경하세요.

677 688 

678스트리밍 입력 모드에서만 사용 가능하며, 이는 `setModel()` 및 `setPermissionMode()`와 동일한 제약입니다.689스트리밍 입력 모드에서만 사용 가능하며, 이는 `setModel()` 및 `setPermissionMode()`와 동일한 제약입니다.

679 690 


695 `applyFlagSettings()`는 TypeScript 전용입니다. Python SDK는 동등한 메서드를 노출하지 않습니다.706 `applyFlagSettings()`는 TypeScript 전용입니다. Python SDK는 동등한 메서드를 노출하지 않습니다.

696</Note>707</Note>

697 708 

709<h4 id="updatesettings">

710 `updateSettings()`

711</h4>

712 

713설정을 디스크의 설정 파일에 작성하여 값이 나중 세션에 지속되도록 합니다. 각 소스는 하나의 키를 허용하며, 문자열 값을 가집니다:

714 

715* **`"localSettings"`**: `outputStyle`을 허용하고 프로젝트의 로컬 설정 파일 `.claude/settings.local.json`에 병합합니다. 새 스타일은 세션의 다음 요청에서 적용됩니다.

716* **`"userSettings"`**: `effortLevel`을 허용하고 세션의 현재 모델에 대한 기본 [노력 수준](/docs/ko/model-config#adjust-effort-level)으로 사용자 설정 파일의 [`modelSettings`](/docs/ko/settings-reference#modelsettings) 아래에 저장합니다. `max`를 전달하면 아무것도 작성되지 않습니다. `max`는 세션 전용이기 때문입니다. 실행 중인 세션은 어느 쪽이든 현재 노력 수준을 유지하므로 변경하려면 [`applyFlagSettings()`](#applyflagsettings)를 호출하세요. 이 소스는 TypeScript SDK v0.3.277 이상이 필요하며, Claude Code v2.1.277을 번들합니다.

717 

718호출은 요청이 다른 키를 전달할 때, 세션이 원격 전송을 통해 실행될 때, 세션의 [`settingSources`](#options)가 명시한 소스를 제외할 때 거부됩니다. 키 삭제는 지원되지 않습니다.

719 

698<h3 id="warmquery">720<h3 id="warmquery">

699 `WarmQuery`721 `WarmQuery`

700</h3>722</h3>


942 964 

943`skills`는 다시 로드 후 사용 가능한 스킬을 나열하며, `supportedCommands()`가 반환하는 것과 동일한 [`SlashCommand`](#slashcommand) 형태입니다.965`skills`는 다시 로드 후 사용 가능한 스킬을 나열하며, `supportedCommands()`가 반환하는 것과 동일한 [`SlashCommand`](#slashcommand) 형태입니다.

944 966 

967<h3 id="sdkcontrolmcpreadresourceresponse">

968 `SDKControlMcpReadResourceResponse`

969</h3>

970 

971[`readMcpResource()`](#query-object)의 반환 유형으로, MCP 서버의 `resources/read` 결과를 전달합니다. TypeScript 에이전트 SDK v0.3.280 이상이 필요합니다.

972 

973```typescript theme={null}

974type SDKControlMcpReadResourceResponse = {

975 contents: {

976 uri: string;

977 mimeType?: string;

978 text?: string;

979 blob?: string;

980 _meta?: Record<string, unknown>;

981 }[];

982};

983```

984 

985`readMcpResource()`에 `mcpServerStatus()`가 보고하는 서버 이름과 `ui://` URI(예: 도구가 [`_meta`](#mcpserverstatus)에서 선언하는 `ui.resourceUri`)를 전달하세요. 호출은 다른 URI 스킴, 애플리케이션이 자체 호스팅하는 [SDK MCP 서버](#createsdkmcpserver), 연결되지 않은 서버에 대해 거부됩니다. init 메시지의 [`capabilities`](#sdksystemmessage)에 `mcp_read_resource_v1`이 포함될 때 사용 가능합니다.

986 

987각 `contents` 항목은 서버가 보낸 하나의 콘텐츠 항목입니다. `blob`은 바이너리 항목의 base64 데이터를 보유하고, `_meta`는 항목 자체의 `_meta`이며, MCP Apps 서버는 리소스의 `ui.csp` 및 `ui.permissions`를 여기에 넣습니다. 콘텐츠는 신뢰할 수 없는 제3자 HTML이므로 샌드박스에서 렌더링하세요.

988 

945<h3 id="agentdefinition">989<h3 id="agentdefinition">

946 `AgentDefinition`990 `AgentDefinition`

947</h3>991</h3>


1275 `SDKMessage`1319 `SDKMessage`

1276</h3>1320</h3>

1277 1321 

1278쿼리에서 반환된 모든 가능한 메시지의 합집합 타입입니다.1322쿼리에서 반환되는 모든 가능한 메시지의 합집합 타입입니다.

1279 1323 

1280```typescript theme={null}1324```typescript theme={null}

1281type SDKMessage =1325type SDKMessage =


1328 type: "assistant";1372 type: "assistant";

1329 uuid: UUID;1373 uuid: UUID;

1330 session_id: string;1374 session_id: string;

1331 message: BetaMessage; // Anthropic SDK에서1375 message: BetaMessage; // From Anthropic SDK

1332 parent_tool_use_id: string | null;1376 parent_tool_use_id: string | null;

1333 error?: SDKAssistantMessageError;1377 error?: SDKAssistantMessageError;

1334 aborted?: true;1378 aborted?: true;


1339};1383};

1340```1384```

1341 1385 

1342`message` 필드는 Anthropic SDK의 [`BetaMessage`](https://platform.claude.com/docs/ko/api/messages/create)입니다. `id`, `content`, `model`, `stop_reason` 및 `usage`와 같은 필드를 포함합니다.1386`message` 필드는 Anthropic SDK의 [`BetaMessage`](https://platform.claude.com/docs/en/api/messages/create)입니다. `id`, `content`, `model`, `stop_reason`, `usage` 같은 필드를 포함합니다.

1343 1387 

1344`SDKAssistantMessageError`는 다음 중 하나입니다: `'authentication_failed'`, `'oauth_org_not_allowed'`, `'account_on_hold'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, `'cloud_credential_error'` 또는 `'unknown'`. 이 중 네 가지 값은 이름이 말하는 것보다 더 많은 의미를 가집니다:1388`SDKAssistantMessageError`는 다음 중 하나입니다: `'authentication_failed'`, `'oauth_org_not_allowed'`, `'account_on_hold'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, `'cloud_credential_error'`, 또는 `'unknown'`. 이 중 네 개의 값은 이름이 나타내는 것보다 더 많은 의미를 가집니다:

1345 1389 

1346* `'model_not_found'`: 선택한 모델이 존재하지 않거나 계정 또는 배포에서 사용할 수 없습니다.1390* `'model_not_found'`: 선택한 모델이 존재하지 않거나 계정이나 배포에서 사용할 수 없음

1347* `'overloaded'`: API가 서버가 용량에 도달했기 때문에 529를 반환했습니다. 할당량에 대한 429인 `'rate_limit'`과는 다릅니다.1391* `'overloaded'`: API가 서버가 용량에 도달했기 때문에 529를 반환했으며, 할당량에 대한 429인 `'rate_limit'`과는 다름

1348* `'account_on_hold'`: [계정이 보류 중입니다](/docs/ko/errors#your-account-is-on-hold)1392* `'account_on_hold'`: [계정이 보류 중](/docs/ko/errors#your-account-is-on-hold)

1349* `'cloud_credential_error'`: Claude Code가 실행되는 머신에서 사용 가능한 AWS 또는 Google Cloud 자격 증명을 얻을 수 없어서 클라우드 제공자에게 요청이 도달하지 않았습니다. 일반적인 원인은 해당 머신에서 만료되었거나 완료되지 않은 클라우드 로그인이지만, 일시적으로 도달할 수 없는 자격 증명 서비스도 동일한 값을 보고합니다. [AWS 또는 Google Cloud 자격 증명을 로드할 수 없음](/docs/ko/errors#could-not-load-aws-or-google-cloud-credentials)을 참조하십시오. TypeScript Agent SDK v0.3.267 이상이 필요하며, Claude Code v2.1.267을 번들로 제공합니다.1393* `'cloud_credential_error'`: Claude Code가 실행되는 머신에서 사용 가능한 AWS 또는 Google Cloud 자격증명을 얻을 수 없어서 클라우드 제공자에게 요청이 도달하지 않았습니다. 일반적인 원인은 해당 머신에서 만료되었거나 완료되지 않은 클라우드 로그인이지만, 일시적으로 도달할 수 없는 자격증명 서비스도 동일한 값을 보고합니다. [AWS 또는 Google Cloud 자격증명을 로드할 수 없음](/docs/ko/errors#could-not-load-aws-or-google-cloud-credentials)을 참조하세요. TypeScript Agent SDK v0.3.267 이상 필요하며, Claude Code v2.1.267을 번들로 포함합니다.

1350 1394 

1351`aborted`는 중단 또는 중지가 스트림이 완료되기 전에 어시스턴트 메시지를 자를 때 `true`입니다: 메시지에는 `stop_reason`이 없으며 콘텐츠는 단어 중간에 끝날 수 있습니다. 이 필드는 정상적으로 완료된 메시지에는 없습니다. Agent SDK v0.3.214 이상이 필요합니다.1395`aborted`는 인터럽트 또는 중단이 스트림이 완료되기 전에 어시스턴트 메시지를 잘랐을 때 `true`입니다: 메시지에는 `stop_reason`이 없고 콘텐츠가 단어 중간에 끝날 수 있습니다. 이 필드는 정상적으로 완료된 메시지에는 없습니다. Agent SDK v0.3.214 이상이 필요합니다.

1352 1396 

1353Claude Code는 [`user_message_uuid`](#user_message_uuid)의 조건에 따라 턴의 첫 번째 어시스턴트 메시지에 `user_message_uuid` 및 `user_message_uuids`를 설정합니다.1397Claude Code는 [`user_message_uuid`](#user_message_uuid)의 조건에 따라 턴의 첫 번째 어시스턴트 메시지에 `user_message_uuid`와 `user_message_uuids`를 설정합니다.

1354 1398 

1355`timestamp`는 메시지의 콘텐츠가 생성을 완료한 프로세스의 머신 시간입니다. 값은 해당 머신의 시계에서 나오므로 표시 목적으로만 사용하고 메시지를 순서대로 정렬하지 마십시오. 하나의 API 턴은 동일한 `message.id`를 공유하는 여러 어시스턴트 메시지를 생성할 수 있으며, 각각 자신의 `timestamp`를 가집니다. 필드가 없으면 메시지를 받은 시간으로 돌아갑니다.1399`timestamp`는 메시지의 콘텐츠가 생성을 완료한 ISO 8601 시간입니다. 값은 해당 머신의 시계에서 나오므로 표시 목적으로만 사용하고 메시지를 순서대로 정렬하지 마세요. 하나의 API 턴은 동일한 `message.id`를 공유하지만 각각 고유한 `timestamp`를 가진 여러 어시스턴트 메시지를 생성할 수 있습니다. 필드가 없으면 메시지를 받은 시간으로 돌아가세요.

1356 1400 

1357`context_usage`는 `/context` 보고서의 구조화된 복사본이며, [`SDKContextUsage`](#sdkcontextusage)로 입력되고 Agent SDK v0.3.232 이상이 필요합니다. 프롬프트로 `/context`를 보낼 때, Claude Code는 보고서를 `message.content`가 마크다운 테이블을 보유하는 어시스턴트 메시지로 전달하고 `context_usage`를 동일한 메시지에 첨부합니다. Claude Code는 다른 어시스턴트 메시지에는 필드를 설정하지 않으며, 이전 버전은 `/context` 테이블을 없이 전달하므로 필드가 있을 때 분석을 읽고 없을 때 마크다운 텍스트로 돌아갑니다.1401`context_usage`는 `/context` 보고서의 구조화된 복사본이며, [`SDKContextUsage`](#sdkcontextusage)로 입력되고 Agent SDK v0.3.232 이상이 필요합니다. 프롬프트로 `/context`를 보낼 때, Claude Code는 보고서를 어시스턴트 메시지로 전달하며, 그 `message.content`는 마크다운 테이블을 보유하고, 동일한 메시지에 `context_usage`를 첨부합니다. Claude Code는 다른 어시스턴트 메시지에는 필드를 설정하지 않으며, 이전 버전은 `/context` 테이블을 없이 전달하므로, 필드가 있을 때 분석을 읽고 없을 때 마크다운 텍스트로 돌아가세요.

1358 1402 

1359<h3 id="sdkusermessage">1403<h3 id="sdkusermessage">

1360 `SDKUserMessage`1404 `SDKUserMessage`


1367 type: "user";1411 type: "user";

1368 uuid?: UUID;1412 uuid?: UUID;

1369 session_id?: string;1413 session_id?: string;

1370 message: MessageParam; // Anthropic SDK에서1414 message: MessageParam; // From Anthropic SDK

1415 pasted_content?: MessageParam["content"][];

1371 parent_tool_use_id: string | null;1416 parent_tool_use_id: string | null;

1372 isSynthetic?: boolean;1417 isSynthetic?: boolean;

1373 shouldQuery?: boolean;1418 shouldQuery?: boolean;

1374 tool_use_result?: unknown;1419 tool_use_result?: unknown;

1375 origin?: SDKMessageOrigin;1420 origin?: SDKMessageOrigin;

1421 inline_pastes?: string[];

1376};1422};

1377```1423```

1378 1424 

1425사용자가 입력 UI에 붙여넣은 콘텐츠를 입력한 것이 아니라 보내도록 `pasted_content`를 설정하고, 붙여넣기당 하나의 항목을 설정하며, 각각은 문자열 또는 콘텐츠 블록의 배열입니다. Claude Code는 각 항목의 텍스트를 입력된 텍스트 뒤에 순서대로 추가하고, 각 붙여넣기를 `<pasted_content>` 태그로 감쌀 수 있습니다. 텍스트 이외의 블록은 무시되므로 이미지와 문서는 `message.content`에서 보내세요. Agent SDK v0.3.277 이상이 필요합니다.

1426 

1379`shouldQuery`를 `false`로 설정하여 어시스턴트 턴을 트리거하지 않고 메시지를 트랜스크립트에 추가합니다. 메시지는 보류되고 턴을 트리거하는 다음 사용자 메시지로 병합됩니다. 이를 사용하여 모델 호출을 소비하지 않고 대역 외에서 실행한 명령의 출력과 같은 컨텍스트를 주입합니다.1427`shouldQuery`를 `false`로 설정하여 어시스턴트 턴을 트리거하지 않고 메시지를 트랜스크립트에 추가합니다. 메시지는 보류되고 턴을 트리거하는 다음 사용자 메시지로 병합됩니다. 이를 사용하여 모델 호출을 소비하지 않고 대역 외에서 실행한 명령의 출력과 같은 컨텍스트를 주입합니다.

1380 1428 

1381도구 결과 블록을 전달하는 메시지에서 `tool_use_result`는 모델에 전송된 텍스트가 아니라 도구의 구조화된 출력 객체입니다. 해당 형태는 일치하는 `tool_use` 블록으로 명명된 도구에 따라 달라지므로 필드는 `unknown`으로 입력됩니다. 기본 제공 형태는 [도구 출력 타입](#tool-output-types)에 나열되어 있습니다.1429`tool_result` 블록을 전달하는 메시지에서 `tool_use_result`는 모델로 전송된 텍스트가 아니라 도구의 구조화된 출력 객체입니다. 해당 형태는 일치하는 `tool_use` 블록으로 명명된 도구에 따라 다르므로 필드는 `unknown`으로 입력됩니다. 기본 제공 형태는 [도구 출력 타입](#tool-output-types) 아래에 나열되어 있습니다.

1382 1430 

1383`Agent` 도구의 경우 `tool_use_result`는 [`AgentOutput`](#agent-2)입니다. `completed` 결과에서 `content`는 Claude Code가 `tool_result` 텍스트에 추가하는 에이전트 ID 및 사용량 트레일러 없이 서브에이전트의 보고서를 보유합니다. 따라서 해당 텍스트를 파싱하는 대신 `tool_use_result`에서 렌더링합니다.1431`Agent` 도구의 경우 `tool_use_result`는 [`AgentOutput`](#agent-2)입니다. `completed` 결과에서 `content`는 Claude Code가 `tool_result` 텍스트에 추가하는 에이전트 ID 및 사용량 트레일러 없이 서브에이전트의 보고서를 보유하므로 해당 텍스트를 구문 분석하는 대신 `tool_use_result`에서 렌더링합니다.

1384 1432 

1385결과에 `resource_link` 블록이 포함된 MCP 도구의 경우, `tool_use_result`는 [`SDKMcpResourceLink`](#sdkmcpresourcelink) 항목의 `resourceLinks` 배열을 가진 객체입니다. Claude는 각 링크를 `tool_result` 블록의 텍스트 줄로 받으므로 서버가 반환한 파일을 렌더링하기 위해 `resourceLinks`를 읽고 해당 텍스트를 파싱하지 마십시오. Claude Code는 결과에 링크가 없을 때 `resourceLinks`를 생략하고 서브에이전트의 결과에서 생략하며, 결과당 최대 50개의 링크를 유지하고 배열이 직렬화된 JSON의 64 KiB에 도달하면 링크 추가를 중지합니다. `resourceLinks`는 Agent SDK v0.3.257 이상이 필요합니다.1433결과에 `resource_link` 블록이 포함된 MCP 도구의 경우 `tool_use_result`는 [`SDKMcpResourceLink`](#sdkmcpresourcelink) 항목의 `resourceLinks` 배열을 가진 객체입니다. Claude는 각 링크를 `tool_result` 블록의 텍스트 줄로 받으므로 해당 텍스트를 구문 분석하는 대신 `resourceLinks`를 읽어 서버가 반환한 파일을 렌더링합니다. Claude Code는 결과에 링크가 없을 때 `resourceLinks`를 생략하고 서브에이전트의 결과에서 생략하며, 결과당 최대 50개의 링크를 유지하고, 배열이 64 KiB의 직렬화된 JSON에 도달하면 링크 추가를 중지합니다. `resourceLinks`는 Agent SDK v0.3.257 이상이 필요합니다.

1434 

1435사용자가 입력한 것이 아니라 붙여넣은 `message.content`의 부분을 알려주도록 `inline_pastes`를 설정하고, 붙여넣기당 하나의 문자열을 설정합니다. 프롬프트 텍스트는 사용자가 배치한 위치에 유지됩니다. Claude Code는 각 나열된 붙여넣기를 `<pasted_content>` 태그로 감쌀 수 있으므로 Claude는 붙여넣은 자료를 사용자 자신의 단어와 구별할 수 있습니다. 프롬프트의 마지막 텍스트 블록의 붙여넣기만 래핑됩니다. TypeScript Agent SDK v0.3.280 이상이 필요합니다.

1386 1436 

1387<h3 id="sdkusermessagereplay">1437<h3 id="sdkusermessagereplay">

1388 `SDKUserMessageReplay`1438 `SDKUserMessageReplay`

1389</h3>1439</h3>

1390 1440 

1391필수 UUID를 포함한 재생된 사용자 메시지입니다.1441필수 UUID가 있는 재생된 사용자 메시지입니다.

1392 1442 

1393```typescript theme={null}1443```typescript theme={null}

1394type SDKUserMessageReplay = {1444type SDKUserMessageReplay = {


1404};1454};

1405```1455```

1406 1456 

1407세션 외부에서 주입된 사용자 턴으로, [`origin`](#sdkmessageorigin) 종류가 `peer` 또는 `channel`인 경우, 활성 턴 중에 전달되었는지 또는 세션이 유휴 상태일 때 새 턴을 시작했는지 여부에 관계없이 스트림에 재생으로 도달합니다. v2.1.207 이전에는 세션이 유휴 상태일 때 전달된 주입된 턴이 스트림에서 메시지를 생성하지 않았으며 트랜스크립트를 다시 읽을 때만 나타났습니다.1457세션 외부에서 주입된 사용자 턴으로, [`origin`](#sdkmessageorigin) 종류가 `peer` 또는 `channel`인 턴은 활성 턴 중에 전달되었는지 또는 세션이 유휴 상태일 때 새 턴을 시작했는지 여부에 관계없이 재생으로 스트림에 도달합니다. v2.1.207 이전에는 세션이 유휴 상태일 때 전달된 주입된 턴이 스트림에 메시지를 생성하지 않았고 트랜스크립트를 다시 읽을 때만 나타났습니다.

1408 1458 

1409<h3 id="sdkresultmessage">1459<h3 id="sdkresultmessage">

1410 `SDKResultMessage`1460 `SDKResultMessage`


1479 1529 

1480결과의 여러 필드는 `subtype` 이상의 진단 세부 정보를 전달합니다:1530결과의 여러 필드는 `subtype` 이상의 진단 세부 정보를 전달합니다:

1481 1531 

1482* `api_error_status`: 대화를 종료한 API 오류의 HTTP 상태 코드입니다. API 오류 없이 턴이 종료되었을 때는 없거나 `null`입니다.1532* `api_error_status`: 대화를 종료한 API 오류의 HTTP 상태 코드입니다. 턴이 API 오류 없이 끝났을 때 없거나 `null`입니다.

1483* `ttft_ms`: 첫 번째 토큰까지의 시간(밀리초)입니다. 첫 번째 완전한 어시스턴트 메시지가 도착할 때 측정됩니다. 성공 경로에만 표시됩니다.1533* `ttft_ms`: 첫 번째 완전한 어시스턴트 메시지가 도착할 때 측정된 밀리초 단위의 첫 번째 토큰까지의 시간입니다. 성공 분기에만 있습니다.

1484* `ttft_stream_ms`: 응답 스트림이 열릴 때 첫 번째 `message_start` 스트림 이벤트까지의 시간(밀리초)입니다. `ttft_ms`보다 낮습니다. 두 시간 사이의 간격은 첫 번째 메시지를 스트리밍하는 데 소요된 시간입니다. 성공 경로에만 표시됩니다.1534* `ttft_stream_ms`: 응답 스트림이 열릴 때 첫 번째 `message_start` 스트림 이벤트까지의 밀리초 단위 시간입니다. `ttft_ms`보다 낮습니다. 두 사이의 간격은 첫 번째 메시지를 스트리밍하는 데 소요된 시간입니다. 성공 분기에만 있습니다.

1485* `user_message_uuid`: 이 턴이 답한 메시지를 보낸 메시지의 `uuid`입니다. 어떤 결과가 이를 전달하는지는 [`user_message_uuid`](#user_message_uuid)를 참조하십시오.1535* `user_message_uuid`: 이 턴이 답변한 메시지의 `uuid`입니다. 어떤 결과가 이를 전달하는지는 [`user_message_uuid`](#user_message_uuid)를 참조하세요.

1486* `user_message_uuids`: 이 턴에서 Claude Code가 답한 보낸 모든 메시지의 `uuid`입니다. [`user_message_uuids`](#user_message_uuids)를 참조하십시오.1536* `user_message_uuids`: Claude Code가 이 턴에서 답변한 모든 메시지의 `uuid`입니다. [`user_message_uuids`](#user_message_uuids)를 참조하세요.

1487* `request_sent_wall_ms`: Claude Code가 API 요청을 발송한 에포크 밀리초입니다. 서버 측 타임스탬프와 조인하기 위해 사용됩니다. [`user_message_uuid`](#user_message_uuid)와 함께만 표시되며, `is_error` false인 성공 결과에서 턴이 API 요청을 보냈을 때만 표시됩니다.1537* `request_sent_wall_ms`: Claude Code가 API 요청을 발송한 에포크 밀리초로, 서버 측 타임스탬프와 조인하기 위한 것입니다. [`user_message_uuid`](#user_message_uuid)와 함께만 있으며, `is_error` false인 성공 결과에서 턴이 API 요청을 보냈을 때만 있습니다.

1488* `first_content_frame_ms`: 첫 번째 `content_block_start` 또는 `content_block_delta` 스트림 이벤트까지의 시간(밀리초)입니다. 생각 블록을 콘텐츠로 계산합니다. 성공 경로에만 표시되며, `is_error`가 false일 때만 표시됩니다. Agent SDK v0.3.260 이상이 필요합니다.1538* `first_content_frame_ms`: 첫 번째 `content_block_start` 또는 `content_block_delta` 스트림 이벤트까지의 밀리초 단위 시간으로, 생각 블록을 콘텐츠로 계산합니다. 성공 분기에만 있으며, `is_error`가 false일 때만 있습니다. Agent SDK v0.3.260 이상이 필요합니다.

1489* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: 턴의 첫 번째 스트림 이벤트를 업로드하기 위한 타이밍입니다. Claude Code는 [클라우드 세션](/docs/ko/claude-code-on-the-web)과 같이 claude.ai로 스트리밍하는 세션에서만 기록하며, `query()`가 생성하는 결과는 이를 전달하지 않습니다. Agent SDK v0.3.260 이상이 필요합니다.1539* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: 턴의 첫 번째 스트림 이벤트를 업로드하기 위한 타이밍입니다. Claude Code는 [클라우드 세션](/docs/ko/claude-code-on-the-web)과 같이 claude.ai로 스트리밍하는 세션에서만 기록하며, `query()`가 생성하는 결과는 이를 전달하지 않습니다. Agent SDK v0.3.260 이상이 필요합니다.

1490* `usage`: 메인 에이전트 루프만 해당합니다. 서브에이전트 및 보조 모델 호출을 제외하며, 스트리밍 입력 세션에서는 턴당입니다. 토큰/비용 회계를 위해 `modelUsage`를 선호합니다.1540* `usage`: 메인 에이전트 루프만 해당합니다. 서브에이전트 및 보조 모델 호출을 제외하며, 스트리밍 입력 세션에서는 턴당입니다. 토큰/비용 회계를 위해 `modelUsage`를 선호합니다.

1491* `modelUsage`: 이 `query()` 호출 중에 쿼리 파이프라인을 통해 수행된 모든 모델 호출에 대한 모델별 합계입니다. 메인 루프, 서브에이전트 및 압축 및 Workflow 에이전트와 같은 내부 호출을 포함합니다. 권한 분류자 및 토큰 계산 요청과 같은 해당 파이프라인 외부의 도우미 호출은 제외됩니다. 스트리밍 입력 세션에서 합계는 턴 전체에 누적되므로 결과 전체에서 합산하는 대신 최신 결과를 읽습니다. 재설정에 대해서는 [스트리밍 입력 모드에서 비용 추적](/docs/ko/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode)을 참조하고, 0으로 설정된 결과에 대해서는 [세션 충돌 후 합계 복구](/docs/ko/agent-sdk/cost-tracking#recover-totals-after-a-session-crash)를 참조하십시오.1541* `modelUsage`: 이 `query()` 호출 중에 쿼리 파이프라인을 통해 수행된 모든 모델 호출에 대한 모델별 합계로, 메인 루프, 서브에이전트, 압축 및 Workflow 에이전트와 같은 내부 호출을 포함합니다. 권한 분류자 및 토큰 계산 요청과 같은 해당 파이프라인 외부의 도우미 호출은 제외됩니다. 세션을 재개하는 호출은 [세션의 이전 호출에서 복원된 모델별 합계](/docs/ko/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls)도 계산합니다. 스트리밍 입력 세션에서 합계는 턴 전체에 누적되므로 결과 전체에서 합산하는 대신 최신 결과를 읽으세요. 재설정에 대해서는 [스트리밍 입력 모드에서 비용 추적](/docs/ko/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode)을 참조하고 0으로 설정된 결과에 대해서는 [세션 충돌 후 합계 복구](/docs/ko/agent-sdk/cost-tracking#recover-totals-after-a-session-crash)를 참조하세요.

1492* `total_cost_usd`: 이 `query()` 호출에 대한 누적 예상 비용(USD)입니다. `modelUsage`와 동일한 호출을 포함하고 동일한 지점에서 재설정됩니다. 이는 추정치이지 청구 명세서가 아닙니다. 정확도 주의 사항은 [비용 및 사용량 추적](/docs/ko/agent-sdk/cost-tracking)을 참조하십시오.1542* `total_cost_usd`: USD의 누적 예상 비용으로, `modelUsage`와 동일한 호출을 포함하고 동일한 지점에서 재설정됩니다. 세션을 재개하는 호출은 [세션의 이전 호출에서 복원된 합계](/docs/ko/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls)도 계산합니다. 이는 청구 명세서가 아닌 추정치입니다. 정확도 주의 사항은 [비용 및 사용량 추적](/docs/ko/agent-sdk/cost-tracking)을 참조하세요.

1493* `queued_turn_count`: Claude Code가 결과를 생성했을 때 `origin: { kind: "human" }`으로 보낸 메시지 중 여전히 대기 중인 메시지의 수입니다. `0`과 없는 필드가 무엇을 말하는지는 [`queued_turn_count`](#queued_turn_count)를 참조하십시오.1543* `queued_turn_count`: Claude Code가 결과를 생성했을 때 여전히 대기 중인 `origin: { kind: "human" }`으로 보낸 메시지의 수입니다. `0`과 없는 필드가 무엇을 의미하는지는 [`queued_turn_count`](#queued_turn_count)를 참조하세요.

1494* `startup_failure_reason`: Claude Code가 시작을 거부한 이유입니다. 알려진 시작 실패에서 종료하기 전에 작성하는 `error_during_execution` 결과에서 설정됩니다. 값 및 어떤 실패가 이를 전달하는지는 [`startup_failure_reason`](#startup_failure_reason)을 참조하십시오. Agent SDK v0.3.274 이상이 필요합니다.1544* `startup_failure_reason`: Claude Code가 시작을 거부한 이유로, 알려진 시작 실패 전에 작성하는 `error_during_execution` 결과에서 확인할 수 있습니다. 값과 어떤 실패가 이를 전달하는지는 [`startup_failure_reason`](#startup_failure_reason)을 참조하세요. Agent SDK v0.3.274 이상이 필요합니다.

1495* `terminal_reason`: 루프가 종료된 이유입니다. `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"` 또는 `"turn_setup_failed"` 중 하나입니다.1545* `terminal_reason`: 루프가 끝난 이유입니다. `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"`, 또는 `"turn_setup_failed"` 중 하나입니다.

1496* `fast_mode_state`: `"on"`, `"off"` 또는 `"cooldown"` 중 하나입니다.1546* `fast_mode_state`: `"on"`, `"off"`, 또는 `"cooldown"` 중 하나입니다.

1497* `fast_mode_disabled_reason`: [빠른 모드](/docs/ko/fast-mode)를 지금 사용할 수 없는 이유입니다. 빠른 모드를 차단하는 것이 없으면 없습니다. 하지만 요청이 여전히 표준 속도로 실행될 수 있습니다. 빠른 모드 속도 제한 후 쿨다운 중에 Claude Code는 `fast_mode_state: "cooldown"`을 이유 코드 없이 보고하고 쿨다운이 만료되면 빠른 모드를 다시 활성화합니다. Claude Code v2.1.219 이상이 필요합니다.1547* `fast_mode_disabled_reason`: [빠른 모드](/docs/ko/fast-mode)를 지금 사용할 수 없는 이유입니다. 빠른 모드를 차단하는 것이 없을 때는 없지만, 요청이 여전히 표준 속도로 실행될 수 있습니다. 빠른 모드 속도 제한 후 쿨다운 중에 Claude Code는 이유 코드 없이 `fast_mode_state: "cooldown"`을 보고하고 쿨다운이 만료되면 빠른 모드를 다시 활성화합니다. Claude Code v2.1.219 이상이 필요합니다.

1498 1548 

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

1500 1550 

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

1502| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------- |1552| ---------------------- | ------------------------------------------------------------------------------------------------------------------------- |

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

1504| `preference` | 조직이 빠른 모드를 비활성화했습니다 |1554| `preference` | 조직이 빠른 모드를 비활성화함 |

1505| `extra_usage_disabled` | 계정에 대해 사용 크레딧이 꺼져 있습니다 |1555| `extra_usage_disabled` | 계정에 대해 사용 크레딧이 꺼짐 |

1506| `network_error` | [가용성 검사](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)가 `api.anthropic.com`에 도달할 수 없습니다 |1556| `network_error` | [가용성 검사](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)가 `api.anthropic.com`에 도달할 수 없음 |

1507| `unknown` | Claude Code가 가용성을 결정할 수 없습니다 |1557| `unknown` | Claude Code가 가용성을 결정할 수 없음 |

1508| `not_first_party` | 세션이 Anthropic API 이외의 제공자를 사용합니다 |1558| `not_first_party` | 세션이 Anthropic API 이외의 제공자를 사용함 |

1509| `disabled_by_env` | [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/ko/env-vars)이 설정되어 있습니다 |1559| `disabled_by_env` | [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/ko/env-vars)이 설정됨 |

1510| `model_not_allowed` | 빠른 모드 Opus 모델이 조직의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록에 없습니다 |1560| `model_not_allowed` | 빠른 모드 Opus 모델이 조직의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록에 없음 |

1511| `sdk_opt_in_required` | 세션이 빠른 모드에 옵트인하지 않았습니다: [`settings`](#options) 옵션에서 `fastMode: true`를 전달하거나 [`applyFlagSettings()`](#applyflagsettings)를 통해 전달합니다 |1561| `sdk_opt_in_required` | 세션이 빠른 모드에 옵트인하지 않음: [`settings`](#options) 옵션 또는 [`applyFlagSettings()`](#applyflagsettings)를 통해 `fastMode: true`를 전달합니다 |

1512| `pending` | 가용성 검사가 아직 완료되지 않았습니다 |1562| `pending` | 가용성 검사가 아직 완료되지 않음 |

1513 1563 

1514동일한 필드 쌍이 [`SDKSystemMessage`](#sdksystemmessage)와 [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse)에 나타나므로 첫 번째 턴 전에 빠른 모드 상태를 읽을 수 있습니다.1564동일한 필드 쌍이 [`SDKSystemMessage`](#sdksystemmessage)와 [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse)에 나타나므로 첫 번째 턴 전에 빠른 모드 상태를 읽을 수 있습니다.

1515 1565 

1516`origin` 필드는 이 결과를 트리거한 사용자 메시지의 [`SDKMessageOrigin`](#sdkmessageorigin)을 전달합니다. SDK가 완료된 백그라운드 작업과 같은 합성 후속 턴을 주입할 때, 결과 `SDKResultMessage`는 `origin: { kind: "task-notification" }`을 전달합니다. 라우팅 또는 억제 전에 `kind`를 확인하여 프롬프트에 답하는 결과와 주입된 후속을 구분합니다.1566`origin` 필드는 이 결과를 트리거한 사용자 메시지의 [`SDKMessageOrigin`](#sdkmessageorigin)을 전달합니다. SDK가 완료된 백그라운드 작업과 같은 합성 후속 턴을 주입할 때, 결과 `SDKResultMessage`는 `origin: { kind: "task-notification" }`을 전달합니다. 트리거가 발생하고 서버 검증 메시지가 다른 세션에서 도착하는 루틴은 [작업 알림 서브종류](#task-notification-subkinds)에 설명된 `subkind`와 함께 이 종류도 도착합니다. `kind`를 확인하여 프롬프트에 답변하는 결과를 라우팅하거나 억제하기 전에 주입된 후속 작업과 구별합니다. 애플리케이션이 [예약된 실행을 선언](#declare-a-scheduled-run)하면 해당 결과도 `kind: "task-notification"`을 전달하므로 `kind`만으로 억제하지 마세요.

1567 

1568여러 백그라운드 작업 완료가 함께 대기 중일 때, Claude Code는 각각 하나의 턴이 아니라 하나의 턴에서 답변할 수 있습니다. 각 완료는 여전히 이 원점으로 자신의 결과를 생성합니다. Claude Code가 함께 답변하는 완료 중 마지막을 제외한 모든 것은 순서대로 `num_turns: 0`인 빈 결과를 생성하고, 마지막 것의 결과는 모두에 답변하는 턴을 전달합니다.

1517 1569 

1518필드는 시작 오류와 같이 사용자 턴 이전에 내보낸 결과에는 없습니다.1570필드는 시작 오류와 같이 사용자 턴 전에 내보낸 결과에는 없습니다.

1519 1571 

1520`PreToolUse` 훅이 `permissionDecision: "defer"`를 반환할 때, 결과는 `stop_reason: "tool_deferred"`를 가지며 `deferred_tool_use`는 보류 중인 도구의 `id`, `name` 및 `input`을 전달합니다. 이 필드를 읽어 요청을 자신의 UI에 표시한 다음 동일한 `session_id`로 재개하여 계속합니다. 전체 왕복은 [나중을 위해 도구 호출 연기](/docs/ko/hooks#defer-a-tool-call-for-later)를 참조하십시오.1572`PreToolUse` 훅이 `permissionDecision: "defer"`를 반환할 때, 결과는 `stop_reason: "tool_deferred"`를 가지며 `deferred_tool_use`는 보류 중인 도구의 `id`, `name`, `input`을 전달합니다. 이 필드를 읽어 자신의 UI에서 요청을 표시한 다음 동일한 `session_id`로 재개하여 계속합니다. 전체 왕복은 [나중을 위해 도구 호출 연기](/docs/ko/hooks#defer-a-tool-call-for-later)를 참조하세요.

1521 1573 

1522<h4 id="user_message_uuid">1574<h4 id="user_message_uuid">

1523 `user_message_uuid`1575 `user_message_uuid`

1524</h4>1576</h4>

1525 1577 

1526이 턴이 답한 [`SDKUserMessage`](#sdkusermessage)의 `uuid`입니다. 보낸 메시지에 대한 Claude Code의 응답을 일치시킬 수 있도록 에코됩니다. Claude Code는 메시지에 설정한 경우에만 `uuid`를 에코합니다. 필드는 `SDKUserMessage`에서 선택 사항이며, `query()`에 전달된 문자열 프롬프트는 없습니다.1578턴이 답변하는 [`SDKUserMessage`](#sdkusermessage)의 `uuid`로, Claude Code의 회신을 보낸 메시지와 일치시킬 수 있도록 에코됩니다. Claude Code는 메시지에 하나를 설정한 경우에만 `uuid`를 에코합니다. 필드는 `SDKUserMessage`에서 선택 사항이며, `query()`에 전달된 문자열 프롬프트는 없습니다.

1527 1579 

1528턴이 답한 메시지는 턴이 시작된 방식에 따라 달라집니다:1580턴이 답변하는 메시지는 턴이 시작된 방식에 따라 다릅니다:

1529 1581 

1530* **보낸 일반 메시지**, 즉 `isSynthetic: true` 없음: 턴은 전체 실행 동안 해당 메시지에 답합니다. 여러 메시지를 가깝게 보낼 때, Claude Code는 이를 하나의 턴으로 병합할 수 있으며, 필드는 마지막 메시지의 `uuid`만 전달합니다. 병합된 메시지 중 하나에 대한 응답을 일치시키려면 [`user_message_uuids`](#user_message_uuids)를 사용합니다.1582* **보낸 일반 메시지**, 즉 `isSynthetic: true` 없음: 턴은 전체 실행 동안 해당 메시지에 답변합니다. 여러 메시지를 가깝게 보내면 Claude Code는 이를 하나의 턴으로 병합할 수 있으며, 필드는 마지막 메시지의 `uuid`만 전달합니다. 병합된 메시지 중 하나에 회신을 일치시키려면 [`user_message_uuids`](#user_message_uuids)를 사용합니다.

1531* **`isSynthetic: true`로 보낸 메시지**: 턴은 처음에 해당 메시지에 답합니다. Claude Code가 도구 호출 사이에 일반 메시지를 선택하면, 턴은 그 이후로 선택된 메시지에 답합니다. 합성 메시지의 `uuid`를 에코하려면 Agent SDK v0.3.265 이상이 필요합니다. 이전 버전은 합성 턴에서 아무것도 에코하지 않습니다.1583* **`isSynthetic: true`로 보낸 메시지**: 턴은 처음에 해당 메시지에 답변합니다. Claude Code가 도구 호출 사이에 일반 메시지를 선택하면 턴은 그 이후로 선택된 메시지에 답변합니다. 합성 메시지의 `uuid` 에코는 Agent SDK v0.3.265 이상이 필요합니다. 이전 버전은 합성 턴에서 아무것도 에코하지 않습니다.

1532* **Claude Code가 자체 생성한 프롬프트**, 예를 들어 세션 재시작 후 중단된 작업을 계속하는 턴: 턴은 처음에 메시지에 답하지 않으며 프레임은 에코를 전달하지 않습니다. Claude Code가 도구 호출 사이에 일반 메시지를 선택하면, 턴은 그 이후로 해당 메시지에 답합니다. 픽업 에코는 Agent SDK v0.3.265 이상이 필요합니다. 이전 버전은 이러한 턴에서 아무것도 에코하지 않습니다.1584* **Claude Code가 자체 생성한 프롬프트**, 예를 들어 세션이 재시작된 후 중단된 작업을 계속하는 턴: 턴은 처음에 메시지에 답변하지 않으며 프레임은 에코를 전달하지 않습니다. Claude Code가 도구 호출 사이에 일반 메시지를 선택하면 턴은 그 이후로 해당 메시지에 답변합니다. 픽업 에코는 Agent SDK v0.3.265 이상이 필요합니다. 이전 버전은 이러한 턴에서 아무것도 에코하지 않습니다.

1533 1585 

1534Claude Code는 세 가지 종류의 프레임에서 답한 메시지의 `uuid`를 에코합니다:1586Claude Code는 세 가지 종류의 프레임에서 답변된 메시지의 `uuid`를 에코합니다:

1535 1587 

1536* **결과**: 메시지에 답한 턴의 모든 결과입니다. Agent SDK v0.3.265 이상에서 보낸 메시지에 답한 모든 결과가 이를 전달합니다. v0.3.265 이전에는 일반 메시지가 시작한 턴의 성공 결과가 턴이 API 요청을 보내지 않았거나 연기된 도구 호출로 끝났을 때 이를 전달하지 않았습니다. v0.3.246 이전에는 오류 결과도 이를 전달하지 않았으며, v0.3.216 이전에는 모든 결과가 이를 전달하지 않았습니다.1588* **결과**: 메시지에 답변한 턴의 모든 결과입니다. Agent SDK v0.3.265 이상에서 모든 그러한 결과가 이를 전달합니다. v0.3.265 이전에는 일반 메시지가 시작한 턴의 성공 결과가 턴이 API 요청을 보내지 않았거나 연기된 도구 호출로 끝났을 때 이를 전달하지 않았습니다. v0.3.246 이전에는 오류 결과도 이를 전달하지 않았으며, v0.3.216 이전에는 모든 결과가 이를 전달하지 않았습니다.

1537* **턴의 첫 번째 응답**: 첫 번째 [어시스턴트 메시지](#sdkassistantmessage) 또는 `includePartialMessages`를 사용하면 `event.type`이 `ping`이 아닌 첫 번째 [스트림 이벤트](#sdkpartialassistantmessage)입니다. 결과가 도착하기 전에 응답을 바인드할 수 있습니다. 턴이 아무것도 스트리밍하지 않으면 Claude Code는 대신 첫 번째 어시스턴트 메시지에 설정합니다. 첫 번째 응답 에코는 Agent SDK v0.3.246 이상이 필요합니다. 턴이 답한 메시지가 턴 중간에 변경되면, 변경 후 첫 번째 응답이 필드를 전달합니다. Agent SDK v0.3.265 이상에서만 가능합니다. 이전 버전은 턴당 하나의 응답 프레임에 설정합니다.1589* **턴의 첫 번째 회신**: 첫 번째 [어시스턴트 메시지](#sdkassistantmessage) 또는 `includePartialMessages`를 사용하면 `event.type`이 `ping`이 아닌 첫 번째 [스트림 이벤트](#sdkpartialassistantmessage)로, 결과가 도착하기 전에 회신을 바인드할 수 있습니다. 턴이 아무것도 스트리밍하지 않으면 Claude Code는 대신 첫 번째 어시스턴트 메시지에 설정합니다. 첫 번째 회신 에코는 Agent SDK v0.3.246 이상이 필요합니다. 턴이 답변하는 메시지가 중간에 변경되면 변경 후 첫 번째 회신이 필드를 전달하며, Agent SDK v0.3.265 이상에서 필요합니다. 이전 버전은 턴당 하나의 회신 프레임에 설정합니다.

1538* **턴의 모든 [`thinking_tokens`](#sdkthinkingtokensmessage) 프레임**: 턴의 첫 번째 응답을 기다리지 않고 생각 진행을 보낸 메시지에 속성을 지정할 수 있습니다. Agent SDK v0.3.260 이상이 필요합니다.1590* **턴의 모든 [`thinking_tokens`](#sdkthinkingtokensmessage) 프레임**: 턴의 첫 번째 회신을 기다리지 않고 보낸 메시지에 생각 진행을 귀속시킬 수 있습니다. Agent SDK v0.3.260 이상이 필요합니다.

1539 1591 

1540Claude Code는 다음 경우에 필드를 생략합니다:1592Claude Code는 다음 경우에 필드를 생략합니다:

1541 1593 

1542* 첫 번째 응답 이외의 응답 프레임1594* 첫 번째 회신 이외의 회신 프레임

1543* 서브에이전트 프레임1595* 서브에이전트 프레임

1544* `uuid`를 가진 메시지에 답하지 않는 턴: 턴이 `uuid` 없이 보낸 메시지에 답했거나 Claude Code가 턴을 시작했으며 `uuid`를 가진 일반 메시지를 선택하지 않았습니다.1596* `uuid`가 있는 메시지에 답변하지 않는 턴: 턴이 하나 없이 보낸 메시지에 답변했거나 Claude Code가 턴을 시작했고 하나가 있는 일반 메시지를 선택하지 않았습니다

1545* 보낸 메시지에 답하지 않는 결과입니다. 예를 들어 충돌한 워커 프로세스 후 0으로 설정된 결과입니다.1597* 보낸 메시지에 답변하지 않는 결과로, 충돌한 워커 프로세스 후 0으로 설정된 결과와 같습니다

1546 1598 

1547<h4 id="user_message_uuids">1599<h4 id="user_message_uuids">

1548 `user_message_uuids`1600 `user_message_uuids`

1549</h4>1601</h4>

1550 1602 

1551이 턴에서 Claude Code가 답한 보낸 모든 메시지의 `uuid`입니다. 여러 메시지를 가깝게 보낼 때, Claude Code는 이를 하나의 턴으로 병합할 수 있으며, `user_message_uuid`는 마지막 메시지만 명명합니다. 병합된 메시지 중 하나에 대한 응답을 일치시키려면 이 목록의 어디든지 해당 메시지의 `uuid`를 찾으십시오. Agent SDK v0.3.259 이상이 필요합니다.1603Claude Code가 이 턴에서 답변한 모든 메시지의 `uuid`입니다. 여러 메시지를 가깝게 보내면 Claude Code는 이를 하나의 턴으로 병합할 수 있으며, `user_message_uuid`는 마지막 메시지만 명명합니다. 병합된 메시지 중 하나에 회신을 일치시키려면 이 목록의 어디든지 해당 메시지의 `uuid`를 찾으세요. Agent SDK v0.3.259 이상이 필요합니다.

1552 1604 

1553Claude Code는 해당 필드를 전달하는 각 응답 프레임과 결과에서 `user_message_uuid`와 함께 목록을 설정합니다. `user_message_uuid`를 전달하는 프레임의 전체 집합과 각각이 필요로 하는 버전은 [`user_message_uuid`](#user_message_uuid)를 참조하십시오. 목록은 항상 `user_message_uuid`를 포함하며 최대 64개 항목을 보유합니다.1605Claude Code는 해당 필드를 전달하는 각 회신 프레임과 결과에서 `user_message_uuid`와 함께 목록을 설정합니다. `user_message_uuid`를 전달하는 전체 프레임 세트와 각각이 필요로 하는 버전은 [`user_message_uuid`](#user_message_uuid)를 참조하세요. 목록은 항상 `user_message_uuid`를 포함하고 최대 64개 항목을 보유합니다.

1554 1606 

1555Claude Code가 턴이 실행되는 동안 보낸 일반 메시지를 선택하면, 해당 메시지의 `uuid`를 결과의 목록에 추가합니다.1607Claude Code가 턴이 실행되는 동안 보낸 일반 메시지를 선택하면 해당 메시지의 `uuid`를 결과의 목록에 추가합니다.

1556 1608 

1557첫 번째 응답 또는 결과가 목록 없이 `user_message_uuid`를 전달하면, 이전 Claude Code 버전에서 나온 것이므로 단일 필드로 돌아갑니다.1609첫 번째 회신 또는 결과가 목록 없이 `user_message_uuid`를 전달하면 이전 Claude Code 버전에서 나온 것이므로 단일 필드로 돌아가세요.

1558 1610 

1559<h4 id="queued_turn_count">1611<h4 id="queued_turn_count">

1560 `queued_turn_count`1612 `queued_turn_count`


1562 1614 

1563Claude Code가 결과를 생성했을 때 [`origin: { kind: "human" }`](#sdkmessageorigin)으로 보낸 메시지 중 여전히 명령 큐에서 대기 중인 메시지의 수입니다. Agent SDK v0.3.242 이상이 필요합니다.1615Claude Code가 결과를 생성했을 때 [`origin: { kind: "human" }`](#sdkmessageorigin)으로 보낸 메시지 중 여전히 명령 큐에서 대기 중인 메시지의 수입니다. Agent SDK v0.3.242 이상이 필요합니다.

1564 1616 

1565`0`과 없는 필드가 무엇을 말하는지:1617`0`과 없는 필드가 무엇을 의미하는지:

1566 1618 

1567* **`0`**: Claude Code는 해당 `origin` 없이 보낸 메시지를 계산하지 않으며, 작업 알림을 계산하지 않으므로 턴이 여전히 따를 수 있습니다.1619* **`0`**: Claude Code는 해당 `origin` 없이 보낸 메시지를 계산하지 않으며, 작업 알림을 계산하지 않으므로 턴이 여전히 따를 수 있습니다.

1568* **없음**: Claude Code가 충돌 또는 치명적 시작 오류 후 내보내는 최종 결과는 필드를 생략하며, [0으로 설정된 합계를 전달할 수 있습니다](/docs/ko/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).1620* **없음**: Claude Code가 충돌 또는 치명적 시작 오류 후 내보내는 최종 결과는 필드를 생략하며, [0으로 설정된 합계를 전달할 수 있습니다](/docs/ko/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).


1571 `startup_failure_reason`1623 `startup_failure_reason`

1572</h4>1624</h4>

1573 1625 

1574Claude Code가 시작을 거부한 이유입니다. 애플리케이션이 재시도 대신 수정을 제공할 수 있습니다. Claude Code는 알려진 시작 실패에서 종료하기 전에 작성하는 `error_during_execution` 결과에 설정합니다. 해당 결과는 0으로 설정된 합계를 전달하며, `errors` 배열은 stderr과 동일한 텍스트를 전달합니다. 필드는 다른 모든 결과에는 없습니다. Agent SDK v0.3.274 이상이 필요합니다.1626Claude Code가 시작을 거부한 이유로, 애플리케이션이 재시도 대신 수정을 제공할 수 있습니다. Claude Code는 알려진 시작 실패 전에 종료하기 전에 작성하는 `error_during_execution` 결과에 설정합니다. 해당 결과는 0으로 설정된 합계를 전달하며, 해당 `errors` 배열은 stderr와 동일한 텍스트를 전달합니다. 필드는 다른 모든 결과에는 없습니다. Agent SDK v0.3.274 이상이 필요합니다.

1575 1627 

1576모든 `SDKStartupFailureReason` 값에 대해 이 결과를 받으려면 [`env`](#options)에서 `CLAUDE_CODE_STARTUP_FAILURE_RESULTS`를 `1`로 설정합니다. 해당 변수 없이 Claude Code는 이러한 실패에 대해서만 결과를 작성하며, 나머지는 stderr 출력, 0이 아닌 종료 및 결과 메시지 없이 끝납니다:1628모든 `SDKStartupFailureReason` 값에 대해 이 결과를 받으려면 [`env`](#options)에서 `CLAUDE_CODE_STARTUP_FAILURE_RESULTS`를 `1`로 설정합니다. 해당 변수 없이 Claude Code는 이러한 실패에 대해서만 결과를 작성하고 나머지는 stderr 출력, 0이 아닌 종료, 결과 메시지 없음으로 끝납니다:

1577 1629 

1578* Claude Code가 [세션을 워크트리로 반환할 수 없기](/docs/ko/worktrees#the-session-resumes-outside-its-worktree) 때문에 중지하는 재개입니다. 해당 섹션은 어떤 오류가 어떤 값을 전달하는지 말합니다.1630* Claude Code가 [세션을 워크트리로 반환할 수 없기](/docs/ko/worktrees#the-session-resumes-outside-its-worktree) 때문에 중지하는 재개로, `worktree_unverified` 또는 `worktree_resume_refused`입니다. 해당 섹션은 어떤 오류가 어떤 값을 전달하는지 말합니다.

1579* 백그라운드 세션이 보유하는 대화의 거부된 [`continue`](#options)입니다. 그러한 대화의 거부된 [`resume`](#options)의 경우, Claude Code는 변수가 설정되었을 때만 결과를 작성합니다.1631* 백그라운드 세션이 보유하는 대화의 거부된 [`continue`](#options)로, `session_held_by_background`입니다. 그러한 대화의 거부된 [`resume`](#options)의 경우 Claude Code는 변수가 설정되었을 때만 결과를 작성합니다.

1580 1632 

1581```typescript theme={null}1633```typescript theme={null}

1582type SDKStartupFailureReason =1634type SDKStartupFailureReason =


1602 1654 

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

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

1605| `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`가 대신 구성됨 |

1606| `org_verify_failed` | 로그인의 조직을 핀에 대해 확인할 수 없습니다. 예를 들어 네트워크 실패 또는 취소된 토큰 때문입니다 |1658| `org_verify_failed` | 로그인의 조직을 핀에 대해 확인할 수 없음(예: 네트워크 실패 또는 취소된 토큰) |

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

1608| `managed_settings_invalid` | 관리 정책 설정을 읽을 수 없거나 핀이 조직을 명명하지 않습니다 |1660| `managed_settings_invalid` | 관리 정책 설정을 읽을 수 없거나 핀이 조직을 명명하지 않음 |

1609| `remote_settings_required_unavailable` | 조직이 요구하는 관리 설정을 로드할 수 없습니다 |1661| `remote_settings_required_unavailable` | 조직이 요구하는 관리 설정을 로드할 수 없음 |

1610| `gateway_signin_required` | [Cloud 게이트웨이](/docs/ko/claude-apps-gateway)가 이 로그인을 종료했습니다 |1662| `gateway_signin_required` | [Cloud 게이트웨이](/docs/ko/claude-apps-gateway)가 이 로그인을 종료함 |

1611| `gateway_access_denied` | Cloud 게이트웨이에 대한 관리 설정 요청이 403으로 돌아왔습니다. 게이트웨이의 [문제 해결 테이블](/docs/ko/claude-apps-gateway-deploy#troubleshooting)이 이를 다룹니다 |1663| `gateway_access_denied` | Cloud 게이트웨이에 대한 관리 설정 요청이 403으로 돌아왔으며, 게이트웨이의 [문제 해결 테이블](/docs/ko/claude-apps-gateway-deploy#troubleshooting)이 이를 다룹니다 |

1612| `proxy_invalid` | 프록시 설정이 완전한 URL이 아닙니다 |1664| `proxy_invalid` | 프록시 설정이 완전한 URL이 아님 |

1613| `temp_dir_unusable` | 사용자별 임시 디렉토리가 안전하지 않거나 생성할 수 없습니다 |1665| `temp_dir_unusable` | 사용자별 임시 디렉토리가 안전하지 않거나 생성할 수 없음 |

1614| `cwd_unavailable` | 작업 디렉토리가 삭제되었거나 이동되었거나 읽을 수 없습니다 |1666| `cwd_unavailable` | 작업 디렉토리가 삭제되었거나 이동되었거나 읽을 수 없음 |

1615| `shell_tool_missing` | Windows에서 사용 가능한 셸 도구가 없습니다: Git Bash가 없으며 PowerShell이 없거나 `CLAUDE_CODE_USE_POWERSHELL_TOOL`로 꺼져 있습니다 |1667| `shell_tool_missing` | Windows에서 사용 가능한 셸 도구가 없음: Git Bash가 없고 PowerShell이 없거나 `CLAUDE_CODE_USE_POWERSHELL_TOOL`로 꺼짐 |

1616| `session_held_by_background` | 재개하거나 계속할 대화가 [백그라운드 세션](/docs/ko/agent-view)으로 실행 중입니다 |1668| `session_held_by_background` | 재개하거나 계속할 대화가 [백그라운드 세션](/docs/ko/agent-view)으로 실행 중 |

1617| `worktree_resume_refused` | 세션의 워크트리가 안전 검사에 실패했거나 재개가 내부에서 시작되었습니다. `errors`는 동일한 재개를 다시 실행하면 워크트리 없이 계속되는지 말합니다 |1669| `worktree_resume_refused` | 세션의 워크트리가 안전 검사에 실패했거나 재개가 내부에서 시작됨. `errors`는 동일한 재개를 다시 실행하면 워크트리 없이 계속되는지 여부를 말합니다 |

1618| `worktree_unverified` | 세션의 워크트리를 지금 확인할 수 없으며, 재시도하면 성공할 수 있습니다 |1670| `worktree_unverified` | 세션의 워크트리를 지금 확인할 수 없으며 재시도하면 성공할 수 있음 |

1619| `cli_version_too_old` | 이 Claude Code 버전이 Anthropic이 요구하는 최소값 아래입니다 |1671| `cli_version_too_old` | 이 Claude Code 버전이 Anthropic이 요구하는 최소값 아래 |

1620| `bypass_root` | 루트로 실행하는 동안 바이패스 권한 모드가 요청되었습니다 |1672| `bypass_root` | 루트로 실행하는 동안 바이패스 권한 모드가 요청됨 |

1621 1673 

1622<h3 id="sdksystemmessage">1674<h3 id="sdksystemmessage">

1623 `SDKSystemMessage`1675 `SDKSystemMessage`


1656};1708};

1657```1709```

1658 1710 

1659`fast_mode_state`는 세션의 [빠른 모드](/docs/ko/fast-mode) 상태를 보고합니다. 빠른 모드를 차단하는 것이 있으면, `fast_mode_disabled_reason`은 이를 차단한 검사의 이름을 지정합니다. 필드는 Claude Code v2.1.219 이상이 필요합니다. 이유 코드 및 의미는 결과 메시지의 [`fast_mode_disabled_reason`](#sdkresultmessage)을 참조하십시오.1711`fast_mode_state`는 세션의 [빠른 모드](/docs/ko/fast-mode) 상태를 보고합니다. 무언가가 빠른 모드를 차단할 때 `fast_mode_disabled_reason`은 이를 차단한 검사의 이름을 지정합니다. 필드는 Claude Code v2.1.219 이상이 필요합니다. 이유 코드와 그 의미는 결과 메시지의 [`fast_mode_disabled_reason`](#sdkresultmessage)을 참조하세요.

1660 1712 

1661`terminal_slash_commands`는 `slash_commands`의 항목 중 인터페이스가 로컬 터미널에 바인드된 항목의 이름을 지정합니다. 예를 들어 `exit`입니다. 다른 `slash_commands` 항목처럼 보낼 수 있습니다. 필드는 원격 또는 모바일 클라이언트가 명령 메뉴에서 이를 숨길 수 있도록 존재합니다. 필드는 비어 있지 않을 때만 표시되며 Agent SDK v0.3.229 이상이 필요합니다.1713`terminal_slash_commands`는 `exit`와 같은 로컬 터미널에 바인드된 인터페이스를 가진 `slash_commands`의 항목을 명명합니다. 다른 `slash_commands` 항목처럼 보낼 수 있습니다. 필드는 원격 또는 모바일 클라이언트가 명령 메뉴에서 이를 숨길 수 있도록 존재합니다. 필드는 비어 있지 않을 때만 있으며 Agent SDK v0.3.229 이상이 필요합니다.

1662 1714 

1663* 각 `mcp_servers` 항목의 `source`: 서버 정의가 어디에서 나왔는지입니다. [`McpServerStatus`](#mcpserverstatus)의 `source`와 동일한 값입니다. Agent SDK v0.3.274 이상이 필요합니다.1715* 각 `mcp_servers` 항목의 `source`: 서버 정의가 어디에서 나왔는지로, [`McpServerStatus`](#mcpserverstatus)의 `source`와 동일한 값입니다. Agent SDK v0.3.274 이상이 필요합니다.

1664* `effort`: [노력 수준](/docs/ko/model-config#adjust-effort-level) Claude Code가 세션의 다음 요청에서 보내거나, 보내지 않을 때 `null`입니다. Claude Code는 [Remote Control](/docs/ko/remote-control) 클라이언트에 보내는 초기화 메시지에만 필드를 설정하며, 애플리케이션이 읽는 초기화 메시지에서 생략합니다. Agent SDK v0.3.234 이상이 필요합니다.1716* `effort`: [노력 수준](/docs/ko/model-config#adjust-effort-level) Claude Code가 세션의 다음 요청에서 보내거나 보내지 않을 때 `null`입니다. Claude Code는 [Remote Control](/docs/ko/remote-control) 클라이언트로 보내는 초기화 메시지에만 필드를 설정하고 애플리케이션이 읽는 초기화 메시지에서 생략합니다. Agent SDK v0.3.234 이상이 필요합니다.

1665 1717 

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

1667 1719 

1668| 기능 | 의미 |1720| 기능 | 의미 |

1669| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1721| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1670| `interrupt_receipt_v1` | [`interrupt()`](#query-object)는 중단을 생존하는 대기 중인 메시지의 이름을 지정하는 [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) 영수증으로 해결됩니다 |1722| `interrupt_receipt_v1` | [`interrupt()`](#query-object)는 인터럽트가 도착했을 때 보류 중인 메시지를 나열하는 [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) 영수증으로 해결됩니다 |

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

1672 1724 

1673<h3 id="sdkpartialassistantmessage">1725<h3 id="sdkpartialassistantmessage">

1674 `SDKPartialAssistantMessage`1726 `SDKPartialAssistantMessage`

1675</h3>1727</h3>

1676 1728 

1677스트리밍 부분 메시지 (`includePartialMessages`가 true일 때만). `parent_tool_use_id` 필드는 항상 `null`입니다: 스트림 이벤트는 메인 세션에만 내보내집니다. 서브에이전트 속성을 위해 `parent_tool_use_id`를 전달하는 완전한 메시지를 사용하거나 [`forwardSubagentText`](#options)를 활성화하여 서브에이전트 텍스트와 생각을 완전한 메시지로 수신합니다.1729스트리밍 부분 메시지(`includePartialMessages`가 true일 때만). `parent_tool_use_id` 필드는 항상 `null`입니다: 스트림 이벤트는 메인 세션에만 내보내집니다. 서브에이전트 귀속의 경우 완전한 메시지를 사용하거나 [`forwardSubagentText`](#options)를 활성화하여 서브에이전트 텍스트 및 생각을 완전한 메시지로 받습니다.

1678 1730 

1679```typescript theme={null}1731```typescript theme={null}

1680type SDKPartialAssistantMessage = {1732type SDKPartialAssistantMessage = {

1681 type: "stream_event";1733 type: "stream_event";

1682 event: BetaRawMessageStreamEvent; // Anthropic SDK에서1734 event: BetaRawMessageStreamEvent; // From Anthropic SDK

1683 parent_tool_use_id: string | null;1735 parent_tool_use_id: string | null;

1684 uuid: UUID;1736 uuid: UUID;

1685 session_id: string;1737 session_id: string;

1686 ttft_ms?: number; // 첫 번째 토큰까지의 시간(ms), message_start 이벤트에만 표시됨1738 ttft_ms?: number; // Time to first token in ms, present only on message_start events

1687 user_message_uuid?: string;1739 user_message_uuid?: string;

1688 user_message_uuids?: string[];1740 user_message_uuids?: string[];

1689};1741};

1690```1742```

1691 1743 

1692Claude Code는 턴의 첫 번째 비핑 스트림 이벤트에 `user_message_uuid` 및 `user_message_uuids`를 설정하며, 턴이 답한 메시지가 변경될 때 다시 설정합니다. [`user_message_uuid`](#user_message_uuid)의 조건에 따릅니다.1744Claude Code는 턴의 첫 번째 비핑 스트림 이벤트에 `user_message_uuid`와 `user_message_uuids`를 설정하고, 턴이 답변하는 메시지가 변경될 때 [`user_message_uuid`](#user_message_uuid)의 조건에 따라 다시 설정합니다.

1693 1745 

1694<h3 id="sdkcompactboundarymessage">1746<h3 id="sdkcompactboundarymessage">

1695 `SDKCompactBoundaryMessage`1747 `SDKCompactBoundaryMessage`


1714 `SDKInformationalMessage`1766 `SDKInformationalMessage`

1715</h3>1767</h3>

1716 1768 

1717루프에서 내보낸 일반 텍스트 배너입니다. 비오류 상태 라인, `UserPromptSubmit` 훅의 블록 이유와 같은 훅 피드백, 및 명령 출력을 전달합니다. Claude Code v2.1.227 이상에서 훅의 [`systemMessage`](/docs/ko/hooks#json-output)는 이 메시지로 도착할 수 있으며, 각 줄은 훅의 이름으로 접두사가 붙습니다. 예를 들어 `PostToolUse:Bash says:`입니다. 훅의 `systemMessage`가 이 메시지로 도착하는지 여부는 이벤트에 따라 달라집니다. 각 [이벤트의 섹션](/docs/ko/hooks#hook-events)은 훅 페이지에서 출력이 어떻게 표시되는지 말합니다. `content`를 주어진 `level`에서 일반 텍스트로 렌더링합니다.1769루프에서 내보낸 일반 텍스트 배너입니다. 비오류 상태 줄, `UserPromptSubmit` 훅의 블록 이유와 같은 훅 피드백, 명령 출력을 전달합니다. Claude Code v2.1.227 이상에서 훅의 [`systemMessage`](/docs/ko/hooks#json-output)는 이 메시지로 도착할 수 있으며, 각 줄은 `PostToolUse:Bash says:`와 같은 훅의 이름으로 접두사가 붙습니다. 훅의 `systemMessage`가 이 메시지로 도착하는지 여부는 이벤트에 따라 다릅니다. 각 [이벤트의 섹션](/docs/ko/hooks#hook-events)은 훅 페이지에서 출력이 어떻게 표시되는지 말합니다. `content`를 주어진 `level`에서 일반 텍스트로 렌더링합니다.

1718 1770 

1719```typescript theme={null}1771```typescript theme={null}

1720type SDKInformationalMessage = {1772type SDKInformationalMessage = {


1733 `SDKWorkerShuttingDownMessage`1785 `SDKWorkerShuttingDownMessage`

1734</h3>1786</h3>

1735 1787 

1736원격 클라이언트가 하트비트 타임아웃을 기다리는 대신 워커가 사라진 이유를 표시할 수 있도록 정상적인 워커 종료 시 내보내집니다. `reason`은 호스트 CLI에서 설정한 짧은 snake\_case 문자열입니다(예: `"host_exit"` 또는 `"remote_control_disabled"`). 라이브 스트리밍할 때만 이에 대해 조치합니다. 재개된 세션은 이 메시지의 과거 인스턴스를 재생하므로 그 경우 무시합니다.1788정상적인 워커 해제 시 내보내져서 원격 클라이언트가 하트비트 타임아웃을 기다리는 대신 워커가 종료된 이유를 표시할 수 있습니다. `reason`은 호스트 CLI에서 설정한 짧은 snake\_case 문자열로, `"host_exit"` 또는 `"remote_control_disabled"`와 같습니다. 라이브 스트리밍할 때만 이에 대해 조치합니다. 재개된 세션은 이 메시지의 과거 인스턴스를 재생하므로 그 경우 무시합니다.

1737 1789 

1738```typescript theme={null}1790```typescript theme={null}

1739type SDKWorkerShuttingDownMessage = {1791type SDKWorkerShuttingDownMessage = {


1749 `SDKPluginInstallMessage`1801 `SDKPluginInstallMessage`

1750</h3>1802</h3>

1751 1803 

1752플러그인 설치 진행 이벤트입니다. [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ko/env-vars)이 설정되면 내보내지므로 Agent SDK 애플리케이션이 첫 번째 턴 전에 마켓플레이스 플러그인 설치를 추적할 수 있습니다. `started` 및 `completed` 상태는 전체 설치를 괄호로 묶습니다. `installed` 및 `failed` 상태는 개별 마켓플레이스를 보고하고 `name`을 포함합니다.1804플러그인 설치 진행 이벤트입니다. [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ko/env-vars)이 설정되었을 때 내보내져서 Agent SDK 애플리케이션이 첫 번째 턴 전에 마켓플레이스 플러그인 설치를 추적할 수 있습니다. `started`와 `completed` 상태는 전체 설치를 괄호로 묶습니다. `installed`와 `failed` 상태는 개별 마켓플레이스를 보고하고 `name`을 포함합니다.

1753 1805 

1754```typescript theme={null}1806```typescript theme={null}

1755type SDKPluginInstallMessage = {1807type SDKPluginInstallMessage = {


1767 `SDKPermissionDeniedMessage`1819 `SDKPermissionDeniedMessage`

1768</h3>1820</h3>

1769 1821 

1770권한 시스템이 대화형 프롬프트 없이 도구 호출을 자동으로 거부할 때 내보내지는 스트림 이벤트입니다. 이를 사용하여 거부를 UI에 렌더링할 수 있습니다. 어떤 거부를 보고하는지는 실행이 권한 프롬프트를 처리하는 방식에 따라 달라집니다:1822권한 시스템이 대화형 프롬프트 없이 도구 호출을 거부할 때 내보낸 스트림 이벤트입니다. 뒤따르는 `is_error` 도구 결과만 관찰하는 대신 거부를 실시간으로 UI에 렌더링하는 데 사용합니다. 어떤 거부를 보고하는지는 실행이 권한 프롬프트를 처리하는 방식에 따라 다릅니다:

1771 1823 

1772* **[`canUseTool`](#canusetool) 콜백과 기본 [`permissionPrompts: 'host'`](#options)**: 권한 프롬프트는 콜백으로 이동하며, 이 이벤트는 Claude Code가 이를 호출하지 않고 자체적으로 결정한 거부를 보고합니다.1824* **[`canUseTool`](#canusetool) 콜백과 기본 [`permissionPrompts: 'host'`](#options)**: 권한 프롬프트는 콜백으로 이동하고, 이 이벤트는 Claude Code가 이를 호출하지 않고 자체적으로 결정한 거부를 보고합니다.

1773* **둘 다 없음**: 베어 `-p` 실행 또는 `canUseTool` 또는 `permissionPromptToolName`을 설정하지 않는 `query()`는 프롬프트했을 도구 호출을 거부하며, 이 이벤트는 이러한 거부와 Claude Code가 자체적으로 결정한 거부를 보고합니다. v2.1.223 이전에는 Claude Code가 콜백 없는 실행에서 이 이벤트를 내보내지 않았습니다.1825* **둘 다 없음**: 베어 `-p` 실행 또는 `canUseTool`도 `permissionPromptToolName`도 설정하지 않는 `query()`는 프롬프트했을 모든 도구 호출을 거부하고, 이 이벤트는 그러한 거부와 Claude Code가 자체적으로 결정한 거부를 보고합니다. v2.1.223 이전에는 Claude Code가 콜백 없는 실행에서 이 이벤트를 내보내지 않았습니다.

1774* **MCP 프롬프트 도구**, `permissionPromptToolName` 또는 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 플래그로 설정되고 기본 `permissionPrompts: 'host'`: Claude Code는 이 이벤트를 전혀 내보내지 않습니다. 자체적으로 결정한 규칙 거부도 아닙니다.1826* **MCP 프롬프트 도구**, `permissionPromptToolName` 또는 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 플래그로 설정하고 기본 `permissionPrompts: 'host'`: Claude Code는 이 이벤트를 전혀 내보내지 않으며, 규칙 거부를 포함하여 자체적으로 결정한 거부도 포함하지 않습니다.

1775* **[`permissionPrompts: 'none'`](#options)**: Claude Code는 프롬프트했을 호출을 거부합니다. `canUseTool` 또는 MCP 프롬프트 도구도 설정되어 있어도 마찬가지입니다. 이 이벤트는 이러한 거부와 Claude Code가 자체적으로 결정한 거부를 보고합니다. Claude Code v2.1.259 이상이 필요합니다.1827* **[`permissionPrompts: 'none'`](#options)**: Claude Code는 프롬프트했을 호출을 거부하며, `canUseTool` 또는 MCP 프롬프트 도구도 설정되어 있을 때도 거부하고, 이 이벤트는 그러한 거부와 Claude Code가 자체적으로 결정한 거부를 보고합니다. Claude Code v2.1.259 이상이 필요합니다.

1776 1828 

1777모든 구성에서 이 이벤트는 `PreToolUse` 훅 경로에서 결정한 거부를 건너뜁니다. 훅이 호출을 자체적으로 거부했거나 거부 규칙이 훅의 허용 또는 요청 결정을 재정의했는지 여부입니다. 이벤트는 또한 최선의 노력입니다: 가끔 Claude Code는 이 이벤트를 내보내지 않고 거부를 기록하므로 [결과 메시지](#sdkresultmessage)의 `permission_denials`이 권위 있는 기록입니다.1829모든 구성에서 이 이벤트는 `PreToolUse` 훅 경로에서 결정된 거부를 건너뜁니다. 훅이 호출을 거부했는지 또는 거부 규칙이 훅의 허용 또는 요청 결정을 재정의했는지 여부입니다. 이벤트는 또한 최선의 노력입니다: 때때로 Claude Code는 이 이벤트를 내보내지 않고 거부를 기록하므로 [결과 메시지](#sdkresultmessage)의 `permission_denials`이 권위 있는 기록입니다.

1778 1830 

1779```typescript theme={null}1831```typescript theme={null}

1780type SDKPermissionDeniedMessage = {1832type SDKPermissionDeniedMessage = {


1794| 필드 | 타입 | 설명 |1846| 필드 | 타입 | 설명 |

1795| ---------------------- | -------- | --------------------------------------------------------------------------------- |1847| ---------------------- | -------- | --------------------------------------------------------------------------------- |

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

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

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

1799| `decision_reason_type` | `string` | `"rule"`, `"mode"`, `"classifier"` 또는 `"asyncAgent"`와 같이 결정한 구성 요소의 판별자 |1851| `decision_reason_type` | `string` | 결정한 구성 요소의 판별자로, `"rule"`, `"mode"`, `"classifier"`, 또는 `"asyncAgent"`와 같습니다 |

1800| `decision_reason` | `string` | 사용 가능할 때 결정 구성 요소의 인간이 읽을 수 있는 이유 |1852| `decision_reason` | `string` | 사용 가능할 때 결정 구성 요소의 인간이 읽을 수 있는 이유 |

1801| `message` | `string` | `tool_result`에서 모델에 반환된 거부 메시지 |1853| `message` | `string` | `tool_result`에서 모델로 반환된 거부 메시지 |

1802 1854 

1803<h3 id="sdkpermissiondenial">1855<h3 id="sdkpermissiondenial">

1804 `SDKPermissionDenial`1856 `SDKPermissionDenial`


1818 `SDKContextUsage`1870 `SDKContextUsage`

1819</h3>1871</h3>

1820 1872 

1821`/context` 보고서의 구조화된 형식입니다. [`SDKAssistantMessage`](#sdkassistantmessage)에서 `/context` 결과를 전달하는 `context_usage`로 전달됩니다. Agent SDK v0.3.232 이상은 타입을 내보냅니다. [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse)와 달리, 사용량 분석을 렌더링하는 데 필요한 데이터만 전달하며, `color` 및 `gridRows`와 같은 표시 필드는 없습니다.1873`/context` 보고서의 구조화된 형태로, [`SDKAssistantMessage`](#sdkassistantmessage)에서 `/context` 결과를 전달하는 `context_usage`로 전달됩니다. Agent SDK v0.3.232 이상은 타입을 내보냅니다. [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse)와 달리 `color`와 `gridRows`와 같은 표시 필드 없이 사용량 분석을 렌더링하는 데 필요한 데이터만 전달합니다.

1822 1874 

1823```typescript theme={null}1875```typescript theme={null}

1824type SDKContextUsage = {1876type SDKContextUsage = {


1855};1907};

1856```1908```

1857 1909 

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

1859 1911 

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

1861| ---------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1913| ---------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1862| `model` | `string` | Claude Code가 사용량을 계산한 메인 루프의 모델입니다. 서브에이전트의 모델이 아닙니다 |1914| `model` | `string` | Claude Code가 사용량을 계산한 메인 루프의 모델로, 서브에이전트의 모델이 아님 |

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

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

1865| `percentage` | `number` | `total_tokens`를 `raw_max_tokens`의 반올림된 백분율로 표시합니다. 세션이 제한을 초과할 때 100을 초과할 수 있습니다 |1917| `percentage` | `number` | `total_tokens`를 `raw_max_tokens`의 반올림된 백분율로, 세션이 제한을 초과할 때 100을 초과할 수 있습니다 |

1866| `over_limit` | `object` | `total_tokens`가 `raw_max_tokens`를 초과할 때만 표시됩니다. `tokens_over`는 초과 금액이며, `kind`는 Claude Code가 윈도우를 해결한 방식을 말합니다 |1918| `over_limit` | `object` | `total_tokens`가 `raw_max_tokens`를 초과할 때만 있습니다. `tokens_over`는 초과 금액이고 `kind`는 Claude Code가 윈도우를 해결한 방식을 말합니다 |

1867| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | 사용량별 카테고리 분석의 각 행에 대한 하나의 항목 |1919| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | 사용량별 카테고리 분석의 각 행당 하나의 항목 |

1868| `mcp_tools` | `object[]` | 각 MCP 도구에 속성을 지정한 토큰입니다. 와이어 이름(예: `mcp__linear__create_issue`)과 `server_name` 포함 |1920| `mcp_tools` | `object[]` | 각 MCP 도구에 귀속된 토큰으로, `mcp__linear__create_issue`와 같은 와이어 이름과 `server_name` |

1869| `memory_files` | `object[]` | 각 로드된 메모리 파일에 속성을 지정한 토큰입니다. `path` 및 `Project` 또는 `User`와 같은 소스 레이블(예: `type`) 포함 |1921| `memory_files` | `object[]` | 각 로드된 메모리 파일에 귀속된 토큰으로, `path`와 `Project` 또는 `User`와 같은 소스 레이블이 `type`에 있습니다 |

1870| `agents` | `object[]` | 각 사용자 정의 서브에이전트 정의에 속성을 지정한 토큰입니다. `projectSettings`, `userSettings` 또는 `plugin`과 같은 소스 식별자 포함. 기본 제공 서브에이전트는 나열되지 않습니다 |1922| `agents` | `object[]` | 각 사용자 정의 서브에이전트 정의에 귀속된 토큰으로, `projectSettings`, `userSettings`, 또는 `plugin`과 같은 소스 식별자입니다. 기본 제공 서브에이전트는 나열되지 않습니다 |

1871| `skills` | `object[]` | 기술 목록의 각 기술에 속성을 지정한 토큰입니다. 소스 식별자 및 플러그인 기술의 경우 `plugin_name`의 플러그인 이름 포함. 기술이 토큰에 기여하지 않을 때 없습니다 |1923| `skills` | `object[]` | 기술 목록의 각 기술에 귀속된 토큰으로, 소스 식별자와 플러그인 기술의 경우 `plugin_name`의 플러그인 이름입니다. 기술이 토큰에 기여하지 않을 때 없습니다 |

1872 1924 

1873`over_limit.kind`는 Claude Code가 윈도우를 해결한 방식을 기록하며, 다음 요청을 API가 수락하는지 여부는 아닙니다:1925`over_limit.kind`는 Claude Code가 윈도우를 해결한 방식을 기록하며, 다음 요청을 API가 수락하는지 여부가 아닙니다:

1874 1926 

1875* `hard_limit`: 윈도우는 Claude Code가 모델 자신의 제한이라고 믿는 것입니다. 이를 초과하면 API가 요청을 거부합니다.1927* `hard_limit`: 윈도우는 Claude Code가 API가 요청을 거부하는 모델 자체의 제한이라고 믿는 것입니다

1876* `compaction_window`: 윈도우는 압축 정책 윈도우입니다. 모델의 제한과 일치할 수도 있고 아닐 수도 있습니다.1928* `compaction_window`: 윈도우는 압축 정책 윈도우로, 모델의 제한과 일치할 수도 있고 아닐 수도 있습니다

1877 1929 

1878Claude Code는 기존 필드를 재구성하는 대신 새로운 데이터를 선택적 필드로 추가하여 타입을 진화시킵니다. 알고 있는 필드를 읽고 인식하지 못하는 필드는 무시합니다.1930Claude Code는 타입을 추가적으로 진화시켜 기존 타입을 재구성하는 대신 새로운 데이터를 선택적 필드로 추가합니다. 알고 있는 필드를 읽고 인식하지 못하는 필드는 무시합니다.

1879 1931 

1880<h3 id="sdkcontextusagecategory">1932<h3 id="sdkcontextusagecategory">

1881 `SDKContextUsageCategory`1933 `SDKContextUsageCategory`


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

1895 1947 

1896| 필드 | 타입 | 설명 |1948| 필드 | 타입 | 설명 |

1897| -------- | -------- | ------------------------------------------------------------------------------------ |1949| -------- | -------- | ---------------------------------------------------------------------------- |

1898| `name` | `string` | 행의 표시 이름입니다. `/context`가 인쇄하는 것처럼 예를 들어 `Messages`입니다. 이름으로 행을 분류하지 말고 `kind`로 분류합니다 |1950| `name` | `string` | `/context`가 인쇄하는 행의 표시 이름으로, `Messages`와 같습니다. 이름으로 행을 분류하지 말고 `kind`로 분류합니다 |

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

1900| `kind` | `string` | 행이 나타내는 것입니다: `used`, `free`, `buffer` 또는 `deferred` |1952| `kind` | `string` | 행이 나타내는 것: `used`, `free`, `buffer`, 또는 `deferred` |

1901 1953 

1902각 `kind` 값은 행의 토큰이 무엇인지 말합니다:1954각 `kind` 값은 행의 토큰이 무엇인지 말합니다:

1903 1955 

1904* `used`: 컨텍스트 윈도우를 차지하는 콘텐츠1956* `used`: 컨텍스트 윈도우를 차지하는 콘텐츠

1905* `free`: 남은 윈도우1957* `free`: 남은 윈도우

1906* `buffer`: 압축 예약1958* `buffer`: 압축 예약

1907* `deferred`: Claude Code가 윈도우 밖에 보유하고 사용량 계산에서 제외하는 도구 스키마입니다. 인식을 위해 나열됩니다.1959* `deferred`: Claude Code가 윈도우 밖에 보유하고 사용량 계산에서 제외하지만 인식을 위해 나열하는 도구 스키마

1908 1960 

1909<h3 id="sdkmessageorigin">1961<h3 id="sdkmessageorigin">

1910 `SDKMessageOrigin`1962 `SDKMessageOrigin`

1911</h3>1963</h3>

1912 1964 

1913사용자 역할 메시지의 출처입니다. 이는 [`SDKUserMessage`](#sdkusermessage)의 `origin`으로 나타나며 해당 [`SDKResultMessage`](#sdkresultmessage)로 전달되므로 주어진 턴을 트리거한 것을 알 수 있습니다.1965사용자 역할 메시지의 출처입니다. 이는 [`SDKUserMessage`](#sdkusermessage)에서 `origin`으로 나타나며 해당 [`SDKResultMessage`](#sdkresultmessage)로 전달되어 주어진 턴을 트리거한 것을 알 수 있습니다.

1914 1966 

1915```typescript theme={null}1967```typescript theme={null}

1916type SDKMessageOrigin =1968type SDKMessageOrigin =


1929 | {1981 | {

1930 kind: "task-notification";1982 kind: "task-notification";

1931 subkind?: "scheduled-trigger" | "peer-send-message";1983 subkind?: "scheduled-trigger" | "peer-send-message";

1984 fireReason?: string;

1932 }1985 }

1933 | { kind: "coordinator" }1986 | { kind: "coordinator" }

1934 | { kind: "auto-continuation" }1987 | { kind: "auto-continuation" }


1936```1989```

1937 1990 

1938| `kind` | 의미 |1991| `kind` | 의미 |

1939| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1992| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

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

1942| `peer` | 다른 에이전트의 메시지입니다: 프로세스 내 [팀원](/docs/ko/agent-teams) 또는 [교차 세션 피어](/docs/ko/cross-session-messaging), 다른 Claude Code 세션입니다. [피어 출처 필드](#peer-origin-fields)를 참조하십시오. |1995| `peer` | 다른 에이전트의 메시지: 프로세스 내 [팀원](/docs/ko/agent-teams) 또는 [교차 세션 피어](/docs/ko/cross-session-messaging), 다른 Claude Code 세션입니다. [피어 원점 필드](#peer-origin-fields)에서 필드별 의미와 신뢰 모델을 참조하세요. |

1943| `task-notification` | 신선한 사용자 프롬프트 없이 전달되는 배송을 위해 주입된 합성 턴입니다. 예를 들어 완료된 백그라운드 작업입니다. [`SDKTaskNotificationMessage`](#sdktasknotificationmessage)를 참조하십시오. 선택적 `subkind`는 알림을 발생시킨 것을 표시합니다. [작업 알림 서브종류](#task-notification-subkinds)를 참조하십시오. |1996| `task-notification` | 완료된 백그라운드 작업과 같이 신선한 사용자 프롬프트 없이 도착하는 전달을 위해 주입된 합성 턴입니다. [`SDKTaskNotificationMessage`](#sdktasknotificationmessage)를 참조하세요. 애플리케이션이 [예약된 실행으로 선언](#declare-a-scheduled-run)하는 프롬프트도 이 종류를 전달합니다. 선택적 `subkind`는 알림을 발생시킨 것을 표시합니다. [작업 알림 서브종류](#task-notification-subkinds)를 참조하세요. |

1944| `coordinator` | [에이전트 팀](/docs/ko/agent-teams)의 팀 코디네이터로부터의 메시지입니다. |1997| `coordinator` | [에이전트 팀](/docs/ko/agent-teams)의 팀 코디네이터의 메시지입니다. |

1945| `auto-continuation` | 신선한 사용자 입력 없이 세션이 계속될 때 주입된 합성 턴입니다. 예를 들어 후속 프롬프트를 트리거하는 명령 결과입니다. |1998| `auto-continuation` | 명령 결과가 후속 프롬프트를 트리거하는 것과 같이 신선한 사용자 입력 없이 세션이 계속될 때 주입된 합성 턴입니다. |

1946| `unclassified` | 출처를 결정할 수 없는 주입된 턴입니다. Claude Code v2.1.223 이상이 필요합니다. Claude Code가 [`SDKUserMessage`](#sdkusermessage)를 `isSynthetic: true`로 받고 다른 `kind`로 분류할 수 없으면, 메시지가 도착할 때 이 종류를 설정하고 턴을 모델에 인간 입력이 아닌 소스로 프레임합니다. 애플리케이션은 이 값을 설정하지 않아야 합니다. |1999| `unclassified` | 출처를 결정할 수 없는 주입된 턴입니다. Claude Code가 [`SDKUserMessage`](#sdkusermessage)를 `isSynthetic: true`로 받고 다른 `kind`로 분류할 수 없으면 메시지가 도착할 때 이 종류를 설정하고 턴을 모델에 인간 입력이 아닌 비사용자 소스로 프레임합니다. 애플리케이션은 이 값을 설정하지 않아야 합니다. |

1947 2000 

1948<h3 id="task-notification-subkinds">2001<h3 id="task-notification-subkinds">

1949 작업 알림 서브종류2002 작업 알림 서브종류

1950</h3>2003</h3>

1951 2004 

1952Claude Code가 작업 알림을 세션에 전달할 때, Anthropic 서버가 해당 알림이 어디에서 나왔는지 확인한 경우에만 알림의 `origin`에 `subkind`를 설정합니다. `subkind`는 Claude Code v2.1.213 이상이 필요하며, 두 가지 값 중 하나를 취합니다:2005Claude Code가 작업 알림을 세션에 전달할 때, Anthropic 서버가 해당 알림이 어디에서 나왔는지 확인했으면 알림의 `origin`에 `subkind`를 설정합니다. 또한 애플리케이션이 [메시지를 예약된 실행으로 선언](#declare-a-scheduled-run)할 때 `subkind`를 설정하며, TypeScript Agent SDK v0.3.280 이상이 필요합니다. `subkind`는 Claude Code v2.1.213 이상이 필요하며 두 가지 값 중 하나를 취합니다:

1953 2006 

1954* `scheduled-trigger`: 알림은 [루틴](/docs/ko/routines)의 저장된 프롬프트입니다. 루틴의 트리거 중 하나가 발생했기 때문에 전달됩니다: 일정, [API 트리거](/docs/ko/routines#add-an-api-trigger), [GitHub 트리거](/docs/ko/routines#add-a-github-trigger) 또는 **지금 실행**. Claude Code는 이를 세션의 할당된 작업으로 모델에 프레임하며, [다른 작업 알림이 전달하는 알림](#sdktasknotificationmessage)과 다른 알림입니다.2007* `scheduled-trigger`: 알림은 [루틴](/docs/ko/routines)의 저장된 프롬프트로, 루틴의 트리거 중 하나가 발생했기 때문에 전달됩니다: 일정, [API 트리거](/docs/ko/routines#add-an-api-trigger), [GitHub 트리거](/docs/ko/routines#add-a-github-trigger), 또는 **지금 실행**. 애플리케이션이 [예약된 실행으로 선언](#declare-a-scheduled-run)하는 프롬프트도 이 값을 전달합니다. Claude Code는 이를 세션의 할당된 작업으로 모델에 프레임하며, [다른 작업 알림이 전달하는 알림](#sdktasknotificationmessage)과 다른 알림입니다.

1955* `peer-send-message`: 알림은 다른 세션이 [클라우드 세션](/docs/ko/claude-code-on-the-web)이 서로 메시지를 보내는 데 사용하는 서버 측 `send_message` 도구로 보낸 메시지입니다. [교차 세션 `SendMessage` 도구](/docs/ko/cross-session-messaging)가 아닙니다. Anthropic 서버가 두 세션이 동일한 개인 세션 그룹에 속하는지 확인했습니다. Claude Code v2.1.224 이상이 필요합니다. 서버가 그 방식으로 확인하지 않은 `send_message` 배송은 서브종류를 얻지 못합니다.2008* `peer-send-message`: 알림은 [교차 세션 `SendMessage` 도구](/docs/ko/cross-session-messaging)가 아니라 [클라우드 세션](/docs/ko/claude-code-on-the-web)이 서로 메시지를 보내는 데 사용하는 서버 측 `send_message` 도구로 다른 세션이 보낸 메시지이며, Anthropic 서버가 두 세션이 동일한 비공개 세션 그룹에 속한다고 확인했습니다. Claude Code v2.1.224 이상이 필요합니다. 서버가 그런 식으로 확인하지 않은 `send_message` 전달은 `subkind`를 얻지 못합니다.

1956 2009 

1957다른 모든 작업 알림에는 `subkind`가 없습니다. 여기에는 자신의 머신에서 발생하는 [예약된 작업](/docs/ko/scheduled-tasks), [PR 활동](/docs/ko/claude-code-on-the-web#how-claude-responds-to-pr-activity)이 세션에 전달되는 것, 완료된 작업과 같은 백그라운드 이벤트가 포함됩니다. [교차 세션 `SendMessage` 도구](/docs/ko/cross-session-messaging)의 메시지는 작업 알림이 아닙니다: 동일한 머신의 세션에서 오든 다른 머신의 Anthropic 서버를 통해 오든, Claude Code는 이를 `kind: "peer"`로 제공하며 [피어 출처 필드](#peer-origin-fields)를 사용합니다.2010다른 모든 작업 알림에는 `subkind`가 없습니다. 여기에는 [PR 활동](/docs/ko/claude-code-on-the-web#how-claude-responds-to-pr-activity)이 세션에 전달되고 완료된 작업과 같은 백그라운드 이벤트가 포함됩니다. [교차 세션 `SendMessage` 도구](/docs/ko/cross-session-messaging)의 메시지는 작업 알림이 아닙니다: 동일한 머신의 세션에서 오든 다른 머신의 Anthropic 서버를 통해 오든 Claude Code는 `kind: "peer"`를 제공하고 [피어 원점 필드](#peer-origin-fields)를 제공합니다.

2011 

2012`fireReason`은 `scheduled-trigger` 알림이 발생한 이유를 `scheduled`, `manual`, `retry`, `catch_up`, 또는 `api`와 같은 짧은 소문자 토큰으로 말합니다. Anthropic 서버는 [루틴](/docs/ko/routines)의 전달에 설정하고 애플리케이션은 예약된 실행을 선언할 때 설정합니다. 어느 쪽도 보내지 않으면 없습니다. TypeScript Agent SDK v0.3.280 이상이 필요합니다.

2013 

2014<h4 id="declare-a-scheduled-run">

2015 예약된 실행 선언

2016</h4>

2017 

2018애플리케이션이 자신의 일정에 따라 프롬프트를 실행하면 각 실행을 선언하여 Claude Code가 턴을 라이브 사용자 입력이 아니라 예약된 작업으로 모델에 프레임하도록 합니다. [`env`](#options)에서 `CLAUDE_CODE_HOST_SCHEDULED_RUN`을 `1`로 설정하여 세션을 시작한 다음 실행의 [`SDKUserMessage`](#sdkusermessage)를 `origin: { kind: "task-notification", subkind: "scheduled-trigger", fireReason: "scheduled" }`로 보내고 `isSynthetic` 없이 보냅니다. Claude Code는 해당 변수 없이 시작된 프로세스에서 선언을 무시합니다. 또한 환경이 [`CLAUDECODE`](/docs/ko/env-vars) 또는 `CLAUDE_CODE_CHILD_SESSION`을 전달하는 프로세스에서도 무시합니다. Claude Code는 값이 1\~32개의 소문자 또는 밑줄일 때만 `fireReason`을 유지합니다. TypeScript Agent SDK v0.3.280 이상이 필요합니다.

1958 2019 

1959<h3 id="peer-origin-fields">2020<h3 id="peer-origin-fields">

1960 피어 출처 필드2021 피어 원점 필드

1961</h3>2022</h3>

1962 2023 

1963`peer` 출처는 메시지를 보낸 에이전트를 식별합니다: `SendMessage`를 사용하여 `main`으로 보내는 프로세스 내 [팀원](/docs/ko/agent-teams) 또는 [교차 세션 피어](/docs/ko/cross-session-messaging), 다른 Claude Code 세션입니다. 교차 세션 피어는 macOS 및 Linux에서 Claude Code v2.1.224 이상이 필요합니다. [교차 세션 메시징 가용성](/docs/ko/cross-session-messaging#availability)을 참조하십시오. 교차 세션 피어는 동일한 머신에서 실행되거나, [다른 머신](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)에서 또는 [클라우드](/docs/ko/claude-code-on-the-web)에서 Remote Control을 통해 메시지가 도착할 때 실행될 수 있습니다. 두 종류의 발신자는 필드를 다르게 채웁니다:2024`peer` 원점은 메시지를 보낸 에이전트를 식별합니다: `SendMessage`로 `main`에 보내는 프로세스 내 [팀원](/docs/ko/agent-teams) 또는 [교차 세션 피어](/docs/ko/cross-session-messaging), 다른 Claude Code 세션입니다. 교차 세션 피어는 macOS 및 Linux에서 Claude Code v2.1.224 이상이 필요합니다. [교차 세션 메시징 가용성](/docs/ko/cross-session-messaging#availability)에서 네이티브 Windows 요구 사항을 참조하세요. 교차 세션 피어는 동일한 머신에서 실행되거나 [다른 머신](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)에서 또는 [클라우드](/docs/ko/claude-code-on-the-web)에서 Remote Control을 통해 메시지가 도착할 때 실행될 수 있습니다. 두 종류의 발신자는 필드를 다르게 채웁니다:

1964 2025 

1965* `from`: 팀원의 이름 또는 교차 세션 피어의 발신자 주소입니다. [일방향 교차 머신 메시지](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)의 경우 발신자는 응답 주소가 없으며 `from`은 `"unknown"`입니다. 값은 발신자가 작성합니다. `verifiedPeerPid`가 확인된 신원입니다.2026* `from`: 팀원의 이름 또는 교차 세션 피어의 발신자 주소입니다. [일방향 교차 머신 메시지](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)의 경우 발신자는 회신 주소가 없고 `from`은 `"unknown"`입니다. 값은 발신자가 작성한 것입니다. `verifiedPeerPid`는 확인된 신원입니다.

1966* `fromMode`: 발신 세션의 권한 클래스입니다. `bypass` 또는 `prompting`입니다. [데스크톱 앱](/docs/ko/desktop#work-across-sessions)과 같이 세션 간에 피어 메시지를 중계하는 호스트에서 선언됩니다. Claude Code는 [인바운드 제어](/docs/ko/cross-session-messaging#control-inbound-messages)를 적용할 때 수신 세션에서 읽습니다. Agent SDK v0.3.234 이상이 필요합니다.2027* `fromMode`: 발신 세션의 권한 클래스로, `bypass` 또는 `prompting`이며, [데스크톱 앱](/docs/ko/desktop#work-across-sessions)과 같이 세션 간에 피어 메시지를 중계하는 호스트에서 선언합니다. Claude Code는 [인바운드 제어](/docs/ko/cross-session-messaging#control-inbound-messages)를 적용할 때 수신 세션에서 읽습니다. Agent SDK v0.3.234 이상이 필요합니다.

1967* `senderTaskId`: 팀원의 작업 ID입니다. 교차 세션 피어의 경우 없습니다.2028* `senderTaskId`: 팀원의 작업 ID입니다. 교차 세션 피어의 경우 없습니다.

1968* `name`: 발신자의 표시 이름입니다. Claude Code에서 정규화됩니다: 유니코드 제어, 형식, 서로게이트 및 줄 또는 단락 구분자 코드 포인트를 제거한 다음 결과를 자르고 64개 코드 포인트로 제한하고 줄임표를 추가합니다. Claude Code v2.1.205 이상이 필요합니다.2029* `name`: 발신자의 표시 이름으로, Claude Code에서 정규화됩니다: Unicode 제어, 형식, 대리, 줄 또는 단락 구분 기호 코드 포인트를 제거한 다음 결과를 자르고 64개 코드 포인트로 제한하고 줄임표를 추가합니다. Claude Code v2.1.205 이상이 필요합니다.

1969* `body`: 피어 봉투가 제거된 디코딩된 메시지 본문입니다. 모델이 보는 것과 바이트 정확합니다. 팀원 메시지의 경우 항상 표시됩니다. 교차 세션 피어의 경우 턴이 정확히 Claude Code에서 형성한 하나의 피어 봉투인 경우에만 표시됩니다. `name` 및 `body`를 렌더링하고 메시지 텍스트를 다시 파싱하지 마십시오. Claude Code v2.1.205 이상이 필요합니다.2030* `body`: 피어 봉투가 제거된 디코딩된 메시지 본문로, 모델이 보는 것과 바이트 정확합니다. 팀원 메시지의 경우 항상 있습니다. 교차 세션 피어의 경우 턴이 정확히 Claude Code에서 형성한 하나의 피어 봉투일 때만 있습니다. 메시지 텍스트를 다시 구문 분석하는 대신 `name`과 `body`를 렌더링합니다. Claude Code v2.1.205 이상이 필요합니다.

1970* `fromSession`: 발신자의 호스트 열기 가능 세션 ID입니다. 발신자의 호스트에서 설정하므로 UI가 발신 세션으로 다시 링크할 수 있습니다. `from`처럼 발신자가 주장합니다: 네비게이션 대상으로만 사용하고 발신자의 신원 증명으로 취급하지 마십시오. Claude Code v2.1.216 이상이 필요합니다.2031* `fromSession`: 발신자의 호스트 열기 가능 세션 ID로, 발신자의 호스트에서 설정하여 UI가 발신 세션으로 다시 링크할 수 있습니다. `from`과 마찬가지로 발신자가 주장한 것입니다: 네비게이션 대상으로만 사용하고 발신자의 신원 증명으로 취급하지 마세요. Claude Code v2.1.216 이상이 필요합니다.

1971* `verifiedPeerPid`: 이 세션의 교차 세션 메시징 소켓에 연결된 프로세스의 프로세스 ID입니다. 커널에서 확인되고 페이로드가 아닌 연결 자체에서 읽습니다. 발신자를 식별하려면 `from`이 아닌 이를 사용합니다: `from`은 동일한 사용자 프로세스에서 위조 가능합니다. 필드는 Claude Code가 이를 확인할 수 없을 때 없습니다. 예를 들어 Windows 또는 비소켓 수신에서 없는 값은 발신자가 확인되지 않음을 의미합니다. 중계된 트래픽의 경우 메시지의 작성자가 아닌 중계를 식별하며, 프로세스 ID는 재활용 가능하므로 이를 인증 토큰이 아닌 출처로 취급합니다. Claude Code v2.1.216 이상이 필요합니다.2032* `verifiedPeerPid`: 이 세션의 교차 세션 메시징 소켓에 연결된 프로세스의 프로세스 ID로, 커널에서 확인하고 페이로드가 아닌 연결 자체에서 읽습니다. 발신자를 식별하려면 `from`이 아니라 이를 사용합니다: `from`은 동일한 사용자 프로세스에서 위조 가능합니다. 필드는 Claude Code가 확인할 수 없을 때 없으며, 예를 들어 Windows 또는 비소켓 수신에서 없으므로 없는 값은 발신자가 확인되지 않음을 의미합니다. 중계된 트래픽의 경우 메시지의 작성자가 아니라 중계를 식별하고 프로세스 ID는 재활용 가능하므로 인증 토큰이 아니라 출처로 취급합니다. Claude Code v2.1.216 이상이 필요합니다.

1972 2033 

1973<h2 id="hook-types">2034<h2 id="hook-types">

1974 훅 타입2035 훅 타입


2830 | ReadMcpResourceInput2891 | ReadMcpResourceInput

2831 | RefreshMcpToolsInput2892 | RefreshMcpToolsInput

2832 | RemoteTriggerInput2893 | RemoteTriggerInput

2833 | REPLInput

2834 | ReportFindingsInput2894 | ReportFindingsInput

2835 | ScheduleWakeupInput2895 | ScheduleWakeupInput

2836 | ShowOnboardingRolePickerInput2896 | ShowOnboardingRolePickerInput

2837 | TaskCreateInput2897 | TaskCreateInput

2838 | TaskGetInput2898 | TaskGetInput

2839 | TaskListInput2899 | TaskListInput

2840 | TaskOutputInput

2841 | TaskStopInput2900 | TaskStopInput

2842 | TaskUpdateInput2901 | TaskUpdateInput

2843 | TodoWriteInput2902 | TodoWriteInput


2932 2991 

2933백그라운드 소스를 실행하고 각 이벤트를 Claude에 전달하므로 폴링 없이 반응할 수 있습니다: `command`는 스크립트를 실행하고 stdout 라인당 하나의 이벤트를 내보내며, `ws`는 WebSocket을 열고 텍스트 프레임당 하나의 이벤트를 내보냅니다. `command` 또는 `ws` 중 정확히 하나를 제공합니다. `ws` 소스는 Claude Code v2.1.195 이상이 필요합니다.2992백그라운드 소스를 실행하고 각 이벤트를 Claude에 전달하므로 폴링 없이 반응할 수 있습니다: `command`는 스크립트를 실행하고 stdout 라인당 하나의 이벤트를 내보내며, `ws`는 WebSocket을 열고 텍스트 프레임당 하나의 이벤트를 내보냅니다. `command` 또는 `ws` 중 정확히 하나를 제공합니다. `ws` 소스는 Claude Code v2.1.195 이상이 필요합니다.

2934 2993 

2935`timeout_ms`는 감시의 마감 시간(밀리초)입니다. 기본값은 300000이며, 유효한 마감 시간은 최대 1800000(30분)입니다. 마감 시간에 감시가 종료되고 Claude는 필요한 경우 새 감시를 시작할 수 있도록 하나의 알림을 받습니다.2994`timeout_ms`는 감시의 마감 시간(밀리초)입니다. 기본값은 300000이며 최대 3600000까지의 값을 허용합니다. 유효한 마감 시간은 최대 1800000(30분)이므로, 더 큰 허용 값은 그 값으로 단축됩니다. 마감 시간에 감시가 종료되고 Claude는 필요한 경우 새 감시를 시작할 수 있도록 하나의 알림을 받습니다.

2936 2995 

2937내보낸 타입은 스키마가 기본값을 채우기 때문에 `timeout_ms`를 필수로 표시합니다. 이를 생략하는 호출은 유효성을 검사합니다.2996내보낸 타입은 스키마가 기본값을 채우기 때문에 `timeout_ms`를 필수로 표시합니다. 이를 생략하는 호출은 유효성을 검사합니다.

2938 2997 


2942 TaskOutput3001 TaskOutput

2943</h3>3002</h3>

2944 3003 

2945**도구 이름:** `TaskOutput`3004Claude Code v2.1.277에서 제거되었으며, 해당 `TaskOutputInput` 타입도 함께 제거되었습니다. 이전에는 실행 중이거나 완료된 백그라운드 작업에서 출력을 검색했습니다. Claude는 `Read`를 사용하여 백그라운드 작업의 출력 파일을 읽습니다.

2946 

2947<Note>`TaskOutput`은 더 이상 사용되지 않습니다. 작업의 출력 파일 경로에서 `Read`를 사용하는 것이 좋습니다. 아래 스키마는 도구를 만나는 훅 및 권한 핸들러에 대해 유효합니다.</Note>

2948 

2949```typescript theme={null}

2950type TaskOutputInput = {

2951 task_id: string;

2952 block: boolean;

2953 timeout: number;

2954};

2955```

2956 3005 

2957실행 중이거나 완료된 백그라운드 작업에서 출력을 검색합니다.3006`disallowedTools` 항목 또는 여전히 `TaskOutput`의 이름을 지정하는 거부 규칙은 경고 없이 무시됩니다.

2958 3007 

2959<h3 id="edit">3008<h3 id="edit">

2960 Edit3009 Edit


3449 REPL3498 REPL

3450</h3>3499</h3>

3451 3500 

3452**도구 이름:** `REPL`3501v2.1.275에서 제거되었습니다. v2.1.274까지 실험적 `REPL` 도구는 [`env` 옵션](#options)에서 `CLAUDE_CODE_REPL=1`을 설정하여 켤 수 있었습니다.

3453 

3454```typescript theme={null}

3455type REPLInput = {

3456 code: string;

3457 description?: string;

3458 timeout?: number;

3459};

3460```

3461 

3462지속적인 REPL에서 JavaScript 코드를 실행합니다. 상태는 호출 간에 유지되고 최상위 await가 지원됩니다. `timeout`은 밀리초 단위이며 기본값은 30000이고 최대값은 600000입니다.

3463 

3464타입은 내보내지지만 [`env` 옵션](#options)에서 `CLAUDE_CODE_REPL=1`을 설정하지 않으면 SDK 세션에서 도구가 꺼집니다. 또한 네이티브 설치 프로그램이 제공하는 Bun 기반 `claude` 실행 파일이 필요합니다.

3465 3502 

3466<h3 id="reportfindings">3503<h3 id="reportfindings">

3467 ReportFindings3504 ReportFindings


3507 action?: "publish" | "list";3544 action?: "publish" | "list";

3508 file_path?: string;3545 file_path?: string;

3509 favicon?: string;3546 favicon?: string;

3547 icon?: string;

3510 limit?: number;3548 limit?: number;

3511 scope?: "mine" | "shared" | "all";3549 scope?: "mine" | "shared" | "all";

3512 title?: string;3550 title?: string;


3519};3557};

3520```3558```

3521 3559 

3522로컬 `.html` 또는 `.md` 파일을 호스팅된 아티팩트 페이지로 게시하거나 사용자의 게시된 아티팩트를 나열합니다. `action`을 생략하거나 `"publish"`를 전달하여 `file_path`를 게시합니다. 이는 게시 작업에 필요하며 `favicon`(사용자의 갤러리에서 아티팩트를 표시하는 하나 또는 두 개의 이모지)도 필요합니다. `title`은 HTML 파일에 `<title>` 태그가 없을 때 브라우저 탭 및 갤러리에서 게시된 페이지의 이름을 지정합니다. `url`은 새 페이지를 만드는 대신 기존 아티팩트를 제자리에서 업데이트하도록 대상을 지정합니다.3560로컬 `.html` 또는 `.md` 파일을 호스팅된 아티팩트 페이지로 게시하거나 사용자의 게시된 아티팩트를 나열합니다. `action`을 생략하거나 `"publish"`를 전달하여 `file_path`를 게시합니다. 이는 게시 작업에 필요합니다. 아래의 각 필드는 게시에 적용됩니다:

3561 

3562* `icon`: 아티팩트의 브라우저 탭 아이콘에 대한 하나의 짧은 일반 단어(예: `chart` 또는 `map`). Claude는 첫 게시에 포함하고 업데이트에서 생략하여 아티팩트의 저장된 아이콘을 유지합니다.

3563* `favicon`: 더 이상 사용되지 않으며 Claude는 생략합니다.

3564* `title`: HTML 파일에 `<title>` 태그가 없을 때 브라우저 탭 및 갤러리에서 게시된 페이지의 이름을 지정합니다.

3565* `url`: 새 페이지를 만드는 대신 기존 아티팩트를 제자리에서 업데이트하도록 대상을 지정합니다.

3523 3566 

3524`force`는 다른 세션이 게시한 최신 버전을 버리는 최후의 수단 덮어쓰기입니다. 충돌 시 실패한 게시는 최신 콘텐츠를 반환합니다. Claude는 해당 콘텐츠에 변경 사항을 병합하거나 아티팩트를 다시 읽고 다시 게시합니다. 사용자가 명시적으로 해당 버전을 버리도록 요청할 때만 `force`를 전달하세요.3567`force`는 다른 세션이 게시한 최신 버전을 버리는 최후의 수단 덮어쓰기입니다. 충돌 시 실패한 게시는 최신 콘텐츠를 반환합니다. Claude는 해당 콘텐츠에 변경 사항을 병합하거나 아티팩트를 다시 읽고 다시 게시합니다. 사용자가 명시적으로 해당 버전을 버리도록 요청할 때만 `force`를 전달하세요.

3525 3568 


3656 | ReadMcpResourceOutput3699 | ReadMcpResourceOutput

3657 | RefreshMcpToolsOutput3700 | RefreshMcpToolsOutput

3658 | RemoteTriggerOutput3701 | RemoteTriggerOutput

3659 | REPLOutput

3660 | ReportFindingsOutput3702 | ReportFindingsOutput

3661 | ScheduleWakeupOutput3703 | ScheduleWakeupOutput

3662 | ShowOnboardingRolePickerOutput3704 | ShowOnboardingRolePickerOutput


4506 4548 

4507푸시 또는 로컬 알림이 전송되었는지 여부와 배달이 건너뛴 이유를 포함한 배달 세부 정보를 반환합니다.4549푸시 또는 로컬 알림이 전송되었는지 여부와 배달이 건너뛴 이유를 포함한 배달 세부 정보를 반환합니다.

4508 4550 

4509<h3 id="repl-2">

4510 REPL

4511</h3>

4512 

4513**도구 이름:** `REPL`

4514 

4515```typescript theme={null}

4516type REPLOutput = {

4517 code: string;

4518 result: {

4519 [k: string]: unknown;

4520 };

4521 stdout: string;

4522 stderr: string;

4523 error?: string;

4524 registeredTools?: string[];

4525 images?: {

4526 base64: string;

4527 mediaType: string;

4528 }[];

4529 documents?: {

4530 base64: string;

4531 }[];

4532};

4533```

4534 

4535실행 결과, 캡처된 콘솔 출력, 그리고 내부 `Read` 호출로 표시된 모든 이미지 또는 문서를 반환합니다.

4536 

4537<h3 id="reportfindings-2">4551<h3 id="reportfindings-2">

4538 ReportFindings4552 ReportFindings

4539</h3>4553</h3>


4857```4871```

4858 4872 

4859<Warning>4873<Warning>

4860 `context-1m-2025-08-07` 베타는 2026년 4월 30일부터 폐기되었습니다. Claude Sonnet 4.5 또는 Sonnet 4와 함께 이 값을 전달하면 효과가 없으며, 표준 200k 토큰 컨텍스트 윈도우를 초과하는 요청은 오류를 반환합니다. 1M 토큰 컨텍스트 윈도우를 사용하려면 [Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 또는 Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview)으로 마이그레이션하세요. 이들은 베타 헤더 없이 표준 가격으로 1M 컨텍스트를 포함합니다.4874 `context-1m-2025-08-07` 베타는 2026년 4월 30일부터 폐기되었습니다. Claude Sonnet 4.5 또는 Sonnet 4와 함께 이 값을 전달하면 효과가 없으며, 표준 200k 토큰 컨텍스트 윈도우를 초과하는 요청은 오류를 반환합니다. 1M 토큰 컨텍스트 윈도우를 사용하려면 [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 또는 Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview)으로 마이그레이션하세요. 이들은 베타 헤더 없이 표준 가격으로 1M 컨텍스트를 포함합니다.

4861</Warning>4875</Warning>

4862 4876 

4863<h3 id="slashcommand">4877<h3 id="slashcommand">


4872 description: string;4886 description: string;

4873 argumentHint: string;4887 argumentHint: string;

4874 aliases?: string[];4888 aliases?: string[];

4889 builtin?: boolean;

4875};4890};

4876```4891```

4877 4892 

4893`builtin`은 명령이 Claude Code 자체이고 `/name`을 입력하면 실행될 때 행에서 `true`입니다. 사용자, 프로젝트, 플러그인 또는 MCP 서버에서 정의한 명령이나, 이들 중 하나가 [이름으로 대체](/docs/ko/skills#resolve-skills-that-share-a-name)하는 번들 명령의 경우 없습니다. Agent SDK v0.3.277 이상이 필요합니다.

4894 

4878<h3 id="modelinfo">4895<h3 id="modelinfo">

4879 `ModelInfo`4896 `ModelInfo`

4880</h3>4897</h3>


4981 destructive?: boolean;4998 destructive?: boolean;

4982 openWorld?: boolean;4999 openWorld?: boolean;

4983 };5000 };

5001 _meta?: Record<string, unknown>;

4984 }[];5002 }[];

4985};5003};

4986```5004```

4987 5005 

4988`source`는 서버의 정의가 어디에서 왔는지를 나타내며, [`McpServerProvenance`](#mcpserverprovenance)의 `source`와 동일한 값 및 신뢰 규칙을 가집니다. 필드는 Agent SDK v0.3.274 이상이 필요하며 이전 버전에서는 없습니다.5006`source`는 서버의 정의가 어디에서 왔는지를 나타내며, [`McpServerProvenance`](#mcpserverprovenance)의 `source`와 동일한 값 및 신뢰 규칙을 가집니다. 필드는 Agent SDK v0.3.274 이상이 필요하며 이전 버전에서는 없습니다.

4989 5007 

5008`_meta`는 도구의 `_meta`의 MCP Apps 멤버를 전달하므로, 애플리케이션이 [`readMcpResource()`](#query-object)로 렌더링할 `ui://` 리소스를 찾을 수 있습니다. Claude Code는 `ui` 객체와 더 이상 사용되지 않는 평면 `ui/resourceUri` 문자열을 통과시키고, 다른 모든 키를 보류합니다. `ui` 내에서 `resourceUri`는 `ui://` 문자열이고 `visibility`는 서버가 설정할 때 `"model"` 및 `"app"`의 배열이며, 다른 멤버는 변경되지 않고 통과합니다. Claude Code는 값이 잘못된 형식일 때 어느 키든 삭제하고, 도구가 둘 다 선언하지 않을 때 `_meta`를 생략합니다. 필드는 초기화 메시지의 [`capabilities`](#sdksystemmessage)에 `mcp_tool_ui_meta_v1`이 포함될 때만 나타나며, TypeScript Agent SDK v0.3.280 이상이 필요합니다.

5009 

4990<h3 id="mcpserverstatusconfig">5010<h3 id="mcpserverstatusconfig">

4991 `McpServerStatusConfig`5011 `McpServerStatusConfig`

4992</h3>5012</h3>


5733```5753```

5734 5754 

5735| 속성 | 타입 | 기본값 | 설명 |5755| 속성 | 타입 | 기본값 | 설명 |

5736| :-------------------------- | :---------------------------------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |5756| :-------------------------- | :---------------------------------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

5737| `enabled` | `boolean` | `false` | 명령 실행을 위한 샌드박스 모드 활성화 |5757| `enabled` | `boolean` | `false` | 명령 실행을 위한 샌드박스 모드 활성화 |

5738| `failIfUnavailable` | `boolean` | `true` | `enabled`가 `true`이지만 샌드박스를 시작할 수 없는 경우 시작 시 중지합니다. stderr에 경고와 함께 샌드박스되지 않은 실행으로 폴백하려면 `false`로 설정합니다 |5758| `failIfUnavailable` | `boolean` | `true` | `enabled`가 `true`이지만 샌드박스를 시작할 수 없는 경우 시작 시 중지합니다. stderr에 경고와 함께 샌드박스되지 않은 실행으로 폴백하려면 `false`로 설정합니다 |

5739| `autoAllowBashIfSandboxed` | `boolean` | `true` | 샌드박스가 활성화되었을 때 Bash 명령 자동 승인 |5759| `autoAllowBashIfSandboxed` | `boolean` | `true` | 샌드박스가 활성화되었을 때 Bash 명령 자동 승인 |

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

5741| `allowUnsandboxedCommands` | `boolean` | `true` | 모델이 샌드박스 외부에서 명령을 실행하도록 요청하도록 허용합니다. `true`일 때 모델은 도구 입력에서 `dangerouslyDisableSandbox`를 설정할 수 있으며, 이는 [권한 시스템](#permissions-fallback-for-unsandboxed-commands)으로 폴백됩니다 |5761| `allowUnsandboxedCommands` | `boolean` | `true` | 모델이 샌드박스 외부에서 명령을 실행하도록 요청하도록 허용합니다. `true`일 때 모델은 도구 입력에서 `dangerouslyDisableSandbox`를 설정할 수 있으며, 이는 [권한 시스템](#permissions-fallback-for-unsandboxed-commands)으로 폴백됩니다 |

5742| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | 네트워크 특정 샌드박스 구성 |5762| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | 네트워크 특정 샌드박스 구성 |

5743| `filesystem` | [`SandboxFilesystemConfig`](#sandboxfilesystemconfig) | `undefined` | 읽기/쓰기 제한을 위한 파일 시스템 특정 샌드박스 구성 |5763| `filesystem` | [`SandboxFilesystemConfig`](#sandboxfilesystemconfig) | `undefined` | 읽기/쓰기 제한을 위한 파일 시스템 특정 샌드박스 구성 |


5844 샌드박스되지 않은 명령에 대한 권한 폴백5864 샌드박스되지 않은 명령에 대한 권한 폴백

5845</h3>5865</h3>

5846 5866 

5847`allowUnsandboxedCommands`가 활성화되었을 때 모델은 도구 입력에서 `dangerouslyDisableSandbox: true`를 설정하여 샌드박스 외부에서 명령을 실행하도록 요청할 수 있습니다. 이러한 요청은 기존 권한 시스템으로 폴백되므로 `canUseTool` 핸들러가 호출되어 사용자 정의 인증 로직을 구현할 수 있습니다. `excludedCommands`에 나열된 명령은 대신 샌드박스를 자동으로 무시하며 모델 개입이 없습니다. [`SandboxSettings`](#sandboxsettings)를 참조합니다.5867`allowUnsandboxedCommands`가 활성화되었을 때 모델은 도구 입력에서 `dangerouslyDisableSandbox: true`를 설정하여 샌드박스 외부에서 명령을 실행하도록 요청할 수 있습니다. 이러한 요청은 기존 권한 시스템으로 폴백되므로 `canUseTool` 핸들러가 호출되어 사용자 정의 인증 로직을 구현할 수 있습니다.

5868 

5869`excludedCommands` 항목은 대신 샌드박스를 자동으로 무시하며 모델 개입이 없습니다. [`sandbox.excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)는 항목이 적용되는 시기를 다룹니다.

5848 5870 

5849아래 예제에서 `isCommandAuthorized`는 사용자가 정의하는 인증 확인을 나타냅니다.5871아래 예제에서 `isCommandAuthorized`는 사용자가 정의하는 인증 확인을 나타냅니다.

5850 5872 

agent-teams.md +0 −4

Details

14 14 

15팀을 설정하기 전에 더 가벼운 옵션이 작업을 수행하는지 확인합니다. [Subagents](/docs/ko/sub-agents)는 단일 세션 내에서 작동하며, [cross-session messaging](/docs/ko/cross-session-messaging)을 통해 Claude는 직접 실행하는 세션 간에 결과를 전달할 수 있습니다.15팀을 설정하기 전에 더 가벼운 옵션이 작업을 수행하는지 확인합니다. [Subagents](/docs/ko/sub-agents)는 단일 세션 내에서 작동하며, [cross-session messaging](/docs/ko/cross-session-messaging)을 통해 Claude는 직접 실행하는 세션 간에 결과를 전달할 수 있습니다.

16 16 

17<Note>

18 이 페이지는 v2.1.178 기준의 에이전트 팀을 설명합니다. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`가 설정되면, 팀원을 생성할 때 더 이상 설정 단계가 필요하지 않으며, 세션이 종료될 때 정리가 자동으로 수행됩니다. v2.1.178 이전에는 먼저 Claude에게 팀을 생성하고 이름을 지정하도록 요청했으며, Claude는 `TeamCreate` 및 `TeamDelete` 도구를 사용하여 설정하고 제거했습니다. 두 도구는 더 이상 존재하지 않습니다. Agent 도구의 `team_name` 입력은 허용되지만 무시되며, `TaskCreated`, `TaskCompleted`, 및 `TeammateIdle` [hook payloads](/docs/ko/hooks#taskcreated)의 `team_name` 필드는 세션에서 파생된 이름을 전달하며 더 이상 사용되지 않습니다.

19</Note>

20 

21<h2 id="when-to-use-agent-teams">17<h2 id="when-to-use-agent-teams">

22 에이전트 팀을 사용할 때18 에이전트 팀을 사용할 때

23</h2>19</h2>

Details

291 291 

292이러한 환경 변수를 특정 Amazon Bedrock 모델 ID로 설정합니다.292이러한 환경 변수를 특정 Amazon Bedrock 모델 ID로 설정합니다.

293 293 

294`ANTHROPIC_DEFAULT_OPUS_MODEL` 없이 Amazon Bedrock의 `opus` 별칭은 Opus 5로 해결되고, `ANTHROPIC_DEFAULT_SONNET_MODEL` 없이 `sonnet` 별칭은 Sonnet 4.5로 해결됩니다. 이 예제는 각 별칭을 특정 버전으로 고정합니다.294`ANTHROPIC_DEFAULT_OPUS_MODEL` 없이 Amazon Bedrock의 `opus` 별칭은 Opus 5.5로 해결되고, `ANTHROPIC_DEFAULT_SONNET_MODEL` 없이 `sonnet` 별칭은 Sonnet 4.5로 해결됩니다. 이 예제는 각 별칭을 특정 버전으로 고정합니다.

295 295 

296```bash theme={null}296```bash theme={null}

297export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'297export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'


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`, 선호하는 접두사가 있는 기본 제공 기본값 |309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5-5`, 선호하는 접두사가 있는 기본 제공 기본값 |

310 310 

311현재 및 레거시 모델 ID는 [모델 개요](https://platform.claude.com/docs/en/about-claude/models/overview)를 참조하십시오. 고정 환경 변수의 전체 목록은 [모델 구성](/docs/ko/model-config#pin-models-for-third-party-deployments)을 참조하십시오.311현재 및 레거시 모델 ID는 [모델 개요](https://platform.claude.com/docs/en/about-claude/models/overview)를 참조하십시오. 고정 환경 변수의 전체 목록은 [모델 구성](/docs/ko/model-config#pin-models-for-third-party-deployments)을 참조하십시오.

312 312 


314 314 

315| 모델 유형 | 기본 모델 |315| 모델 유형 | 기본 모델 |

316| :------- | :----------------------------------------------------------------------- |316| :------- | :----------------------------------------------------------------------- |

317| 기본 모델 | Opus 5, 예: `us-*` 영역의 `us.anthropic.claude-opus-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 

320세션 제목 생성과 같은 백그라운드 작업은 소형/빠른 모델(일반적으로 Haiku 클래스 모델)을 사용합니다. Amazon Bedrock에서 Claude Code는 모든 계정 또는 영역에서 Haiku를 사용하지 못할 수 있으므로 백그라운드 작업에 기본 Sonnet 모델을 사용합니다. 두 가지 선택이 어떤 모델이 이를 수행하는지 변경합니다.320세션 제목 생성과 같은 백그라운드 작업은 소형/빠른 모델(일반적으로 Haiku 클래스 모델)을 사용합니다. Amazon Bedrock에서 Claude Code는 모든 계정 또는 영역에서 Haiku를 사용하지 못할 수 있으므로 백그라운드 작업에 기본 Sonnet 모델을 사용합니다. 두 가지 선택이 어떤 모델이 이를 수행하는지 변경합니다.


326 Opus 모델은 Sonnet 모델보다 토큰당 가격이 높으므로 기본 모델을 고정하지 않는 배포는 v2.1.207 이상으로 업데이트되면 Opus 요금으로 청구됩니다. Sonnet 4.5를 기본 모델로 유지하려면 `ANTHROPIC_MODEL`을 전체 모델 ID로 설정합니다. `ANTHROPIC_DEFAULT_SONNET_MODEL`로 기본값을 조종하고 `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하지 않는 배포는 조종된 Sonnet 모델을 기본값으로 유지합니다.326 Opus 모델은 Sonnet 모델보다 토큰당 가격이 높으므로 기본 모델을 고정하지 않는 배포는 v2.1.207 이상으로 업데이트되면 Opus 요금으로 청구됩니다. Sonnet 4.5를 기본 모델로 유지하려면 `ANTHROPIC_MODEL`을 전체 모델 ID로 설정합니다. `ANTHROPIC_DEFAULT_SONNET_MODEL`로 기본값을 조종하고 `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하지 않는 배포는 조종된 Sonnet 모델을 기본값으로 유지합니다.

327</Warning>327</Warning>

328 328 

329v2.1.207부터 v2.1.218에서 Amazon Bedrock의 기본 모델은 Opus 4.8로 기본값이 지정되었고 `opus` 별칭은 Opus 4.8로 해결되었습니다. v2.1.207 이전에는 기본 모델이 Sonnet 4.5로 기본값이 지정되었고, `opus` 별칭은 Opus 4.6으로 해결되었으며, 백그라운드 작업은 항상 기본 모델을 사용했습니다.329v2.1.280 이전에는 Amazon Bedrock의 기본 모델이 Opus 5로 기본값이 지정되었고 `opus` 별칭은 v2.1.219부터 Opus 5로 해결되었습니다. v2.1.207부터 v2.1.218에서 Amazon Bedrock의 기본 모델은 Opus 4.8로 기본값이 지정되었고 `opus` 별칭은 Opus 4.8로 해결되었습니다. v2.1.207 이전에는 기본 모델이 Sonnet 4.5로 기본값이 지정되었고, `opus` 별칭은 Opus 4.6으로 해결되었으며, 백그라운드 작업은 항상 기본 모델을 사용했습니다.

330 330 

331모델을 추가로 사용자 정의하려면 다음 방법 중 하나를 사용합니다.331모델을 추가로 사용자 정의하려면 다음 방법 중 하나를 사용합니다.

332 332 


405```bash theme={null}405```bash theme={null}

406export ANTHROPIC_BEDROCK_REGION_PREFIX=global406export ANTHROPIC_BEDROCK_REGION_PREFIX=global

407# us-* 지역에서 기본 모델은 이제407# us-* 지역에서 기본 모델은 이제

408# us.anthropic.claude-opus-5 대신408# us.anthropic.claude-opus-5-5 대신

409# global.anthropic.claude-opus-5로 확인됩니다409# global.anthropic.claude-opus-5-5로 확인됩니다

410```410```

411 411 

412선호하는 접두사는 지역에서 오든 변수에서 오든 선호도이지 보장이 아닙니다. Claude Code가 이를 적용하는 방식은 계정의 프로필 가용성을 확인할 수 있는지 여부에 따라 달라집니다:412선호하는 접두사는 지역에서 오든 변수에서 오든 선호도이지 보장이 아닙니다. Claude Code가 이를 적용하는 방식은 계정의 프로필 가용성을 확인할 수 있는지 여부에 따라 달라집니다:

artifacts.md +7 −7

Details

344 가용성344 가용성

345</h2>345</h2>

346 346 

347아티팩트는 아래의 모든 조건이 필요합니다. 하나가 충족되지 않으면 Claude는 로컬 HTML 파일을 작성하거나 게시할 수 없다고 말합니다.347Artifacts는 아래의 모든 조건을 충족해야 합니다. 하나라도 충족되지 않으면 Claude는 로컬 HTML 파일을 작성하거나 게시할 수 없다고 말합니다.

348 348 

349| 요구사항 | 사용 가능한 경우 |349| 요구사항 | 사용 가능한 경우 |

350| :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |350| :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

351| 플랜 | Pro, Max, Team 또는 Enterprise. Pro 및 Max 플랜에서는 아티팩트가 사용자에게만 비공개이며 관리자 관리가 적용되지 않습니다. Team 플랜에서는 아티팩트가 기본적으로 켜져 있습니다. 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 세션은 에이전트의 신원을 통해 로그인되므로 추가 단계가 필요하지 않습니다. API 키, [게이트웨이 토큰](/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)에서는 사용할 수 없습니다. |

354| 조직 정책 | 고객 관리 암호화 키(CMEK), HIPAA 및 [Zero Data Retention](/docs/ko/zero-data-retention)이 조직에 대해 활성화되지 않습니다. |354| 조직 정책 | 고객 관리 암호화 키(CMEK), HIPAA 및 [Zero Data Retention](/docs/ko/zero-data-retention)이 조직에 대해 활성화되지 않았습니다. |

355| 표면 | Claude Code CLI 버전 2.1.183 이상 또는 Claude 데스크톱 앱 버전 1.13576.0 이상. [Claude Tag](https://claude.com/docs/claude-tag/overview) 세션도 Claude Tag와 아티팩트가 모두 조직에 대해 활성화된 경우 아티팩트를 게시할 수 있습니다. [Agent SDK](/docs/ko/agent-sdk/overview), GitHub Action 및 MCP 서버 컨텍스트에서 기본적으로 꺼져 있으며 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)이 설정된 경우입니다. |355| 표면 | Claude Code CLI 또는 Claude 데스크톱 앱 버전 1.13576.0 이상. [Claude Tag](https://claude.com/docs/claude-tag/overview) 세션도 Claude Tag와 artifacts가 조직에 대해 활성화된 경우 artifacts를 게시할 수 있습니다. [Agent SDK](/docs/ko/agent-sdk/overview), GitHub Action 및 MCP-server 컨텍스트에서는 기본적으로 비활성화되며, [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)이 설정된 경우에도 비활성화됩니다. |

356 356 

357<h2 id="disable-artifacts">357<h2 id="disable-artifacts">

358 아티팩트 비활성화358 아티팩트 비활성화

Details

53 53 

54[Claude for Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_teams#team-&-enterprise) 및 [Claude for Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_enterprise)는 Claude Code를 사용하는 조직에 최고의 경험을 제공합니다. 팀 멤버는 중앙 집중식 청구 및 팀 관리를 통해 Claude Code와 웹의 Claude에 모두 액세스할 수 있습니다.54[Claude for Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_teams#team-&-enterprise) 및 [Claude for Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_enterprise)는 Claude Code를 사용하는 조직에 최고의 경험을 제공합니다. 팀 멤버는 중앙 집중식 청구 및 팀 관리를 통해 Claude Code와 웹의 Claude에 모두 액세스할 수 있습니다.

55 55 

56* **Claude for Teams**: 협업 기능, 관리 도구 및 청구 관리가 포함된 셀프 서비스 플랜입니다. 소규모 팀에 최적입니다.56* **Claude for Teams**: 협업 기능, 관리 도구, SSO, 청구 관리 및 조직 전체 Claude Code 구성을 위한 [서버 관리 설정](/docs/ko/server-managed-settings)이 포함된 셀프 서비스 플랜입니다. 소규모 팀에 최적입니다.

57* **Claude for Enterprise**: SSO, 도메인 캡처, 역할 기반 권한, 규정 준수 API 및 조직 전체 Claude Code 구성을 위한 관리형 정책 설정을 추가합니다. 보안 및 규정 준수 요구 사항이 있는 대규모 조직에 최적입니다.57* **Claude for Enterprise**: 도메인 캡처, 역할 기반 권한 및 규정 준수 API를 추가합니다. 보안 및 규정 준수 요구 사항이 있는 대규모 조직에 최적입니다.

58 58 

59<Steps>59<Steps>

60 <Step title="구독">60 <Step title="구독">

Details

250 250 

251클라우드 세션은 텍스트 출력을 생성하는 [기본 제공 명령](/docs/ko/commands)을 지원합니다. `/plugin` 또는 `/resume`과 같이 터미널 인터페이스에서만 실행되는 명령은 사용할 수 없습니다. 터미널에서 선택기 또는 패널을 열어야 하는 명령은 클라우드 세션에서 다르게 작동합니다:251클라우드 세션은 텍스트 출력을 생성하는 [기본 제공 명령](/docs/ko/commands)을 지원합니다. `/plugin` 또는 `/resume`과 같이 터미널 인터페이스에서만 실행되는 명령은 사용할 수 없습니다. 터미널에서 선택기 또는 패널을 열어야 하는 명령은 클라우드 세션에서 다르게 작동합니다:

252 252 

253* **`/model`, `/effort`, `/color`, 및 `/rename`**: 터미널 선택기 또는 슬라이더를 열지 않고 대신 인수로 값을 전달합니다(예: `/model sonnet`). 인수 형식은 세션의 환경에서 Claude Code v2.1.205 이상이 필요하며 각 명령의 [가용성 참고 사항](/docs/ko/commands#all-commands)을 따릅니다: `/effort`는 모델의 [launch-default effort hold](/docs/ko/model-config#adjust-effort-level)가 적용 중일 때 `Not applied`를 보고합니다.253* **`/model`, `/effort`, `/color`, 및 `/rename`**: 터미널 선택기 또는 슬라이더를 열지 않고 대신 인수로 값을 전달합니다(예: `/model sonnet`). 인수 형식은 세션의 환경에서 Claude Code v2.1.205 이상이 필요하며 각 명령의 [가용성 참고 사항](/docs/ko/commands#all-commands)을 따릅니다.

254* **`/fast`**: 빠른 모드가 [계정에서 사용 가능](/docs/ko/fast-mode#requirements)할 때 세션에 대해 [빠른 모드](/docs/ko/fast-mode#use-fast-mode-in-cloud-sessions)를 전환합니다. 세션의 환경에서 Claude Code v2.1.271 이상이 필요합니다.254* **`/fast`**: 빠른 모드가 [계정에서 사용 가능](/docs/ko/fast-mode#requirements)할 때 세션에 대해 [빠른 모드](/docs/ko/fast-mode#use-fast-mode-in-cloud-sessions)를 전환합니다. 세션의 환경에서 Claude Code v2.1.271 이상이 필요합니다.

255* **`/config`**: 웹에서는 값을 설정하는 대신 Claude Code 설정 섹션을 열며, `key=value`를 포함한 명령 뒤의 텍스트는 무시됩니다. 클라우드 세션의 설정을 변경하려면 환경에 [환경 변수](/docs/ko/cloud-environments#set-environment-variables)를 설정하거나, 하나의 저장소가 있는 세션에서 해당 저장소의 `.claude/settings.json`에 키를 커밋하세요. [클라우드 세션의 설정](/docs/ko/settings#settings-in-cloud-sessions)에서 각 세션이 읽는 내용을 나열합니다.255* **`/config`**: 웹에서는 값을 설정하는 대신 Claude Code 설정 섹션을 열며, `key=value`를 포함한 명령 뒤의 텍스트는 무시됩니다. 클라우드 세션의 설정을 변경하려면 환경에 [환경 변수](/docs/ko/cloud-environments#set-environment-variables)를 설정하거나, 하나의 저장소가 있는 세션에서 해당 저장소의 `.claude/settings.json`에 키를 커밋하세요. [클라우드 세션의 설정](/docs/ko/settings#settings-in-cloud-sessions)에서 각 세션이 읽는 내용을 나열합니다.

256 256 

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`와 함께 로드할 수도 있습니다. |

1458| 설치된 플러그인 | `~/.claude/plugins` | 복제된 마켓플레이스, 설치된 플러그인 버전, 플러그인별 데이터로, `claude plugin` 명령으로 관리됩니다. 마켓플레이스 [`command` 소스](/docs/ko/plugin-marketplaces#command-sources)에서 링크 모드로 설치된 플러그인의 경우, Claude Code는 복사본 대신 여기에 링크를 저장하고, 플러그인의 파일은 명령이 출력하는 디렉터리에 남아 있습니다. `command` 소스는 Claude Code v2.1.229 이상이 필요합니다. 로컬 디렉터리 마켓플레이스에서 상대 경로로 나열된 플러그인도 캐시 복사본이 아닌 소스 디렉터리에서 [제자리에 로드](/docs/ko/plugins-reference#plugin-caching-and-file-resolution)됩니다. 고아 버전이 정리되는 방식은 [플러그인 캐싱](/docs/ko/plugins-reference#plugin-caching-and-file-resolution)을 참조하세요. |1458| 설치된 플러그인 | `~/.claude/plugins` | 복제된 마켓플레이스, 설치된 플러그인 버전, `installed_plugins.json` 설치 기록, 플러그인별 데이터로, `claude plugin` 명령으로 관리됩니다. [claude.ai 계정에서 동기화된](/docs/ko/plugins-reference#synced-plugins) 플러그인은 `~/.claude/plugins/synced/`로 다운로드됩니다. 마켓플레이스 [`command` 소스](/docs/ko/plugin-marketplaces#command-sources)에서 링크 모드로 설치된 플러그인의 경우, Claude Code는 복사본 대신 여기에 링크를 저장하고, 플러그인의 파일은 명령이 출력하는 디렉터리에 남아 있습니다. `command` 소스는 Claude Code v2.1.229 이상이 필요합니다. 로컬 디렉터리 마켓플레이스에서 상대 경로로 나열된 플러그인도 캐시 복사본이 아닌 소스 디렉터리에서 [제자리에 로드](/docs/ko/plugins-reference#plugin-caching-and-file-resolution)됩니다. [플러그인 캐싱](/docs/ko/plugins-reference#plugin-caching-and-file-resolution)에서 고아 버전이 정리되는 방식을 참조하세요. |

1459 1459 

1460`~/.claude`는 또한 작업할 때 Claude Code가 작성하는 데이터를 보유합니다. 트랜스크립트, 프롬프트 기록, 파일 스냅샷, 캐시, 로그입니다. 아래의 [애플리케이션 데이터](#application-data)를 참조하세요.1460`~/.claude`는 또한 작업할 때 Claude Code가 작성하는 데이터를 보유합니다. 트랜스크립트, 프롬프트 기록, 파일 스냅샷, 캐시, 로그입니다. 아래의 [애플리케이션 데이터](#application-data)를 참조하세요.

1461 1461 


1515| [`keybindings.json`](#ce-keybindings) | 전역만 | | 사용자 정의 키보드 단축키 | [키바인딩](/docs/ko/keybindings) |1515| [`keybindings.json`](#ce-keybindings) | 전역만 | | 사용자 정의 키보드 단축키 | [키바인딩](/docs/ko/keybindings) |

1516| [`themes/*.json`](#ce-themes) | 전역만 | | 사용자 정의 색상 테마 | [사용자 정의 테마](/docs/ko/terminal-config#create-a-custom-theme) |1516| [`themes/*.json`](#ce-themes) | 전역만 | | 사용자 정의 색상 테마 | [사용자 정의 테마](/docs/ko/terminal-config#create-a-custom-theme) |

1517 1517 

1518<h2 id="frontmatter-fields-by-file">

1519 파일별 프론트매터 필드

1520</h2>

1521 

1522Skills, command 파일, subagents, output styles, 그리고 rules는 파일 상단의 YAML [프론트매터](/docs/ko/glossary#frontmatter)에서 구성을 읽으며, 각각은 자신의 필드 집합을 허용합니다. 이 표는 각 파일의 필드 이름을 나열하고 이들을 설명하는 참조로 연결합니다.

1523 

1524| 파일 | 프론트매터 필드 | 참조 |

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) |

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) |

1529| `output-styles/*.md` | `name`, `description`, `keep-coding-instructions`, `force-for-plugin` | [Output style 프론트매터](/docs/ko/output-styles#frontmatter) |

1530| `rules/*.md` | `paths` | [Rule 프론트매터](/docs/ko/memory#rules-frontmatter-reference) |

1531 

1532[플러그인](/docs/ko/plugins-reference#plugin-agent-frontmatter)에서 제공되는 Agents는 subagent 필드의 부분 집합을 준수합니다.

1533 

1518<h2 id="troubleshoot-configuration">1534<h2 id="troubleshoot-configuration">

1519 설정 문제 해결1535 설정 문제 해결

1520</h2>1536</h2>


1525 애플리케이션 데이터1541 애플리케이션 데이터

1526</h2>1542</h2>

1527 1543 

1528작성한 설정 외에도 `~/.claude`는 Claude Code가 세션 중에 작성하는 데이터를 보유합니다. 이 파일들은 일반 텍스트입니다. 도구를 통과하는 모든 것은 디스크의 트랜스크립트에 기록됩니다: 파일 내용, 명령 출력, 붙여넣은 텍스트.1544작성한 설정 외에도 `~/.claude`에는 Claude Code가 세션 중에 작성하는 데이터가 저장됩니다. 이 파일들은 평문입니다. 도구를 통과하는 모든 것은 디스크의 트랜스크립트에 기록됩니다: 파일 내용, 명령 출력, 붙여넣은 텍스트.

1529 1545 

1530<h3 id="cleaned-up-automatically">1546<h3 id="cleaned-up-automatically">

1531 자동으로 정리됨1547 자동으로 정리됨

1532</h3>1548</h3>

1533 1549 

1534Claude 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)에도 적용됩니다.

1535 1551 

1536| `~/.claude/` 아래 경로 | 내용 |1552| `~/.claude/` 아래 경로 | 내용 |

1537| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1553| ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1538| `projects/<project>/<session>.jsonl` | 전체 대화 트랜스크립트: 모든 메시지, 도구 호출 및 도구 결과 |1554| `projects/<project>/<session>.jsonl` | 전체 대화 트랜스크립트: 모든 메시지, 도구 호출 및 도구 결과 |

1539| `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가 덮어쓰거나 삭제하는 대신 따로 보관한 세션의 이전 트랜스크립트입니다. 세션 선택기에 나타나지 않습니다 |

1540| `projects/<project>/<session>/subagents/` | [서브에이전트](/docs/ko/sub-agents) 대화 트랜스크립트, 부모 세션 트랜스크립트가 오래되면 함께 제거됨 |1556| `projects/<project>/<session>/subagents/` | [Subagent](/docs/ko/sub-agents) 대화 트랜스크립트, 상위 세션 트랜스크립트가 오래되면 함께 제거됨 |

1541| `projects/<project>/<session>/tool-results/` | 별도 파일로 유출된 대형 도구 출력 |1557| `projects/<project>/<session>/tool-results/` | 별도 파일로 유출된 대형 도구 출력 |

1542| `file-history/<session>/` | Claude가 변경한 파일의 편집 전 스냅샷, [체크포인트 복원](/docs/ko/checkpointing)에 사용됨. 가장 최근 100개 체크포인트의 스냅샷을 보유합니다. 보존된 체크포인트가 참조하지 않는 스냅샷 파일은 각 파일의 첫 번째 스냅샷을 제외하고 삭제됩니다 |1558| `file-history/<session>/` | Claude Code가 변경한 파일의 편집 전 스냅샷, [checkpoint 복원](/docs/ko/checkpointing)에 사용됨. 가장 최근의 100개 checkpoint에 대한 스냅샷을 보유합니다. 보존된 checkpoint가 참조하지 않는 스냅샷 파일은 각 파일의 첫 번째 스냅샷을 제외하고 삭제됩니다 |

1543| `plans/` | [계획 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode) 중에 작성된 계획 파일 |1559| `plans/` | [plan mode](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode) 중에 작성된 Plan 파일 |

1544| `debug/` | 세션별 디버그 로그, 디버그 로깅이 켜져 있을 때 작성됨. 예: [`--debug`](/docs/ko/cli-reference#cli-flags)로 시작하거나 `/debug` 실행 |1560| `debug/` | 세션별 디버그 로그, 디버그 로깅이 켜져 있을 때 작성됨. 예를 들어 [`--debug`](/docs/ko/cli-reference#cli-flags)로 시작하거나 `/debug`를 실행할 때 |

1545| `paste-cache/` | 대형 붙여넣기의 내용 |1561| `paste-cache/` | 대형 붙여넣기의 내용 |

1546| `image-cache/<session>/` | 첨부된 이미지. 각 스윕에서 Claude Code는 나이에 관계없이 다른 모든 세션의 디렉토리를 제거합니다. |1562| `image-cache/<session>/` | Claude Code v2.1.274 이전 버전에서 저장한 첨부 이미지입니다. 이후 버전은 붙여넣은 이미지와 첨부 이미지를 `~/.claude` 외부에 저장하며, [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)이 제어하는 임시 디렉토리 아래 각 세션에 대한 `images/` 디렉토리에 저장합니다. 스윕은 나이에 관계없이 여기에 있는 다른 세션의 남은 디렉토리를 제거합니다. |

1547| `uploads/<session>/` | 웹 또는 모바일 앱에서 첨부한 파일 및 모바일 앱에서 첨부한 사진. [원격 제어](/docs/ko/remote-control) 세션에 메시지를 보낼 때. [클라우드 세션](/docs/ko/claude-code-on-the-web)에 대한 첨부는 대신 해당 세션의 자체 클라우드 환경에 저장되며, 컴퓨터에는 저장되지 않습니다. |1563| `uploads/<session>/` | 웹 또는 모바일 앱에서 첨부한 파일 및 모바일 앱에서 첨부한 사진. [Remote Control](/docs/ko/remote-control) 세션에 메시지를 보낼 때입니다. [cloud session](/docs/ko/claude-code-on-the-web)에 대한 첨부는 대신 해당 세션의 자체 클라우드 환경에 저장되며, 사용자의 머신에는 저장되지 않습니다. |

1548| `session-env/` | 세션별 환경 메타데이터 |1564| `session-env/` | 세션별 환경 메타데이터 |

1549| `tasks/` | 작업 도구로 작성된 작업 목록, 목록당 하나의 디렉토리 |1565| `tasks/` | 작업 도구로 작성된 작업 목록, 목록당 하나의 디렉토리 |

1550| `shell-snapshots/` | 시작 시 캡처되고 [Bash 도구](/docs/ko/tools-reference#bash-tool-behavior)에 의해 각 명령에 적용되는 별칭, 함수 및 셸 옵션. 정상 종료 시 제거됨. 스윕은 충돌 후 남은 것을 정리합니다. |1566| `shell-snapshots/` | 시작 시 캡처된 별칭, 함수 및 셸 옵션. [Bash tool](/docs/ko/tools-reference#bash-tool-behavior)에 의해 각 명령에 적용됩니다. 정상 종료 시 제거됩니다. 스윕은 충돌 후 남은 것을 정리합니다. |

1551| `backups/` | `~/.claude.json`의 이전 버전, Claude Code가 파일을 다시 쓸 때 복사됨. Claude Code는 가장 최신 5개와 구문 분석할 수 없는 모든 버전의 복사본을 유지합니다. |1567| `backups/` | `~/.claude.json`의 이전 버전, Claude Code가 파일을 다시 쓸 때 복사됨. Claude Code는 가장 최신 5개와 구문 분석할 수 없는 모든 버전의 복사본을 유지합니다. |

1552| `feedback-bundles/` | `/feedback`에 의해 작성된 수정된 트랜스크립트 아카이브. 타사 제공자에게 또는 Anthropic 자격증명이 구성되지 않았을 때, Anthropic 계정 팀에 보내기 위해 |1568| `feedback-bundles/` | `/feedback`에 의해 작성된 수정된 트랜스크립트 아카이브. 타사 제공자에게 또는 Anthropic 자격증명이 구성되지 않았을 때 Anthropic 계정 팀에 보내기 위해 |

1553| `feedback/drafts/` | 대기 중인 [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior). `/feedback`에서 검토 대기 중. `cleanupPeriodDays` 또는 30일 후 스윕됨. 큐가 10개 초안 제한에 도달하면 Claude Code는 가장 오래된 초안을 삭제하여 공간을 확보합니다. |1569| `feedback/drafts/` | 대기 중인 [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior). `/feedback`에서 검토 대기 중입니다. `cleanupPeriodDays` 또는 30일 후 스윕됨. 큐가 10개 초안 제한에 도달하면 Claude Code는 가장 오래된 초안을 삭제하여 공간을 확보합니다. |

1554| `usage-data/` | `report.html` 및 [`/insights`](/docs/ko/costs#analyze-your-usage-patterns)에 의해 작성된 타임스탬프 보고서 복사본, 그리고 이를 구축하는 데 사용되는 캐시된 세션별 분석 데이터 |1570| `usage-data/` | `report.html` 및 [`/insights`](/docs/ko/costs#analyze-your-usage-patterns)에 의해 작성된 타임스탬프 보고서 복사본, 그리고 이를 구축하는 데 사용되는 캐시된 세션별 분석 데이터 |

1555| `skills/.trash/`, `plugins/.trash/` | claude.ai에서 동기화된 [스킬](/docs/ko/skills#how-synced-skills-behave) 및 [플러그인](/docs/ko/plugins-reference#synced-plugins). Claude Code가 제거한 것. 삭제하는 대신 여기로 이동되어 파일을 복구할 수 있습니다 |1571| `skills/.trash/`, `plugins/.trash/` | [Skills](/docs/ko/skills#how-synced-skills-behave) 및 [plugins](/docs/ko/plugins-reference#synced-plugins). claude.ai 동기화가 제거한 것. 예를 들어 claude.ai에서 하나를 끄거나 동기화를 중지한 후. 파일은 스윕이 삭제할 때까지 복구할 수 있도록 여기에 남아 있습니다 |

1556| `todos/`, `statsig/`, `logs/` | 이전 버전의 레거시 디렉토리. 더 이상 작성되지 않음. 스윕은 내용을 제거한 다음 빈 디렉토리를 제거합니다. |1572| `todos/`, `statsig/`, `logs/` | 이전 버전의 레거시 디렉토리입니다. 더 이상 작성되지 않습니다. 스윕은 내용을 제거한 다음 빈 디렉토리를 제거합니다. |

1557 1573 

1558`sessions/`의 세션 파일, 자동 메모리, Claude Desktop 및 Cowork 트랜스크립트는 각각 자체 보존 규칙을 따릅니다:1574`sessions/`의 세션 파일, 자동 메모리, Claude Desktop 및 Cowork 트랜스크립트는 각각 자체 보존 규칙을 따릅니다:

1559 1575 

1560* **`sessions/`**: 실행 중인 각 세션에 대해 하나의 작은 파일을 보유하며, 동시 세션 및 충돌을 감지하는 데 사용됩니다. 나이 기반 스윕의 일부가 아닙니다: Claude Code는 세션이 종료될 때 각 파일을 제거하고 다음 시작 시 충돌 잔여물을 정리합니다.1576* **`sessions/`**: 실행 중인 각 세션에 대해 하나의 작은 파일을 보유합니다. 동시 세션 및 충돌을 감지하는 데 사용됩니다. 나이 기반 스윕의 일부가 아닙니다: Claude Code는 세션이 종료될 때 각 파일을 제거하고 다음 시작 시 충돌 남은 것을 정리합니다.

1561* **자동 메모리**: 스윕은 프로젝트의 [자동 메모리](/docs/ko/memory#auto-memory) 디렉토리 `projects/<project>/memory/`의 메모리 파일을 삭제하지 않습니다. Claude Code는 전체 보존 기간 동안 비어 있었던 경우에만 해당 디렉토리를 제거합니다. v2.1.228 이전에는 스윕이 메모리 디렉토리 내의 폴더를 세션 데이터로 취급하고 그 아래의 오래된 파일을 삭제할 수 있었습니다.1577* **자동 메모리**: 스윕은 프로젝트의 [자동 메모리](/docs/ko/memory#auto-memory) 디렉토리 `projects/<project>/memory/`의 메모리 파일을 삭제하지 않습니다. Claude Code는 전체 보존 기간 동안 비어 있었던 경우에만 해당 디렉토리를 제거합니다. v2.1.228 이전에는 스윕이 메모리 디렉토리 내의 폴더를 세션 데이터로 취급하고 그 아래의 오래된 파일을 삭제할 수 있었습니다.

1562* **Claude Desktop 및 Cowork 트랜스크립트**: Claude Code는 Claude Desktop 또는 Cowork에서 시작하거나 가장 최근에 계속한 세션의 트랜스크립트를 모든 나이에서 유지합니다. 이 트랜스크립트에 나이 제한을 주려면 [`desktopSessionCleanupPeriodDays`](/docs/ko/settings-reference#desktopsessioncleanupperioddays)를 설정하세요. [관리 설정](/docs/ko/managed-settings)이 `cleanupPeriodDays`를 설정하면 Claude Code는 대신 해당 기간 후에 이 트랜스크립트를 삭제합니다. Claude Code v2.1.248 이상 필요; 이전 버전은 `cleanupPeriodDays` 후에 삭제합니다.1578* **Claude Desktop 및 Cowork 트랜스크립트**: Claude Code는 Claude Desktop 또는 Cowork에서 시작하거나 가장 최근에 계속한 세션의 트랜스크립트를 모든 나이에서 유지합니다. 이 트랜스크립트에 나이 제한을 주려면 [`desktopSessionCleanupPeriodDays`](/docs/ko/settings-reference#desktopsessioncleanupperioddays)를 설정하세요. [관리 설정](/docs/ko/managed-settings)이 `cleanupPeriodDays`를 설정하면 Claude Code는 대신 해당 기간 후에 이 트랜스크립트를 삭제합니다. Claude Code v2.1.248 이상 필요; 이전 버전은 `cleanupPeriodDays` 후에 삭제합니다.

1563 1579 

1564Claude Code는 다음 경우에 나이 기반 스윕을 건너뜁니다:1580Claude Code는 다음 경우에 나이 기반 스윕을 건너뜁니다:

1565 1581 

1566* **베어 모드**: [`--bare`](/docs/ko/headless#start-faster-with-bare-mode)로 `claude -p`를 실행할 때, Claude Code는 해당 세션에서 스윕을 실행하지 않습니다.1582* **Bare mode**: [`--bare`](/docs/ko/headless#start-faster-with-bare-mode)로 `claude -p`를 실행할 때, Claude Code는 해당 세션에서 스윕을 실행하지 않습니다.

1567* **일시 중지된 스윕**: Claude Code가 보존 기간을 안전하게 결정할 수 없으면 보존 정리 스윕을 일시 중지합니다. [`retention_sweep` 이벤트](/docs/ko/monitoring-usage#retention-sweep-event)는 이를 일시 중지하는 각 구성을 나열합니다. 원인이 읽거나 구문 분석할 수 없는 설정 파일이거나 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 명시적으로 설정된 설정 오류인 경우, Claude Code는 설정 오류를 수정할 때까지 `/status`에 경고를 표시합니다. [관리 설정](/docs/ko/server-managed-settings)이 `cleanupPeriodDays`를 제공하면 Claude Code는 어느 경우든 관리 값에서 스윕을 실행합니다.1583* **일시 중지된 스윕**: Claude Code가 보존 기간을 안전하게 결정할 수 없으면 보존 정리 스윕을 일시 중지합니다. [`retention_sweep` 이벤트](/docs/ko/monitoring-usage#retention-sweep-event)는 이를 일시 중지하는 각 구성을 나열합니다. 원인이 읽거나 구문 분석할 수 없는 설정 파일이거나 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 명시적으로 설정된 설정 오류인 경우, Claude Code는 설정 오류를 수정할 때까지 `/status`에 경고를 표시합니다. [관리 설정](/docs/ko/server-managed-settings)이 `cleanupPeriodDays`를 제공하면 Claude Code는 어느 경우든 관리 값에서 스윕을 실행합니다.

1568 1584 

1569<h3 id="kept-until-you-delete-them">1585<h3 id="kept-until-you-delete-them">

1570 삭제할 때까지 유지됨1586 삭제할 때까지 유지됨

1571</h3>1587</h3>

1572 1588 

1573보존 정리 스윕은 아래 경로를 제거하지 않습니다. Claude Code는 삭제할 때까지 유지하며, 로그아웃할 때 삭제하는 두 개의 캐시는 제외합니다.1589보존 정리 스윕은 아래 경로를 제거하지 않습니다. Claude Code는 삭제할 때까지 유지합니다. 단, 로그아웃할 때 삭제하는 두 개의 캐시는 제외합니다.

1574 1590 

1575| `~/.claude/` 아래 경로 | 내용 |1591| `~/.claude/` 아래 경로 | 내용 |

1576| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1592| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1577| `history.jsonl` | 입력한 모든 프롬프트, 타임스탬프 및 프로젝트 경로 포함. 위쪽 화살표 회상, `Ctrl+R` 히스토리 검색 및 `!` 셸 명령 완성에 사용됨. |1593| `history.jsonl` | 입력한 모든 프롬프트, 타임스탬프 및 프로젝트 경로 포함. 위쪽 화살표 회상, `Ctrl+R` 히스토리 검색 및 `!` 셸 명령 완성에 사용됩니다. |

1578| `stats-cache.json` | `/usage`에 표시되는 집계된 토큰 및 비용 수 |1594| `stats-cache.json` | `/usage`에 표시된 집계된 토큰 및 비용 수 |

1579| `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는 로그아웃할 때 삭제합니다. |

1580| `cache/changelog.md` | Claude Code 변경 로그의 캐시된 복사본, `/release-notes`에 표시됨. 백그라운드에서 새로 고쳐집니다. |1596| `cache/changelog.md` | Claude Code 변경 로그의 캐시된 복사본, `/release-notes`에 표시됨. 백그라운드에서 새로 고쳐집니다. |

1581| `policy-limits.json` | 조직의 캐시된 기능 정책 설정. 일부 계정 유형에만 존재합니다. 자동으로 새로 고쳐집니다. `policy-limits.json.stamp.json` 사이드카는 캐시가 속한 계정 또는 API 키를 기록합니다. Claude Code는 로그아웃할 때 두 파일을 모두 삭제합니다. |1597| `policy-limits.json` | 조직의 캐시된 기능 정책 설정. 일부 계정 유형에만 존재합니다. 자동으로 새로 고쳐집니다. `policy-limits.json.stamp.json` 사이드카는 캐시가 속한 계정 또는 API 키를 기록합니다. Claude Code는 로그아웃할 때 두 파일을 모두 삭제합니다. |

1582 1598 


1584 1600 

1585사용하는 기능에 따라 다른 파일이 나타납니다. 캐시 및 잠금 파일은 안전하게 삭제할 수 있습니다. 이 상태 파일을 유지하세요:1601사용하는 기능에 따라 다른 파일이 나타납니다. 캐시 및 잠금 파일은 안전하게 삭제할 수 있습니다. 이 상태 파일을 유지하세요:

1586 1602 

1587* `.credentials.json`: 귀하의 [로그인 자격증명](/docs/ko/authentication#credential-management)1603* `.credentials.json`: 사용자의 [로그인 자격증명](/docs/ko/authentication#credential-management)

1588* `agent-memory/`: [서브에이전트 메모리](/docs/ko/sub-agents#enable-persistent-memory)1604* `agent-memory/`: [subagent 메모리](/docs/ko/sub-agents#enable-persistent-memory)

1589* `jobs/` 및 `daemon/`: [백그라운드 세션](/docs/ko/agent-view#where-state-is-stored) 상태1605* `jobs/` 및 `daemon/`: [background session](/docs/ko/agent-view#where-state-is-stored) 상태

1590 1606 

1591<h3 id="plaintext-storage">1607<h3 id="plaintext-storage">

1592 일반 텍스트 저장소1608 평문 저장소

1593</h3>1609</h3>

1594 1610 

1595트랜스크립트 및 히스토리는 저장 시 암호화되지 않습니다. OS 파일 권한만이 유일한 보호입니다. 도구가 `.env` 파일을 읽거나 명령이 자격증명을 인쇄하면 해당 값은 `projects/<project>/<session>.jsonl`에 기록됩니다. 노출을 줄이려면:1611트랜스크립트 및 히스토리는 저장 시 암호화되지 않습니다. OS 파일 권한만이 유일한 보호입니다. 도구가 `.env` 파일을 읽거나 명령이 자격증명을 인쇄하면 해당 값이 `projects/<project>/<session>.jsonl`에 기록됩니다. 노출을 줄이려면:

1596 1612 

1597* `cleanupPeriodDays`를 낮춰 Claude Code가 트랜스크립트를 유지하는 기간을 단축하세요1613* `cleanupPeriodDays`를 낮춰 Claude Code가 트랜스크립트를 유지하는 기간을 단축하세요

1598* [`desktopSessionCleanupPeriodDays`](/docs/ko/settings-reference#desktopsessioncleanupperioddays)를 설정하여 Claude Desktop 및 Cowork 트랜스크립트에도 나이 제한을 주세요1614* [`desktopSessionCleanupPeriodDays`](/docs/ko/settings-reference#desktopsessioncleanupperioddays)를 설정하여 Claude Desktop 및 Cowork 트랜스크립트에도 나이 제한을 주세요


1610* `history.jsonl`의 일치하는 프롬프트 라인1626* `history.jsonl`의 일치하는 프롬프트 라인

1611* `~/.claude.json`의 프로젝트 항목1627* `~/.claude.json`의 프로젝트 항목

1612 1628 

1629프로젝트의 세션에서 붙여넣거나 첨부한 이미지는 `~/.claude` 대신 Claude Code의 임시 디렉토리 아래에 저장되므로 purge는 이를 제거하지 않습니다. [보존 스윕](#cleaned-up-automatically)은 `cleanupPeriodDays`보다 오래되면 삭제합니다.

1630 

1613명령은 전체 삭제 계획을 인쇄하고 아무것도 제거하기 전에 확인을 요청합니다.1631명령은 전체 삭제 계획을 인쇄하고 아무것도 제거하기 전에 확인을 요청합니다.

1614 1632 

1615아래 예제는 `~/work/my-repo`를 자리 표시자로 사용합니다. 프로젝트 경로로 바꾸세요. 경로와 일치하는 상태가 없으면 명령은 오류를 인쇄하고 상태 1로 종료합니다.1633아래 예제는 `~/work/my-repo`를 자리 표시자로 사용합니다. 프로젝트의 경로로 바꾸세요. 경로와 일치하는 상태가 없으면 명령은 오류를 인쇄하고 상태 1로 종료합니다.

1616 1634 

1617아무것도 삭제하지 않고 계획 미리보기:1635아무것도 삭제하지 않고 계획 미리 보기:

1618 1636 

1619```bash theme={null}1637```bash theme={null}

1620claude project purge ~/work/my-repo --dry-run1638claude project purge ~/work/my-repo --dry-run


1643claude project purge ~/work/my-repo1661claude project purge ~/work/my-repo

1644```1662```

1645 1663 

1646명령은 동일한 계획을 인쇄한 다음 `Delete 3 item(s) for /home/user/work/my-repo? This cannot be undone. [y/N]`를 묻고 `y`로 답할 때만 삭제합니다.1664명령은 동일한 계획을 인쇄한 다음 `Delete 3 item(s) for /home/user/work/my-repo? This cannot be undone. [y/N]`를 묻고 `y`로 답변한 경우에만 삭제합니다.

1647 1665 

1648경로를 생략하여 대화형 목록에서 프로젝트를 선택합니다.1666대화형 목록에서 프로젝트를 선택하려면 경로를 생략하세요.

1649 1667 

1650스크립트에서 사용하기 위해 확인 프롬프트를 건너뜁니다:1668스크립트에서 사용하기 위해 확인 프롬프트를 건너뛰세요:

1651 1669 

1652```bash theme={null}1670```bash theme={null}

1653claude project purge ~/work/my-repo --yes1671claude project purge ~/work/my-repo --yes

1654```1672```

1655 1673 

1656경로 대신 `--all`을 전달하여 한 번에 모든 프로젝트의 상태를 정리합니다. 이는 `history.jsonl`을 필터링하는 대신 완전히 삭제합니다. `-i`를 전달하여 삭제 계획을 한 번에 하나씩 단계별로 진행합니다.1674경로 대신 `--all`을 전달하여 한 번에 모든 프로젝트의 상태를 purge합니다. 이는 `history.jsonl`을 필터링하는 대신 완전히 삭제합니다. `-i`를 전달하여 삭제 계획을 한 번에 하나씩 단계별로 진행합니다.

1675 

1676명령은 `shell-snapshots/` 및 `backups/`를 그대로 두는데, 이는 프로젝트 범위가 아니기 때문이며 계획 출력에서 이에 대해 경고합니다.

1657 1677 

1658명령은 [유지할 상태 파일](#state-files-to-keep)을 제외하고 `shell-snapshots/` 및 `backups/`를 그대로 둡니다. 새 세션은 영향을 받지 않습니다. 아래 표는 과거 세션에서 손실되는 것을 보여줍니다.1678위의 [애플리케이션 데이터 경로](#state-files-to-keep)를 제외한 모든 경로를 직접 삭제할 수도 있습니다. 새 세션은 영향을 받지 않습니다. 아래 표는 과거 세션에서 손실되는 것을 보여줍니다.

1659 1679 

1660| 삭제 | 손실되는 것 |1680| 삭제 | 손실되는 것 |

1661| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |1681| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |

1662| `~/.claude/projects/` | 과거 세션의 재개, 계속 및 되감기, 그리고 모든 프로젝트의 자동 메모리 |1682| `~/.claude/projects/` | 과거 세션의 재개, 계속 및 되감기, 그리고 모든 프로젝트의 자동 메모리 |

1663| `~/.claude/history.jsonl` | 위쪽 화살표 프롬프트 회상, `Ctrl+R` 히스토리 검색 및 `!` 셸 명령 완성 |1683| `~/.claude/history.jsonl` | 위쪽 화살표 프롬프트 회상, `Ctrl+R` 히스토리 검색 및 `!` 셸 명령 완성 |

1664| `~/.claude/paste-cache/` | 회상된 프롬프트의 붙여넣은 텍스트. [대형 콘텐츠 붙여넣기](/docs/ko/terminal-config#paste-large-content) 참조 |1684| `~/.claude/paste-cache/` | 회상된 프롬프트의 붙여넣은 텍스트. [대형 콘텐츠 붙여넣기](/docs/ko/terminal-config#paste-large-content) 참조 |

1665| `~/.claude/uploads/` | 과거 [원격 제어](/docs/ko/remote-control) 세션이 경로로 참조하는 첨부 |1685| `~/.claude/uploads/` | 과거 [Remote Control](/docs/ko/remote-control) 세션이 경로로 참조하는 첨부 |

1666| `~/.claude/file-history/` | 과거 세션의 체크포인트 복원 |1686| `~/.claude/file-history/` | 과거 세션의 checkpoint 복원 |

1667| `~/.claude/stats-cache.json` | `/usage`에 표시되는 과거 합계 |1687| `~/.claude/stats-cache.json` | `/usage`에 표시된 과거 합계 |

1668| `~/.claude/usage-data/` | 과거 [`/insights`](/docs/ko/costs#analyze-your-usage-patterns) 보고서 및 이를 구축하는 데 사용되는 캐시된 분석 데이터 |1688| `~/.claude/usage-data/` | 과거 [`/insights`](/docs/ko/costs#analyze-your-usage-patterns) 보고서 및 이를 구축하는 데 사용된 캐시된 분석 데이터 |

1669| `~/.claude/feedback-bundles/` | Anthropic 계정 팀에 아직 보내지 않은 피드백 및 버그 보고서 아카이브 |1689| `~/.claude/feedback-bundles/` | Anthropic 계정 팀에 아직 보내지 않은 피드백 및 버그 보고서 아카이브 |

1670| `~/.claude/feedback/drafts/` | 보내지 않은 [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior) |1690| `~/.claude/feedback/drafts/` | 보내지 않은 [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior) |

1671| `~/.claude/remote-settings.json` | 없음. 다음 시작 시 다시 가져옴. |1691| `~/.claude/remote-settings.json` | 없음. 다음 시작 시 다시 가져옵니다. |

1672| `~/.claude/cache/changelog.md` | 없음. 백그라운드에서 새로 고쳐집니다. |1692| `~/.claude/cache/changelog.md` | 없음. 백그라운드에서 새로 고쳐집니다. |

1673| `~/.claude/policy-limits.json` | 없음. 자동으로 새로 고쳐집니다. |1693| `~/.claude/policy-limits.json` | 없음. 자동으로 새로 고쳐집니다. |

1674| `~/.claude/tasks/` | 재개된 세션이 선택할 작업 목록 |1694| `~/.claude/tasks/` | 재개된 세션이 선택할 작업 목록 |

1675| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Claude Code가 제거한 [동기화된 스킬](/docs/ko/skills#how-synced-skills-behave) 및 [동기화된 플러그인](/docs/ko/plugins-reference#synced-plugins)을 복구할 기회 |1695| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | [동기화된 skills](/docs/ko/skills#how-synced-skills-behave) 및 [동기화된 plugins](/docs/ko/plugins-reference#synced-plugins)를 복구할 기회. Claude Code가 제거한 것 |

1676| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/image-cache/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | 사용자 대면 없음 |1696| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | 사용자 대면 없음 |

1677| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/` | 없음. 현재 버전에서 작성되지 않는 레거시 디렉토리. |1697| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | 없음. 현재 버전에서 작성되지 않는 레거시 디렉토리. |

1678 1698 

1679`~/.claude.json`, `~/.claude/settings.json` 또는 `~/.claude/plugins/`를 삭제하지 마세요. 이들은 인증, 기본 설정 및 설치된 플러그인을 보유합니다.1699`~/.claude.json`, `~/.claude/settings.json` 또는 `~/.claude/plugins/`를 삭제하지 마세요. 이들은 인증, 기본 설정 및 설치된 plugins을 보유합니다.

1680 1700 

1681<h2 id="related-resources">1701<h2 id="related-resources">

1682 관련 리소스1702 관련 리소스

Details

284 284 

285Claude Platform on AWS는 직접 Claude API와 동일한 모델 ID를 사용합니다.285Claude Platform on AWS는 직접 Claude API와 동일한 모델 ID를 사용합니다.

286 286 

287기본 별칭 `fable`, `opus`, `sonnet` 및 `haiku`는 Claude Platform on AWS에 대한 Claude Code의 기본 제공 기본값으로 확인되며, 이는 최신 릴리스보다 뒤떨어질 수 있습니다. `ANTHROPIC_DEFAULT_OPUS_MODEL` 없이 `opus` 별칭은 Opus 5로 확인됩니다. v2.1.219 이전에는 Opus 4.8로 확인되었으며, v2.1.207 이전에는 Opus 4.7로 확인되었습니다.287기본 별칭 `fable`, `opus`, `sonnet` 및 `haiku`는 Claude Platform on AWS에 대한 Claude Code의 기본 제공 기본값으로 확인되며, 이는 최신 릴리스보다 뒤떨어질 수 있습니다. `ANTHROPIC_DEFAULT_OPUS_MODEL` 없이 `opus` 별칭은 Opus 5.5로 확인됩니다. v2.1.280 이전에는 v2.1.219부터 Opus 5로 확인되었으며, v2.1.207부터 Opus 4.8로 확인되었고, 그 이전에는 Opus 4.7로 확인되었습니다.

288 288 

289Claude Code를 팀에 배포하는 경우 모델 ID를 명시적으로 고정하여 새 릴리스가 모든 사람을 한 번에 이동하지 않도록 하십시오.289Claude Code를 팀에 배포하는 경우 모델 ID를 명시적으로 고정하여 새 릴리스가 모든 사람을 한 번에 이동하지 않도록 하십시오.

290 290 

claude-projects.md +25 −25

Details

56* **스레드**: 작업자입니다. 각각은 자신의 컨텍스트 윈도우를 가진 별도의 [클라우드 세션](/docs/ko/claude-code-on-the-web)으로, 자신의 브랜치에서 한 가지 작업을 수행하고, 작업이 필요할 때 풀 리퀘스트를 열고, 완료되면 대화에 보고합니다.56* **스레드**: 작업자입니다. 각각은 자신의 컨텍스트 윈도우를 가진 별도의 [클라우드 세션](/docs/ko/claude-code-on-the-web)으로, 자신의 브랜치에서 한 가지 작업을 수행하고, 작업이 필요할 때 풀 리퀘스트를 열고, 완료되면 대화에 보고합니다.

57* **모든 스레드가 시작할 때 가지는 것**:57* **모든 스레드가 시작할 때 가지는 것**:

58 * 프로젝트의 저장소와 파일, 그리고 [지침과 메모리](#give-a-project-standing-context)58 * 프로젝트의 저장소와 파일, 그리고 [지침과 메모리](#give-a-project-standing-context)

59 * [프로젝트의 각 저장소](#what-threads-pick-up-from-your-repositories)의 `CLAUDE.md`, 스킬, 플러그인, 그리고 하나의 저장소를 가진 프로젝트에서는 그 저장소의 권한 규칙과 훅도 포함59 * [프로젝트의 각 저장소](#what-threads-pick-up-from-your-repositories)의 `CLAUDE.md`와 스킬, 그리고 하나의 저장소를 가진 프로젝트에서는 그 저장소의 권한 규칙과 훅도 포함

60 * claude.ai 계정의 [커넥터](#get-skills-plugins-connectors-and-tools-into-threads)60 * claude.ai 계정의 [커넥터](#get-skills-plugins-connectors-and-tools-into-threads)

61 * 네트워크 액세스, 환경 변수, API 자격 증명, 설치된 도구를 설정하는 [클라우드 환경](#choose-an-environment-for-threads)61 * 네트워크 액세스, 환경 변수, API 자격 증명, 설치된 도구를 설정하는 [클라우드 환경](#choose-an-environment-for-threads)

62* **개요 창**: [모든 스레드를 한 번에 보고](#see-what-needs-you-in-overview) 어느 것이 사용자를 필요로 하는지 보는 곳입니다. 다른 탭은 추가한 파일과 스레드가 생성한 파일을 위한 **라이브러리**, 스레드가 열은 풀 리퀘스트를 위한 **풀 리퀘스트**, 프로젝트의 예약된 작업을 위한 **루틴**입니다.62* **개요 창**: [모든 스레드를 한 번에 보고](#see-what-needs-you-in-overview) 어느 것이 사용자를 필요로 하는지 보는 곳입니다. 다른 탭은 추가한 파일과 스레드가 생성한 파일을 위한 **라이브러리**, 스레드가 열은 풀 리퀘스트를 위한 **풀 리퀘스트**, 프로젝트의 예약된 작업을 위한 **루틴**입니다.


276각 승인은 해당 프롬프트 또는 더 광범위한 옵션을 선택하면 해당 스레드의 나머지를 다룹니다. 모든 스레드가 특정 명령을 요청 없이 실행하도록 하거나 일부를 차단하려면 저장소의 `.claude/settings.json`에 [권한 규칙](/docs/ko/permissions)을 추가합니다. 스레드는 하나의 저장소가 있는 프로젝트에서만 적용합니다. [스레드가 저장소에서 선택하는 것](#what-threads-pick-up-from-your-repositories)을 참조하세요.276각 승인은 해당 프롬프트 또는 더 광범위한 옵션을 선택하면 해당 스레드의 나머지를 다룹니다. 모든 스레드가 특정 명령을 요청 없이 실행하도록 하거나 일부를 차단하려면 저장소의 `.claude/settings.json`에 [권한 규칙](/docs/ko/permissions)을 추가합니다. 스레드는 하나의 저장소가 있는 프로젝트에서만 적용합니다. [스레드가 저장소에서 선택하는 것](#what-threads-pick-up-from-your-repositories)을 참조하세요.

277 277 

278<h2 id="give-a-project-standing-context">278<h2 id="give-a-project-standing-context">

279 프로젝트에 상황 정보 제공하기279 프로젝트에 상황 맥락 제공하기

280</h2>280</h2>

281 281 

282프로젝트 메모리, 프로젝트 지침, 그리고 프로젝트의 저장소, 파일, 환경은 스레드 전체에서 상황 정보를 유지합니다. 각 항목을 한 번 설정하면 모든 새로운 스레드에 적용됩니다.282프로젝트 메모리, 프로젝트 지침, 그리고 프로젝트의 저장소, 파일, 환경은 스레드 전체에서 맥락을 유지합니다. 각 항목을 한 번 설정하면 모든 새로운 스레드에 적용됩니다.

283 283 

284| 상황 정보 | 포함되는 내용 | 설정 방법 |284| 맥락 | 포함되는 내용 | 설정 방법 |

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

286| 프로젝트 메모리 | Claude가 프로젝트에 대해 유지하는 메모(요구사항, 결정사항, 주의사항 등)로 파일로 저장됩니다. 모든 스레드는 시작할 때 인덱스 파일 `MEMORY.md`를 읽고 필요할 때 다른 파일을 엽니다 | 프로젝트 대화 또는 모든 스레드에서 Claude에게 요구사항, 결정사항, 주의사항을 기억하거나 잊도록 요청합니다. **프로젝트 설정 > 메모리**에서 파일을 읽고, 편집하고, 삭제합니다 |286| 프로젝트 메모리 | Claude가 프로젝트에 대해 유지하는 메모(요구사항, 결정사항, 주의사항 등)로, 파일로 저장됩니다. 모든 스레드는 시작할 때 인덱스 파일 `MEMORY.md`를 읽고, 필요할 때 다른 파일을 엽니다 | 프로젝트 대화 또는 모든 스레드에서 Claude에게 요구사항, 결정사항, 주의사항을 기억하거나 잊도록 요청합니다. **프로젝트 설정 > 메모리**에서 파일을 읽고, 편집하고, 삭제합니다 |

287| 프로젝트 지침 | 모든 새로운 스레드와 프로젝트 대화의 Claude에게 전송되는 텍스트로, 최대 16,000자입니다. [프로젝트 지침 작성하기](#write-project-instructions)에서 포함할 내용을 다룹니다 | **프로젝트 설정 > 메모리 > 프로젝트 지침**, 또는 Claude에게 대화에서 지침을 변경하도록 요청합니다 |287| 프로젝트 지침 | 모든 새로운 스레드와 프로젝트 대화의 Claude에게 전송되는 텍스트로, 최대 16,000자입니다. [프로젝트 지침 작성하기](#write-project-instructions)에서 포함할 내용을 다룹니다 | **프로젝트 설정 > 메모리 > 프로젝트 지침**, 또는 Claude에게 대화에서 지침을 변경하도록 요청합니다 |

288| 저장소, 파일, 환경 | 모든 스레드가 복제하는 저장소, 모든 스레드가 `/mnt/project-files` 아래에서 읽을 수 있는 폴더와 파일, 그리고 스레드가 실행되는 클라우드 환경 | **프로젝트 설정 > 환경**의 저장소와 환경, 또는 대화에서 Claude에게 저장소를 프로젝트에 추가하도록 요청합니다. **개요**의 **라이브러리** 탭에서 **추가**를 통해 파일과 폴더를 추가합니다 |288| 저장소, 파일, 환경 | 모든 스레드가 복제하는 저장소, 모든 스레드가 `/mnt/project-files` 아래에서 읽을 수 있는 폴더와 파일, 그리고 스레드가 실행되는 클라우드 환경 | **프로젝트 설정 > 환경**의 저장소와 환경, 또는 대화에서 Claude에게 저장소를 프로젝트에 추가하도록 요청합니다. **개요**의 **라이브러리** 탭에서 **추가**를 통해 파일과 폴더를 추가합니다 |

289 289 

290**프로젝트 설정 > 메모리**는 이러한 파일을 **자동 메모리** 아래에 나열합니다. Claude가 프로젝트에서 작업할 때 직접 작성하기 때문입니다. 이는 Claude Code가 컴퓨터에 유지하는 [자동 메모리](/docs/ko/memory)와는 별개이며, 둘 다 `MEMORY.md` 인덱스를 사용하지만 다릅니다. 프로젝트 메모리는 또한 프로젝트의 저장소에 있는 `CLAUDE.md` 파일과도 별개입니다. 각 스레드는 시작할 때 복제본에서 이러한 `CLAUDE.md` 파일을 읽으므로, 저장소에 대한 지침은 해당 `CLAUDE.md`에 넣고 프로젝트에 대한 메모는 프로젝트 메모리에 넣습니다.290**프로젝트 설정 > 메모리**는 이러한 파일을 **자동 메모리** 아래에 나열합니다. Claude가 프로젝트에서 작업할 때 자동으로 작성하기 때문입니다. 이는 Claude Code가 머신에서 유지하는 [자동 메모리](/docs/ko/memory)와는 별개이며, 둘 다 `MEMORY.md` 인덱스를 사용하지만 다릅니다. 프로젝트 메모리는 또한 프로젝트의 저장소에 있는 `CLAUDE.md` 파일과도 별개입니다. 각 스레드는 시작할 때 복제본에서 이러한 `CLAUDE.md` 파일을 읽으므로, 저장소에 대한 지침은 해당 `CLAUDE.md`에 넣고 프로젝트에 대한 메모는 프로젝트 메모리에 넣습니다.

291 291 

292<h3 id="write-project-instructions">292<h3 id="write-project-instructions">

293 프로젝트 지침 작성하기293 프로젝트 지침 작성하기


304예를 들어:304예를 들어:

305 305 

306```text theme={null}306```text theme={null}

307이 프로젝트는 payments API의 p95 지연 시간을 200ms 이하로 유지합니다: 프로파일링, 쿼리 및 캐싱 수정, 그리고 이에 따른 종속성 업그레이드를 payments-api 저장소에서 수행합니다.307이 프로젝트는 payments API의 p95 지연 시간을 200ms 이하로 유지합니다: 프로파일링, 쿼리 및 캐싱 수정, 그리고 이에 따른 의존성 업그레이드를 payments-api 저장소에서 수행합니다.

308 308 

309- main에서 브랜치를 만들고 스레드당 하나의 드래프트 풀 요청을 엽니다.309- main에서 브랜치를 만들고 스레드당 하나의 드래프트 풀 요청을 엽니다.

310- 작업을 완료하기 전에 `make test`와 `make lint`를 실행하고 최종 메시지에 요약 줄을 붙여넣습니다.310- 작업을 완료하기 전에 `make test`와 `make lint`를 실행하고 최종 메시지에 요약 줄을 붙여넣습니다.

311- 저장소, 시크릿, API, 또는 커넥터와 같이 필요한 것에 도달할 수 없으면, 첫 번째 메시지에서 정확히 무엇이 누락되었는지 말하고 멈춥니다. 대체하거나, 모의하거나, 추측하지 마세요.311- 저장소, 시크릿, API, 또는 커넥터와 같이 필요한 것에 도달할 수 없으면, 첫 번째 메시지에서 정확히 무엇이 누락되었는지 말하고 멈춥니다. 대체하거나, 모의하거나, 추측하지 마세요.

312- 내 승인 없이 병합, 강제 푸시, 또는 CI 구성을 변경하지 마세요.312- 내 승인 없이 병합하거나, 강제 푸시하거나, CI 구성을 변경하지 마세요.

313```313```

314 314 

315한 저장소에 대한 규칙(예: 빌드 명령)은 해당 저장소의 `CLAUDE.md`에 속하며, 저장소가 프로젝트의 일부일 때 모든 스레드가 시작할 때 읽습니다. 작업이 진행 중일 때 스레드를 수정하면, Claude에게 수정 사항을 기억하도록 말하세요: 이는 [프로젝트 메모리](#give-a-project-standing-context)로 이동하고 이후 스레드는 이를 가지고 시작합니다.315한 저장소에 대한 규칙(예: 빌드 명령)은 해당 저장소의 `CLAUDE.md`에 속하며, 저장소가 프로젝트의 일부일 때 모든 스레드가 시작할 때 읽습니다. 작업이 진행 중일 때 스레드를 수정하면, Claude에게 수정 사항을 기억하도록 말하세요: 이는 [프로젝트 메모리](#give-a-project-standing-context)로 이동하고 이후 스레드는 이를 가지고 시작합니다.


320 320 

321프로젝트에 추가하는 저장소는 코드, `CLAUDE.md`, 스킬을 포함한 모든 것이 모든 스레드에 포함됩니다. 추가하지 않은 저장소도 여전히 접근 가능합니다: 스레드는 작업에 필요할 때 자신에게 저장소를 추가할 수 있습니다. 대부분의 프로젝트는 둘 다 사용합니다:321프로젝트에 추가하는 저장소는 코드, `CLAUDE.md`, 스킬을 포함한 모든 것이 모든 스레드에 포함됩니다. 추가하지 않은 저장소도 여전히 접근 가능합니다: 스레드는 작업에 필요할 때 자신에게 저장소를 추가할 수 있습니다. 대부분의 프로젝트는 둘 다 사용합니다:

322 322 

323* **프로젝트에 추가합니다**, **새 프로젝트** 대화에서, **프로젝트 설정 > 환경**에서, 또는 대화에서 Claude에게 프로젝트에 추가하도록 요청합니다. 그 이후 모든 스레드는 이를 복제하고 작업이 이를 건드리든 아니든 `CLAUDE.md`와 스킬을 가지고 시작합니다. 한 저장소에서 여러 저장소로 이동하면 각 저장소의 `.claude/settings.json`에서 스레드가 가져가는 것도 변경됩니다; [저장소에서 스레드가 가져가는 것](#what-threads-pick-up-from-your-repositories)을 참조하세요.323* **프로젝트에 추가합니다**, **새 프로젝트** 대화에서, **프로젝트 설정 > 환경**에서, 또는 대화에서 Claude에게 프로젝트에 추가하도록 요청합니다. 그 이후 모든 스레드는 작업이 이를 건드리든 아니든 이를 복제하고 `CLAUDE.md`와 스킬을 로드하여 시작합니다. 한 저장소에서 여러 저장소로 이동하면 각 저장소의 `.claude/settings.json`에서 스레드가 가져오는 것도 변경됩니다; [저장소에서 스레드가 가져오는 것](#what-threads-pick-up-from-your-repositories)을 참조하세요.

324* **이를 제외하고 필요할 때 스레드가 추가하도록 합니다.** 작업에 프로젝트가 가지지 않은 저장소가 필요한 스레드는 자신에게 추가할 수 있으며, 스레드의 메모는 이 스레드에만 추가되었음을 나타냅니다. 복제는 작업 중간에 발생하므로 해당 저장소의 `CLAUDE.md`와 스킬은 스레드가 시작할 때 없었습니다. 다음 스레드는 다시 이를 없이 시작합니다. 스레드가 추가하는 저장소는 프로젝트 저장소와 동일한 [전제조건](#check-the-prerequisites)이 필요합니다: Claude GitHub App이 설치되어 있고 GitHub 계정에서 푸시 접근 권한이 있어야 합니다.324* **이를 제외하고 스레드가 필요할 때 추가하도록 합니다.** 프로젝트가 없는 저장소가 필요한 작업을 가진 스레드는 자신에게 저장소를 추가할 수 있으며, 스레드의 메모는 이 스레드에만 추가되었음을 나타냅니다. 복제는 작업 중간에 발생하므로 해당 저장소의 `CLAUDE.md`와 스킬은 스레드가 시작할 때 없었습니다. 다음 스레드는 다시 이를 없이 시작합니다. 스레드가 추가하는 저장소는 프로젝트 저장소와 동일한 [전제조건](#check-the-prerequisites)이 필요합니다: 설치된 Claude GitHub App과 GitHub 계정의 푸시 액세스.

325 325 

326프로젝트는 저장소가 전혀 필요하지 않을 수 있습니다. 스레드는 여전히 조사하고, 문서를 작성하고, 자신의 샌드박스에서 코드를 작성하고 실행할 수 있으며, **라이브러리** 탭에 파일을 전달합니다. 거기의 스레드는 작업이 필요할 때 자신에게 저장소를 추가할 수도 있습니다.326프로젝트는 저장소가 전혀 필요하지 않을 수 있습니다. 스레드는 여전히 조사하고, 문서를 작성하고, 자신의 샌드박스에서 코드를 작성하고 실행할 수 있으며, **라이브러리** 탭에 파일을 전달합니다. 거기의 스레드는 작업이 필요할 때 자신에게 저장소를 추가할 수도 있습니다.

327 327 

328프로젝트가 저장소를 가지면, Claude는 프로젝트가 이미 사용하는 GitHub 소유자로부터만 저장소를 추가할 수 있습니다. 프로젝트에 추가하든 스레드가 자신에게 추가하든 마찬가지입니다. 다른 소유자로부터 저장소를 가져오려면, **프로젝트 설정 > 환경**에서 직접 프로젝트에 추가하세요.328프로젝트에 저장소가 있으면, Claude는 프로젝트가 이미 사용하는 GitHub 소유자의 저장소만 추가할 수 있습니다. 프로젝트에 추가하든 스레드가 자신에게 추가하든 상관없습니다. 다른 소유자의 저장소를 가져오려면 **프로젝트 설정 > 환경**에서 직접 프로젝트에 추가하세요.

329 329 

330많은 저장소에 걸친 프로젝트(예: 서버, 웹, 모바일, 데스크톱 코드가 있는 하나의 기능)의 경우, 거의 모든 작업이 건드리는 한두 개의 저장소를 추가하고 [프로젝트 지침](#write-project-instructions)에서 나머지 코드가 어디에 있는지 이름을 지으세요. 그러면 스레드는 작게 시작하고 필요한 작업에만 다른 저장소를 가져옵니다.330서버, 웹, 모바일, 데스크톱 코드가 있는 기능과 같이 많은 저장소에 걸친 프로젝트의 경우, 거의 모든 작업이 건드리는 저장소 1\~2개를 추가하고 [프로젝트 지침](#write-project-instructions)에서 나머지 코드가 어디에 있는지 이름을 지으세요. 그러면 스레드는 작게 시작하고 필요한 작업에만 다른 저장소를 가져옵니다.

331 331 

332<h3 id="what-threads-pick-up-from-your-repositories">332<h3 id="what-threads-pick-up-from-your-repositories">

333 저장소에서 스레드가 가져가는 것333 저장소에서 스레드가 가져오는 것

334</h3>334</h3>

335 335 

336각 스레드는 프로젝트의 모든 저장소를 복제하고 모든 저장소에서 `CLAUDE.md`, 스킬, 플러그인을 로드합니다. 권한 규칙, 훅, `env`는 스레드가 시작하는 디렉토리의 `.claude/settings.json`에서만 옵니다: 프로젝트가 하나를 가질 때는 저장소 내부, 여러 개를 가질 때는 복제본 위에서, 저장소의 파일은 이들에 대해 읽히지 않습니다.336각 스레드는 프로젝트의 모든 저장소를 복제하고 모든 저장소에서 `CLAUDE.md`와 스킬을 로드합니다. 권한 규칙, 훅, `env`는 스레드가 시작하는 디렉토리의 `.claude/settings.json`에서만 옵니다: 프로젝트가 하나일 때는 저장소 내부, 여러 개일 때는 복제본 위에서, 저장소의 파일이 읽히지 않는 곳입니다.

337 337 

338| 각 저장소에서 | 한 저장소 | 여러 저장소 |338| 각 저장소에서 | 한 저장소 | 여러 저장소 |

339| :-------------------------------------------- | :--------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- |339| :-------------------------------------------- | :--------------------------------------------------------------------------------------------------------- | :------------------------------------------- |

340| `CLAUDE.md` | 스레드가 시작할 때 로드됨 | 스레드가 시작할 때 모든 저장소에서 로드됨 |340| `CLAUDE.md` | 스레드가 시작할 때 로드됨 | 스레드가 시작할 때 모든 저장소에서 로드됨 |

341| `.claude/` 아래의 스킬, 에이전트, 명령 | 로드됨 | 모든 저장소에서 로드됨 |341| `.claude/` 아래의 스킬, 에이전트, 명령 | 로드됨 | 모든 저장소에서 로드됨 |

342| `.claude/settings.json`에서 활성화된 플러그인 | 로드됨 | 모든 저장소에서 로드됨. 두 저장소가 플러그인에 대해 의견이 다르면, **프로젝트 설정 > 플러그인**에서 설정하세요. 이것이 우선합니다 |342| `.claude/settings.json`에서 활성화된 플러그인 | 로드되지 않음. 대신 **프로젝트 설정 > 플러그인**에서 플러그인을 추가하세요 | 로드되지 않음. 대신 **프로젝트 설정 > 플러그인**에서 플러그인을 추가하세요 |

343| `.claude/settings.json`에서 정의된 권한 규칙, 훅, `env` | 스레드에 적용됩니다. 단, [클라우드 세션이 인정하지 않는](/docs/ko/cloud-environments#what-carries-over-from-your-setup) `env` 키는 제외됩니다 | 적용되지 않음 |343| `.claude/settings.json`에서 정의된 권한 규칙, 훅, `env` | 스레드에 적용됩니다. 단, [클라우드 세션이 인정하지 않는](/docs/ko/cloud-environments#what-carries-over-from-your-setup) `env` 키는 제외됩니다 | 적용되지 않음 |

344 344 

345여러 저장소가 있는 프로젝트에서, 각 복제본은 스레드에 [추가 디렉토리](/docs/ko/memory#load-from-additional-directories)로 첨부되며 `CLAUDE.md` 로드가 켜져 있습니다. 이것이 스레드가 위에서 시작하더라도 모든 저장소의 `CLAUDE.md`와 스킬이 시작할 때 로드되는 이유입니다. 어느 경우든, 활성화된 플러그인이 제공하는 훅은 여전히 실행됩니다. 플러그인이 모든 저장소에서 로드되기 때문입니다. 여러 저장소가 있는 프로젝트에서는 프로젝트 지침에 상시 규칙을 넣고 [클라우드 환경](#choose-an-environment-for-threads)을 통해 스레드에 환경 변수를 제공하세요.345여러 저장소가 있는 프로젝트에서, 각 복제본은 스레드에 [추가 디렉토리](/docs/ko/memory#load-from-additional-directories)로 첨부되며 `CLAUDE.md` 로드가 켜져 있습니다. 이것이 스레드가 위에서 시작하더라도 모든 저장소의 `CLAUDE.md`와 스킬이 시작할 때 로드되는 이유입니다. 이러한 프로젝트에서는 프로젝트 지침에 상시 규칙을 넣고 [클라우드 환경](#choose-an-environment-for-threads)을 통해 스레드에 환경 변수를 제공하세요.

346 346 

347<h3 id="choose-an-environment-for-threads">347<h3 id="choose-an-environment-for-threads">

348 스레드를 위한 환경 선택하기348 스레드의 환경 선택하기

349</h3>349</h3>

350 350 

351모든 새로운 스레드는 프로젝트의 [클라우드 환경](/docs/ko/cloud-environments)에서 시작합니다. 환경은 스레드가 도달할 수 있는 도메인, 스레드가 가진 환경 변수, 요청에 추가되는 API 자격증명, 그리고 Claude가 시작하기 전에 설정 스크립트가 설치하는 것을 설정합니다. 스레드는 **프로젝트 설정 > 환경**에서 선택할 때까지 기본 Anthropic 호스팅 환경을 사용합니다.351모든 새로운 스레드는 프로젝트의 [클라우드 환경](/docs/ko/cloud-environments)에서 시작합니다. 환경은 스레드가 도달할 수 있는 도메인, 스레드가 가진 환경 변수, 요청에 추가되는 API 자격증명, 그리고 Claude가 시작하기 전에 설정 스크립트가 설치하는 것을 설정합니다. 스레드는 **프로젝트 설정 > 환경**에서 선택할 때까지 기본 Anthropic 호스팅 환경을 사용합니다.

352 352 

353스레드가 내부 API 또는 프라이빗 패키지 레지스트리에 도달해야 하거나 컴퓨터가 일반적으로 보유한 토큰이 필요하면, 프로젝트가 아닌 환경을 변경하세요: [네트워크 접근](/docs/ko/cloud-environments#network-access), [API 자격증명 추가](/docs/ko/cloud-environments#add-api-credentials), [설정 스크립트](/docs/ko/cloud-environments#setup-scripts)를 참조하세요.353스레드가 내부 API 또는 프라이빗 패키지 레지스트리에 도달해야 하거나 머신이 일반적으로 보유한 토큰이 필요하면, 프로젝트가 아닌 환경을 변경하세요: [네트워크 액세스](/docs/ko/cloud-environments#network-access), [API 자격증명 추가](/docs/ko/cloud-environments#add-api-credentials), [설정 스크립트](/docs/ko/cloud-environments#setup-scripts)를 참조하세요.

354 354 

355<h3 id="get-skills-plugins-connectors-and-tools-into-threads">355<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

356 스킬, 플러그인, 커넥터, 도구를 스레드에 가져오기356 스킬, 플러그인, 커넥터, 도구를 스레드에 가져오기

357</h3>357</h3>

358 358 

359스레드는 클라우드 세션이므로 컴퓨터에만 설치된 스킬, MCP 서버, 플러그인, 도구가 없습니다. 이들 각각을 스레드에서 사용 가능하게 하려면:359스레드는 클라우드 세션이므로 머신에만 설치된 스킬, MCP 서버, 플러그인, 도구가 없습니다. 이들 각각을 스레드에서 사용 가능하게 하려면:

360 360 

361* 스킬, 서브에이전트, 명령: 프로젝트에 추가한 저장소에 커밋하세요. 예를 들어 `.claude/skills/<skill-name>/SKILL.md`의 스킬입니다. 각 스레드는 프로젝트의 모든 저장소를 복제하고 각 저장소에서 `.claude/skills/`, `.claude/agents/`, `.claude/commands/`를 로드하므로, 한 저장소에 커밋된 스킬은 모든 새로운 스레드에서 사용 가능합니다. 스레드는 또한 claude.ai 계정에 대해 활성화한 스킬을 로드합니다.361* 스킬, 서브에이전트, 명령: 프로젝트에 추가한 저장소에 커밋합니다. 예를 들어 `.claude/skills/<skill-name>/SKILL.md`의 스킬입니다. 각 스레드는 프로젝트의 모든 저장소를 복제하고 각 저장소에서 `.claude/skills/`, `.claude/agents/`, `.claude/commands/`를 로드하므로, 한 저장소에 커밋된 스킬은 모든 새로운 스레드에서 사용 가능합니다. 스레드는 또한 claude.ai 계정에 대해 활성화한 스킬을 로드합니다.

362* 플러그인: **프로젝트 설정 > 플러그인**에서 추가하세요; 이들은 각 새로운 스레드에 로드됩니다. 저장소가 `.claude/settings.json`에서 선언한 플러그인도 로드됩니다; [설정에서 무엇이 전달되는지](/docs/ko/cloud-environments#what-carries-over-from-your-setup)를 참조하세요.362* 플러그인: **프로젝트 설정 > 플러그인**에서 추가합니다; 각 새로운 스레드에 로드됩니다. 저장소가 `.claude/settings.json`에서 선언하는 플러그인은 스레드가 클라우드 세션이기 때문에 [스레드에 로드되지 않습니다](/docs/ko/cloud-environments#what-carries-over-from-your-setup).

363* MCP 서버: 스레드는 claude.ai 계정의 커넥터에서 MCP 도구를 가져옵니다. 커넥터는 [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 한 번 연결하거나 **프로젝트 설정 > 환경**의 **커넥터 관리** 링크를 통해 연결하는 MCP 서버입니다. 모든 스레드는 프로젝트별 설정 없이 모두 사용할 수 있습니다. 프로젝트 대화 자체는 커넥터가 없으므로 커넥터가 필요한 작업을 스레드의 작업으로 보내세요. 한 저장소가 있는 프로젝트에서, 스레드는 또한 해당 저장소의 [`.mcp.json`](/docs/ko/cloud-environments#what-carries-over-from-your-setup)에서 MCP 서버를 로드합니다. [커넥터가 Claude Code에 도달하는 방법](/docs/ko/mcp#how-connectors-reach-claude-code)은 클라우드 세션의 규칙과 커넥터를 끄는 설정을 나열합니다.363* MCP 서버: 스레드는 claude.ai 계정의 커넥터에서 MCP 도구를 가져옵니다. 커넥터는 [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 한 번 연결하거나 **프로젝트 설정 > 환경**의 **커넥터 관리** 링크를 통해 연결하는 MCP 서버입니다. 모든 스레드는 프로젝트별 설정 없이 모두 사용할 수 있습니다. 프로젝트 대화 자체는 커넥터가 없으므로 커넥터가 필요한 작업을 스레드의 작업으로 보냅니다. 한 저장소가 있는 프로젝트에서, 스레드는 또한 해당 저장소의 [`.mcp.json`](/docs/ko/cloud-environments#what-carries-over-from-your-setup)에서 MCP 서버를 로드합니다. [커넥터가 Claude Code에 도달하는 방법](/docs/ko/mcp#how-connectors-reach-claude-code)은 클라우드 세션의 규칙과 커넥터를 끄는 설정을 나열합니다.

364* 명령줄 도구 및 패키지: 환경의 [설정 스크립트](/docs/ko/cloud-environments#setup-scripts)에서 설치하세요.364* 명령줄 도구 및 패키지: 환경의 [설정 스크립트](/docs/ko/cloud-environments#setup-scripts)에 설치합니다.

365 365 

366실행 중인 스레드가 claude.ai/code에서 가진 커넥터를 보려면, 스레드를 열고 메시지 상자 옆의 **+** 메뉴에서 **커넥터**를 선택하세요. 거기서 커넥터를 끄면 해당 스레드에서 제거되고 이를 계정 기본값으로 저장하므로, 다시 켤 때까지 새로운 스레드와 claude.ai 채팅이 이를 없이 시작합니다. 스레드는 다음 메시지를 보낸 후 추가하거나 다시 연결한 커넥터를 선택합니다.366실행 중인 스레드가 claude.ai/code에서 가진 커넥터를 보려면, 스레드를 열고 메시지 상자 옆의 **+** 메뉴에서 **커넥터**를 선택합니다. 거기서 커넥터를 끄면 해당 스레드에서 제거되고 계정 기본값으로 저장되므로, 다시 켤 때까지 새로운 스레드와 claude.ai 채팅이 이를 없이 시작합니다. 스레드는 다음 메시지를 보낸 후 추가하거나 다시 연결한 커넥터를 가져옵니다.

367 367 

368<h2 id="project-settings-reference">368<h2 id="project-settings-reference">

369 프로젝트 설정 참조369 프로젝트 설정 참조

Details

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` |


93| `--exec` | Claude 세션을 시작하는 대신 PTY 지원 백그라운드 작업으로 셸 명령을 실행합니다. 셸에서 시작하려면 `--bg`와 함께 사용합니다 | `claude --bg --exec 'pytest -x'` |93| `--exec` | Claude 세션을 시작하는 대신 PTY 지원 백그라운드 작업으로 셸 명령을 실행합니다. 셸에서 시작하려면 `--bg`와 함께 사용합니다 | `claude --bg --exec 'pytest -x'` |

94| `--fallback-model` | 기본 모델이 과부하되거나 사용할 수 없을 때(예: 폐기된 모델) 지정된 모델로 자동 폴백을 활성화합니다. 순서대로 시도되는 쉼표로 구분된 목록을 허용합니다. [폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)을 참조하세요. 세션 간에 체인을 유지하려면 이 플래그가 재정의하는 [`fallbackModel` 설정](/docs/ko/settings-reference#fallbackmodel)을 사용합니다 | `claude --fallback-model sonnet,haiku` |94| `--fallback-model` | 기본 모델이 과부하되거나 사용할 수 없을 때(예: 폐기된 모델) 지정된 모델로 자동 폴백을 활성화합니다. 순서대로 시도되는 쉼표로 구분된 목록을 허용합니다. [폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)을 참조하세요. 세션 간에 체인을 유지하려면 이 플래그가 재정의하는 [`fallbackModel` 설정](/docs/ko/settings-reference#fallbackmodel)을 사용합니다 | `claude --fallback-model sonnet,haiku` |

95| `--fork-session` | 재개할 때 원본을 재사용하는 대신 새 세션 ID를 만듭니다(`--resume` 또는 `--continue`와 함께 사용) | `claude --resume abc123 --fork-session` |95| `--fork-session` | 재개할 때 원본을 재사용하는 대신 새 세션 ID를 만듭니다(`--resume` 또는 `--continue`와 함께 사용) | `claude --resume abc123 --fork-session` |

96| `--forward-subagent-text` | [서브에이전트](/docs/ko/sub-agents) 텍스트 및 사고 블록을 `parent_tool_use_id` 설정된 `assistant` 및 `user` 메시지로 출력 스트림에 내보내므로 각 서브에이전트의 트랜스크립트를 재구성할 수 있습니다. 이 플래그 없이 Claude Code는 [포그라운드](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)에서 실행되는 서브에이전트의 텍스트 및 사고 블록을 생략합니다. `--print` 및 `--output-format stream-json`이 필요합니다. Claude Code는 또한 [중첩된 서브에이전트](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)의 메시지를 전달하며, 각 메시지를 생성한 Agent 도구 호출의 ID로 `parent_tool_use_id`를 설정합니다. 이는 Claude Code v2.1.219 이상이 필요합니다. [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/ko/env-vars) 환경 변수는 동일한 동작을 활성화합니다. Claude Code v2.1.211 이상이 필요합니다 | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |96| `--forward-subagent-text` | [서브에이전트](/docs/ko/sub-agents) 텍스트 및 사고 블록을 `parent_tool_use_id` 설정된 `assistant` 및 `user` 메시지로 출력 스트림에 내보내므로 각 서브에이전트의 트랜스크립트를 재구성할 수 있습니다. 이 플래그 없이 Claude Code는 [포그라운드](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)에서 실행되는 서브에이전트의 텍스트 및 사고 블록을 생략합니다. `--print` 및 `--output-format stream-json`이 필요합니다. Claude Code는 또한 [중첩된 서브에이전트](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)의 메시지를 전달하며, 각 메시지를 생성한 Agent 또는 Skill 도구 호출의 ID로 `parent_tool_use_id`를 설정합니다. 이는 Claude Code v2.1.219 이상이 필요합니다. 포크된 스킬이 생성한 서브에이전트의 메시지와 중첩된 포크된 스킬의 메시지는 v2.1.275 이상이 필요합니다. [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/ko/env-vars) 환경 변수는 동일한 동작을 활성화합니다. Claude Code v2.1.211 이상이 필요합니다 | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |

97| `--from-pr` | 특정 풀 요청에 연결된 세션으로 필터링된 세션 선택기를 엽니다. PR 번호, GitHub 또는 GitHub Enterprise PR URL, GitLab 병합 요청 URL 또는 Bitbucket 풀 요청 URL을 허용합니다. Claude가 풀 요청을 만들 때 세션이 자동으로 연결됩니다 | `claude --from-pr 123` |97| `--from-pr` | 특정 풀 요청에 연결된 세션으로 필터링된 세션 선택기를 엽니다. PR 번호, GitHub 또는 GitHub Enterprise PR URL, GitLab 병합 요청 URL 또는 Bitbucket 풀 요청 URL을 허용합니다. Claude가 풀 요청을 만들 때 세션이 자동으로 연결됩니다 | `claude --from-pr 123` |

98| `--ide` | 정확히 하나의 유효한 IDE를 사용할 수 있는 경우 시작 시 IDE에 자동으로 연결합니다 | `claude --ide` |98| `--ide` | 정확히 하나의 유효한 IDE를 사용할 수 있는 경우 시작 시 IDE에 자동으로 연결합니다 | `claude --ide` |

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


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

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

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

106| `--max-budget-usd` | API 호출에 지출할 최대 달러 금액입니다. 중지하기 전에 지출합니다(인쇄 모드만 해당). [서브에이전트](/docs/ko/sub-agents)의 지출이 한도에 포함됩니다. 지출이 한도에 도달하면 다른 서브에이전트를 생성하면 `Budget limit reached`로 실패하고 Claude Code는 여전히 실행 중인 백그라운드 서브에이전트를 중지합니다. 한도 적용 동작에는 Claude Code v2.1.217 이상이 필요합니다 | `claude -p --max-budget-usd 5.00 "query"` |106| `--max-budget-usd` | API 호출에 지출할 최대 달러 금액입니다. 중지하기 전에 지출합니다(인쇄 모드만 해당). [서브에이전트](/docs/ko/sub-agents)의 지출이 한도에 포함됩니다. `--continue` 또는 `--resume`으로 대화로 돌아올 때 [이전 실행에서 복원된](/docs/ko/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) 합계는 이에 포함되지 않습니다. 지출이 한도에 도달하면 다른 서브에이전트를 생성하면 `Budget limit reached`로 실패하고 Claude Code는 여전히 실행 중인 백그라운드 서브에이전트를 중지합니다. 한도 적용 동작에는 Claude Code v2.1.217 이상이 필요합니다 | `claude -p --max-budget-usd 5.00 "query"` |

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

108| `--mcp-config` | JSON 파일 또는 문자열에서 MCP 서버를 로드합니다(공백으로 구분). 이 플래그를 `-p`와 함께 전달하면 Claude Code는 첫 번째 턴을 실행하기 전에 여전히 보류 중인 서버가 연결될 때까지 기다립니다. [`MCP_TIMEOUT`](/docs/ko/env-vars) 시작 시간 초과(기본값 30초)까지입니다. [캐시된 도구 목록](/docs/ko/mcp#managing-your-servers)이 있는 서버는 대기를 건너뛰고 처음 사용할 때 연결됩니다. 대기에는 Claude Code v2.1.221 이상이 필요합니다 | `claude --mcp-config ./mcp.json` |108| `--mcp-config` | JSON 파일 또는 문자열에서 MCP 서버를 로드합니다(공백으로 구분). 이 플래그를 `-p`와 함께 전달하면 Claude Code는 첫 번째 턴을 실행하기 전에 여전히 보류 중인 서버가 연결될 때까지 기다립니다. [`MCP_TIMEOUT`](/docs/ko/env-vars) 시작 시간 초과(기본값 30초)까지입니다. [캐시된 도구 목록](/docs/ko/mcp#managing-your-servers)이 있는 서버는 대기를 건너뛰고 처음 사용할 때 연결됩니다. 대기에는 Claude Code v2.1.221 이상이 필요합니다 | `claude --mcp-config ./mcp.json` |

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


157 157 

158`--system-prompt` 및 `--system-prompt-file`은 상호 배타적입니다. 추가 플래그는 대체 플래그 중 하나와 결합할 수 있습니다.158`--system-prompt` 및 `--system-prompt-file`은 상호 배타적입니다. 추가 플래그는 대체 플래그 중 하나와 결합할 수 있습니다.

159 159 

160대체 텍스트가 모든 실행에서 동일한 지침과 실행마다 변경되는 컨텍스트를 결합할 때 지침과 컨텍스트 사이에만 `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__`를 포함하는 줄을 추가합니다. Claude Code는 첫 번째 이러한 줄에서 프롬프트를 분할하고 해당 줄을 제거하므로 위의 부분은 캐시된 상태로 유지되고 아래의 부분은 변경됩니다. Claude Code v2.1.275 이상이 필요합니다. [사용자 정의 프롬프트의 정적 부분 캐시](/docs/ko/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt)는 분할이 적용되는 구성을 나열합니다.

161 

160Claude Code의 기본 정체성이 여전히 작업에 맞는지 여부에 따라 선택합니다. Claude가 추가 규칙도 따르는 코딩 어시스턴트로 남아 있어야 할 때 추가 플래그를 사용합니다: 호출별 지침, 출력 형식 또는 `-p` 스크립트에 대한 도메인 컨텍스트입니다. 추가하면 기본 도구 지침, 안전 지침 및 코딩 규칙이 유지되므로 다른 것만 제공하면 됩니다. 표면, 정체성 또는 권한 모델이 Claude Code와 다를 때 대체 플래그를 사용합니다. 예를 들어 인간이 감시하지 않는 파이프라인의 비코딩 에이전트입니다. 대체하면 도구 지침 및 안전 지침을 포함한 전체 기본 프롬프트가 삭제되므로 작업에 여전히 필요한 것에 대해 책임을 집니다.162Claude Code의 기본 정체성이 여전히 작업에 맞는지 여부에 따라 선택합니다. Claude가 추가 규칙도 따르는 코딩 어시스턴트로 남아 있어야 할 때 추가 플래그를 사용합니다: 호출별 지침, 출력 형식 또는 `-p` 스크립트에 대한 도메인 컨텍스트입니다. 추가하면 기본 도구 지침, 안전 지침 및 코딩 규칙이 유지되므로 다른 것만 제공하면 됩니다. 표면, 정체성 또는 권한 모델이 Claude Code와 다를 때 대체 플래그를 사용합니다. 예를 들어 인간이 감시하지 않는 파이프라인의 비코딩 에이전트입니다. 대체하면 도구 지침 및 안전 지침을 포함한 전체 기본 프롬프트가 삭제되므로 작업에 여전히 필요한 것에 대해 책임을 집니다.

161 163 

162프로젝트 간에 전환하고 공유할 수 있는 영구 페르소나의 경우 [출력 스타일](/docs/ko/output-styles)을 사용합니다. Claude가 항상 따라야 하는 프로젝트 규칙의 경우 [CLAUDE.md](/docs/ko/memory)를 사용합니다. [시스템 프롬프트에 대한 Agent SDK 가이드](/docs/ko/agent-sdk/modifying-system-prompts#decide-on-a-starting-point)는 더 깊이 있는 동일한 결정을 다룹니다.164프로젝트 간에 전환하고 공유할 수 있는 영구 페르소나의 경우 [출력 스타일](/docs/ko/output-styles)을 사용합니다. Claude가 항상 따라야 하는 프로젝트 규칙의 경우 [CLAUDE.md](/docs/ko/memory)를 사용합니다. [시스템 프롬프트에 대한 Agent SDK 가이드](/docs/ko/agent-sdk/modifying-system-prompts#decide-on-a-starting-point)는 더 깊이 있는 동일한 결정을 다룹니다.

Details

300| 리포지토리의 `.mcp.json` MCP 서버 | 예, 하나의 리포지토리가 있는 세션에서 | 복제본의 일부이며 세션의 작업 디렉토리에서 찾습니다 |300| 리포지토리의 `.mcp.json` MCP 서버 | 예, 하나의 리포지토리가 있는 세션에서 | 복제본의 일부이며 세션의 작업 디렉토리에서 찾습니다 |

301| 리포지토리의 `.claude/rules/` | 예 | 복제본의 일부 |301| 리포지토리의 `.claude/rules/` | 예 | 복제본의 일부 |

302| 리포지토리의 `.claude/skills/`, `.claude/agents/`, `.claude/commands/` | 예 | 복제본의 일부 |302| 리포지토리의 `.claude/skills/`, `.claude/agents/`, `.claude/commands/` | 예 | 복제본의 일부 |

303| `.claude/settings.json`에 선언된 플러그인 | 예 | 선언한 [마켓플레이스](/docs/ko/plugin-marketplaces)에서 세션 시작 시 설치됩니다. 마켓플레이스 소스에 도달하려면 네트워크 액세스가 필요합니다 |303| 리포지토리의 `.claude/settings.json`에 선언된 플러그인 및 마켓플레이스 | 아니오 | 클라우드 세션은 리포지토리가 [`enabledPlugins`](/docs/ko/settings-reference#enabledplugins) 아래에서 켜는 플러그인을 설치하지 않으며, [`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces) 아래에 나열하는 마켓플레이스의 플러그인도 포함됩니다. 대신 claude.ai 계정에 대해 플러그인을 활성화하여 Claude Code가 [동기화된 플러그인](/docs/ko/plugins-reference#synced-plugins)으로 로드하도록 합니다 |

304| 조직의 [서버 관리 설정](/docs/ko/server-managed-settings) | 예 | 세션이 시작될 때 Anthropic의 서버에서 가져옵니다. 클라우드 세션에서 `availableModels`이 적용되는 방식은 [표면 범위](/docs/ko/model-config#surface-coverage)를 참조하세요. MDM 또는 관리 설정 파일을 통해 장치에 배포된 설정은 세션이 Anthropic 관리 VM에서 실행되기 때문에 적용되지 않습니다. [자체 호스팅 환경](/docs/ko/self-hosted-environments)에서 세션은 [Claude Code가 관리 소스를 결합하는 방식](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)에 따라 러너 이미지의 관리 설정 파일도 읽습니다 |304| 조직의 [서버 관리 설정](/docs/ko/server-managed-settings) | 예 | 세션이 시작될 때 Anthropic의 서버에서 가져옵니다. 클라우드 세션에서 `availableModels`이 적용되는 방식은 [표면 범위](/docs/ko/model-config#surface-coverage)를 참조하세요. MDM 또는 관리 설정 파일을 통해 장치에 배포된 설정은 세션이 Anthropic 관리 VM에서 실행되기 때문에 적용되지 않습니다. [자체 호스팅 환경](/docs/ko/self-hosted-environments)에서 세션은 [Claude Code가 관리 소스를 결합하는 방식](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)에 따라 러너 이미지의 관리 설정 파일도 읽습니다 |

305| 사용자 `~/.claude/CLAUDE.md` | 아니오 | 리포지토리가 아닌 머신에 있습니다 |305| 사용자 `~/.claude/CLAUDE.md` | 아니오 | 리포지토리가 아닌 머신에 있습니다 |

306| 사용자 `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | 아니오 | 리포지토리가 아닌 머신에 있습니다. 대신 리포지토리의 `.claude/` 디렉토리에 커밋합니다. 클라우드 세션은 claude.ai에서 활성화한 기술을 자동으로 로드합니다 |306| 사용자 `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | 아니오 | 리포지토리가 아닌 머신에 있습니다. 대신 리포지토리의 `.claude/` 디렉토리에 커밋합니다. 클라우드 세션은 claude.ai에서 활성화한 기술을 자동으로 로드합니다 |

307| 사용자 설정에서만 활성화된 플러그인 | 아니오 | 사용자 범위 `enabledPlugins`은 `~/.claude/settings.json`에 있습니다. 대신 리포지토리의 `.claude/settings.json`에 선언합니다. 또는 claude.ai 계정에 대해 활성화하여 Claude Code가 [동기화된 플러그인](/docs/ko/plugins-reference#synced-plugins)으로 로드하도록 합니다 |307| 사용자 설정에서만 활성화된 플러그인 | 아니오 | 사용자 범위 `enabledPlugins`은 머신의 `~/.claude/settings.json`에 있습니다. 대신 claude.ai 계정에 대해 활성화하여 Claude Code가 [동기화된 플러그인](/docs/ko/plugins-reference#synced-plugins)으로 로드하도록 합니다 |

308| `claude mcp add`로 기본 로컬 범위 또는 사용자 범위에서 추가한 MCP 서버 | 아니오 | 이는 리포지토리가 아닌 머신의 `~/.claude.json`에 씁니다. `claude mcp add --scope project`로 서버를 추가합니다. 이는 리포지토리의 [`.mcp.json`](/docs/ko/mcp#project-scope)에 쓰고 해당 파일을 커밋합니다. 하나의 리포지토리가 있는 세션이 이를 로드합니다 |308| `claude mcp add`로 기본 로컬 범위 또는 사용자 범위에서 추가한 MCP 서버 | 아니오 | 이는 리포지토리가 아닌 머신의 `~/.claude.json`에 씁니다. `claude mcp add --scope project`로 서버를 추가합니다. 이는 리포지토리의 [`.mcp.json`](/docs/ko/mcp#project-scope)에 쓰고 해당 파일을 커밋합니다. 하나의 리포지토리가 있는 세션이 이를 로드합니다 |

309| 리포지토리의 `.claude/settings.json` `env` 블록의 전송 변수(예: `NODE_EXTRA_CA_CERTS` 및 [mTLS 클라이언트 인증서 변수](/docs/ko/network-config#mtls-authentication)) | 아니오 | 호스팅 환경이 세션의 API 연결을 관리하므로 Claude Code는 이러한 키를 무시하고 각 무시된 키를 세션의 디버그 로그에 기록합니다 |309| 리포지토리의 `.claude/settings.json` `env` 블록의 전송 변수(예: `NODE_EXTRA_CA_CERTS` 및 [mTLS 클라이언트 인증서 변수](/docs/ko/network-config#mtls-authentication)) | 아니오 | 호스팅 환경이 세션의 API 연결을 관리하므로 Claude Code는 이러한 키를 무시하고 각 무시된 키를 세션의 디버그 로그에 기록합니다 |

310| Claude가 호출하는 서비스의 API 키 및 토큰 | Pro 및 Max 플랜에서 [API 자격 증명](#add-api-credentials)으로 | 환경에 키를 한 번 추가하고 에이전트 프록시가 나열한 호스트에 대한 요청에 첨부합니다. 에이전트 프록시가 [첨부할 수 없는](#requests-that-never-get-the-credential) 키 또는 Team 또는 Enterprise 플랜의 모든 키는 환경 변수에 남아 있습니다 |310| Claude가 호출하는 서비스의 API 키 및 토큰 | Pro 및 Max 플랜에서 [API 자격 증명](#add-api-credentials)으로 | 환경에 키를 한 번 추가하고 에이전트 프록시가 나열한 호스트에 대한 요청에 첨부합니다. 에이전트 프록시가 [첨부할 수 없는](#requests-that-never-get-the-credential) 키 또는 Team 또는 Enterprise 플랜의 모든 키는 환경 변수에 남아 있습니다 |

commands.md +83 −82

Details

26 26 

27**병렬로 작업 실행.** Claude는 부수 작업을 [서브에이전트](/docs/ko/sub-agents)에 위임하고, `/tasks`는 완료된 서브에이전트를 포함한 현재 세션의 백그라운드 작업을 나열합니다. `/background`는 전체 세션을 분리하여 [백그라운드 에이전트](/docs/ko/agent-view)로 계속 실행되도록 하고 터미널을 해제합니다. 코드베이스에 걸친 큰 변경의 경우 `/batch`는 이를 독립적인 단위로 분해하고 각각을 자체 [워크트리](/docs/ko/worktrees)에서 실행합니다. 이러한 접근 방식이 어떻게 관련되는지는 [병렬로 에이전트 실행](/docs/ko/agents)을 참조하세요.27**병렬로 작업 실행.** Claude는 부수 작업을 [서브에이전트](/docs/ko/sub-agents)에 위임하고, `/tasks`는 완료된 서브에이전트를 포함한 현재 세션의 백그라운드 작업을 나열합니다. `/background`는 전체 세션을 분리하여 [백그라운드 에이전트](/docs/ko/agent-view)로 계속 실행되도록 하고 터미널을 해제합니다. 코드베이스에 걸친 큰 변경의 경우 `/batch`는 이를 독립적인 단위로 분해하고 각각을 자체 [워크트리](/docs/ko/worktrees)에서 실행합니다. 이러한 접근 방식이 어떻게 관련되는지는 [병렬로 에이전트 실행](/docs/ko/agents)을 참조하세요.

28 28 

29**배포 전.** `/diff`는 변경된 항목을 표시합니다. `/code-review`는 현재 diff를 정확성 버그 및 정리에 대해 확인하고 `--fix`로 결과를 적용할 수 있습니다. PR 번호(예: `/code-review high 1234`)를 전달하여 대신 풀 요청을 검토합니다. `/review`는 별칭입니다. `/code-review ultra`는 클라우드에서 다중 에이전트 검토를 실행합니다. `/security-review`는 diff를 보안 취약점에 대해 확인합니다.29**배포 전.** `/diff`는 변경된 항목을 표시합니다. `/code-review`는 현재 diff를 정확성 버그에 대해 확인하고 `--fix`로 결과를 적용할 수 있습니다. PR 번호(예: `/code-review high 1234`)를 전달하여 대신 풀 요청을 검토합니다. `/review`는 별칭입니다. `/code-review ultra`는 클라우드에서 다중 에이전트 검토를 실행합니다. `/security-review`는 diff를 보안 취약점에 대해 확인합니다.

30 30 

31**세션 간.** `/clear`는 프로젝트 메모리를 유지하면서 새 작업을 시작합니다. `/resume`은 이전 대화로 돌아가고, `/branch`는 현재 대화를 분기하여 다른 방향을 시도하고, `/fork`는 이를 새 [백그라운드 세션](/docs/ko/agent-view)으로 복사합니다. `/teleport`는 클라우드 세션을 이 터미널로 가져오고, `/remote-control`은 다른 장치에서 이 로컬 세션을 계속할 수 있게 합니다.31**세션 간.** `/clear`는 프로젝트 메모리를 유지하면서 새 작업을 시작합니다. `/resume`은 이전 대화로 돌아가고, `/branch`는 현재 대화를 분기하여 다른 방향을 시도하고, `/fork`는 이를 새 [백그라운드 세션](/docs/ko/agent-view)으로 복사합니다. `/teleport`는 클라우드 세션을 이 터미널로 가져오고, `/remote-control`은 다른 장치에서 이 로컬 세션을 계속할 수 있게 합니다.

32 32 


38 38 

39아래 표는 Claude Code에 포함된 모든 명령어를 나열합니다. 대부분은 CLI에 코딩된 동작을 가진 기본 제공 명령어입니다. 두 가지 종류의 항목이 표시됩니다.39아래 표는 Claude Code에 포함된 모든 명령어를 나열합니다. 대부분은 CLI에 코딩된 동작을 가진 기본 제공 명령어입니다. 두 가지 종류의 항목이 표시됩니다.

40 40 

41* **[스킬](/docs/ko/skills#bundled-skills)**: 번들로 제공되는 스킬입니다. 직접 작성하는 스킬처럼 작동합니다. Claude에 전달되는 프롬프트입니다.41* **[스킬](/docs/ko/skills#bundled-skills)**: 번들로 제공되는 스킬입니다. 직접 작성한 스킬처럼 작동합니다. Claude에 전달되는 프롬프트입니다.

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

43* **[워크플로우](/docs/ko/workflows#bundled-workflows)**: 번들로 제공되는 [동적 워크플로우](/docs/ko/workflows)로, 많은 서브에이전트에 걸쳐 작업을 분산하고 백그라운드에서 실행됩니다.43* **[워크플로우](/docs/ko/workflows#bundled-workflows)**: 번들로 제공되는 [동적 워크플로우](/docs/ko/workflows)로, 많은 서브에이전트에 걸쳐 작업을 분산하고 백그라운드에서 실행됩니다.

44 * `/deep-research`는 호출할 때만 실행됩니다. v2.1.218 이전에는 Claude가 자동으로 시작할 수도 있었습니다.44 * `/deep-research`는 호출할 때만 실행됩니다. v2.1.218 이전에는 Claude가 자동으로 시작할 수도 있었습니다.


48아래 표에서 `<arg>`는 필수 인수를 나타내고 `[arg]`는 선택적 인수를 나타냅니다.48아래 표에서 `<arg>`는 필수 인수를 나타내고 `[arg]`는 선택적 인수를 나타냅니다.

49 49 

50<Note>50<Note>

51 모든 명령어가 모든 사용자에게 표시되는 것은 아닙니다. 가용성은 플랫폼, 플랜 및 환경에 따라 다릅니다. 예를 들어 `/desktop`은 Claude 구독으로 로그인했을 때 macOS 및 x64 Windows에서만 표시되고, `/upgrade`는 Enterprise 플랜에서는 표시되지 않습니다.51 모든 명령어가 모든 사용자에게 표시되지는 않습니다. 가용성은 플랫폼, 플랜 및 환경에 따라 다릅니다. 예를 들어 `/desktop`은 Claude 구독으로 로그인했을 때 macOS 및 x64 Windows에서만 표시되고, `/upgrade`는 Enterprise 플랜에서는 표시되지 않습니다.

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)가 필요합니다. 인수 없이 피커를 엽니다. 대화형 터미널이 없는 세션이나 [Remote Control](/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 이전에는 서브에이전트 구성을 생성하고 관리하기 위한 대화형 인터페이스를 엽니다. |

59| `/artifacts` | 소유하거나 공유받은 [아티팩트](/docs/ko/artifacts#find-an-artifact-again)를 나열한 다음 세션에 첨부하거나, 브라우저에서 열거나, 링크를 복사합니다. [아티팩트](/docs/ko/artifacts#availability)를 사용할 수 있는 곳에서 사용 가능합니다. Claude Code v2.1.208 이상이 필요하며, `Enter`로 첨부하려면 v2.1.216이 필요합니다. |59| `/artifacts` | 소유하거나 공유받은 [아티팩트](/docs/ko/artifacts#find-an-artifact-again)를 나열한 다음 하나를 세션에 첨부하거나 브라우저에서 열거나 링크를 복사합니다. [아티팩트](/docs/ko/artifacts#availability)를 사용할 수 있는 곳에서 사용 가능합니다. Claude Code v2.1.208 이상이 필요합니다. `Enter`로 첨부하려면 v2.1.216이 필요합니다. |

60| `/auto-mode-setup` | [프로젝트 및 최근 세션에서 `autoMode.environment` 항목을 작성](/docs/ko/auto-mode-config#generate-environment-entries)한 다음 초안을 검토하고 사용자 설정에 저장합니다. Pro, Max 또는 Team 플랜과 Claude Code v2.1.228 이상이 필요합니다. 기본 Windows에서는 v2.1.233 이상이 필요합니다. |60| `/auto-mode-setup` | 프로젝트 및 최근 세션에서 [`autoMode.environment` 항목](/docs/ko/auto-mode-config#generate-environment-entries)을 [초안 작성](/docs/ko/auto-mode-config#generate-environment-entries)한 다음 초안을 검토하고 사용자 설정에 저장합니다. Pro, Max 또는 Team 플랜과 Claude Code v2.1.228 이상이 필요합니다. 기본 Windows에서는 v2.1.233 이상이 필요합니다. |

61| `/autocompact [auto\|<tokens>]` | [자동 압축 윈도우를 설정합니다](/docs/ko/model-config#set-the-auto-compact-window): Claude Code가 자동으로 압축하기 전에 컨텍스트 윈도우가 얼마나 찬지를 나타냅니다. `500k`와 같은 크기를 전달하거나 `auto`를 전달하여 모델에 맞게 조정된 윈도우로 돌아갑니다. Claude Code는 값을 사용자 설정에 저장하고 현재 세션에 적용합니다. 허용되는 값과 이를 재정의하는 것에 대해서는 [자동 압축 윈도우 설정](/docs/ko/model-config#set-the-auto-compact-window)을 참조하십시오. 인수 없이 현재 윈도우를 표시하는 대화를 엽니다. Claude Code v2.1.221 이상이 필요합니다. |61| `/autocompact [auto\|<tokens>]` | 자동 압축 윈도우를 설정합니다. Claude Code가 자동으로 압축하기 전에 컨텍스트 윈도우가 얼마나 찬지를 나타냅니다. `500k`와 같은 크기를 전달하거나 `auto`를 전달하여 모델에 맞게 조정된 윈도우로 돌아갑니다. Claude Code는 값을 사용자 설정에 저장하고 현재 세션에 적용합니다. 허용되는 값과 이를 재정의하는 항목은 [자동 압축 윈도우 설정](/docs/ko/model-config#set-the-auto-compact-window)을 참조하십시오. 인수 없이 현재 윈도우를 표시하는 대화를 엽니다. Claude Code v2.1.221 이상이 필요합니다. |

62| `/autofix-pr [prompt]` | 현재 분기의 PR을 감시하고 CI가 실패하거나 검토자가 댓글을 남길 때 수정 사항을 푸시하는 [클라우드 세션](/docs/ko/claude-code-on-the-web#auto-fix-pull-requests)을 생성합니다. `gh pr view`로 체크아웃된 분기에서 열린 PR을 감지합니다. 다른 PR을 감시하려면 먼저 해당 분기를 체크아웃하십시오. 기본적으로 클라우드 세션은 모든 CI 실패 및 검토 댓글을 수정하도록 지시받습니다. 프롬프트를 전달하여 다른 지침을 제공합니다(예: `/autofix-pr only fix lint and type errors`). `gh` CLI 및 [클라우드 세션](/docs/ko/claude-code-on-the-web)에 대한 액세스가 필요합니다. |62| `/autofix-pr [prompt]` | 현재 분기의 PR을 감시하고 CI가 실패하거나 검토자가 댓글을 남길 때 수정 사항을 푸시하는 [클라우드 세션](/docs/ko/claude-code-on-the-web#auto-fix-pull-requests)을 생성합니다. `gh pr view`로 체크아웃한 분기에서 열린 PR을 감지합니다. 다른 PR을 감시하려면 먼저 해당 분기를 체크아웃하십시오. 기본적으로 클라우드 세션은 모든 CI 실패 및 검토 댓글을 수정하도록 지시받습니다. 프롬프트를 전달하여 다른 지침을 제공합니다(예: `/autofix-pr only fix lint and type errors`). `gh` CLI 및 [클라우드 세션](/docs/ko/claude-code-on-the-web)에 대한 액세스가 필요합니다. |

63| `/background [prompt]` | 현재 세션을 분리하여 [백그라운드 에이전트](/docs/ko/agent-view)로 실행하고 이 터미널을 해제합니다. 분리하기 전에 추가 지침을 보내려면 프롬프트를 전달합니다. `claude agents`로 세션을 모니터링합니다. 이 세션이 계속 실행되는 동안 대화를 새 백그라운드 세션으로 복사하려면 `/fork`를 사용합니다. 별칭: `/bg` |63| `/background [prompt]` | 현재 세션을 분리하여 [백그라운드 에이전트](/docs/ko/agent-view)로 실행하고 이 터미널을 해제합니다. 분리하기 전에 한 가지 더 지침을 보내려면 프롬프트를 전달합니다. `claude agents`로 세션을 모니터링합니다. 이 세션이 계속 실행되는 동안 대화를 새 백그라운드 세션으로 복사하려면 `/fork`를 사용합니다. 별칭: `/bg` |

64| `/batch <instruction>` | **[스킬](/docs/ko/skills#bundled-skills).** 코드베이스 전체에서 대규모 변경을 병렬로 조율합니다. 코드베이스를 연구하고, 작업을 5\~30개의 독립적인 단위로 분해하고, 계획을 제시합니다. 승인되면 격리된 [git worktree](/docs/ko/worktrees)에서 단위당 하나의 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)를 생성합니다. 각 서브에이전트는 해당 단위를 구현하고, 테스트를 실행하고, 풀 요청을 엽니다. git 저장소가 필요합니다. 예: `/batch migrate src/ from JavaScript to TypeScript` |64| `/batch <instruction>` | **[스킬](/docs/ko/skills#bundled-skills).** 코드베이스 전체에서 대규모 변경을 병렬로 조율합니다. 코드베이스를 연구하고, 작업을 5\~30개의 독립적인 단위로 분해하고, 계획을 제시합니다. 승인되면 격리된 [git 워크트리](/docs/ko/worktrees)에서 단위당 하나의 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)를 생성합니다. 각 서브에이전트는 해당 단위를 구현하고, 테스트를 실행하고, 풀 요청을 엽니다. git 저장소가 필요합니다. 예: `/batch migrate src/ from JavaScript to TypeScript` |

65| `/branch [name]` | 현재 대화의 이 지점에서 분기를 생성하여 대화를 잃지 않고 다른 방향을 시도할 수 있습니다. 분기로 전환하고 원본을 보존하며, `/resume`으로 돌아갈 수 있습니다. 분기로 전환하는 대신 별도의 [백그라운드 세션](/docs/ko/agent-view)으로 복사본을 실행하려면 `/fork`를 사용하십시오. 이 대화로 다시 보고하는 [서브에이전트](/docs/ko/sub-agents)에 부작업을 넘기려면 `/subtask`를 사용하십시오. |65| `/branch [name]` | 현재 대화의 이 지점에서 분기를 생성하여 대화를 잃지 않고 다른 방향을 시도할 수 있습니다. 분기로 전환하고 원본을 보존합니다. `/resume`으로 원본으로 돌아갈 수 있습니다. 분기로 전환하는 대신 별도의 [백그라운드 세션](/docs/ko/agent-view)으로 복사본을 실행하려면 `/fork`를 사용합니다. 이 대화로 보고하는 [서브에이전트](/docs/ko/sub-agents)에 부작업을 넘기려면 `/subtask`를 사용합니다. |

66| `/btw [question]` | 대화에 추가하지 않고 현재 세션에 대한 [부작업 질문](/docs/ko/interactive-mode#side-questions-with-%2Fbtw)을 합니다. 질문 없이 `/btw`를 실행하면 Claude Code가 가장 최근의 부작업 질문을 표시하여 이전 답변을 검색할 수 있습니다. 아직 질문하지 않았으면 Claude Code가 사용 라인을 인쇄합니다. v2.1.212 이전에는 `/btw`에 질문이 필요했습니다. |66| `/btw [question]` | 대화에 추가하지 않고 현재 세션에 대한 [부가 질문](/docs/ko/interactive-mode#side-questions-with-%2Fbtw)을 합니다. 질문 없이 `/btw`를 실행하면 Claude Code가 가장 최근의 부가 질문을 표시하여 이전 답변을 검색할 수 있습니다. 아직 질문하지 않았으면 Claude Code가 사용 라인을 출력합니다. v2.1.212 이전에는 `/btw`에 질문이 필요했습니다. |

67| `/bug [report]` | 버그를 보고하거나 대화를 공유합니다. 포함할 세션 기록의 양을 선택하고 아무것도 전송되기 전에 동의 화면에서 확인합니다. 첫 번째 당사자 연결에서 Anthropic에 로그인하면 보고서가 Anthropic으로 이동합니다. 제3자 제공자 또는 Anthropic 자격증명 없이 Claude Code는 보고서를 [`~/.claude/feedback-bundles/`](/docs/ko/data-usage#telemetry-services) 아래의 [로컬 아카이브](/docs/ko/data-usage#telemetry-services)에 작성하여 직접 전달합니다. [VS Code 확장](/docs/ko/vs-code#use-the-prompt-box)에서 `/bug`는 대신 확장의 자체 피드백 대화를 엽니다. Claude Code v2.1.229 이상이 필요합니다. Claude가 응답하는 동안 실행하면 Claude Code가 대화를 즉시 엽니다. v2.1.232 이전에는 Claude Code가 턴이 끝날 때까지 명령어를 대기열에 넣었습니다. 별칭: `/share`. v2.1.212 이전에는 `/bug`와 `/share`가 `/feedback`의 별칭이었습니다. |67| `/bug [report]` | 버그를 보고하거나 대화를 공유합니다. 포함할 세션 기록의 양을 선택하고 무엇이든 전송되기 전에 동의 화면에서 확인합니다. Anthropic에 첫 번째 당사자 연결로 로그인하면 보고서가 Anthropic으로 이동합니다. 타사 제공자 또는 Anthropic 자격 증명 없이 Claude Code는 보고서를 [`~/.claude/feedback-bundles/`](/docs/ko/data-usage#telemetry-services) 아래의 [로컬 아카이브](/docs/ko/data-usage#telemetry-services)에 작성하여 직접 전달합니다. [VS Code 확장](/docs/ko/vs-code#use-the-prompt-box)에서 `/bug`는 대신 확장의 자체 피드백 대화를 엽니다. Claude Code v2.1.229 이상이 필요합니다. Claude가 응답하는 동안 실행하면 Claude Code가 대화를 즉시 엽니다. v2.1.232 이전에는 Claude Code가 턴이 끝날 때까지 명령어를 대기열에 넣었습니다. 별칭: `/share`. v2.1.212 이전에는 `/bug`와 `/share`가 `/feedback`의 별칭이었습니다. |

68| `/cd <path>` | 이 세션을 새 작업 디렉토리로 이동하여 대화를 유지합니다. 부분 경로를 입력하여 일치하는 디렉토리 제안을 확인하고, `Tab`을 눌러 하나를 수락합니다. 제안에는 Claude Code v2.1.206 이상이 필요합니다. Claude Code가 새 디렉토리에서 즉시 적용하는 것과 `/cd`가 `/add-dir`과 어떻게 다른지에 대해서는 [세션을 다른 디렉토리로 이동](/docs/ko/permissions#move-the-session-to-another-directory)을 참조하십시오. |68| `/cd <path>` | 이 세션을 새 작업 디렉토리로 이동하여 대화를 유지합니다. 부분 경로를 입력하여 일치하는 디렉토리 제안을 확인하고, `Tab`을 눌러 하나를 수락합니다. 제안은 Claude Code v2.1.206 이상이 필요합니다. Claude Code가 새 디렉토리로 이동할 때 즉시 적용하는 항목과 `/cd`가 `/add-dir`과 어떻게 다른지는 [세션을 다른 디렉토리로 이동](/docs/ko/permissions#move-the-session-to-another-directory)을 참조하십시오. |

69| `/chrome` | [Claude in Chrome](/docs/ko/chrome) 설정을 구성합니다. |69| `/chrome` | [Chrome의 Claude](/docs/ko/chrome) 설정을 구성합니다. |

70| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[스킬](/docs/ko/skills#bundled-skills).** 프로젝트의 언어에 대한 [Claude API](https://platform.claude.com/docs/en/api/overview) 및 [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) 참조 자료를 로드합니다. 코드가 `anthropic` 또는 `@anthropic-ai/sdk`를 가져올 때도 자동으로 활성화됩니다. 기존 Claude API 코드를 최신 모델로 업데이트하려면 `migrate`를 실행합니다. 프로젝트의 Anthropic SDK 종속성을 주 버전 전체에서 이동하려면 `upgrade`를 실행합니다. 현재 Python `anthropic` 패키지를 0.x에서 1.x로 이동합니다. 새 Managed Agent를 생성하는 연습을 위해 `managed-agents-onboard`를 실행합니다. 이전 모델용으로 작성된 지침을 프롬프트, 스킬 및 도구 설명에서 플래그하고 수정 사항을 diff로 제안하려면 `prompt-audit`를 실행합니다. 프로젝트의 Claude API 지출이 어디로 가는지 프로파일링하고 프롬프트 캐싱, 불필요한 입력 및 출력 토큰 제거, 배치 처리, 노력 및 모델 선택과 같은 옵션에서 절감을 제안하려면 `cost-optimize`를 실행합니다. 한 번에 하나씩 변경합니다. Claude 기반 앱에 대한 eval 세트를 구축하려면 `build-eval`을 실행하고, 기존 eval에 대해 앱을 반복적으로 개선하려면 `hillclimb`를 실행합니다. `prompt-audit` 하위 명령어는 Claude Code v2.1.221 이상이 필요하고, `upgrade`는 v2.1.236 이상이 필요하며, `cost-optimize`는 v2.1.247 이상이 필요하고, `build-eval` 및 `hillclimb`는 v2.1.259 이상이 필요합니다. |70| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[스킬](/docs/ko/skills#bundled-skills).** 프로젝트의 언어에 대한 [Claude API](https://platform.claude.com/docs/en/api/overview) 및 [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) 참조 자료를 로드합니다. 코드가 `anthropic` 또는 `@anthropic-ai/sdk`를 가져올 때도 자동으로 활성화됩니다. `migrate`를 실행하여 기존 Claude API 코드를 최신 모델로 업데이트합니다. 프로젝트의 Anthropic SDK 종속성을 주요 버전 간에 이동하려면 `upgrade`를 실행합니다. 현재 Python `anthropic` 패키지를 0.x에서 1.x로 이동합니다. 새 Managed Agent를 생성하는 연습을 위해 `managed-agents-onboard`를 실행합니다. 프롬프트, 스킬 및 도구 설명에서 이전 모델용으로 작성된 지침을 플래그하고 diff로 수정 사항을 제안하려면 `prompt-audit`를 실행합니다. 프로젝트의 Claude API 지출이 어디로 가는지 프로파일링하고 프롬프트 캐싱, 불필요한 입력 및 출력 토큰 제거, 배치 처리, 노력 및 모델 선택과 같은 옵션에서 절감을 제안하려면 `cost-optimize`를 실행합니다. 한 번에 한 가지 변경씩 진행합니다. Claude 기반 앱에 대한 평가 세트를 구축하려면 `build-eval`을 실행하고, 기존 평가에 대해 앱을 반복적으로 개선하려면 `hillclimb`를 실행합니다. `prompt-audit` 하위 명령어는 Claude Code v2.1.221 이상이 필요하고, `upgrade`는 v2.1.236 이상이 필요하며, `cost-optimize`는 v2.1.247 이상이 필요하고, `build-eval` 및 `hillclimb`는 v2.1.259 이상이 필요합니다. |

71| `/clear [name]` | 빈 컨텍스트로 새 대화를 시작합니다. 이전 대화를 `/resume` 피커에서 레이블을 지정하려면 이름을 전달합니다. 같은 대화를 계속하면서 컨텍스트를 확보하려면 `/compact`를 대신 사용합니다. `/resume`으로 이전 대화를 재개하거나, 같은 Claude Code 프로세스에서 [되감기 메뉴의 이전 세션 항목](/docs/ko/checkpointing#rewind-past-a-cleared-conversation)에서 복원합니다. 되감기 항목에는 Claude Code v2.1.191 이상이 필요합니다. 별칭: `/reset`, `/new` |71| `/clear [name]` | 빈 컨텍스트로 새 대화를 시작합니다. 이전 대화를 `/resume` 선택기에서 레이블을 지정하려면 이름을 전달합니다. 같은 대화를 계속하면서 컨텍스트를 확보하려면 `/compact`를 대신 사용합니다. `/resume`으로 이전 대화를 재개하거나 같은 Claude Code 프로세스에서 [되감기 메뉴의 이전 세션 항목](/docs/ko/checkpointing#rewind-past-a-cleared-conversation)에서 복원합니다. 되감기 항목은 Claude Code v2.1.191 이상이 필요합니다. 별칭: `/reset`, `/new` |

72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[스킬](/docs/ko/skills#bundled-skills).** 현재 diff 또는 전달하는 PR 번호, 분기 또는 경로를 검토하여 정확성 버그 및 정리 기회를 찾습니다. 결과를 적용하려면 `--fix`를 전달하고, GitHub PR 또는 GitLab 병합 요청에 게시하려면 `--comment`를 전달하거나, 깊은 [클라우드 검토](/docs/ko/ultrareview)를 실행하려면 `ultra`를 전달합니다. GitLab 병합 요청에 게시하려면 Claude Code v2.1.257 이상이 필요합니다. `github.com` PR 대상에서 `ultra`를 사용하면 `--post`를 전달하여 [PR에 완료된 결과를 게시](/docs/ko/ultrareview#post-findings-to-the-pull-request)하는 것을 시작 대화에서 미리 선택합니다. `--post`는 Claude Code v2.1.227 이상이 필요합니다. 노력 수준, 대상 지정 및 `/simplify`와의 관계에 대해서는 [로컬에서 diff 검토](/docs/ko/code-review#review-a-diff-locally)를 참조하십시오. 별칭: `/review` |72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[스킬](/docs/ko/skills#bundled-skills).** 현재 diff 또는 전달한 PR 번호, 분기 또는 경로를 정확성 버그에 대해 검토합니다. 모델 및 노력 수준에 따라 검토는 정리 기회도 포함합니다. `--fix`를 전달하여 결과를 적용하고, `--comment`를 전달하여 GitHub PR 또는 GitLab 병합 요청에 게시하거나, `ultra`를 전달하여 깊은 [클라우드 검토](/docs/ko/ultrareview)를 실행합니다. GitLab 병합 요청에 게시하려면 Claude Code v2.1.257 이상이 필요합니다. `github.com` PR 대상에서 `ultra`를 사용하면 `--post`를 전달하여 시작 대화에서 [완료된 결과를 PR에 게시](/docs/ko/ultrareview#post-findings-to-the-pull-request)하는 것을 미리 선택합니다. `--post`는 Claude Code v2.1.227 이상이 필요합니다. 노력 수준, 대상 지정 및 `/simplify`와의 관계는 [로컬에서 diff 검토](/docs/ko/code-review#review-a-diff-locally)를 참조하십시오. 별칭: `/review` |

73| `/color [color\|default]` | 현재 세션의 프롬프트 바 색상을 설정합니다. 사용 가능한 색상: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. `default`를 사용하여 재설정하거나 인수 없이 실행하여 임의의 색상을 선택합니다. [Remote Control](/docs/ko/remote-control)이 연결되면 색상이 claude.ai/code로 동기화됩니다. 비대화형 모드(`-p`)에서도 사용 가능합니다. Claude Code v2.1.205 이상이 필요합니다. |73| `/color [color\|default]` | 현재 세션의 프롬프트 바 색상을 설정합니다. 사용 가능한 색상: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. `default`를 사용하여 재설정하거나 인수 없이 실행하여 임의의 색상을 선택합니다. [원격 제어](/docs/ko/remote-control)가 연결되면 색상이 claude.ai/code로 동기화됩니다. 비대화형 모드(`-p`)에서도 사용 가능합니다. Claude Code v2.1.205 이상이 필요합니다. |

74| `/compact [instructions]` | 지금까지의 대화를 요약하여 컨텍스트를 확보합니다. 선택적으로 요약에 대한 포커스 지침을 전달합니다. [압축이 규칙, 스킬 및 메모리 파일을 처리하는 방법](/docs/ko/context-window#what-survives-compaction)을 참조하십시오. |74| `/compact [instructions]` | 지금까지의 대화를 요약하여 컨텍스트를 확보합니다. 선택적으로 요약에 대한 포커스 지침을 전달합니다. [압축이 규칙, 스킬 및 메모리 파일을 처리하는 방법](/docs/ko/context-window#what-survives-compaction)을 참조하십시오. |

75| `/config [key=value ...]` | [설정](/docs/ko/settings) 인터페이스를 열어 테마, 모델, [출력 스타일](/docs/ko/output-styles) 및 기타 기본 설정을 조정합니다. 하나 이상의 `key=value` 쌍을 전달하여 인터페이스를 열지 않고 설정을 직접 설정합니다(예: `/config thinking=false`, `/config theme=dark` 또는 `/config model=sonnet`). `key=value` 형식은 비대화형 모드(`-p`)와 [Remote Control](/docs/ko/remote-control)을 통한 Claude 모바일 앱에서도 작동합니다. `key=value` 형식은 [`autoContinueAtUsageLimit`](/docs/ko/interactive-mode#turn-automatic-continue-off)와 같이 패널에서 확인이 필요한 설정을 켤 수 없지만 끌 수는 있습니다. `/config --help`를 실행하여 허용하는 키를 나열합니다. 별칭: `/settings` |75| `/config [key=value ...]` | [설정](/docs/ko/settings) 인터페이스를 열어 테마, 모델, [출력 스타일](/docs/ko/output-styles) 및 기타 기본 설정을 조정합니다. 인터페이스를 열지 않고 직접 설정을 지정하려면 하나 이상의 `key=value` 쌍을 전달합니다(예: `/config thinking=false`, `/config theme=dark` 또는 `/config model=sonnet`). `key=value` 형식은 비대화형 모드(`-p`)와 [원격 제어](/docs/ko/remote-control)를 통한 Claude 모바일 앱에서도 작동합니다. `key=value` 형식은 [`autoContinueAtUsageLimit`](/docs/ko/interactive-mode#turn-automatic-continue-off)와 같이 패널에서 확인이 필요한 설정을 켤 수 없지만 끌 수는 있습니다. `/config --help`를 실행하여 허용하는 키를 나열합니다. 별칭: `/settings` |

76| `/context [all]` | 현재 컨텍스트 사용을 색상 그리드로 시각화합니다. 컨텍스트가 많은 도구, 메모리 팽창 및 용량 경고에 대한 최적화 제안을 표시합니다. 대화가 컨텍스트 윈도우를 초과하면 출력에 [경고](/docs/ko/errors#context-exceeds-the-token-limit)가 포함되어 한계를 초과한 정도와 어떤 명령어가 공간을 확보하는지 표시합니다. [전체 화면 모드](/docs/ko/fullscreen)에서 `/context`는 항목별 분석을 축소하여 그리드를 표시 상태로 유지합니다. `all`을 전달하여 확장합니다. |76| `/context [all]` | 현재 컨텍스트 사용을 색상 그리드로 시각화합니다. 컨텍스트가 많은 도구, 메모리 팽창 및 용량 경고에 대한 최적화 제안을 표시합니다. 대화가 컨텍스트 윈도우를 초과하면 출력에 [경고](/docs/ko/errors#context-exceeds-the-token-limit)가 포함되어 한계를 얼마나 초과했는지와 어떤 명령어가 공간을 확보하는지 보여줍니다. [전체 화면 모드](/docs/ko/fullscreen)에서 `/context`는 항목별 분석을 축소하여 그리드를 표시 상태로 유지합니다. `all`을 전달하여 확장합니다. |

77| `/copy [N]` | 마지막 어시스턴트 응답을 클립보드에 복사합니다. 숫자 `N`을 전달하여 N번째 최신 응답을 복사합니다. `/copy 2`는 두 번째 최신 응답을 복사합니다. 코드 블록이 있으면 개별 블록 또는 전체 응답을 선택하는 대화형 피커를 표시합니다. 피커에서 `w`를 눌러 클립보드 대신 파일에 선택 항목을 작성합니다. SSH를 통해 유용합니다. |77| `/copy [N]` | 마지막 어시스턴트 응답을 클립보드에 복사합니다. 숫자 `N`을 전달하여 N번째 최신 응답을 복사합니다. `/copy 2`는 두 번째 마지막 응답을 복사합니다. 코드 블록이 있으면 개별 블록 또는 전체 응답을 선택하는 대화형 선택기를 표시합니다. 선택기에서 `w`를 눌러 클립보드 대신 파일에 선택 항목을 작성합니다. SSH를 통해 유용합니다. |

78| `/cost` | `/usage`의 별칭입니다. |78| `/cost` | `/usage`의 별칭입니다. |

79| `/dataviz [request]` | **[스킬](/docs/ko/skills#bundled-skills).** 차트, 그래프 및 대시보드에 대한 설계 지침입니다. Claude가 데이터에 대한 차트 형식을 선택하고, 역할별로 색상을 할당하고, 번들로 제공되는 스크립트로 색맹 안전성 및 대비를 위해 팔레트를 검증하고, 마크, 상호 작용 및 접근성 규칙을 적용합니다. 자신의 팔레트로 바꾸는 브랜드 중립 자리 표시자 팔레트를 사용합니다. Claude Code v2.1.198 이상이 필요합니다. |79| `/dataviz [request]` | **[스킬](/docs/ko/skills#bundled-skills).** 차트, 그래프 및 대시보드에 대한 설계 지침입니다. Claude가 데이터에 대한 차트 형식을 선택하고, 역할별로 색상을 할당하고, 번들로 제공되는 스크립트로 색맹 안전성 및 대비에 대한 팔레트를 검증하고, 마크, 상호 작용 및 접근성 규칙을 적용합니다. 자신의 팔레트로 바꾸는 브랜드 중립 자리 표시자 팔레트를 사용합니다. Claude Code v2.1.198 이상이 필요합니다. |

80| `/debug [description]` | **[스킬](/docs/ko/skills#bundled-skills).** 현재 세션에 대한 디버그 로깅을 활성화하고 세션 디버그 로그를 읽어 문제를 해결합니다. 디버그 로깅은 기본적으로 꺼져 있으며 `claude --debug`로 시작하지 않으면 `/debug`를 실행하여 그 시점부터 로그 캡처를 시작합니다. 선택적으로 분석에 초점을 맞추기 위해 문제를 설명합니다. |80| `/debug [description]` | **[스킬](/docs/ko/skills#bundled-skills).** 현재 세션에 대한 디버그 로깅을 활성화하고 세션 디버그 로그를 읽어 문제를 해결합니다. `claude --debug`로 시작하지 않으면 디버그 로깅이 기본적으로 꺼져 있으므로 세션 중에 `/debug`를 실행하면 그 시점부터 로그 캡처를 시작합니다. 선택적으로 분석에 초점을 맞추기 위해 문제를 설명합니다. |

81| `/deep-research <question>` | **[워크플로우](/docs/ko/workflows#bundled-workflows).** 질문에 대한 웹 검색을 분산하고, 소스를 가져오고 교차 확인하고, 인용된 보고서를 합성합니다. |81| `/deep-research <question>` | **[워크플로우](/docs/ko/workflows#bundled-workflows).** 질문에 대한 웹 검색을 분산하고, 소스를 가져오고 교차 확인하고, 인용된 보고서를 합성합니다. |

82| `/design [brief]` | **[스킬](/docs/ko/skills#bundled-skills).** UI 목업, 화면 흐름, 랜딩 페이지 또는 포스터를 하나의 캔버스에 아트보드로 작성하고, [아티팩트](/docs/ko/artifacts#draft-a-design-canvas)로 게시합니다(예: `/design a settings screen for a mobile banking app`). 데스크톱 브라우저에서 아트보드를 편집하고 편집 사항이 자동으로 저장됩니다. 각 아트보드를 PNG 또는 PDF로 내보낼 수 있습니다. [아티팩트를 사용할 수 있는](/docs/ko/artifacts#availability) 세션과 Claude Code v2.1.265 이상이 필요합니다. Anthropic API에서 사용 가능합니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 AWS의 Claude Platform에서는 아티팩트를 사용할 수 없으므로 명령어를 사용할 수 없습니다. |82| `/design [brief]` | **[스킬](/docs/ko/skills#bundled-skills).** UI 목업, 화면 흐름, 랜딩 페이지 또는 포스터를 하나의 캔버스에 아트보드로 초안 작성하고, 설계 [아티팩트](/docs/ko/artifacts#draft-a-design-canvas)로 게시합니다(예: `/design a settings screen for a mobile banking app`). 데스크톱 브라우저에서 아트보드를 편집하고 편집 사항이 자동으로 저장됩니다. 각 아트보드를 PNG 또는 PDF로 내보낼 수 있습니다. [아티팩트를 사용할 수 있는](/docs/ko/artifacts#availability) 세션과 Claude Code v2.1.265 이상이 필요합니다. Anthropic API에서 사용 가능합니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 AWS의 Claude Platform에서는 아티팩트를 사용할 수 없으므로 명령어를 사용할 수 없습니다. |

83| `/design-login` | `/design-sync`에 대한 설계 시스템 액세스를 claude.ai 계정으로 인증합니다. |83| `/design-login` | claude.ai 계정으로 `/design-sync`에 대한 설계 시스템 액세스를 승인합니다. |

84| `/design-sync [hint]` | **[스킬](/docs/ko/skills#bundled-skills).** 저장소의 React 설계 시스템을 변환하고 [Claude Design](https://claude.ai/design)에 업로드하여 생성하는 설계가 실제 구성 요소를 사용하도록 합니다. 선택적으로 설계 시스템의 이름을 지정합니다(예: `/design-sync Acme DS`). 처음 동기화하면 모든 구성 요소를 확인하고 큰 저장소에서 몇 시간이 걸릴 수 있습니다. Anthropic API에서 사용 가능합니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 AWS의 Claude Platform에서는 기본 도구가 claude.ai에 도달할 수 없으므로 명령어를 사용할 수 없습니다. |84| `/design-sync [hint]` | **[스킬](/docs/ko/skills#bundled-skills).** 저장소의 React 설계 시스템을 변환하고 [Claude Design](https://claude.ai/design)에 업로드하여 생성하는 설계가 실제 구성 요소를 사용하도록 합니다. 선택적으로 설계 시스템의 이름을 지정합니다(예: `/design-sync Acme DS`). 처음 동기화할 때 모든 구성 요소를 확인하고 큰 저장소에서 몇 시간이 걸릴 수 있습니다. Anthropic API에서 사용 가능합니다. CLI가 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform에서 연락하지 않는 claude.ai가 필요하거나 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해 명령어를 사용할 수 없습니다. |

85| `/desktop` | 현재 세션을 Claude Code Desktop 앱에서 계속합니다. macOS 또는 x64 Windows와 Claude 구독이 필요합니다. 별칭: `/app` |85| `/desktop` | 현재 세션을 Claude Code Desktop 앱에서 계속합니다. macOS 또는 x64 Windows와 Claude 구독이 필요합니다. 별칭: `/app` |

86| `/diff` | 지금까지 Claude가 만든 편집을 포함하여 작업 트리의 변경 사항을 검토합니다. [/diff로 변경 사항 검토](/docs/ko/interactive-mode#review-changes-with-%2Fdiff)를 참조하십시오. |86| `/diff` | 작업 트리의 변경 사항(Claude가 지금까지 수행한 편집 포함)을 검토합니다. [/diff로 변경 사항 검토](/docs/ko/interactive-mode#review-changes-with-%2Fdiff)를 참조하십시오. |

87| `/doctor` | **[스킬](/docs/ko/skills#bundled-skills).** 문제를 진단하고 수정할 수 있는 설정 점검을 실행합니다. 중복 또는 남은 설치, `PATH` 문제 및 구문 분석할 수 없는 설정 파일을 포함한 설치 상태를 확인합니다. 사용하지 않는 스킬, MCP 서버 및 플러그인과 컨텍스트 비용을 찾고, 느린 [훅](/docs/ko/hooks)을 플래그하고, [릴리스 채널](/docs/ko/setup#configure-release-channel)에서 최신 버전을 확인합니다. 로컬 `CLAUDE.md` 파일을 체크인된 파일과 중복 제거하고, 체크인된 [`CLAUDE.md`](/docs/ko/memory#my-claude-md-is-too-large) 파일을 Claude가 코드베이스에서 파생할 수 있는 콘텐츠를 잘라내어 정리하고, 남은 항상 로드되는 지침을 [스킬](/docs/ko/skills) 및 중첩된 `CLAUDE.md` 파일로 마이그레이션하여 요청 시 로드합니다. 또한 [자동 모드](/docs/ko/permissions#permission-modes)를 기본값으로 설정하고 자주 거부되는 읽기 전용 명령어를 [사전 승인](/docs/ko/permissions)하도록 제안합니다. 먼저 결과를 보고하고 아무것도 변경하기 전에 확인을 요청합니다. 터미널에서 `claude doctor`는 세션을 시작하지 않고 읽기 전용 설치 진단을 인쇄합니다. 별칭: `/checkup`. CLAUDE.md 정리 확인에는 Claude Code v2.1.206 이상이 필요합니다. v2.1.205 이전에는 `/doctor`가 읽기 전용 진단 화면을 열었고 `f`를 누르면 보고서를 Claude로 보냈습니다. |87| `/doctor` | **[스킬](/docs/ko/skills#bundled-skills).** 문제를 진단하고 수정할 수 있는 설정 점검을 실행합니다. 중복 또는 남은 설치, `PATH` 문제 및 구문 분석할 수 없는 설정 파일을 포함한 설치 상태를 확인합니다. 컨텍스트 비용에 비해 사용하지 않는 스킬, MCP 서버 및 플러그인을 찾고, 느린 [훅](/docs/ko/hooks)을 플래그하고, [릴리스 채널](/docs/ko/setup#configure-release-channel)에서 최신 버전을 확인합니다. 로컬 `CLAUDE.md` 파일을 체크인된 파일과 중복 제거하고, 체크인된 [`CLAUDE.md`](/docs/ko/memory#my-claude-md-is-too-large) 파일을 Claude가 코드베이스에서 파생할 수 있는 콘텐츠를 잘라내어 정리하고, 남은 항상 로드되는 지침을 [스킬](/docs/ko/skills) 및 중첩된 `CLAUDE.md` 파일로 마이그레이션하여 필요에 따라 로드합니다. 또한 [자동 모드](/docs/ko/permissions#permission-modes)를 기본값으로 설정하고 자주 거부된 읽기 전용 명령어를 [미리 승인](/docs/ko/permissions)하도록 제안합니다. 먼저 결과를 보고하고 무엇이든 변경하기 전에 확인을 요청합니다. 터미널에서 `claude doctor`는 세션을 시작하지 않고 읽기 전용 설치 진단을 출력합니다. 별칭: `/checkup`. `CLAUDE.md` 정리 확인은 Claude Code v2.1.206 이상이 필요합니다. v2.1.205 이전에는 `/doctor`가 읽기 전용 진단 화면을 열었고 `f`를 누르면 보고서를 Claude로 보냈습니다. |

88| `/effort [level\|auto\|status]` | [노력 수준](/docs/ko/model-config#adjust-effort-level)을 설정합니다: `low`에서 `xhigh`, `max`, [`ultracode`](/docs/ko/workflows#let-claude-decide-with-ultracode) 또는 `auto`; `status`는 이를 인쇄합니다. `max` 및 `ultracode`는 세션 전용입니다. [`ultracode`](/docs/ko/settings-reference#ultracode) 키는 지속됩니다. Claude가 응답하는 동안 실행하고, [캐시 경고](/docs/ko/prompt-caching#changing-effort-level)를 확인하면 Claude Code가 표시하면 Claude Code가 새 수준을 해당 턴의 다음 요청에 적용합니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에서 명령어를 턴 중에 실행할지 아니면 턴이 끝날 때까지 대기열에 넣을지 결정했으며, [기능 플래그를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(예: [제3자 제공자](/docs/ko/third-party-integrations))에서 항상 대기열에 넣었습니다. `-p` 외부의 [노력 보류](/docs/ko/model-config#adjust-effort-level)에서 작동합니다. |88| `/effort [level\|auto\|status]` | [노력 수준](/docs/ko/model-config#adjust-effort-level)을 설정합니다. `low`에서 `xhigh`, `max`, [`ultracode`](/docs/ko/workflows#let-claude-decide-with-ultracode) 또는 `auto`로 설정합니다. `status`는 이를 출력합니다. `max` 및 `ultracode`는 세션 전용입니다. [`ultracode`](/docs/ko/settings-reference#ultracode) 키는 지속됩니다. Claude가 응답하는 동안 실행하고 Claude Code가 [캐시 경고](/docs/ko/prompt-caching#changing-effort-level)를 표시하면 확인한 후 Claude Code는 새 수준을 해당 턴의 다음 요청에 적용합니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에서 명령어를 턴 중에 실행할지 아니면 턴이 끝날 때까지 대기열에 넣을지 결정했으며, [기능 플래그를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(예: [타사 제공자](/docs/ko/third-party-integrations))에서 항상 대기열에 넣었습니다. 비대화형 모드(`-p`)에서 작동합니다. |

89| `/exit` | CLI를 종료합니다. 첨부된 [백그라운드 세션](/docs/ko/agent-view#attach-to-a-session)에서 이를 분리하고 세션이 계속 실행됩니다. 별칭: `/quit` |89| `/exit` | CLI를 종료합니다. 첨부된 [백그라운드 세션](/docs/ko/agent-view#attach-to-a-session)에서 이를 분리하고 세션이 계속 실행됩니다. 별칭: `/quit` |

90| `/export [filename]` | 현재 대화를 일반 텍스트로 내보냅니다. 파일 이름을 사용하면 해당 파일에 직접 작성합니다. 없으면 클립보드에 복사하거나 파일에 저장하는 대화를 엽니다. |90| `/export [filename]` | 현재 대화를 일반 텍스트로 내보냅니다. 파일 이름을 사용하면 해당 파일에 직접 작성합니다. 없으면 클립보드에 복사하거나 파일에 저장하는 대화를 엽니다. |

91| `/fast [on\|off]` | [빠른 모드](/docs/ko/fast-mode)를 켜거나 끕니다. Claude가 응답하는 동안 실행하면 Claude Code가 턴이 끝날 때까지 기다리지 않고 빠른 모드를 전환합니다. 그러나 실행 중인 턴은 원래 속도로 완료됩니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에서 명령어를 턴 중에 실행할지 아니면 턴이 끝날 때까지 대기열에 넣을지 결정했습니다. 비대화형 모드에서의 가용성(`-p`)은 제한적입니다. [빠른 모드 전환](/docs/ko/fast-mode#toggle-fast-mode)을 참조하십시오. Claude Code v2.1.205 이상이 필요합니다. |91| `/fast [on\|off]` | [빠른 모드](/docs/ko/fast-mode)를 켜거나 끕니다. Claude가 응답하는 동안 실행하면 Claude Code가 턴이 끝날 때까지 기다리지 않고 빠른 모드를 전환하지만 실행 중인 턴은 원래 속도로 완료됩니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에서 명령어를 턴 중에 실행할지 아니면 턴이 끝날 때까지 대기열에 넣을지 결정했습니다. 비대화형 모드에서 `-p`의 가용성은 제한적입니다. [빠른 모드 전환](/docs/ko/fast-mode#toggle-fast-mode)을 참조하십시오. Claude Code v2.1.205 이상이 필요합니다. |

92| `/feedback [report]` | Claude Code에 대한 제품 피드백을 보냅니다. [`/bug`](#all-commands)와 동일한 대화를 열고, 동일한 동의 단계, 전송 규칙 및 턴 중 동작을 사용합니다. [Claude가 작성한 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior)이 있는 세션에서 인수 없이 `/feedback`을 실행하면 대신 Claude가 대기열에 넣은 초안을 검토, 편집, 전송 또는 폐기할 수 있는 초안 큐를 엽니다. 큐에는 대화에서 새 보고서를 작성하는 옵션이 포함됩니다. 인수를 사용하면 `/bug`는 항상 대화를 직접 엽니다. |92| `/feedback [report]` | Claude Code에 대한 제품 피드백을 보냅니다. [`/bug`](#all-commands)와 동일한 대화, 동일한 동의 단계, 전송 규칙 및 턴 중 동작을 엽니다. [Claude가 초안 작성한 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior)이 있는 세션에서 인수 없이 `/feedback`을 실행하면 초안 대기열을 대신 열어 Claude가 대기열에 넣은 초안을 검토, 편집, 전송 또는 삭제할 수 있습니다. 대기열에는 대화에서 새 보고서를 작성하는 옵션이 포함됩니다. 인수를 사용하면 `/bug`는 항상 대화를 직접 엽니다. |

93| `/fewer-permission-prompts` | **[스킬](/docs/ko/skills#bundled-skills).** 기록에서 일반적인 읽기 전용 Bash 및 MCP 도구 호출을 스캔한 다음 프로젝트 `.claude/settings.json`에 우선 순위가 지정된 허용 목록을 추가하여 권한 프롬프트를 줄입니다. |93| `/fewer-permission-prompts` | **[스킬](/docs/ko/skills#bundled-skills).** 기록에서 일반적인 읽기 전용 Bash 및 MCP 도구 호출을 스캔한 다음 프로젝트 `.claude/settings.json`에 우선 순위가 지정된 허용 목록을 추가하여 권한 프롬프트를 줄입니다. |

94| `/focus` | 포커스 보기를 전환합니다. 포커스 보기는 마지막 프롬프트, 편집 diffstat가 있는 한 줄 도구 호출 요약 및 최종 응답만 표시합니다. 도구 호출 요약은 또한 턴에서 시작된 서브에이전트를 계산하고 완료된 백그라운드 작업 알림을 단일 개수로 축소합니다. 선택 항목은 세션 전체에서 지속됩니다. 설정에서 [`viewMode`](/docs/ko/settings-reference#viewmode)를 설정하여 재정의합니다. [전체 화면 렌더링](/docs/ko/fullscreen)에서만 사용 가능합니다. [VS Code 확장](/docs/ko/vs-code#use-the-prompt-box)은 명령 메뉴 전환으로 자체 포커스 보기를 제공하며, 확장 설정으로 저장되고 `viewMode`와 독립적입니다. |94| `/focus` | 포커스 보기를 전환합니다. 마지막 프롬프트, 편집 diffstat이 있는 한 줄 도구 호출 요약 및 최종 응답만 표시합니다. 도구 호출 요약은 또한 턴에서 시작된 서브에이전트를 계산하고 완료된 백그라운드 작업 알림을 단일 개수로 축소합니다. 선택 항목은 세션 간에 유지됩니다. 설정에서 [`viewMode`](/docs/ko/settings-reference#viewmode)를 설정하여 재정의합니다. [전체 화면 렌더링](/docs/ko/fullscreen)에서만 사용 가능합니다. [VS Code 확장](/docs/ko/vs-code#use-the-prompt-box)은 명령 메뉴 전환으로 자체 포커스 보기를 제공하며 `viewMode`와 독립적인 확장 설정으로 저장됩니다. |

95| `/fork [prompt]` | [현재 대화를 새 백그라운드 세션으로 복사](/docs/ko/agent-view#copy-the-session-with-%2Ffork)하고 여기서 계속 작업합니다. 프롬프트를 전달하면 복사본이 즉시 작업을 시작합니다. 없으면 에이전트 보기에서 첫 번째 프롬프트를 기다립니다. 복사본이 [제자리에서 편집](/docs/ko/agent-view#how-file-edits-are-isolated)할 때를 제외하고 Claude Code는 코드 변경을 수행하기 전에 자체 worktree를 생성하도록 지시합니다. 격리 지침에는 Claude Code v2.1.221 이상이 필요합니다. 결과가 이 대화로 돌아오는 서브에이전트에 부작업을 넘기려면 `/subtask`를 사용하십시오. 자신을 복사본으로 전환하려면 `/branch`를 사용하십시오. Claude Code v2.1.212 이상이 필요합니다. v2.1.161부터 v2.1.211까지 그리고 [에이전트 보기가 꺼져](/docs/ko/agent-view#turn-off-agent-view) 있을 때마다 `/fork`는 [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 대신 시작합니다. |95| `/fork [prompt]` | [현재 대화를 새 백그라운드 세션으로 복사](/docs/ko/agent-view#copy-the-session-with-%2Ffork)하고 여기서 계속 작업합니다. 프롬프트를 전달하면 복사본이 즉시 작업을 시작합니다. 없으면 에이전트 보기에서 첫 번째 프롬프트를 기다립니다. 복사본이 [제자리에서 편집](/docs/ko/agent-view#how-file-edits-are-isolated)하는 경우를 제외하고 Claude Code는 코드 변경을 수행하기 전에 자체 워크트리를 생성하도록 지시합니다. 격리 지침은 Claude Code v2.1.221 이상이 필요합니다. 결과가 이 대화로 돌아오는 서브에이전트에 부작업을 넘기려면 `/subtask`를 사용합니다. 직접 복사본으로 전환하려면 `/branch`를 사용합니다. Claude Code v2.1.212 이상이 필요합니다. v2.1.161\~v2.1.211 및 [에이전트 보기가 꺼져](/docs/ko/agent-view#turn-off-agent-view) 있을 때마다 `/fork`는 [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 대신 시작합니다. |

96| `/goal [condition\|clear]` | [목표](/docs/ko/goal)를 설정합니다: Claude는 조건이 충족되거나 목표가 [다른 이유로 지워질](/docs/ko/goal#how-evaluation-works) 때까지 턴 전체에서 작업을 계속합니다. 인수 없이 현재 또는 가장 최근에 달성한 목표를 표시합니다. `clear`, `stop`, `off`, `reset`, `none` 또는 `cancel`은 활성 목표를 조기에 제거합니다. |96| `/goal [condition\|clear]` | [목표](/docs/ko/goal)를 설정합니다. Claude는 조건이 충족되거나 목표가 [다른 이유로 지워질](/docs/ko/goal#how-evaluation-works) 때까지 턴 간에 계속 작업합니다. 인수 없이 현재 또는 가장 최근에 달성한 목표를 표시합니다. `clear`, `stop`, `off`, `reset`, `none` 또는 `cancel`은 활성 목표를 조기에 제거합니다. |

97| `/heapdump` | JavaScript 힙 스냅샷과 메모리 분석을 `~/Desktop` 또는 Linux의 Desktop 폴더가 없는 홈 디렉토리에 작성하여 높은 메모리 사용량을 진단합니다. 메모리 문제를 보고할 때 `-diagnostics.json` 파일만 첨부합니다. `.heapsnapshot`에는 전체 대화와 자격증명이 포함되어 있으므로 공유하지 마십시오. [출력으로 수행할 작업](/docs/ko/troubleshooting#high-cpu-or-memory-usage)을 참조하십시오. |97| `/heapdump` | JavaScript 힙 스냅샷 및 메모리 분석을 `~/Desktop` 또는 Desktop 폴더가 없는 Linux의 홈 디렉토리에 작성하여 높은 메모리 사용량을 진단합니다. 메모리 문제를 보고할 때 `-diagnostics.json` 파일만 첨부합니다. `.heapsnapshot`에는 전체 대화 및 자격 증명이 포함되어 있으므로 공유하지 마십시오. [출력으로 수행할 작업](/docs/ko/troubleshooting#high-cpu-or-memory-usage)을 참조하십시오. |

98| `/help` | 도움말 및 사용 가능한 명령어를 표시합니다. |98| `/help` | 도움말 및 사용 가능한 명령어를 표시합니다. |

99| `/hooks` | 도구 이벤트에 대한 [훅](/docs/ko/hooks) 구성을 봅니다. |99| `/hooks` | 도구 이벤트에 대한 [훅](/docs/ko/hooks) 구성을 봅니다. |

100| `/ide` | IDE 통합을 관리하고 상태를 표시합니다. |100| `/ide` | IDE 통합을 관리하고 상태를 표시합니다. |

101| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | OpenAI Codex, Google Gemini CLI 또는 머신의 Cursor에서 Claude Code로 구성을 가져옵니다. 지침 파일, MCP 서버, 명령어, 서브에이전트 및 스킬을 포함합니다. [비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 `/import`가 찾은 것을 나열하고 가져오기를 확인하는 명령어를 제공합니다. 아무것도 작성하지 않고 미리보기를 보려면 `--dry-run`을 추가하거나 대화형 피커를 건너뛰려면 `--yes`를 추가합니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform에서 사용할 수 없습니다. [Claude apps gateway](/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해서도 사용할 수 없습니다. [기능 플래그 가져오기](/docs/ko/env-vars#features-that-need-feature-flag-fetching)를 끌 때도 사용할 수 없습니다. Claude Code v2.1.213 이상이 필요합니다. Cursor에서 가져오려면 v2.1.265 이상이 필요합니다. |101| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | OpenAI Codex, Google Gemini CLI 또는 컴퓨터의 Cursor에서 Claude Code로 구성을 가져옵니다. 지침 파일, MCP 서버, 명령어, 서브에이전트 및 스킬을 포함합니다. [비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 `/import`가 찾은 항목을 나열하고 가져오기를 확인하는 명령어를 제공합니다. `--dry-run`을 추가하여 아무것도 작성하지 않고 미리 보거나 `--yes`를 추가하여 대화형 선택기를 건너뜁니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform에서 사용할 수 없거나 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해 사용할 수 없습니다. [기능 플래그 가져오기](/docs/ko/env-vars#features-that-need-feature-flag-fetching)를 끌 때도 사용할 수 없습니다. Claude Code v2.1.213 이상이 필요합니다. Cursor에서 가져오려면 v2.1.265 이상이 필요합니다. |

102| `/init` | `CLAUDE.md` 가이드로 프로젝트를 초기화합니다. `CLAUDE_CODE_NEW_INIT=1`을 설정하여 스킬, 훅 및 개인 메모리 파일을 통해 안내하는 대화형 흐름을 사용합니다. `/init`이 OpenAI Codex 또는 Google Gemini CLI 구성을 찾으면 `/import`로 이를 수행하도록 제안합니다. |102| `/init` | `CLAUDE.md` 가이드로 프로젝트를 초기화합니다. `CLAUDE_CODE_NEW_INIT=1`을 설정하여 스킬, 훅 및 개인 메모리 파일을 안내하는 대화형 흐름을 얻습니다. `/init`이 OpenAI Codex 또는 Google Gemini CLI 구성을 찾으면 `/import`로 이를 수행하도록 제안합니다. |

103| `/insights` | 이 머신의 최근 세션을 분석하는 HTML 보고서를 생성합니다: 작업하는 프로젝트, Claude Code 사용 방법, 문제 발생 위치 및 시도할 기능입니다. [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 사용할 수 없습니다. 보고서 위치, 보존 및 비용에 대해서는 [사용 패턴 분석](/docs/ko/costs#analyze-your-usage-patterns)을 참조하십시오. |103| `/insights` | 이 컴퓨터의 최근 세션을 분석하는 HTML 보고서를 생성합니다. 작업하는 프로젝트, Claude Code 사용 방법, 문제 발생 위치 및 시도할 기능을 표시합니다. [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 사용할 수 없습니다. 보고서 위치, 보존 및 비용은 [사용 패턴 분석](/docs/ko/costs#analyze-your-usage-patterns)을 참조하십시오. |

104| `/install-github-app` | 저장소에 Claude GitHub 앱을 설치하고, [GitHub Actions](/docs/ko/github-actions) 워크플로우 및 비밀을 설정하는 선택적 단계를 포함합니다. 저장소를 선택하고 통합을 구성하는 과정을 안내합니다. github.com 저장소에서만 작동합니다. 저장소의 git 원격이 gitlab.com 또는 bitbucket.org에 있으면 명령어가 알림을 인쇄하고 설정을 시작하는 대신 종료합니다. GitLab 파이프라인에서 Claude Code를 실행하려면 [GitLab CI/CD](/docs/ko/gitlab-ci-cd)를 참조하십시오. |104| `/install-github-app` | 저장소에 Claude GitHub 앱을 설치하고 선택적으로 [GitHub Actions](/docs/ko/github-actions) 워크플로우 및 비밀을 설정합니다. 저장소를 선택하고 통합을 구성하는 과정을 안내합니다. github.com 저장소에서만 작동합니다. 저장소의 git 원격이 gitlab.com 또는 bitbucket.org에 있으면 명령어가 알림을 출력하고 설정을 시작하는 대신 종료합니다. GitLab 파이프라인에서 Claude Code를 실행하려면 [GitLab CI/CD](/docs/ko/gitlab-ci-cd)를 참조하십시오. |

105| `/install-slack-app` | Claude Slack 앱을 설치합니다. OAuth 흐름을 완료하기 위해 브라우저를 엽니다. |105| `/install-slack-app` | Claude Slack 앱을 설치합니다. OAuth 흐름을 완료하기 위해 브라우저를 엽니다. |

106| `/keybindings` | [키보드 단축키](/docs/ko/keybindings) 파일을 엽니다. |106| `/keybindings` | [키보드 단축키](/docs/ko/keybindings) 파일을 엽니다. |

107| `/list-agents` | Claude Code가 메시지를 보낼 수 있는 서브에이전트, [에이전트 팀](/docs/ko/agent-teams) 팀원 및 기타 Claude Code 세션을 각각에 사용할 이름과 함께 나열합니다. [교차 세션 메시징](/docs/ko/cross-session-messaging)을 참조하십시오. `/peers`로도 사용 가능합니다. Claude Code v2.1.224 이상이 필요합니다. 이전 버전은 `Unknown command: /list-agents`를 보고합니다. 팀원 행과 이 세션의 자체 이름을 표시하는 첫 번째 줄에는 v2.1.239 이상이 필요합니다. [교차 세션 메시징이 활성화된](/docs/ko/cross-session-messaging#availability) 세션에서만 사용 가능합니다. |107| `/list-agents` | 서브에이전트, [에이전트 팀](/docs/ko/agent-teams) 팀원 및 Claude Code가 메시지를 보낼 수 있는 기타 Claude Code 세션을 각각 사용할 이름과 함께 나열합니다. [교차 세션 메시징](/docs/ko/cross-session-messaging)을 참조하십시오. 또한 `/peers`로 사용 가능합니다. Claude Code v2.1.224 이상이 필요합니다. 이전 버전은 `Unknown command: /list-agents`를 보고합니다. 팀원 행 및 이 세션의 자체 이름을 표시하는 첫 번째 줄은 v2.1.239 이상이 필요합니다. [교차 세션 메시징이 활성화된](/docs/ko/cross-session-messaging#availability) 세션에서만 사용 가능합니다. |

108| `/login` | Anthropic 계정에 로그인합니다. |108| `/login` | Anthropic 계정에 로그인합니다. |

109| `/logout` | Anthropic 계정에서 로그아웃합니다. |109| `/logout` | Anthropic 계정에서 로그아웃합니다. |

110| `/loop [interval] [prompt]` | **[스킬](/docs/ko/skills#bundled-skills).** 세션이 열려 있는 동안 프롬프트를 반복적으로 실행합니다. 간격을 생략하면 Claude가 [반복 간 자체 속도를 조절](/docs/ko/scheduled-tasks#let-claude-choose-the-interval)합니다. 프롬프트를 생략하면 Claude가 [기본 제공 유지 보수 프롬프트](/docs/ko/scheduled-tasks#run-the-built-in-maintenance-prompt) 또는 [`loop.md`](/docs/ko/scheduled-tasks#customize-the-default-prompt-with-loop-md)를 실행합니다. 예: `/loop 5m check if the deploy finished`. [일정에 따라 프롬프트 실행](/docs/ko/scheduled-tasks)을 참조하십시오. 별칭: `/proactive` |110| `/loop [interval] [prompt]` | **[스킬](/docs/ko/skills#bundled-skills).** 세션이 열려 있는 동안 프롬프트를 반복적으로 실행합니다. 간격을 생략하면 Claude가 [반복 간에 자체 속도를 조절](/docs/ko/scheduled-tasks#let-claude-choose-the-interval)합니다. 프롬프트를 생략하면 Claude가 [기본 제공 유지 관리 프롬프트](/docs/ko/scheduled-tasks#run-the-built-in-maintenance-prompt) 또는 [`loop.md`](/docs/ko/scheduled-tasks#customize-the-default-prompt-with-loop-md)를 실행합니다. 예: `/loop 5m check if the deploy finished`. [일정에 따라 프롬프트 실행](/docs/ko/scheduled-tasks)을 참조하십시오. 별칭: `/proactive` |

111| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | MCP 서버 연결 및 OAuth 인증을 관리합니다. 인수 없이 실행하여 대화형 목록을 열거나, `reconnect <server>`를 전달하여 연결이 끊긴 서버를 다시 연결하거나, 서버 이름 또는 `all`을 사용하여 `enable`/`disable`을 전달하여 대화를 열지 않고 연결 상태를 변경합니다. 비대화형 모드(`-p`)에서도 사용 가능하며, 인수 없이 실행하면 목록을 열지 않고 서버 상태의 텍스트 요약을 인쇄합니다. Claude Code v2.1.205 이상이 필요합니다. |111| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | MCP 서버 연결 및 OAuth 인증을 관리합니다. 인수 없이 실행하여 대화형 목록을 열거나 `reconnect <server>`를 전달하여 연결이 끊긴 서버를 다시 연결하거나 `enable`/`disable`을 서버 이름 또는 `all`과 함께 전달하여 대화를 열지 않고 연결 상태를 변경합니다. 비대화형 모드(`-p`)에서도 사용 가능합니다. 인수 없이 실행하면 대화를 열지 않고 서버 상태의 텍스트 요약을 출력합니다. Claude Code v2.1.205 이상이 필요합니다. |

112| `/memory` | `CLAUDE.md` 파일을 편집하고, [자동 메모리](/docs/ko/memory#auto-memory)를 활성화 또는 비활성화하고, 자동 메모리 항목을 봅니다. |112| `/memory` | `CLAUDE.md` 파일을 편집하고, [자동 메모리](/docs/ko/memory#auto-memory)를 활성화 또는 비활성화하고, 자동 메모리 항목을 봅니다. |

113| `/mobile` | Claude 모바일 앱을 다운로드하는 QR 코드를 표시합니다. 별칭: `/ios`, `/android` |113| `/mobile` | Claude 모바일 앱을 다운로드하는 QR 코드를 표시합니다. 별칭: `/ios`, `/android` |

114| `/model [model]` | AI 모델을 전환하고 새 세션의 기본값으로 저장합니다. 지원하는 모델의 경우 왼쪽/오른쪽 화살표를 사용하여 [노력 수준을 조정](/docs/ko/model-config#adjust-effort-level)합니다. 인수 없이 피커를 엽니다. 행에서 `s`를 눌러 현재 세션에만 전환합니다. [Claude Code가 전환을 확인하도록 요청할 때](/docs/ko/prompt-caching#switching-models)를 참조하십시오. 전환을 확인하면 Claude Code가 요청하면 Claude Code가 현재 응답이 완료될 때까지 기다리지 않고 변경을 적용합니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에서 명령어를 턴 중에 실행할지 아니면 턴이 끝날 때까지 대기열에 넣을지 결정했으며, [기능 플래그를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(예: [제3자 제공자](/docs/ko/third-party-integrations))에서 항상 대기열에 넣었습니다. 비대화형 모드(`-p`)에서도 사용 가능하며 피커 대신 모델 인수를 사용하며, 현재 세션에만 적용되고 기본값으로 저장되지 않습니다. Claude Code v2.1.205 이상이 필요합니다. |114| `/model [model]` | AI 모델을 전환하고 새 세션의 기본값으로 저장합니다. 지원하는 모델의 경우 왼쪽/오른쪽 화살표를 사용하여 [노력 수준을 조정](/docs/ko/model-config#adjust-effort-level)합니다. 인수 없이 선택기를 엽니다. 행에서 `s`를 눌러 현재 세션에만 전환합니다. [Claude Code가 전환을 확인하도록 요청할 때](/docs/ko/prompt-caching#switching-models)를 참조하십시오. 전환을 확인하면 Claude Code가 요청하면 Claude Code는 현재 응답이 완료될 때까지 기다리지 않고 변경을 적용합니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에서 명령어를 턴 중에 실행할지 아니면 턴이 끝날 때까지 대기열에 넣을지 결정했으며, [기능 플래그를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(예: [타사 제공자](/docs/ko/third-party-integrations))에서 항상 대기열에 넣었습니다. 비대화형 모드(`-p`)에서도 선택기 대신 모델 인수로 사용 가능합니다. 현재 세션에만 적용되고 기본값으로 저장되지 않습니다. Claude Code v2.1.205 이상이 필요합니다. |

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

116| `/passes` | 친구들과 Claude Code의 무료 주를 공유합니다. 계정이 적격인 경우에만 표시됩니다. |116| `/passes` | 친구들과 Claude Code의 무료 주를 공유합니다. 계정이 적격인 경우에만 표시됩니다. |

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

118| `/plan [description]` | 프롬프트에서 직접 계획 모드로 들어갑니다. 선택적 설명을 전달하여 계획 모드로 들어가고 즉시 해당 작업으로 시작합니다(예: `/plan fix the auth bug`). |118| `/plan [description]` | 프롬프트에서 직접 계획 모드로 들어갑니다. 선택적 설명을 전달하여 계획 모드로 들어가고 즉시 해당 작업으로 시작합니다(예: `/plan fix the auth bug`). |

119| `/plugin [subcommand]` | Claude Code [플러그인](/docs/ko/plugins)을 관리합니다. 인수 없이 실행하여 플러그인 메뉴를 열거나, `list`, `install`, `enable` 또는 `disable`과 같은 하위 명령어를 전달하여 직접 작동합니다. Claude Code는 설치 중에 플러그인을 활성화할 수 있습니다. [설치 요약](/docs/ko/discover-plugins#install-plugins)은 활성화했는지 또는 `/reload-plugins`를 실행해야 하는지 알려줍니다. |119| `/plugin [subcommand]` | Claude Code [플러그인](/docs/ko/plugins)을 관리합니다. 인수 없이 실행하여 플러그인 메뉴를 열거나 `list`, `install`, `enable` 또는 `disable`과 같은 하위 명령어를 전달하여 직접 작동합니다. Claude Code는 설치 중에 플러그인을 활성화할 수 있습니다. [설치 요약](/docs/ko/discover-plugins#install-plugins)은 활성화했는지 또는 `/reload-plugins`를 실행해야 하는지 알려줍니다. |

120| `/powerup` | 애니메이션 데모가 있는 빠른 대화형 수업을 통해 Claude Code 기능을 발견합니다. |120| `/powerup` | 애니메이션 데모가 있는 빠른 대화형 수업을 통해 Claude Code 기능을 발견합니다. |

121| `/pr-comments [PR]` | v2.1.91에서 제거되었습니다. 대신 Claude에 직접 풀 요청 댓글을 보도록 요청합니다. 이전 버전에서는 GitHub 풀 요청에서 댓글을 가져오고 표시합니다. 현재 분기의 PR을 자동으로 감지하거나 PR URL 또는 번호를 전달합니다. `gh` CLI가 필요합니다. |121| `/pr-comments [PR]` | v2.1.91에서 제거됨. 대신 Claude에 직접 풀 요청 댓글을 보도록 요청합니다. 이전 버전에서는 GitHub 풀 요청에서 댓글을 가져오고 표시합니다. 현재 분기에 대한 PR을 자동으로 감지하거나 PR URL 또는 번호를 전달합니다. `gh` CLI가 필요합니다. |

122| `/privacy-settings` | 개인 정보 보호 설정을 보고 업데이트합니다. Pro 및 Max 플랜 구독자만 사용 가능합니다. |122| `/privacy-settings` | 개인 정보 보호 설정을 보고 업데이트합니다. Pro 및 Max 플랜 구독자만 사용 가능합니다. |

123| `/radio` | 브라우저에서 Claude FM lo-fi 라디오를 엽니다. 브라우저를 사용할 수 없을 때 스트림 URL을 인쇄합니다. |123| `/radio` | 브라우저에서 Claude FM lo-fi 라디오를 엽니다. 브라우저를 사용할 수 없을 때 스트림 URL을 출력합니다. |

124| `/rate-limit-options` | claude.ai 사용 한도가 요청을 차단할 때 계속 작업하는 방법을 표시합니다: 기다리고 [한도가 재설정될 때 자동으로 계속](/docs/ko/interactive-mode#wait-for-a-usage-limit-to-reset), [사용 크레딧](/docs/ko/costs#add-usage-credits-to-your-subscription)을 추가하거나 플랜을 업그레이드합니다. Claude Code는 자신의 터미널에서 한도에 도달할 때도 이 메뉴를 열 수 있습니다. [자동 계속 끄기](/docs/ko/interactive-mode#turn-automatic-continue-off)를 참조하십시오. claude.ai 구독이 필요합니다. 명령 메뉴에 나타나지 않습니다. 전체를 입력하십시오. 대기 및 계속 행에는 Claude Code v2.1.234 이상이 필요합니다. |124| `/rate-limit-options` | claude.ai 사용 한도가 요청을 차단할 때 계속 작업하는 방법을 표시합니다. 한도가 재설정될 때 [자동으로 계속](/docs/ko/interactive-mode#wait-for-a-usage-limit-to-reset)하고, [사용 크레딧](/docs/ko/costs#add-usage-credits-to-your-subscription)을 추가하거나 플랜을 업그레이드합니다. Claude Code는 자신의 터미널에서 한도에 도달할 때 이 메뉴를 자동으로 열 수도 있습니다. [자동 계속 끄기](/docs/ko/interactive-mode#turn-automatic-continue-off)를 참조하십시오. claude.ai 구독이 필요합니다. 명령 메뉴에 나타나지 않습니다. 전체를 입력하십시오. 대기 및 계속 행은 Claude Code v2.1.234 이상이 필요합니다. |

125| `/recap` | 현재 세션의 한 줄 요약을 요청 시 생성합니다. 자리를 비운 후 나타나는 [자동 요약](/docs/ko/interactive-mode#session-recap)에 대해서는 [세션 요약](/docs/ko/interactive-mode#session-recap)을 참조하십시오. |125| `/recap` | 현재 세션의 한 줄 요약을 요청 시 생성합니다. 떠난 후 나타나는 자동 요약은 [세션 요약](/docs/ko/interactive-mode#session-recap)을 참조하십시오. |

126| `/release-notes` | 대화형 버전 피커에서 변경 로그를 봅니다. 특정 버전을 선택하여 릴리스 노트를 보거나 모든 버전을 표시하도록 선택합니다. 노트는 Claude가 보는 대화에 들어가지 않고 기록에 나타납니다. |126| `/release-notes` | 대화형 버전 선택기에서 변경 로그를 봅니다. 특정 버전을 선택하여 릴리스 노트를 보거나 모든 버전을 표시하도록 선택합니다. 노트는 Claude가 보는 대화에 들어가지 않고 기록에 나타납니다. |

127| `/reload-plugins [--force]` | 모든 활성 [플러그인](/docs/ko/plugins)을 다시 로드하여 보류 중인 변경 사항을 적용하고 다시 시작하지 않습니다. 각 다시 로드된 구성 요소에 대한 개수를 보고하고 로드 오류를 플래그합니다. 다시 로드가 로드된 MCP 도구를 변경하고 프롬프트 캐시를 무효화할 때 명령어가 경고하고 `--force`를 전달하지 않으면 건너뜁니다. 비대화형 모드(`-p`), Agent SDK 및 데스크톱 앱에서도 사용 가능하며, 세션에 직접 입력된 입력에서만 실행되고 플러그인 MCP 서버 변경을 적용하지 않습니다. Claude Code v2.1.260 이상이 필요합니다. [다시 시작하지 않고 플러그인 변경 적용](/docs/ko/discover-plugins#apply-plugin-changes-without-restarting)을 참조하십시오. |127| `/reload-plugins [--force]` | 모든 활성 [플러그인](/docs/ko/plugins)을 다시 로드하여 보류 중인 변경 사항을 적용하고 다시 시작하지 않습니다. 각 다시 로드된 구성 요소의 개수를 보고하고 로드 오류를 플래그합니다. 다시 로드가 로드된 MCP 도구를 변경하고 프롬프트 캐시를 무효화할 때 명령어가 경고하고 `--force`를 전달하지 않으면 건너뜁니다. 비대화형 모드(`-p`), Agent SDK 및 데스크톱 앱에서도 사용 가능합니다. 세션에 직접 입력된 입력에서만 실행되고 플러그인 MCP 서버 변경을 적용하지 않습니다. Claude Code v2.1.260 이상이 필요합니다. [플러그인 변경 사항을 다시 시작하지 않고 적용](/docs/ko/discover-plugins#apply-plugin-changes-without-restarting)을 참조하십시오. |

128| `/reload-skills` | [스킬](/docs/ko/skills) 및 명령어 디렉토리를 다시 스캔하여 세션 중에 디스크에서 추가되거나 변경된 스킬을 다시 시작하지 않고 사용할 수 있도록 합니다. 사용 가능한 스킬 수와 추가되거나 제거된 스킬 수를 보고합니다. |128| `/reload-skills` | [스킬](/docs/ko/skills) 및 명령어 디렉토리를 다시 스캔하여 세션 중에 디스크에서 추가되거나 변경된 스킬을 다시 시작하지 않고 사용 가능하게 합니다. 사용 가능한 스킬 수와 추가되거나 제거된 스킬 수를 보고합니다. |

129| `/remote-control` | 이 세션을 [Remote Control](/docs/ko/remote-control)에서 claude.ai로 사용 가능하게 합니다. 로그아웃 상태에서 실행하면 Remote Control에 claude.ai 구독이 필요하고 로그인 방법을 알려줍니다. v2.1.206 이전에는 `Unknown command: /remote-control`을 보고했습니다. 별칭: `/rc` |129| `/remote-control` | 이 세션을 claude.ai에서 [원격 제어](/docs/ko/remote-control)에 사용 가능하게 합니다. 로그아웃 상태에서 실행하면 원격 제어에 claude.ai 구독이 필요하고 로그인 방법을 알려줍니다. v2.1.206 이전에는 `Unknown command: /remote-control`을 보고했습니다. 별칭: `/rc` |

130| `/remote-env` | [클라우드 환경](/docs/ko/cloud-environments#select-an-environment-from-the-cli)의 기본 환경을 선택합니다. |130| `/remote-env` | 클라우드 세션에 대한 기본 [클라우드 환경](/docs/ko/cloud-environments#select-an-environment-from-the-cli)을 선택합니다. CLI에서 시작합니다. |

131| `/rename [name]` | 현재 세션의 이름을 바꾸고 프롬프트 바에 이름을 표시합니다. 이름 없이 대화 기록에서 자동 생성합니다. 비대화형 모드(`-p`)에서도 사용 가능합니다. Claude Code v2.1.205 이상이 필요합니다. claude.ai 및 데스크톱 앱을 포함한 모든 이름 바꾸기 표면에서 Claude Code는 새 이름의 제어 및 보이지 않는 문자를 공백으로 바꾸고 이름을 200자로 제한합니다. 보이지 않는 문자가 제거되면 이름이 비어 있으면 Claude Code가 거부하고 `That name is empty once invisible characters are removed. Usage: /rename <name>`을 표시합니다. 문자 교체 및 길이 제한에는 Claude Code v2.1.221 이상이 필요합니다. 이 머신의 다른 라이브 세션이 전달하는 이름을 이미 사용하고 있으면 Claude Code가 [변형을 적용](/docs/ko/sessions#name-your-sessions)합니다. |131| `/rename [name]` | 현재 세션의 이름을 바꾸고 프롬프트 바에 이름을 표시합니다. 이름 없이 대화 기록에서 자동 생성합니다. 비대화형 모드(`-p`)에서도 사용 가능합니다. Claude Code v2.1.205 이상이 필요합니다. claude.ai 및 데스크톱 앱을 포함한 모든 이름 바꾸기 표면에서 Claude Code는 새 이름의 제어 및 보이지 않는 문자를 공백으로 바꾸고 이름을 200자로 제한합니다. 보이지 않는 문자가 제거되면 이름이 비어 있으면 Claude Code가 거부하고 `That name is empty once invisible characters are removed. Usage: /rename <name>`을 표시합니다. 문자 교체 및 길이 제한은 Claude Code v2.1.221 이상이 필요합니다. 이 컴퓨터의 다른 라이브 세션이 전달한 이름을 이미 사용하면 Claude Code가 [변형을 적용](/docs/ko/sessions#name-your-sessions)합니다. |

132| `/resume [session]` | ID 또는 이름으로 대화를 재개하거나 세션 피커를 엽니다. [백그라운드 세션](/docs/ko/agent-view)은 피커에 `bg`로 표시됩니다. 아직 실행 중인 세션은 여기서 재개할 수 없으므로 `claude agents`에서 첨부하거나 먼저 중지합니다. 별칭: `/continue` |132| `/resume [session]` | ID 또는 이름으로 대화를 재개하거나 세션 선택기를 엽니다. [백그라운드 세션](/docs/ko/agent-view)은 선택기에 `bg`로 표시됩니다. 아직 실행 중인 세션은 여기서 재개할 수 없으므로 `claude agents`에서 첨부하거나 먼저 중지합니다. 별칭: `/continue` |

133| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | [`/code-review`](/docs/ko/code-review#review-a-diff-locally)의 별칭: 현재 diff 또는 전달하는 PR 번호, 분기 또는 경로(예: `/review 1234`)를 검토하고 동일한 노력 수준 및 플래그를 사용합니다. 수준이 지정되지 않으면 검토가 마지막으로 입력한 `low`부터 `max` 수준을 재사용합니다. 정확한 규칙에 대해서는 [로컬에서 diff 검토](/docs/ko/code-review#review-a-diff-locally)를 참조하십시오. 깊은 클라우드 검토의 경우 [`/code-review ultra`](/docs/ko/ultrareview)를 사용합니다. v2.1.223 이전에는 `/review`가 GitHub 풀 요청을 번호로 검토하는 별도의 명령어였으며, 인수 없이 실행할 때 열린 PR을 나열하여 선택합니다. v2.1.186부터 v2.1.201까지는 `/code-review medium`과 동일한 다중 에이전트 엔진을 실행했습니다. |133| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | [`/code-review`](/docs/ko/code-review#review-a-diff-locally)의 별칭입니다. 현재 diff 또는 전달한 PR 번호, 분기 또는 경로(예: `/review 1234`)를 검토하고 동일한 노력 수준 및 플래그를 사용합니다. 수준이 지정되지 않으면 검토가 마지막으로 입력한 `low`~~`max` 수준을 재사용합니다. 정확한 규칙은 [로컬에서 diff 검토](/docs/ko/code-review#review-a-diff-locally)를 참조하십시오. 깊은 클라우드 검토의 경우 [`/code-review ultra`](/docs/ko/ultrareview)를 사용합니다. v2.1.223 이전에는 `/review`가 GitHub 풀 요청을 번호로 검토하는 별도의 명령어였으며, 인수 없이 실행할 때 열린 PR을 나열하여 선택합니다. v2.1.186~~v2.1.201에서는 `/code-review medium`과 동일한 다중 에이전트 엔진을 실행했습니다. |

134| `/rewind` | 대화 및/또는 코드를 이전 지점으로 되감기하거나 선택한 메시지에서 요약합니다. [체크포인팅](/docs/ko/checkpointing)을 참조하십시오. 별칭: `/checkpoint`, `/undo` |134| `/rewind` | 대화 및/또는 코드를 이전 지점으로 되감기하거나 선택한 메시지에서 요약합니다. [체크포인팅](/docs/ko/checkpointing)을 참조하십시오. 별칭: `/checkpoint`, `/undo` |

135| `/run` | **[스킬](/docs/ko/skills#bundled-skills).** 프로젝트의 앱을 시작하고 구동하여 테스트를 통과하는 것뿐만 아니라 변경 사항이 작동하는 것을 확인합니다. [앱 실행 및 확인](/docs/ko/skills#run-and-verify-your-app)을 참조하십시오. |135| `/run` | **[스킬](/docs/ko/skills#bundled-skills).** 프로젝트의 앱을 시작하고 구동하여 테스트를 통과하는 것뿐만 아니라 변경 사항이 작동하는 것을 확인합니다. [앱 실행 및 확인](/docs/ko/skills#run-and-verify-your-app)을 참조하십시오. |

136| `/run-skill-generator` | **[스킬](/docs/ko/skills#bundled-skills).** 깨끗한 환경에서 프로젝트의 앱을 빌드, 시작 및 구동하는 방법을 `/run` 및 `/verify`에 가르치고, 프로젝트별 [스킬](/docs/ko/skills#run-and-verify-your-app)을 작성합니다. |136| `/run-skill-generator` | **[스킬](/docs/ko/skills#bundled-skills).** 깨끗한 환경에서 프로젝트의 앱을 빌드, 시작 및 구동하는 방법을 `/run` 및 `/verify`에 가르치십시오. 프로젝트별 [스킬](/docs/ko/skills#run-and-verify-your-app)을 작성합니다. |

137| `/sandbox` | [샌드박스 모드](/docs/ko/sandboxing)를 전환합니다. 지원되는 플랫폼에서만 사용 가능합니다. |137| `/sandbox` | [샌드박스 모드](/docs/ko/sandboxing)를 전환합니다. 지원되는 플랫폼에서만 사용 가능합니다. |

138| `/schedule [description]` | 클라우드에서 실행되는 [루틴](/docs/ko/routines)을 생성, 업데이트, 나열 또는 실행합니다. Claude가 설정을 대화식으로 안내합니다. [루틴의 최근 실행](/docs/ko/routines#manage-routines-from-the-cli)에 대해 물어볼 수도 있습니다. 별칭: `/routines` |138| `/schedule [description]` | 클라우드에서 실행되는 [루틴](/docs/ko/routines)을 생성, 업데이트, 나열 또는 실행합니다. Claude가 설정을 대화식으로 안내합니다. [루틴의 최근 실행](/docs/ko/routines#manage-routines-from-the-cli)에 대해 물어볼 수도 있습니다. 별칭: `/routines` |

139| `/scroll-speed` | 마우스 휠 [스크롤 속도](/docs/ko/fullscreen#mouse-wheel-scrolling)를 대화식으로 조정하고, 대화가 열려 있는 동안 스크롤할 수 있는 눈금자를 사용하여 변경 사항을 미리 봅니다. [전체 화면 렌더링](/docs/ko/fullscreen)에서만 사용 가능하며 JetBrains IDE 터미널에서는 사용할 수 없습니다. |139| `/scroll-speed` | 마우스 휠 [스크롤 속도](/docs/ko/fullscreen#mouse-wheel-scrolling)를 대화식으로 조정합니다. 대화가 열려 있는 동안 스크롤할 수 있는 눈금자로 변경 사항을 미리 봅니다. [전체 화면 렌더링](/docs/ko/fullscreen)에서만 사용 가능하며 JetBrains IDE 터미널에서는 사용할 수 없습니다. |

140| `/security-review` | 현재 분기의 변경 사항을 보안 취약점에 대해 분석합니다. 분기와 원본의 기본 분기 간의 diff를 검토하여 주입, 인증 문제 및 데이터 노출과 같은 위험을 식별합니다. `origin` 원격이 필요합니다. 검토가 `ambiguous argument` 오류로 실패하면 [오류 참조](/docs/ko/errors#security-review-fails-without-origin-head)를 참조하십시오. |140| `/security-review` | 현재 분기의 변경 사항을 보안 취약점에 대해 분석합니다. 분기와 원본의 기본 분기 간의 diff를 검토하여 주입, 인증 문제 및 데이터 노출과 같은 위험을 식별합니다. `origin` 원격이 필요합니다. 검토가 `ambiguous argument` 오류로 실패하면 [오류 참조](/docs/ko/errors#security-review-fails-without-origin-head)를 참조하십시오. |

141| `/setup-bedrock` | 대화형 마법사를 통해 [Amazon Bedrock](/docs/ko/amazon-bedrock) 인증, 지역 및 모델 핀을 구성합니다. `CLAUDE_CODE_USE_BEDROCK=1`이 설정될 때까지 [명령 메뉴에서 숨겨집니다](#how-the-command-menu-matches-what-you-type). 전체를 입력하십시오. 처음 Amazon Bedrock 사용자는 로그인 화면에서도 이 마법사에 액세스할 수 있습니다. |141| `/setup-bedrock` | 대화형 마법사를 통해 [Amazon Bedrock](/docs/ko/amazon-bedrock) 인증, 지역 및 모델 핀을 구성합니다. `CLAUDE_CODE_USE_BEDROCK=1`이 설정될 때까지 [명령 메뉴에서 숨겨집니다](#how-the-command-menu-matches-what-you-type). 전체를 입력하십시오. 처음 Amazon Bedrock 사용자는 로그인 화면에서도 이 마법사에 액세스할 수 있습니다. |

142| `/setup-vertex` | 대화형 마법사를 통해 [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai) 인증, 프로젝트, 지역 및 모델 핀을 구성합니다. `CLAUDE_CODE_USE_VERTEX=1`이 설정될 때까지 [명령 메뉴에서 숨겨집니다](#how-the-command-menu-matches-what-you-type). 전체를 입력하십시오. 처음 Google Cloud의 Agent Platform 사용자는 로그인 화면에서도 이 마법사에 액세스할 수 있습니다. |142| `/setup-vertex` | 대화형 마법사를 통해 [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai) 인증, 프로젝트, 지역 및 모델 핀을 구성합니다. `CLAUDE_CODE_USE_VERTEX=1`이 설정될 때까지 [명령 메뉴에서 숨겨집니다](#how-the-command-menu-matches-what-you-type). 전체를 입력하십시오. 처음 Google Cloud의 Agent Platform 사용자는 로그인 화면에서도 이 마법사에 액세스할 수 있습니다. |

143| `/simplify [target]` | **[스킬](/docs/ko/skills#bundled-skills).** 변경된 코드를 정리 기회에 대해 검토하고 수정 사항을 적용합니다. 4개의 검토 [에이전트](/docs/ko/sub-agents)가 병렬로 실행되어 기존 도우미 재사용, 단순화, 효율성 및 변경이 추상화의 올바른 수준에 있는지 여부를 다룹니다. 검토는 정확성 버그를 찾지 않습니다. `/code-review`를 사용하여 버그를 찾습니다. 경로 또는 PR 참조를 전달하여 특정 대상을 검토합니다. |143| `/simplify [target]` | **[스킬](/docs/ko/skills#bundled-skills).** 변경된 코드를 정리 기회에 대해 검토하고 수정 사항을 적용합니다. 4개의 검토 [에이전트](/docs/ko/sub-agents)가 병렬로 실행되어 기존 도우미 재사용, 단순화, 효율성 및 변경이 추상화의 올바른 수준에 있는지 여부를 다룹니다. 검토는 정확성 버그를 찾지 않습니다. `/code-review`를 사용하여 버그를 찾습니다. 특정 대상을 검토하려면 경로 또는 PR 참조를 전달합니다. |

144| `/skill-doctor` | 각 [스킬](/docs/ko/skills)이 컨텍스트에서 비용이 얼마나 드는지, 얼마나 자주 사용되는지 표시하여 [끌 스킬을 찾을](/docs/ko/skills#find-unused-skills) 수 있습니다. Claude Code v2.1.252 이상과 [기능 플래그 가져오기](/docs/ko/env-vars#features-that-need-feature-flag-fetching)가 필요합니다. |144| `/skill-doctor` | 각 [스킬](/docs/ko/skills)이 컨텍스트에서 비용이 얼마나 드는지와 얼마나 자주 사용되는지 표시하여 [끌 스킬을 찾을](/docs/ko/skills#find-unused-skills) 수 있습니다. Claude Code v2.1.252 이상과 [기능 플래그 가져오기](/docs/ko/env-vars#features-that-need-feature-flag-fetching)가 필요합니다. |

145| `/skills` | 사용 가능한 [스킬](/docs/ko/skills)을 나열합니다. 이름, 설명 또는 소스로 목록을 필터링하려면 입력합니다. `t`를 눌러 토큰 개수로 정렬하고, `Space` 또는 `Enter`를 눌러 [스킬의 가시성을 Claude 및 `/` 메뉴로 순환](/docs/ko/skills#override-skill-visibility-from-settings)하고, `Esc`를 눌러 저장하고 닫습니다. 플러그인 스킬, 프론트매터가 `disable-model-invocation: true`를 설정하는 스킬 또는 관리되는 설정 또는 `--settings` 플래그에 `skillOverrides` 항목이 있는 스킬은 순환할 수 없습니다. |145| `/skills` | 사용 가능한 [스킬](/docs/ko/skills)을 나열합니다. 이름, 설명 또는 소스로 목록을 필터링하려면 입력합니다. `t`를 눌러 토큰 개수로 정렬하고, `Space` 또는 `Enter`를 눌러 [스킬의 가시성을 Claude 및 `/` 메뉴로 순환](/docs/ko/skills#override-skill-visibility-from-settings)하고, `Esc`를 눌러 저장하고 닫습니다. 플러그인 스킬, 프론트매터가 `disable-model-invocation: true`를 설정하는 스킬 또는 관리되는 설정이나 `--settings` 플래그에 `skillOverrides` 항목이 있는 스킬은 순환할 수 없습니다. |

146| `/stats` | `/usage`의 별칭입니다. Stats 탭에서 엽니다. |146| `/stats` | `/usage`의 별칭입니다. 통계 탭에서 엽니다. |

147| `/status` | 설정 인터페이스를 Status 탭에서 열어 버전, 모델, 계정 및 연결을 표시합니다. `Session kind` 행은 [백그라운드 세션](/docs/ko/agent-view)에서 `background job · attached` 또는 `background job · unattended`를 읽고, 다른 세션에서는 `interactive`를 읽습니다. v2.1.221 이전에는 `/status`가 이 행을 표시하지 않았습니다. Claude가 응답하는 동안 작동합니다. |147| `/status` | 설정 인터페이스를 상태 탭에서 엽니다. 버전, 모델, 계정 및 연결을 표시합니다. `Session kind` 행은 [백그라운드 세션](/docs/ko/agent-view)에서 터미널이 첨부되었는지 여부에 따라 `background job · attached` 또는 `background job · unattended`를 읽고, 다른 세션에서는 `interactive`를 읽습니다. v2.1.221 이전에는 `/status`가 이 행을 표시하지 않았습니다. Claude가 응답하는 동안 작동합니다. |

148| `/statusline` | Claude Code의 [상태 라인](/docs/ko/statusline)을 구성합니다. 원하는 것을 설명하거나 인수 없이 실행하여 셸 프롬프트에서 자동 구성합니다. |148| `/statusline` | Claude Code의 [상태 라인](/docs/ko/statusline)을 구성합니다. 원하는 항목을 설명하거나 인수 없이 실행하여 셸 프롬프트에서 자동 구성합니다. |

149| `/stickers` | Claude Code 스티커를 주문합니다. |149| `/stickers` | Claude Code 스티커를 주문합니다. |

150| `/stop` | 현재 [백그라운드 세션](/docs/ko/agent-view)을 중지합니다. 백그라운드 세션에 첨부된 동안에만 사용 가능합니다. 기록 및 모든 worktree는 유지됩니다. 중지하지 않고 분리하려면 `/exit`를 사용하거나 `←`를 누릅니다. |150| `/stop` | 현재 [백그라운드 세션](/docs/ko/agent-view)을 중지합니다. 백그라운드 세션에 첨부된 동안에만 사용 가능합니다. 기록 및 모든 워크트리는 유지됩니다. 중지하지 않고 분리하려면 `/exit`를 사용하거나 `←`를 누릅니다. |

151| `/subtask <task>` | [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 생성합니다: 전체 대화를 상속하고 작업을 수행하는 백그라운드 서브에이전트이며 계속 작업합니다. 완료되면 결과가 이 대화로 돌아옵니다. 대신 대화를 별도의 백그라운드 세션으로 복사하려면 `/fork`를 사용합니다. Claude Code v2.1.212 이상이 필요합니다. v2.1.161부터 v2.1.211까지 이 명령어는 `/fork`입니다. [에이전트 보기가 꺼져](/docs/ko/agent-view#turn-off-agent-view) 있으면 `/subtask`를 사용할 수 없고 `/fork`가 포크된 서브에이전트 동작을 유지합니다. |151| `/subtask <task>` | [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 생성합니다. 전체 대화를 상속하고 작업을 수행하는 백그라운드 서브에이전트입니다. 완료되면 결과가 이 대화로 돌아옵니다. 대신 대화를 별도의 백그라운드 세션으로 복사하려면 `/fork`를 사용합니다. Claude Code v2.1.212 이상이 필요합니다. v2.1.161\~v2.1.211 및 [에이전트 보기가 꺼져](/docs/ko/agent-view#turn-off-agent-view) 있을 때 이 명령어는 `/fork`입니다. 에이전트 보기가 꺼져 있으면 `/subtask`를 사용할 수 없고 `/fork`가 포크된 서브에이전트 동작을 유지합니다. |

152| `/tasks` | 완료된 서브에이전트를 포함하여 현재 세션의 백그라운드 작업을 보고 관리합니다. `/bashes`로도 사용 가능합니다. |152| `/tasks` | 완료된 서브에이전트를 포함하여 현재 세션의 백그라운드 작업을 보고 관리합니다. `/bashes`로도 사용 가능합니다. |

153| `/team-onboarding` | Claude Code 사용 기록에서 팀 온보딩 가이드를 생성합니다. Claude는 지난 30일 동안의 세션, 명령어 및 MCP 서버 사용을 분석하고 팀원이 빠르게 설정하기 위해 첫 번째 메시지로 붙여넣을 수 있는 마크다운 가이드를 생성합니다. claude.ai Pro, Max, Team 및 Enterprise 플랜의 구독자의 경우 팀원이 Claude Code에서 직접 열 수 있는 공유 링크도 반환합니다. |153| `/team-onboarding` | Claude Code 사용 기록에서 팀 온보딩 가이드를 생성합니다. Claude는 지난 30일간의 세션, 명령어 및 MCP 서버 사용을 분석하고 팀원이 빠르게 설정하기 위해 첫 메시지로 붙여넣을 수 있는 마크다운 가이드를 생성합니다. Pro, Max, Team 및 Enterprise 플랜의 claude.ai 구독자의 경우 팀원이 Claude Code에서 직접 열 수 있는 공유 링크도 반환합니다. |

154| `/teleport` | [클라우드 세션](/docs/ko/claude-code-on-the-web#from-cloud-to-terminal)을 이 터미널로 가져옵니다. 피커를 열고 분기와 대화를 가져옵니다. `/tp`로도 사용 가능합니다. claude.ai 구독이 필요합니다. |154| `/teleport` | [클라우드 세션](/docs/ko/claude-code-on-the-web#from-cloud-to-terminal)을 이 터미널로 가져옵니다. 선택기를 열고 분기 및 대화를 가져옵니다. `/tp`로도 사용 가능합니다. claude.ai 구독이 필요합니다. |

155| `/terminal-setup` | VS Code, Cursor, Devin Desktop, Alacritty 또는 Zed에서 [Shift+Enter 키 바인딩을 여러 줄로 설치](/docs/ko/terminal-config#enter-multiline-prompts)합니다. Apple Terminal에서 [Option+Enter를 여러 줄로 활성화하고 청각 벨을 끕니다](/docs/ko/terminal-config#enable-option-key-shortcuts-on-macos). iTerm2에서 [클립보드 액세스를 켜서 `/copy`가 작동하도록](/docs/ko/terminal-config#enable-option-key-shortcuts-on-macos)합니다. |155| `/terminal-setup` | VS Code, Cursor, Devin Desktop, Alacritty 또는 Zed에서 [개행을 위해 Shift+Enter 키 바인딩을 설치](/docs/ko/terminal-config#enter-multiline-prompts)합니다. Apple Terminal에서 [개행을 위해 Option+Enter를 활성화하고 청각 벨을 끕니다](/docs/ko/terminal-config#enable-option-key-shortcuts-on-macos). iTerm2에서 [클립보드 액세스를 켜서 `/copy`가 작동하도록 합니다](/docs/ko/terminal-config#enable-option-key-shortcuts-on-macos). |

156| `/theme` | 색상 테마를 변경합니다. 터미널의 밝은 또는 어두운 배경과 일치하는 `auto` 옵션, 밝은 및 어두운 변형, 색맹 접근 가능(달톤화) 테마, 터미널의 색상 팔레트를 사용하는 ANSI 테마 및 `~/.claude/themes/` 또는 플러그인의 [사용자 정의 테마](/docs/ko/terminal-config#create-a-custom-theme)를 포함합니다. \*\*새 사용자 정의 테마…\*\*를 선택하여 하나를 생성합니다. |156| `/theme` | 색상 테마를 변경합니다. 터미널의 밝은 또는 어두운 배경과 일치하는 `auto` 옵션, 밝은 및 어두운 변형, 색맹 접근 가능(달톤화) 테마, 터미널의 색상 팔레트를 사용하는 ANSI 테마 및 `~/.claude/themes/` 또는 플러그인의 [사용자 정의 테마](/docs/ko/terminal-config#create-a-custom-theme)를 포함합니다. \*\*새 사용자 정의 테마…\*\*를 선택하여 하나를 생성합니다. |

157| `/tui [default\|fullscreen]` | 터미널 UI 렌더러를 설정하고 대화를 유지하면서 다시 시작합니다. `fullscreen`은 [깜박임 없는 alt-screen 렌더러](/docs/ko/fullscreen)를 활성화합니다. 인수 없이 활성 렌더러를 인쇄합니다. |157| `/tui [default\|fullscreen]` | 터미널 UI 렌더러를 설정하고 대화를 유지하면서 다시 시작합니다. `fullscreen`은 [깜박임 없는 alt-screen 렌더러](/docs/ko/fullscreen)를 활성화합니다. 인수 없이 활성 렌더러를 출력합니다. |

158| `/ultraplan <prompt>` | 제거되었습니다. 대신 [계획 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)를 사용합니다. 이전에는 [클라우드 세션](/docs/ko/claude-code-on-the-web)에 계획 작업을 보내 브라우저에서 검토했습니다. |158| `/ultraplan <prompt>` | 제거됨. 대신 [계획 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)를 사용합니다. 이전에는 [클라우드 세션](/docs/ko/claude-code-on-the-web)에 계획 작업을 보내 브라우저에서 검토했습니다. |

159| `/ultrareview [PR or branch]` | [ultrareview](/docs/ko/ultrareview)를 사용하여 클라우드 샌드박스에서 깊은 다중 에이전트 코드 검토를 실행합니다. PR 참조를 전달하여 해당 풀 요청을 검토하거나 분기 이름을 전달하여 비교 기준을 변경합니다. 선호하는 호출은 이제 `/code-review ultra`이고 `/ultrareview`는 별칭으로 유지됩니다. Pro 및 Max에서 3개의 무료 실행을 포함한 다음 [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)이 필요합니다. |159| `/ultrareview [PR or branch]` | [초리뷰](/docs/ko/ultrareview)를 사용하여 클라우드 샌드박스에서 깊은 다중 에이전트 코드 검토를 실행합니다. PR 참조를 전달하여 해당 풀 요청을 검토하거나 기본 분기 또는 커밋을 전달하여 비교 기준을 변경합니다. 선호하는 호출은 `/code-review ultra`이고 `/ultrareview`는 별칭입니다. Pro 및 Max에서 3회 무료 실행을 포함한 후 [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)이 필요합니다. |

160| `/upgrade` | 브라우저에서 업그레이드 페이지를 열어 더 높은 플랜 계층으로 전환합니다. 브라우저가 열리지 않으면 명령어가 URL을 인쇄하지 않고 로그인 프롬프트를 표시합니다. |160| `/update-config [request]` | **[스킬](/docs/ko/skills#bundled-skills).** 명령어 허용, 환경 변수 설정 또는 [훅](/docs/ko/hooks) 추가와 같은 설정 변경을 설명하면 Claude가 일치하는 [`settings.json`](/docs/ko/settings) 파일을 편집합니다. 테마 및 모델과 같은 옵션의 경우 `/config`를 대신 사용합니다. |

161| `/upgrade` | 브라우저에서 업그레이드 페이지를 열어 더 높은 플랜 계층으로 전환합니다. 브라우저가 열리지 않으면 명령어가 URL을 출력하지 않고 로그인 프롬프트를 표시합니다. |

161| `/usage` | 세션 비용, 플랜 사용 한도 및 활동 통계를 표시합니다. Pro, Max, Team 또는 Enterprise 플랜에서 [플랜 한도에 계산되는 항목의 분석](/docs/ko/costs#plan-usage-breakdown)을 포함합니다. `/cost` 및 `/stats`는 별칭입니다. |162| `/usage` | 세션 비용, 플랜 사용 한도 및 활동 통계를 표시합니다. Pro, Max, Team 또는 Enterprise 플랜에서 [플랜 한도에 계산되는 항목의 분석](/docs/ko/costs#plan-usage-breakdown)을 포함합니다. `/cost` 및 `/stats`는 별칭입니다. |

162| `/usage-credits` | 한도에 도달할 때 사용 크레딧을 구성하거나 관리자에게 요청합니다. 브라우저에서 [사용 크레딧 청구 설정](/docs/ko/costs#add-usage-credits-to-your-subscription)을 열고, Team 및 Enterprise 구성원이 청구 액세스 권한이 없으면 대신 CLI에서 관리자에게 사용 크레딧 요청을 보냅니다. 요청이 관리자에게 알림을 주는 것을 확인하는 대화에서 확인합니다. SSH를 통해 청구 페이지를 열 수 없는 경우 명령어가 대신 방문할 URL을 인쇄합니다. 이는 Claude Code v2.1.205 이상이 필요하며, 이전 버전은 해당 경우에 아무것도 표시하지 않았습니다. 이전에 `/extra-usage` |163| `/usage-credits` | 한도에 도달할 때 사용 크레딧을 구성하거나 관리자에게 요청합니다. 브라우저에서 [사용 크레딧 청구 설정](/docs/ko/costs#add-usage-credits-to-your-subscription)을 열지만, 청구 액세스 권한이 없는 Team 및 Enterprise 구성원은 대신 대화에서 확인한 후 CLI에서 관리자에게 사용 크레딧 요청을 보냅니다. SSH를 통해 청구 페이지를 열 수 없는 경우 명령어가 방문할 URL을 출력합니다. Claude Code v2.1.205 이상이 필요하고, 이전 버전은 해당 경우 아무것도 표시하지 않았습니다. 이전에 `/extra-usage` |

163| `/verify` | **[스킬](/docs/ko/skills#bundled-skills).** 코드 변경이 테스트 또는 유형 검사에 의존하지 않고 프로젝트의 앱을 빌드, 실행 및 관찰하여 수행해야 할 작업을 수행하는지 확인합니다. [앱 실행 및 확인](/docs/ko/skills#run-and-verify-your-app)을 참조하십시오. |164| `/verify` | **[스킬](/docs/ko/skills#bundled-skills).** 코드 변경이 테스트 또는 유형 검사에 의존하지 않고 프로젝트의 앱을 빌드하고 실행하고 결과를 관찰하여 수행해야 할 작업을 수행하는지 확인합니다. [앱 실행 및 확인](/docs/ko/skills#run-and-verify-your-app)을 참조하십시오. |

164| `/vim` | v2.1.92에서 제거되었습니다. Vim과 Normal 편집 모드 간에 전환하려면 `/config` → 편집기 모드를 사용합니다. |165| `/vim` | v2.1.92에서 제거됨. Vim과 Normal 편집 모드 간에 전환하려면 `/config` → 편집기 모드를 사용합니다. |

165| `/voice [hold\|tap\|off]` | [음성 받아쓰기](/docs/ko/voice-dictation)를 전환하거나 특정 모드에서 활성화합니다. Claude.ai 계정이 필요합니다. |166| `/voice [hold\|tap\|off]` | [음성 받아쓰기](/docs/ko/voice-dictation)를 전환하거나 특정 모드에서 활성화합니다. Claude.ai 계정이 필요합니다. |

166| `/web-setup` | 로컬 `gh` CLI 자격증명을 사용하여 GitHub 계정을 [Claude Code on the web](/docs/ko/web-quickstart#connect-from-your-terminal)에 연결합니다. |167| `/web-setup` | 로컬 `gh` CLI 자격 증명을 사용하여 [클라우드 세션](/docs/ko/web-quickstart#connect-from-your-terminal)에 대한 GitHub 계정을 연결합니다. |

167| `/workflow-authoring` | **[스킬](/docs/ko/skills#bundled-skills).** [동적 워크플로우](/docs/ko/workflows) 스크립트 작성을 위한 참조를 로드합니다: 스크립트 API, 재개 동작, 품질 패턴 및 작업 예제입니다. Claude는 일반적으로 스크립트를 작성하기 전에 자동으로 로드합니다. [저장된 스크립트를 손으로 편집](/docs/ko/workflows#edit-a-saved-script)하기 전에 직접 실행합니다. 동적 워크플로우가 활성화되어 있고 Claude Code v2.1.248 이상이 필요할 때 사용 가능합니다. |168| `/workflow-authoring` | **[스킬](/docs/ko/skills#bundled-skills).** [동적 워크플로우](/docs/ko/workflows) 스크립트 작성을 위한 참조를 로드합니다. 스크립트 API, 재개 동작, 품질 패턴 및 작동 예제입니다. Claude는 일반적으로 스크립트를 작성하기 전에 자동으로 로드합니다. [저장된 스크립트를 손으로 편집](/docs/ko/workflows#edit-a-saved-script)하기 전에 직접 실행합니다. 동적 워크플로우가 활성화되어 있을 때 사용 가능하며 Claude Code v2.1.248 이상이 필요합니다. |

168| `/workflows` | [워크플로우](/docs/ko/workflows#watch-the-run) 진행 보기를 열어 실행 중이고 완료된 워크플로우를 보고, 일시 중지하고, 재개하고, 저장합니다. |169| `/workflows` | [워크플로우](/docs/ko/workflows#watch-the-run) 진행 보기를 열어 실행 중이고 완료된 워크플로우를 보고, 일시 중지하고, 재개하고, 저장합니다. |

169 170 

170<h2 id="how-the-command-menu-matches-what-you-type">171<h2 id="how-the-command-menu-matches-what-you-type">

Details

90 📚 빠른 시작 · VS Code · 무료 1시간 과정90 📚 빠른 시작 · VS Code · 무료 1시간 과정

91 https://code.claude.com/docs/en/quickstart91 https://code.claude.com/docs/en/quickstart

92 https://code.claude.com/docs/en/vs-code92 https://code.claude.com/docs/en/vs-code

93 https://anthropic.skilljar.com/claude-code-in-action93 https://academy.claude.com/courses/claude-code-in-action

94 94 

95 질문 → 이 스레드. [소유자]가 담당합니다.95 질문 → 이 스레드. [소유자]가 담당합니다.

96 ```96 ```


194 194 

195Claude Code는 Claude 앱과 같은 모델에서 실행되며, 세션 중에 전환할 수 있습니다. *Sonnet*은 일상적인 기능 작업, 버그, 테스트, 검토를 위한 기본 워크호스입니다. 대규모 리팩토링, 복잡한 디버깅 또는 높은 위험의 작업에는 *Opus*를 사용하십시오. 빠른 질문, 포맷팅, 속도가 중요한 기계적 편집에는 *Haiku*로 내려가십시오.195Claude Code는 Claude 앱과 같은 모델에서 실행되며, 세션 중에 전환할 수 있습니다. *Sonnet*은 일상적인 기능 작업, 버그, 테스트, 검토를 위한 기본 워크호스입니다. 대규모 리팩토링, 복잡한 디버깅 또는 높은 위험의 작업에는 *Opus*를 사용하십시오. 빠른 질문, 포맷팅, 속도가 중요한 기계적 편집에는 *Haiku*로 내려가십시오.

196 196 

197*Fable*은 가장 어렵고 오래 실행되는 작업을 위한 가장 강력한 모델입니다. 기본값이 아니므로 `/model fable`로 선택하십시오. 사이버 보안 및 생물학 콘텐츠는 자동으로 Opus로 폴백됩니다. Opus 5는 자체 검사를 실행하므로, 플래그된 사이버 보안 콘텐츠는 모델을 전환하고 플래그된 생물학 콘텐츠는 거부됩니다.197*Fable*은 가장 어렵고 오래 실행되는 작업을 위한 가장 강력한 모델입니다. 기본값이 아니므로 `/model fable`로 선택하십시오. 사이버 보안 및 생물학 콘텐츠는 자동으로 Opus로 폴백됩니다. Opus 5.5 및 Opus 5는 자체 검사를 실행하므로, 플래그된 콘텐츠는 이전 Opus로 전환되며, 플래그된 생물학 콘텐츠는 Opus 5에서 거부됩니다.

198 198 

199*지금 시도하기:* `/model`을 입력하고 아직 하지 않았다면 Sonnet을 선택하십시오. 대부분의 작업에 올바른 기본값입니다.199*지금 시도하기:* `/model`을 입력하고 아직 하지 않았다면 Sonnet을 선택하십시오. 대부분의 작업에 올바른 기본값입니다.

200 200 

201📖 모델 구성 → https://code.claude.com/docs/ko/model-config201📖 모델 구성 → https://code.claude.com/docs/en/model-config

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에서 사이버 보안 또는 생물학 콘텐츠는 [자동 모델 폴백 또는 거부를 트리거합니다](/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 | 일상적인 기능 작업, 버그 수정, 테스트, 문서, 코드 검토. 권장 기본값. |

209| Haiku | 빠른 질문, 포맷팅, 기계적 편집, 빠른 반복 |209| Haiku | 빠른 질문, 포맷팅, 기계적 편집, 빠른 반복 |

210 210 

Details

35 tokens: 280,35 tokens: 280,

36 color: '#6B6964',36 color: '#6B6964',

37 vis: 'hidden',37 vis: 'hidden',

38 desc: 'Working directory, platform, shell, OS version, and whether this is a git repo. Git branch, status, and recent commits load as a separate block at the very end of the system prompt.',38 desc: 'Working directory, platform, shell, OS version, and whether this is a git repo. Git branch, status, and recent commits load as a separate block.',

39 link: null39 link: null

40 }, {40 }, {

41 t: 0.08,41 t: 0.08,


1602| 시스템 프롬프트 및 출력 스타일 | 계속 적용됨 |1602| 시스템 프롬프트 및 출력 스타일 | 계속 적용됨 |

1603| 프로젝트 루트 CLAUDE.md 및 범위 미지정 규칙 | 디스크에서 다시 주입됨 |1603| 프로젝트 루트 CLAUDE.md 및 범위 미지정 규칙 | 디스크에서 다시 주입됨 |

1604| 자동 메모리 | 디스크에서 다시 주입됨 |1604| 자동 메모리 | 디스크에서 다시 주입됨 |

1605| [Git 상태 스냅샷](/docs/ko/settings-reference#includegitinstructions) | Claude Code가 저장소에서 새로운 것을 읽음 |

1605| [plan mode](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)에서 Claude가 작성한 계획 | 디스크에서 다시 주입됨 |1606| [plan mode](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)에서 Claude가 작성한 계획 | 디스크에서 다시 주입됨 |

1606| `paths:` 프론트매터가 있는 규칙 | Claude Code가 일치하는 파일을 읽을 때 다시 로드함 |1607| `paths:` 프론트매터가 있는 규칙 | Claude Code가 일치하는 파일을 읽을 때 다시 로드함 |

1607| 하위 디렉토리의 중첩 CLAUDE.md | Claude Code가 해당 하위 디렉토리의 파일을 읽을 때 다시 로드함 |1608| 하위 디렉토리의 중첩 CLAUDE.md | Claude Code가 해당 하위 디렉토리의 파일을 읽을 때 다시 로드함 |

costs.md +4 −2

Details

275 올바른 모델 선택275 올바른 모델 선택

276</h3>276</h3>

277 277 

278Sonnet은 대부분의 코딩 작업을 잘 처리하며 Opus보다 비용이 적습니다. 복잡한 아키텍처 결정이나 다단계 추론을 위해 Opus를 예약하십시오. `/model`을 사용하여 세션 중간에 모델을 전환하거나, `/config`에서 기본값을 설정하십시오. 간단한 subagent 작업의 경우, [subagent 구성](/docs/ko/sub-agents#choose-a-model)에서 `model: haiku`를 지정하십시오.278Sonnet은 대부분의 코딩 작업을 잘 처리하며 Opus보다 비용이 적습니다. 복잡한 아키텍처 결정이나 다단계 추론을 위해 Opus를 예약하십시오. `/model`을 사용하여 세션 중간에 모델을 전환하거나, `/config`에서 기본값을 설정하십시오. Opus로 전환하면 [세션의 모델을 상속하는 subagents](/docs/ko/model-config#setting-your-model)에도 적용됩니다. 간단한 subagent 작업의 경우, [subagent 구성](/docs/ko/sub-agents#choose-a-model)에서 `model: haiku`를 지정하십시오.

279 279 

280<h3 id="reduce-mcp-server-overhead">280<h3 id="reduce-mcp-server-overhead">

281 MCP server 오버헤드 감소281 MCP server 오버헤드 감소


359 359 

360확장 사고는 기본적으로 활성화되어 있습니다. 복잡한 계획 및 추론 작업의 성능을 크게 향상시키기 때문입니다. 사고 토큰은 출력 토큰으로 청구되며, 기본 예산은 모델에 따라 수만 개의 토큰이 될 수 있습니다.360확장 사고는 기본적으로 활성화되어 있습니다. 복잡한 계획 및 추론 작업의 성능을 크게 향상시키기 때문입니다. 사고 토큰은 출력 토큰으로 청구되며, 기본 예산은 모델에 따라 수만 개의 토큰이 될 수 있습니다.

361 361 

362더 간단한 작업에서 깊은 추론이 필요하지 않은 경우, `/effort`를 사용하거나 `/model`에서 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 낮추거나, `/config`에서 사고를 비활성화하여 비용을 줄일 수 있습니다. [고정 사고 예산](/docs/ko/model-config#adaptive-reasoning-and-fixed-thinking-budgets)이 있는 모델에서는 `MAX_THINKING_TOKENS` [환경 변수](/docs/ko/env-vars)를 설정하여 예산을 낮출 수도 있습니다(예: `MAX_THINKING_TOKENS=8000`). 적응형 추론 모델은 0이 아닌 예산을 무시하므로 대신 노력 수준을 사용하십시오. Fable 모델에서는 사고를 끌 수 없으며, 항상 확장 사고를 사용합니다.362더 간단한 작업에서 깊은 추론이 필요하지 않은 경우, `/effort`를 사용하거나 `/model`에서 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 낮추거나, `/config`에서 사고를 비활성화하여 비용을 줄일 수 있습니다. Opus 5.5 또는 Fable 모델에서는 사고를 끌 수 없으며, 항상 확장 사고를 사용합니다.

363 

364[고정 사고 예산](/docs/ko/model-config#adaptive-reasoning-and-fixed-thinking-budgets)이 있는 모델에서는 `MAX_THINKING_TOKENS` [환경 변수](/docs/ko/env-vars)를 설정하여 예산을 낮출 수도 있습니다(예: `MAX_THINKING_TOKENS=8000`). 적응형 추론 모델은 0이 아닌 예산을 무시하므로 대신 노력 수준을 사용하십시오.

363 365 

364<h3 id="delegate-verbose-operations-to-subagents">366<h3 id="delegate-verbose-operations-to-subagents">

365 자세한 작업을 subagents에 위임367 자세한 작업을 subagents에 위임

desktop.md +2 −2

Details

508 508 

509플러그인은 사용자 계정, 특정 프로젝트 또는 로컬 전용으로 범위를 지정할 수 있습니다. 조직이 플러그인을 중앙에서 관리하는 경우 해당 플러그인은 CLI에서와 동일한 방식으로 데스크톱 세션에서 사용 가능합니다.509플러그인은 사용자 계정, 특정 프로젝트 또는 로컬 전용으로 범위를 지정할 수 있습니다. 조직이 플러그인을 중앙에서 관리하는 경우 해당 플러그인은 CLI에서와 동일한 방식으로 데스크톱 세션에서 사용 가능합니다.

510 510 

511플러그인 브라우저는 클라우드 세션에서 사용할 수 없으며, 데스크톱 앱에서 설치한 플러그인은 클라우드 세션에서 사용할 수 없습니다. 클라우드 세션에서 플러그인을 사용하려면 저장소의 `.claude/settings.json`에서 [`enabledPlugins`](/docs/ko/settings-reference#enabledplugins) 아래에 선언하여 Claude Code가 [세션 시작 시 설치](/docs/ko/cloud-environments#what-carries-over-from-your-setup)하도록 하거나, claude.ai 계정에 대해 활성화하여 Claude Code가 [동기화된 플러그인](/docs/ko/plugins-reference#synced-plugins)으로 로드하도록 합니다. 플러그인은 WSL 세션에서 사용할 수 없습니다. 자신의 플러그인을 만드는 것을 포함한 전체 플러그인 참조는 [plugins](/docs/ko/plugins)를 참조하세요.511플러그인 브라우저는 클라우드 세션에서 사용할 수 없으며, 데스크톱 앱에서 설치한 플러그인은 클라우드 세션에서 사용할 수 없습니다. 클라우드 세션도 저장소의 `.claude/settings.json`에서 선언하는 플러그인을 설치하지 않습니다. [설정에서 가져오는 것](/docs/ko/cloud-environments#what-carries-over-from-your-setup)에서 설명합니다. 클라우드 세션에서 플러그인을 사용하려면 claude.ai 계정에 대해 활성화하여 Claude Code가 [동기화된 플러그인](/docs/ko/plugins-reference#synced-plugins)으로 로드하도록 합니다. 플러그인은 WSL 세션에서 사용할 수 없습니다. 자신의 플러그인을 만드는 것을 포함한 전체 플러그인 참조는 [plugins](/docs/ko/plugins)를 참조하세요.

512 512 

513<h3 id="configure-preview-servers">513<h3 id="configure-preview-servers">

514 미리보기 서버 구성하기514 미리보기 서버 구성하기


735 735 

736로컬 세션 및 개발 서버에 대한 환경 변수를 설정하려면 프롬프트 상자의 환경 드롭다운을 열고 **Local** 위에 마우스를 올린 다음 기어 아이콘을 클릭하여 로컬 환경 편집기를 엽니다. 여기에 저장한 변수는 머신에 암호화되어 저장되며 시작하는 모든 로컬 세션 및 미리보기 서버에 적용됩니다. `~/.claude/settings.json` 파일의 `env` 키에 변수를 추가할 수도 있습니다. 단, 이는 Claude 세션에만 도달하고 개발 서버에는 도달하지 않습니다. 지원되는 변수의 전체 목록은 [환경 변수](/docs/ko/env-vars)를 참조하세요.736로컬 세션 및 개발 서버에 대한 환경 변수를 설정하려면 프롬프트 상자의 환경 드롭다운을 열고 **Local** 위에 마우스를 올린 다음 기어 아이콘을 클릭하여 로컬 환경 편집기를 엽니다. 여기에 저장한 변수는 머신에 암호화되어 저장되며 시작하는 모든 로컬 세션 및 미리보기 서버에 적용됩니다. `~/.claude/settings.json` 파일의 `env` 키에 변수를 추가할 수도 있습니다. 단, 이는 Claude 세션에만 도달하고 개발 서버에는 도달하지 않습니다. 지원되는 변수의 전체 목록은 [환경 변수](/docs/ko/env-vars)를 참조하세요.

737 737 

738[Extended thinking](/docs/ko/model-config#extended-thinking)은 기본적으로 활성화되어 있으며, 복잡한 추론 작업의 성능을 향상시키지만 추가 토큰을 사용합니다. Anthropic API에서 생각을 비활성화하려면 로컬 환경 편집기에서 `MAX_THINKING_TOKENS`을 `0`으로 설정합니다. 이는 Fable 모델에는 영향을 주지 않으며, 이들은 항상 extended thinking을 사용합니다. Anthropic API에서 생각을 비활성화한 상태에서 Claude Code는 [해당 조합을 허용하지 않는](/docs/ko/errors#effort-isnt-available-with-thinking-turned-off) Opus 5와 같은 모델에 더 높은 수준 대신 노력 `high`를 보냅니다.738[Extended thinking](/docs/ko/model-config#extended-thinking)은 기본적으로 활성화되어 있으며, 복잡한 추론 작업의 성능을 향상시키지만 추가 토큰을 사용합니다. Anthropic API에서 생각을 비활성화하려면 로컬 환경 편집기에서 `MAX_THINKING_TOKENS`을 `0`으로 설정합니다. 이는 Opus 5.5 또는 Fable 모델에는 영향을 주지 않으며, 이들은 항상 extended thinking을 사용합니다. Anthropic API에서 생각을 비활성화한 상태에서 Claude Code는 [해당 조합을 허용하지 않는](/docs/ko/errors#effort-isnt-available-with-thinking-turned-off) Opus 5와 같은 모델에 더 높은 수준 대신 노력 `high`를 보냅니다.

739 739 

740[적응형 추론](/docs/ko/model-config#adjust-effort-level)이 있는 모델에서는 적응형 추론이 생각 깊이를 제어하기 때문에 `0`이 아닌 `MAX_THINKING_TOKENS` 값은 무시됩니다. Opus 4.6 및 Sonnet 4.6에서는 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING`을 `1`로 설정하여 고정 생각 예산을 사용합니다. Fable 모델, Sonnet 5, Opus 4.7 이상은 항상 적응형 추론을 사용하며 고정 예산 모드가 없습니다.740[적응형 추론](/docs/ko/model-config#adjust-effort-level)이 있는 모델에서는 적응형 추론이 생각 깊이를 제어하기 때문에 `0`이 아닌 `MAX_THINKING_TOKENS` 값은 무시됩니다. Opus 4.6 및 Sonnet 4.6에서는 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING`을 `1`로 설정하여 고정 생각 예산을 사용합니다. Fable 모델, Sonnet 5, Opus 4.7 이상은 항상 적응형 추론을 사용하며 고정 예산 모드가 없습니다.

741 741 

Details

16 요구 사항16 요구 사항

17</h2>17</h2>

18 18 

19* Ubuntu 22.04 이상 또는 Debian 12 이상19* Debian 기반 배포판: Ubuntu 22.04 이상 또는 Debian 12 이상

20* x86\_64 또는 arm6420* x86\_64 또는 arm64

21 21 

22이러한 요구 사항을 충족하는 다른 Debian 기반 배포판도 작동할 수 있지만 공식적으로 테스트되지 않았습니다. Fedora 또는 Arch와 같이 Debian 기반이 아닌 배포판에서는 [CLI](/docs/ko/setup#system-requirements) 대신 실행하십시오. Windows에서 WSL 2로 작업하는 경우 Windows 데스크톱 앱을 설치하고 배포판 내에서 세션을 실행하십시오. [Claude Code Desktop in WSL](/docs/ko/desktop-wsl)을 참조하십시오.22이러한 요구 사항을 충족하는 다른 Debian 기반 배포판도 작동할 수 있지만 공식적으로 테스트되지 않았습니다. Fedora 또는 Arch와 같이 Debian 기반이 아닌 배포판에서는 [CLI](/docs/ko/setup#system-requirements) 대신 실행하십시오. Windows에서 WSL 2로 작업하는 경우 Windows 데스크톱 앱을 설치하고 배포판 내에서 세션을 실행하십시오. [Claude Code Desktop in WSL](/docs/ko/desktop-wsl)을 참조하십시오.

Details

42/plugin install github@claude-plugins-official42/plugin install github@claude-plugins-official

43```43```

44 44 

45`/plugin`은 터미널 CLI에서 대화형 패널을 엽니다. Claude가 이 환경에서 `/plugin`을 사용할 수 없다고 응답하면 Claude 데스크톱 앱의 [플러그인 브라우저](/docs/ko/desktop#install-plugins)를 사용하거나 클라우드 세션의 `.claude/settings.json`에서 [`enabledPlugins`](/docs/ko/settings-reference#enabledplugins) 아래에 플러그인을 선언하십시오.45`/plugin`은 터미널 CLI에서 대화형 패널을 엽니다. Claude가 이 환경에서 `/plugin`을 사용할 수 없다고 응답하면 플러그인을 다른 방식으로 설치하십시오:

46 

47* **Claude 데스크톱 앱**: [플러그인 브라우저](/docs/ko/desktop#install-plugins)를 사용하십시오.

48* **VS Code 확장**: [**플러그인 관리** 대화상자](/docs/ko/vs-code#manage-plugins)에서 설치하십시오.

49* **클라우드 세션**: 플러그인을 claude.ai 계정에 대해 활성화하여 Claude Code가 [동기화된 플러그인](/docs/ko/plugins-reference#synced-plugins)으로 로드하도록 하십시오.

46 50 

47설치가 실패하면 Claude Code가 보고한 메시지와 일치하는지 확인하십시오:51설치가 실패하면 Claude Code가 보고한 메시지와 일치하는지 확인하십시오:

48 52 


360Claude Code는 마켓플레이스 카탈로그의 로컬 복사본에서 플러그인을 찾습니다. 플러그인의 이름 지정 방식에 따라 Claude Code가 해당 복사본을 먼저 새로 고칠지 여부가 결정됩니다:364Claude Code는 마켓플레이스 카탈로그의 로컬 복사본에서 플러그인을 찾습니다. 플러그인의 이름 지정 방식에 따라 Claude Code가 해당 복사본을 먼저 새로 고칠지 여부가 결정됩니다:

361 365 

362* **마켓플레이스 이름 포함**: `plugin-name@marketplace-name`을 설치할 때, 세션에서 또는 `claude plugin install`을 사용하여 설치하면 Claude Code는 조회 전에 해당 마켓플레이스를 새로 고칩니다. Claude Code는 마켓플레이스에 대해 [자동 업데이트](#configure-auto-updates)를 비활성화했거나 `DISABLE_AUTOUPDATER`를 설정한 경우에도 새로 고침을 실행합니다. v2.1.232 이전에는 Claude Code가 조회 전에 마켓플레이스를 새로 고치지 않았습니다. Claude Code는 다음의 경우 이 새로 고침을 건너뜁니다:366* **마켓플레이스 이름 포함**: `plugin-name@marketplace-name`을 설치할 때, 세션에서 또는 `claude plugin install`을 사용하여 설치하면 Claude Code는 조회 전에 해당 마켓플레이스를 새로 고칩니다. Claude Code는 마켓플레이스에 대해 [자동 업데이트](#configure-auto-updates)를 비활성화했거나 `DISABLE_AUTOUPDATER`를 설정한 경우에도 새로 고침을 실행합니다. v2.1.232 이전에는 Claude Code가 조회 전에 마켓플레이스를 새로 고치지 않았습니다. Claude Code는 다음의 경우 이 새로 고침을 건너뜁니다:

363 * 마켓플레이스가 [GitHub, 다른 Git 호스트 또는 원격 URL에서 추가](#add-marketplaces)되지 않은 경우.367 * 마켓플레이스가 [GitHub, 다른 Git 호스트, 원격 URL에서 추가](#add-marketplaces)되지 않았거나 [Claude.ai에서 추가](#add-from-claude-ai)되지 않은 경우.

364 * [시드 디렉토리](/docs/ko/plugin-marketplaces#pre-populate-plugins-for-containers)가 마켓플레이스를 제공하는 경우.368 * [시드 디렉토리](/docs/ko/plugin-marketplaces#pre-populate-plugins-for-containers)가 마켓플레이스를 제공하는 경우.

365 * Claude Code가 지난 30초 이내에 마켓플레이스를 새로 고친 경우.369 * Claude Code가 지난 30초 이내에 마켓플레이스를 새로 고친 경우.

366 * [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)을 설정한 경우.370 * [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)을 설정한 경우.


395 399 

396소스는 [GitHub `owner/repo`, git URL 또는 로컬 경로](#add-marketplaces)와 같이 `/plugin marketplace add`와 동일한 형식을 사용합니다. 단, 공백을 포함할 수 없습니다. 플러그인 이름을 `@marketplace` 접미사 없이 그대로 입력하세요.400소스는 [GitHub `owner/repo`, git URL 또는 로컬 경로](#add-marketplaces)와 같이 `/plugin marketplace add`와 동일한 형식을 사용합니다. 단, 공백을 포함할 수 없습니다. 플러그인 이름을 `@marketplace` 접미사 없이 그대로 입력하세요.

397 401 

398아직 해당 마켓플레이스를 추가하지 않았다면 Claude Code는 해결된 소스를 표시하고 추가하기 전에 확인을 요청합니다. 거절하면 설치가 취소되고 아무것도 추가되지 않습니다. 마켓플레이스가 추가되면 플러그인의 세부 정보가 열리고 [설치 범위](/docs/ko/settings#where-settings-live)를 선택합니다.402Claude Code는 해결된 소스를 표시하고 추가하기 전에 확인을 요청합니다. 거절하면 설치가 취소되고 아무것도 추가되지 않습니다. 마켓플레이스가 추가되면 플러그인의 세부 정보가 열리고 [설치 범위](/docs/ko/settings#where-settings-live)를 선택합니다. 소스가 이미 추가한 마켓플레이스와 일치하면 Claude Code는 확인을 건너뛰고 해당 마켓플레이스에서 플러그인의 세부 정보를 엽니다.

399 403 

400<h2 id="manage-installed-plugins">404<h2 id="manage-installed-plugins">

401 설치된 플러그인 관리405 설치된 플러그인 관리

env-vars.md +33 −29

Details

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보다 우선합니다 |


154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | 교차 리전 추론 프로필 접두사(`us`, `eu`, `apac`, `jp`, `au` 또는 `global`) Claude Code가 AWS 리전에서 파생된 접두사 대신 먼저 시도합니다. AWS GovCloud 리전에서는 무시됩니다. Claude Code v2.1.224 이상이 필요합니다. [Amazon Bedrock](/docs/ko/amazon-bedrock#cross-region-inference-profile-prefixes)을 참조하세요 |154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | 교차 리전 추론 프로필 접두사(`us`, `eu`, `apac`, `jp`, `au` 또는 `global`) Claude Code가 AWS 리전에서 파생된 접두사 대신 먼저 시도합니다. AWS GovCloud 리전에서는 무시됩니다. Claude Code v2.1.224 이상이 필요합니다. [Amazon Bedrock](/docs/ko/amazon-bedrock#cross-region-inference-profile-prefixes)을 참조하세요 |

155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [서비스 계층](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html)(`default`, `flex` 또는 `priority`). `X-Amzn-Bedrock-Service-Tier` 헤더로 전송됩니다. [Amazon Bedrock](/docs/ko/amazon-bedrock#service-tiers)을 참조하세요 |155| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [서비스 계층](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html)(`default`, `flex` 또는 `priority`). `X-Amzn-Bedrock-Service-Tier` 헤더로 전송됩니다. [Amazon Bedrock](/docs/ko/amazon-bedrock#service-tiers)을 참조하세요 |

156| `ANTHROPIC_BETAS` | API 요청에 포함할 추가 `anthropic-beta` 헤더 값의 쉼표로 구분된 목록입니다. Claude Code는 이미 필요한 베타 헤더를 전송합니다. Claude Code가 기본 지원을 추가하기 전에 [Anthropic API 베타](https://platform.claude.com/docs/en/api/beta-headers)에 옵트인하려면 이를 사용하세요. [`--betas` 플래그](/docs/ko/cli-reference#cli-flags)와 달리 API 키 인증이 필요하지만, 이 변수는 Claude.ai 구독을 포함한 모든 인증 방법에서 작동합니다 |156| `ANTHROPIC_BETAS` | API 요청에 포함할 추가 `anthropic-beta` 헤더 값의 쉼표로 구분된 목록입니다. Claude Code는 이미 필요한 베타 헤더를 전송합니다. Claude Code가 기본 지원을 추가하기 전에 [Anthropic API 베타](https://platform.claude.com/docs/en/api/beta-headers)에 옵트인하려면 이를 사용하세요. [`--betas` 플래그](/docs/ko/cli-reference#cli-flags)와 달리 API 키 인증이 필요하지만, 이 변수는 Claude.ai 구독을 포함한 모든 인증 방법에서 작동합니다 |

157| `ANTHROPIC_CUSTOM_HEADERS` | 요청에 추가할 사용자 정의 헤더입니다(`Name: Value` 형식, 여러 헤더의 경우 줄바꿈으로 구분). 이름이나 값에 곡선 따옴표나 너비가 0인 공백 같은 HTTP 헤더가 전달할 수 없는 문자가 포함되면 요청이 실패하고 위치별로 쌍을 식별하는 오류가 발생합니다. Claude Code v2.1.227 이상이 필요합니다. [잘못된 요청 헤더 값](/docs/ko/errors#invalid-request-header-value)은 정확한 문자 집합과 검사가 실행되는 위치를 나열합니다. 자격 증명, 조직 또는 테넌트, 라우팅 또는 API 동작 헤더(예: `Authorization` 또는 `Host`)를 설정하는 값은 서버 관리 설정이 전달할 때 [승인이 필요한 설정](/docs/ko/server-managed-settings#environment-variables-and-the-approval-dialog)으로 계산됩니다. 프로젝트 또는 로컬 설정에서 이러한 값은 [`env` 값이 적용되는 시기에 대한 규칙](/docs/ko/settings-reference#when-claude-code-applies-env-values)을 따릅니다 |157| `ANTHROPIC_CUSTOM_HEADERS` | 요청에 추가할 사용자 정의 헤더입니다(`Name: Value` 형식, 여러 헤더의 경우 줄바꿈으로 구분). 이름이나 값에 곡선 따옴표나 너비가 0인 공백 같은 HTTP 헤더가 전달할 수 없는 문자가 포함되면 요청이 실패하고 위치별로 쌍을 식별하는 오류가 발생합니다. Claude Code v2.1.227 이상이 필요합니다. [잘못된 요청 헤더 값](/docs/ko/errors#invalid-request-header-value)은 정확한 문자 집합과 검사가 실행되는 위치를 나열합니다. 자격 증명, 조직 또는 테넌트, 라우팅 또는 API 동작 헤더(예: `Authorization` 또는 `Host`)를 설정하는 값은 서버 관리 설정이 전달할 때 [승인이 필요한 설정](/docs/ko/server-managed-settings#environment-variables-and-the-approval-dialog)으로 계산됩니다. 프로젝트 또는 로컬 설정에서 이러한 값은 [#in-settings-files](/docs/ko/settings-reference#in-settings-files)에서 [`env` 값이 적용되는 시기에 대한 규칙](/docs/ko/settings-reference#when-claude-code-applies-env-values)을 따릅니다 |

158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | `/model` 선택기에 사용자 정의 항목으로 추가할 모델 ID입니다. 기본 제공 별칭을 대체하지 않고 비표준 또는 게이트웨이 특정 모델을 선택 가능하게 만드는 데 사용합니다. [모델 구성](/docs/ko/model-config#add-a-custom-model-option)을 참조하세요 |158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | `/model` 선택기에 사용자 정의 항목으로 추가할 모델 ID입니다. 기본 제공 별칭을 대체하지 않고 비표준 또는 게이트웨이 특정 모델을 선택 가능하게 만드는 데 사용합니다. [모델 구성](/docs/ko/model-config#add-a-custom-model-option)을 참조하세요 |

159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | `/model` 선택기의 사용자 정의 모델 항목에 대한 표시 설명입니다. 설정하지 않으면 `Custom model (<model-id>)`로 기본값이 설정됩니다 |159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | `/model` 선택기의 사용자 정의 모델 항목에 대한 표시 설명입니다. 설정하지 않으면 `Custom model (<model-id>)`로 기본값이 설정됩니다 |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | `/model` 선택기의 사용자 정의 모델 항목에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 [ID를 인식](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)하는 경우 모델의 이름을 표시하고, 그렇지 않으면 모델 ID를 표시합니다 |160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | `/model` 선택기의 사용자 정의 모델 항목에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 [ID를 인식](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)하는 경우 모델의 이름을 표시하고, 그렇지 않으면 모델 ID를 표시합니다 |


265| `CLAUDE_CODE_DISABLE_MOUSE` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 마우스 추적을 비활성화하려면 `1`로 설정하세요. `PgUp` 및 `PgDn`을 사용한 키보드 스크롤은 여전히 작동합니다. 터미널의 기본 선택 시 복사 동작을 유지하려면 이를 사용하세요 |265| `CLAUDE_CODE_DISABLE_MOUSE` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 마우스 추적을 비활성화하려면 `1`로 설정하세요. `PgUp` 및 `PgDn`을 사용한 키보드 스크롤은 여전히 작동합니다. 터미널의 기본 선택 시 복사 동작을 유지하려면 이를 사용하세요 |

266| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 마우스 휠 스크롤을 유지하면서 클릭, 드래그 및 호버 처리를 비활성화하려면 `1`로 설정하세요. Claude Code 내에서 휠 스크롤이 작동하기를 원하지만 클릭이 커서를 배치하거나, 도구 출력을 확장하거나, 링크를 열지 않기를 원할 때 사용합니다. 둘 다 설정되면 `CLAUDE_CODE_DISABLE_MOUSE`가 우선합니다. Claude Code v2.1.195 이상이 필요합니다 |266| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 마우스 휠 스크롤을 유지하면서 클릭, 드래그 및 호버 처리를 비활성화하려면 `1`로 설정하세요. Claude Code 내에서 휠 스크롤이 작동하기를 원하지만 클릭이 커서를 배치하거나, 도구 출력을 확장하거나, 링크를 열지 않기를 원할 때 사용합니다. 둘 다 설정되면 `CLAUDE_CODE_DISABLE_MOUSE`가 우선합니다. Claude Code v2.1.195 이상이 필요합니다 |

267| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | API 요청이 연결 재설정 또는 TLS 핸드셰이크 오류 같은 연결 수준 오류로 실패할 때 Claude Code가 [mTLS 클라이언트 인증서 및 키](/docs/ko/network-config#mtls-authentication)를 다시 읽지 않도록 하려면 `1`로 설정하세요. 다시 로드가 비활성화되면 Claude Code는 다음에 설정을 적용하거나 다음 시작 시에만 회전된 파일을 로드합니다. Claude Code v2.1.232 이상이 필요합니다 |267| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | API 요청이 연결 재설정 또는 TLS 핸드셰이크 오류 같은 연결 수준 오류로 실패할 때 Claude Code가 [mTLS 클라이언트 인증서 및 키](/docs/ko/network-config#mtls-authentication)를 다시 읽지 않도록 하려면 `1`로 설정하세요. 다시 로드가 비활성화되면 Claude Code는 다음에 설정을 적용하거나 다음 시작 시에만 회전된 파일을 로드합니다. Claude Code v2.1.232 이상이 필요합니다 |

268| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | `1` 같은 비어있지 않은 값으로 설정하여 비필수 네트워크 트래픽을 비활성화합니다: 자동 업데이트, 원격 분석, 오류 보고, `/feedback` 명령, [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior), 릴리스 노트, [PR 및 MR 상태 배지](/docs/ko/interactive-mode#pr-review-status) 확인 및 [빠른 모드](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 확인 같은 가용성 확인. 또한 [플러그인 `command` 소스의 백그라운드 실행](/docs/ko/plugin-marketplaces#when-claude-code-re-runs-the-command)을 중지합니다. 이는 네트워크 트래픽이 아니라 로컬 명령이지만 종속성 설치를 트리거할 수 있습니다. **`0` 또는 `false`로 설정하면 여전히 이 트래픽을 비활성화합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 다시 허용하세요. 또한 기능 플래그 가져오기를 비활성화하여 [원격 제어](/docs/ko/remote-control#requirements) 및 기타 [기능 플래그 가져오기가 필요한 기능](#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. 공식 플러그인 마켓플레이스 자동 설치는 포함되지 않습니다. `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`로 비활성화하세요. [게이트웨이 모델 검색](/docs/ko/llm-gateway-connect#add-gateway-models-to-the-model-picker)에는 영향을 주지 않습니다. 이는 자체 옵트인이 있습니다 |268| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | `1` 같은 비어있지 않은 값으로 설정하여 비필수 네트워크 트래픽을 비활성화합니다: 자동 업데이트, 원격 분석, 오류 보고, `/feedback` 명령, [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior), 릴리스 노트, [PR 및 MR 상태 배지](/docs/ko/interactive-mode#pr-review-status) 확인 및 [빠른 모드](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 확인 같은 가용성 확인. 또한 [플러그인 `command` 소스의 백그라운드 실행](/docs/ko/plugin-marketplaces#when-claude-code-re-runs-the-command)을 중지합니다. 이는 네트워크 트래픽이 아니라 로컬 명령이지만 종속성 설치를 트리거할 수 있습니다. **`0` 또는 `false`로 설정하면 여전히 이 트래픽을 비활성화합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 다시 허용하세요. 또한 기능 플래그 가져오기를 비활성화하여 [원격 제어](/docs/ko/remote-control#requirements) 및 기타 [#features-that-need-feature-flag-fetching](/docs/ko/env-vars#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. 공식 플러그인 마켓플레이스 자동 설치는 포함되지 않습니다. `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`로 비활성화하세요. [게이트웨이 모델 검색](/docs/ko/llm-gateway-connect#add-gateway-models-to-the-model-picker)에는 영향을 주지 않습니다. 이는 자체 옵트인이 있습니다 |

269| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | 스트리밍 요청이 스트림 중간에 실패할 때 비스트리밍 폴백을 비활성화하려면 `1`로 설정하세요. 스트리밍 오류는 재시도 계층으로 전파됩니다. 프록시 또는 게이트웨이가 폴백으로 인해 중복 도구 실행을 생성할 때 유용합니다 |269| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | 스트리밍 요청이 스트림 중간에 실패할 때 비스트리밍 폴백을 비활성화하려면 `1`로 설정하세요. 스트리밍 오류는 재시도 계층으로 전파됩니다. 프록시 또는 게이트웨이가 폴백으로 인해 중복 도구 실행을 생성할 때 유용합니다 |

270| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | 터미널에 입력하거나 포커스할 때도 `PushNotification` 도구의 데스크톱 알림을 전송하려면 `1`로 설정하세요. 기본적으로 도구는 최근 키보드 활동이나 터미널 포커스를 감지할 때 데스크톱 알림과 [모바일 푸시](/docs/ko/remote-control#mobile-push-notifications)를 모두 건너뜁니다. 이 변수는 로컬 확인만 비활성화하므로 서버는 활동을 감지할 때 모바일 푸시를 여전히 억제할 수 있습니다. Claude Code v2.1.193 이상이 필요합니다 |270| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | 터미널에 입력하거나 포커스할 때도 `PushNotification` 도구의 데스크톱 알림을 전송하려면 `1`로 설정하세요. 기본적으로 도구는 최근 키보드 활동이나 터미널 포커스를 감지할 때 데스크톱 알림과 [모바일 푸시](/docs/ko/remote-control#mobile-push-notifications)를 모두 건너뜁니다. 이 변수는 로컬 확인만 비활성화하므로 서버는 활동을 감지할 때 모바일 푸시를 여전히 억제할 수 있습니다. Claude Code v2.1.193 이상이 필요합니다 |

271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | 공식 플러그인 마켓플레이스의 자동 등록을 비활성화하려면 `1`로 설정하세요. Claude Code는 마켓플레이스를 등록하려고 할 때 변수를 읽습니다. 보통 머신의 첫 대화형 시작 중입니다. 그 시점에 변수가 설정되면 Claude Code는 등록을 영구적으로 건너뜁니다. 나중에 변수를 설정 해제해도 건너뛰기가 취소되지 않습니다. 언제든지 `claude plugin marketplace add anthropics/claude-plugins-official`을 실행하여 마켓플레이스를 등록하세요 |271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | 공식 플러그인 마켓플레이스의 자동 등록을 비활성화하려면 `1`로 설정하세요. Claude Code는 마켓플레이스를 등록하려고 할 때 변수를 읽습니다. 보통 머신의 첫 대화형 시작 중입니다. 그 시점에 변수가 설정되면 Claude Code는 등록을 영구적으로 건너뜁니다. 나중에 변수를 설정 해제해도 건너뛰기가 취소되지 않습니다. 언제든지 `claude plugin marketplace add anthropics/claude-plugins-official`을 실행하여 마켓플레이스를 등록하세요 |

272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Claude Code가 Claude Desktop 및 VS Code 확장이 Claude Code를 호스팅하는 방식인 Agent SDK의 `canUseTool` 콜백으로 보내는 세션에서 [응답하지 않은 권한 요청에 대한 `Notification` 훅](/docs/ko/hooks#notification)을 실행하지 않도록 하려면 `1`로 설정하세요. 터미널 세션에는 효과가 없습니다. Claude Code v2.1.233 이상이 필요합니다 |272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Claude Code가 Claude Desktop 및 VS Code 확장이 Claude Code를 호스팅하는 방식인 Agent SDK의 `canUseTool` 콜백으로 보내는 세션에서 [응답하지 않은 권한 요청에 대한 `Notification` 훅](/docs/ko/hooks#notification)을 실행하지 않도록 하려면 `1`로 설정하세요. 터미널 세션에는 효과가 없습니다. Claude Code v2.1.233 이상이 필요합니다 |

273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | 시스템 전체 관리 기술 디렉토리에서 기술 로드를 건너뛰려면 `1`로 설정하세요. 운영자가 프로비저닝한 기술을 로드하지 않아야 하는 컨테이너 또는 CI 세션에 유용합니다 |273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | 시스템 전체 관리 기술 디렉토리에서 기술 로드를 건너뛰려면 `1`로 설정하세요. 운영자가 프로비저닝한 기술을 로드하지 않아야 하는 컨테이너 또는 CI 세션에 유용합니다 |

274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | 대화 컨텍스트를 기반으로 자동 터미널 제목 업데이트를 비활성화하려면 `1`로 설정하세요. Agent SDK 및 `claude -p` 세션에서 이는 또한 세션 제목을 생성하는 백그라운드 소형/빠른 모델 요청을 건너뜁니다 |274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | 대화 컨텍스트를 기반으로 자동 터미널 제목 업데이트를 비활성화하려면 `1`로 설정하세요. 또한 세션 제목을 생성하는 백그라운드 소형/빠른 모델 요청을 건너뜁니다 |

275| `CLAUDE_CODE_DISABLE_THINKING` | API 요청에서 `thinking` 매개변수를 완전히 생략하려면 `1`로 설정하세요. 이는 매개변수를 거부하는 프록시 및 게이트웨이의 호환성 옵션입니다. 기본적으로 생각하는 모델에서 매개변수를 생략하면 모델이 여전히 생각할 수 있습니다. Anthropic API에서 [확장 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)를 명시적으로 비활성화하려면 `MAX_THINKING_TOKENS=0`을 대신 사용하세요. 어느 변수도 Fable 모델에서 사고를 끄지 않습니다. 이들은 사고를 끌 수 없습니다. [타사 제공자](/docs/ko/third-party-integrations)에서 `MAX_THINKING_TOKENS=0`은 마찬가지로 매개변수를 생략하므로 두 변수는 동일하게 작동합니다 |275| `CLAUDE_CODE_DISABLE_THINKING` | API 요청에서 `thinking` 매개변수를 완전히 생략하려면 `1`로 설정하세요. 이는 매개변수를 거부하는 프록시 및 게이트웨이의 호환성 옵션입니다. 기본적으로 생각하는 모델에서 매개변수를 생략하면 모델이 여전히 생각할 수 있습니다. Anthropic API에서 [확장 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)를 명시적으로 비활성화하려면 `MAX_THINKING_TOKENS=0`을 대신 사용하세요. 어느 변수도 Fable 모델에서 사고를 끄지 않습니다. 이들은 사고를 끌 수 없습니다. [타사 제공자](/docs/ko/third-party-integrations)에서 `MAX_THINKING_TOKENS=0`은 마찬가지로 매개변수를 생략하므로 두 변수는 동일하게 작동합니다 |

276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Claude Code가 모델 ID를 인식하지 못할 때(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭) 사전 [자동 압축](/docs/ko/costs#reduce-token-usage)을 건너뛰려면 `1`로 설정하세요. 이 변수가 없으면 Claude Code는 ID에 대해 가정하는 컨텍스트 창에서 압축합니다. `CLAUDE_CODE_MAX_CONTEXT_TOKENS`은 가정된 창을 대신 수정할 수 있습니다. [게이트웨이 또는 사용자 정의 모델 ID의 창 수정](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)에서 각 변수가 적용되는 시기를 참조하세요. Claude Code v2.1.223 이상이 필요합니다 |276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Claude Code가 모델 ID를 인식하지 못할 때(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭) 사전 [자동 압축](/docs/ko/costs#reduce-token-usage)을 건너뛰려면 `1`로 설정하세요. 이 변수가 없으면 Claude Code는 ID에 대해 가정하는 컨텍스트 창에서 압축합니다. `CLAUDE_CODE_MAX_CONTEXT_TOKENS`은 가정된 창을 대신 수정할 수 있습니다. [게이트웨이 또는 사용자 정의 모델 ID의 창 수정](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)에서 각 변수가 적용되는 시기를 참조하세요. Claude Code v2.1.223 이상이 필요합니다 |

277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 가상 스크롤을 비활성화하고 대화 기록의 모든 메시지를 렌더링하려면 `1`로 설정하세요. 전체 화면 모드에서 스크롤이 메시지가 나타나야 할 위치에 빈 영역을 표시하면 이를 사용하세요 |277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 가상 스크롤을 비활성화하고 대화 기록의 모든 메시지를 렌더링하려면 `1`로 설정하세요. 전체 화면 모드에서 스크롤이 메시지가 나타나야 할 위치에 빈 영역을 표시하면 이를 사용하세요 |


298| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 터미널이 지원하지만 자동 감지되지 않을 때 DEC 프라이빗 모드 2026 [동기화된 출력](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)을 강제로 활성화하려면 `1`로 설정하세요. Emacs `eat` 같은 에뮬레이터에 유용합니다. BSU/ESU를 구현하지만 기능 프로브에 응답하지 않습니다. tmux에서는 효과가 없습니다. `CLAUDE_CODE_NO_FLICKER`와 달리 [전체 화면 렌더링](/docs/ko/fullscreen)으로 전환하지 않습니다. 이는 렌더러를 변경하지 않습니다 |298| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 터미널이 지원하지만 자동 감지되지 않을 때 DEC 프라이빗 모드 2026 [동기화된 출력](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)을 강제로 활성화하려면 `1`로 설정하세요. Emacs `eat` 같은 에뮬레이터에 유용합니다. BSU/ESU를 구현하지만 기능 프로브에 응답하지 않습니다. tmux에서는 효과가 없습니다. `CLAUDE_CODE_NO_FLICKER`와 달리 [전체 화면 렌더링](/docs/ko/fullscreen)으로 전환하지 않습니다. 이는 렌더러를 변경하지 않습니다 |

299| `CLAUDE_CODE_FORK_SUBAGENT` | Claude가 [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 자신이 생성할 수 있는 [포크 모드](/docs/ko/sub-agents#turn-fork-mode-on-or-off)를 제어합니다. 대화형 세션에서만 기본적으로 켜져 있습니다. `claude -p` 및 Agent SDK에서도 켜려면 `1`로 설정하거나, 모든 종류의 세션에서 끄려면 `0`으로 설정하세요. 포크 모드가 켜져 있는지 여부와 관계없이 `/subtask`를 실행할 수 있습니다. 대화형 기본값은 Claude Code v2.1.232 이상이 필요합니다. 이전 버전에서는 포크 모드를 켜려면 변수를 `1`로 설정하세요 |299| `CLAUDE_CODE_FORK_SUBAGENT` | Claude가 [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 자신이 생성할 수 있는 [포크 모드](/docs/ko/sub-agents#turn-fork-mode-on-or-off)를 제어합니다. 대화형 세션에서만 기본적으로 켜져 있습니다. `claude -p` 및 Agent SDK에서도 켜려면 `1`로 설정하거나, 모든 종류의 세션에서 끄려면 `0`으로 설정하세요. 포크 모드가 켜져 있는지 여부와 관계없이 `/subtask`를 실행할 수 있습니다. 대화형 기본값은 Claude Code v2.1.232 이상이 필요합니다. 이전 버전에서는 포크 모드를 켜려면 변수를 `1`로 설정하세요 |

300| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | `claude -p --output-format stream-json` 출력에서 [서브에이전트](/docs/ko/sub-agents) 텍스트 및 사고 블록을 내보내려면 `1`로 설정하세요. [`--forward-subagent-text`](/docs/ko/cli-reference#cli-flags) 플래그와 동일한 동작입니다. 하네스가 `claude`를 호출하고 플래그 자체를 전달할 수 없을 때 변수를 사용하세요. 플래그와 달리 비대화형 모드에서 stream-json 출력 외부에서 오류로 종료되는 것과 달리 변수는 무시되므로 중첩된 호출이 프로세스 전체에 설정될 때 계속 작동합니다. Claude Code v2.1.211 이상이 필요합니다 |300| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | `claude -p --output-format stream-json` 출력에서 [서브에이전트](/docs/ko/sub-agents) 텍스트 및 사고 블록을 내보내려면 `1`로 설정하세요. [`--forward-subagent-text`](/docs/ko/cli-reference#cli-flags) 플래그와 동일한 동작입니다. 하네스가 `claude`를 호출하고 플래그 자체를 전달할 수 없을 때 변수를 사용하세요. 플래그와 달리 비대화형 모드에서 stream-json 출력 외부에서 오류로 종료되는 것과 달리 변수는 무시되므로 중첩된 호출이 프로세스 전체에 설정될 때 계속 작동합니다. Claude Code v2.1.211 이상이 필요합니다 |

301| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | [게이트웨이 힌트 헤더](/docs/ko/llm-gateway-protocol#gateway-hint-headers)(예: `x-claude-code-request-class` 및 `x-claude-code-compaction`)를 사용자 정의 프록시 또는 Amazon Bedrock 또는 Claude Platform on AWS 같은 타사 제공자에서 전송하려면 `1`로 설정하세요. 모든 연결(Claude Code가 기본적으로 전송하는 Anthropic API에 대한 직접 연결 포함)에서 전송을 중지하려면 `0`으로 설정하세요. Claude Code v2.1.273 이상이 필요합니다 |

301| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY`가 켜는 [게이트웨이 모델 검색](/docs/ko/llm-gateway-protocol#model-discovery) 요청의 타임아웃(밀리초)(기본값: `3000`). 게이트웨이가 시작 시 `/v1/models`에 응답하는 데 3초 이상 필요할 때 올리세요. 일반 숫자만 사용합니다. `0`, 음수 값 및 다른 표기법은 기본값을 유지합니다. Claude Code v2.1.269 이상이 필요합니다 |302| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY`가 켜는 [게이트웨이 모델 검색](/docs/ko/llm-gateway-protocol#model-discovery) 요청의 타임아웃(밀리초)(기본값: `3000`). 게이트웨이가 시작 시 `/v1/models`에 응답하는 데 3초 이상 필요할 때 올리세요. 일반 숫자만 사용합니다. `0`, 음수 값 및 다른 표기법은 기본값을 유지합니다. Claude Code v2.1.269 이상이 필요합니다 |

302| `CLAUDE_CODE_GIT_BASH_PATH` | Windows 전용: Git Bash 실행 파일(`bash.exe`)의 경로입니다. Git Bash가 설치되었지만 PATH에 없을 때 사용합니다. 경로가 존재하지 않거나 파일이 `bash.exe`, `sh.exe`, `bash` 또는 `sh`로 명명되지 않으면 Claude Code는 변수를 무시하고 경고를 기록하면서 Git Bash를 자동 감지합니다. `--debug`로 표시됩니다. v2.1.219 이전에는 경로가 존재하지 않으면 Claude Code가 시작 시 종료되었고, bash 또는 sh인지 확인하지 않고 기존 파일을 셸로 사용했습니다. [Windows 설정](/docs/ko/setup#set-up-on-windows)을 참조하세요 |303| `CLAUDE_CODE_GIT_BASH_PATH` | Windows 전용: Git Bash 실행 파일(`bash.exe`)의 경로입니다. Git Bash가 설치되었지만 PATH에 없을 때 사용합니다. 경로가 존재하지 않거나 파일이 `bash.exe`, `sh.exe`, `bash` 또는 `sh`로 명명되지 않으면 Claude Code는 변수를 무시하고 경고를 기록하면서 Git Bash를 자동 감지합니다. `--debug`로 표시됩니다. v2.1.219 이전에는 경로가 존재하지 않으면 Claude Code가 시작 시 종료되었고, bash 또는 sh인지 확인하지 않고 기존 파일을 셸로 사용했습니다. [Windows 설정](/docs/ko/setup#set-up-on-windows)을 참조하세요 |

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


429| `DISABLE_ERROR_REPORTING` | 오류 보고를 옵트아웃하려면 `1` 같은 비어있지 않은 값으로 설정하세요. **`0` 또는 `false`로 설정하면 여전히 옵트아웃합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 오류 보고를 다시 켜세요 |430| `DISABLE_ERROR_REPORTING` | 오류 보고를 옵트아웃하려면 `1` 같은 비어있지 않은 값으로 설정하세요. **`0` 또는 `false`로 설정하면 여전히 옵트아웃합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 오류 보고를 다시 켜세요 |

430| `DISABLE_EXTRA_USAGE_COMMAND` | 사용자가 속도 제한을 초과하여 추가 사용을 구매할 수 있는 `/usage-credits` 명령을 숨기려면 `1`로 설정하세요 |431| `DISABLE_EXTRA_USAGE_COMMAND` | 사용자가 속도 제한을 초과하여 추가 사용을 구매할 수 있는 `/usage-credits` 명령을 숨기려면 `1`로 설정하세요 |

431| `DISABLE_FEEDBACK_COMMAND` | `/feedback` 명령 및 [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior)을 비활성화하려면 `1`로 설정하세요. 또한 `/bug` 및 `/share`를 비활성화합니다. 이들은 동일한 경로를 통해 보고합니다. v2.1.212 이전에는 `/feedback`의 별칭이었으므로 명령은 모든 이름으로 비활성화되었습니다. 더 이상 사용되지 않는 이름 `DISABLE_BUG_COMMAND`도 허용됩니다 |432| `DISABLE_FEEDBACK_COMMAND` | `/feedback` 명령 및 [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior)을 비활성화하려면 `1`로 설정하세요. 또한 `/bug` 및 `/share`를 비활성화합니다. 이들은 동일한 경로를 통해 보고합니다. v2.1.212 이전에는 `/feedback`의 별칭이었으므로 명령은 모든 이름으로 비활성화되었습니다. 더 이상 사용되지 않는 이름 `DISABLE_BUG_COMMAND`도 허용됩니다 |

432| `DISABLE_GROWTHBOOK` | GrowthBook 기능 플래그 가져오기를 비활성화하고 모든 플래그에 대해 코드 기본값을 사용하려면 `1` 또는 `true`로 설정하세요. 이는 [원격 제어](/docs/ko/remote-control#requirements) 및 기타 [기능 플래그 가져오기가 필요한 기능](#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. `0` 또는 `false`로 설정하면 가져오기가 켜진 상태로 유지됩니다. 원격 분석 이벤트 로깅은 `DISABLE_TELEMETRY`도 설정되지 않으면 켜진 상태로 유지됩니다 |433| `DISABLE_GROWTHBOOK` | GrowthBook 기능 플래그 가져오기를 비활성화하고 모든 플래그에 대해 코드 기본값을 사용하려면 `1` 또는 `true`로 설정하세요. 이는 [원격 제어](/docs/ko/remote-control#requirements) 및 기타 [#features-that-need-feature-flag-fetching](/docs/ko/env-vars#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. `0` 또는 `false`로 설정하면 가져오기가 켜진 상태로 유지됩니다. 원격 분석 이벤트 로깅은 `DISABLE_TELEMETRY`도 설정되지 않으면 켜진 상태로 유지됩니다 |

433| `DISABLE_INSTALLATION_CHECKS` | 설치 경고를 비활성화하려면 `1`로 설정하세요. 설치 위치를 수동으로 관리할 때만 사용하세요. 표준 설치의 문제를 마스킹할 수 있습니다 |434| `DISABLE_INSTALLATION_CHECKS` | 설치 경고를 비활성화하려면 `1`로 설정하세요. 설치 위치를 수동으로 관리할 때만 사용하세요. 표준 설치의 문제를 마스킹할 수 있습니다 |

434| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | `/install-github-app` 명령을 숨기려면 `1`로 설정하세요. 타사 제공자(Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry)를 사용할 때 이미 숨겨져 있습니다 |435| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | `/install-github-app` 명령을 숨기려면 `1`로 설정하세요. 타사 제공자(Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry)를 사용할 때 이미 숨겨져 있습니다 |

435| `DISABLE_INTERLEAVED_THINKING` | 인터리브된 사고 베타 헤더를 전송하지 않으려면 `1`로 설정하세요. LLM 게이트웨이 또는 제공자가 [인터리브된 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking)를 지원하지 않을 때 유용합니다 |436| `DISABLE_INTERLEAVED_THINKING` | 인터리브된 사고 베타 헤더를 전송하지 않으려면 `1`로 설정하세요. LLM 게이트웨이 또는 제공자가 [인터리브된 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking)를 지원하지 않을 때 유용합니다 |


440| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정하세요 |441| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정하세요 |

441| `DISABLE_PROMPT_CACHING_OPUS` | Opus 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정하세요 |442| `DISABLE_PROMPT_CACHING_OPUS` | Opus 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정하세요 |

442| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정하세요 |443| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정하세요 |

443| `DISABLE_TELEMETRY` | 원격 분석을 옵트아웃하려면 `1` 같은 비어있지 않은 값으로 설정하세요. **`0` 또는 `false`로 설정하면 여전히 옵트아웃합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 원격 분석을 다시 켜세요. 원격 분석 이벤트는 코드, 파일 경로 또는 bash 명령 같은 사용자 데이터를 포함하지 않습니다. 또한 `DISABLE_GROWTHBOOK`과 동일한 효과로 기능 플래그 가져오기를 비활성화합니다. 이는 [원격 제어](/docs/ko/remote-control#requirements) 및 기타 [기능 플래그 가져오기가 필요한 기능](#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. [조직의 원격 분석 끄기](/docs/ko/managed-settings#turn-telemetry-off-for-your-organization)를 참조하세요 |444| `DISABLE_TELEMETRY` | 원격 분석을 옵트아웃하려면 `1` 같은 비어있지 않은 값으로 설정하세요. **`0` 또는 `false`로 설정하면 여전히 옵트아웃합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 원격 분석을 다시 켜세요. 원격 분석 이벤트는 코드, 파일 경로 또는 bash 명령 같은 사용자 데이터를 포함하지 않습니다. 또한 `DISABLE_GROWTHBOOK`과 동일한 효과로 기능 플래그 가져오기를 비활성화합니다. 이는 [원격 제어](/docs/ko/remote-control#requirements) 및 기타 [#features-that-need-feature-flag-fetching](/docs/ko/env-vars#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. [조직의 원격 분석 끄기](/docs/ko/managed-settings#turn-telemetry-off-for-your-organization)를 참조하세요 |

444| `DISABLE_UPDATES` | 수동 `claude update` 및 `claude install`을 포함한 모든 업데이트를 차단하려면 `1`로 설정하세요. `DISABLE_AUTOUPDATER`보다 더 엄격합니다. 자신의 채널을 통해 Claude Code를 배포하고 사용자가 자체 업데이트하지 않아야 할 때 사용합니다 |445| `DISABLE_UPDATES` | 수동 `claude update` 및 `claude install`을 포함한 모든 업데이트를 차단하려면 `1`로 설정하세요. `DISABLE_AUTOUPDATER`보다 더 엄격합니다. 자신의 채널을 통해 Claude Code를 배포하고 사용자가 자체 업데이트하지 않아야 할 때 사용합니다 |

445| `DISABLE_UPGRADE_COMMAND` | `/upgrade` 명령을 숨기려면 `1`로 설정하세요 |446| `DISABLE_UPGRADE_COMMAND` | `/upgrade` 명령을 숨기려면 `1`로 설정하세요 |

446| `DO_NOT_TRACK` | `DISABLE_TELEMETRY`와 동일한 효과로 원격 분석을 옵트아웃하려면 `1`로 설정하세요. 이는 [원격 제어](/docs/ko/remote-control#requirements) 및 기타 [기능 플래그 가져오기가 필요한 기능](#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. Claude Code는 이 변수를 표준 부울로 읽으므로 `0`은 원격 분석을 켜두고 많은 개발자 CLI에서 인식하는 교차 도구 규칙을 존중합니다 |447| `DO_NOT_TRACK` | `DISABLE_TELEMETRY`와 동일한 효과로 원격 분석을 옵트아웃하려면 `1`로 설정하세요. 이는 [원격 제어](/docs/ko/remote-control#requirements) 및 기타 [#features-that-need-feature-flag-fetching](/docs/ko/env-vars#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. Claude Code는 이 변수를 표준 부울로 읽으므로 `0`은 원격 분석을 켜두고 많은 개발자 CLI에서 인식하는 교차 도구 규칙을 존중합니다 |

447| `ENABLE_BETA_TRACING_DETAILED` | `BETA_TRACING_ENDPOINT`와 함께 `1`로 설정하여 [상세 베타 추적](/docs/ko/monitoring-usage#traces-beta)을 켜세요. 콘텐츠 베어링 스팬 속성 및 `claude_code.hook` 스팬을 추가합니다. 대화형 CLI 세션은 또한 조직이 베타에 대해 허용 목록에 있어야 합니다. 두 변수 모두 [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서 무시됩니다 |448| `ENABLE_BETA_TRACING_DETAILED` | `BETA_TRACING_ENDPOINT`와 함께 `1`로 설정하여 [상세 베타 추적](/docs/ko/monitoring-usage#traces-beta)을 켜세요. 콘텐츠 베어링 스팬 속성 및 `claude_code.hook` 스팬을 추가합니다. 대화형 CLI 세션은 또한 조직이 베타에 대해 허용 목록에 있어야 합니다. 두 변수 모두 [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서 무시됩니다 |

448| `ENABLE_CLAUDEAI_MCP_SERVERS` | Claude Code가 [claude.ai MCP 서버](/docs/ko/mcp#use-mcp-servers-from-claude-ai)를 가져오지 않도록 하려면 `false`로 설정하세요. 로그인한 사용자에 대해 기본적으로 활성화됩니다. 프로젝트별 또는 조직별로 비활성화하려면 설정에서 [`disableClaudeAiConnectors`](/docs/ko/settings-reference#disableclaudeaiconnectors)를 대신 설정하세요 |449| `ENABLE_CLAUDEAI_MCP_SERVERS` | Claude Code가 [claude.ai MCP 서버](/docs/ko/mcp#use-mcp-servers-from-claude-ai)를 가져오지 않도록 하려면 `false`로 설정하세요. 로그인한 사용자에 대해 기본적으로 활성화됩니다. 프로젝트별 또는 조직별로 비활성화하려면 설정에서 [`disableClaudeAiConnectors`](/docs/ko/settings-reference#disableclaudeaiconnectors)를 대신 설정하세요 |

449| `ENABLE_PROMPT_CACHING_1H` | 기본 5분 대신 1시간 [프롬프트 캐시 TTL](/docs/ko/prompt-caching#cache-lifetime)을 요청하려면 `1`로 설정하세요. API 키, [Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry) 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 사용자용입니다. 포함된 사용량 내의 구독 사용자는 [주 대화](/docs/ko/prompt-caching#which-ttl-each-request-gets)에서 자동으로 1시간 TTL을 받습니다. [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)을 그리는 구독 사용자는 1시간 TTL을 유지하도록 설정할 수 있습니다. 1시간 캐시 쓰기는 더 높은 요금으로 청구됩니다. 요청 버킷별로 TTL을 선택하려면 `CLAUDE_CODE_PROMPT_CACHE_TTL` 및 `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`을 사용하세요. 이들은 이 변수보다 우선합니다 |450| `ENABLE_PROMPT_CACHING_1H` | 기본 5분 대신 1시간 [프롬프트 캐시 TTL](/docs/ko/prompt-caching#cache-lifetime)을 요청하려면 `1`로 설정하세요. API 키, [Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry) 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 사용자용입니다. 포함된 사용량 내의 구독 사용자는 [주 대화](/docs/ko/prompt-caching#which-ttl-each-request-gets)에서 자동으로 1시간 TTL을 받습니다. [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)을 그리는 구독 사용자는 1시간 TTL을 유지하도록 설정할 수 있습니다. 1시간 캐시 쓰기는 더 높은 요금으로 청구됩니다. 요청 버킷별로 TTL을 선택하려면 `CLAUDE_CODE_PROMPT_CACHE_TTL` 및 `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`을 사용하세요. 이들은 이 변수보다 우선합니다 |


476| `NO_PROXY` | 프록시를 우회하여 요청이 직접 발급될 도메인 및 IP의 목록입니다 |477| `NO_PROXY` | 프록시를 우회하여 요청이 직접 발급될 도메인 및 IP의 목록입니다 |

477| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | 속성 값 길이에 대한 표준 OpenTelemetry SDK 제한입니다. Claude Code는 콘텐츠 베어링 원격 분석 속성을 이것과 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`의 더 작은 값으로 제한합니다. 잘림 마커가 SDK 제한 내에 유지됩니다. Claude Code는 `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` 및 `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` 변형을 동일하게 읽고 설정된 가장 작은 값이 모든 신호에 적용됩니다. Claude Code v2.1.214 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#common-configuration-variables)을 참조하세요 |478| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | 속성 값 길이에 대한 표준 OpenTelemetry SDK 제한입니다. Claude Code는 콘텐츠 베어링 원격 분석 속성을 이것과 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`의 더 작은 값으로 제한합니다. 잘림 마커가 SDK 제한 내에 유지됩니다. Claude Code는 `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` 및 `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` 변형을 동일하게 읽고 설정된 가장 작은 값이 모든 신호에 적용됩니다. Claude Code v2.1.214 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#common-configuration-variables)을 참조하세요 |

478| `OTEL_LOG_ASSISTANT_RESPONSES` | 모델의 응답 텍스트를 `assistant_response` OpenTelemetry 로그 이벤트에 포함하려면 `1`로 설정하세요. 설정하지 않으면 `OTEL_LOG_USER_PROMPTS`의 값이 사용됩니다. `OTEL_LOG_USER_PROMPTS`가 설정되었더라도 응답을 수정된 상태로 유지하려면 `0`으로 설정하세요. Claude Code v2.1.193 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#assistant-response-event)을 참조하세요 |479| `OTEL_LOG_ASSISTANT_RESPONSES` | 모델의 응답 텍스트를 `assistant_response` OpenTelemetry 로그 이벤트에 포함하려면 `1`로 설정하세요. 설정하지 않으면 `OTEL_LOG_USER_PROMPTS`의 값이 사용됩니다. `OTEL_LOG_USER_PROMPTS`가 설정되었더라도 응답을 수정된 상태로 유지하려면 `0`으로 설정하세요. Claude Code v2.1.193 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#assistant-response-event)을 참조하세요 |

480| `OTEL_LOG_MANAGED_SETTINGS` | 설정하지 않은 관리 설정 및 설정 전 SHA-256 다이제스트를 `managed_settings_resolved` OpenTelemetry 로그 이벤트에 추가하려면 `1`로 설정하세요. 기본적으로 비활성화됩니다. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. 프로젝트 또는 로컬 설정의 값은 켜지 않습니다. Claude Code v2.1.274 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#managed-settings-resolved-event)을 참조하세요 |

479| `OTEL_LOG_RAW_API_BODIES` | Anthropic Messages API 요청 및 응답 JSON을 `api_request_body` / `api_response_body` 로그 이벤트로 내보냅니다. 콘텐츠 제한으로 잘린 인라인 본문의 경우 `1`로 설정하거나, 잘리지 않은 본문을 디스크에 작성하고 `body_ref` 경로를 내보내려면 `file:<dir>`로 설정하세요. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`는 콘텐츠 제한을 구성합니다. 기본값 60KB. 기본적으로 비활성화됩니다. 본문은 전체 대화 기록을 포함합니다. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. [모니터링](/docs/ko/monitoring-usage#api-request-body-event)을 참조하세요 |481| `OTEL_LOG_RAW_API_BODIES` | Anthropic Messages API 요청 및 응답 JSON을 `api_request_body` / `api_response_body` 로그 이벤트로 내보냅니다. 콘텐츠 제한으로 잘린 인라인 본문의 경우 `1`로 설정하거나, 잘리지 않은 본문을 디스크에 작성하고 `body_ref` 경로를 내보내려면 `file:<dir>`로 설정하세요. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`는 콘텐츠 제한을 구성합니다. 기본값 60KB. 기본적으로 비활성화됩니다. 본문은 전체 대화 기록을 포함합니다. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. [모니터링](/docs/ko/monitoring-usage#api-request-body-event)을 참조하세요 |

480| `OTEL_LOG_TOOL_CONTENT` | 도구 콘텐츠를 `tool.output` OpenTelemetry 스팬 이벤트에 포함하려면 `1`로 설정하세요. 스팬 속성은 [자신의 게이트](/docs/ko/monitoring-usage#new-context-gates) 아래에서 도구 콘텐츠를 전달합니다. [추적](/docs/ko/monitoring-usage#traces-beta)이 필요합니다. 기본적으로 비활성화되어 민감한 데이터를 보호합니다. [모니터링](/docs/ko/monitoring-usage#tool-output-span-event)을 참조하세요 |482| `OTEL_LOG_TOOL_CONTENT` | 도구 콘텐츠를 `tool.output` OpenTelemetry 스팬 이벤트에 포함하려면 `1`로 설정하세요. 스팬 속성은 [자신의 게이트](/docs/ko/monitoring-usage#new-context-gates) 아래에서 도구 콘텐츠를 전달합니다. [추적](/docs/ko/monitoring-usage#traces-beta)이 필요합니다. 기본적으로 비활성화되어 민감한 데이터를 보호합니다. [모니터링](/docs/ko/monitoring-usage#tool-output-span-event)을 참조하세요 |

481| `OTEL_LOG_TOOL_DETAILS` | 도구 입력 인수, MCP 서버 이름, 사용자 작성 워크플로우 이름, 도구 실패 시 원본 오류 문자열, `api_refusal` 이벤트의 거부 `category` 및 기타 도구 세부 정보를 OpenTelemetry 추적 및 로그에 포함하려면 `1`로 설정하세요. 기본적으로 비활성화되어 PII를 보호합니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |483| `OTEL_LOG_TOOL_DETAILS` | 도구 입력 인수, MCP 서버 이름, 사용자 작성 워크플로우 이름, 도구 실패 시 원본 오류 문자열, `api_refusal` 이벤트의 거부 `category` 및 기타 도구 세부 정보를 OpenTelemetry 추적 및 로그에 포함하려면 `1`로 설정하세요. 기본적으로 비활성화되어 PII를 보호합니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |


487| `OTEL_METRICS_INCLUDE_SESSION_ID` | 메트릭 속성에서 세션 ID를 제외하려면 `false`로 설정하세요(기본값: 포함). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |489| `OTEL_METRICS_INCLUDE_SESSION_ID` | 메트릭 속성에서 세션 ID를 제외하려면 `false`로 설정하세요(기본값: 포함). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

488| `OTEL_METRICS_INCLUDE_VERSION` | 메트릭 속성에 Claude Code 버전을 포함하려면 `true`로 설정하세요(기본값: 제외). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |490| `OTEL_METRICS_INCLUDE_VERSION` | 메트릭 속성에 Claude Code 버전을 포함하려면 `true`로 설정하세요(기본값: 제외). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

489| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | [Skill 도구](/docs/ko/skills#control-who-invokes-a-skill)에 표시되는 기술 메타데이터의 문자 예산을 재정의합니다. 예산은 컨텍스트 창의 1%에서 동적으로 확장되며 8,000자의 폴백이 있습니다. 이전 호환성을 위해 레거시 이름이 유지됩니다 |491| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | [Skill 도구](/docs/ko/skills#control-who-invokes-a-skill)에 표시되는 기술 메타데이터의 문자 예산을 재정의합니다. 예산은 컨텍스트 창의 1%에서 동적으로 확장되며 8,000자의 폴백이 있습니다. 이전 호환성을 위해 레거시 이름이 유지됩니다 |

490| `TASK_MAX_OUTPUT_LENGTH` | [백그라운드 작업](/docs/ko/tools-reference#background-commands)의 출력 중 `TaskOutput` 도구가 유지하는 최대 문자 수입니다(기본값: 32000, 최대값: 160000). [`taskOutputMaxChars`](/docs/ko/settings-reference#taskoutputmaxchars) 설정을 설정하면 Claude Code는 이 변수를 무시합니다 |492| `TASK_MAX_OUTPUT_LENGTH` | v2.1.277에서 제거되었으며 이제 작동하지 않습니다. 함께 제거된 `TaskOutput` 도구를 크기 조정했습니다. 이전에는 [백그라운드 작업](/docs/ko/tools-reference#background-commands)의 출력 중 `TaskOutput` 도구가 유지하는 최대 문자 수를 설정했습니다. Claude는 대신 `Read`로 백그라운드 작업의 출력 파일을 읽습니다 |

491| `USE_BUILTIN_RIPGREP` | 시스템 설치 `rg` 대신 Claude Code에 포함된 `rg`를 사용하려면 `0`으로 설정하세요 |493| `USE_BUILTIN_RIPGREP` | 시스템 설치 `rg` 대신 Claude Code에 포함된 `rg`를 사용하려면 `0`으로 설정하세요 |

492| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Google Cloud의 Agent Platform을 사용할 때 Claude 3.5 Haiku의 리전을 재정의합니다 |494| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Google Cloud의 Agent Platform을 사용할 때 Claude 3.5 Haiku의 리전을 재정의합니다 |

493| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude 3.5 Sonnet의 리전을 재정의합니다 |495| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude 3.5 Sonnet의 리전을 재정의합니다 |


501| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 4.6의 리전을 재정의합니다 |503| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 4.6의 리전을 재정의합니다 |

502| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.7의 리전을 재정의합니다 |504| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.7의 리전을 재정의합니다 |

503| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.8의 리전을 재정의합니다 |505| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.8의 리전을 재정의합니다 |

506| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 5.5의 리전을 재정의합니다. v2.1.280에서 추가됨 |

504| `VERTEX_REGION_CLAUDE_5_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 5의 리전을 재정의합니다. v2.1.219에서 추가됨 |507| `VERTEX_REGION_CLAUDE_5_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 5의 리전을 재정의합니다. v2.1.219에서 추가됨 |

505| `VERTEX_REGION_CLAUDE_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 5의 리전을 재정의합니다. v2.1.197에서 추가됨 |508| `VERTEX_REGION_CLAUDE_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 5의 리전을 재정의합니다. v2.1.197에서 추가됨 |

506| `VERTEX_REGION_CLAUDE_FABLE_5` | Google Cloud의 Agent Platform을 사용할 때 Claude Fable 5의 리전을 재정의합니다. v2.1.170에서 추가됨 |509| `VERTEX_REGION_CLAUDE_FABLE_5` | Google Cloud의 Agent Platform을 사용할 때 Claude Fable 5의 리전을 재정의합니다. v2.1.170에서 추가됨 |


515 518 

516Claude Code는 Anthropic에서 가져오는 기능 플래그를 통해 일부 기능을 활성화합니다. Claude Code는 다음 세션에서 해당 가져오기를 건너뜁니다:519Claude Code는 Anthropic에서 가져오는 기능 플래그를 통해 일부 기능을 활성화합니다. Claude Code는 다음 세션에서 해당 가져오기를 건너뜁니다:

517 520 

518* `DISABLE_GROWTHBOOK`, `DISABLE_TELEMETRY`, `DO_NOT_TRACK` 또는 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`을 설정한 세션; [변수 테이블](#variables)의 각 변수 행에서 어떤 값이 가져오기를 비활성화하는지 나타냅니다521* `DISABLE_GROWTHBOOK`, `DISABLE_TELEMETRY`, `DO_NOT_TRACK` 또는 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`을 설정한 세션입니다. [변수 테이블](#variables)의 각 변수 행에서 어떤 값이 가져오기를 비활성화하는지 나타냅니다

519* Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform 또는 Microsoft Foundry와 같은 [타사 제공자](/docs/ko/third-party-integrations)의 세션(Claude Code를 포함하는 호스트 플랫폼이 `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`를 설정하지 않은 경우)522* Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform 또는 Microsoft Foundry와 같은 [타사 제공자](/docs/ko/third-party-integrations)의 세션입니다. 단, Claude Code를 포함하는 호스트 플랫폼이 `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`를 설정한 경우는 제외합니다

520* [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션523* [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션

521 524 

522가져오기가 비활성화된 경우 다음을 수행할 수 없습니다:525가져오기가 비활성화되면 다음을 수행할 수 없습니다:

523 526 

524* Claude Code가 [프로젝트 지침으로 `AGENTS.md` 파일을 읽기](/docs/ko/memory#agents-md); `CLAUDE.md` 파일만 로드합니다527* Claude Code가 [프로젝트 지침으로 `AGENTS.md` 파일을 읽을 수 없습니다](/docs/ko/memory#agents-md). `CLAUDE.md` 파일만 로드합니다

525* Pro, Max 및 Team 플랜에서 [기본적으로 자동 모드로 세션 시작](/docs/ko/permission-modes#which-mode-a-session-starts-in)528* [Pro, Max 및 Team 플랜에서 기본적으로 자동 모드로 세션을 시작할 수 없습니다](/docs/ko/permission-modes#which-mode-a-session-starts-in)

526* VS Code 확장이 [시작 권한 모드에 대한 설정 파일 읽기](/docs/ko/permission-modes#switch-permission-modes)529* VS Code 확장이 [시작 권한 모드에 대한 설정 파일을 읽을 수 없습니다](/docs/ko/permission-modes#switch-permission-modes)

527* [`/auto-mode-setup`](/docs/ko/auto-mode-config#generate-environment-entries)을 실행하여 `autoMode.environment` 항목 작성530* [`/auto-mode-setup`](/docs/ko/auto-mode-config#generate-environment-entries)을 실행하여 `autoMode.environment` 항목을 작성할 수 없습니다

528* [원격 제어](/docs/ko/remote-control#requirements) 사용531* [원격 제어](/docs/ko/remote-control#requirements)를 사용할 수 없습니다

529* [이 머신을 넘어 세션에 메시지 전송](/docs/ko/cross-session-messaging#message-sessions-on-other-machines); 이 머신의 세션 간 메시징은 가져오기가 비활성화된 상태에서 작동합니다532* [이 머신 외의 세션에 메시지를 보낼 수 없습니다](/docs/ko/cross-session-messaging#message-sessions-on-other-machines). 이 머신의 세션 간 메시징은 가져오기가 비활성화된 상태에서 작동합니다

530* [`claude import` 또는 `/import` 명령 실행](/docs/ko/cli-reference#cli-commands)533* [`claude import` 또는 `/import` 명령](/docs/ko/cli-reference#cli-commands)을 실행할 수 없습니다

531* [`/skill-doctor`](/docs/ko/skills#find-unused-skills) 실행 또는 `/plugin` **Stats** 탭에서 보고서 열기534* [`/skill-doctor`](/docs/ko/skills#find-unused-skills)를 실행하거나 `/plugin` **Stats** 탭에서 해당 보고서를 열 수 없습니다

532* [어드바이저 도구](/docs/ko/advisor#requirements) 사용535* claude.ai 계정에 대해 활성화된 [기술](/docs/ko/skills#where-synced-skills-load) 및 [플러그인](/docs/ko/plugins-reference#synced-plugins)을 터미널 세션에 동기화할 수 없습니다

533* [아티팩트의 댓글](/docs/ko/artifacts#collect-comments-on-an-artifact) 읽기 또는 답글 달기536* [어드바이저 도구](/docs/ko/advisor#requirements)를 사용할 수 없습니다

534* claude.ai 커넥터 서버에서 [MCP 프로토콜 리비전 2026-07-28](/docs/ko/mcp#mcp-client-runtimes)을 프로브하기(`MCP_PROTOCOL_NEGOTIATION=auto`를 설정하지 않은 경우)537* [아티팩트의 댓글](/docs/ko/artifacts#collect-comments-on-an-artifact)을 읽거나 답글을 달 수 없습니다

535* Git Bash가 설치된 Windows의 claude.ai 및 Console 계정에 대해 기본적으로 [PowerShell 도구](/docs/ko/tools-reference#powershell-tool) 가져오기; Claude Code는 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`을 설정하지 않으면 Git Bash를 통해 셸 명령을 라우팅합니다. Git Bash가 없는 Windows에서는 도구가 활성화된 상태로 유지됩니다538* Claude Code가 `MCP_PROTOCOL_NEGOTIATION=auto`를 설정하지 않는 한 [MCP 프로토콜 개정 2026-07-28](/docs/ko/mcp#mcp-client-runtimes)에 대해 claude.ai 커넥터 서버를 조사할 수 없습니다

536* [Claude가 작성한 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior) 가져오기(Claude Code는 가져온 플래그를 통해 활성화)539* Git Bash가 설치된 Windows의 claude.ai 및 Console 계정에 대해 기본적으로 [PowerShell 도구](/docs/ko/tools-reference#powershell-tool)를 가져올 수 없습니다. Claude Code는 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`을 설정하지 않는 한 셸 명령을 Git Bash를 통해 라우팅합니다. Git Bash가 없는 Windows에서는 도구가 활성화된 상태로 유지됩니다

537* Claude Code가 [API가 거부할 입력 스키마를 가진 MCP 도구 제외](/docs/ko/mcp#tools-with-invalid-input-schemas); 스키마를 어쨌든 전송하고, 이를 포함하는 요청은 [도구를 위치로 이름 지정하는 400 오류](/docs/ko/errors#tool-input-schema-is-invalid)로 실패합니다540* [Claude가 작성한 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior)을 가져올 수 없습니다. Claude Code는 가져온 플래그를 통해 이를 활성화합니다

538* [당신의 claude.ai 계정에 대해 활성화된 스킬](/docs/ko/skills#where-synced-skills-load) 및 [플러그인](/docs/ko/plugins-reference#synced-plugins)을 터미널 세션으로 동기화합니다541* Claude가 [대용량 붙여넣기를 입력된 텍스트가 아닌 붙여넣은 텍스트로 처리할 수 없습니다](/docs/ko/terminal-config#how-claude-treats-pasted-text). `[Pasted text #N]` 자리 표시자 뒤의 콘텐츠는 표시되지 않은 상태로 Claude에 도달합니다

542* Claude Code가 [입력 스키마를 API가 거부할 MCP 도구를 제외할 수 없습니다](/docs/ko/mcp#tools-with-invalid-input-schemas). 스키마를 어쨌든 전송하며, 이를 포함하는 요청은 [도구를 위치로 이름 지정하는 400 오류](/docs/ko/errors#tool-input-schema-is-invalid)로 실패합니다

539 543 

540<h3 id="first-session-after-an-install-or-upgrade">544<h3 id="first-session-after-an-install-or-upgrade">

541 설치 또는 업그레이드 후 첫 번째 세션545 설치 또는 업그레이드 후 첫 번째 세션

542</h3>546</h3>

543 547 

544Claude Code를 설치한 후 또는 기능을 추가하는 버전으로 업그레이드한 후 첫 번째 세션에서 [플래그 게이트된 기능](#features-that-need-feature-flag-fetching)이 누락될 수 있으며, 세션은 자동 모드로 시작하는 플랜에서 수동 모드로 시작할 수 있습니다. Claude Code는 해당 세션 중에 플래그를 가져오므로 다음 세션에서 둘 다 있습니다.548Claude Code를 설치한 후 또는 기능을 추가하는 버전으로 업그레이드한 후 첫 번째 세션에서 [플래그 제어 기능](#features-that-need-feature-flag-fetching)이 누락될 수 있으며, 세션은 자동 모드로 시작하는 플랜에서도 수동 모드로 시작할 수 있습니다. Claude Code는 해당 세션 중에 플래그를 가져오므로 다음 세션에서는 둘 다 있습니다.

545 549 

546새로 설치한 후 `claude -p`, Agent SDK 또는 VS Code 확장과 같은 비대화형 세션에서 Claude Code는 [시작 권한 모드를 선택](/docs/ko/permission-modes#which-mode-a-session-starts-in)하기 전에 플래그를 선택할 수 있습니다.550새로 설치한 후 `claude -p`, Agent SDK 또는 VS Code 확장과 같은 비대화형 세션에서 Claude Code는 [시작 권한 모드를 선택하기](/docs/ko/permission-modes#which-mode-a-session-starts-in) 전에 플래그를 선택할 수 있습니다.

547 551 

548<h2 id="see-also">552<h2 id="see-also">

549 참고 항목553 참고 항목

errors.md +216 −70

Details

71| `API Error: 401 Invalid authentication credentials` | [인증](#api-error-401-invalid-authentication-credentials) |71| `API Error: 401 Invalid authentication credentials` | [인증](#api-error-401-invalid-authentication-credentials) |

72| `Login expired · Please run /login` | [인증](#login-expired) |72| `Login expired · Please run /login` | [인증](#login-expired) |

73| `Claude login not accepted · Run /login, then try again` | [인증](#claude-login-not-accepted) |73| `Claude login not accepted · Run /login, then try again` | [인증](#claude-login-not-accepted) |

74| `Artifacts need a claude.ai login` | [인증](#artifacts-need-a-claude-ai-login) |

74| `Not signed in to the Cloud gateway — run /login.` | [인증](#administrator-policy-requires-a-cloud-gateway-sign-in) |75| `Not signed in to the Cloud gateway — run /login.` | [인증](#administrator-policy-requires-a-cloud-gateway-sign-in) |

75| `Administrator policy requires a Cloud gateway sign-in on this machine` | [인증](#administrator-policy-requires-a-cloud-gateway-sign-in) |76| `Administrator policy requires a Cloud gateway sign-in on this machine` | [인증](#administrator-policy-requires-a-cloud-gateway-sign-in) |

76| `Failed to authenticate: OAuth session expired and could not be refreshed` | [인증](#login-expired) |77| `Failed to authenticate: OAuth session expired and could not be refreshed` | [인증](#login-expired) |


87| `Issuer mismatch in authorization response (RFC 9207)` | [인증](#issuer-mismatch-in-authorization-response) |88| `Issuer mismatch in authorization response (RFC 9207)` | [인증](#issuer-mismatch-in-authorization-response) |

88| `Cloud gateway session expired — run /login to reconnect.` | [인증](#cloud-gateway-session-expired) |89| `Cloud gateway session expired — run /login to reconnect.` | [인증](#cloud-gateway-session-expired) |

89| `Cloud gateway <url> no longer accepts this session` | [인증](#cloud-gateway-session-expired) |90| `Cloud gateway <url> no longer accepts this session` | [인증](#cloud-gateway-session-expired) |

91| `Sign-in timed out while waiting for you to continue. Try again.` | [인증](#sign-in-timed-out-while-waiting-for-you-to-continue) |

90| `AWS credentials expired or invalid` | [인증](#aws-credentials-expired-or-invalid) |92| `AWS credentials expired or invalid` | [인증](#aws-credentials-expired-or-invalid) |

91| `AWS authentication failed` | [인증](#aws-authentication-failed) |93| `AWS authentication failed` | [인증](#aws-authentication-failed) |

92| `Google Cloud credentials expired or invalid` | [인증](#google-cloud-credentials-expired-or-invalid) |94| `Google Cloud credentials expired or invalid` | [인증](#google-cloud-credentials-expired-or-invalid) |


149| `effort '<level>' is not supported when thinking is disabled` | [요청 오류](#effort-isnt-available-with-thinking-turned-off) |151| `effort '<level>' is not supported when thinking is disabled` | [요청 오류](#effort-isnt-available-with-thinking-turned-off) |

150| `max_tokens must be greater than thinking.budget_tokens` | [요청 오류](#thinking-budget-exceeds-output-limit) |152| `max_tokens must be greater than thinking.budget_tokens` | [요청 오류](#thinking-budget-exceeds-output-limit) |

151| `API Error: 400 due to tool use concurrency issues` | [요청 오류](#tool-use-or-thinking-block-mismatch) |153| `API Error: 400 due to tool use concurrency issues` | [요청 오류](#tool-use-or-thinking-block-mismatch) |

154| `API Error: 400 orphaned tool_result in conversation history` | [요청 오류](#tool-use-or-thinking-block-mismatch) |

155| `API Error: 400 duplicate tool_use ID in conversation history` | [요청 오류](#tool-use-or-thinking-block-mismatch) |

152| `[Unsupported tool content removed]` | [요청 오류](#unsupported-tool-content-removed) |156| `[Unsupported tool content removed]` | [요청 오류](#unsupported-tool-content-removed) |

153| `server_tool_use.name: Input should be` on every turn of a resumed session | [요청 오류](#unsupported-tool-content-removed) |157| `server_tool_use.name: Input should be` on every turn of a resumed session | [요청 오류](#unsupported-tool-content-removed) |

154| `<model> can't help with this. Start a new session to continue` | [요청 오류](#usage-policy-refusal) |158| `<model> can't help with this. Start a new session to continue` | [요청 오류](#usage-policy-refusal) |

155| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [요청 오류](#usage-policy-refusal) |159| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [요청 오류](#usage-policy-refusal) |

156| `<model>'s safeguards flagged this message` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |160| `<model>'s safeguards flagged this message` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |

161| `Opus 5.5's safeguards flagged this session` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |

157| `<model> has safety measures that flagged this message for a cybersecurity topic` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |162| `<model> has safety measures that flagged this message for a cybersecurity topic` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |

158| `Installation was killed before it could finish (exit code 137)` | [설치 오류](#installation-was-killed-before-it-could-finish) |163| `Installation was killed before it could finish (exit code 137)` | [설치 오류](#installation-was-killed-before-it-could-finish) |

159| `The connection dropped while downloading the update` | [설치 오류](#the-connection-dropped-while-downloading-the-update) |164| `The connection dropped while downloading the update` | [설치 오류](#the-connection-dropped-while-downloading-the-update) |


199| `No conversation found with session ID: <session-id>` | [명령줄 오류](#no-conversation-found-with-the-session-id) |204| `No conversation found with session ID: <session-id>` | [명령줄 오류](#no-conversation-found-with-the-session-id) |

200| `Cannot switch renderers in this session` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |205| `Cannot switch renderers in this session` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |

201| `Cannot switch renderers while work is running in the background` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |206| `Cannot switch renderers while work is running in the background` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |

207| `Couldn't open Claude Desktop` | [명령줄 오류](#couldnt-open-claude-desktop) |

208| `Failed to open Claude Desktop. Please try opening it manually.` | [명령줄 오류](#couldnt-open-claude-desktop) |

202| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [명령줄 오류](#terminal-setup-left-your-zed-keymap-unchanged) |209| `Couldn't read your Zed keymap` / `Couldn't back up your Zed keymap` / `Couldn't update your Zed keymap` | [명령줄 오류](#terminal-setup-left-your-zed-keymap-unchanged) |

203| `Your Zed keymap isn't a readable list of keybindings` | [명령줄 오류](#terminal-setup-left-your-zed-keymap-unchanged) |210| `Your Zed keymap isn't a readable list of keybindings` | [명령줄 오류](#terminal-setup-left-your-zed-keymap-unchanged) |

204| `Skill usage reports are not available on this connection.` | [명령줄 오류](#skill-usage-reports-are-not-available-on-this-connection) |211| `Skill usage reports are not available on this connection.` | [명령줄 오류](#skill-usage-reports-are-not-available-on-this-connection) |


206| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [명령줄 오류](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |213| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [명령줄 오류](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

207| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [플러그인 오류](#plugin-eval-is-currently-in-early-access) |214| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [플러그인 오류](#plugin-eval-is-currently-in-early-access) |

208| `Marketplace "<name>" is registered from an untrusted source` | [플러그인 오류](#marketplace-is-registered-from-an-untrusted-source) |215| `Marketplace "<name>" is registered from an untrusted source` | [플러그인 오류](#marketplace-is-registered-from-an-untrusted-source) |

216| `Marketplace "<name>" is already added from a different source` | [플러그인 오류](#marketplace-is-already-added-from-a-different-source) |

209| `references ${user_config.*} in a shell-form command` | [플러그인 오류](#plugin-command-references-user-config) |217| `references ${user_config.*} in a shell-form command` | [플러그인 오류](#plugin-command-references-user-config) |

210| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [플러그인 오류](#plugin-command-references-user-config) |218| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [플러그인 오류](#plugin-command-references-user-config) |

211| `headersHelper for MCP server '<name>' references ${user_config.*}` | [플러그인 오류](#plugin-command-references-user-config) |219| `headersHelper for MCP server '<name>' references ${user_config.*}` | [플러그인 오류](#plugin-command-references-user-config) |


216| `Plugin source path refused` | [플러그인 오류](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |224| `Plugin source path refused` | [플러그인 오류](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |

217| `Failed to load marketplace configuration` | [플러그인 오류](#failed-to-load-marketplace-configuration) |225| `Failed to load marketplace configuration` | [플러그인 오류](#failed-to-load-marketplace-configuration) |

218| `Marketplace configuration file is corrupted` | [플러그인 오류](#failed-to-load-marketplace-configuration) |226| `Marketplace configuration file is corrupted` | [플러그인 오류](#failed-to-load-marketplace-configuration) |

227| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [플러그인 오류](#plugin-is-required-by-your-organization) |

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

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

221| `subagent_type is required: the general-purpose agent is not available in this session` | [도구 오류](#subagent-type-is-required) |230| `subagent_type is required: the general-purpose agent is not available in this session` | [도구 오류](#subagent-type-is-required) |


246| `Can't open MCP settings in a background session` | [백그라운드 세션 오류](#commands-refused-in-a-background-session) |255| `Can't open MCP settings in a background session` | [백그라운드 세션 오류](#commands-refused-in-a-background-session) |

247| `blocked because the path is spelled in a form that cannot be safely resolved` | [백그라운드 세션 오류](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |256| `blocked because the path is spelled in a form that cannot be safely resolved` | [백그라운드 세션 오류](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |

248| `blocked because the path is network-shaped` | [백그라운드 세션 오류](#write-or-command-blocked-because-the-path-names-a-network-location) |257| `blocked because the path is network-shaped` | [백그라운드 세션 오류](#write-or-command-blocked-because-the-path-names-a-network-location) |

258| `is isolated in the worktree <path>, but this command <reason>. Refusing to run it` | [백그라운드 세션 오류](#command-blocked-by-the-worktree-isolation-checks) |

259| `too complex to verify that it stays inside the worktree` | [백그라운드 세션 오류](#command-blocked-by-the-worktree-isolation-checks) |

249| `This session has no saved transcript` | [백그라운드 세션 오류](#this-session-has-no-saved-transcript) |260| `This session has no saved transcript` | [백그라운드 세션 오류](#this-session-has-no-saved-transcript) |

250| `Can't open — this session is running in another terminal` | [백그라운드 세션 오류](#this-session-is-running-in-another-terminal) |261| `Can't open — this session is running in another terminal` | [백그라운드 세션 오류](#this-session-is-running-in-another-terminal) |

251| `This conversation is already open in another running Claude session` | [백그라운드 세션 오류](#this-session-is-running-in-another-terminal) |262| `This conversation is already open in another running Claude session` | [백그라운드 세션 오류](#this-session-is-running-in-another-terminal) |


281| `MCP server <name> is blocked by enterprise managed policy` | [구성 경고](#mcp-server-is-blocked-by-enterprise-managed-policy) |292| `MCP server <name> is blocked by enterprise managed policy` | [구성 경고](#mcp-server-is-blocked-by-enterprise-managed-policy) |

282| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [구성 경고](#managed-settings-document-could-not-be-parsed) |293| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [구성 경고](#managed-settings-document-could-not-be-parsed) |

283| `Managed settings drop-in directory could not be read` | [구성 경고](#managed-settings-document-could-not-be-parsed) |294| `Managed settings drop-in directory could not be read` | [구성 경고](#managed-settings-document-could-not-be-parsed) |

295| `otelHeadersHelper failed; telemetry is not being exported. See /status: ...` | [구성 경고](#otelheadershelper-failed) |

284| `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [구성 경고](#crosssessioninbound-must-be-one-of-accept-hold-refuse) |296| `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [구성 경고](#crosssessioninbound-must-be-one-of-accept-hold-refuse) |

285| `headersHelper not run — this workspace has no persisted trust` | [구성 경고](#headershelper-not-run) |297| `headersHelper not run — this workspace has no persisted trust` | [구성 경고](#headershelper-not-run) |

286| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [구성 경고](#malformed-tool-content-rule) |298| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [구성 경고](#malformed-tool-content-rule) |


624**수행할 작업:**636**수행할 작업:**

625 637 

626* `/model`을 실행하고 `[1m]` 접미사 없는 변형을 선택하여 표준 컨텍스트 윈도우로 폴백합니다638* `/model`을 실행하고 `[1m]` 접미사 없는 변형을 선택하여 표준 컨텍스트 윈도우로 폴백합니다

627* 메시지가 `/usage-credits`를 지정하는 경우 이를 실행하여 Pro 및 Max에서 1M 변형에 대한 측정 청구를 켜거나 Team 및 Enterprise에서 관리자에게 사용 크레딧을 요청합니다. 사용 크레딧이 켜진 후 Claude Code를 다시 시작합니다. 다시 시작할 때까지 세션은 표준 컨텍스트 한도로 유지됩니다.639* 메시지가 `/usage-credits`를 지정하는 경우 이를 실행하여 Pro 및 Max에서 1M 변형에 대한 측정 청구를 켜거나 Team 및 Enterprise에서 관리자에게 사용 크레딧을 요청합니다. 사용 크레딧이 켜진 후 Claude Code를 다시 시작하거나 새 세션을 시작합니다(메시지가 지정하는 대로). 그때까지 세션은 표준 컨텍스트 한도로 유지됩니다.

628* `/model` 후에도 오류가 지속되면 1M 모델 ID가 다른 곳에 설정되어 있을 수 있습니다. 우선순위 순서로 확인할 구성 위치는 [모델 설정](/docs/ko/model-config#setting-your-model)을 참조하십시오.640* `/model` 후에도 오류가 지속되면 1M 모델 ID가 다른 곳에 설정되어 있을 수 있습니다. 우선순위 순서로 확인할 구성 위치는 [모델 설정](/docs/ko/model-config#setting-your-model)을 참조하십시오.

629* 모델 선택기에서 1M 변형을 완전히 제거하려면 [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정합니다641* 모델 선택기에서 1M 변형을 완전히 제거하려면 [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정합니다

630 642 


861* `apiKeyHelper`에 구성된 명령을 셸에서 직접 실행하여 실패를 재현합니다.873* `apiKeyHelper`에 구성된 명령을 셸에서 직접 실행하여 실패를 재현합니다.

862* 명령이 만료된 세션을 보고하면, 예를 들어 SSO 또는 비밀 자격증명 모음에 다시 로그인하여 자격증명 공급자로 다시 인증합니다.874* 명령이 만료된 세션을 보고하면, 예를 들어 SSO 또는 비밀 자격증명 모음에 다시 로그인하여 자격증명 공급자로 다시 인증합니다.

863* 명령이 stdout에만 키를 인쇄하도록 수정합니다. 최대 16,384자의 인쇄 가능한 ASCII의 단일 토큰으로, 종료 코드 0으로 종료합니다. 작동하는 설정은 [apiKeyHelper로 자격증명 회전](/docs/ko/llm-gateway-connect#rotate-credentials-with-apikeyhelper)을 참조하십시오.875* 명령이 stdout에만 키를 인쇄하도록 수정합니다. 최대 16,384자의 인쇄 가능한 ASCII의 단일 토큰으로, 종료 코드 0으로 종료합니다. 작동하는 설정은 [apiKeyHelper로 자격증명 회전](/docs/ko/llm-gateway-connect#rotate-credentials-with-apikeyhelper)을 참조하십시오.

864* `/status`를 실행하여 `apiKeyHelper`가 활성 자격증명 소스인지 확인합니다. 명령이 실패할 때마다 종료 코드와 오류 출력이 터미널의 `Authentication` 패널에 나타납니다. v2.1.212 이전에는 패널의 제목이 `Cloud authentication`이었습니다.876* `/status`를 실행하여 `apiKeyHelper`가 활성 자격증명 소스인지 확인합니다. `apiKeyHelper` 행은 `Failing`을 표시하며 마지막 실패의 세부 정보(예: 종료 코드 및 명령의 오류 출력)를 표시하고, 다음 성공적인 실행 후 사라집니다. v2.1.274 이전에는 `/status`가 자격증명 소스만 표시했고 실패를 표시하지 않았습니다.

877* 명령이 실패할 때마다 종료 코드와 오류 출력이 터미널의 `Authentication` 패널에 나타납니다. v2.1.212 이전에는 패널의 제목이 `Cloud authentication`이었습니다.

865 878 

866<h3 id="invalid-request-header-value">879<h3 id="invalid-request-header-value">

867 잘못된 요청 헤더 값880 잘못된 요청 헤더 값


1167 1180 

1168* `/login`을 실행하고, 로그인을 완료한 후 세션을 다시 시작합니다.1181* `/login`을 실행하고, 로그인을 완료한 후 세션을 다시 시작합니다.

1169 1182 

1183<h3 id="artifacts-need-a-claude-ai-login">

1184 아티팩트에 claude.ai 로그인이 필요함

1185</h3>

1186 

1187Claude Code가 [아티팩트](/docs/ko/artifacts) 게시 또는 읽기를 거부했습니다. 세션에 아티팩트에 사용할 수 있는 claude.ai 로그인이 없기 때문입니다.

1188 

1189메시지의 모든 형식은 동일한 단어로 시작하고, 세션이 인증하는 방식에 따라 달라지는 해결책이 뒤따릅니다. 경쟁하는 자격증명이 없으면 다음과 같이 읽습니다:

1190 

1191```text theme={null}

1192Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.

1193```

1194 

1195**수행할 작업:**

1196 

1197* `/login`을 실행하고 **Claude account with subscription**을 선택합니다. **Anthropic Console account** 옵션은 claude.ai 자격증명을 제공하지 않습니다.

1198* 메시지가 `ANTHROPIC_API_KEY`, `apiKeyHelper` 설정 또는 이전 `/login`으로 저장된 Console 키와 같이 우선하는 자격증명의 이름을 지정하면, 메시지가 말하는 방식으로 제거한 후 `/login`을 실행합니다.

1199* 메시지가 이 원격 세션이 이를 실행한 머신을 통해 인증된다고 말하면, 해당 머신에서 claude.ai에 로그인한 후 세션을 다시 연결합니다.

1200* 메시지가 자격증명이 세션의 호스트 환경에 의해 주입된다고 말하면, 해당 세션에서 변경할 수 없습니다. claude.ai에 로그인한 세션을 시작합니다.

1201* [가용성](/docs/ko/artifacts#availability)에서 계획, 모델 공급자 및 조직 정책과 같은 아티팩트가 가진 다른 요구 사항을 참조하십시오.

1202 

1170<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1203<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1171 관리자 정책에 클라우드 게이트웨이 로그인이 필요함1204 관리자 정책에 클라우드 게이트웨이 로그인이 필요함

1172</h3>1205</h3>


1535* 세션에서 `/login`을 실행하고 브라우저 로그인을 완료합니다.1568* 세션에서 `/login`을 실행하고 브라우저 로그인을 완료합니다.

1536* 비대화형 실행의 경우, 동일한 환경에서 `claude`를 시작하고, `/login`을 실행한 후 명령을 다시 실행합니다.1569* 비대화형 실행의 경우, 동일한 환경에서 `claude`를 시작하고, `/login`을 실행한 후 명령을 다시 실행합니다.

1537 1570 

1571<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">

1572 로그인 시간 초과 중 계속 대기

1573</h3>

1574 

1575[Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 로그인 중에 게이트웨이가 로그인한 계정의 이름을 지정했고, Claude Code가 저장하기 전에 확인하도록 요청했습니다. 로그인의 자체 만료를 지나 확인을 열어 두었고, 게이트웨이가 새로 고침 토큰을 발급하지 않았으므로, Claude Code는 계속할 때 아무것도 저장하지 않았습니다:

1576 

1577```text theme={null}

1578Sign-in timed out while waiting for you to continue. Try again.

1579```

1580 

1581**수행할 작업:**

1582 

1583* `/login`을 다시 실행하고 로그인이 만료되기 전에 계정을 확인합니다.

1584 

1538<h3 id="gateway-refused-the-request">1585<h3 id="gateway-refused-the-request">

1539 게이트웨이가 요청을 거부함1586 게이트웨이가 요청을 거부함

1540</h3>1587</h3>


2268 2315 

2269**할 일:**2316**할 일:**

2270 2317 

2271* `claude update`를 실행하고 Claude Code를 다시 시작합니다. Opus 4.7은 v2.1.111 이상이 필요합니다. Opus 4.8은 v2.1.154 이상이 필요합니다. Sonnet 5는 v2.1.197 이상이 필요합니다. Opus 5는 v2.1.219 이상이 필요합니다2318* `claude update`를 실행하고 Claude Code를 다시 시작합니다. Opus 4.7은 v2.1.111 이상이 필요합니다. Opus 4.8은 v2.1.154 이상이 필요합니다. Sonnet 5는 v2.1.197 이상이 필요합니다. Opus 5는 v2.1.219 이상이 필요합니다. Opus 5.5는 v2.1.280 이상이 필요합니다

2272* 업그레이드할 수 없으면 `/model`을 실행하고 대신 Opus 4.6 또는 Sonnet 4.6을 선택합니다2319* 업그레이드할 수 없으면 `/model`을 실행하고 대신 Opus 4.6 또는 Sonnet 4.6을 선택합니다

2273* [Agent SDK](/docs/ko/agent-sdk/overview)에서 이를 맞으면 SDK 패키지를 대신 업그레이드합니다. Opus 4.8은 TypeScript SDK v0.3.154 이상 및 Python SDK v0.2.88 이상이 필요합니다. Sonnet 5는 TypeScript SDK v0.3.197 이상이 필요합니다. Opus 5는 TypeScript SDK v0.3.219 이상이 필요합니다2320* [Agent SDK](/docs/ko/agent-sdk/overview)에서 이를 맞으면 SDK 패키지를 대신 업그레이드합니다. Opus 4.8은 TypeScript SDK v0.3.154 이상 및 Python SDK v0.2.88 이상이 필요합니다. Sonnet 5는 TypeScript SDK v0.3.197 이상이 필요합니다. Opus 5는 TypeScript SDK v0.3.219 이상이 필요합니다. Opus 5.5는 TypeScript SDK v0.3.280 이상이 필요합니다

2274 2321 

2275<h3 id="effort-isnt-available-with-thinking-turned-off">2322<h3 id="effort-isnt-available-with-thinking-turned-off">

2276 사고가 꺼져 있을 때 노력을 사용할 수 없습니다2323 사고가 꺼져 있을 때 노력을 사용할 수 없습니다


2314 2361 

2315```text theme={null}2362```text theme={null}

2316API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.2363API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.

2364API Error: 400 orphaned tool_result in conversation history. Run /rewind to recover the conversation.

2365API Error: 400 duplicate tool_use ID in conversation history. Run /rewind to recover the conversation.

2317API Error: 400 ... unexpected `tool_use_id` found in `tool_result` blocks2366API Error: 400 ... unexpected `tool_use_id` found in `tool_result` blocks

2318API Error: 400 ... thinking blocks ... cannot be modified2367API Error: 400 ... thinking blocks ... cannot be modified

2319```2368```

2320 2369 

2321세 가지 변형 모두 동일한 의미입니다: 기록의 `tool_use`, `tool_result` 및 `thinking` 블록의 순서가 더 이상 API가 예상하는 것과 일치하지 않습니다.2370모든 변형은 동일한 의미입니다: 기록의 `tool_use`, `tool_result` 및 `thinking` 블록의 순서가 더 이상 API가 예상하는 것과 일치하지 않습니다.

2322 2371 

2323**할 일:**2372**할 일:**

2324 2373 


2376API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude2425API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude

2377```2426```

2378 2427 

2379메시지는 [사이버 검증 프로그램](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)에 연결되며, 이는 합법적인 사이버 보안 작업에 대한 액세스를 부여합니다.2428메시지는 [사이버 검증 프로그램](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)에 연결되며, 이는 합법적인 사이버 보안 작업에 대한 액세스를 부여합니다. Opus 5.5에서는 v2.1.280 이상이 필요하며, 메시지는 `Opus 5.5's safeguards flagged this session` 대신 시작됩니다. 플래그된 카테고리에 대체 모델을 사용할 수 있으면 Claude Code는 이 오류를 표시하는 대신 [모델을 전환](/docs/ko/model-config#automatic-model-fallback)합니다.

2380 2429 

2381[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai) 및 [Microsoft Foundry](/docs/ko/microsoft-foundry)에서 사이버 보안 플래그는 대신 [사용 정책 거부](#usage-policy-refusal) 메시지를 생성합니다.2430[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai) 및 [Microsoft Foundry](/docs/ko/microsoft-foundry)에서 사이버 보안 플래그는 대신 [사용 정책 거부](#usage-policy-refusal) 메시지를 생성합니다.

2382 2431 


3087**해야 할 일:**3136**해야 할 일:**

3088 3137 

3089* 메시지의 세션 ID로 `claude --resume <session-id>`를 실행하여 재시도하세요.3138* 메시지의 세션 ID로 `claude --resume <session-id>`를 실행하여 재시도하세요.

3139* 재시도가 다시 실패하면 `claude update`를 실행하고 다시 재개하세요. v2.1.275 이전 버전은 저장된 기록에 읽을 수 없는 항목이 포함되어 있으면 재개에 실패합니다.

3090* 재시도가 다시 실패하면 `claude`를 실행하여 새 세션을 시작하세요.3140* 재시도가 다시 실패하면 `claude`를 실행하여 새 세션을 시작하세요.

3091 3141 

3092<h3 id="no-conversation-found-with-the-session-id">3142<h3 id="no-conversation-found-with-the-session-id">


3139 3189 

3140* 이러한 제한 없이 시작된 세션에서 `/tui fullscreen`을 실행하거나 다시 전환하려면 `/tui default`를 실행하세요. Claude Code는 [`tui` 설정](/docs/ko/settings-reference#tui)을 거기에 저장합니다.3190* 이러한 제한 없이 시작된 세션에서 `/tui fullscreen`을 실행하거나 다시 전환하려면 `/tui default`를 실행하세요. Claude Code는 [`tui` 설정](/docs/ko/settings-reference#tui)을 거기에 저장합니다.

3141 3191 

3192<h3 id="couldnt-open-claude-desktop">

3193 Claude Desktop을 열 수 없음

3194</h3>

3195 

3196[`/desktop`](/docs/ko/desktop#coming-from-the-cli) 또는 그 별칭 `/app`을 실행했는데 Claude Desktop을 열기 위해 Claude Code가 사용하는 시스템 명령어가 실패했습니다. 세션은 터미널에 남아 있습니다.

3197 

3198```text theme={null}

3199Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and run /desktop again.

3200```

3201 

3202**해야 할 일:**

3203 

3204* Claude Desktop을 직접 열고 `/desktop`을 다시 실행하세요.

3205* 해당 명령어의 전체 오류 출력을 읽으려면 `/debug`로 디버그 로깅을 켜고 `/desktop`을 다시 실행한 후 디버그 로그를 확인하세요.

3206 

3207v2.1.275 이전에는 메시지가 `Failed to open Claude Desktop. Please try opening it manually.`였으며 무엇이 실패했는지 말하지 않았습니다.

3208 

3142<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3209<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

3143 /terminal-setup이 Zed 키맵을 변경하지 않음3210 /terminal-setup이 Zed 키맵을 변경하지 않음

3144</h3>3211</h3>


3218이러한 오류는 [플러그인](/docs/ko/plugins) 및 [마켓플레이스](/docs/ko/plugin-marketplaces) 구성에서 발생합니다. 이 페이지의 메시지 중 하나를 생성하지 않는 플러그인 문제(예: 로드되지 않는 마켓플레이스 URL 또는 설치되지만 나타나지 않는 플러그인)의 경우 [플러그인 문제 해결](/docs/ko/discover-plugins#troubleshooting)을 참조하십시오.3285이러한 오류는 [플러그인](/docs/ko/plugins) 및 [마켓플레이스](/docs/ko/plugin-marketplaces) 구성에서 발생합니다. 이 페이지의 메시지 중 하나를 생성하지 않는 플러그인 문제(예: 로드되지 않는 마켓플레이스 URL 또는 설치되지만 나타나지 않는 플러그인)의 경우 [플러그인 문제 해결](/docs/ko/discover-plugins#troubleshooting)을 참조하십시오.

3219 3286 

3220<h3 id="plugin-eval-is-currently-in-early-access">3287<h3 id="plugin-eval-is-currently-in-early-access">

3221 plugin eval이 현재 초기 액세스 중입니다3288 plugin eval is currently in early access

3222</h3>3289</h3>

3223 3290 

3224[`claude plugin eval`](/docs/ko/plugin-evals) 또는 `claude plugin eval init`을 실행했고 아무것도 하기 전에 다음 메시지 중 하나와 함께 종료 코드 1로 종료되었습니다:3291[`claude plugin eval`](/docs/ko/plugin-evals) 또는 `claude plugin eval init`을 실행했으며 아무것도 수행하기 전에 다음 메시지 중 하나와 함께 종료 코드 1로 종료되었습니다:

3225 3292 

3226```text theme={null}3293```text theme={null}

3227`plugin eval` is currently in early access3294`plugin eval` is currently in early access


3231`plugin eval` is currently unavailable3298`plugin eval` is currently unavailable

3232```3299```

3233 3300 

3234첫 번째 메시지는 빌드가 명령이 일반적으로 사용 가능한 첫 번째 버전인 v2.1.269보다 오래되었음을 의미합니다. 두 번째는 Anthropic이 서버 측에서 명령을 끄었음을 의미합니다. 머신의 아무것도 이를 다시 켤 수 없습니다.3301첫 번째 메시지는 빌드가 v2.1.269보다 오래되었음을 의미합니다. v2.1.269는 명령이 일반적으로 사용 가능한 첫 번째 버전입니다. 두 번째 메시지는 Anthropic이 서버 측에서 명령을 비활성화했음을 의미합니다. 머신의 아무것도 이를 다시 켤 수 없습니다.

3235 3302 

3236**해야 할 일:**3303**수행할 작업:**

3237 3304 

3238* `claude --version`을 실행한 다음 `claude update`를 실행하고 새 세션에서 명령을 다시 실행합니다. [플러그인 evals의 요구 사항](/docs/ko/plugin-evals#requirements)을 참조하십시오.3305* `claude --version`을 실행한 다음 `claude update`를 실행하고 새 세션에서 명령을 다시 실행하십시오. [플러그인 평가 요구 사항](/docs/ko/plugin-evals#requirements)을 참조하십시오.

3239* 현재 빌드에서 두 번째 메시지가 표시되면 다른 `claude update` 후 나중에 다시 시도하십시오.3306* 현재 빌드에서 두 번째 메시지가 표시되면 다른 `claude update` 후 나중에 다시 시도하십시오.

3240 3307 

3241<h3 id="marketplace-is-registered-from-an-untrusted-source">3308<h3 id="marketplace-is-registered-from-an-untrusted-source">

3242 마켓플레이스가 신뢰할 수 없는 소스에서 등록됨3309 Marketplace is registered from an untrusted source

3243</h3>3310</h3>

3244 3311 

3245마켓플레이스가 [공식 Anthropic 마켓플레이스용으로 예약된 이름](/docs/ko/plugin-marketplaces#marketplace-schema)으로 등록되어 있지만, 등록된 소스가 `anthropics` GitHub 저장소가 아닙니다. Claude Code는 마켓플레이스를 로드하거나 새로 고칠 때마다 예약된 이름을 다시 확인하므로, 마켓플레이스와 여기서 설치된 플러그인이 로드되지 않습니다. v2.1.205 이전에는 마켓플레이스가 추가될 때만 이름이 확인되었으므로, 이름이 예약되기 전에 등록된 항목은 계속 로드되었습니다.3312마켓플레이스가 [공식 Anthropic 마켓플레이스용으로 예약된](/docs/ko/plugin-marketplaces#marketplace-schema) 이름으로 등록되어 있지만 등록된 소스가 `anthropics` GitHub 저장소가 아닙니다. Claude Code는 마켓플레이스를 로드하거나 새로 고칠 때마다 예약된 이름을 다시 확인하므로 마켓플레이스와 여기서 설치된 플러그인이 로드되지 않습니다. v2.1.205 이전에는 마켓플레이스가 추가될 때만 이름이 확인되었으므로 이름이 예약되기 전에 등록된 항목이 계속 로드되었습니다.

3246 3313 

3247```text theme={null}3314```text theme={null}

3248Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.3315Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.

3249```3316```

3250 3317 

3251소스가 GitHub 저장소나 Git URL이 아닌 마켓플레이스(예: 로컬 디렉터리)의 경우, 중간 문장은 `can only be used with GitHub sources from the 'anthropics' organization` 대신 읽습니다. `claude plugin marketplace add`는 동일한 확인을 실행하며, 예약된 이름을 `Failed to add marketplace:` 다음에 동일한 예약된 이름 문장으로 거부합니다.3318소스가 GitHub 저장소 또는 Git URL이 아닌 마켓플레이스(예: 로컬 디렉터리)의 경우 중간 문장은 `can only be used with GitHub sources from the 'anthropics' organization` 대신 읽습니다. `claude plugin marketplace add`는 동일한 확인을 실행하며 예약된 이름을 `Failed to add marketplace:` 다음에 동일한 예약된 이름 문장으로 거부합니다.

3252 3319 

3253**해야 할 일:**3320**수행할 작업:**

3254 3321 

3255* 마켓플레이스가 이미 등록된 경우 `claude plugin marketplace remove <name>`을 실행한 다음 공식 `github.com/anthropics` 저장소에서 다시 추가합니다.3322* 마켓플레이스가 이미 등록된 경우 `claude plugin marketplace remove <name>`을 실행한 다음 공식 `github.com/anthropics` 저장소에서 다시 추가하십시오.

3256* 이름이 예약되기 전에 해당 이름을 사용한 타사 마켓플레이스를 게시한 경우 이름을 바꾸고 사용자에게 소스에서 다시 추가하도록 요청합니다.3323* 이름이 예약되기 전에 이름을 사용한 타사 마켓플레이스를 게시하는 경우 이름을 바꾸고 사용자에게 소스에서 다시 추가하도록 요청하십시오.

3257* [마켓플레이스 스키마](/docs/ko/plugin-marketplaces#marketplace-schema)에서 예약된 이름 목록을 참조하십시오.3324* [마켓플레이스 스키마](/docs/ko/plugin-marketplaces#marketplace-schema)에서 예약된 이름 목록을 참조하십시오.

3258 3325 

3326<h3 id="marketplace-is-already-added-from-a-different-source">

3327 Marketplace is already added from a different source

3328</h3>

3329 

3330[`/plugin install <plugin> --marketplace <source>`](/docs/ko/discover-plugins#add-a-marketplace-and-install-in-one-command)를 통해 마켓플레이스 추가를 확인했으며 해당 소스에서 Claude Code가 가져온 카탈로그가 이미 다른 소스에서 추가한 마켓플레이스와 동일한 이름으로 지정합니다. Claude Code는 기존 마켓플레이스를 유지하고 이를 대체하지 않으므로 플러그인이 설치되지 않습니다.

3331 

3332```text theme={null}

3333Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.

3334```

3335 

3336**수행할 작업:**

3337 

3338* 이미 추가한 마켓플레이스가 원하는 마켓플레이스인 경우 이름으로 설치하십시오: `/plugin install <plugin>@<name>`

3339* 새 소스로 전환하려면 `/plugin marketplace remove <name>`을 실행한 다음 설치를 다시 시도하십시오.

3340 

3259<h3 id="plugin-command-references-user-config">3341<h3 id="plugin-command-references-user-config">

3260 플러그인 명령이 셸 명령에서 user\_config를 참조함3342 Plugin command references user\_config in a shell command

3261</h3>3343</h3>

3262 3344 

3263플러그인 훅, [monitor](/docs/ko/plugins-reference#monitors) 또는 MCP [`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication) 명령이 `${user_config.KEY}` [플러그인 옵션](/docs/ko/plugins-reference#user-configuration)을 참조하고, 대체된 문자열이 셸에 전달됩니다. 구성된 값에 `$(...)`, 백틱 또는 `;`이 포함되어 있으면 거기서 코드로 실행되므로 Claude Code는 값을 대체하는 대신 구성 요소를 시작하기를 거부합니다. 확인은 명령 템플릿에서 실행되므로 아직 값이 구성되지 않았을 때도 오류가 나타납니다. v2.1.207 이전에는 값이 셸 명령으로 대체되었습니다.3345플러그인 훅, [모니터](/docs/ko/plugins-reference#monitors) 또는 MCP [`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication) 명령이 `${user_config.KEY}` [플러그인 옵션](/docs/ko/plugins-reference#user-configuration)을 참조하며 대체된 문자열이 셸에 전달됩니다. 구성된 값에 `$(...)`, 백틱 또는 `;`이 포함되면 여기서 코드로 실행되므로 Claude Code는 값을 대체하는 대신 구성 요소를 시작하기를 거부합니다. 확인은 명령 템플릿에서 실행되므로 아직 값이 구성되지 않았을 때도 오류가 나타납니다. v2.1.207 이전에는 값이 셸 명령으로 대체되었습니다.

3264 3346 

3265표현은 옵션을 참조한 표면에 따라 다릅니다. 셸 형식 훅은 다음을 보고합니다:3347표현은 어느 표면이 옵션을 참조했는지에 따라 다릅니다. 셸 형식 훅은 다음을 보고합니다:

3266 3348 

3267```text theme={null}3349```text theme={null}

3268Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}3350Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}


3280headersHelper for MCP server 'internal-api' references ${user_config.*}. The substituted value would be passed to a shell; read the value inside the helper script instead (e.g. from an env var set in the server's "env" block).3362headersHelper for MCP server 'internal-api' references ${user_config.*}. The substituted value would be passed to a shell; read the value inside the helper script instead (e.g. from an env var set in the server's "env" block).

3281```3363```

3282 3364 

3283**해야 할 일:**3365**수행할 작업:**

3284 3366 

3285* 훅의 경우 `args` 배열을 추가하여 [exec 형식](/docs/ko/hooks#exec-form-and-shell-form)으로 실행되도록 합니다. 여기서 각 `${user_config.KEY}`는 그 사이에 셸이 없는 하나의 인수가 됩니다. 또는 참조를 삭제하고 스크립트 내에서 `$CLAUDE_PLUGIN_OPTION_<KEY>` 환경 변수를 읽습니다.3367* 훅의 경우 `args` 배열을 추가하여 [exec 형식](/docs/ko/hooks#exec-form-and-shell-form)에서 실행되도록 하십시오. 여기서 각 `${user_config.KEY}`는 그 사이에 셸이 없는 하나의 인수가 됩니다. 또는 참조를 제거하고 스크립트 내에서 `$CLAUDE_PLUGIN_OPTION_<KEY>` 환경 변수를 읽으십시오.

3286* 모니터의 경우 참조를 삭제하고 모니터 스크립트가 구성 파일에서 값을 읽도록 합니다.3368* 모니터의 경우 참조를 제거하고 모니터 스크립트가 구성 파일에서 값을 읽도록 하십시오.

3287* `headersHelper`의 경우 `${user_config.KEY}`를 셸 구문 분석이 되지 않는 서버의 `headers` 필드로 이동하거나 도우미 스크립트 내에서 값을 읽습니다.3369* `headersHelper`의 경우 `${user_config.KEY}`를 셸 구문 분석되지 않는 서버의 `headers` 필드로 이동하거나 헬퍼 스크립트 내에서 값을 읽으십시오.

3288 3370 

3289<h3 id="plugin-archive-integrity-check-failed">3371<h3 id="plugin-archive-integrity-check-failed">

3290 플러그인 아카이브 무결성 확인 실패3372 Plugin archive integrity check failed

3291</h3>3373</h3>

3292 3374 

3293플러그인의 마켓플레이스 항목은 `sha256` 핀이 있는 [`archive` 소스](/docs/ko/plugin-marketplaces#zip-archives)를 사용하고, 다운로드된 파일의 다이제스트가 핀과 일치하지 않습니다. Claude Code는 설치를 거부하므로 플러그인 캐시에서 아무것도 변경되지 않습니다. 불일치에는 세 가지 가능한 원인이 있습니다:3375플러그인의 마켓플레이스 항목이 `sha256` 핀이 있는 [`archive` 소스](/docs/ko/plugin-marketplaces#zip-archives)를 사용하며 다운로드된 파일의 다이제스트가 핀과 일치하지 않습니다. Claude Code는 설치를 거부하므로 플러그인 캐시에서 아무것도 변경되지 않습니다. 불일치에는 세 가지 가능한 원인이 있습니다:

3294 3376 

3295* 작성자가 핀을 계산한 후 URL의 파일이 변경됨3377* 작성자가 핀을 계산한 후 URL의 파일이 변경됨

3296* 작성자가 마켓플레이스 항목에 잘못된 다이제스트를 입력함3378* 작성자가 마켓플레이스 항목에 잘못된 다이제스트를 입력함


3300Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.3382Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.

3301```3383```

3302 3384 

3303**해야 할 일:**3385**수행할 작업:**

3304 3386 

3305* 플러그인을 게시하는 경우 URL이 제공하는 정확한 파일의 다이제스트를 다시 계산합니다. 예를 들어 `shasum -a 256 my-plugin.zip` 또는 PowerShell에서 `Get-FileHash -Algorithm SHA256 my-plugin.zip`을 사용하고 마켓플레이스 항목의 `sha256`을 업데이트합니다.3387* 플러그인을 게시하는 경우 URL이 제공하는 정확한 파일의 다이제스트를 다시 계산하십시오. 예를 들어 `shasum -a 256 my-plugin.zip` 또는 PowerShell에서 `Get-FileHash -Algorithm SHA256 my-plugin.zip`을 사용하고 마켓플레이스 항목의 `sha256`을 업데이트하십시오.

3306* 플러그인을 설치하는 경우 `/plugin marketplace update <name>`을 실행하여 항목이 수정된 경우 카탈로그를 새로 고친 다음 설치를 다시 시도합니다.3388* 플러그인을 설치하는 경우 `/plugin marketplace update <name>`을 실행하여 항목이 수정된 경우 카탈로그를 새로 고친 다음 설치를 다시 시도하십시오.

3307* 새로 고침 후에도 다이제스트가 계속 불일치하면 설치하기 전에 마켓플레이스 소유자에게 어떤 파일을 핀했는지 물어봅니다.3389* 새로 고침 후에도 다이제스트가 계속 불일치하면 설치하기 전에 마켓플레이스 소유자에게 어떤 파일을 핀했는지 물어보십시오.

3308 3390 

3309<h3 id="path-escapes-plugin-directory">3391<h3 id="path-escapes-plugin-directory">

3310 경로가 플러그인 디렉터리를 벗어남3392 Path escapes plugin directory

3311</h3>3393</h3>

3312 3394 

3313플러그인 구성 요소 경로는 플러그인의 `plugin.json` 또는 [마켓플레이스 항목](/docs/ko/plugin-marketplaces#plugin-entries)에서 선언되며, 플러그인 자체 디렉터리 외부로 확인됩니다. Claude Code는 해당 경로를 삭제하고 플러그인의 나머지 부분을 로드합니다. 메시지의 구성 요소 이름(예: `commands` 또는 `hooks`)은 경로를 선언한 필드의 이름을 지정합니다.3395플러그인 구성 요소 경로는 플러그인의 `plugin.json` 또는 [마켓플레이스 항목](/docs/ko/plugin-marketplaces#plugin-entries)에서 선언되며 플러그인의 자체 디렉터리 외부로 확인됩니다. Claude Code는 해당 경로를 삭제하고 플러그인의 나머지 부분을 로드합니다. 메시지의 구성 요소 이름(예: `commands` 또는 `hooks`)은 경로를 선언한 필드의 이름을 지정합니다.

3314 3396 

3315```text theme={null}3397```text theme={null}

3316commands path escapes plugin directory: ./../shared.md3398commands path escapes plugin directory: ./../shared.md


3318 3400 

3319`claude plugin` 명령 출력에서 동일한 오류는 `Path escapes plugin directory: ./../shared.md (commands)`로 읽습니다.3401`claude plugin` 명령 출력에서 동일한 오류는 `Path escapes plugin directory: ./../shared.md (commands)`로 읽습니다.

3320 3402 

3321Claude Code는 `../shared-utils`와 같이 작성된 대로 플러그인 외부를 가리키는 경로와 [마켓플레이스 심볼릭 링크 규칙](/docs/ko/plugins-reference#share-files-within-a-marketplace-with-symlinks)이 허용하지 않는 플러그인 외부로 이어지는 심볼릭 링크를 모두 거부합니다. 심볼릭 링크의 경우 메시지는 경로가 확인되는 위치도 표시합니다:3403Claude Code는 `../shared-utils`와 같이 플러그인 외부를 가리키는 경로와 [마켓플레이스 심볼릭 링크 규칙](/docs/ko/plugins-reference#share-files-within-a-marketplace-with-symlinks)이 허용하지 않는 플러그인 외부로 이어지는 심볼릭 링크를 모두 거부합니다. 심볼릭 링크의 경우 메시지는 경로가 확인되는 위치도 표시합니다:

3322 3404 

3323```text theme={null}3405```text theme={null}

3324commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory3406commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory

3325```3407```

3326 3408 

3327macOS 및 Linux에서 Claude Code는 경로가 플러그인 내부에 머물러 있을 때도 경로의 어디든 백슬래시를 포함하는 구성 요소 경로를 거부합니다. 구성 요소 경로가 Windows 스타일 구분 기호를 사용하는 플러그인은 Windows에서 로드되고 다른 플랫폼에서 이 거부를 트리거합니다:3409macOS 및 Linux에서 Claude Code는 경로가 플러그인 내부에 머물러 있을 때도 경로의 어디든지 백슬래시를 포함하는 구성 요소 경로를 거부합니다. 구성 요소 경로가 Windows 스타일 구분 기호를 사용하는 플러그인은 Windows에서 로드되고 다른 플랫폼에서 이 거부를 트리거합니다:

3328 3410 

3329```text theme={null}3411```text theme={null}

3330commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform3412commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform

3331```3413```

3332 3414 

3333v2.1.251 이전에는 Claude Code가 플러그인 디렉터리 외부를 가리킬 때도 마켓플레이스 항목에서 선언된 `commands` 경로를 로드했습니다. Claude Code는 이미 `plugin.json`에서 선언된 경로와 마켓플레이스 항목의 다른 구성 요소 경로를 거부했습니다.3415v2.1.251 이전에는 Claude Code가 마켓플레이스 항목에서 선언된 `commands` 경로를 플러그인 디렉터리 외부를 가리킬 때도 로드했습니다. Claude Code는 이미 `plugin.json`에서 선언된 경로와 마켓플레이스 항목의 다른 구성 요소 경로를 거부했습니다.

3334 3416 

3335v2.1.257 이전에는 확인이 경로의 철자만 보았고 심볼릭 링크가 이어지는 위치는 보지 않았습니다.3417v2.1.257 이전에는 확인이 경로의 철자만 보았으며 심볼릭 링크가 이어지는 위치는 보지 않았습니다.

3336 3418 

3337**해야 할 일:**3419**수행할 작업:**

3338 3420 

3339* 참조된 파일을 플러그인 디렉터리 내부로 이동하고 `./` 상대 경로로 경로를 가리킵니다.3421* 참조된 파일을 플러그인 디렉터리 내부로 이동하고 `./` 상대 경로로 경로를 가리키십시오.

3340* 경로가 플러그인 외부의 파일에 대한 심볼릭 링크인 경우 심볼릭 링크를 파일의 복사본으로 바꿉니다.3422* 경로가 플러그인 외부의 파일에 대한 심볼릭 링크인 경우 심볼릭 링크를 파일의 복사본으로 바꾸십시오.

3341* 메시지에서 경로에 백슬래시가 포함되어 있다고 하면 경로를 정방향 슬래시로 작성합니다. 예를 들어 `./commands/deploy.md`입니다.3423* 메시지가 경로에 백슬래시가 포함되어 있다고 말하면 경로를 정방향 슬래시로 작성하십시오. 예를 들어 `./commands/deploy.md`

3342* 동일한 마켓플레이스의 다른 플러그인과 파일을 공유하려면 [심볼릭 링크 규칙](/docs/ko/plugins-reference#share-files-within-a-marketplace-with-symlinks)에 따라 플러그인 디렉터리 내부의 심볼릭 링크로 연결합니다.3424* 동일한 마켓플레이스의 다른 플러그인과 파일을 공유하려면 플러그인 디렉터리 내의 심볼릭 링크로 연결하고 [심볼릭 링크 규칙](/docs/ko/plugins-reference#share-files-within-a-marketplace-with-symlinks)을 따르십시오.

3343 3425 

3344<h3 id="path-could-not-be-checked">3426<h3 id="path-could-not-be-checked">

3345 경로를 확인할 수 없음3427 Path could not be checked

3346</h3>3428</h3>

3347 3429 

3348Claude Code가 플러그인 경로의 존재 여부를 운영 체제에 물었고 "찾을 수 없음" 이외의 오류를 받았으므로 경로가 이름을 지정하는 것을 로드하지 않습니다. 플러그인의 얼마나 많은 부분이 로드되는지는 어떤 경로가 실패했는지에 따라 다릅니다:3430Claude Code는 플러그인 경로가 존재하는지 운영 체제에 물었고 "찾을 수 없음" 이외의 오류를 받았으므로 경로가 이름을 지정하는 것을 로드하지 않습니다. 플러그인의 얼마나 많은 부분이 로드되는지는 어느 경로가 실패했는지에 따라 다릅니다:

3349 3431 

3350* 플러그인의 [기본 구성 요소 폴더](/docs/ko/plugins-reference#file-locations-reference) 중 하나(예: `skills/` 폴더, `monitors/monitors.json` 파일 또는 [플러그인 루트의 `SKILL.md`](/docs/ko/plugins-reference#skills)): 플러그인의 다른 구성 요소는 여전히 로드됩니다.3432* 플러그인의 [기본 구성 요소 위치](/docs/ko/plugins-reference#file-locations-reference) 중 하나(예: `skills/` 폴더, `monitors/monitors.json` 파일 또는 [플러그인 루트의 `SKILL.md`](/docs/ko/plugins-reference#skills)): 플러그인의 다른 구성 요소는 여전히 로드됨

3351* 플러그인 자체 디렉터리: 해당 플러그인에서 아무것도 로드되지 않습니다.3433* 플러그인의 자체 디렉터리: 해당 플러그인에서 아무것도 로드되지 않음

3352 3434 

3353존재하지 않는 경로에 대해서는 이 오류가 표시되지 않습니다. `/plugin`에서 오류는 플러그인 아래에 나타나고 경로와 운영 체제가 반환한 코드의 이름을 지정합니다:3435전혀 존재하지 않는 경로에 대해서는 이 오류가 표시되지 않습니다. `/plugin`에서 오류는 플러그인 아래에 나타나고 경로와 운영 체제가 반환한 코드의 이름을 지정합니다:

3354 3436 

3355```text theme={null}3437```text theme={null}

3356skills path could not be checked: /home/user/my-plugin/skills (ELOOP)3438skills path could not be checked: /home/user/my-plugin/skills (ELOOP)


3360 3442 

3361이 오류를 생성하는 원인은 다음을 포함합니다:3443이 오류를 생성하는 원인은 다음을 포함합니다:

3362 3444 

3363* `ELOOP`: 경로의 심볼릭 링크가 자신을 가리키거나 루프를 형성합니다.3445* `ELOOP`: 경로의 심볼릭 링크가 자신을 가리키거나 루프를 형성함

3364* `EIO` 또는 `ESTALE`: 경로가 끊어지거나 오래된 네트워크 마운트에 있습니다.3446* `EIO` 또는 `ESTALE`: 경로가 끊어지거나 오래된 네트워크 마운트에 있음

3365* `EACCES`: 경로 위의 디렉터리 중 하나가 이를 통과할 수 있는 권한을 거부합니다.3447* `EACCES`: 경로 위의 디렉터리 중 하나가 이를 통과할 권한을 거부함

3366 3448 

3367**해야 할 일:**3449**수행할 작업:**

3368 3450 

3369* 자신을 가리키는 심볼릭 링크를 실제 폴더로 바꾸거나 삭제합니다.3451* 자신을 가리키는 심볼릭 링크를 실제 폴더로 바꾸거나 삭제하십시오.

3370* 경로가 네트워크 마운트에 있으면 공유를 다시 마운트합니다.3452* 경로가 네트워크 마운트에 있으면 공유를 다시 마운트하십시오.

3371* 코드가 `EACCES`이면 경로 위의 디렉터리에 대한 실행 권한을 복원합니다.3453* 코드가 `EACCES`이면 경로 위의 디렉터리에 대한 실행 권한을 복원하십시오.

3372* 경로를 수정한 후 `/reload-plugins`를 실행하거나 Claude Code를 다시 시작하여 플러그인 또는 구성 요소를 로드합니다.3454* 경로를 수정한 후 `/reload-plugins`을 실행하거나 Claude Code를 다시 시작하여 플러그인 또는 구성 요소를 로드하십시오.

3373 3455 

3374v2.1.265 이전에는 Claude Code가 확인할 수 없는 기본 구성 요소 폴더를 없는 것으로 취급하고 오류 없이 해당 구성 요소 없이 플러그인을 로드했습니다.3456v2.1.265 이전에는 Claude Code가 확인할 수 없는 기본 구성 요소 폴더를 없는 것으로 취급하고 오류 없이 해당 구성 요소 없이 플러그인을 로드했습니다.

3375 3457 

3376<h3 id="marketplace-entry-path-does-not-stay-inside-the-marketplace-directory">3458<h3 id="marketplace-entry-path-does-not-stay-inside-the-marketplace-directory">

3377 마켓플레이스 항목 경로가 마켓플레이스 디렉터리 내부에 머물지 않음3459 Marketplace entry path does not stay inside the marketplace directory

3378</h3>3460</h3>

3379 3461 

3380플러그인의 [마켓플레이스 항목](/docs/ko/plugin-marketplaces#plugin-entries)은 Claude Code가 마켓플레이스 자체 디렉터리 내부의 위치로 확인할 수 없는 소스 경로를 선언하므로 플러그인이 설치되거나 로드되지 않습니다. 거부는 다음을 포함합니다:3462플러그인의 [마켓플레이스 항목](/docs/ko/plugin-marketplaces#plugin-entries)이 Claude Code가 마켓플레이스의 자체 디렉터리 내부의 위치로 확인할 수 없는 소스 경로를 선언하므로 플러그인이 설치되거나 로드되지 않습니다. 거부는 다음을 포함합니다:

3381 3463 

3382* 절대 경로, `..`로 마켓플레이스를 벗어나거나 네트워크 경로처럼 철자가 있는 항목 경로3464* 절대 경로, `..`로 마켓플레이스를 벗어나거나 네트워크 경로처럼 철자된 항목 경로

3383* git 또는 URL과 같은 원격 소스에서 가져온 마켓플레이스의 항목으로, 마켓플레이스 디렉터리 외부로 확인되는 심볼릭 링크를 통해 대상에 도달합니다.3465* macOS 및 Linux에서 선행 `./` 이후 어디든지 백슬래시를 포함하는 항목 경로

3384* 마켓플레이스에서 `marketplace.json`에 직접 URL로 추가된 상대 항목: Claude Code는 해당 파일만 다운로드하므로 경로가 이름을 지정할 수 있는 로컬 플러그인 파일이 없습니다. [상대 경로가 있는 플러그인이 URL 기반 마켓플레이스에서 실패](/docs/ko/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces)를 참조하십시오.3466* git 또는 URL과 같은 원격 소스에서 가져온 마켓플레이스의 항목이 마켓플레이스 디렉터리 외부로 확인되는 심볼릭 링크를 통해 대상에 도달함

3467* 마켓플레이스의 `marketplace.json`에 대한 직접 URL에서 추가된 마켓플레이스의 상대 항목: Claude Code는 해당 파일만 다운로드하므로 경로가 이름을 지정할 로컬 플러그인 파일이 없습니다. [URL 기반 마켓플레이스에서 상대 경로가 있는 플러그인 실패](/docs/ko/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces)를 참조하십시오.

3385 3468 

3386`claude plugin install`은 거부를 다음과 같이 보고합니다:3469`claude plugin install`은 다음과 같이 거부를 보고합니다:

3387 3470 

3388```text theme={null}3471```text theme={null}

3389Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped, backslash-containing or link-traversing entry, an entry of a fetched marketplace that resolves or opens outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)3472Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped, backslash-containing or link-traversing entry, an entry of a fetched marketplace that resolves or opens outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)


3395Plugin source path refused: ./my-plugin does not stay inside its marketplace directory. Check that the marketplace entry has a plain relative path.3478Plugin source path refused: ./my-plugin does not stay inside its marketplace directory. Check that the marketplace entry has a plain relative path.

3396```3479```

3397 3480 

3398**해야 할 일:**3481**수행할 작업:**

3399 3482 

3400* 마켓플레이스를 유지 관리하는 경우 항목의 `source`를 `./plugins/my-plugin`과 같은 일반 상대 경로로 작성하고 이를 통과하는 모든 심볼릭 링크를 마켓플레이스 디렉터리 내부를 가리키도록 유지합니다.3483* 마켓플레이스를 유지하는 경우 항목의 `source`를 `./plugins/my-plugin`과 같은 일반 상대 경로로 작성하고 이를 통과하는 모든 심볼릭 링크가 마켓플레이스 디렉터리 내부를 가리키도록 하십시오.

3401* 마켓플레이스를 직접 URL에서 추가한 경우 상대 항목을 확인할 수 없습니다. 마켓플레이스 작성자에게 [다른 플러그인 소스](/docs/ko/plugin-marketplaces#plugin-sources)를 사용하도록 요청하거나 대신 git 저장소에서 마켓플레이스를 추가합니다.3484* 마켓플레이스를 직접 URL에서 추가한 경우 상대 항목을 확인할 수 없습니다. 마켓플레이스 작성자에게 [다른 플러그인 소스](/docs/ko/plugin-marketplaces#plugin-sources)를 사용하도록 요청하거나 git 저장소에서 마켓플레이스를 추가하십시오.

3402 3485 

3403<h3 id="failed-to-load-marketplace-configuration">3486<h3 id="failed-to-load-marketplace-configuration">

3404 마켓플레이스 구성을 로드하지 못함3487 Failed to load marketplace configuration

3405</h3>3488</h3>

3406 3489 

3407Claude Code는 `~/.claude/plugins/known_marketplaces.json`의 레지스트리 파일에 추가한 플러그인 마켓플레이스를 유지합니다. `claude plugin install`과 같이 레지스트리가 필요한 플러그인 명령은 Claude Code가 파일을 사용할 수 없을 때 두 가지 메시지 중 하나로 실패합니다:3490Claude Code는 `~/.claude/plugins/known_marketplaces.json`의 레지스트리 파일에 추가한 플러그인 마켓플레이스를 유지합니다. `claude plugin install`과 같이 레지스트리가 필요한 플러그인 명령은 Claude Code가 파일을 사용할 수 없을 때 두 가지 메시지 중 하나로 실패합니다:

3408 3491 

3409* `Failed to load marketplace configuration`: 파일이 유효한 JSON이 아니거나 읽을 수 없습니다. 빈 파일도 이런 식으로 실패합니다.3492* `Failed to load marketplace configuration`: 파일이 유효한 JSON이 아니거나 읽을 수 없습니다. 빈 파일도 이런 식으로 실패합니다.

3410* `Marketplace configuration file is corrupted`: 파일은 유효한 JSON이지만 내용이 레지스트리 스키마와 일치하지 않습니다.3493* `Marketplace configuration file is corrupted`: 파일이 유효한 JSON이지만 내용이 레지스트리 스키마와 일치하지 않습니다.

3411 3494 

3412누락된 파일은 실패가 아닙니다: Claude Code는 이를 마켓플레이스가 없는 레지스트리로 취급합니다.3495누락된 파일은 실패가 아닙니다: Claude Code는 이를 마켓플레이스가 없는 레지스트리로 취급합니다.

3413 3496 


3419 3502 

3420v2.1.246 이전에는 `claude plugin install`이 이 실패를 보고하지 않았습니다.3503v2.1.246 이전에는 `claude plugin install`이 이 실패를 보고하지 않았습니다.

3421 3504 

3422**해야 할 일:**3505**수행할 작업:**

3506 

3507* `~/.claude/plugins/known_marketplaces.json`을 열고 JSON을 복구하거나 메시지가 레지스트리 스키마와 일치하지 않는 것으로 이름을 지정한 항목을 수정하십시오.

3508* 복구할 수 없으면 파일을 삭제하거나 내용을 `{}`로 바꾼 다음 `claude plugin marketplace add <source>`로 각 마켓플레이스를 다시 추가하십시오. Claude Code는 신뢰한 폴더에서 다음에 시작할 때 사용자 또는 관리 설정이 [`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces)에서 선언한 마켓플레이스를 다시 등록합니다.

3509 

3510<h3 id="plugin-is-required-by-your-organization">

3511 Plugin is required by your organization

3512</h3>

3513 

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

3515 

3516```text theme={null}

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

3518```

3519 

3520Claude Code는 아무것도 저장하지 않으며 플러그인은 활성화된 상태로 유지됩니다.

3423 3521 

3424* `~/.claude/plugins/known_marketplaces.json`을 열고 JSON을 복구하거나 메시지가 레지스트리 스키마와 일치하지 않는 것으로 이름을 지정한 항목을 수정합니다.3522필수 플러그인이 의존하는 플러그인을 비활성화하려고 하면 Claude Code는 필수 플러그인이 필요로 하는 플러그인의 이름을 지정하는 메시지와 함께 동일한 방식으로 거부합니다.

3425* 복구할 수 없으면 파일을 삭제하거나 내용을 `{}`로 바꾼 다음 `claude plugin marketplace add <source>`로 각 마켓플레이스를 다시 추가합니다. Claude Code는 신뢰한 폴더에서 다음에 시작할 때 사용자 또는 관리 설정이 [`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces)에서 선언한 마켓플레이스를 다시 등록합니다.3523 

3524**수행할 작업:**

3525 

3526* claude.ai 조직의 관리자에게 claude.ai에서 플러그인의 필수 상태를 변경하도록 요청하십시오.

3426 3527 

3427<h2 id="tool-errors">3528<h2 id="tool-errors">

3428 도구 오류3529 도구 오류


3452 3553 

3453* 오류가 지정하는 각 항목을 [서브에이전트에서 사용 가능한 도구](/docs/ko/sub-agents#available-tools)에 대해 수정합니다.3554* 오류가 지정하는 각 항목을 [서브에이전트에서 사용 가능한 도구](/docs/ko/sub-agents#available-tools)에 대해 수정합니다.

3454* 세션에 없는 도구의 항목을 제거합니다. 예를 들어 연결되지 않은 서버의 MCP 도구입니다.3555* 세션에 없는 도구의 항목을 제거합니다. 예를 들어 연결되지 않은 서버의 MCP 도구입니다.

3455* [백그라운드 서브에이전트가 제거하는](/docs/ko/sub-agents#available-tools) 도구(예: `LSP`)의 경우 항목을 제거합니다. 도구를 유지하려면 [포크 모드를 끕니다](/docs/ko/sub-agents#turn-fork-mode-on-or-off) 그리고 Claude에 서브에이전트를 포그라운드에서 실행하도록 요청합니다.3556* [백그라운드 서브에이전트가 제거하는](/docs/ko/sub-agents#available-tools) 도구(예: `CronCreate`)의 경우 항목을 제거합니다. 도구를 유지하려면 [포크 모드를 끕니다](/docs/ko/sub-agents#turn-fork-mode-on-or-off) 그리고 Claude에 서브에이전트를 포그라운드에서 실행하도록 요청합니다.

3456* 도구를 나열하는 대신 `tools` 필드를 삭제하여 서브에이전트에 [서브에이전트에서 사용 가능한 모든 도구](/docs/ko/sub-agents#available-tools)를 제공합니다.3557* 도구를 나열하는 대신 `tools` 필드를 삭제하여 서브에이전트에 [서브에이전트에서 사용 가능한 모든 도구](/docs/ko/sub-agents#available-tools)를 제공합니다.

3457* `Agent`만 포함하는 `tools` 목록의 경우 [깊이 제한](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)을 높이거나 에이전트에 최소한 하나의 다른 도구를 제공합니다. Claude Code는 해당 제한에서 `Agent`를 보류하므로 다른 항목이 없는 목록은 도구 없음으로 해석됩니다.3558* `Agent`만 포함하는 `tools` 목록의 경우 [깊이 제한](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)을 높이거나 에이전트에 최소한 하나의 다른 도구를 제공합니다. Claude Code는 해당 제한에서 `Agent`를 보류하므로 다른 항목이 없는 목록은 도구 없음으로 해석됩니다.

3458 3559 


3812* 일반적으로 아무것도 하지 않습니다: Claude는 메시지가 요청하는 로컬 철자로 재시도합니다.3913* 일반적으로 아무것도 하지 않습니다: Claude는 메시지가 요청하는 로컬 철자로 재시도합니다.

3813* 파일이 로컬 파일이 아닌 네트워크 공유에 있는 경우 네트워크 경로로 철자된 경우 세션의 로컬 작업 공간 외부에 있습니다. 일반 대화형 세션에서 편집합니다.3914* 파일이 로컬 파일이 아닌 네트워크 공유에 있는 경우 네트워크 경로로 철자된 경우 세션의 로컬 작업 공간 외부에 있습니다. 일반 대화형 세션에서 편집합니다.

3814 3915 

3916<h3 id="command-blocked-by-the-worktree-isolation-checks">

3917 Worktree 격리 확인으로 인해 명령이 차단됨

3918</h3>

3919 

3920Claude가 [worktree에 격리된 세션](/docs/ko/worktrees#how-claude-code-enforces-isolation)에서 Bash 또는 Monitor 명령을 실행했으며, Claude Code가 다음 두 가지 이유 중 하나로 거부했습니다:

3921 

3922* 명령이 git을 주 체크아웃으로 지정합니다.

3923* Claude Code는 명령 텍스트에서 명령이 실행하는 모든 git이 worktree 내에 머물러 있는지 확인할 수 없습니다. git을 명시하지 않는 명령도 이 이유로 거부될 수 있습니다. `${!name}`과 같은 변수 간접 참조를 확장하거나 `${ command; }`와 같은 Bash 함수 치환을 실행하면 자체가 명령일 수 있는 런타임 값이 생성되기 때문입니다.

3924 

3925메시지의 중간은 확인할 수 없는 것을 명시합니다:

3926 

3927```text wrap theme={null}

3928This session is isolated in the worktree /path/to/worktree, but this command evaluates ${!x@P} arithmetically inside a construct too complex to verify, which can run a command hidden in a variable's value. Refusing to run it — a worktree-isolated session's git operations must target its own worktree. Split it into plain, separate commands and run them from /path/to/worktree.

3929```

3930 

3931**할 일:**

3932 

3933* 일반적으로 아무것도 하지 않습니다: Claude는 메시지를 읽고 최종 문장이 요청하는 방식으로 명령을 다시 작성합니다.

3934* 요청한 명령이 계속 거부되면 플래그된 값을 문자 그대로 철자합니다: 간접 참조 또는 치환을 해당 값으로 바꾸고 worktree 내에서 git을 자체 일반 명령으로 실행합니다.

3935* 의도적으로 주 체크아웃에 작용하려면 세션 외부의 터미널에서 명령을 직접 실행합니다.

3936 

3815<h3 id="this-session-has-no-saved-transcript">3937<h3 id="this-session-has-no-saved-transcript">

3816 이 세션에는 저장된 기록이 없습니다3938 이 세션에는 저장된 기록이 없습니다

3817</h3>3939</h3>


4201 4323 

4202Claude Code는 [보존 스윕](/docs/ko/claude-directory#cleaned-up-automatically)에서 세션의 백업을 삭제하며, 기본적으로 세션이 마지막으로 저장한 후 약 30일 후입니다. 그 이후에 세션을 재개하면 `/rewind`는 여전히 체크포인트를 나열하지만, 그 중 하나로 되돌리면 이 오류로 실패할 수 있습니다. 메시지에 `N paths were skipped for link safety`도 표시되면, 해당 경로에 대해 [코드는 복원되었지만 파일을 건너뜀](#restored-the-code-but-skipped-files)을 참조합니다.4324Claude Code는 [보존 스윕](/docs/ko/claude-directory#cleaned-up-automatically)에서 세션의 백업을 삭제하며, 기본적으로 세션이 마지막으로 저장한 후 약 30일 후입니다. 그 이후에 세션을 재개하면 `/rewind`는 여전히 체크포인트를 나열하지만, 그 중 하나로 되돌리면 이 오류로 실패할 수 있습니다. 메시지에 `N paths were skipped for link safety`도 표시되면, 해당 경로에 대해 [코드는 복원되었지만 파일을 건너뜀](#restored-the-code-but-skipped-files)을 참조합니다.

4203 4325 

4326세션을 포크할 때, 예를 들어 [`--fork-session`](/docs/ko/cli-reference#cli-flags) 또는 [`/branch`](/docs/ko/sessions#branch-a-session)를 사용하면, Claude Code는 원본 세션의 백업을 포크로 복사합니다. Claude Code가 백업을 복사할 수 없을 때, 예를 들어 디스크가 가득 찼을 때, 해당 백업은 포크에서 누락됩니다. 이를 필요로 하는 체크포인트로 되돌리면 이 오류로 실패할 수 있습니다.

4327 

4204**해야 할 일:**4328**해야 할 일:**

4205 4329 

4206* 다른 방법으로 변경 사항을 취소합니다: Claude에게 편집을 되돌리도록 요청하거나, 버전 제어에서 파일을 복원합니다. 백업이 없으면 `/rewind`를 다시 실행해도 같은 방식으로 실패합니다.4330* 다른 방법으로 변경 사항을 취소합니다: Claude에게 편집을 되돌리도록 요청하거나, 버전 제어에서 파일을 복원합니다. 백업이 없으면 `/rewind`를 다시 실행해도 같은 방식으로 실패합니다.


4458* 머신을 관리하면 명시된 문서를 JSON 객체로 구문 분석하도록 수정하거나 파일, 프로필 또는 레지스트리 값을 제거하세요. 빈 `managed-settings.json`은 `{}`로 계산되며 실행을 차단하지 않습니다.4582* 머신을 관리하면 명시된 문서를 JSON 객체로 구문 분석하도록 수정하거나 파일, 프로필 또는 레지스트리 값을 제거하세요. 빈 `managed-settings.json`은 `{}`로 계산되며 실행을 차단하지 않습니다.

4459* 그렇지 않으면 관리자에게 배포된 문서를 수정하도록 요청하세요. 자신의 설정 파일의 아무것도 이 오류를 야기하거나 지우지 않습니다.4583* 그렇지 않으면 관리자에게 배포된 문서를 수정하도록 요청하세요. 자신의 설정 파일의 아무것도 이 오류를 야기하거나 지우지 않습니다.

4460 4584 

4585<h3 id="otelheadershelper-failed">

4586 otelHeadersHelper 실패

4587</h3>

4588 

4589Claude Code는 [`otelHeadersHelper`](/docs/ko/settings-reference#otelheadershelper) 스크립트가 실패하거나 [스크립트 요구 사항](/docs/ko/monitoring-usage#script-requirements)을 충족하지 않는 출력을 출력할 때 대화형 세션당 한 번 터미널 인터페이스에 알림으로 이 경고를 표시합니다.

4590 

4591스크립트가 계속 실패하는 동안 내보내기가 실패하고 원격 분석 백엔드는 세션에서 아무것도 받지 못합니다.

4592 

4593`See /status:` 뒤의 텍스트는 스크립트의 종료 코드 다음에 오류 출력 같은 실패한 내용을 명시합니다:

4594 

4595```text theme={null}

4596otelHeadersHelper 실패. 원격 분석이 내보내지지 않습니다. /status 참조: exited 1: token service unreachable

4597```

4598 

4599**할 일:**

4600 

4601* `/status`를 실행하여 실패 세부 정보를 읽으세요.

4602* 스크립트를 수정하여 30초 이내에 종료 0으로 종료하고 stdout에 문자열 헤더 값의 JSON 객체를 출력하도록 하세요. [스크립트 요구 사항](/docs/ko/monitoring-usage#script-requirements)을 참조하세요.

4603* 조직이 [관리 설정](/docs/ko/managed-settings)을 통해 스크립트를 배포하면 이를 유지하는 사람에게 수정하도록 요청하세요.

4604 

4605[비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 같은 실패가 stderr에 `otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error>` 대신 나타납니다.

4606 

4461<h3 id="headershelper-not-run">4607<h3 id="headershelper-not-run">

4462 headersHelper가 실행되지 않음4608 headersHelper가 실행되지 않음

4463</h3>4609</h3>


4652 4798 

4653* 구성된 [`--fallback-model`](/docs/ko/cli-reference#cli-flags)은 가용성 오류 후 해당 턴에만 제어를 인수받으며, 트랜스크립트에 공지가 표시됩니다4799* 구성된 [`--fallback-model`](/docs/ko/cli-reference#cli-flags)은 가용성 오류 후 해당 턴에만 제어를 인수받으며, 트랜스크립트에 공지가 표시됩니다

4654* Amazon Bedrock 또는 Google Cloud의 Agent Platform 시작 확인에서 기본 모델을 사용할 수 없음을 발견합니다4800* Amazon Bedrock 또는 Google Cloud의 Agent Platform 시작 확인에서 기본 모델을 사용할 수 없음을 발견합니다

4655* [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)은 Fable 5.1, Fable 5, Opus 5에서 세션을 플래그된 카테고리의 폴백 모델로 이동하며, 해당 카테고리에 폴백 모델이 있을 때 트랜스크립트에 공지를 표시합니다4801* [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)은 Fable 5.1, Fable 5, Opus 5.5, Opus 5에서 세션을 플래그된 카테고리의 폴백 모델로 이동하며, 해당 카테고리에 폴백 모델이 있을 때 트랜스크립트에 공지를 표시합니다

4656 4802 

4657아래의 모델 선택 확인은 두 번째와 세 번째 경우를 포착합니다. 첫 번째는 `/model` 변경이 아니라 트랜스크립트 공지로 나타납니다. [모델 구성](/docs/ko/model-config)에서 각 폴백이 적용되는 시기를 설명합니다.4803아래의 모델 선택 확인은 두 번째와 세 번째 경우를 포착합니다. 첫 번째는 `/model` 변경이 아니라 트랜스크립트 공지로 나타납니다. [모델 구성](/docs/ko/model-config)에서 각 폴백이 적용되는 시기를 설명합니다.

4658 4804 

fast-mode.md +12 −7

Details

12 12 

13빠른 모드는 Claude Opus를 위한 고속 구성으로, 토큰당 더 높은 비용으로 모델을 최대 2.5배 빠르게 만듭니다. 빠른 반복이나 라이브 디버깅과 같은 대화형 작업에서 속도가 필요할 때 `/fast`로 켜고, 비용이 지연 시간보다 중요할 때 끕니다.13빠른 모드는 Claude Opus를 위한 고속 구성으로, 토큰당 더 높은 비용으로 모델을 최대 2.5배 빠르게 만듭니다. 빠른 반복이나 라이브 디버깅과 같은 대화형 작업에서 속도가 필요할 때 `/fast`로 켜고, 비용이 지연 시간보다 중요할 때 끕니다.

14 14 

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

16 16 

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

18 18 

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

20 20 

21* Claude Code CLI에서 `/fast`를 사용하여 빠른 모드를 전환합니다. VS Code 확장 프로그램은 [`fastMode` 설정](#toggle-fast-mode)을 따르며 선택한 모델이 빠른 모드를 지원할 때 **빠른 모드 전환** 명령을 제공합니다.21* Claude Code CLI에서 `/fast`를 사용하여 빠른 모드를 전환합니다. [VS Code 확장 프로그램](/docs/ko/vs-code)은 선택한 모델이 빠른 모드를 지원할 때 **빠른 모드 전환** 명령을 제공합니다. Claude Code는 해당 전환을 [`fastMode` 설정](#toggle-fast-mode)에 저장합니다.

22* 빠른 모드 가격은 Opus 5 및 Opus 4.8에서 MTok 입력/출력당 \$10/\$50입니다.22* 빠른 모드 가격은 Opus 5.5에서 MTok 입력/출력당 \$8/\$40이고 Opus 5 및 Opus 4.8에서 \$10/\$50입니다.

23* 구독 요금제(Pro/Max/Team/Enterprise)의 Claude Code 사용자 및 Claude Console에서 사용할 수 있습니다. Team 및 Enterprise 조직은 먼저 소유자가 활성화해야 하며, Console 조직은 먼저 액세스를 프로비저닝해야 하며, 둘 다 [요구 사항](#requirements)에 설명되어 있습니다.23* 구독 요금제(Pro/Max/Team/Enterprise)의 Claude Code 사용자 및 Claude Console에서 사용할 수 있습니다. Team 및 Enterprise 조직은 먼저 소유자가 활성화해야 하며, Console 조직은 먼저 액세스를 프로비저닝해야 하며, 둘 다 [요구 사항](#requirements)에 설명되어 있습니다.

24* 구독 요금제(Pro/Max/Team/Enterprise)의 Claude Code 사용자의 경우, 빠른 모드는 사용 크레딧을 통해서만 사용 가능하며 구독 요금제 사용량 제한에 포함되지 않습니다.24* 구독 요금제(Pro/Max/Team/Enterprise)의 Claude Code 사용자의 경우, 빠른 모드는 사용 크레딧을 통해서만 사용 가능하며 구독 요금제 사용량 제한에 포함되지 않습니다.

25 25 


29 29 

30CLI에서 다음 중 한 가지 방법으로 빠른 모드를 전환합니다:30CLI에서 다음 중 한 가지 방법으로 빠른 모드를 전환합니다:

31 31 

32* `/fast`를 입력하고 Tab을 눌러 켜거나 끕니다32* `/fast`를 입력하고 Space를 눌러 켜거나 끕니다. 그 다음 Enter를 눌러 확인합니다

33* [사용자 설정 파일](/docs/ko/settings)에서 `"fastMode": true`를 설정합니다33* [사용자 설정 파일](/docs/ko/settings)에서 `"fastMode": true`를 설정합니다

34 34 

35기본적으로 빠른 모드는 대화형 세션에서 켜면 세션 간에 유지됩니다. 빠른 모드를 각 세션마다 재설정하도록 구성할 수 있습니다. 자세한 내용은 [세션별 옵트인 필요](#require-per-session-opt-in)를 참조합니다.35기본적으로 빠른 모드는 대화형 세션에서 켜면 세션 간에 유지됩니다. 빠른 모드를 각 세션마다 재설정하도록 구성할 수 있습니다. 자세한 내용은 [세션별 옵트인 필요](#require-per-session-opt-in)를 참조합니다.


47* 빠른 모드가 활성화되어 있는 동안 프롬프트 옆에 작은 `↯` 아이콘이 나타납니다47* 빠른 모드가 활성화되어 있는 동안 프롬프트 옆에 작은 `↯` 아이콘이 나타납니다

48* 언제든지 `/fast`를 다시 실행하여 빠른 모드가 켜져 있는지 꺼져 있는지 확인합니다48* 언제든지 `/fast`를 다시 실행하여 빠른 모드가 켜져 있는지 꺼져 있는지 확인합니다

49 49 

50Opus 5는 Claude Code v2.1.219 이상에서 빠른 모드 기본값입니다. v2.1.219 이전에는 v2.1.154부터 v2.1.218까지 Opus 4.8으로 기본 설정되었고, v2.1.142부터 v2.1.153까지는 Opus 4.7로 기본 설정되었습니다.50Opus 5.5는 Claude Code v2.1.280 이상에서 빠른 모드 기본값입니다. v2.1.280 이전에는 v2.1.219부터 Opus 5로 기본 설정되었고, v2.1.154부터 v2.1.218까지는 Opus 4.8로 기본 설정되었으며, v2.1.142부터 v2.1.153까지는 Opus 4.7로 기본 설정되었습니다.

51 51 

52`/fast`를 다시 실행하여 빠른 모드를 비활성화하면 Opus에 유지됩니다. 다른 모델로 전환하려면 `/model`을 사용합니다.52`/fast`를 다시 실행하여 빠른 모드를 비활성화하면 Opus에 유지됩니다. 다른 모델로 전환하려면 `/model`을 사용합니다.

53 53 


80 80 

81| 모델 | 입력 (MTok) | 출력 (MTok) |81| 모델 | 입력 (MTok) | 출력 (MTok) |

82| -------- | --------- | --------- |82| -------- | --------- | --------- |

83| Opus 5.5 | \$8 | \$40 |

83| Opus 5 | \$10 | \$50 |84| Opus 5 | \$10 | \$50 |

84| Opus 4.8 | \$10 | \$50 |85| Opus 4.8 | \$10 | \$50 |

85 86 


145* **Team 및 Enterprise의 관리자 활성화**: 빠른 모드는 Team 및 Enterprise 조직에 대해 기본적으로 비활성화됩니다. 사용자가 액세스할 수 있으려면 관리자가 명시적으로 [빠른 모드를 활성화](#enable-fast-mode-for-your-organization)해야 합니다.146* **Team 및 Enterprise의 관리자 활성화**: 빠른 모드는 Team 및 Enterprise 조직에 대해 기본적으로 비활성화됩니다. 사용자가 액세스할 수 있으려면 관리자가 명시적으로 [빠른 모드를 활성화](#enable-fast-mode-for-your-organization)해야 합니다.

146 147 

147<Note>148<Note>

148 두 조직 설정이 `/fast`로 빠른 모드를 켜는 것을 차단할 수 있습니다:149 네 가지 조직 설정이 `/fast`로 빠른 모드를 켜는 것을 차단할 수 있습니다:

149 150 

150 * **빠른 모드가 활성화되지 않음**: 조직에 대해 빠른 모드가 활성화되지 않은 경우 `/fast`로 빠른 모드를 켜면 "Fast mode has been disabled by your organization."이 표시됩니다.151 * **빠른 모드가 활성화되지 않음**: 조직에 대해 빠른 모드가 활성화되지 않은 경우 `/fast`로 빠른 모드를 켜면 "Fast mode has been disabled by your organization."이 표시됩니다.

152 * **관리 설정에 의해 빠른 모드가 꺼짐**: 조직이 [`fastMode: false`](/docs/ko/settings-reference#fastmode)를 설정하는 [관리 설정](/docs/ko/managed-settings)을 배포하는 경우 `/fast`로 빠른 모드를 켜면 동일한 "Fast mode has been disabled by your organization" 메시지가 표시됩니다.

153 * **세션별 옵트인 필요**: [`fastModePerSessionOptIn: true`](#require-per-session-opt-in)를 설정하는 관리 설정은 대화형 터미널 세션을 제외한 모든 곳에서 `/fast on`을 동일한 메시지로 거부합니다.

151 * **빠른 모드 모델이 허용되지 않음**: 조직의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록이 빠른 모드 Opus 모델을 제외하는 경우 "is not in your organization's allowed models"로 거부됩니다. 빠른 모드를 지원하는 허용된 Opus 모델에서 이미 실행 중인 세션에서는 `/fast`가 모델을 전환하는 대신 현재 모델에서 빠른 모드를 활성화합니다.154 * **빠른 모드 모델이 허용되지 않음**: 조직의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록이 빠른 모드 Opus 모델을 제외하는 경우 "is not in your organization's allowed models"로 거부됩니다. 빠른 모드를 지원하는 허용된 Opus 모델에서 이미 실행 중인 세션에서는 `/fast`가 모델을 전환하는 대신 현재 모델에서 빠른 모드를 활성화합니다.

152</Note>155</Note>

153 156 


204 207 

205이는 사용자가 여러 동시 세션을 실행하는 조직에서 비용을 제어하는 데 유용합니다. 사용자의 빠른 모드 기본 설정은 여전히 저장되므로 이 설정을 제거하면 기본 지속 동작이 복원됩니다.208이는 사용자가 여러 동시 세션을 실행하는 조직에서 비용을 제어하는 데 유용합니다. 사용자의 빠른 모드 기본 설정은 여전히 저장되므로 이 설정을 제거하면 기본 지속 동작이 복원됩니다.

206 209 

210관리 설정이 키를 설정할 때 `/fast on`은 대화형 터미널 세션에서만 작동합니다. [비대화형 모드](/docs/ko/headless), [VS Code 확장](/docs/ko/vs-code) 및 [클라우드 세션](#use-fast-mode-in-cloud-sessions)을 포함한 다른 모든 곳에서는 조직에서 빠른 모드를 비활성화했다는 메시지로 거부됩니다.

211 

207<h2 id="handle-rate-limits">212<h2 id="handle-rate-limits">

208 속도 제한 처리213 속도 제한 처리

209</h2>214</h2>

Details

21확장은 에이전트 루프의 다양한 부분에 연결됩니다:21확장은 에이전트 루프의 다양한 부분에 연결됩니다:

22 22 

23* \*\*[CLAUDE.md](/docs/ko/memory)\*\*는 Claude가 모든 세션에서 보는 지속적인 컨텍스트를 추가합니다.23* \*\*[CLAUDE.md](/docs/ko/memory)\*\*는 Claude가 모든 세션에서 보는 지속적인 컨텍스트를 추가합니다.

24* \*\*[출력 스타일](/docs/ko/output-styles)\*\*은 세션의 모든 응답에 대해 Claude의 역할, 톤 및 응답 형식을 설정합니다.

24* \*\*[Skills](/docs/ko/skills)\*\*는 재사용 가능한 지식과 호출 가능한 워크플로우를 추가합니다.25* \*\*[Skills](/docs/ko/skills)\*\*는 재사용 가능한 지식과 호출 가능한 워크플로우를 추가합니다.

25* \*\*[Code intelligence](/docs/ko/tools-reference#lsp-tool-behavior)\*\*는 Claude를 언어 서버에 연결하여 기호 수준의 네비게이션 및 실시간 타입 오류를 제공합니다.26* \*\*[Code intelligence](/docs/ko/tools-reference#lsp-tool-behavior)\*\*는 Claude를 언어 서버에 연결하여 기호 수준의 네비게이션 및 실시간 타입 오류를 제공합니다.

26* \*\*[MCP](/docs/ko/mcp)\*\*는 Claude를 외부 서비스 및 도구에 연결합니다.27* \*\*[MCP](/docs/ko/mcp)\*\*는 Claude를 외부 서비스 및 도구에 연결합니다.


33[Skills](/docs/ko/skills)는 가장 유연한 확장입니다. Skill은 지식, 워크플로우 또는 지침을 포함하는 마크다운 파일입니다. `/deploy`와 같은 명령으로 skill을 호출하거나, Claude가 관련이 있을 때 자동으로 로드할 수 있습니다. Skill은 현재 대화에서 실행되거나 subagents를 통해 격리된 컨텍스트에서 실행될 수 있습니다.34[Skills](/docs/ko/skills)는 가장 유연한 확장입니다. Skill은 지식, 워크플로우 또는 지침을 포함하는 마크다운 파일입니다. `/deploy`와 같은 명령으로 skill을 호출하거나, Claude가 관련이 있을 때 자동으로 로드할 수 있습니다. Skill은 현재 대화에서 실행되거나 subagents를 통해 격리된 컨텍스트에서 실행될 수 있습니다.

34 35 

35<h2 id="match-features-to-your-goal">36<h2 id="match-features-to-your-goal">

36 기능을 목표에 맞추기37 목표에 맞는 기능 선택하기

37</h2>38</h2>

38 39 

39기능은 Claude가 모든 세션에서 보는 항상 켜진 컨텍스트부터 사용자나 Claude가 호출할 수 있는 온디맨드 기능, 특정 이벤트에서 실행되는 백그라운드 자동화까지 다양합니다. 아래 표는 사용 가능한 기능과 각 기능이 언제 적절한지 보여줍니다.40기능은 Claude가 매 세션마다 보는 항상 활성화된 컨텍스트부터, 사용자나 Claude가 필요할 때 호출할 수 있는 온디맨드 기능, 특정 이벤트에서 실행되는 백그라운드 자동화까지 다양합니다. 아래 표는 사용 가능한 기능과 각 기능을 사용해야 할 시점을 보여줍니다.

40 41 

41| 기능 | 수행 작업 | 사용 시기 | 예시 |42| 기능 | 역할 | 사용 시점 | 예시 |

42| -------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------- | ------------------------------------------------------- |43| -------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------- | ----------------------------------------------------------- |

43| **CLAUDE.md** | 모든 대화에서 로드되는 지속적인 컨텍스트 | 프로젝트 규칙, "항상 X를 수행" 규칙 | "npm이 아닌 pnpm을 사용하세요. 커밋하기 전에 테스트를 실행하세요." |44| **CLAUDE.md** | 매 대화마다 로드되는 지속적인 컨텍스트 | 프로젝트 규칙, "항상 X를 하기" 규칙 | "npm이 아닌 pnpm을 사용하세요. 커밋하기 전에 테스트를 실행하세요." |

44| **Skill** | Claude가 사용할 수 있는 지침, 지식 및 워크플로우 | 재사용 가능한 콘텐츠, 참조 문서, 반복 가능한 작업 | `/deploy`는 배포 체크리스트를 실행합니다. 엔드포인트 패턴이 있는 API 문서 skill |45| **[출력 스타일](/docs/ko/output-styles)** | Claude의 역할, 톤, 전체 세션의 응답 형식을 설정하는 지침 | 모든 응답에서 원하는 음성, 길이 또는 형식, 또는 Claude가 소프트웨어 엔지니어 이외의 역할로 작동 | 더 짧은 응답을 위한 기본 제공 간결 스타일; 모든 질문에 다이어그램으로 먼저 답변하는 사용자 정의 스타일 |

45| **Subagent** | 요약된 결과를 반환하는 격리된 실행 컨텍스트 | 컨텍스트 격리, 병렬 작업, 특화된 워커 | 많은 파일을 읽지만 주요 결과만 반환하는 연구 작업 |46| **Skill** | Claude가 사용할 수 있는 지침, 지식, 워크플로우 | 재사용 가능한 콘텐츠, 참고 문서, 반복 가능한 작업 | `/deploy`는 배포 체크리스트를 실행합니다. 엔드포인트 패턴이 있는 API 문서 skill |

46| **[동적 워크플로우](/docs/ko/workflows)** | Claude가 작성하는 스크립트로 백그라운드에서 많은 subagent를 실행합니다. | subagent 몇 개를 초과하는 작업, 또는 각 결과를 교차 검증하려는 결과 | 전체 코드베이스를 감사하고, 두 번째 에이전트 세트가 각 결과를 검증합니다. |47| **Subagent** | 요약된 결과를 반환하는 격리된 실행 컨텍스트 | 컨텍스트 격리, 병렬 작업, 전문화된 워커 | 많은 파일을 읽지만 주요 결과만 반환하는 연구 작업 |

47| **[세션 간 메시징](/docs/ko/cross-session-messaging)** | Claude가 한 세션의 메시지를 다른 세션으로 전달합니다. | 작업 중간에 서로의 결과가 필요한 직접 실행하는 세션 | 한 세션이 다른 세션에 자신이 만든 변경 사항이 다른 세션이 구축 중인 것을 깨뜨린다고 경고합니다. |48| **[Dynamic workflow](/docs/ko/workflows)** | Claude가 작성하여 백그라운드에서 많은 subagent를 실행하는 스크립트 | 소수의 subagent를 초과하는 작업, 또는 교차 검증하려는 결과 | 전체 코드베이스를 감사하고, 두 번째 에이전트 세트가 각 결과를 검증 |

48| **[Code intelligence](/docs/ko/tools-reference#lsp-tool-behavior)** | 언어 서버 네비게이션 및 진단 | 타입 언어, grep이 느리거나 부정확한 대규모 코드베이스 | 전체 파일을 읽는 대신 기호의 정의로 이동 |49| **[Cross-session messaging](/docs/ko/cross-session-messaging)** | Claude가 한 세션의 메시지를 다른 세션으로 전달 | 작업 중간에 서로의 결과가 필요한 직접 실행하는 세션 | 한 세션이 다른 세션에 자신이 만든 변경 사항이 다른 세션이 구축 중인 것을 깨뜨린다고 경고 |

50| **[Code intelligence](/docs/ko/tools-reference#lsp-tool-behavior)** | 언어 서버 네비게이션 및 진단 | 타입이 지정된 언어, grep이 느리거나 부정확한 대규모 코드베이스 | 전체 파일을 읽는 대신 기호의 정의로 이동 |

49| **MCP** | 외부 서비스에 연결 | 외부 데이터 또는 작업 | 데이터베이스 쿼리, Slack에 게시, 브라우저 제어 |51| **MCP** | 외부 서비스에 연결 | 외부 데이터 또는 작업 | 데이터베이스 쿼리, Slack에 게시, 브라우저 제어 |

50| **Hook** | 이벤트에서 실행되는 스크립트, HTTP 요청, MCP 도구 호출, 프롬프트 또는 subagent | 모든 일치하는 이벤트에서 실행되어야 하는 자동화 | 모든 파일 편집 후 ESLint 실행 |52| **Hook** | 이벤트로 트리거되는 스크립트, HTTP 요청, MCP 도구 호출, 프롬프트 또는 subagent | 일치하는 모든 이벤트에서 실행되어야 하는 자동화 | 모든 파일 편집 후 ESLint 실행 |

51| **[Artifact](/docs/ko/artifacts)** | 세션 출력을 비공개 대화형 웹 페이지로 게시 | 터미널 텍스트가 아닌 시각적으로 보거나 공유하려는 출력 | Claude가 조사할 때 업데이트되는 인시던트 타임라인 |53| **[Artifact](/docs/ko/artifacts)** | 세션 출력을 비공개 대화형 웹 페이지로 게시 | 터미널 텍스트가 아닌 시각적으로 보거나 공유하려는 출력 | Claude가 조사할 때 업데이트되는 인시던트 타임라인 |

52 54 

53\*\*[Plugins](/docs/ko/plugins)\*\*는 패키징 계층입니다. 플러그인은 skill, hook, subagent 및 MCP 서버를 단일 설치 가능한 단위로 번들합니다. 플러그인 skill은 네임스페이스됩니다(예: `/my-plugin:review`). 따라서 여러 플러그인이 공존할 수 있습니다. 여러 저장소에서 동일한 설정을 재사용하거나 \*\*[marketplace](/docs/ko/plugin-marketplaces)\*\*를 통해 다른 사용자에게 배포하려는 경우 플러그인을 사용하세요.55\*\*[Plugins](/docs/ko/plugins)\*\*는 패키징 계층입니다. 플러그인은 skill, hook, subagent, MCP 서버를 단일 설치 가능한 단위로 번들합니다. 플러그인 skill은 네임스페이스됩니다(`/my-plugin:review` 같은). 여러 플러그인이 공존할 수 있습니다. 여러 저장소에서 동일한 설정을 재사용하거나 \*\*[마켓플레이스](/docs/ko/plugin-marketplaces)\*\*를 통해 다른 사용자에게 배포하려면 플러그인을 사용하세요.

54 56 

55<h3 id="build-your-setup-over-time">57<h3 id="build-your-setup-over-time">

56 시간이 지남에 따라 설정 구축하기58 시간에 따라 설정 구축하기

57</h3>59</h3>

58 60 

59모든 것을 미리 구성할 필요는 없습니다. 각 기능에는 인식 가능한 트리거가 있으며, 대부분의 팀은 대략 이 순서로 추가합니다.61모든 것을 미리 구성할 필요는 없습니다. 각 기능에는 인식 가능한 트리거가 있으며, 대부분의 팀은 대략 이 순서로 추가합니다:

60 62 

61| 트리거 | 추가 |63| 트리거 | 추가 |

62| :----------------------------------------- | :---------------------------------------------------------------- |64| :------------------------------------------------ | :------------------------------------------------------------- |

63| Claude가 규칙이나 명령을 두 번 잘못 수행 | [CLAUDE.md](/docs/ko/memory)에 추가 |65| Claude가 규칙이나 명령을 두 번 잘못 실행 | [CLAUDE.md](/docs/ko/memory)에 추가 |

64| 작업을 시작하기 위해 동일한 프롬프트를 계속 입력 | 사용자 호출 가능 [skill](/docs/ko/skills)로 저장 |66| 계속해서 Claude에게 더 짧게, 더 많이 설명하거나, 동일한 형식으로 답변하도록 요청 | [출력 스타일](/docs/ko/output-styles) 설정 |

67| 작업을 시작하기 위해 동일한 프롬프트를 계속 입력 | 사용자가 호출 가능한 [skill](/docs/ko/skills)로 저장 |

65| 동일한 플레이북이나 다단계 절차를 세 번째로 채팅에 붙여넣기 | [skill](/docs/ko/skills)로 캡처 |68| 동일한 플레이북이나 다단계 절차를 세 번째로 채팅에 붙여넣기 | [skill](/docs/ko/skills)로 캡처 |

66| Claude가 볼 수 없는 브라우저 탭에서 계속 데이터 복사 | 해당 시스템을 [MCP 서버](/docs/ko/mcp)로 연결 |69| Claude가 볼 수 없는 브라우저 탭에서 계속 데이터 복사 | 해당 시스템을 [MCP 서버](/docs/ko/mcp)로 연결 |

67| Claude가 기호가 정의되거나 사용되는 위치를 찾기 위해 많은 파일을 읽음 | 언어에 대한 [코드 인텔리전스 플러그인](/docs/ko/discover-plugins#code-intelligence) 설치 |70| Claude가 기호가 정의되거나 사용되는 위치를 찾기 위해 많은 파일 읽기 | 언어용 [코드 인텔리전스 플러그인](/docs/ko/discover-plugins#code-intelligence) 설치 |

68| 부작용 작업이 다시 참조하지 않을 출력으로 대화 범람 | [subagent](/docs/ko/sub-agents)를 통해 라우팅 |71| 부작용 작업이 다시 참조하지 않을 출력으로 대화를 채우기 | [subagent](/docs/ko/sub-agents)를 통해 라우팅 |

69| 요청하지 않고 매번 무언가가 발생하기를 원함 | [hook](/docs/ko/hooks-guide) 작성 |72| 요청하지 않고 매번 무언가가 발생하기를 원함 | [hook](/docs/ko/hooks-guide) 작성 |

70| 두 번째 저장소가 동일한 설정 필요 | [plugin](/docs/ko/plugins)으로 패키징 |73| 두 번째 저장소에 동일한 설정이 필요 | [플러그인](/docs/ko/plugins)으로 패키징 |

71 74 

72동일한 트리거는 이미 가진 것을 업데이트할 시기를 알려줍니다. 반복된 실수나 반복되는 검토 의견은 채팅의 일회성 수정이 아니라 CLAUDE.md 편집입니다. 계속 손으로 조정하는 워크플로우는 다른 수정이 필요한 skill입니다.75동일한 트리거는 이미 있는 것을 업데이트할 시점을 알려줍니다. 반복된 실수나 반복되는 검토 의견은 채팅의 일회성 수정이 아닌 CLAUDE.md 편집입니다. 손으로 계속 조정하는 워크플로우는 다른 수정이 필요한 skill입니다.

73 76 

74<h3 id="compare-similar-features">77<h3 id="compare-similar-features">

75 유사한 기능 비교78 유사한 기능 비교하기

76</h3>79</h3>

77 80 

78일부 기능은 유사해 보일 수 있습니다. 더 깊이 있는 선택 방법에 대해서는 블로그의 [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more)를 참조하세요. 구별하는 방법은 다음과 같습니다.81일부 기능은 유사해 보일 수 있습니다. 기능 선택에 대한 더 깊은 설명은 블로그의 [Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents](https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more)를 참조하세요. 이들을 구분하는 방법은 다음과 같습니다.

79 82 

80<Tabs>83<Tabs>

81 <Tab title="Skill vs Subagent">84 <Tab title="Skill vs Subagent">

82 Skill과 subagent는 다양한 문제를 해결합니다.85 Skill과 subagent는 다른 문제를 해결합니다:

83 86 

84 * **Skills**는 모든 컨텍스트에 로드할 수 있는 재사용 가능한 콘텐츠입니다.87 * **Skill**은 모든 컨텍스트에 로드할 수 있는 재사용 가능한 콘텐츠입니다

85 * **Subagents**는 주 대화와 별도로 실행되는 격리된 워커입니다.88 * **Subagent**는 주 대화와 별도로 실행되는 격리된 워커입니다

86 89 

87 | 측면 | Skill | Subagent |90 | 측면 | Skill | Subagent |

88 | ------------------------------------- | ----------------------- | -------------------------------- |91 | ------------------------------------------- | ----------------------- | ---------------------------- |

89 | **정의** | 재사용 가능한 지침, 지식 또는 워크플로우 | 자신의 컨텍스트를 가진 격리된 워커 |92 | **정의** | 재사용 가능한 지침, 지식 또는 워크플로우 | 자체 컨텍스트가 있는 격리된 워커 |

90 | **주요 이점** | 컨텍스트 간 콘텐츠 공유 | 컨텍스트 격리. 작업은 별도로 발생하고 요약만 반환됩니다. |93 | **주요 이점** | 컨텍스트 간 콘텐츠 공유 | 컨텍스트 격리. 작업은 별도로 실행되고 요약만 반환 |

91 | **[컨텍스트 윈도우](/docs/ko/context-window) 영향** | 주 윈도우에 추가 | 자신의 입력 및 출력 토큰이 있는 별도의 윈도우 사용 |94 | **[Context window](/docs/ko/context-window) 영향** | 주 윈도우에 추가 | 자체 입력 및 출력 토큰이 있는 별도 윈도우 사용 |

92 | **최적 용도** | 참조 자료, 호출 가능한 워크플로우 | 많은 파일을 읽는 작업, 병렬 작업, 특화된 워커 |95 | **최적 용도** | 참고 자료, 호출 가능한 워크플로우 | 많은 파일을 읽는 작업, 병렬 작업, 전문화된 워커 |

93 96 

94 **Skill은 참조 또는 작업일 수 있습니다.** 참조 skill은 Claude가 세션 전체에서 사용하는 지식을 제공합니다(API 스타일 가이드처럼). 작업 skill은 Claude에게 특정 작업을 수행하도록 지시합니다(배포 워크플로우를 실행하는 `/deploy`처럼).97 **Skill은 참고 또는 작업일 수 있습니다.** 참고 skill은 세션 전체에서 Claude가 사용하는 지식을 제공합니다(API 스타일 가이드 같은). 작업 skill은 Claude에게 특정 작업을 수행하도록 지시합니다(`/deploy`는 배포 워크플로우를 실행).

95 98 

96 **컨텍스트 격리가 필요하거나 컨텍스트 윈도우가 가득 찰 때 subagent를 사용하세요.** Subagent는 수십 개의 파일을 읽거나 광범위한 검색을 실행할 수 있지만, 주 대화는 요약만 받습니다. Subagent 작업이 주 컨텍스트를 소비하지 않으므로, 중간 작업이 표시되어야 할 필요가 없을 때도 유용합니다. 사용자 정의 subagent는 자신의 지침을 가질 수 있고 skill을 미리 로드할 수 있습니다.99 **컨텍스트 격리가 필요하거나 컨텍스트 윈도우가 가득 찰 때 subagent를 사용하세요.** Subagent는 수십 개의 파일을 읽거나 광범위한 검색을 실행할 수 있지만, 주 대화는 요약만 받습니다. Subagent 작업이 주 컨텍스트를 소비하지 않으므로, 중간 작업이 표시된 상태로 유지될 필요가 없을 때도 유용합니다. 사용자 정의 subagent는 자체 지침을 가질 수 있고 skill을 미리 로드할 수 있습니다.

97 100 

98 **결합할 수 있습니다.** Subagent는 특정 skill을 미리 로드할 수 있습니다(`skills:` 필드). Skill은 `context: fork`를 사용하여 격리된 컨텍스트에서 실행될 수 있습니다. 자세한 내용은 [Skills](/docs/ko/skills)를 참조하세요.101 **이들은 결합할 수 있습니다.** Subagent는 특정 skill을 미리 로드할 수 있습니다(`skills:` 필드). Skill은 `context: fork`를 사용하여 격리된 컨텍스트에서 실행할 수 있습니다. 자세한 내용은 [Skills](/docs/ko/skills)를 참조하세요.

99 </Tab>102 </Tab>

100 103 

101 <Tab title="CLAUDE.md vs Skill">104 <Tab title="CLAUDE.md vs Skill">

102 둘 다 지침을 저장하지만 로드 방식과 목적이 다릅니다.105 둘 다 지침을 저장하지만, 로드 방식과 목적이 다릅니다.

103 106 

104 | 측면 | CLAUDE.md | Skill |107 | 측면 | CLAUDE.md | Skill |

105 | ---------------- | ------------------ | ------------------- |108 | ---------------- | ----------------- | ------------------- |

106 | **로드** | 모든 세션, 자동으로 | 온디맨드 |109 | **로드** | 매 세션마다 자동으로 | 온디맨드 |

107 | **파일 포함 가능** | 예, `@path` 가져오기 사용 | 예, `@path` 가져오기 사용 |110 | **파일 포함 가능** | 예, `@path` 임포트 사용 | 예, `@path` 임포트 사용 |

108 | **워크플로우 트리거 가능** | 아니요 | 예, `/<name>` 사용 |111 | **워크플로우 트리거 가능** | 아니오 | 예, `/<name>` 사용 |

109 | **최적 용도** | "항상 X를 수행" 규칙 | 참조 자료, 호출 가능한 워크플로우 |112 | **최적 용도** | "항상 X를 하기" 규칙 | 참고 자료, 호출 가능한 워크플로우 |

113 

114 **Claude가 항상 알아야 할 경우 CLAUDE.md에 넣으세요:** 코딩 규칙, 빌드 명령, 프로젝트 구조, "X를 하지 마세요" 규칙.

115 

116 **Claude가 때때로 필요한 참고 자료이거나 `/<name>`으로 트리거하는 워크플로우인 경우 skill에 넣으세요**(배포, 검토, 릴리스).

117 

118 **경험 법칙:** CLAUDE.md를 200줄 이하로 유지하세요. 증가하면 참고 콘텐츠를 skill로 이동하거나 [`.claude/rules/`](/docs/ko/memory#organize-rules-with-claude/rules/) 파일로 분할하세요.

119 </Tab>

120 

121 <Tab title="CLAUDE.md vs 출력 스타일">

122 둘 다 Claude에게 상시 지침을 제공합니다. CLAUDE.md는 Claude가 알아야 할 내용을 담고, 출력 스타일은 Claude가 응답하는 방식을 설정합니다.

123 

124 | 측면 | CLAUDE.md | 출력 스타일 |

125 | --------- | ------------------------- | ------------------------------------------------------------------------- |

126 | **보유** | 프로젝트에 대한 사실 및 규칙 | 역할, 톤, 응답 형식 |

127 | **전환** | 항상 로드됨 | 한 번에 하나 활성화; [스타일 전환](/docs/ko/output-styles#change-your-output-style) 언제든지 가능 |

128 | **최적 용도** | 빌드 명령, 규칙, "X를 하지 마세요" 규칙 | 더 짧은 응답, 코드와 함께 설명, 쓰기 보조자 같은 비엔지니어링 역할 |

110 129 

111 **CLAUDE.md에 넣으세요.** Claude가 항상 알아야 할 경우: 코딩 규칙, 빌드 명령, 프로젝트 구조, "X를 하지 마세요" 규칙.130 **프로젝트에 대해 어떤 스타일이든 참인 경우 CLAUDE.md에 넣으세요:** 코딩 규칙, 빌드 명령, 프로젝트 구조.

112 131 

113 **Skill에 넣으세요.** 참조 자료인 경우 Claude가 때때로 필요합니다(API 문서, 스타일 가이드) 또는 `/<name>`으로 트리거하는 워크플로우입니다(배포, 검토, 릴리스).132 **응답 자체에 관한 것이고 다시 끄고 싶을 수 있는 경우 출력 스타일을 사용하세요:** 길이, 형식, Claude가 설명하는 정도, 또는 쓰기 보조자 같은 다른 역할. Claude Code는 [기본 제공 스타일](/docs/ko/output-styles#built-in-output-styles)을 포함하며, 자신만의 스타일을 작성할 수 있습니다.

114 133 

115 **경험 법칙:** CLAUDE.md를 200줄 이하로 유지하세요. 증가하면 참조 콘텐츠를 skill로 이동하거나 [`.claude/rules/`](/docs/ko/memory#organize-rules-with-claude%2Frules%2F) 파일로 분할하세요.134 **이들은 결합됩니다.** CLAUDE.md는 선택한 스타일과 관계없이 로드된 상태로 유지됩니다. Claude는 둘 다 지침으로 따르므로 어느 것도 강제되지 않습니다. 매번 발생해야 하는 모든 것에 대해 [hook](/docs/ko/hooks-guide)을 사용하세요.

116 </Tab>135 </Tab>

117 136 

118 <Tab title="CLAUDE.md vs Rules vs Skills">137 <Tab title="CLAUDE.md vs 규칙 vs Skill">

119 세 가지 모두 지침을 저장하지만 로드 방식이 다릅니다.138 세 가지 모두 지침을 저장하지만, 로드 방식이 다릅니다:

120 139 

121 | 측면 | CLAUDE.md | `.claude/rules/` | Skill |140 | 측면 | CLAUDE.md | `.claude/rules/` | Skill |

122 | --------- | ------------- | ----------------------- | -------------------- |141 | --------- | ------------- | ------------------------ | -------------------- |

123 | **로드** | 모든 세션 | 모든 세션, 또는 일치하는 파일이 열릴 때 | 온디맨드, 호출되거나 관련이 있을 때 |142 | **로드** | 매 세션마다 | 매 세션마다, 또는 일치하는 파일이 열릴 때 | 온디맨드, 호출되거나 관련이 있을 때 |

124 | **범위** | 전체 프로젝트 | 파일 경로로 범위 지정 가능 | 작업별 |143 | **범위** | 전체 프로젝트 | 파일 경로로 범위 지정 가능 | 작업별 |

125 | **최적 용도** | 핵심 규칙 및 빌드 명령 | 언어별 또는 디렉토리별 가이드라인 | 참조 자료, 반복 가능한 워크플로우 |144 | **최적 용도** | 핵심 규칙 및 빌드 명령 | 언어별 또는 디렉토리별 가이드라인 | 참고 자료, 반복 가능한 워크플로우 |

126 145 

127 **CLAUDE.md를 사용하세요.** 모든 세션이 필요한 지침: 빌드 명령, 테스트 규칙, 프로젝트 아키텍처.146 **모든 세션이 필요한 지침에 CLAUDE.md를 사용하세요:** 빌드 명령, 테스트 규칙, 프로젝트 아키텍처.

128 147 

129 **규칙을 사용하세요.** CLAUDE.md를 집중시키기 위해. [`paths` frontmatter](/docs/ko/memory#path-specific-rules)가 있는 규칙은 Claude가 일치하는 파일로 작업할 때만 로드되어 컨텍스트를 절약합니다.148 **CLAUDE.md를 집중하게 유지하려면 규칙을 사용하세요.** [`paths` frontmatter](/docs/ko/memory#path-specific-rules)가 있는 규칙은 Claude가 일치하는 파일로 작업할 때만 로드되어 컨텍스트를 절약합니다.

130 149 

131 **Skill을 사용하세요.** Claude가 때때로만 필요한 콘텐츠, API 문서 또는 `/<name>`으로 트리거하는 배포 체크리스트.150 **Claude가 때때로만 필요한 콘텐츠에 skill을 사용하세요**, API 문서나 `/<name>`으로 트리거하는 배포 체크리스트 같은.

132 </Tab>151 </Tab>

133 152 

134 <Tab title="Subagent vs Dynamic workflow">153 <Tab title="Subagent vs Dynamic workflow">

135 둘 다 주 대화 외부에서 작업을 수행합니다. Subagent의 경우 Claude가 차례대로 다음에 실행할 내용을 결정합니다. 워크플로우에서는 스크립트가 결정합니다.154 둘 다 주 대화 외부에서 작업을 수행합니다. Subagent에서는 Claude가 차례대로 다음에 실행할 것을 결정합니다. 워크플로우에서는 스크립트가 결정합니다:

136 155 

137 * **Subagents**는 Claude가 생성하는 워커로, 각각 대화를 생성한 것에 요약을 반환합니다.156 * **Subagent**는 Claude가 생성하는 워커이며, 각각 대화를 생성한 대화에 요약을 반환합니다

138 * \*\*[동적 워크플로우](/docs/ko/workflows)\*\*는 Claude가 작성하는 스크립트로 백그라운드에서 많은 subagent를 실행하고 하나의 결과를 반환합니다.157 * \*\*[Dynamic workflow](/docs/ko/workflows)\*\*는 Claude가 작성하는 스크립트로 백그라운드에서 많은 subagent를 실행하고 하나의 결과를 반환합니다

139 158 

140 **빠르고 집중된 워커가 필요할 때 subagent를 사용하세요.** 질문을 연구하고, 주장을 확인하고, 파일을 검토하세요. Subagent는 작업을 수행하고 요약을 반환하므로 주 대화는 깔끔하게 유지됩니다. Claude가 생성할 때 이름을 지정한 Subagent는 [서로 메시지를 보낼](/docs/ko/sub-agents#what-loads-at-startup) 수도 있습니다.159 **빠르고 집중된 워커가 필요할 때 subagent를 사용하세요:** 질문 조사, 주장 검증, 파일 검토. Subagent는 작업을 수행하고 요약을 반환하므로 주 대화가 깔끔하게 유지됩니다. Claude가 생성할 때 이름을 지정한 Subagent는 [서로 메시지를 보낼](/docs/ko/sub-agents#what-loads-at-startup) 수도 있습니다.

141 160 

142 **작업이 [subagent 몇 개를 초과](/docs/ko/workflows#when-to-use-a-workflow)하거나 결과를 보기 전에 교차 검증하려는 경우 동적 워크플로우를 사용하세요.** 예를 들어 코드베이스 전체 감사, 대규모 마이그레이션, 또는 여러 각도에서 작성된 계획. 시작하려면 [프롬프트에서 워크플로우를 요청하세요](/docs/ko/workflows#ask-for-a-workflow-in-your-prompt).161 **작업이 [소수의 subagent를 초과](/docs/ko/workflows#when-to-use-a-workflow)하거나 결과를 보기 전에 교차 검증하려는 경우 dynamic workflow를 사용하세요**, 코드베이스 전체 감사, 대규모 마이그레이션, 여러 각도에서 작성된 계획 같은. 시작하려면 [프롬프트에서 워크플로우를 요청하세요](/docs/ko/workflows#ask-for-a-workflow-in-your-prompt).

143 162 

144 **한 세션의 결과를 다른 세션으로 전달하려면**, 첫 번째 세션의 Claude에게 전송하도록 요청하세요. Claude는 [세션 간 메시징](/docs/ko/cross-session-messaging)으로 전달합니다. [병렬로 에이전트 실행](/docs/ko/agents)은 한 번에 여러 Claude를 실행하는 다른 방법을 비교하며, 나중에 확인하기 위해 넘기는 세션도 포함합니다.163 **한 세션의 결과를 다른 세션으로 전달하려면**, 첫 번째 세션의 Claude에게 전송하도록 요청하세요. Claude는 [cross-session messaging](/docs/ko/cross-session-messaging)으로 전달합니다. [Run agents in parallel](/docs/ko/agents)은 한 번에 여러 Claude를 실행하는 다른 방법을 비교합니다. 나중에 확인하기 위해 넘기는 세션 포함.

145 </Tab>164 </Tab>

146 165 

147 <Tab title="MCP vs Skill">166 <Tab title="MCP vs Skill">

148 MCP는 Claude를 외부 서비스에 연결합니다. Skill은 Claude가 알아야 할 내용을 확장하며, 이러한 서비스를 효과적으로 사용하는 방법도 포함합니다.167 MCP는 Claude를 외부 서비스에 연결합니다. Skill은 Claude가 알고 있는 것을 확장하며, 이러한 서비스를 효과적으로 사용하는 방법도 포함합니다.

149 168 

150 | 측면 | MCP | Skill |169 | 측면 | MCP | Skill |

151 | ------ | ---------------------------- | ---------------------------------- |170 | ------ | ---------------------------- | ---------------------------------- |

152 | **정의** | 외부 서비스 연결 프로토콜 | 지식, 워크플로우 및 참조 자료 |171 | **정의** | 외부 서비스에 연결하기 위한 프로토콜 | 지식, 워크플로우, 참고 자료 |

153 | **제공** | 도구 및 데이터 접근 | 지식, 워크플로우, 참조 자료 |172 | **제공** | 도구 및 데이터 액세스 | 지식, 워크플로우, 참고 자료 |

154 | **예시** | Slack 통합, 데이터베이스 쿼리, 브라우저 제어 | 코드 검토 체크리스트, 배포 워크플로우, API 스타일 가이드 |173 | **예시** | Slack 통합, 데이터베이스 쿼리, 브라우저 제어 | 코드 검토 체크리스트, 배포 워크플로우, API 스타일 가이드 |

155 174 

156 이들은 다양한 문제를 해결하며 함께 잘 작동합니다.175 이들은 다른 문제를 해결하며 함께 잘 작동합니다:

157 176 

158 **MCP**는 Claude에게 외부 시스템과 상호 작용할 수 있는 능력을 제공합니다. MCP 없이는 Claude가 데이터베이스를 쿼리하거나 Slack에 게시할 수 없습니다.177 **MCP**는 Claude에게 외부 시스템을 위한 목적 구축 도구를 제공하며, 연결과 인증은 서버에서 처리합니다.

159 178 

160 **Skill**은 Claude에게 이러한 도구를 효과적으로 사용하는 방법에 대한 지식을 제공하며, `/<name>`으로 트리거할 수 있는 워크플로우도 포함합니다. Skill에는 팀의 데이터베이스 스키마 및 쿼리 패턴, 또는 팀의 메시지 형식 규칙이 있는 `/post-to-slack` 워크플로우가 포함될 수 있습니다.179 **Skill**은 Claude에게 이러한 도구를 효과적으로 사용하는 방법에 대한 지식을 제공하며, `/<name>`으로 트리거할 수 있는 워크플로우도 포함합니다. Skill은 팀의 데이터베이스 스키마 및 쿼리 패턴, 또는 팀의 메시지 형식 규칙이 있는 `/post-to-slack` 워크플로우를 포함할 수 있습니다.

161 </Tab>180 </Tab>

162 181 

163 <Tab title="Hook vs Skill">182 <Tab title="Hook vs Skill">

164 Hook은 라이프사이클 이벤트에서 실행됩니다. Skill은 Claude의 컨텍스트에 로드됩니다.183 Claude Code는 라이프사이클 이벤트에서 hook을 실행합니다. Skill을 컨텍스트에 로드하여 Claude가 적용하도록 합니다.

165 184 

166 | 측면 | Hook | Skill |185 | 측면 | Hook | Skill |

167 | ----------- | ---------------------------------------------------------------------- | -------------------------------------------- |186 | ----------- | ---------------------------------------------------------------------- | ---------------------------------------- |

168 | **실행** | 셸 명령, HTTP 요청, MCP 도구 호출, LLM 프롬프트 또는 subagent | Claude가 읽고 따르는 지침 |187 | **실행** | 셸 명령, HTTP 요청, MCP 도구 호출, LLM 프롬프트 또는 subagent | Claude가 읽고 따르는 지침 |

169 | **트리거** | [라이프사이클 이벤트](/docs/ko/hooks#hook-events) 예: `PostToolUse` 또는 `SessionStart` | `/<name>`을 입력하거나, Claude가 설명을 작업과 일치시킬 때 |188 | **트리거** | [라이프사이클 이벤트](/docs/ko/hooks#hook-events) 예: `PostToolUse` 또는 `SessionStart` | `/<name>`을 입력하거나, Claude가 설명을 작업과 일치시킬 때 |

170 | **결정론성** | 이벤트에서 항상 실행; 트리거가 보장됨 | Claude가 지침을 해석; 결과는 다양할 수 있음 |189 | **결정론** | 항상 이벤트에서 실행됩니다. 트리거가 보장됩니다 | Claude가 지침을 해석합니다. 결과는 다를 수 있습니다 |

171 | **컨텍스트 비용** | 0, hook이 출력을 반환하지 않는 한 | 설명은 모든 세션에 로드; 전체 콘텐츠는 사용 시 로드 |190 | **컨텍스트 비용** | Hook이 출력을 반환하지 않으면 0 | 설명은 매 세션마다 로드됩니다. 전체 콘텐츠는 사용할 때 로드됩니다 |

172 | **최적 용도** | 매번 동일한 방식으로 실행되고 Claude가 생각할 필요가 없는 작업 | Claude가 단계를 적용하는 방법을 결정해야 하거나 콘텐츠가 지식인 워크플로우 |191 | **최적 용도** | 편집 후 린팅, 안전하지 않은 명령 차단, 로깅, 알림 | 추론이 필요한 워크플로우, 참고 자료, 다단계 작업 |

173 192 

174 **작업이 매번 동일한 방식으로 실행되고 Claude가 생각할 필요가 없을 때 hook을 사용하세요.** 예: 저장 시 형식 지정, `rm -rf /` 거부, 세션 종료 시 Slack 메시지 게시.193 **작업이 항상 동일한 방식으로 발생해야 하고 Claude가 생각할 필요가 없을 때 hook을 사용하세요.** 예: 저장 시 형식 지정, `rm -rf /` 거부, 세션이 끝날 때 Slack 메시지 게시.

175 194 

176 **Claude가 단계를 적용하는 방법을 결정해야 하거나 콘텐츠가 지식일 때 skill을 사용하세요.** 예: `/release` 체크리스트, API 스타일 가이드, 디버깅 플레이북.195 **Claude가 단계를 적용하는 방법을 결정해야 하거나 콘텐츠가 스크립트가 아닌 지식일 때 skill을 사용하세요.** 예: `/release` 체크리스트, API 스타일 가이드, 디버깅 플레이북.

177 196 

178 **Hook에 가드레일을 넣으세요.** CLAUDE.md 또는 skill의 "`.env`를 편집하지 마세요"와 같은 지침은 요청이지 보장이 아닙니다. 편집을 차단하는 `PreToolUse` hook은 강제입니다. 규칙이 매번 유지되어야 하면, 프롬프트 지침이 아니라 hook으로 만드세요.197 **Hook에 가드레일을 넣으세요.** CLAUDE.md나 skill의 "`.env`를 편집하지 마세요"와 같은 지침은 요청이지 보장이 아닙니다. 편집을 차단하는 `PreToolUse` hook은 강제입니다. 규칙이 매번 유지되어야 하면, 프롬프트 지침이 아닌 hook으로 만드세요.

179 198 

180 **Hook 출력이 컨텍스트에 들어갑니다.** `PostToolUse` hook이 린터를 실행하면 결과가 Claude가 읽는 텍스트로 피드백됩니다. `/fix-lint` skill은 Claude에게 해결 방법을 알려줍니다.199 **Hook 출력은 컨텍스트에 들어갑니다.** 린터를 실행하는 `PostToolUse` hook은 결과를 Claude가 읽는 텍스트로 피드백합니다. `/fix-lint` skill은 Claude에게 이를 해결하는 방법을 알려줍니다.

181 </Tab>200 </Tab>

182</Tabs>201</Tabs>

183 202 


185 기능이 어떻게 계층화되는지 이해하기204 기능이 어떻게 계층화되는지 이해하기

186</h3>205</h3>

187 206 

188기능은 여러 수준에서 정의될 수 있습니다. 사용자 전체, 프로젝트별, 플러그인을 통해, 또는 관리 정책을 통해. 또한 CLAUDE.md 파일을 하위 디렉토리에 중첩하거나 monorepo의 특정 패키지에 skill을 배치할 수 있습니다. 동일한 기능이 여러 수준에 존재할 때, 계층화 방식은 다음과 같습니다.207기능은 여러 수준에서 정의할 수 있습니다: 사용자 전체, 프로젝트별, 플러그인을 통해, 또는 관리 정책을 통해. CLAUDE.md 파일을 하위 디렉토리에 중첩하거나 monorepo의 특정 패키지에 skill을 배치할 수도 있습니다. 동일한 기능이 여러 수준에 존재할 때, 다음과 같이 계층화됩니다:

189 208 

190* **CLAUDE.md 파일**은 추가적입니다. 모든 수준이 동시에 Claude의 컨텍스트에 콘텐츠를 제공합니다. 작업 디렉토리 및 위의 파일은 시작 시 로드되고, 하위 디렉토리는 작업할 때 로드됩니다. 지침이 충돌할 때, Claude는 판단을 사용하여 조정하며, 더 구체적인 지침이 일반적으로 우선합니다. [CLAUDE.md 파일이 로드되는 방식](/docs/ko/memory#how-claude-md-files-load)을 참조하세요.209* **CLAUDE.md 파일**은 가산적입니다: 모든 수준의 콘텐츠가 동시에 Claude의 컨텍스트에 기여합니다. 작업 디렉토리 및 위의 파일은 시작 시 로드됩니다. 하위 디렉토리는 작업할 때 로드됩니다. 지침이 충돌할 때, Claude는 판단을 사용하여 조정합니다. [CLAUDE.md 파일이 로드되는 방식](/docs/ko/memory#how-claude-md-files-load)을 참조하세요.

191* **Skill과 subagent**는 이름으로 재정의됩니다. 동일한 이름이 여러 수준에 존재할 때, 우선순위에 따라 하나의 정의가 승리합니다(skill의 경우 관리 > 사용자 > 프로젝트; subagent의 경우 관리 > CLI 플래그 > 프로젝트 > 사용자 > 플러그인). 플러그인 skill은 [네임스페이스됩니다](/docs/ko/plugins#add-skills-to-your-plugin). 충돌을 피하기 위해. [Skill 검색](/docs/ko/skills#resolve-skills-that-share-a-name) 및 [subagent 범위](/docs/ko/sub-agents#choose-the-subagent-scope)를 참조하세요.210* **Skill과 subagent**는 이름으로 재정의됩니다: 동일한 이름이 여러 수준에 존재할 때, 우선순위에 따라 하나의 정의가 승리합니다(skill의 경우 관리 > 사용자 > 프로젝트; subagent의 경우 관리 > CLI 플래그 > 프로젝트 > 사용자 > 플러그인). 플러그인 skill은 [네임스페이스됩니다](/docs/ko/plugins#add-skills-to-your-plugin) 충돌을 피하기 위해. [Skill 발견](/docs/ko/skills#resolve-skills-that-share-a-name) 및 [Subagent 범위](/docs/ko/sub-agents#choose-the-subagent-scope)를 참조하세요.

192* **MCP 서버**는 이름으로 재정의됩니다. 로컬 > 프로젝트 > 사용자. [MCP 범위](/docs/ko/mcp#scope-hierarchy-and-precedence)를 참조하세요.211* **MCP 서버**는 이름으로 재정의됩니다: 로컬 > 프로젝트 > 사용자. [MCP 범위](/docs/ko/mcp#scope-hierarchy-and-precedence)를 참조하세요.

193* **Hooks**는 병합됩니다. 모든 등록된 hook은 소스에 관계없이 일치하는 이벤트에 대해 실행됩니다. [Hooks](/docs/ko/hooks)를 참조하세요.212* **Hook**은 병합됩니다: 등록된 모든 hook은 소스와 관계없이 일치하는 이벤트에 대해 실행됩니다. [Hook](/docs/ko/hooks)을 참조하세요.

194 213 

195<h3 id="combine-features">214<h3 id="combine-features">

196 기능 결합하기215 기능 결합하기

197</h3>216</h3>

198 217 

199각 확장은 다양한 문제를 해결합니다. CLAUDE.md는 항상 켜진 컨텍스트를 처리하고, skill은 온디맨드 지식과 워크플로우를 처리하고, MCP는 외부 연결을 처리하고, subagent는 격리를 처리하고, hook은 자동화를 처리합니다. 실제 설정은 워크플로우에 따라 이들을 결합합니다.218각 확장은 다른 문제를 해결합니다: CLAUDE.md는 항상 활성화된 컨텍스트를 처리하고, skill은 온디맨드 지식과 워크플로우를 처리하고, MCP는 외부 연결을 처리하고, subagent는 격리를 처리하고, hook은 자동화를 처리합니다. 실제 설정은 워크플로우에 따라 이들을 결합합니다.

200 219 

201예를 들어, CLAUDE.md를 프로젝트 규칙에 사용하고, skill을 배포 워크플로우에 사용하고, MCP를 데이터베이스에 연결하고, hook을 모든 편집 후 린팅을 실행하는 데 사용할 수 있습니다. 각 기능은 최적의 작업을 처리합니다.220예를 들어, CLAUDE.md를 프로젝트 규칙에 사용하고, skill을 배포 워크플로우에 사용하고, MCP를 데이터베이스에 연결하는 데 사용하고, hook을 모든 편집 후 린팅을 실행하는 데 사용할 수 있습니다. 각 기능은 최고의 역할을 합니다.

202 221 

203| 패턴 | 작동 방식 | 예시 |222| 패턴 | 작동 방식 | 예시 |

204| --------------------- | ---------------------------------------------------------- | -------------------------------------------------------------- |223| --------------------- | ------------------------------------------------------------ | -------------------------------------------------------------- |

205| **Skill + MCP** | MCP는 연결을 제공하고, skill은 Claude에게 잘 사용하는 방법을 가르칩니다. | MCP는 데이터베이스에 연결하고, skill은 스키마 및 쿼리 패턴을 문서화합니다. |224| **Skill + MCP** | MCP가 연결을 제공합니다. Skill은 Claude에게 이를 잘 사용하는 방법을 가르칩니다 | MCP가 데이터베이스에 연결합니다. Skill은 스키마 및 쿼리 패턴을 문서화합니다 |

206| **Skill + Subagent** | Skill은 병렬 작업을 위해 subagent를 생성합니다. | `/audit` skill은 보안, 성능 및 스타일 subagent를 시작하여 격리된 컨텍스트에서 작동합니다. |225| **Skill + Subagent** | Skill이 병렬 작업을 위해 subagent를 생성합니다 | `/audit` skill은 격리된 컨텍스트에서 작동하는 보안, 성능, 스타일 subagent를 시작합니다 |

207| **CLAUDE.md + Skill** | CLAUDE.md는 항상 켜진 규칙을 보유하고, skill은 온디맨드로 로드되는 참조 자료를 보유합니다. | CLAUDE.md는 "API 규칙을 따르세요"라고 말하고, skill은 전체 API 스타일 가이드를 포함합니다. |226| **CLAUDE.md + Skill** | CLAUDE.md는 항상 활성화된 규칙을 보유합니다. Skill은 온디맨드로 로드되는 참고 자료를 보유합니다 | CLAUDE.md는 "API 규칙을 따르세요"라고 말합니다. Skill은 전체 API 스타일 가이드를 포함합니다 |

208| **Hook + MCP** | Hook은 MCP를 통해 외부 작업을 트리거합니다. | 편집 후 hook은 Claude가 중요한 파일을 수정할 때 Slack 알림을 보냅니다. |227| **Hook + MCP** | Hook은 MCP를 통해 외부 작업을 트리거합니다 | 편집 후 hook은 Claude가 중요한 파일을 수정할 때 Slack 알림을 게시합니다 |

209 228 

210<h2 id="understand-context-costs">229<h2 id="understand-context-costs">

211 컨텍스트 비용 이해하기230 컨텍스트 비용 이해하기


220각 기능은 다양한 로딩 전략과 컨텍스트 비용을 가집니다.239각 기능은 다양한 로딩 전략과 컨텍스트 비용을 가집니다.

221 240 

222| 기능 | 로드 시기 | 로드되는 내용 | 컨텍스트 비용 |241| 기능 | 로드 시기 | 로드되는 내용 | 컨텍스트 비용 |

223| --------------------- | -------------- | ------------------------------------------------------------------------------------ | --------------------------- |242| --------------------- | ------------------------ | ------------------------------------------------------------------------------------ | --------------------------- |

224| **CLAUDE.md** | 세션 시작 | 전체 콘텐츠 | 모든 요청 |243| **CLAUDE.md** | 세션 시작 | 전체 콘텐츠 | 모든 요청 |

244| **출력 스타일** | 세션 시작, 그리고 스타일을 전환할 때 다시 | 활성 스타일의 전체 지침; 기본 스타일의 경우 없음 | 모든 요청 |

225| **Skills** | 세션 시작 + 사용 시 | 시작 시 설명, 사용 시 전체 콘텐츠 | 낮음(모든 요청마다 설명)\* |245| **Skills** | 세션 시작 + 사용 시 | 시작 시 설명, 사용 시 전체 콘텐츠 | 낮음(모든 요청마다 설명)\* |

226| **MCP 서버** | 세션 시작 | 도구 이름; 필요 시 전체 스키마 | 도구 사용 시까지 낮음 |246| **MCP 서버** | 세션 시작 | 도구 이름; 필요 시 전체 스키마 | 도구 사용 시까지 낮음 |

227| **Code intelligence** | 파일 편집 후 및 온디맨드 | 각 파일 편집 후 진단; 기호 조회 시 정의, 참조 및 유형 정보 | 낮음; 다른 곳에서 파일 읽기 감소 |247| **Code intelligence** | 파일 편집 후 및 온디맨드 | 각 파일 편집 후 진단; 기호 조회 시 정의, 참조 및 유형 정보 | 낮음; 다른 곳에서 파일 읽기 감소 |

fullscreen.md +2 −2

Details

234 234 

235`/clear`를 실행하여 새로운 대화를 시작합니다.235`/clear`를 실행하여 새로운 대화를 시작합니다.

236 236 

237화면을 지우고 대화를 유지하려면 `Ctrl+L`을 누릅니다. 이전 메시지는 화면 위로 스크롤되고, `PgUp` 또는 마우스 휠로 스크롤하여 다시 읽을 수 있습니다. v2.1.260 이전에는 `Ctrl+L`이 화면을 지우지 않고 다시 그렸습니다. v2.1.238 이전에는 2초 이내에 두 번 누르면 `/clear`가 실행되었습니다.237화면이 깨져 보이거나 부분적으로 비어 있으면 `Ctrl+L`을 눌러 화면을 다시 그립니다. 다시 그리기는 대화와 입력을 제자리에 유지합니다.

238 238 

239터미널이 `Cmd+K`를 Claude Code에 전달할 때 `Cmd+K`는 `Ctrl+L`과 동일한 작업을 수행합니다. iTerm2와 Terminal.app은 `Cmd+K`를 자체적으로 처리하고, Claude Code는 대화를 지우지 않고 다시 그리므로 해당 터미널에서는 `Ctrl+L`을 누릅니다.239터미널이 `Cmd+K`를 Claude Code에 전달할 때 `Cmd+K`는 `Ctrl+L`과 동일한 작업을 수행합니다. iTerm2와 Terminal.app은 `Cmd+K`를 자체적으로 처리하고 자신의 화면을 지우며, Claude Code는 지워진 화면을 감지하고 대화를 다시 그립니다. v2.1.280 이전에는 v2.1.260부터 `Ctrl+L` 또는 Claude Code에 도달하는 `Cmd+K`를 누르면 전체 화면 렌더링에서 화면이 지워졌습니다. v2.1.238 이전에는 2초 이내에 `Ctrl+L`을 두 번 누르면 `/clear`가 실행되었습니다.

240 240 

241<h2 id="use-with-tmux">241<h2 id="use-with-tmux">

242 tmux와 함께 사용하기242 tmux와 함께 사용하기

Details

300 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}300 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

301 prompt: "Generate a summary of yesterday's commits and open issues"301 prompt: "Generate a summary of yesterday's commits and open issues"

302 claude_args: |302 claude_args: |

303 --model claude-opus-4-8303 --model claude-opus-5-5

304 --allowedTools "mcp__github__list_commits,mcp__github__list_issues"304 --allowedTools "mcp__github__list_commits,mcp__github__list_issues"

305```305```

306 306 

glossary.md +12 −0

Details

208 208 

209자세히 알아보기: [확장 사고 사용](/docs/ko/model-config#extended-thinking)209자세히 알아보기: [확장 사고 사용](/docs/ko/model-config#extended-thinking)

210 210 

211<h2 id="f">

212 F

213</h2>

214 

215<h3 id="frontmatter">

216 Frontmatter

217</h3>

218 

219Markdown 파일의 맨 위에 있는 YAML 설정 블록으로, 여는 `---` 줄과 닫는 `---` 줄 사이에 위치합니다. 스킬, 서브에이전트, 출력 스타일 및 규칙은 각각 frontmatter에서 구성을 읽습니다. 예를 들어 스킬의 `description` 또는 서브에이전트의 `tools`와 같은 설정을 읽으며, 닫는 `---` 이후의 모든 내용을 지시사항으로 처리합니다. 여는 `---`은 파일의 첫 번째 줄이어야 합니다. 각 파일 유형은 자신의 필드 집합을 허용합니다.

220 

221자세히 알아보기: [스킬 frontmatter](/docs/ko/skills#frontmatter-reference), [서브에이전트 frontmatter](/docs/ko/sub-agents#supported-frontmatter-fields), [출력 스타일 frontmatter](/docs/ko/output-styles#frontmatter), [규칙 frontmatter](/docs/ko/memory#rules-frontmatter-reference)

222 

211<h2 id="h">223<h2 id="h">

212 H224 H

213</h2>225</h2>

Details

238 238 

239이러한 환경 변수를 특정 Google Cloud의 Agent Platform 모델 ID로 설정합니다.239이러한 환경 변수를 특정 Google Cloud의 Agent Platform 모델 ID로 설정합니다.

240 240 

241`ANTHROPIC_DEFAULT_OPUS_MODEL` 없이는 Google Cloud의 Agent Platform의 `opus` 별칭이 Opus 5로 확인되고, `ANTHROPIC_DEFAULT_SONNET_MODEL` 없이는 `sonnet` 별칭이 Sonnet 4.5로 확인됩니다. 이 예제는 각 별칭을 특정 버전으로 고정합니다:241`ANTHROPIC_DEFAULT_OPUS_MODEL` 없이는 Google Cloud의 Agent Platform의 `opus` 별칭이 Opus 5.5로 확인되고, `ANTHROPIC_DEFAULT_SONNET_MODEL` 없이는 `sonnet` 별칭이 Sonnet 4.5로 확인됩니다. 이 예제는 각 별칭을 특정 버전으로 고정합니다:

242 242 

243```bash theme={null}243```bash theme={null}

244export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'244export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'


252 252 

253| 모델 유형 | 기본값 |253| 모델 유형 | 기본값 |

254| :------- | :--------------------------- |254| :------- | :--------------------------- |

255| 주 모델 | `claude-opus-5` |255| 주 모델 | `claude-opus-5-5` |

256| 소형/빠른 모델 | `claude-sonnet-4-5@20250929` |256| 소형/빠른 모델 | `claude-sonnet-4-5@20250929` |

257 257 

258세션 제목 생성과 같은 백그라운드 작업은 소형/빠른 모델(일반적으로 Haiku 클래스 모델)을 사용합니다. Google Cloud의 Agent Platform에서 Claude Code는 모든 프로젝트 또는 지역에서 Haiku를 활성화하지 않을 수 있으므로 백그라운드 작업에 기본 Sonnet 모델을 사용합니다. 두 가지 선택이 어떤 모델이 이를 수행하는지 변경합니다:258세션 제목 생성과 같은 백그라운드 작업은 소형/빠른 모델(일반적으로 Haiku 클래스 모델)을 사용합니다. Google Cloud의 Agent Platform에서 Claude Code는 모든 프로젝트 또는 지역에서 Haiku를 활성화하지 않을 수 있으므로 백그라운드 작업에 기본 Sonnet 모델을 사용합니다. 두 가지 선택이 어떤 모델이 이를 수행하는지 변경합니다:


264 Opus 모델은 Sonnet 모델보다 토큰당 가격이 높으므로 주 모델을 고정하지 않는 배포는 v2.1.207 이상으로 업데이트되면 Opus 요금으로 청구됩니다. Sonnet 4.5를 주 모델로 유지하려면 `ANTHROPIC_MODEL`을 전체 모델 ID로 설정합니다. `ANTHROPIC_DEFAULT_SONNET_MODEL`로 기본값을 조종하고 `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하지 않는 배포는 조종된 Sonnet 모델을 기본값으로 유지합니다.264 Opus 모델은 Sonnet 모델보다 토큰당 가격이 높으므로 주 모델을 고정하지 않는 배포는 v2.1.207 이상으로 업데이트되면 Opus 요금으로 청구됩니다. Sonnet 4.5를 주 모델로 유지하려면 `ANTHROPIC_MODEL`을 전체 모델 ID로 설정합니다. `ANTHROPIC_DEFAULT_SONNET_MODEL`로 기본값을 조종하고 `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하지 않는 배포는 조종된 Sonnet 모델을 기본값으로 유지합니다.

265</Warning>265</Warning>

266 266 

267v2.1.207부터 v2.1.218에서 Google Cloud의 Agent Platform의 주 모델은 기본적으로 Opus 4.8이었고 `opus` 별칭은 Opus 4.8로 확인되었습니다. v2.1.207 이전에는 주 모델이 기본적으로 Sonnet 4.5였고, `opus` 별칭은 Opus 4.6으로 확인되었으며, 백그라운드 작업은 항상 주 모델을 사용했습니다.267v2.1.280 이전에는 Google Cloud의 Agent Platform의 주 모델이 기본적으로 Opus 5였고 v2.1.219부터 `opus` 별칭이 Opus 5로 확인되었습니다. v2.1.207부터 v2.1.218에서 Google Cloud의 Agent Platform의 주 모델은 기본적으로 Opus 4.8이었고 `opus` 별칭은 Opus 4.8로 확인되었습니다. v2.1.207 이전에는 주 모델이 기본적으로 Sonnet 4.5였고, `opus` 별칭은 Opus 4.6으로 확인되었으며, 백그라운드 작업은 항상 주 모델을 사용했습니다.

268 268 

269모델을 추가로 사용자 지정하려면:269모델을 추가로 사용자 지정하려면:

270 270 

headless.md +2 −2

Details

109cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt109cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

110```110```

111 111 

112`--output-format json`을 사용하면 응답 페이로드에 `total_cost_usd`와 모델별 비용 분석이 포함되므로 스크립트 호출자는 [사용 대시보드](/docs/ko/costs)를 참조하지 않고도 호출당 지출을 추적할 수 있습니다. 두 수치 모두 [클라이언트 측 추정치](/docs/ko/agent-sdk/cost-tracking)이며 실제 청구서와 다를 수 있습니다.112`--output-format json`을 사용하면 응답 페이로드에 `total_cost_usd`와 모델별 비용 분석이 포함되므로 스크립트 호출자는 [사용 대시보드](/docs/ko/costs)를 참조하지 않고도 지출을 추적할 수 있습니다. `--continue` 또는 `--resume`으로 이전 대화를 계속할 때 실행은 대화의 전체 합계를 보고하며, [이전 실행의 지출이 포함됩니다](/docs/ko/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). 두 수치 모두 [클라이언트 측 추정치](/docs/ko/agent-sdk/cost-tracking)이며 실제 청구서와 다를 수 있습니다.

113 113 

114<Note>114<Note>

115 파이프된 stdin은 10MB로 제한됩니다. 제한을 초과하면 Claude Code는 명확한 오류 메시지와 함께 0이 아닌 상태로 종료됩니다. 더 큰 입력으로 작업하려면 콘텐츠를 파일에 작성하고 파이프하는 대신 프롬프트에서 파일 경로를 참조하십시오.115 파이프된 stdin은 10MB로 제한됩니다. 제한을 초과하면 Claude Code는 명확한 오류 메시지와 함께 0이 아닌 상태로 종료됩니다. 더 큰 입력으로 작업하려면 콘텐츠를 파일에 작성하고 파이프하는 대신 프롬프트에서 파일 경로를 참조하십시오.


212* **기본값**: 서브에이전트의 `tool_use` 및 `tool_result` 블록.212* **기본값**: 서브에이전트의 `tool_use` 및 `tool_result` 블록.

213* **[`--forward-subagent-text`](/docs/ko/cli-reference#cli-flags) 또는 [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/ko/env-vars) 사용**: 서브에이전트의 텍스트 및 사고 블록도 포함되므로 각 서브에이전트의 트랜스크립트를 재구성할 수 있습니다. 이는 Claude Code v2.1.211 이상이 필요합니다.213* **[`--forward-subagent-text`](/docs/ko/cli-reference#cli-flags) 또는 [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/ko/env-vars) 사용**: 서브에이전트의 텍스트 및 사고 블록도 포함되므로 각 서브에이전트의 트랜스크립트를 재구성할 수 있습니다. 이는 Claude Code v2.1.211 이상이 필요합니다.

214 214 

215두 옵션 중 하나를 활성화하면 Claude Code는 [모든 중첩 깊이의 서브에이전트](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)에서 메시지를 전달합니다: 서브에이전트가 자신의 서브에이전트를 생성하면 중첩된 서브에이전트의 메시지는 이를 생성한 Agent 도구 호출의 ID를 `parent_tool_use_id`에 포함하므로 이러한 ID를 따라 전체 중첩 트리를 재구성할 수 있습니다. v2.1.219 이전에는 중첩된 서브에이전트의 메시지가 스트림에 나타나지 않았습니다.215두 옵션 중 하나를 활성화하면 Claude Code는 [모든 중첩 깊이의 서브에이전트](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)에서 메시지를 전달합니다. 각 서브에이전트가 Agent 도구 또는 [포크된 스킬](/docs/ko/skills#run-skills-in-a-subagent)로 시작되었는지 여부와 관계없이 메시지를 전달합니다. 포크된 스킬이 생성하는 서브에이전트의 메시지와 서브에이전트 또는 다른 포크된 스킬 내에서 시작된 포크된 스킬의 메시지는 Claude Code v2.1.275 이상이 필요합니다. `parent_tool_use_id`에서 중첩된 서브에이전트의 메시지는 이를 시작한 Agent 또는 Skill 도구 호출의 ID를 포함하므로 이러한 ID를 따라 전체 중첩 트리를 재구성할 수 있습니다. v2.1.219 이전에는 중첩된 서브에이전트의 메시지가 스트림에 나타나지 않았습니다.

216 216 

217[서브에이전트에서 실행되는](/docs/ko/skills#run-skills-in-a-subagent) 스킬은 스트림에 동일한 방식으로 나타납니다: 포크된 스킬의 첫 번째 메시지는 실행을 구동하는 스킬 콘텐츠를 전달하는 `user` 메시지입니다. 두 옵션 중 하나를 활성화하면 스트림은 포크된 스킬의 텍스트 및 사고 블록도 포함합니다. v2.1.265 이전에는 포크된 스킬의 `tool_use` 및 `tool_result` 블록만 스트림에 나타났습니다.217[서브에이전트에서 실행되는](/docs/ko/skills#run-skills-in-a-subagent) 스킬은 스트림에 동일한 방식으로 나타납니다: 포크된 스킬의 첫 번째 메시지는 실행을 구동하는 스킬 콘텐츠를 전달하는 `user` 메시지입니다. 두 옵션 중 하나를 활성화하면 스트림은 포크된 스킬의 텍스트 및 사고 블록도 포함합니다. v2.1.265 이전에는 포크된 스킬의 `tool_use` 및 `tool_result` 블록만 스트림에 나타났습니다.

218 218 

hooks.md +5 −1

Details

992 992 

993hook의 stdout은 JSON 객체만 포함해야 합니다. 셸 프로필이 시작 시 텍스트를 인쇄하면 JSON 구문 분석을 방해할 수 있습니다. 문제 해결 가이드의 [Hook JSON이 효과가 없음](/docs/ko/hooks-guide#hook-json-has-no-effect)을 참조하세요.993hook의 stdout은 JSON 객체만 포함해야 합니다. 셸 프로필이 시작 시 텍스트를 인쇄하면 JSON 구문 분석을 방해할 수 있습니다. 문제 해결 가이드의 [Hook JSON이 효과가 없음](/docs/ko/hooks-guide#hook-json-has-no-effect)을 참조하세요.

994 994 

995hook 출력 문자열 (`additionalContext`, `systemMessage`, 일반 stdout 포함)은 10,000자로 제한됩니다. 이 제한을 초과하는 출력은 파일에 저장되고 미리보기 및 파일 경로로 바뀌며, [출력 제한](/docs/ko/tools-reference#output-limits) 아래에서 큰 유효한 Bash 결과가 처리되는 방식과 동일합니다.995hook의 `additionalContext`, `systemMessage`, `initialUserMessage` 문자열 및 일반 stdout은 10,000자로 제한됩니다:

996 

997* **범위**: Claude Code는 각 문자열을 자체적으로 측정하며, 동일한 이벤트에 대해 여러 hook이 실행되는 경우에도 마찬가지입니다. JSON 출력의 경우 각 필드는 별도로 측정되며, 일반 stdout은 전체적으로 측정됩니다.

998* **제한 초과**: Claude Code는 출력을 세션 디렉토리의 파일에 저장하고 파일 경로와 최대 처음 2,000자의 미리보기로 바꿉니다. 큰 유효한 Bash 결과는 [출력 제한](/docs/ko/tools-reference#output-limits) 아래에 설명된 동일한 방식으로 처리됩니다. 이 Bash 상한과 달리 이 제한에는 이를 높이기 위한 설정이나 환경 변수가 없습니다.

999* **파일 읽기**: Claude Code는 Claude에 파일을 읽도록 요청하지 않으므로 Claude가 항상 봐야 할 항목은 제한 내에 유지하세요.

996 1000 

997JSON 객체는 세 가지 종류의 필드를 지원합니다:1001JSON 객체는 세 가지 종류의 필드를 지원합니다:

998 1002 

Details

24 24 

25사용자도 이 루프의 일부입니다. 언제든지 중단하여 Claude를 다른 방향으로 유도하거나, 추가 컨텍스트를 제공하거나, 다른 접근 방식을 시도하도록 요청할 수 있습니다. Claude는 자율적으로 작동하지만 사용자의 입력에 반응합니다.25사용자도 이 루프의 일부입니다. 언제든지 중단하여 Claude를 다른 방향으로 유도하거나, 추가 컨텍스트를 제공하거나, 다른 접근 방식을 시도하도록 요청할 수 있습니다. Claude는 자율적으로 작동하지만 사용자의 입력에 반응합니다.

26 26 

27에이전트 루프는 두 가지 구성 요소로 구동됩니다: 추론하는 [모델](#models)과 작용하는 [도구](#tools). Claude Code는 Claude 주변의 **에이전트 하네스** 역할을 합니다: 언어 모델을 능력 있는 코딩 에이전트로 변환하는 도구, 컨텍스트 관리, 실행 환경을 제공합니다.27에이전트 루프는 두 가지 구성 요소로 구동됩니다: 추론하는 [모델](#models)과 작용하는 [도구](#tools). Claude Code는 모델 주변의 계층으로, 도구를 제공하고 모델이 보는 컨텍스트를 관리합니다. 이 주변 계층을 에이전트 하네스라는 용어가 나타냅니다.

28 28 

29<h3 id="models">29<h3 id="models">

30 모델30 모델


238 중단 및 조종238 중단 및 조종

239</h4>239</h4>

240 240 

241언제든지 Claude를 리다이렉트할 수 있습니다. 턴이 완료될 때까지 기다리거나 다시 시작할 필요 없이:241언제든지 Claude를 리다이렉트할 수 있습니다. 다음 중 하나를 수행하세요:

242 242 

243* **`Esc` 키를 누르세요** Claude를 즉시 중지합니다. 실행 중인 도구 호출이 취소되고 Claude는 다음 지시를 기다립니다. 대기 중인 메시지가 있으면 Claude Code [다음으로 전송합니다](/docs/ko/interactive-mode#queue-messages-while-claude-works).243* **`Esc` 키를 누르세요** Claude를 즉시 중지합니다. 실행 중인 도구 호출이 취소되고 Claude는 다음 지시를 기다립니다. 대기 중인 메시지가 있으면 Claude Code [다음으로 전송합니다](/docs/ko/interactive-mode#queue-messages-while-claude-works).

244* **수정 사항을 입력하고 `Enter`를 누르세요** 실행 중인 도구를 중지하지 않고 전송합니다. Claude는 현재 작업이 완료되는 즉시 이를 읽고 다음 단계를 결정하기 전에 조정합니다.244* **수정 사항을 입력하고 `Enter`를 누르세요** Claude를 중지하지 않고 메시지를 전송합니다. 메시지는 입력 상자 위에 대기 중으로 표시됩니다. Claude가 도구 호출을 실행 중이면 해당 호출이 완료되는 즉시 메시지를 읽고 같은 턴 내에서 조정한 후 다음 단계를 진행합니다. [Claude가 작업하는 동안 메시지 대기](/docs/ko/interactive-mode#queue-messages-while-claude-works)에서 다른 대기 중인 항목이 언제 전송되는지 다룹니다.

245 245 

246<h3 id="delegate-don’t-dictate">246<h3 id="delegate-don’t-dictate">

247 지시하지 말고 위임하기247 지시하지 말고 위임하기

Details

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`는 커서 뒤의 문자를 삭제합니다 |

28| `Ctrl+G` 또는 `Ctrl+X Ctrl+E` | 기본 텍스트 편집기에서 열기 | 기본 텍스트 편집기에서 프롬프트 또는 사용자 정의 응답을 편집합니다. `Ctrl+X Ctrl+E`는 readline 기본 바인딩입니다. `/config`에서 **Show last response in external editor**를 켜면 Claude의 이전 회신을 `#`-주석 처리된 컨텍스트로 프롬프트 위에 추가합니다. Claude Code는 저장할 때 주석 블록을 제거합니다 |28| `Ctrl+G` 또는 `Ctrl+X Ctrl+E` | 기본 텍스트 편집기에서 열기 | 기본 텍스트 편집기에서 프롬프트 또는 사용자 정의 응답을 편집합니다. `Ctrl+X Ctrl+E`는 readline 기본 바인딩입니다. `/config`에서 **Show last response in external editor**를 켜면 Claude의 이전 회신을 `#`-주석 처리된 컨텍스트로 프롬프트 위에 추가합니다. Claude Code는 저장할 때 주석 블록을 제거합니다 |

29| `Ctrl+L` | 화면 다시 그리기 또는 지우기 | 입력 및 대화 기록을 유지하면서 전체 터미널을 다시 그립니다. 디스플레이가 손상되거나 부분적으로 비어 있을 때 이를 사용하여 복구합니다. [전체 화면 렌더링](/docs/ko/fullscreen#clear-the-conversation)에서는 화면을 지우고 위로 스크롤하여 이전 메시지를 볼 수 있습니다 |29| `Ctrl+L` | 화면 다시 그리기 | 입력 및 대화 기록을 유지하면서 전체 터미널을 다시 그립니다. 디스플레이가 손상되거나 부분적으로 비어 있을 때 이를 사용하여 복구합니다. [대화 지우기](/docs/ko/fullscreen#clear-the-conversation)를 참조하세요 |

30| `Ctrl+O` | 트랜스크립트 뷰어 전환 | 각 어시스턴트 메시지에 타임스탬프와 사용된 모델이 있는 자세한 도구 사용 및 실행을 표시합니다. 또한 MCP 호출처럼 기본적으로 축소되는 줄을 확장하고 `Called slack 3 times` 한 줄로 표시되며 [다른 세션의 메시지](/docs/ko/cross-session-messaging#what-a-message-looks-like)는 한 줄 `Message from @<sender>` 미리보기로 표시됩니다 |30| `Ctrl+O` | 트랜스크립트 뷰어 전환 | 각 어시스턴트 메시지에 타임스탬프와 사용된 모델이 있는 자세한 도구 사용 및 실행을 표시합니다. 또한 MCP 호출처럼 기본적으로 축소되는 줄을 확장하고 `Called slack 3 times` 한 줄로 표시되며 [다른 세션의 메시지](/docs/ko/cross-session-messaging#what-a-message-looks-like)는 한 줄 `Message from @<sender>` 미리보기로 표시됩니다 |

31| `Ctrl+R` | 역방향 검색 명령 기록 | 이전 명령을 대화형으로 검색합니다 |31| `Ctrl+R` | 역방향 검색 명령 기록 | 이전 명령을 대화형으로 검색합니다 |

32| `Ctrl+V` 또는 `Cmd+V` (iTerm2) 또는 `Alt+V` (Windows 및 WSL) | 클립보드에서 이미지 붙여넣기 | 커서에 `[Image #N]` 칩을 삽입하여 프롬프트에서 위치별로 참조할 수 있습니다. WSL에서는 `Ctrl+V`와 `Alt+V` 모두 바인딩되어 있습니다. 터미널이 `Ctrl+V`를 가로채면 `Alt+V`를 사용하세요 |32| `Ctrl+V` 또는 `Cmd+V` (iTerm2) 또는 `Alt+V` (Windows 및 WSL) | 클립보드에서 이미지 붙여넣기 | 커서에 `[Image #N]` 칩을 삽입하여 프롬프트에서 위치별로 참조할 수 있습니다. WSL에서는 `Ctrl+V`와 `Alt+V` 모두 바인딩되어 있습니다. 터미널이 `Ctrl+V`를 가로채면 `Alt+V`를 사용하세요 |


42| `Ctrl+Enter` 또는 `Ctrl+X Ctrl+S` | 대기 중인 메시지 지금 보내기 | 현재 턴을 중단하여 [대기 중인 메시지](#queue-messages-while-claude-works)와 초안이 턴이 끝날 때가 아니라 지금 바로 나갑니다. [셸 모드](#shell-mode-with-prefix)에서 키는 중단하지 않고 명령을 대기열에 넣습니다. 확장 키를 보고하지 않는 터미널에서 `Ctrl+Enter`는 일반 `Enter`로 도착합니다. `Ctrl+X Ctrl+S`는 모든 터미널에서 작동합니다. Claude Code v2.1.275 이상 필요 |42| `Ctrl+Enter` 또는 `Ctrl+X Ctrl+S` | 대기 중인 메시지 지금 보내기 | 현재 턴을 중단하여 [대기 중인 메시지](#queue-messages-while-claude-works)와 초안이 턴이 끝날 때가 아니라 지금 바로 나갑니다. [셸 모드](#shell-mode-with-prefix)에서 키는 중단하지 않고 명령을 대기열에 넣습니다. 확장 키를 보고하지 않는 터미널에서 `Ctrl+Enter`는 일반 `Enter`로 도착합니다. `Ctrl+X Ctrl+S`는 모든 터미널에서 작동합니다. Claude Code v2.1.275 이상 필요 |

43| `Shift+Tab` 또는 Node 또는 Bun 런타임이 VT 입력 모드를 활성화하지 않을 때 Windows의 `Alt+M` | 권한 모드 순환 | `default` (모드 표시기에서 Manual로 표시됨), `acceptEdits`, `plan` 및 사용 가능할 때 `bypassPermissions` 및 `auto`를 순환합니다. `auto`에서 첫 번째 누름은 `default`로 전환합니다. [권한 모드](/docs/ko/permission-modes)를 참조하세요. 파일 권한 프롬프트에서 동일한 키는 열린 [주석 필드](/docs/ko/permissions#add-a-comment-when-you-answer-a-permission-prompt)를 닫습니다. 필드가 열려 있지 않으면 프롬프트가 나머지 세션에 대해 작업을 허용하는 옵션을 선택합니다 |43| `Shift+Tab` 또는 Node 또는 Bun 런타임이 VT 입력 모드를 활성화하지 않을 때 Windows의 `Alt+M` | 권한 모드 순환 | `default` (모드 표시기에서 Manual로 표시됨), `acceptEdits`, `plan` 및 사용 가능할 때 `bypassPermissions` 및 `auto`를 순환합니다. `auto`에서 첫 번째 누름은 `default`로 전환합니다. [권한 모드](/docs/ko/permission-modes)를 참조하세요. 파일 권한 프롬프트에서 동일한 키는 열린 [주석 필드](/docs/ko/permissions#add-a-comment-when-you-answer-a-permission-prompt)를 닫습니다. 필드가 열려 있지 않으면 프롬프트가 나머지 세션에 대해 작업을 허용하는 옵션을 선택합니다 |

44| `Option+P` (macOS) 또는 `Alt+P` (Windows/Linux) | 모델 전환 | 프롬프트를 지우지 않고 모델을 전환합니다 |44| `Option+P` (macOS) 또는 `Alt+P` (Windows/Linux) | 모델 전환 | 프롬프트를 지우지 않고 모델을 전환합니다 |

45| `Option+T` (macOS) 또는 `Alt+T` (Windows/Linux) | 확장 사고 전환 | 확장 사고 모드를 활성화하거나 비활성화합니다. Fable 5.1 또는 Fable 5에는 영향을 주지 않으며, 이들은 항상 확장 사고를 사용합니다. Option을 Meta로 구성하지 않고도 macOS에서 작동합니다 |45| `Option+T` (macOS) 또는 `Alt+T` (Windows/Linux) | 확장 사고 전환 | 확장 사고 모드를 활성화하거나 비활성화합니다. Opus 5.5 또는 Fable 모델에는 영향을 주지 않으며, 이들은 항상 확장 사고를 사용합니다. Option을 Meta로 구성하지 않고도 macOS에서 작동합니다 |

46| `Option+O` (macOS) 또는 `Alt+O` (Windows/Linux) | 빠른 모드 전환 | [빠른 모드](/docs/ko/fast-mode)를 활성화하거나 비활성화합니다 |46| `Option+O` (macOS) 또는 `Alt+O` (Windows/Linux) | 빠른 모드 전환 | [빠른 모드](/docs/ko/fast-mode)를 활성화하거나 비활성화합니다 |

47 47 

48<h3 id="text-editing">48<h3 id="text-editing">


593 593 

594이 중 어느 것이 발생했는지 알아보려면 맞춤법 확인을 켜고 `claude --debug`를 시작한 다음 단어를 입력하세요. 그런 다음 `~/.claude/debug/<session-id>.txt`의 디버그 로그에서 `[spellcheck]` 줄을 찾으세요. 한 줄은 Claude Code가 시작한 프로그램의 이름을 표시하거나, 찾아보았지만 발견하지 못한 것들을 나열합니다. 나중 줄은 중지된 이유를 설명합니다. 거기의 missing-dictionary 오류는 checker가 `language` 값에 대한 사전이 없거나, `language`가 설정되지 않았을 때 기본값이 없다는 의미입니다. 하나를 설치하거나, `language`를 가지고 있는 사전으로 설정하세요.594이 중 어느 것이 발생했는지 알아보려면 맞춤법 확인을 켜고 `claude --debug`를 시작한 다음 단어를 입력하세요. 그런 다음 `~/.claude/debug/<session-id>.txt`의 디버그 로그에서 `[spellcheck]` 줄을 찾으세요. 한 줄은 Claude Code가 시작한 프로그램의 이름을 표시하거나, 찾아보았지만 발견하지 못한 것들을 나열합니다. 나중 줄은 중지된 이유를 설명합니다. 거기의 missing-dictionary 오류는 checker가 `language` 값에 대한 사전이 없거나, `language`가 설정되지 않았을 때 기본값이 없다는 의미입니다. 하나를 설치하거나, `language`를 가지고 있는 사전으로 설정하세요.

595 595 

596<h2 id="invisible-characters-in-prompts">

597 프롬프트의 보이지 않는 문자

598</h2>

599 

600붙여넣은 텍스트는 터미널이 아무것도 그리지 않는 태그 문자, 양방향 제어, 영폭 공백 등의 유니코드 문자를 포함할 수 있으므로, 프롬프트에는 사용자가 절대 볼 수 없는 텍스트가 포함될 수 있습니다. 복사한 텍스트가 터미널이 그리지 않는 명령어를 포함하지 않도록 하기 위해 Claude Code는 Enter를 누를 때 이러한 문자를 제거한 후 전송합니다. 프롬프트와 프롬프트에 포함된 모든 축소된 [붙여넣은 텍스트 참조](/docs/ko/terminal-config#paste-large-content)의 내용을 정리합니다. Claude Code는 페르시아어 및 인도 문자가 작성하는 결합자와 이모지 시퀀스 내의 선택자를 유지합니다.

601 

602Claude Code가 무언가를 제거한 경우, 해당 Enter는 아무것도 전송하지 않습니다. 정리된 프롬프트는 `Removed 3 invisible characters · review and press Enter to send`과 같은 알림과 함께 입력 상자로 돌아가며, 다시 Enter를 누르면 표시된 대로 텍스트를 전송합니다.

603 

604`claude "fix the login bug"`와 같이 명령줄에서 프롬프트를 전달하거나 대화형 세션으로 파이프할 때, Claude Code는 두 번째 Enter를 기다리지 않습니다. 문자를 제거하고 알림을 표시한 후 정리된 프롬프트를 전송합니다. 정리된 프롬프트가 `/`로 시작하는 경우, Claude Code는 검토 및 전송을 위해 입력 상자에 배치합니다.

605 

596<h2 id="review-changes-with-/diff">606<h2 id="review-changes-with-/diff">

597 /diff로 변경 사항 검토하기607 /diff로 변경 사항 검토하기

598</h2>608</h2>

keybindings.md +29 −3

Details

114| 작업 | 기본값 | 설명 |114| 작업 | 기본값 | 설명 |

115| :-------------------- | :----------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |115| :-------------------- | :----------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

116| `chat:cancel` | Escape | 현재 입력 취소 |116| `chat:cancel` | Escape | 현재 입력 취소 |

117| `chat:clearInput` | Ctrl+L | 입력과 대화를 유지하면서 전체 화면을 다시 그리기 강제합니다. [전체 화면 렌더링](/docs/ko/fullscreen#clear-the-conversation)에서 화면도 지웁니다 |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에서 어떻게 작동하는지 확인하세요 |

119| `chat:killAgents` | 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) 끄기 |119| `chat:killAgents` | 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) 끄기 |

120| `chat:cycleMode` | Shift+Tab\* | 권한 모드 순환 |120| `chat:cycleMode` | Shift+Tab\* | 권한 모드 순환 |


153 153 

154| 작업 | 기본값 | 설명 |154| 작업 | 기본값 | 설명 |

155| :---------------------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |155| :---------------------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

156| `confirm:yes` | Y, Enter | 작업 확인 |156| `confirm:yes` | Enter | 작업 확인 |

157| `confirm:no` | N, Escape | 작업 거부 |157| `confirm:no` | Escape | 작업 거부 |

158| `confirm:previous` | Up | 이전 옵션 |158| `confirm:previous` | Up | 이전 옵션 |

159| `confirm:next` | Down | 다음 옵션 |159| `confirm:next` | Down | 다음 옵션 |

160| `confirm:nextField` | Tab | 다음 필드 |160| `confirm:nextField` | Tab | 다음 필드 |


166 166 

167v2.1.257 이전에는 `confirm:toggleExplanation` 작업이 Ctrl+E에 바인딩되어 있었으며 Bash 및 PowerShell 권한 프롬프트에서 모델이 생성한 명령 설명을 표시했습니다.167v2.1.257 이전에는 `confirm:toggleExplanation` 작업이 Ctrl+E에 바인딩되어 있었으며 Bash 및 PowerShell 권한 프롬프트에서 모델이 생성한 명령 설명을 표시했습니다.

168 168 

169대화 상자는 예/아니오 질문을 하지 않을 때도 `confirm:yes` 및 `confirm:no`를 사용하여 수락하고 취소합니다. `y` 또는 `n`과 같은 단순 문자를 이 컨텍스트에 바인딩하면 해당 문자가 키로 표시되지 않는 대화 상자에도 작용합니다. `y` 및 `n`을 키로 표시하는 대화 상자는 해당 문자를 직접 읽고 바인딩이 필요하지 않습니다.

170 

171이 예제는 `y`를 `confirm:yes`에, `n`을 `confirm:no`에 바인딩합니다:

172 

173```json theme={null}

174{

175 "bindings": [

176 {

177 "context": "Confirmation",

178 "bindings": {

179 "y": "confirm:yes",

180 "n": "confirm:no"

181 }

182 }

183 ]

184}

185```

186 

187v2.1.280 이전에는 `y`도 `confirm:yes`에, `n`도 `confirm:no`에 기본적으로 바인딩되었습니다. v2.1.280 이전에 `/keybindings`로 `keybindings.json`을 생성한 경우 파일에 두 바인딩이 모두 나열되며 해당 두 줄을 삭제할 때까지 유효합니다.

188 

169<h3 id="permission-actions">189<h3 id="permission-actions">

170 권한 작업190 권한 작업

171</h3>191</h3>


275| `footer:clearSelection` | Escape | 바닥글 선택 지우기 |295| `footer:clearSelection` | Escape | 바닥글 선택 지우기 |

276| `footer:dismiss` | Backspace, Delete | 바닥글에서 선택한 [아티팩트](/docs/ko/artifacts) 링크를 제거합니다. 게시된 아티팩트 자체는 영향을 받지 않습니다. 다른 바닥글 행에서는 이 키가 효과가 없습니다. v2.1.217 이상 필요 |296| `footer:dismiss` | Backspace, Delete | 바닥글에서 선택한 [아티팩트](/docs/ko/artifacts) 링크를 제거합니다. 게시된 아티팩트 자체는 영향을 받지 않습니다. 다른 바닥글 행에서는 이 키가 효과가 없습니다. v2.1.217 이상 필요 |

277 297 

298바닥글 항목이 선택되어 있는 동안(예: 프롬프트 아래의 에이전트 패널의 행), `Enter`는 `Chat` 컨텍스트에서 `Enter`를 `chat:queueSubmit` 또는 `chat:newline`으로 다시 바인딩한 경우에도 이를 엽니다.

299 

300`Chat` 바인딩은 `Footer` 컨텍스트가 바인딩하지 않는 키(예: `chat:cycleMode`의 Shift+Tab)에서 항목이 선택되어 있는 동안에도 계속 작동합니다.

301 

278<h3 id="message-selector-actions">302<h3 id="message-selector-actions">

279 메시지 선택기 작업303 메시지 선택기 작업

280</h3>304</h3>


372 396 

373Claude Code는 `/skills` 메뉴에서 `select:pageUp`, `select:pageDown`, `select:first` 및 `select:last` 바인딩을 적용합니다. `/model` 선택기와 같은 대부분의 다른 목록에서 Claude Code는 바인딩에 관계없이 PageUp 및 PageDown으로 페이징하고 Home 및 End를 무시합니다.397Claude Code는 `/skills` 메뉴에서 `select:pageUp`, `select:pageDown`, `select:first` 및 `select:last` 바인딩을 적용합니다. `/model` 선택기와 같은 대부분의 다른 목록에서 Claude Code는 바인딩에 관계없이 PageUp 및 PageDown으로 페이징하고 Home 및 End를 무시합니다.

374 398 

399v2.1.280 이전에는 이러한 다른 목록들이 Home, End 및 `select:first`와 `select:last` 바인딩을 무시했습니다.

400 

375<h3 id="plugin-actions">401<h3 id="plugin-actions">

376 플러그인 작업402 플러그인 작업

377</h3>403</h3>

Details

233 233 

234`--worktree` 플래그는 새로운 git 워크트리에서 세션을 시작하여 변경 사항이 주 체크아웃에서 격리되도록 합니다. 기본적으로 전체 저장소를 체크아웃합니다. 대규모 저장소에서 `worktree.sparsePaths` 설정은 git sparse-checkout을 사용하여 나열된 디렉토리와 루트 수준 파일만 디스크에 작성하므로 워크트리가 더 빠르게 시작되고 더 적은 공간을 사용합니다.234`--worktree` 플래그는 새로운 git 워크트리에서 세션을 시작하여 변경 사항이 주 체크아웃에서 격리되도록 합니다. 기본적으로 전체 저장소를 체크아웃합니다. 대규모 저장소에서 `worktree.sparsePaths` 설정은 git sparse-checkout을 사용하여 나열된 디렉토리와 루트 수준 파일만 디스크에 작성하므로 워크트리가 더 빠르게 시작되고 더 적은 공간을 사용합니다.

235 235 

236이 디렉토리에서 작업하는 모든 사람이 동일한 경로가 필요하면 설정을 `.claude/settings.json`에 커밋하십시오. 자신을 위해 경로를 추가하려면 `.claude/settings.local.json`을 사용하십시오. 목록은 범위 전체에 병합되므로 로컬 파일은 커밋된 목록에 경로를 추가할 수 있지만 제거할 수는 없습니다. 이 페이지의 JSON 예제는 한 번에 하나의 설정을 보여줍니다. `.claude/settings.json`이 이미 위의 `permissions.deny` 규칙과 같은 다른 키를 포함하고 있으면 파일을 바꾸는 대신 `worktree` 키를 그 옆에 추가하십시오. [모두 함께 배치](#put-it-together)는 결합된 결과를 보여줍니다.236이 디렉토리에서 작업하는 모든 사람이 동일한 경로가 필요하면 설정을 `.claude/settings.json`에 커밋하십시오. 자신을 위해 경로를 추가하려면 `.claude/settings.local.json`을 사용하십시오. 목록은 범위 전체에 병합되므로 로컬 파일은 커밋된 목록에 경로를 추가할 수 있지만 제거할 수는 없습니다.

237 

238이 페이지의 JSON 예제는 한 번에 하나의 설정을 보여줍니다. `.claude/settings.json`이 이미 위의 `permissions.deny` 규칙과 같은 다른 키를 포함하고 있으면 파일을 바꾸는 대신 `worktree` 키를 그 옆에 추가하십시오. [모두 함께 배치](#put-it-together)는 결합된 결과를 보여줍니다.

237 239 

238아래 예제는 커밋된 파일을 보여줍니다:240아래 예제는 커밋된 파일을 보여줍니다:

239 241 


253 255 

254이는 특히 [서브에이전트 워크트리 격리](/docs/ko/worktrees#isolate-subagents-with-worktrees)에 유용합니다. 서브에이전트는 하위 작업을 위해 생성된 병렬 Claude 인스턴스이며, 워크트리에서 실행되는 각 인스턴스는 전체 트리 대신 경량 체크아웃을 받습니다. 세션의 모든 워크트리는 동일한 `sparsePaths`를 공유하므로 한 서브에이전트가 `packages/api/`를 필요로 하고 다른 하나가 `packages/web/`을 필요로 하면 둘 다 나열하십시오.256이는 특히 [서브에이전트 워크트리 격리](/docs/ko/worktrees#isolate-subagents-with-worktrees)에 유용합니다. 서브에이전트는 하위 작업을 위해 생성된 병렬 Claude 인스턴스이며, 워크트리에서 실행되는 각 인스턴스는 전체 트리 대신 경량 체크아웃을 받습니다. 세션의 모든 워크트리는 동일한 `sparsePaths`를 공유하므로 한 서브에이전트가 `packages/api/`를 필요로 하고 다른 하나가 `packages/web/`을 필요로 하면 둘 다 나열하십시오.

255 257 

256`sparsePaths`에 개별 파일이 아닌 디렉토리를 나열하십시오. `package.json`, `tsconfig.base.json`, 잠금 파일과 같은 루트 수준 파일은 나열한 디렉토리와 함께 항상 체크아웃됩니다. 루트 수준 디렉토리는 그렇지 않으므로 워크트리 내에서 저장소 루트의 `.claude/settings.json`, `.claude/rules/`, 또는 `.claude/skills/`를 사용 가능하게 하려면 목록에 `.claude`를 포함하십시오.258`sparsePaths`에 개별 파일이 아닌 디렉토리를 나열하십시오. `package.json`, `tsconfig.base.json`, 잠금 파일과 같은 루트 수준 파일은 나열한 디렉토리와 함께 항상 체크아웃됩니다. 루트 수준 디렉토리는 그렇지 않으므로 워크트리 내에서 저장소 루트의 `.claude/settings.json` 또는 `.claude/rules/`를 사용 가능하게 하려면 목록에 `.claude`를 포함하십시오. 프로젝트 스킬, 에이전트, 명령에 대해서는 [워크트리가 주 체크아웃과 공유하는 것](/docs/ko/worktrees#what-worktrees-share-with-the-main-checkout)을 참조하십시오.

257 259 

258Sparse checkout을 사용하려면 git이 sparse 워크트리가 존재하는 동안 저장소의 공유 `.git/config`에서 `extensions.worktreeConfig`를 활성화해야 합니다. Claude Code는 마지막 워크트리가 제거된 후 해당 항목을 제거하지만, Claude Code가 추가한 경우에만 제거합니다. 직접 설정한 값은 절대 제거하지 않습니다. v2.1.207 이전에는 마지막 워크트리가 제거된 후에도 항목이 남아 있었으며, `tea`와 같은 go-git 기반 도구가 `git config --unset extensions.worktreeConfig`를 실행할 때까지 저장소를 열지 못했습니다.260Sparse checkout을 사용하려면 git이 sparse 워크트리가 존재하는 동안 저장소의 공유 `.git/config`에서 `extensions.worktreeConfig`를 활성화해야 합니다. Claude Code는 마지막 워크트리가 제거된 후 해당 항목을 제거하지만, Claude Code가 추가한 경우에만 제거합니다. 직접 설정한 값은 절대 제거하지 않습니다. v2.1.207 이전에는 마지막 워크트리가 제거된 후에도 항목이 남아 있었으며, `tea`와 같은 go-git 기반 도구가 `git config --unset extensions.worktreeConfig`를 실행할 때까지 저장소를 열지 못했습니다.

259 261 

Details

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)를 참조하세요. |


588| `Input tag 'adaptive' found`와 같은 `thinking` 또는 `adaptive`를 명시하는 `400` 오류 | 업스트림 모델 빌드는 Claude Code가 Claude 4.6 이상 모델에 대해 요청하는 적응형 추론을 허용하지 않습니다. | 게이트웨이의 업스트림을 업그레이드합니다. Opus 4.6 및 Sonnet 4.6에서는 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`이 대신 작동합니다. [모델 구성](/docs/ko/model-config) 기능 변수는 `CLAUDE_CODE_USE_BEDROCK` 및 `CLAUDE_CODE_USE_VERTEX`와 같은 제공자 구성에만 적용되며, `ANTHROPIC_BASE_URL` 게이트웨이 뒤에는 적용되지 않습니다. |588| `Input tag 'adaptive' found`와 같은 `thinking` 또는 `adaptive`를 명시하는 `400` 오류 | 업스트림 모델 빌드는 Claude Code가 Claude 4.6 이상 모델에 대해 요청하는 적응형 추론을 허용하지 않습니다. | 게이트웨이의 업스트림을 업그레이드합니다. Opus 4.6 및 Sonnet 4.6에서는 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`이 대신 작동합니다. [모델 구성](/docs/ko/model-config) 기능 변수는 `CLAUDE_CODE_USE_BEDROCK` 및 `CLAUDE_CODE_USE_VERTEX`와 같은 제공자 구성에만 적용되며, `ANTHROPIC_BASE_URL` 게이트웨이 뒤에는 적용되지 않습니다. |

589| 게이트웨이 자체 단어로 컨텍스트 또는 토큰 제한을 명시하는 `400` 오류(예: `ContextWindowExceededError` 또는 `prompt token count of N exceeds the limit of M`) | 게이트웨이는 모델의 기본 윈도우보다 작은 컨텍스트를 적용하고 업스트림 오류를 다시 작성하므로, Claude Code는 이를 [너무 긴 오류](/docs/ko/errors#prompt-is-too-long)로 인식하지 않고 자동으로 compact하고 재시도하지 않습니다. | `/compact`를 실행하여 세션을 복구합니다. 이를 방지하려면 `CLAUDE_CODE_AUTO_COMPACT_WINDOW`를 게이트웨이의 제한으로 설정합니다. Claude Code는 값을 최소 100,000 토큰 이상, 최대 모델의 컨텍스트 윈도우 이하로 제한하므로, 100,000 미만의 게이트웨이 제한은 일치할 수 없고 `/compact`는 거기에서 복구로 남습니다. 또한 `CLAUDE_CODE_MAX_OUTPUT_TOKENS`를 게이트웨이 모델의 출력 제한 아래로 설정합니다. |589| 게이트웨이 자체 단어로 컨텍스트 또는 토큰 제한을 명시하는 `400` 오류(예: `ContextWindowExceededError` 또는 `prompt token count of N exceeds the limit of M`) | 게이트웨이는 모델의 기본 윈도우보다 작은 컨텍스트를 적용하고 업스트림 오류를 다시 작성하므로, Claude Code는 이를 [너무 긴 오류](/docs/ko/errors#prompt-is-too-long)로 인식하지 않고 자동으로 compact하고 재시도하지 않습니다. | `/compact`를 실행하여 세션을 복구합니다. 이를 방지하려면 `CLAUDE_CODE_AUTO_COMPACT_WINDOW`를 게이트웨이의 제한으로 설정합니다. Claude Code는 값을 최소 100,000 토큰 이상, 최대 모델의 컨텍스트 윈도우 이하로 제한하므로, 100,000 미만의 게이트웨이 제한은 일치할 수 없고 `/compact`는 거기에서 복구로 남습니다. 또한 `CLAUDE_CODE_MAX_OUTPUT_TOKENS`를 게이트웨이 모델의 출력 제한 아래로 설정합니다. |

590| `400` 오류가 Claude Code v2.1.265부터 v2.1.267까지의 모든 요청에서 도구의 입력 스키마 또는 `pattern`을 거부합니다. | 이러한 버전의 점진적 롤아웃에서 [Artifact 도구](/docs/ko/artifacts#availability) 스키마는 `\p{...}` Unicode 문자 클래스가 있는 정규식을 전달합니다. Anthropic API는 이를 허용하지만, 각 도구 스키마의 `pattern`을 자체 정규식 엔진으로 확인하는 게이트웨이 또는 업스트림은 전체 요청을 거부합니다. | v2.1.268 이상으로 업데이트합니다. 이는 정규식을 전송하지 않습니다. 영향을 받는 버전에서는 [artifacts를 끕니다](/docs/ko/artifacts#disable-artifacts). 이는 도구와 해당 스키마를 요청에서 제거합니다. |590| `400` 오류가 Claude Code v2.1.265부터 v2.1.267까지의 모든 요청에서 도구의 입력 스키마 또는 `pattern`을 거부합니다. | 이러한 버전의 점진적 롤아웃에서 [Artifact 도구](/docs/ko/artifacts#availability) 스키마는 `\p{...}` Unicode 문자 클래스가 있는 정규식을 전달합니다. Anthropic API는 이를 허용하지만, 각 도구 스키마의 `pattern`을 자체 정규식 엔진으로 확인하는 게이트웨이 또는 업스트림은 전체 요청을 거부합니다. | v2.1.268 이상으로 업데이트합니다. 이는 정규식을 전송하지 않습니다. 영향을 받는 버전에서는 [artifacts를 끕니다](/docs/ko/artifacts#disable-artifacts). 이는 도구와 해당 스키마를 요청에서 제거합니다. |

591| Claude Code v2.1.275에서 모든 요청에 대한 `400` 오류이며, 게이트웨이 자체 단어로 인식되지 않는 도구 유형을 거부합니다(예: `Input tag 'advisor_20260301'`). | 해당 버전의 점진적 롤아웃에서, 요청은 advisor가 꺼져 있어도 [advisor 도구](/docs/ko/advisor) 항목을 전달합니다. Anthropic API는 이를 허용하지만, 도구 유형을 검증하는 게이트웨이 또는 업스트림은 전체 요청을 거부합니다. [요청 본문 필드를 변경되지 않은 상태로 전달](/docs/ko/llm-gateway-protocol#forward-as-open-lists)하는 항목은 영향을 받지 않고 통과합니다. 항목은 대화 내용을 전달하지 않는 선언입니다. | v2.1.276 이상으로 업데이트합니다. 이는 `ANTHROPIC_BASE_URL` 게이트웨이 뒤에서 advisor를 켜지 않으면 항목을 전송하지 않습니다. v2.1.275에서는 [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`](/docs/ko/env-vars)을 설정합니다. 이는 요청에서 항목을 제거합니다. |

591| `/model` 선택기에서 누락된 모델 | 게이트웨이 모델 이름이 Claude Code의 기본 제공 목록에 없거나, Claude Code가 기본 제공 옵션을 대체하는 [`modelPicker`](/docs/ko/settings-reference#modelpicker) 라인업을 표시하고 있습니다. | [게이트웨이 모델 검색](#add-gateway-models-to-the-model-picker)을 활성화하거나 [모델 구성](/docs/ko/model-config) 변수로 이름을 추가합니다. Claude Code가 대체하는 `modelPicker` 라인업을 표시하면, 게이트웨이 모델을 추가하거나 관리되는 설정이 제공할 때 관리자에게 추가하도록 요청합니다. |592| `/model` 선택기에서 누락된 모델 | 게이트웨이 모델 이름이 Claude Code의 기본 제공 목록에 없거나, Claude Code가 기본 제공 옵션을 대체하는 [`modelPicker`](/docs/ko/settings-reference#modelpicker) 라인업을 표시하고 있습니다. | [게이트웨이 모델 검색](#add-gateway-models-to-the-model-picker)을 활성화하거나 [모델 구성](/docs/ko/model-config) 변수로 이름을 추가합니다. Claude Code가 대체하는 `modelPicker` 라인업을 표시하면, 게이트웨이 모델을 추가하거나 관리되는 설정이 제공할 때 관리자에게 추가하도록 요청합니다. |

592| 추론 요청이 작동하는 동안 `/fast`가 `Fast mode unavailable due to network connectivity issues`를 보고합니다. | [빠른 모드](/docs/ko/fast-mode) 가용성 확인은 `api.anthropic.com`으로 직접 이동하고 `ANTHROPIC_BASE_URL`을 따르지 않으므로, 차단된 직접 송신은 확인을 실패합니다. 확인이 `ANTHROPIC_API_KEY` 또는 `apiKeyHelper`에서 게이트웨이 발급 키를 제시하고 Anthropic이 이를 거부할 때도 동일한 메시지가 나타납니다. | 송신이 차단된 경우 `api.anthropic.com`을 허용 목록에 추가하거나 건너뛰기 변수를 설정합니다. 거부된 게이트웨이 키의 경우 건너뛰기 변수만 도움이 됩니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요. |593| 추론 요청이 작동하는 동안 `/fast`가 `Fast mode unavailable due to network connectivity issues`를 보고합니다. | [빠른 모드](/docs/ko/fast-mode) 가용성 확인은 `api.anthropic.com`으로 직접 이동하고 `ANTHROPIC_BASE_URL`을 따르지 않으므로, 차단된 직접 송신은 확인을 실패합니다. 확인이 `ANTHROPIC_API_KEY` 또는 `apiKeyHelper`에서 게이트웨이 발급 키를 제시하고 Anthropic이 이를 거부할 때도 동일한 메시지가 나타납니다. | 송신이 차단된 경우 `api.anthropic.com`을 허용 목록에 추가하거나 건너뛰기 변수를 설정합니다. 거부된 게이트웨이 키의 경우 건너뛰기 변수만 도움이 됩니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요. |

593| `/fast`가 `ANTHROPIC_AUTH_TOKEN`으로 인증된 세션에서 `Fast mode has been disabled by your organization`을 보고하며, 조직이 빠른 모드를 활성화했음에도 불구하고 | 가용성 확인에는 claude.ai 로그인 또는 Anthropic API 키가 필요합니다. 베어러 토큰만 있으면 Claude Code는 확인을 보내지 않고 빠른 모드를 비활성화된 것으로 취급합니다. | `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`을 설정합니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요. |594| `/fast`가 `ANTHROPIC_AUTH_TOKEN`으로 인증된 세션에서 `Fast mode has been disabled by your organization`을 보고하며, 조직이 빠른 모드를 활성화했음에도 불구하고 | 가용성 확인에는 claude.ai 로그인 또는 Anthropic API 키가 필요합니다. 베어러 토큰만 있으면 Claude Code는 확인을 보내지 않고 빠른 모드를 비활성화된 것으로 취급합니다. | `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`을 설정합니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요. |

Details

144 144 

145개발자가 `ANTHROPIC_CUSTOM_HEADERS`를 설정하면, 해당 헤더도 요청에 나타납니다.145개발자가 `ANTHROPIC_CUSTOM_HEADERS`를 설정하면, 해당 헤더도 요청에 나타납니다.

146 146 

147<h3 id="gateway-hint-headers">

148 게이트웨이 힌트 헤더

149</h3>

150 

151Claude Code는 또한 라우팅 힌트를 전송할 수 있습니다. 게이트웨이 또는 라우터가 요청을 스케줄링, 캐싱 또는 속성화하는 데 사용할 수 있는 요청별 팩트입니다. Claude Code v2.1.273 이상이 필요합니다.

152 

153요청이 이를 전달하는지 여부는 Claude Code가 이를 전송하는 위치에 따라 다릅니다.

154 

155* Anthropic API에 직접 연결: 기본적으로 전송됨

156* 사용자 정의 기본 URL: 기본적으로 꺼짐. 알 수 없는 헤더를 거부하는 프록시가 요청을 실패시킬 수 있기 때문입니다. 이를 수신하려면 개발자를 위해 [`CLAUDE_CODE_GATEWAY_HINT_HEADERS=1`](/docs/ko/env-vars)을 설정합니다. 예를 들어 [관리 설정](/docs/ko/managed-settings)의 `env` 블록에서 설정합니다.

157* Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, AWS의 Claude Platform을 포함한 다른 모든 백엔드: `CLAUDE_CODE_GATEWAY_HINT_HEADERS=1`이 설정되었을 때만 전송됨

158 

159`CLAUDE_CODE_GATEWAY_HINT_HEADERS`를 `0`으로 설정하면 모든 연결에서 헤더가 중지됩니다.

160 

161헤더는 아래 행에 나열된 것만 전달합니다. 고정된 어휘, 도구 이름 및 기간이며, 프롬프트 텍스트나 파일 내용은 절대 아닙니다. 모든 값은 인쇄 가능한 ASCII입니다.

162 

163| 헤더 | 설명 |

164| :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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를 유지하지만 타입을 전달하지 않습니다. 사용자가 선택한 에이전트 이름은 절대 전송되지 않습니다. |

167| `x-claude-code-compaction` | [압축](/docs/ko/prompt-caching#compacting-the-conversation) 중에 대화를 요약하는 요청에 존재합니다. 값은 트리거된 것을 나타냅니다: 컨텍스트 윈도우가 용량에 접근할 때 `auto`, `/compact`에 대해 `manual`, API가 요청을 너무 길다고 거부했을 때 `reactive`. 다른 모든 요청에서는 없습니다. |

168| `x-claude-code-context-compacted` | 압축 후 첫 번째 주 대화 요청에 한 번 존재하며, `x-claude-code-compaction`과 동일한 값을 가집니다. 이 요청 전의 대화 접두사는 더 이상 사용되지 않으므로, 이를 기반으로 키가 지정된 캐시를 삭제할 수 있습니다. |

169| `x-claude-code-prev-tool-durations` | 이 요청이 전달하는 결과의 도구 호출의 측정된 실행 시간. `<name>=<ms>;<name>=<ms>` 형식입니다. 예를 들어 `Bash=742;Read=9`. 도구 호출 배치 후 동일한 대화의 다음 요청에서 전송됩니다. 주 세션 또는 서브에이전트에서 전송됩니다. |

170 

171`x-claude-code-prev-tool-durations`를 구문 분석하기 전에 Claude Code가 값을 구성하는 방법과 생략하는 것을 확인합니다.

172 

173* 항목: 실행된 도구 호출당 하나씩, 결과가 수집된 순서대로, 전체 밀리초 단위

174* 상한: Claude Code는 최대 32개 항목과 4 KB를 전송하며, 첫 번째 항목을 유지합니다.

175* 인코딩: 도구 이름은 퍼센트 인코딩되며, `%`, `;`, `=`, 쉼표, 공백 및 인쇄 가능한 ASCII 외의 모든 문자를 포함합니다.

176* 구문 분석: `;`로 분할한 다음 `=`로 분할하고 각 이름을 디코딩합니다.

177* 부재: 압축 호출, 측면 요청 및 새 프롬프트의 첫 번째 요청은 이를 전달하지 않습니다. 누락된 헤더를 도구를 실행하지 않은 턴으로 읽지 마십시오.

178* 시간: 각각은 권한 프롬프트 및 훅을 제외하며, 병렬 도구 호출은 각각 자신의 시간을 보고하므로, 항목이 요청 간의 간격에 합산되지 않습니다.

179 

147<h3 id="forward-as-open-lists">180<h3 id="forward-as-open-lists">

148 개방형 목록으로 전달181 개방형 목록으로 전달

149</h3>182</h3>


221 254 

222* 업스트림이 `thinking` 필드, 중간 대화 시스템 메시지, 또는 해당 메시지의 `cache_control` 마커를 거부할 때, Claude Code는 요청을 재시도하고 거부된 기능을 나머지 대화에 대해 비활성화합니다.255* 업스트림이 `thinking` 필드, 중간 대화 시스템 메시지, 또는 해당 메시지의 `cache_control` 마커를 거부할 때, Claude Code는 요청을 재시도하고 거부된 기능을 나머지 대화에 대해 비활성화합니다.

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

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

224* Claude Code는 컨텍스트 관리 또는 도구 스키마 필드 거부를 재시도하지 않으므로, 해당 `400` 오류는 개발자에게 도달합니다.258* Claude Code는 컨텍스트 관리 또는 도구 스키마 필드 거부를 재시도하지 않으므로, 해당 `400` 오류는 개발자에게 도달합니다.

225 259 

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

Details

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 헤더를 추가합니다. | 게이트웨이가 모든 요청에 테넌트 또는 라우팅 헤더를 요구하는 경우 |

187| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | [게이트웨이 힌트 헤더](/docs/ko/llm-gateway-protocol#gateway-hint-headers)를 전송하며, 이는 게이트웨이에서의 라우팅 및 스케줄링 결정을 위해 각 요청을 분류합니다. Claude Code v2.1.273 이상이 필요합니다. | 게이트웨이가 힌트 헤더를 읽는 경우 |

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

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

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

Details

297 정책이 적용 중인지 확인297 정책이 적용 중인지 확인

298</h2>298</h2>

299 299 

300개발자가 정책이 적용되지 않는다고 보고하거나, 배포가 플릿에 푸시하기 전에 도착했는지 확인하고 싶습니다. 해당 머신의 두 명령이 답변합니다: `/status`는 Claude Code가 선택한 관리형 소스를 보여주고, `claude doctor`는 삭제한 것을 나열합니다.300개발자가 정책이 적용되지 않는다고 보고하거나, 롤아웃이 완료되었는지 확인한 후 전체 시스템에 배포하려는 경우가 있습니다. 해당 머신의 두 가지 명령어로 이를 확인할 수 있습니다. `/status`는 Claude Code가 선택한 관리형 소스를 표시하고, `claude doctor`는 삭제된 항목을 나열합니다.

301 301 

302<h3 id="read-the-source-in-/status">302<h3 id="read-the-source-in-/status">

303 /status에서 소스 읽기303 /status에서 소스 읽기

304</h3>304</h3>

305 305 

306개발자의 머신에서 Claude Code 내에서 `/status`를 실행하고 `Setting sources` 줄을 읽습니다. 관리형 소스가 적용 중일 때, 줄은 Claude Code가 선택한 소스와 함께 `Enterprise managed settings`를 나열합니다:306개발자의 머신에서 Claude Code 내에서 `/status`를 실행하고 `Setting sources` 줄을 읽습니다. 관리형 소스가 적용 중일 때, 이 줄은 `Enterprise managed settings`를 나열하며 Claude Code가 선택한 소스를 괄호 안에 표시합니다:

307 307 

308* `(remote)`: claude.ai 또는 게이트웨이의 서버 관리형 설정308* `(remote)`: claude.ai 또는 게이트웨이의 서버 관리 설정

309* `(plist)` 또는 `(HKLM)`: MDM 또는 OS 정책309* `(plist)` 또는 `(HKLM)`: MDM 또는 OS 정책

310* `(file)`, `(drop-ins)`, 또는 `(file + drop-ins)`: `managed-settings.json`, 드롭인 디렉토리, 또는 둘 다310* `(file)`, `(drop-ins)`, 또는 `(file + drop-ins)`: `managed-settings.json`, 드롭인 디렉토리, 또는 둘 다

311* `(remote + file, merged)`, 또는 `, merged`로 끝나는 다른 목록: 조직이 [모든 관리형 소스를 구성합니다](#compose-every-managed-source), 그리고 Claude Code는 나열된 소스를 정책으로 병합했습니다. 낮은 소스는 목록에 나타나지 않고도 `env` 변수를 제공할 수 있습니다. Claude Code v2.1.242 이상이 필요합니다311* `(remote + file, merged)` 또는 `, merged`로 끝나는 다른 목록: 조직이 [모든 관리형 소스를 구성](#compose-every-managed-source)하고 있으며, Claude Code가 나열된 소스를 정책으로 병합했습니다. 낮은 우선순위의 소스는 목록에 나타나지 않아도 여전히 `env` 변수를 제공할 수 있습니다. Claude Code v2.1.242 이상 필요

312* `(HKCU)`: 사용자 쓰기 가능 레지스트리 폴백312* `(HKCU)`: 사용자 쓰기 가능 레지스트리 폴백

313* `(parent process)`: [임베딩 호스트](#let-an-embedding-host-add-policy)가 제한적 설정을 제공했습니다313* `(parent process)`: [임베딩 호스트](#let-an-embedding-host-add-policy)가 제공한 제한적 설정

314* `(helper)`: [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 선택한 MDM 또는 파일 소스로 구성되었습니다314* `(helper)`: 선택된 MDM 또는 파일 소스로 구성된 [`policyHelper`](/docs/ko/settings-reference#policyhelper)

315 315 

316Claude Code가 머신에서 관리형 소스를 찾았지만 선택하지 않았을 때, 두 번째 줄인 `Skipped sources`는 각 소스의 이름을 지정합니다. 정책이 머신에 도달하지 않은 것과 도달했지만 높은 우선순위 소스가 재정의한 것을 구별하려면 읽으세요. Claude Code v2.1.242 이상이 필요합니다.316Claude Code가 머신에서 관리형 소스를 찾았지만 선택하지 않은 경우, `Skipped sources`라는 두 번째 줄이 각 소스의 이름을 나열합니다. 이를 읽어 정책이 머신에 도달하지 않은 경우와 도달했지만 더 높은 우선순위의 소스가 재정의한 경우를 구분합니다. Claude Code v2.1.242 이상 필요합니다.

317 317 

318정책이 적용되지 않을 때, `Setting sources` 줄은 두 가지 문제 중 어느 것인지 알려줍니다:318정책이 적용되지 않을 때, `Setting sources` 줄은 다음 두 가지 문제 중 어느 것인지 알려줍니다:

319 319 

320* **줄이 누락됨**: Claude Code가 정책 키를 전달하는 관리형 소스를 찾지 못했습니다.320* **줄이 없음**: Claude Code가 정책 키를 전달하는 관리형 소스를 찾지 못했습니다.

321 321 

322 관리형 설정 파일을 배포했다면, OS의 경로에 있고 제어 키만이 아닌 [정책 키](#how-claude-code-combines-managed-sources)를 포함하는지 확인합니다. 유효하지 않은 JSON인 파일은 이 상태를 생성하지 않습니다. Claude Code는 [시작을 거부합니다](#find-entries-claude-code-dropped).322 관리형 설정 파일을 배포한 경우, 파일이 OS의 경로에 있고 제어 키만이 아닌 [정책 키](#how-claude-code-combines-managed-sources)를 포함하는지 확인합니다. 유효하지 않은 JSON 파일은 이 상태를 생성하지 않습니다. Claude Code는 [시작을 거부](#find-entries-claude-code-dropped)합니다.

323 323 

324 대신 서버 관리형 설정을 통해 배포했다면, `claude doctor`를 실행합니다. 이는 [가져오기 결과](/docs/ko/server-managed-settings#verify-settings-delivery)를 보고합니다.324 대신 서버 관리 설정을 통해 배포한 경우, `claude doctor`를 실행하면 [가져오기 결과](/docs/ko/server-managed-settings#verify-settings-delivery)를 보고합니다.

325* **줄이 배포한 것 이외의 소스의 이름을 지정함**: 높은 우선순위 소스가 있고 Claude Code가 당신의 것을 무시했으며, `Skipped sources`가 이를 나열합니다. [Claude Code가 관리형 소스를 결합하는 방식](#how-claude-code-combines-managed-sources)에서 순서를 제공합니다.325* **줄이 배포한 소스가 아닌 다른 소스의 이름을 지정**: 더 높은 우선순위의 소스가 있고 Claude Code가 사용자의 소스를 무시했으며, `Skipped sources`가 이를 나열합니다. [Claude Code가 관리형 소스를 결합하는 방법](#how-claude-code-combines-managed-sources)에서 순서를 확인합니다.

326 326 

327<span id="invalid-entries-in-managed-settings" />327<span id="invalid-entries-in-managed-settings" />

328 328 


330 Claude Code가 삭제한 항목 찾기330 Claude Code가 삭제한 항목 찾기

331</h3>331</h3>

332 332 

333관리형 설정 파일, MDM 프로필, 레지스트리 값 또는 서버 관리형 페이로드가 스키마 검증에 실패할 때, Claude Code는 먼저 복구할 수 있는 개별 항목(예: 하나의 유효하지 않은 권한 규칙)을 건너뜁니다. 각각에 대해 경고를 표시합니다. 그런 다음 값이 여전히 실패하는 최상위 키를 삭제하고 유효한 모든 나머지 키를 적용합니다.333관리형 설정 파일, MDM 프로필, 레지스트리 값 또는 서버 관리 페이로드가 스키마 검증에 실패하면, Claude Code는 먼저 수정할 수 있는 개별 항목(예: 하나의 잘못된 권한 규칙)을 건너뛰고 각각에 대해 경고를 표시한 다음, 여전히 실패하는 최상위 키를 삭제하고 남은 모든 유효한 키를 계속 적용합니다.

334 334 

335Claude Code는 [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 내보내는 `managedSettings`에 더 엄격합니다: 동일한 항목 복구를 수행하지만, 생존하는 스키마 위반은 전체 도우미 실행을 실패하게 하며, 시작 시 Claude Code는 시작을 거부합니다. 이는 0이 아닌 종료 코드로 끝나는 도우미와 동일합니다.335Claude Code는 [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 내보내는 `managedSettings`에 더 엄격합니다. 동일한 항목 수정을 수행하지만, 생존하는 스키마 위반은 전체 헬퍼 실행을 실패하게 하고, 시작 시 Claude Code는 시작을 거부하며, 이는 0이 아닌 값으로 종료되는 헬퍼와 동일합니다.

336 336 

337관리형 설정 파일, 드롭인 파일, MDM plist 또는 HKLM 레지스트리 값이 있지만 JSON 객체로 구문 분석할 수 없을 때, Claude Code는 시작을 거부하고 [소스의 이름을 지정하는 오류](/docs/ko/errors#managed-settings-document-could-not-be-parsed)를 인쇄합니다. 다른 관리 소스가 유효한 정책을 전달할 때도 마찬가지입니다. 각 소스는 다음과 같을 때 이런 방식으로 실패합니다:337관리형 설정 파일, 드롭인 파일, MDM plist 또는 HKLM 레지스트리 값이 있지만 JSON 객체로 구문 분석할 수 없으면, Claude Code는 시작을 거부하고 [소스의 이름을 지정하는 오류](/docs/ko/errors#managed-settings-document-could-not-be-parsed)를 인쇄합니다. 다른 관리자 소스가 유효한 정책을 전달하는 경우에도 마찬가지입니다. 각 소스는 다음의 경우에 이런 방식으로 실패합니다:

338 338 

339* **관리형 설정 파일 또는 드롭인 파일**: 파일이 유효한 JSON이 아니거나 최상위가 객체가 아닙니다339* **관리형 설정 파일 또는 드롭인 파일**: 파일이 유효한 JSON이 아니거나 최상위 수준이 객체가 아님

340* **MDM plist**: macOS의 `plutil`이 plist가 손상되었다고 보고하거나, 변환된 콘텐츠가 JSON 객체가 아닙니다340* **MDM plist**: macOS의 `plutil`이 plist가 손상되었다고 보고하거나, 변환된 콘텐츠가 JSON 객체가 아님

341* **HKLM 레지스트리 값**: `Settings` 값이 문자열이 아니거나, 비어 있거나, JSON 객체를 보유하지 않습니다341* **HKLM 레지스트리 값**: `Settings` 값이 문자열이 아니거나, 비어 있거나, JSON 객체를 포함하지 않음

342 342 

343세 가지 소스 상태는 이 거부를 야기하지 않습니다:343세 가지 소스 상태는 이 거부를 유발하지 않습니다:

344 344 

345* 없는 파일, 프로필 또는 레지스트리 값은 실패가 아닙니다. Claude Code는 해당 소스 없이 실행됩니다.345* 없는 파일, 프로필 또는 레지스트리 값은 실패가 아닙니다. Claude Code는 해당 소스 없이 실행됩니다.

346* 빈 관리형 설정 파일은 `{}`로 계산됩니다.346* 빈 관리형 설정 파일은 `{}`로 계산됩니다.

347* 손상된 값은 사용자 쓰기 가능 HKCU 레지스트리 키에서 시작을 차단하지 않습니다. Claude Code는 `/status` 및 `claude doctor`에서 대신 공지로 보고합니다.347* 사용자 쓰기 가능 HKCU 레지스트리 키의 손상된 값은 시작을 차단하지 않습니다. Claude Code는 이를 `/status` 및 `claude doctor`의 알림으로 보고합니다.

348 348 

349관리형 설정 파일, 드롭인 파일 또는 `managed-settings.d/` 디렉토리를 읽을 수 없고 관리 소스가 정책을 제공하지 않을 때, claude.ai 또는 Claude Console 자격 증명으로 로그인한 세션은 관리자에게 연락하라는 메시지와 함께 시작 시 종료됩니다.349관리형 설정 파일, 드롭인 파일 또는 `managed-settings.d/` 디렉토리를 읽을 수 없고 관리자 소스가 정책을 제공하지 않으면, claude.ai 또는 Claude Console 자격 증명으로 로그인한 세션은 관리자에게 문의하라는 메시지와 함께 시작 시 종료됩니다.

350 350 

351삭제된 항목을 찾으려면 다음 세 곳 중 하나를 확인합니다:351삭제된 항목을 찾으려면 다음 세 위치 중 하나를 확인합니다:

352 352 

353* 대화형 세션은 유효하지 않은 항목을 나열하는 대화 상자를 시작 시 표시합니다.353* 대화형 세션은 시작 시 잘못된 항목을 나열하는 대화 상자를 표시합니다.

354* `-p`를 사용한 비대화형 실행은 stderr에 요약을 인쇄합니다.354* `-p`를 사용한 비대화형 실행은 stderr에 요약을 인쇄합니다.

355* [`claude doctor`](/docs/ko/debug-your-config)는 각 유효하지 않은 항목을 소스 및 필드와 함께 나열합니다.355* [`claude doctor`](/docs/ko/debug-your-config)는 각 잘못된 항목을 소스 및 필드와 함께 나열합니다.

356 356 

357<h4 id="keys-that-fail-closed">357<h4 id="keys-that-fail-closed">

358 닫힌 상태로 실패하는 키358 폐쇄 상태로 실패하는 키

359</h4>359</h4>

360 360 

361몇 가지 적용 키는 유효하지 않을 때 삭제되지 않습니다. Claude Code는 값이 수정될 때까지 더 엄격한 폴백을 적용합니다. 표는 각 키에 대해 적용하는 것을 보여줍니다:361일부 적용 키는 유효하지 않을 때 삭제되지 않습니다. Claude Code는 값이 수정될 때까지 더 엄격한 폴백을 적용합니다. 표는 각 키에 대해 적용되는 내용을 보여줍니다:

362 362 

363| 필드 | 있지만 유효하지 않을 때의 동작 |363| 필드 | 존재하지만 유효하지 않을 때의 동작 |

364| :---------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |364| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

365| `allowedMcpServers` | 값이 수정될 때까지 빈 허용 목록으로 적용되므로, 사용자가 추가하는 MCP 서버는 허용되지 않습니다. 조직이 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers)를 통해 전달하는 서버는 여전히 로드되며, `managed-mcp.json` 서버는 [서버가 평가되는 방식](/docs/ko/managed-mcp#how-a-server-is-evaluated)에 따라 로드됩니다. 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. |365| `allowedMcpServers` | 값이 수정될 때까지 빈 허용 목록으로 적용되므로, 사용자가 추가하는 MCP 서버는 허용되지 않습니다. 조직이 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers)를 통해 전달하는 서버는 여전히 로드되고, `managed-mcp.json` 서버는 [서버 평가 방법](/docs/ko/managed-mcp#how-a-server-is-evaluated)에 따라 로드됩니다. 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. |

366| `allowedHttpHookUrls` | Claude Code는 값을 수정할 때까지 빈 관리형 [허용 목록](/docs/ko/settings-reference#allowedhttphookurls)을 적용하므로, HTTP 후크는 다른 설정 파일이 URL을 나열할 때만 실행됩니다. 개별 항목만 유효하지 않으면, Claude Code는 해당 항목을 제거하고 나머지를 적용합니다. |366| `allowedHttpHookUrls` | Claude Code는 값을 수정할 때까지 빈 관리형 [허용 목록](/docs/ko/settings-reference#allowedhttphookurls)을 적용하므로, HTTP 훅은 다른 설정 파일이 해당 URL을 나열하는 경우에만 실행됩니다. 개별 항목만 유효하지 않으면, Claude Code는 해당 항목을 제거하고 나머지를 적용합니다. |

367| `httpHookAllowedEnvVars` | Claude Code는 값을 수정할 때까지 빈 관리형 [허용 목록](/docs/ko/settings-reference#httphookallowedenvvars)을 적용하므로, 헤더 변수는 다른 설정 파일이 이름을 지정할 때만 보간됩니다. 개별 항목만 유효하지 않으면, Claude Code는 해당 항목을 제거하고 나머지를 적용합니다. |367| `httpHookAllowedEnvVars` | Claude Code는 값을 수정할 때까지 빈 관리형 [허용 목록](/docs/ko/settings-reference#httphookallowedenvvars)을 적용하므로, 헤더 변수는 다른 설정 파일이 이름을 지정하는 경우에만 보간됩니다. 개별 항목만 유효하지 않으면, Claude Code는 해당 항목을 제거하고 나머지를 적용합니다. |

368| `allowedChannelPlugins` | Claude Code는 값을 수정할 때까지 빈 허용 목록을 적용하므로, `--channels`에 전달된 채널 플러그인은 허용되지 않습니다. 개별 항목만 유효하지 않으면, 제거하고 나머지를 적용합니다. |368| `allowedChannelPlugins` | 값을 수정할 때까지 빈 허용 목록을 적용하므로, `--channels`에 전달된 채널 플러그인은 허용되지 않습니다. 개별 항목만 유효하지 않으면, 해당 항목을 제거하고 나머지를 적용합니다. |

369| `allowManagedHooksOnly` | 수정될 때까지 `true`로 취급됩니다: [후크 제한](/docs/ko/settings-reference#allowmanagedhooksonly)이 적용되고, `disableCommandPluginSources`가 명시적으로 `false`가 아니면, 명령 소스 플러그인이 비활성화됩니다. |369| `strictKnownMarketplaces` | 값이 수정될 때까지 빈 허용 목록으로 적용되므로, [마켓플레이스 소스](/docs/ko/plugin-marketplaces#managed-marketplace-restrictions)는 허용되지 않습니다. 유효하지 않거나 적용할 수 없는 개별 항목(예: 컴파일되지 않는 `hostPattern` 정규식)은 제거되고 유효한 부분 집합이 적용됩니다. |

370| `allowManagedMcpServersOnly` | `true`로 취급됩니다. |370| `allowManagedHooksOnly` | 수정될 때까지 `true`로 처리됩니다: [훅 제한](/docs/ko/settings-reference#allowmanagedhooksonly)이 적용되고, `disableCommandPluginSources`가 명시적으로 `false`가 아닌 한, 명령 소스 플러그인은 비활성화됩니다. |

371| `disableCommandPluginSources` | `true`로 취급되므로, 명령 소스 플러그인은 값이 수정될 때까지 비활성화된 상태로 유지됩니다. |371| `allowManagedMcpServersOnly` | `true`로 처리됩니다. |

372| `disableCommandPluginSources` | `true`로 처리되므로, 명령 소스 플러그인은 값이 수정될 때까지 비활성화된 상태로 유지됩니다. |

373| `disableSideloadFlags` | 값이 수정될 때까지 `true`로 처리되며, [`disableSideloadFlags`](/docs/ko/settings-reference#disablesideloadflags)에 나열된 효과가 있습니다. |

372| `availableModels` | 수정될 때까지 빈 허용 목록으로 적용되므로, 기본 모델만 사용 가능합니다. 문자열이 아닌 항목은 제거되고 유효한 부분 집합이 적용됩니다. |374| `availableModels` | 수정될 때까지 빈 허용 목록으로 적용되므로, 기본 모델만 사용 가능합니다. 문자열이 아닌 항목은 제거되고 유효한 부분 집합이 적용됩니다. |

373| `enforceAvailableModels` | `true`로 취급됩니다. |375| `enforceAvailableModels` | `true`로 처리됩니다. |

374| `forceLoginOrgUUID` | 값이 수정될 때까지 조직이 로그인할 수 없습니다. |376| `syncClaudeAiPlugins` | `false`로 처리되므로, [claude.ai 플러그인](/docs/ko/settings-reference#syncclaudeaiplugins)의 동기화는 값이 수정될 때까지 꺼져 있습니다. |

375| `gatewayInternalNetworks` | 유효하지 않은 값이 머신의 최상위 관리형 소스에서 올 때, `/login`은 값이 수정될 때까지 해당 머신의 모든 새로운 [클라우드 게이트웨이](/docs/ko/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) 로그인을 거부합니다. |377| `forceLoginOrgUUID` | 값이 수정될 때까지 조직이 로그인하도록 허용되지 않습니다. |

376| `crossSessionInbound` | 가장 제한적인 값인 `refuse`로 취급되므로, 인바운드 [교차 세션 메시지](/docs/ko/cross-session-messaging#control-inbound-messages)는 값이 수정될 때까지 거부됩니다. 개발자는 [경고](/docs/ko/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse)를 봅니다. |378| `gatewayInternalNetworks` | 유효하지 않은 값이 머신의 최상위 관리형 소스에서 오는 경우, `/login`은 값이 수정될 때까지 해당 머신의 모든 새로운 [클라우드 게이트웨이](/docs/ko/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) 로그인을 거부합니다. |

379| `crossSessionInbound` | 가장 제한적인 값인 `refuse`로 처리되므로, 인바운드 [크로스 세션 메시지](/docs/ko/cross-session-messaging#control-inbound-messages)는 값이 수정될 때까지 거부됩니다. 개발자는 [경고](/docs/ko/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse)를 봅니다. |

377| `deniedMcpServers` | 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. 완전히 유효하지 않은 값은 경고와 함께 삭제됩니다. 모든 서버를 거부하면 정책이 이름을 지정하지 않은 서버를 차단하기 때문입니다. |380| `deniedMcpServers` | 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. 완전히 유효하지 않은 값은 경고와 함께 삭제됩니다. 모든 서버를 거부하면 정책이 이름을 지정하지 않은 서버를 차단하기 때문입니다. |

378| `sandbox.credentials` | 복구 가능한 유효하지 않은 항목은 경고와 함께 `mode: "deny"`로 저하됩니다. 복구 불가능한 항목은 제거됩니다. 유효한 항목은 적용된 상태로 유지됩니다. [관리형 설정의 유효하지 않은 자격 증명 항목](/docs/ko/settings-reference#invalid-credential-entries-in-managed-settings) 참조 |381| `blockedMarketplaces` | 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. 구문 분석되지만 절대 일치할 수 없는 항목(예: 컴파일되지 않는 `hostPattern` 정규식)은 경고와 함께 유지됩니다. 값이 수정될 때까지 아무것도 차단하지 않지만, [마켓플레이스 제한](/docs/ko/plugin-marketplaces#managed-marketplace-restrictions)은 활성 상태로 유지됩니다. 완전히 유효하지 않은 값은 경고와 함께 삭제됩니다. 모든 마켓플레이스를 차단하면 정책이 이름을 지정하지 않은 소스를 차단하기 때문입니다. |

382| `sandbox.credentials` | 복구 가능한 유효하지 않은 항목은 경고와 함께 `mode: "deny"`로 저하되고, 복구 불가능한 항목은 제거되며, 유효한 항목은 계속 적용됩니다. [관리형 설정의 유효하지 않은 자격 증명 항목](/docs/ko/settings-reference#invalid-credential-entries-in-managed-settings) 참조 |

379 383 

380`allowedHttpHookUrls` 및 `httpHookAllowedEnvVars`는 설정 파일 전체에서 병합되므로, 사용자, 프로젝트 또는 로컬 설정의 항목은 관리형 목록이 비어 있는 동안에도 적용됩니다. 이 두 키와 `allowedChannelPlugins`의 폴백은 Claude Code v2.1.267 이상이 필요합니다. 이전 버전은 값이나 항목이 유효하지 않을 때 전체 키를 삭제합니다.384`allowedHttpHookUrls` 및 `httpHookAllowedEnvVars`는 설정 파일 전체에서 병합되므로, 사용자, 프로젝트 또는 로컬 설정의 항목은 관리형 목록이 비어 있는 동안에도 계속 적용됩니다.

381 385 

382`requiredMinimumVersion` 및 `requiredMaximumVersion`은 설계상 열린 상태로 실패합니다: 유효하지 않은 값은 적용되지 않고 삭제됩니다.386이 두 키와 `allowedChannelPlugins`에 대한 폴백은 Claude Code v2.1.267 이상이 필요합니다. 이전 버전은 값이나 항목이 유효하지 않으면 전체 키를 삭제합니다. `strictKnownMarketplaces`, `blockedMarketplaces` 및 `disableSideloadFlags` 폴백은 Claude Code v2.1.277 이상이 필요합니다. 이전 버전은 값이나 항목이 유효하지 않으면 전체 키를 삭제합니다.

383 387 

384이 허용은 관리형 설정에만 적용됩니다. 사용자, 프로젝트, 로컬 설정 파일은 엄격합니다: JSON이나 최상위 형태가 검증에 실패하는 파일은 전체적으로 거부되고 보고되며, 유효하지 않은 권한 규칙과 같은 개별 항목이 실패하면 경고와 함께 건너뛰어지고 파일의 나머지는 적용됩니다.388`requiredMinimumVersion` 및 `requiredMaximumVersion`은 설계상 개방적으로 실패합니다. 유효하지 않은 값은 적용되지 않고 삭제됩니다.

389 

390이 허용은 관리형 설정에만 적용됩니다. 사용자, 프로젝트 및 로컬 설정 파일은 엄격합니다. JSON이나 최상위 수준 형태가 검증에 실패하는 파일은 전체적으로 거부되고 보고되며, 손상된 권한 규칙과 같이 실패하는 개별 항목은 경고와 함께 건너뛰어지고 파일의 나머지는 적용됩니다.

385 391 

386<span id="managed-only-settings" />392<span id="managed-only-settings" />

387 393 

memory.md +59 −33

Details

82<Tip>82<Tip>

83 `/init`을 실행하여 시작 CLAUDE.md를 자동으로 생성하십시오. Claude가 코드베이스를 분석하고 발견한 빌드 명령어, 테스트 지침 및 프로젝트 규칙이 포함된 파일을 만듭니다. CLAUDE.md가 이미 존재하는 경우 `/init`은 덮어쓰지 않고 개선 사항을 제안합니다. 거기서부터 Claude가 자체적으로 발견하지 못할 지침으로 개선하십시오.83 `/init`을 실행하여 시작 CLAUDE.md를 자동으로 생성하십시오. Claude가 코드베이스를 분석하고 발견한 빌드 명령어, 테스트 지침 및 프로젝트 규칙이 포함된 파일을 만듭니다. CLAUDE.md가 이미 존재하는 경우 `/init`은 덮어쓰지 않고 개선 사항을 제안합니다. 거기서부터 Claude가 자체적으로 발견하지 못할 지침으로 개선하십시오.

84 84 

85 `CLAUDE_CODE_NEW_INIT=1`을 설정하여 대화형 다단계 흐름을 활성화하십시오. `/init`은 설정할 아티팩트를 묻습니다: CLAUDE.md 파일, 스킬 및 훅. 그런 다음 서브에이전트로 코드베이스를 탐색하고, 후속 질문을 통해 간격을 채우고, 파일을 작성하기 전에 검토 가능한 제안을 제시합니다.85 대화형 다단계 흐름을 활성화하려면 `/init`을 실행하기 전에 `CLAUDE_CODE_NEW_INIT` 환경 변수를 `1`로 설정하십시오. 셸에서 설정하거나 [환경 변수 설정](/docs/ko/env-vars#set-environment-variables)에 표시된 대로 설정 파일의 `env` 블록에서 설정하십시오. 설정하면 `/init`은 설정할 아티팩트를 묻습니다: CLAUDE.md 파일, 스킬 및 훅. 그런 다음 서브에이전트로 코드베이스를 탐색하고, 후속 질문을 통해 간격을 채우고, 파일을 작성하기 전에 검토 가능한 제안을 제시합니다. 이 변수는 `/init`이 실행되는 방식만 변경하므로 설정된 상태로 둘 수 있습니다.

86</Tip>86</Tip>

87 87 

88<h3 id="write-effective-instructions">88<h3 id="write-effective-instructions">


165CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config165CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config

166```166```

167 167 

168인라인 형식은 Bash 또는 Zsh에서 해당 한 번의 시작을 위해 변수를 설정합니다. 모든 세션에서 계속 설정하려면 [환경 변수 설정](/docs/ko/env-vars#set-environment-variables)에 표시된 대로 `~/.claude/settings.json`의 `env` 블록에 추가하십시오.

169 

168이는 추가 디렉토리에서 `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` 및 `CLAUDE.local.md`를 로드합니다. [`--setting-sources`](/docs/ko/cli-reference)에서 `local`을 제외하면 `CLAUDE.local.md`가 건너뛰어집니다.170이는 추가 디렉토리에서 `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` 및 `CLAUDE.local.md`를 로드합니다. [`--setting-sources`](/docs/ko/cli-reference)에서 `local`을 제외하면 `CLAUDE.local.md`가 건너뛰어집니다.

169 171 

170<h3 id="organize-rules-with-claude/rules/">172<h3 id="organize-rules-with-claude/rules/">


244 246 

245Glob 구문은 `[`를 `[abc]`와 같은 괄호 표현식의 시작으로 취급합니다. `photos [2024/**`와 같이 괄호 표현식으로 읽을 수 없는 `[`가 있는 패턴은 유효하지 않습니다: 파일과 일치하지 않으며 규칙의 다른 패턴은 계속 작동합니다. 파일 이름의 리터럴 `[`를 일치시키려면 `photos \[2024/**`로 이스케이프하십시오. v2.1.207 이전에는 하나의 유효하지 않은 패턴이 모든 도구 사용 대신 규칙이 평가된 모든 파일에 대해 Read 도구를 실패하게 했습니다.247Glob 구문은 `[`를 `[abc]`와 같은 괄호 표현식의 시작으로 취급합니다. `photos [2024/**`와 같이 괄호 표현식으로 읽을 수 없는 `[`가 있는 패턴은 유효하지 않습니다: 파일과 일치하지 않으며 규칙의 다른 패턴은 계속 작동합니다. 파일 이름의 리터럴 `[`를 일치시키려면 `photos \[2024/**`로 이스케이프하십시오. v2.1.207 이전에는 하나의 유효하지 않은 패턴이 모든 도구 사용 대신 규칙이 평가된 모든 파일에 대해 Read 도구를 실패하게 했습니다.

246 248 

249<h4 id="rules-frontmatter-reference">

250 규칙 frontmatter 참조

251</h4>

252 

253YAML [frontmatter](/docs/ko/glossary#frontmatter)로 규칙을 구성하십시오. `---` 마커 사이에 위치합니다. `paths`는 Claude Code가 규칙에서 읽는 유일한 필드입니다. 다른 필드는 오류 없이 무시됩니다. Claude Code는 규칙을 컨텍스트에 로드하기 전에 frontmatter를 제거합니다.

254 

255| 필드 | 필수 | 설명 |

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

257| `paths` | 아니오 | [규칙을 일치하는 파일로 범위를 지정](#path-specific-rules)하는 Glob 패턴. YAML 목록 또는 쉼표로 구분된 문자열을 허용합니다 |

258 

259마커 사이의 YAML이 구문 분석되지 않으면 Claude Code는 frontmatter를 무시하고 `paths`가 없는 것처럼 규칙을 로드합니다. `claude --debug`를 실행하여 구문 분석 오류를 확인하십시오.

260 

247<h4 id="share-rules-across-projects-with-symlinks">261<h4 id="share-rules-across-projects-with-symlinks">

248 심볼릭 링크로 프로젝트 간 규칙 공유하기262 심볼릭 링크로 프로젝트 간 규칙 공유하기

249</h4>263</h4>


271└── workflows.md # 선호하는 워크플로우285└── workflows.md # 선호하는 워크플로우

272```286```

273 287 

274사용자 수준 규칙은 프로젝트 규칙 이전에 로드되어 프로젝트 규칙에 더 높은 우선순위를 제공합니다.288Claude Code는 사용자 수준 규칙을 프로젝트 규칙 이전에 로드하므로 프로젝트 규칙이 Claude의 컨텍스트에서 사용자 규칙보다 나중에 나타납니다. 어느 쪽도 다른 쪽을 재정의하지 않습니다: 사용자 규칙과 프로젝트 규칙이 충돌하면 Claude가 둘 중 하나를 따를 수 있으므로 둘을 일관되게 유지하십시오.

275 289 

276<h3 id="manage-claude-md-for-large-teams">290<h3 id="manage-claude-md-for-large-teams">

277 대규모 팀을 위한 CLAUDE.md 관리하기291 대규모 팀을 위한 CLAUDE.md 관리하기


354 AGENTS.md368 AGENTS.md

355</h2>369</h2>

356 370 

357저장소에 이미 `AGENTS.md`가 있고 `CLAUDE.md`가 없으면, Claude는 이를 프로젝트 지침으로 읽으며 `CLAUDE.md`, 가져오기 또는 설정을 추가할 필요가 없습니다. `AGENTS.md`는 AI 코딩 에이전트를 위해 작성하는 프로젝트 지침의 마크다운 파일입니다. 작업 디렉토리 또는 그 위의 디렉토리에 `CLAUDE.md`도 있으면, Claude는 기본적으로 그것을 대신 읽습니다. Claude가 두 파일을 모두 읽도록 하려면 [**프로젝트 지침** 설정을 변경](#choose-which-instruction-files-load)하십시오. `CLAUDE.md`가 이미 [`AGENTS.md`를 가져오면](#share-one-file-with-other-coding-tools), 아무것도 변경할 필요가 없습니다.371Claude Code는 [`AGENTS.md`](/docs/ko/glossary#agents-md)를 프로젝트 지침으로 읽을 수 있으므로, 다른 코딩 에이전트를 위해 이미 설정된 저장소는 `CLAUDE.md`, 가져오기 또는 설정을 추가할 필요 없이 작동합니다. 이 표는 저장소의 지침 파일 조합에 따라 Claude가 기본적으로 읽는 내용을 보여줍니다:

372 

373| 저장소에 있는 파일 | Claude가 읽는 내용 |

374| :------------------------------------------------------------------------------ | :------------------------------------ |

375| `AGENTS.md`가 있고, 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없음 | `AGENTS.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` |

378 

379기본값을 변경하려면, 예를 들어 Claude가 항상 두 파일을 모두 읽도록 하거나, `CLAUDE.md`만 읽도록 하거나, 조직의 관리되는 지침만 읽도록 하려면 [**프로젝트 지침** 설정을 변경](#choose-which-instruction-files-load)하십시오.

358 380 

359<Note>381<Note>

360 `AGENTS.md`를 직접 읽으려면 Claude Code v2.1.277 이상이 필요합니다. Amazon Bedrock의 세션이나 원격 측정이 비활성화된 세션과 같은 일부 세션에서는 Claude가 [`AGENTS.md`를 읽을 수 없으므로](#when-agents-md-support-is-unavailable), 대신 [`CLAUDE.md`에서 가져오십시오](#share-one-file-with-other-coding-tools).382 `AGENTS.md`를 직접 읽으려면 Claude Code v2.1.277 이상이 필요합니다. Amazon Bedrock의 세션이나 원격 측정이 비활성화된 세션과 같은 일부 세션에서는 Claude가 [`AGENTS.md`를 읽을 수 없으므로](#when-agents-md-support-is-unavailable), 대신 [`CLAUDE.md`에서 가져오십시오](#share-one-file-with-other-coding-tools).


364 Claude Code가 AGENTS.md를 읽을 때386 Claude Code가 AGENTS.md를 읽을 때

365</h3>387</h3>

366 388 

367기본적으로 Claude는 작업 디렉토리와 그 위의 모든 디렉토리를 파일 시스템 루트까지 확인한 후 읽을 내용을 결정합니다:389기본적으로 Claude는 작업 디렉토리 또는 그 위에 `CLAUDE.md`가 없을 때만 `AGENTS.md`를 읽습니다. 다음은 해당 확인에 포함되는 파일입니다:

368 390 

369* **`CLAUDE.md`, `.claude/CLAUDE.md` 또는 `CLAUDE.local.md`가 있는 경우**: Claude는 [CLAUDE.md 파일이 로드되는 방식](#how-claude-md-files-load)에 설명된 대로 `CLAUDE.md` 파일을 읽고 모든 `AGENTS.md`를 무시합니다.391* **포함되므로 Claude가 `AGENTS.md` 대신 읽음**: 작업 디렉토리 또는 그 위의 `CLAUDE.md`, `.claude/CLAUDE.md` 또는 `CLAUDE.local.md`

370* **이 중 어느 것도 없는 경우**: Claude는 작업 디렉토리와 그 위의 디렉토리에 있는 모든 `AGENTS.md`와 `.claude/AGENTS.md`를 읽습니다. 대화형 세션에서는 `no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md`와 같은 줄이 표시됩니다. Claude가 나중에 자신의 `AGENTS.md`가 있고 `CLAUDE.md`가 없는 하위 디렉토리의 파일을 읽을 때, 그 `AGENTS.md`도 선택합니다.392* **포함되지 않으며 `AGENTS.md`와 함께 계속 로드됨**: `~/.claude/CLAUDE.md`, 조직의 관리되는 `CLAUDE.md`, `.claude/rules/` 파일

371 393 

372`~/.claude/CLAUDE.md`, 조직의 관리되는 `CLAUDE.md` 및 `.claude/rules/` 파일은 이 확인에 영향을 주지 않으며, Claude는 `AGENTS.md`와 함께 계속 읽습니다. 모든 프로젝트에 적용되는 개인 지침은 `~/.claude/CLAUDE.md`에 보관하십시오.394포함되는 파일이 없을 때, Claude가 읽는 내용과 확인 방법은 다음과 같습니다:

373 395 

374`CLAUDE.local.md`는 확인에 영향을 줍니다. `AGENTS.md`에 의존하는 프로젝트에 개인 메모용으로 추가하면, Claude는 더 이상 `AGENTS.md`를 읽지 않습니다. 둘 다 얻으려면 **프로젝트 지침**을 [`claude-md-and-agents-md`](#choose-which-instruction-files-load)로 설정하십시오.396* **세션 시작 시**: 작업 디렉토리와 그 위의 디렉토리에 있는 모든 `AGENTS.md`와 `.claude/AGENTS.md`. 대화형 세션에서는 `no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md`와 같은 줄이 표시됩니다

397* **Claude가 하위 디렉토리에서 작업할 때**: 하위 디렉토리에 Read 도구로 파일을 열 때, 해당 하위 디렉토리에 세 가지 `CLAUDE.md` 파일이 없으면 그 하위 디렉토리의 `AGENTS.md`

398* **각 `AGENTS.md` 내부**: [`@path` 가져오기](#import-additional-files)가 확장되고, [`claudeMdExcludes`](#exclude-specific-claude-md-files) 패턴이 적용되며, [프로젝트 지침을 건너뛰는](/docs/ko/sub-agents#what-loads-at-startup) 하위 에이전트도 이 파일들을 건너뜁니다

399* **읽지 않음**: `AGENTS.local.md`, `AGENTS.override.md` 또는 `.agents/` 디렉토리 아래의 모든 것

375 400 

376Claude가 `AGENTS.md`를 읽으면, 프로젝트 `CLAUDE.md`처럼 취급할 수 있습니다:401<Note>

377 402 `CLAUDE.local.md`가 포함되므로, `AGENTS.md`에 의존하는 프로젝트에 개인 메모용으로 추가하면 Claude가 더 이상 `AGENTS.md`를 읽지 않습니다. `CLAUDE.local.md`를 유지하면서 Claude가 `AGENTS.md`를 읽도록 하려면 **프로젝트 지침**을 [`claude-md-and-agents-md`](#choose-which-instruction-files-load)로 설정하십시오.

378* 여기에 [`@path` 가져오기](#import-additional-files)를 사용합니다403</Note>

379* [`claudeMdExcludes`](#exclude-specific-claude-md-files)로 제외합니다

380* [프로젝트 지침을 건너뛰는](/docs/ko/sub-agents#what-loads-at-startup) 하위 에이전트도 이를 건너뛸 것으로 예상합니다

381 404 

382<h3 id="choose-which-instruction-files-load">405<h3 id="choose-which-instruction-files-load">

383 로드할 지침 파일 선택406 로드할 지침 파일 선택


386Claude가 읽는 파일을 변경하려면, Claude Code 세션에서 `/config`를 입력하여 설정 패널을 열고, **프로젝트 지침**을 다음 값 중 하나로 설정합니다:409Claude가 읽는 파일을 변경하려면, Claude Code 세션에서 `/config`를 입력하여 설정 패널을 열고, **프로젝트 지침**을 다음 값 중 하나로 설정합니다:

387 410 

388| 값 | Claude가 읽는 내용 |411| 값 | Claude가 읽는 내용 |

389| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------- |412| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

390| `claude-md-or-agents-md` | 작업 디렉토리 또는 그 위에 `CLAUDE.md`가 없을 때 `CLAUDE.md` 파일 또는 `AGENTS.md` 파일입니다. 이것이 기본값입니다 |413| `claude-md-or-agents-md` | `CLAUDE.md` 파일, 또는 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없을 때 `AGENTS.md` 파일. 이것이 기본값입니다 |

391| `claude-md-and-agents-md` | `CLAUDE.md`와 `AGENTS.md` 파일을 함께, 각 디렉토리의 `AGENTS.md`는 `CLAUDE.md` 다음에 |414| `claude-md-and-agents-md` | `CLAUDE.md`와 `AGENTS.md` 파일을 함께, 각 디렉토리의 `CLAUDE.md` 파일을 먼저 읽고 그 다음 `AGENTS.md`. Claude Code는 이미 로드한 `AGENTS.md`를 건너뜁니다. 따라서 `CLAUDE.md`가 가져오거나 심볼릭 링크하는 것은 두 번 읽지 않습니다 |

392| `claude-md` | `CLAUDE.md` 파일만 |415| `claude-md` | `CLAUDE.md` 파일만 |

393| `managed-only` | 시작 시 조직의 관리되는 `CLAUDE.md`와 [자동 메모리](#auto-memory)만 사용합니다. 프로젝트, 로컬 및 사용자 `CLAUDE.md` 파일, `.claude/rules/` 파일 및 모든 `AGENTS.md`는 제외됩니다 |416| `managed-only` | 시작 시 조직의 관리되는 `CLAUDE.md`와 [자동 메모리](#auto-memory)만. 프로젝트, 로컬 및 사용자 `CLAUDE.md` 파일, `.claude/rules/` 파일 및 모든 `AGENTS.md`는 제외됩니다. 하위 디렉토리의 `CLAUDE.md`와 `.claude/rules/` 파일, 그리고 [경로 범위 규칙](#path-specific-rules)은 여전히 Claude가 파일을 읽을 때 로드됩니다 |

394 

395이 값 중 두 개는 선택하기 전에 알아야 할 세부 사항이 있습니다:

396 

397* `claude-md-and-agents-md`를 사용하면, `CLAUDE.md`가 이미 옆의 `AGENTS.md`를 가져오거나 심볼릭 링크하면, 해당 내용을 한 번만 얻습니다.

398* `managed-only`를 사용하면, Claude는 여전히 하위 디렉토리의 파일을 읽을 때 해당 디렉토리의 `CLAUDE.md`와 `.claude/rules/` 파일을 읽으며, 여전히 [경로 범위 규칙](#path-specific-rules)을 적용합니다.

399 417 

400`/config` 대신 설정 파일에서 값을 설정할 수도 있습니다. 내장 `agents-md` 플러그인의 ID 아래 [`pluginConfigs`](/docs/ko/settings-reference#pluginconfigs)에 추가하고, `~/.claude/settings.json`, `--settings` 파일 또는 [관리되는 설정](/docs/ko/managed-settings)에 추가합니다. Claude Code는 프로젝트 및 로컬 설정 파일에서 무시합니다. 이 예제는 Claude가 두 파일을 모두 읽도록 합니다:418`/config` 대신 설정 파일에서 값을 설정할 수도 있습니다. 내장 `agents-md` 플러그인의 ID 아래 [`pluginConfigs`](/docs/ko/settings-reference#pluginconfigs)에 추가하고, `~/.claude/settings.json`, `--settings` 파일 또는 [관리되는 설정](/docs/ko/managed-settings)에 추가합니다. Claude Code는 프로젝트 및 로컬 설정 파일에서 무시합니다. 이 예제는 Claude가 두 파일을 모두 읽도록 합니다:

401 419 


415 AGENTS.md 지원을 사용할 수 없을 때433 AGENTS.md 지원을 사용할 수 없을 때

416</h3>434</h3>

417 435 

418이러한 세션에서 Claude는 `CLAUDE.md` 파일만 읽으며, `/config` 설정 패널에서 **프로젝트 지침**을 볼 수 없습니다:436이러한 세션에서 Claude는 `CLAUDE.md` 파일만 읽으며, `/config` 설정 패널에서 **프로젝트 지침**이 나타나지 않습니다:

419 437 

420* v2.1.277 이전의 Claude Code 버전을 사용 중입니다438* v2.1.277 이전의 Claude Code 버전을 사용 중입니다

421* 세션이 Anthropic에서 [기능 플래그를 가져오지 않습니다](/docs/ko/env-vars#features-that-need-feature-flag-fetching). 예를 들어 Amazon Bedrock 또는 다른 타사 제공자를 사용하거나 원격 측정을 비활성화했습니다. 연결된 섹션에 전체 목록이 있습니다439* 세션이 Anthropic에서 [기능 플래그를 가져오지 않습니다](/docs/ko/env-vars#features-that-need-feature-flag-fetching). 예를 들어 Amazon Bedrock 또는 다른 타사 제공자를 사용하거나 원격 측정을 비활성화했습니다. 연결된 섹션에 전체 목록이 있습니다

422* `AGENTS.md` 지원이 있는 버전으로 [설치 또는 업그레이드한 후 첫 번째 세션](/docs/ko/env-vars#first-session-after-an-install-or-upgrade)입니다. Claude는 다음 세션부터 `AGENTS.md`를 읽습니다440* `AGENTS.md` 지원이 있는 버전으로 [설치 또는 업그레이드한 후 첫 번째 세션](/docs/ko/env-vars#first-session-after-an-install-or-upgrade)입니다. Claude는 다음 세션부터 `AGENTS.md`를 읽습니다

423* 사용자 또는 조직이 [`disableAllHooks`](/docs/ko/settings-reference#disableallhooks) 또는 [`allowManagedHooksOnly`](/docs/ko/settings-reference#allowmanagedhooksonly)를 설정했거나, `/plugin`에서 내장 `agents-md` 플러그인을 비활성화했습니다441* 내장 `agents-md` 플러그인을 `/plugin`에서 비활성화했습니다

424 442 

425이러한 세션에서 Claude에 `AGENTS.md`를 제공하려면, [`CLAUDE.md`에서 가져오십시오](#share-one-file-with-other-coding-tools).443이러한 세션에서 Claude에 `AGENTS.md`를 제공하려면, [`CLAUDE.md`에서 가져오십시오](#share-one-file-with-other-coding-tools).

426 444 


430 448 

431Claude가 **프로젝트 지침** 설정을 통해 읽는 `AGENTS.md`는 다음과 같은 방식으로 `CLAUDE.md`와 다릅니다:449Claude가 **프로젝트 지침** 설정을 통해 읽는 `AGENTS.md`는 다음과 같은 방식으로 `CLAUDE.md`와 다릅니다:

432 450 

433* `/memory` 또는 `/context`의 **메모리 파일** 목록에서 볼 수 없습니다. Claude가 읽었는지 확인하려면 [`AGENTS.md loaded` 줄](#when-claude-code-reads-agents-md)을 찾거나 Claude에게 프로젝트 지침이 무엇인지 물어보십시오. `claude-md-and-agents-md`를 사용하면 그러한 줄이 없으므로 Claude에게 물어보십시오451| | `CLAUDE.md` | 설정을 통해 읽은 `AGENTS.md` |

434* [`InstructionsLoaded` 훅](/docs/ko/hooks#instructionsloaded)은 Claude가 직접 읽을 때 실행되지 않습니다. `CLAUDE.md`가 가져오거나 심볼릭 링크할 때 평소대로 실행됩니다452| :------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------- | :------------------------------------------------------------ |

435* [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories)를 설정하면, Claude는 `--add-dir`으로 추가한 각 디렉토리에서 `CLAUDE.md`를 읽지만 `AGENTS.md`는 읽지 않습니다453| [`InstructionsLoaded` 훅](/docs/ko/hooks#instructionsloaded) | 실행됨 | 실행되지 않음. `CLAUDE.md`가 가져오거나 심볼릭 링크하는 `AGENTS.md`의 경우 평소대로 실행됨 |

436* `AGENTS.md`가 `@path`로 작업 디렉토리 외부의 파일을 가져오면, Claude는 이미 이 프로젝트에 대해 [외부 가져오기](#import-additional-files)를 승인한 경우에만 해당 파일을 읽습니다. `AGENTS.md`에서 승인하라는 메시지가 표시되지 않습니다454| [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories)가 설정되었을 때 `--add-dir`으로 추가한 디렉토리 | 해당 `CLAUDE.md` 로드 | 해당 `AGENTS.md` 로드 안 함 |

455| 작업 디렉토리 외부 파일의 `@path` 가져오기 | Claude Code가 [외부 가져오기](#import-additional-files) 승인을 요청함 | 이 프로젝트에 대해 이미 외부 가져오기를 승인한 경우에만 로드, 프롬프트 없음 |

437 456 

438<h3 id="remove-an-earlier-agents-md-workaround">457<h3 id="remove-an-earlier-agents-md-workaround">

439 이전 AGENTS.md 해결 방법 제거458 이전 AGENTS.md 해결 방법 제거


441 460 

442Claude Code가 자체적으로 `AGENTS.md`를 읽기 전에 설정한 경우, 각 일반적인 설정에서 수행할 작업은 다음과 같습니다:461Claude Code가 자체적으로 `AGENTS.md`를 읽기 전에 설정한 경우, 각 일반적인 설정에서 수행할 작업은 다음과 같습니다:

443 462 

444* **`@AGENTS.md`를 포함하는 `CLAUDE.md`**: 아무것도 없습니다. 계속 작동하며, 일부 세션이 [`AGENTS.md`를 로드할 수 없으면](#when-agents-md-support-is-unavailable) 여전히 올바른 설정입니다. 파일에 다른 내용이 없고 모든 세션이 `AGENTS.md`를 로드할 수 있으면 삭제할 수 있습니다.463* **`@AGENTS.md`를 포함하는 `CLAUDE.md`**: 그대로 둘 수 있습니다. 가져오기를 유지하면 Claude가 `AGENTS.md`를 두 번 읽지 않습니다. 어떤 **프로젝트 지침** 값을 사용하든 상관없습니다. 파일에 다른 내용이 없으면 `CLAUDE.md`를 제거하거나, 일부 세션이 [`AGENTS.md`를 직접 로드할 수 없으면](#when-agents-md-support-is-unavailable) 유지하십시오.

445* **Claude에게 `AGENTS.md`를 읽으라고 말하는 `CLAUDE.md`**: Claude는 파일을 열기로 결정한 경우에만 `AGENTS.md`를 봅니다. `CLAUDE.md`를 삭제하여 Claude가 `AGENTS.md`를 직접 읽도록 하거나, 문장을 `@AGENTS.md` 가져오기로 바꾸십시오.464* **Claude에게 `AGENTS.md`를 읽으라고 말하는 `CLAUDE.md`**: Claude는 파일을 열기로 결정한 경우에만 `AGENTS.md`를 봅니다. `CLAUDE.md`를 삭제하여 Claude가 `AGENTS.md`를 직접 읽도록 하거나, 문장을 `@AGENTS.md` 가져오기로 바꾸십시오.

446* **`AGENTS.md`로 심볼릭 링크된 `CLAUDE.md`**: 아무것도 없거나 심볼릭 링크를 삭제합니다. 어느 쪽이든 Claude는 내용을 한 번 읽습니다.465* **`AGENTS.md`로 심볼릭 링크된 `CLAUDE.md`**: 아무것도 없거나 심볼릭 링크를 삭제합니다. 어느 쪽이든 Claude는 내용을 한 번 읽습니다.

447* **`AGENTS.md`를 인쇄하는 `SessionStart` 훅**: 제거합니다. Claude가 `AGENTS.md`를 직접 읽으면, 훅은 컨텍스트에 두 번째 복사본을 추가합니다.466* **`AGENTS.md`를 인쇄하는 `SessionStart` 훅**: 제거합니다. Claude가 `AGENTS.md`를 직접 읽으면, 훅은 컨텍스트에 두 번째 복사본을 추가합니다.


466ln -s AGENTS.md CLAUDE.md485ln -s AGENTS.md CLAUDE.md

467```486```

468 487 

469명령은 성공 시 출력을 인쇄하지 않습니다. Windows에서 심볼릭 링크를 만들려면 관리자 권한 또는 개발자 모드가 필요하므로 대신 `@AGENTS.md` 가져오기를 사용합니다.488명령은 성공 시 출력을 인쇄하지 않습니다. 심볼릭 링크를 가져오기 대신 선택하기 전에 다음 제약 사항을 확인하십시오:

489 

490* **편집**: Claude는 링크를 통해 `CLAUDE.md`를 읽지만, Edit 및 Write 도구는 [심볼릭 링크를 통해 쓰기를 거부](/docs/ko/errors#refusing-after-a-symlink-changed)하며, 거부는 Claude에게 링크의 대상인 `AGENTS.md`를 대신 편집하도록 지시합니다

491* **Windows**: 저장소를 복제하는 사람이 Windows에서 작업하면 `@AGENTS.md` 가져오기를 대신 사용하십시오. 거기서 심볼릭 링크를 만들려면 관리자 권한 또는 개발자 모드가 필요하며, Git은 `core.symlinks`가 활성화되지 않으면 커밋된 심볼릭 링크를 일반 텍스트 파일로 체크아웃합니다. 이는 해당 복제본에 지침 대신 한 줄의 `CLAUDE.md`를 남깁니다

470 492 

471두 방법 모두 다음 세션에서 `/context`를 실행하고 `CLAUDE.md`가 **메모리 파일** 아래에 나타나는지 확인합니다.493두 방법 모두 다음 세션에서 `/context`를 실행하고 `CLAUDE.md`가 **메모리 파일** 아래에 나타나는지 확인합니다.

472 494 


595 617 

596디버깅하려면:618디버깅하려면:

597 619 

598* `/context`를 실행하고 **Memory files** 아래의 목록을 확인하여 CLAUDE.md 및 CLAUDE.local.md 파일이 로드되었는지 확인합니다. `CLAUDE.md` 파일이 여기에 없으면 Claude가 볼 수 없습니다. `AGENTS.md`는 `CLAUDE.md`가 이를 가져올 때만 여기에 나타나며, Claude가 [직접 읽을 때](#where-agents-md-differs-from-claude-md)는 나타나지 않습니다. `/memory`를 사용하여 파일을 열고 편집합니다.620* `/context`를 실행하고 **Memory files** 아래의 목록을 확인하여 CLAUDE.md 및 CLAUDE.local.md 파일이 로드되었는지 확인합니다. `CLAUDE.md` 파일이 여기에 없으면 Claude가 볼 수 없습니다. `/memory`를 사용하여 파일을 열고 편집합니다.

599* 관련 CLAUDE.md가 세션에 대해 로드되는 위치에 있는지 확인합니다([CLAUDE.md 파일을 어디에 배치할지 선택](#choose-where-to-put-claude-md-files) 참조).621* 관련 CLAUDE.md가 세션에 대해 로드되는 위치에 있는지 확인합니다([CLAUDE.md 파일을 어디에 배치할지 선택](#choose-where-to-put-claude-md-files) 참조).

600* 지시사항을 더 구체적으로 작성합니다. "2칸 들여쓰기 사용"이 "코드를 깔끔하게 포맷팅"보다 더 잘 작동합니다.622* 지시사항을 더 구체적으로 작성합니다. "2칸 들여쓰기 사용"이 "코드를 깔끔하게 포맷팅"보다 더 잘 작동합니다.

601* CLAUDE.md 파일 전체에서 충돌하는 지시사항을 찾습니다. 두 파일이 동일한 동작에 대해 다른 지침을 제공하면 Claude가 임의로 하나를 선택할 수 있습니다.623* CLAUDE.md 파일 전체에서 충돌하는 지시사항을 찾습니다. 두 파일이 동일한 동작에 대해 다른 지침을 제공하면 Claude가 임의로 하나를 선택할 수 있습니다.


612 내 AGENTS.md가 로드되지 않습니다634 내 AGENTS.md가 로드되지 않습니다

613</h3>635</h3>

614 636 

615저장소에 `AGENTS.md`가 있고 Claude가 그 내용을 알지 못하는 경우, 일반적인 원인은 프로젝트 경로의 어딘가에 있는 `CLAUDE.md`입니다. 기본적으로 Claude는 작업 디렉토리 또는 그 위의 `CLAUDE.md`가 없을 때만 `AGENTS.md`를 읽습니다. 다음 순서대로 확인합니다:637저장소에 `AGENTS.md`가 있고 Claude가 그 내용을 알지 못하는 경우, 일반적인 원인은 프로젝트 경로의 어딘가에 있는 `CLAUDE.md`입니다. 기본적으로 Claude는 작업 디렉토리 또는 그 위의 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없을 때만 `AGENTS.md`를 읽습니다. 다음 순서대로 확인합니다:

616 638 

6171. 작업 디렉토리 또는 그 위의 디렉토리에서 `CLAUDE.md`, `.claude/CLAUDE.md`, 또는 `CLAUDE.local.md`를 찾습니다. `~/.claude/CLAUDE.md`는 제외합니다. 찾은 경우, Claude는 **Project instructions**를 `claude-md-and-agents-md`로 설정하지 않는 한 `AGENTS.md` 대신 이를 읽습니다.6391. 작업 디렉토리 또는 그 위의 디렉토리에서 `CLAUDE.md`, `.claude/CLAUDE.md`, 또는 `CLAUDE.local.md`를 찾습니다. `~/.claude/CLAUDE.md`는 제외합니다. 찾은 경우, Claude는 **Project instructions**를 `claude-md-and-agents-md`로 설정하지 않는 한 `AGENTS.md` 대신 이를 읽습니다.

6182. `claude --version`을 실행하고 v2.1.277 이상인지 확인합니다.6402. `claude --version`을 실행하고 v2.1.277 이상인지 확인합니다.

6193. 세션이 [AGENTS.md를 로드할 수 없는](#when-agents-md-support-is-unavailable) 세션인지 확인합니다. 예를 들어 타사 제공자의 세션이거나 원격 분석이 비활성화된 세션입니다.6413. 세션이 [AGENTS.md를 로드할 수 없는](#when-agents-md-support-is-unavailable) 세션인지 확인합니다. 예를 들어 타사 제공자의 세션이거나 원격 분석이 비활성화된 세션입니다.

6204. 세션에서 `/config`를 입력하여 설정 패널을 열고 **Project instructions**가 `claude-md` 또는 `managed-only`로 설정되지 않았는지 확인합니다. 설정이 전혀 표시되지 않으면 세션이 [AGENTS.md를 로드할 수 없는](#when-agents-md-support-is-unavailable) 세션입니다.6424. 세션에서 `/config`를 입력하여 설정 패널을 열고 **Project instructions**가 `claude-md` 또는 `managed-only`로 설정되지 않았는지 확인합니다. 설정이 전혀 표시되지 않으면 세션이 [AGENTS.md를 로드할 수 없는](#when-agents-md-support-is-unavailable) 세션입니다.

621 643 

622Claude가 `AGENTS.md`를 직접 읽을 때 `/memory` 또는 `/context`에서 `AGENTS.md`를 볼 수 없으므로, `AGENTS.md loaded` 줄을 확인하거나 Claude에게 프로젝트 지시사항이 무엇인지 물어봅니다. 찾은 `CLAUDE.md`를 유지하거나 세션이 `AGENTS.md`를 로드할 수 없는 경우, [`AGENTS.md` 옆에 이를 가져오는 `CLAUDE.md`를 추가합니다](#share-one-file-with-other-coding-tools).644Claude가 `AGENTS.md`를 읽었는지 확인하려면 `/memory`를 실행하고 목록에서 해당 경로를 찾습니다.

645 

646v2.1.280 이전에는 `/memory` 및 `/context`가 Claude가 직접 읽은 `AGENTS.md`를 나열하지 않았습니다. 해당 버전에서는 대신 Claude에게 프로젝트 지시사항이 무엇인지 물어봅니다.

647 

648찾은 `CLAUDE.md`를 유지하거나 세션이 `AGENTS.md`를 로드할 수 없는 경우, [`AGENTS.md` 옆에 이를 가져오는 `CLAUDE.md`를 추가합니다](#share-one-file-with-other-coding-tools).

623 649 

624<h3 id="i-don’t-know-what-auto-memory-saved">650<h3 id="i-don’t-know-what-auto-memory-saved">

625 자동 메모리가 저장한 내용을 모릅니다651 자동 메모리가 저장한 내용을 모릅니다

model-config.md +35 −37

Details

47 47 

48| 공급자 | `opus` | `sonnet` |48| 공급자 | `opus` | `sonnet` |

49| :------------------------------------------------- | :------- | :--------- |49| :------------------------------------------------- | :------- | :--------- |

50| Anthropic API | Opus 5 | Sonnet 5 |50| Anthropic API | Opus 5.5 | Sonnet 5 |

51| [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws) | Opus 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 | Sonnet 4.5 |52| Amazon Bedrock, Google Cloud의 Agent Platform | Opus 5.5 | Sonnet 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |

54 54 

55<span id="fable-alias-resolution" />55<span id="fable-alias-resolution" />


60 60 

61별칭이 이전 모델로 확인되는 경우, 전체 모델 이름을 명시적으로 선택하거나 `ANTHROPIC_DEFAULT_OPUS_MODEL` 또는 `ANTHROPIC_DEFAULT_SONNET_MODEL`을 설정하여 최신 모델을 사용할 수 있습니다.61별칭이 이전 모델로 확인되는 경우, 전체 모델 이름을 명시적으로 선택하거나 `ANTHROPIC_DEFAULT_OPUS_MODEL` 또는 `ANTHROPIC_DEFAULT_SONNET_MODEL`을 설정하여 최신 모델을 사용할 수 있습니다.

62 62 

63v2.1.219 이전에는 `opus`가 Anthropic API에서 v2.1.154부터 Opus 4.8로 확인되었고, Claude Platform on AWS, Amazon Bedrock, Google Cloud의 Agent Platform에서 v2.1.207부터 확인되었습니다. v2.1.207 이전에는 `opus`가 Claude Platform on AWS에서 Opus 4.7로, Amazon Bedrock 및 Google Cloud의 Agent Platform에서 Opus 4.6으로 확인되었습니다.63v2.1.280 이전에는 `opus`가 Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud의 Agent Platform에서 v2.1.219부터 Opus 5로 확인되었습니다. v2.1.219 이전에는 `opus`가 Anthropic API에서 v2.1.154부터 Opus 4.8로 확인되었고, Claude Platform on AWS, Amazon Bedrock, Google Cloud의 Agent Platform에서 v2.1.207부터 확인되었습니다. v2.1.207 이전에는 `opus`가 Claude Platform on AWS에서 Opus 4.7로, Amazon Bedrock 및 Google Cloud의 Agent Platform에서 Opus 4.6으로 확인되었습니다.

64 64 

65별칭은 공급자의 권장 버전을 가리키며 시간이 지남에 따라 업데이트됩니다. 특정 버전으로 고정하려면 전체 모델 이름(예: `claude-opus-5`)을 사용하거나 `ANTHROPIC_DEFAULT_OPUS_MODEL`과 같은 해당 환경 변수를 설정합니다.65별칭은 공급자의 권장 버전을 가리키며 시간이 지남에 따라 업데이트됩니다. 특정 버전으로 고정하려면 전체 모델 이름(예: `claude-opus-5-5`)을 사용하거나 `ANTHROPIC_DEFAULT_OPUS_MODEL`과 같은 해당 환경 변수를 설정합니다.

66 66 

67<Note>67<Note>

68 Opus 5는 Claude Code v2.1.219 이상이 필요합니다. Sonnet 5는 v2.1.197 이상이 필요합니다. Opus 4.8은 v2.1.154 이상이 필요합니다. `claude update`를 실행하여 업그레이드합니다.68 Opus 5.5는 Claude Code v2.1.280 이상이 필요합니다. Opus 5는 v2.1.219 이상이 필요합니다. Sonnet 5는 v2.1.197 이상이 필요합니다. `claude update`를 실행하여 업그레이드합니다.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


94 Fable 5.1은 Claude Code v2.1.257 이상이 필요합니다. 이전 버전의 요청이 실패하면 [Claude Code는 이 모델을 지원하지 않습니다](/docs/ko/errors#claude-code-does-not-support-this-model)를 참조하십시오. `claude update`를 실행하여 업그레이드합니다. 영점 데이터 보존 하에서의 가용성은 [ZDR 하의 모델 가용성](/docs/ko/zero-data-retention#model-availability-under-zdr)을 참조하십시오.94 Fable 5.1은 Claude Code v2.1.257 이상이 필요합니다. 이전 버전의 요청이 실패하면 [Claude Code는 이 모델을 지원하지 않습니다](/docs/ko/errors#claude-code-does-not-support-this-model)를 참조하십시오. `claude update`를 실행하여 업그레이드합니다. 영점 데이터 보존 하에서의 가용성은 [ZDR 하의 모델 가용성](/docs/ko/zero-data-retention#model-availability-under-zdr)을 참조하십시오.

95</Note>95</Note>

96 96 

97Anthropic API에서 `/model` 선택기는 서버가 조직에 대해 사용 가능하다고 보고한 후에만 Fable 모델을 나열합니다. `/model fable` 또는 Fable 모델 ID를 입력하면 Claude Code는 서버와 직접 가용성을 확인하므로 선택기가 항목을 나열하지 않아도 입력된 선택이 성공할 수 있습니다.97Anthropic API에서 `/model` 선택기는 [`availableModels`](#restrict-model-selection) 또는 [조직 모델 제한](#organization-model-restrictions)이 이를 제외하지 않으면 Fable 모델을 나열합니다. 조직이 [영점 데이터 보존](/docs/ko/zero-data-retention#model-availability-under-zdr) 하에서와 같이 Fable을 전혀 사용할 수 없는 경우, 행은 선택기에서 회색으로 표시되며 이유에 대한 참고 사항이 있습니다.

98 98 

99<h4 id="fable-and-usage-credits">99<h4 id="fable-and-usage-credits">

100 Fable 및 사용 크레딧100 Fable 및 사용 크레딧


138 138 

139`/model <name>`을 직접 입력하는 것은 `Enter`처럼 동작합니다. 이 세션에만 전환하려면 `/model`로 선택기를 열고 모델의 행에서 `s`를 누릅니다.139`/model <name>`을 직접 입력하는 것은 `Enter`처럼 동작합니다. 이 세션에만 전환하려면 `/model`로 선택기를 열고 모델의 행에서 `s`를 누릅니다.

140 140 

141`/model`로 설정된 모델은 [비대화형 모드](/docs/ko/headless)에서 `-p` 플래그를 사용하면 현재 세션에만 적용되며 기본값으로 저장되지 않습니다. `/model`은 해당 모드에서 Claude Code v2.1.205 이상이 필요합니다. 프로젝트 및 관리 설정은 여전히 우선순위를 가지며 다음 시작 시 다시 적용됩니다. [조직 기본 모델](#organization-default-model)이 관리자에 의해 사용자 선택을 재정의하도록 구성된 경우 다음 시작 시 다시 적용됩니다.141`/model`로 설정된 모델은 [주 대화의 모델을 상속하는 서브에이전트](/docs/ko/sub-agents#choose-a-model)에도 도달합니다. Claude Code는 Claude가 시작할 때 세션이 사용 중인 모델에서 해당 모델을 확인하기 때문입니다. 연구 또는 테스트 실행을 하나에 위임하기 전에 Opus로 전환하면 해당 작업도 Opus에서 실행됩니다. 사용자 정의 서브에이전트를 더 작은 모델에 유지하려면 해당 정의에서 `model`을 설정합니다.

142 

143[비대화형 모드](/docs/ko/headless)에서 `-p` 플래그를 사용하여 `/model`로 모델을 설정하면 현재 세션에만 적용되며 기본값으로 저장되지 않습니다. `/model`은 해당 모드에서 Claude Code v2.1.205 이상이 필요합니다. 프로젝트 및 관리 설정은 여전히 우선순위를 가지며 다음 시작 시 다시 적용됩니다. [조직 기본 모델](#organization-default-model)이 관리자에 의해 사용자 선택을 재정의하도록 구성된 경우 다음 시작 시 다시 적용됩니다.

142 144 

143v2.1.144부터 v2.1.152까지 `/model`은 현재 세션에만 적용되었고 선택기의 `d`는 기본값을 저장했습니다.145v2.1.144부터 v2.1.152까지 `/model`은 현재 세션에만 적용되었고 선택기의 `d`는 기본값을 저장했습니다.

144 146 


443 445 

444`default`의 동작은 계정 유형에 따라 달라집니다:446`default`의 동작은 계정 유형에 따라 달라집니다:

445 447 

446* **Max, Team Premium, Enterprise, Anthropic API**: Opus 5로 기본 설정됨448* **Pro, Max, Team, Enterprise, Anthropic API**: Opus 5.5로 기본 설정됨

447* **AWS의 Claude Platform, Amazon Bedrock, Google Cloud의 Agent Platform**: Opus 5로 기본 설정됨449* **AWS의 Claude Platform, Amazon Bedrock, Google Cloud의 Agent Platform**: Opus 5.5로 기본 설정됨

448* **Pro 및 Team Standard**: Sonnet 5로 기본 설정됨

449* **Microsoft Foundry**: Sonnet 4.5로 기본 설정됨450* **Microsoft Foundry**: Sonnet 4.5로 기본 설정됨

450 451 

451v2.1.219 이전에는 `default`가 Anthropic API에서 Opus 4.8로, v2.1.154부터 Max, Team Premium, Enterprise 종량제에서 Opus 4.8로, v2.1.207부터 AWS의 Claude Platform, Amazon Bedrock, Google Cloud의 Agent Platform에서 Opus 4.8로 확인되었습니다. v2.1.207 이전에는 `default`가 AWS의 Claude Platform에서 Opus 4.7로, Amazon Bedrock 및 Google Cloud의 Agent Platform에서 Sonnet 4.5로 확인되었습니다.452v2.1.280 이전에는 `default`가 Pro 및 Team Standard에서 Sonnet 5로, Max, Team Premium, Enterprise, Anthropic API, AWS의 Claude Platform, Amazon Bedrock, Google Cloud의 Agent Platform에서 v2.1.219부터 Opus 5로 확인되었습니다. v2.1.219 이전에는 `default`가 Anthropic API, Max, Team Premium, Enterprise 종량제에서 v2.1.154부터 Opus 4.8로, AWS의 Claude Platform, Amazon Bedrock, Google Cloud의 Agent Platform에서 v2.1.207부터 Opus 4.8로 확인되었습니다. v2.1.207 이전에는 `default`가 AWS의 Claude Platform에서 Opus 4.7로, Amazon Bedrock 및 Google Cloud의 Agent Platform에서 Sonnet 4.5로 확인되었습니다.

452 453 

453관리자가 [조직 기본 모델](#organization-default-model)을 설정한 경우, `default`는 위의 계정 유형 기본값 대신 해당 모델로 확인됩니다. Claude Code v2.1.196 이상이 필요합니다. `default`는 [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions)로 설정한 모델로도 확인될 수 있으며, 해당 섹션에 나열된 조건 하에서 확인됩니다.454관리자가 [조직 기본 모델](#organization-default-model)을 설정한 경우, `default`는 위의 계정 유형 기본값 대신 해당 모델로 확인됩니다. Claude Code v2.1.196 이상이 필요합니다. `default`는 [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions)로 설정한 모델로도 확인될 수 있으며, 해당 섹션에 나열된 조건 하에서 확인됩니다.

454 455 


512 자동 모델 폴백513 자동 모델 폴백

513</h3>514</h3>

514 515 

515이 섹션은 Fable 모델 및 Opus 5의 콘텐츠 기반 폴백을 다룹니다. 모델이 과부하 상태이거나 사용 불가능할 때의 가용성 기반 폴백은 [폴백 모델 체인](#fallback-model-chains)을 참조하세요.516이 섹션은 Fable 모델, Opus 5.5, Opus 5의 콘텐츠 기반 폴백을 다룹니다. 모델이 과부하 상태이거나 사용 불가능할 때의 가용성 기반 폴백은 [폴백 모델 체인](#fallback-model-chains)을 참조하세요.

516 517 

517Fable 모델 및 Opus 5는 안전 분류기로 실행되며, 대부분 사이버 보안 및 생물학 콘텐츠에 플래그를 지정합니다. 분류기가 요청에 플래그를 지정하고 플래그된 카테고리에 폴백 모델이 있는 경우, Claude Code는 해당 모델에서 요청을 다시 실행하고 기록에 알림을 표시합니다. 이 두 카테고리의 경우 폴백 모델은 거부한 모델에 따라 달라집니다:518Fable 모델, Opus 5.5, Opus 5는 안전 분류기로 실행되며, 대부분 사이버 보안 및 생물학 콘텐츠에 플래그를 지정합니다. 분류기가 요청에 플래그를 지정하고 플래그된 카테고리에 폴백 모델이 있는 경우, Claude Code는 해당 모델에서 요청을 다시 실행하고 기록에 알림을 표시합니다. 이 두 카테고리의 경우 폴백 모델은 거부한 모델에 따라 달라집니다:

518 519 

519* **Fable 5.1 및 Fable 5**: 생물학 플래그 요청은 Opus 5에서 다시 실행되고, 사이버 보안 플래그 요청은 Opus 4.8에서 다시 실행됩니다.520* **Fable 5.1, Fable 5, Opus 5.5**: 생물학 플래그 요청은 Opus 5에서 다시 실행되고, 사이버 보안 플래그 요청은 Opus 4.8에서 다시 실행됩니다.

520* **Opus 5**: 사이버 보안 플래그 요청은 Opus 4.8에서 다시 실행됩니다. 생물학 플래그 요청은 폴백 모델이 없기 때문에 거부로 끝나며, Opus 5는 자체 생물학 분류기를 실행합니다.521* **Opus 5**: 사이버 보안 플래그 요청은 Opus 4.8에서 다시 실행됩니다. 생물학 플래그 요청은 폴백 모델이 없기 때문에 거부로 끝나며, Opus 5는 자체 생물학 분류기를 실행합니다.

521 522 

522Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서 Claude Code는 배포를 통해 이러한 대상을 확인하고, `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하면 폴백이 있는 카테고리가 고정된 모델에서 다시 실행됩니다. [Bedrock, Agent Platform, Foundry에서 폴백 활성화](#enable-fallback-on-bedrock-agent-platform-and-foundry)를 참조하세요.523Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서 Claude Code는 배포를 통해 이러한 대상을 확인하고, `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하면 폴백이 있는 카테고리가 고정된 모델에서 다시 실행됩니다. [Bedrock, Agent Platform, Foundry에서 폴백 활성화](#enable-fallback-on-bedrock-agent-platform-and-foundry)를 참조하세요.


555 556 

556[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry)에서 모델 ID는 제공자별이므로 자동 폴백은 Claude Code가 관련된 두 모델을 식별할 수 있을 때만 작동합니다:557[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry)에서 모델 ID는 제공자별이므로 자동 폴백은 Claude Code가 관련된 두 모델을 식별할 수 있을 때만 작동합니다:

557 558 

558* Claude Code는 현재 모델을 폴백 소스로 인식해야 합니다. Fable 5.1 및 Fable 5는 모델 ID에 `claude-fable-5`가 포함되거나, `ANTHROPIC_DEFAULT_FABLE_MODEL`의 값과 일치하거나, [`modelOverrides`](#override-model-ids-per-version)로 매핑될 때 인식됩니다. Opus 5는 제공자 모델 ID 또는 [`modelOverrides`](#override-model-ids-per-version) 매핑으로 인식됩니다.559* Claude Code는 현재 모델을 폴백 소스로 인식해야 합니다. Fable 5.1 및 Fable 5는 모델 ID에 `claude-fable-5`가 포함되거나, `ANTHROPIC_DEFAULT_FABLE_MODEL`의 값과 일치하거나, [`modelOverrides`](#override-model-ids-per-version)로 매핑될 때 인식됩니다. Opus 5.5 및 Opus 5는 제공자 모델 ID 또는 [`modelOverrides`](#override-model-ids-per-version) 매핑으로 인식됩니다.

559* 폴백 모델은 배포에서 확인되어야 합니다. `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하면 플래그된 요청이 폴백이 있는 모든 카테고리에 대해 해당 모델에서 다시 실행됩니다. Opus 5의 생물학 플래그는 여전히 거부로 끝납니다. 설정하지 않으면 사이버 보안 플래그 요청이 제공자의 모델 목록에서 Opus 4.8 항목에서 다시 실행되고, Fable 모델의 생물학 플래그 요청이 Opus 5 항목에서 다시 실행됩니다.560* 폴백 모델은 배포에서 확인되어야 합니다. `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하면 플래그된 요청이 폴백이 있는 모든 카테고리에 대해 해당 모델에서 다시 실행됩니다. Opus 5의 생물학 플래그는 여전히 거부로 끝납니다. 설정하지 않으면 사이버 보안 플래그 요청이 제공자의 모델 목록에서 Opus 4.8 항목에서 다시 실행되고, Fable 모델 또는 Opus 5.5의 생물학 플래그 요청이 Opus 5 항목에서 다시 실행됩니다.

560 561 

561모델을 식별할 수 없으면 Claude Code는 자동으로 전환하지 않습니다. 플래그된 요청은 거부 메시지로 끝나고 [`/model`](#setting-your-model)로 모델을 전환하고 재시도할 수 있습니다. `ANTHROPIC_DEFAULT_FABLE_MODEL`을 Fable 모델 ID로 설정하면 Fable 인식이 활성화됩니다. `ANTHROPIC_DEFAULT_OPUS_MODEL`을 Opus 모델 ID로 설정하면 플래그된 카테고리에 폴백 대상이 제공되며, 핀이 Opus 제품군 외의 모델 또는 거부한 모델을 지정하지 않는 한 Claude Code는 전환하지 않으며 거부가 유지됩니다.562모델을 식별할 수 없으면 Claude Code는 자동으로 전환하지 않습니다. 플래그된 요청은 거부 메시지로 끝나고 [`/model`](#setting-your-model)로 모델을 전환하고 재시도할 수 있습니다. `ANTHROPIC_DEFAULT_FABLE_MODEL`을 Fable 모델 ID로 설정하면 Fable 인식이 활성화됩니다. `ANTHROPIC_DEFAULT_OPUS_MODEL`을 Opus 모델 ID로 설정하면 플래그된 카테고리에 폴백 대상이 제공되며, 핀이 Opus 제품군 외의 모델 또는 거부한 모델을 지정하지 않는 한 Claude Code는 전환하지 않으며 거부가 유지됩니다.

562 563 


564 보안 연구 및 생물학 워크로드565 보안 연구 및 생물학 워크로드

565</h4>566</h4>

566 567 

567공격적인 보안 또는 생물학의 워크로드(침투 테스트, Capture the Flag(CTF) 연습, 생물학 인접 코드베이스 포함)는 자주 폴백을 트리거하며, 종종 첫 번째 요청에서 트리거됩니다. Fable 5.1 또는 Fable 5의 실질적인 생물학 작업의 경우, Claude Code는 첫 번째 플래그된 요청에서 세션을 Opus 5로 이동하고, 이후 생물학 플래그 요청은 Opus 5에서 거부로 끝나며, Opus 5는 생물학 폴백이 없기 때문입니다. Opus 5에서는 첫 번째 플래그된 요청부터 이러한 거부를 받습니다.568공격적인 보안 또는 생물학의 워크로드(침투 테스트, Capture the Flag(CTF) 연습, 생물학 인접 코드베이스 포함)는 자주 폴백을 트리거하며, 종종 첫 번째 요청에서 트리거됩니다. Fable 5.1, Fable 5, Opus 5.5의 실질적인 생물학 작업의 경우, Claude Code는 첫 번째 플래그된 요청에서 세션을 Opus 5로 이동하고, 이후 생물학 플래그 요청은 Opus 5에서 거부로 끝나며, Opus 5는 생물학 폴백이 없기 때문입니다. Opus 5에서는 첫 번째 플래그된 요청부터 이러한 거부를 받습니다.

568 569 

569이는 이러한 도메인에 대한 예상 라우팅이며 계정 플래그가 아닙니다. 조직이 이 작업을 위해 Fable 클래스 기능이 필요한 경우 Anthropic 계정 팀에 신뢰할 수 있는 액세스 프로그램에 대해 문의하세요.570이는 이러한 도메인에 대한 예상 라우팅이며 계정 플래그가 아닙니다. 조직이 이 작업을 위해 Fable 클래스 기능이 필요한 경우 Anthropic 계정 팀에 신뢰할 수 있는 액세스 프로그램에 대해 문의하세요.

570 571 


577사용 가능한 노력 수준은 모델에 따라 다릅니다. 여기에 나열되지 않은 모델은 노력을 지원하지 않습니다:578사용 가능한 노력 수준은 모델에 따라 다릅니다. 여기에 나열되지 않은 모델은 노력을 지원하지 않습니다:

578 579 

579| 모델 | 수준 |580| 모델 | 수준 |

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

581| Fable 5.1 및 Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |582| Fable 5.1 및 Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

582| 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` |

583| Opus 4.6 및 Sonnet 4.6 | `low`, `medium`, `high`, `max` |584| Opus 4.6 및 Sonnet 4.6 | `low`, `medium`, `high`, `max` |

584 585 

585활성 모델이 지원하지 않는 수준을 설정하면 Claude Code는 설정한 수준 이하의 지원되는 최고 수준으로 폴백합니다. 예를 들어 `xhigh`는 Opus 4.6에서 `high`로 실행됩니다. 조직은 모델에 사용 가능한 수준을 제한할 수도 있습니다. [조직 노력 제한](#organization-effort-limits)을 참조하세요.586활성 모델이 지원하지 않는 수준을 설정하면 Claude Code는 설정한 수준 이하의 지원되는 최고 수준으로 폴백합니다. 예를 들어 `xhigh`는 Opus 4.6에서 `high`로 실행됩니다. 조직은 모델에 사용 가능한 수준을 제한할 수도 있습니다. [조직 노력 제한](#organization-effort-limits)을 참조하세요.


587[`ultracode`](/docs/ko/settings-reference#ultracode) 설정이 꺼져 있으면 Claude Code는 세션의 노력 수준을 이 순서로 확인하며, 적용되는 첫 번째를 사용합니다:588[`ultracode`](/docs/ko/settings-reference#ultracode) 설정이 꺼져 있으면 Claude Code는 세션의 노력 수준을 이 순서로 확인하며, 적용되는 첫 번째를 사용합니다:

588 589 

5891. 명시적 선택: [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ko/env-vars#variables) 환경 변수, `--effort`로 시작, 또는 세션의 `/effort` ([비대화형 `/effort`는 더 좁은 효과를 가짐](#non-interactive-effort))5901. 명시적 선택: [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ko/env-vars#variables) 환경 변수, `--effort`로 시작, 또는 세션의 `/effort` ([비대화형 `/effort`는 더 좁은 효과를 가짐](#non-interactive-effort))

5902. 모델의 기본 노력, Fable 5, Opus 4.8, Opus 4.7에서: 이러한 모델 중 하나를 처음 실행할 때부터 Claude Code는 설정이 다른 수준을 확인하더라도 해당 모델의 기본 노력을 세션 전체에 유지합니다. Opus 5 및 Fable 5.1은 이러한 유지가 없습니다. 설정한 수준이 유지를 종료하는지 여부는 설정 방법에 따라 다릅니다. 예를 들어:5912. 설정: 모델에 대해 저장한 수준 또는 [`effortLevel`](/docs/ko/settings-reference#effortlevel) 키, 설정 파일 간 우선순위는 [`modelSettings`](/docs/ko/settings-reference#modelsettings)에 명시됨

591 * **유지 종료**: `/effort` 슬라이더에서 `Enter`로 대화형으로 수준을 확인하거나 `/model` 선택기에서 또는 `/effort` 후에 입력한 수준으로, 또는 연결된 장치의 [원격 제어](/docs/ko/remote-control#what-connected-devices-see) 노력 제어에서 수준을 선택5923. 모델의 기본 노력: 노력을 지원하는 모든 모델에서 `high`, Opus 5.5는 `medium`으로 기본값, Opus 4.7은 `xhigh`로 기본값, 조직이 [조직 기본 모델](#organization-default-model)에 대한 기본 노력 수준을 설정할 때 해당 모델을 실행할 때 해당 수준이 기본값

592 * **이후 세션을 위해 유지 유지**: 시작 시 `--effort`, 또는 `/effort` 슬라이더 또는 `/model` 선택기에서 `s`593 

5933. 설정: 모델에 대해 저장한 수준 또는 [`effortLevel`](/docs/ko/settings-reference#effortlevel) 키, 설정 파일 간 우선순위는 [`modelSettings`](/docs/ko/settings-reference#modelsettings)에 명시됨594Opus 5.5는 위의 소스 중 하나가 수준을 설정하지 않는 한 `medium`에서 시작하며, 사용자 설정 파일의 최상위 `effortLevel`은 Opus 5.5에 계산되지 않습니다. 해당 키는 Claude Code가 모델별로 수준을 저장하기 전에 `/effort`가 작성한 이전 형식입니다: 이전에 적용된 위치(Opus 5, Fable 5.1, 이전 모델)에서 계속 적용되는 반면, Opus 5.5 및 이후에 출시된 모델은 `/effort` 또는 `/model` 선택기로 수준을 선택할 때까지 자체 기본값에서 시작합니다. 프로젝트, 로컬, 관리되는 설정의 최상위 `effortLevel` 또는 `--settings`로 전달된 것은 모든 모델에 적용됩니다.

5944. 모델의 기본 노력: 노력을 지원하는 모든 모델에서 `high`, Opus 4.7은 `xhigh`로 기본값, 조직이 [조직 기본 모델](#organization-default-model)에 대한 기본 노력 수준을 설정할 때 해당 모델을 실행할 때 해당 수준이 기본값

595 595 

596기계에서 대화형 세션에서 `low`, `medium`, `high`, `xhigh`를 설정할 때 확인 방법으로 지속 기간을 선택합니다:596기계에서 대화형 세션에서 `low`, `medium`, `high`, `xhigh`를 설정할 때 확인 방법으로 지속 기간을 선택합니다:

597 597 


608 608 

609<span id="non-interactive-effort" />609<span id="non-interactive-effort" />

610 610 

611[`-p` 실행](/docs/ko/headless)에서 `/effort`로 수준을 설정할 때 Claude Code는 이를 해당 세션에만 적용하고 기본값으로 저장하지 않습니다. Fable 5, Opus 4.8, Opus 4.7에서 해당 수준은 모델의 기본 노력에 대한 유지를 종료하거나 세션에 대해 재정의하지도 않습니다. 해당 유지가 적용되는 동안 비대화형 `/effort`는 `Not applied`를 보고하므로 대신 시작 시 `--effort`를 전달하세요.611[`-p` 실행](/docs/ko/headless)에서 `/effort`로 수준을 설정할 때 Claude Code는 이를 해당 세션에만 적용하고 기본값으로 저장하지 않습니다.

612 612 

613`/effort` 메뉴는 또한 `ultracode`를 제공합니다. Ultracode는 모델 노력 수준이 아닌 Claude Code 설정입니다: 모델에 `xhigh`를 보내고 추가로 Claude가 실질적인 작업에 대해 [동적 워크플로우](/docs/ko/workflows)를 조율하도록 합니다. 지속적으로 설정할 수 있는 위치는 [`ultracode`](/docs/ko/settings-reference#ultracode) 설정을 참조하세요.613`/effort` 메뉴는 또한 `ultracode`를 제공합니다. Ultracode는 모델 노력 수준이 아닌 Claude Code 설정입니다: 모델에 `xhigh`를 보내고 추가로 Claude가 실질적인 작업에 대해 [동적 워크플로우](/docs/ko/workflows)를 조율하도록 합니다. 지속적으로 설정할 수 있는 위치는 [`ultracode`](/docs/ko/settings-reference#ultracode) 설정을 참조하세요.

614 614 


642| 수준 | 사용 시기 |642| 수준 | 사용 시기 |

643| :---------- | :------------------------------------------------------------------------------ |643| :---------- | :------------------------------------------------------------------------------ |

644| `low` | 짧고 범위가 정해진 지연 시간에 민감하지만 지능에 민감하지 않은 작업을 위해 예약 |644| `low` | 짧고 범위가 정해진 지연 시간에 민감하지만 지능에 민감하지 않은 작업을 위해 예약 |

645| `medium` | 일부 지능을 교환할 수 있는 비용에 민감한 작업의 토큰 사용 감소 |645| `medium` | 일부 지능을 교환할 수 있는 비용에 민감한 작업의 토큰 사용 감소. Opus 5.5의 기본값 |

646| `high` | 토큰 사용과 지능의 균형. Opus 4.7을 제외한 모든 모델의 기본값 |646| `high` | 토큰 사용과 지능의 균형. Opus 5.5 및 Opus 4.7을 제외한 모든 모델의 기본값 |

647| `xhigh` | 더 높은 토큰 지출로 더 깊은 추론. Opus 4.7의 기본값 |647| `xhigh` | 더 높은 토큰 지출로 더 깊은 추론. Opus 4.7의 기본값 |

648| `max` | 까다로운 작업의 성능을 개선할 수 있지만 수익 감소를 보일 수 있으며 과도한 생각이 발생하기 쉽습니다. 광범위하게 채택하기 전에 테스트하세요. |648| `max` | 까다로운 작업의 성능을 개선할 수 있지만 수익 감소를 보일 수 있으며 과도한 생각이 발생하기 쉽습니다. 광범위하게 채택하기 전에 테스트하세요. |

649| `ultracode` | 각 실질적인 작업에 대해 `xhigh` 메시지별 추론으로 [동적 워크플로우](/docs/ko/workflows)를 계획하는 Claude Code 설정 |649| `ultracode` | 각 실질적인 작업에 대해 `xhigh` 메시지별 추론으로 [동적 워크플로우](/docs/ko/workflows)를 계획하는 Claude Code 설정 |


669* **`--effort` 플래그**: Claude Code를 시작할 때 단일 세션에 대해 설정하려면 수준 이름을 전달합니다.669* **`--effort` 플래그**: Claude Code를 시작할 때 단일 세션에 대해 설정하려면 수준 이름을 전달합니다.

670* **환경 변수**: `CLAUDE_CODE_EFFORT_LEVEL`을 수준 이름 또는 `auto`로 설정합니다.670* **환경 변수**: `CLAUDE_CODE_EFFORT_LEVEL`을 수준 이름 또는 `auto`로 설정합니다.

671* **설정**: [`modelSettings`](/docs/ko/settings-reference#modelsettings)에서 모델별 수준을 설정하거나, [`effortLevel`](/docs/ko/settings-reference#effortlevel)을 `low`, `medium`, `high`, `xhigh`로 설정하여 모델 없는 모델의 기본값으로 설정합니다. `max`는 두 키에서 허용되지 않으며, `ultracode`는 자체 [`ultracode`](/docs/ko/settings-reference#ultracode) 키를 가집니다.671* **설정**: [`modelSettings`](/docs/ko/settings-reference#modelsettings)에서 모델별 수준을 설정하거나, [`effortLevel`](/docs/ko/settings-reference#effortlevel)을 `low`, `medium`, `high`, `xhigh`로 설정하여 모델 없는 모델의 기본값으로 설정합니다. `max`는 두 키에서 허용되지 않으며, `ultracode`는 자체 [`ultracode`](/docs/ko/settings-reference#ultracode) 키를 가집니다.

672* **연결된 장치에서**: [원격 제어](/docs/ko/remote-control#what-connected-devices-see) 세션에서 전화 또는 브라우저의 노력 제어에서 수준을 선택합니다. 수준은 현재 세션에만 적용되지만 [모델의 기본 노력에 대한 유지](#adjust-effort-level)도 종료합니다. Claude Code v2.1.234 이상이 필요합니다.672* **연결된 장치에서**: [원격 제어](/docs/ko/remote-control#what-connected-devices-see) 세션에서 전화 또는 브라우저의 노력 제어에서 수준을 선택합니다. 수준은 현재 세션에만 적용됩니다. Claude Code v2.1.234 이상이 필요합니다.

673* **스킬 및 subagent frontmatter**: [스킬](/docs/ko/skills#frontmatter-reference) 또는 [subagent](/docs/ko/sub-agents#supported-frontmatter-fields) markdown 파일에서 `effort`를 설정하여 해당 스킬 또는 subagent가 실행될 때 노력 수준을 재정의합니다.673* **스킬 및 subagent frontmatter**: [스킬](/docs/ko/skills#frontmatter-reference) 또는 [subagent](/docs/ko/sub-agents#supported-frontmatter-fields) markdown 파일에서 `effort`를 설정하여 해당 스킬 또는 subagent가 실행될 때 노력 수준을 재정의합니다.

674 674 

675Frontmatter 노력은 해당 스킬 또는 subagent가 활성화될 때 적용되며, 세션 수준을 재정의하지만 환경 변수는 재정의하지 않습니다. [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel) 또는 [조직 노력 제한](#organization-effort-limits)은 여전히 스킬 또는 subagent가 실행되는 수준을 제한합니다.675Frontmatter 노력은 해당 스킬 또는 subagent가 활성화될 때 적용되며, 세션 수준을 재정의하지만 환경 변수는 재정의하지 않습니다. [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel) 또는 [조직 노력 제한](#organization-effort-limits)은 여전히 스킬 또는 subagent가 실행되는 수준을 제한합니다.

676 676 

677Fable 5, Opus 4.8, Opus 4.7에서 frontmatter 노력은 [모델의 기본 노력에 대한 유지](#adjust-effort-level)가 적용되는 동안에도 적용됩니다. v2.1.267 이전에는 유지가 우선하고 Claude Code는 유지가 활성화되는 동안 frontmatter 수준을 무시했습니다.

678 

679[관리되는 설정](/docs/ko/managed-settings)에서 `effortLevel`을 설정하면 Claude Code는 [노력 확인 순서](#adjust-effort-level)의 설정 단계에서 이를 적용하고 사용자는 여전히 `/effort` 또는 `--effort`로 수준을 변경할 수 있습니다. 사용자를 수준 이하로 유지하려면 [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel)을 설정하세요.677[관리되는 설정](/docs/ko/managed-settings)에서 `effortLevel`을 설정하면 Claude Code는 [노력 확인 순서](#adjust-effort-level)의 설정 단계에서 이를 적용하고 사용자는 여전히 `/effort` 또는 `--effort`로 수준을 변경할 수 있습니다. 사용자를 수준 이하로 유지하려면 [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel)을 설정하세요.

680 678 

681노력 슬라이더는 지원되는 모델이 선택되면 `/model`에 나타납니다. 현재 노력 수준은 또한 모델 이름 옆의 세션 헤더에 표시됩니다. 예를 들어 "with low effort"이므로 `/model`을 열지 않고 어떤 설정이 활성화되어 있는지 확인할 수 있습니다. 바닥글은 또한 시작 시 및 변경 시 노력 수준을 간단히 표시합니다.679노력 슬라이더는 지원되는 모델이 선택되면 `/model`에 나타납니다. 현재 노력 수준은 또한 모델 이름 옆의 세션 헤더에 표시됩니다. 예를 들어 "with low effort"이므로 `/model`을 열지 않고 어떤 설정이 활성화되어 있는지 확인할 수 있습니다. 바닥글은 또한 시작 시 및 변경 시 노력 수준을 간단히 표시합니다.


697확장 생각은 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`를 보냅니다.

698 696 

699| 제어 | 설정 방법 |697| 제어 | 설정 방법 |

700| :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |698| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

701| 현재 세션 토글 | macOS에서 `Option+T` 또는 Windows 및 Linux에서 `Alt+T` 누르기 |699| 현재 세션 토글 | macOS에서 `Option+T` 또는 Windows 및 Linux에서 `Alt+T` 누르기 |

702| 전역 기본값 설정 | `/config`를 실행하고 생각 모드를 토글합니다. `~/.claude/settings.json`에 `alwaysThinkingEnabled`로 저장됨 |700| 전역 기본값 설정 | `/config`를 실행하고 생각 모드를 토글합니다. `~/.claude/settings.json`에 `alwaysThinkingEnabled`로 저장됨 |

703| 환경 변수를 통해 비활성화 | [`MAX_THINKING_TOKENS=0`](/docs/ko/env-vars)을 설정하여 Anthropic API에서 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)에만 적용됩니다. |

704 702 

705Fable 모델에서 생각을 끌 수 없습니다. 세션 토글, `alwaysThinkingEnabled`, `MAX_THINKING_TOKENS=0`은 효과가 없으며 Fable 모델은 노력 수준에 따라 단계별로 얼마나 생각할지 결정합니다.703Opus 5.5 또는 Fable 모델에서 생각을 끌 수 없습니다. 세션 토글, `alwaysThinkingEnabled`, `MAX_THINKING_TOKENS=0`은 효과가 없으며 모델은 노력 수준에 따라 단계별로 얼마나 생각할지 결정합니다.

706 704 

707Claude Code는 기본적으로 생각 출력을 축소합니다. 자세한 모드를 토글하고 회색 기울임꼴 텍스트로 추론을 보려면 `Ctrl+O`를 누르세요. Anthropic API의 대화형 세션은 기본적으로 수정된 생각 블록을 받으므로 확장할 때 전체 요약을 사용 가능하게 하려면 [설정](/docs/ko/settings)에서 `showThinkingSummaries: true`를 설정하세요. 축소되거나 수정되었을 때도 생성된 모든 생각 토큰에 대해 청구됩니다.705Claude Code는 기본적으로 생각 출력을 축소합니다. 자세한 모드를 토글하고 회색 기울임꼴 텍스트로 추론을 보려면 `Ctrl+O`를 누르세요. Anthropic API의 대화형 세션은 기본적으로 수정된 생각 블록을 받으므로 확장할 때 전체 요약을 사용 가능하게 하려면 [설정](/docs/ko/settings)에서 `showThinkingSummaries: true`를 설정하세요. 축소되거나 수정되었을 때도 생성된 모든 생각 토큰에 대해 청구됩니다.

708 706 


788자동 압축 윈도우를 설정하지 않으면 Claude Code는 다음 세션을 제외하고 대화가 모델의 컨텍스트 제한에 도달할 때 압축합니다.786자동 압축 윈도우를 설정하지 않으면 Claude Code는 다음 세션을 제외하고 대화가 모델의 컨텍스트 제한에 도달할 때 압축합니다.

789 787 

790* [클라우드 세션](/docs/ko/claude-code-on-the-web)은 대화가 모델 제한에 접근할 때 압축합니다.788* [클라우드 세션](/docs/ko/claude-code-on-the-web)은 대화가 모델 제한에 접근할 때 압축합니다.

791* Sonnet 4.6 및 Opus 4.6([확장 컨텍스트](#extended-context) 없음)은 200K 경계에서 압축하며, Opus 4.8 및 Opus 5도 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry와 같은 200K 컨텍스트 윈도우로 실행할 때 압축합니다.789* Sonnet 4.6 및 Opus 4.6([확장 컨텍스트](#extended-context) 없음)은 200K 경계에서 압축하며, Opus 4.8 및 이후 버전도 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry와 같은 200K 컨텍스트 윈도우로 실행할 때 압축합니다.

792* [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정하면 Sonnet 5 및 Fable 모델과 같이 기본 1M 윈도우가 있는 모델은 200K 경계에서 압축합니다.790* [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정하면 Sonnet 5 및 Fable 모델과 같이 기본 1M 윈도우가 있는 모델은 200K 경계에서 압축합니다.

793* Sonnet 5, Fable 모델, Anthropic API의 Opus 4.7 이상과 같이 기본 1M 윈도우로 실행되는 모델은 윈도우가 채워지기 전에 압축되며, 기본적으로 약 967K 토큰에서 압축됩니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서는 [타사 배포를 위한 모델 고정](#pin-models-for-third-party-deployments)에서 해당 윈도우로 실행되는 모델을 나타냅니다. Sonnet 5를 200K로 예산하는 구성의 경우 [Sonnet 5 컨텍스트 윈도우](#sonnet-5-context-window)를 참조하십시오.791* Sonnet 5, Fable 모델, Anthropic API의 Opus 4.7 이상과 같이 기본 1M 윈도우로 실행되는 모델은 윈도우가 채워지기 전에 압축되며, 기본적으로 약 967K 토큰에서 압축됩니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서는 [타사 배포를 위한 모델 고정](#pin-models-for-third-party-deployments)에서 해당 윈도우로 실행되는 모델을 나타냅니다. Sonnet 5를 200K로 예산하는 구성의 경우 [Sonnet 5 컨텍스트 윈도우](#sonnet-5-context-window)를 참조하십시오.

794* Claude Code가 인식하지 못하는 모델 ID(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭)의 세션은 Claude Code가 ID에 대해 가정하는 컨텍스트 윈도우에서 압축합니다. [게이트웨이 또는 사용자 정의 모델 ID의 윈도우 수정](#correct-the-window-for-a-gateway-or-custom-model-id)을 참조하십시오.792* Claude Code가 인식하지 못하는 모델 ID(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭)의 세션은 Claude Code가 ID에 대해 가정하는 컨텍스트 윈도우에서 압축합니다. [게이트웨이 또는 사용자 정의 모델 ID의 윈도우 수정](#correct-the-window-for-a-gateway-or-custom-model-id)을 참조하십시오.


833이 예시는 게이트웨이 라우팅된 Opus 배포를 선택 가능하게 하기 위해 세 가지 변수를 모두 설정합니다. Claude Code는 시작 시 환경 변수를 읽으므로, `claude`를 시작하기 전에 내보내기를 실행하거나 기존 세션을 다시 시작하여 변수를 적용합니다:831이 예시는 게이트웨이 라우팅된 Opus 배포를 선택 가능하게 하기 위해 세 가지 변수를 모두 설정합니다. Claude Code는 시작 시 환경 변수를 읽으므로, `claude`를 시작하기 전에 내보내기를 실행하거나 기존 세션을 다시 시작하여 변수를 적용합니다:

834 832 

835```bash theme={null}833```bash theme={null}

836export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-5"834export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-5-5"

837export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"835export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"

838export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"836export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"

839```837```


849 847 

850[`availableModels`](#restrict-model-selection)이 설정되어 있을 때는 사용자 정의 모델 ID를 허용 목록에도 포함시켜야 합니다. 그렇지 않으면 Claude Code는 선택기에서 사용자 정의 항목을 필터링하고 다른 제외된 모델처럼 `--model` 선택을 거부합니다.848[`availableModels`](#restrict-model-selection)이 설정되어 있을 때는 사용자 정의 모델 ID를 허용 목록에도 포함시켜야 합니다. 그렇지 않으면 Claude Code는 선택기에서 사용자 정의 항목을 필터링하고 다른 제외된 모델처럼 `--model` 선택을 거부합니다.

851 849 

852`my-gateway/claude-opus-5`와 같이 패밀리 이름을 포함하는 사용자 정의 ID는 해당 패밀리의 특정 항목으로 계산되며 와일드카드를 비활성화하므로, 선택 가능하게 유지하려는 버전도 나열해야 합니다. [병합 동작](#merge-behavior)을 참조하십시오.850`my-gateway/claude-opus-5-5`와 같이 패밀리 이름을 포함하는 사용자 정의 ID는 해당 패밀리의 특정 항목으로 계산되며 와일드카드를 비활성화하므로, 선택 가능하게 유지하려는 버전도 나열해야 합니다. [병합 동작](#merge-behavior)을 참조하십시오.

853 851 

854<h2 id="environment-variables">852<h2 id="environment-variables">

855 환경 변수853 환경 변수

monitoring-usage.md +234 −165

Details

123| `OTEL_LOG_ASSISTANT_RESPONSES` | `assistant_response` 이벤트에서 어시스턴트 응답 텍스트 로깅 활성화 (기본값: 비활성화). 설정되지 않으면 `OTEL_LOG_USER_PROMPTS`의 값으로 폴백됩니다. Claude Code v2.1.193 이상 필요 | `1`로 활성화, `0`으로 수정된 상태 유지 |123| `OTEL_LOG_ASSISTANT_RESPONSES` | `assistant_response` 이벤트에서 어시스턴트 응답 텍스트 로깅 활성화 (기본값: 비활성화). 설정되지 않으면 `OTEL_LOG_USER_PROMPTS`의 값으로 폴백됩니다. Claude Code v2.1.193 이상 필요 | `1`로 활성화, `0`으로 수정된 상태 유지 |

124| `OTEL_LOG_TOOL_DETAILS` | 도구 이벤트 및 추적 스팬 속성에서 도구 매개변수 및 입력 인수 로깅 활성화: Bash 명령, MCP 서버 및 도구 이름, 스킬 이름, 사용자 작성 워크플로우 이름 및 도구 입력. 또한 `user_prompt` 이벤트에서 사용자 정의, 플러그인 및 MCP 명령 이름을 활성화합니다 (기본값: 비활성화). Claude Desktop이 소유한 세션에서 Claude Desktop의 기본 제공 서버의 경우 플래그가 꺼져 있어도 `tool_decision`/`tool_result`에서 `mcp_server_name`/`mcp_tool_name`이 내보내집니다. 예외는 Claude Code v2.1.214 이상 필요 | `1`로 활성화 |124| `OTEL_LOG_TOOL_DETAILS` | 도구 이벤트 및 추적 스팬 속성에서 도구 매개변수 및 입력 인수 로깅 활성화: Bash 명령, MCP 서버 및 도구 이름, 스킬 이름, 사용자 작성 워크플로우 이름 및 도구 입력. 또한 `user_prompt` 이벤트에서 사용자 정의, 플러그인 및 MCP 명령 이름을 활성화합니다 (기본값: 비활성화). Claude Desktop이 소유한 세션에서 Claude Desktop의 기본 제공 서버의 경우 플래그가 꺼져 있어도 `tool_decision`/`tool_result`에서 `mcp_server_name`/`mcp_tool_name`이 내보내집니다. 예외는 Claude Code v2.1.214 이상 필요 | `1`로 활성화 |

125| `OTEL_LOG_TOOL_CONTENT` | [`tool.output` 스팬 이벤트](#tool-output-span-event)에서 도구 콘텐츠 로깅 활성화 (기본값: 비활성화). 스팬 속성은 [자신의 게이트](#new-context-gates) 아래에서 도구 콘텐츠를 전달합니다. [추적](#traces-beta)이 필요합니다. 콘텐츠는 콘텐츠 제한 (기본값 60KB)에서 잘립니다 | `1`로 활성화 |125| `OTEL_LOG_TOOL_CONTENT` | [`tool.output` 스팬 이벤트](#tool-output-span-event)에서 도구 콘텐츠 로깅 활성화 (기본값: 비활성화). 스팬 속성은 [자신의 게이트](#new-context-gates) 아래에서 도구 콘텐츠를 전달합니다. [추적](#traces-beta)이 필요합니다. 콘텐츠는 콘텐츠 제한 (기본값 60KB)에서 잘립니다 | `1`로 활성화 |

126| `OTEL_LOG_MANAGED_SETTINGS` | 수정된 관리 설정 및 수정 전 설정의 SHA-256 다이제스트를 [관리 설정 해결됨](#managed-settings-resolved-event) 이벤트에 추가합니다 (기본값: 비활성화). 프로젝트 또는 로컬 설정의 값은 이를 켜지 않습니다. Claude Code v2.1.274 이상 필요 | `1`로 활성화 |

126| `OTEL_LOG_RAW_API_BODIES` | 전체 Anthropic Messages API 요청 및 응답 JSON을 `api_request_body` / `api_response_body` 로그 이벤트로 내보냅니다 (기본값: 비활성화). 본문에는 전체 대화 기록이 포함됩니다. 이를 활성화하면 `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` 및 `OTEL_LOG_TOOL_CONTENT`가 공개할 모든 것에 동의하는 것을 의미합니다 | `1`로 콘텐츠 제한 (기본값 60KB)에서 잘린 인라인 본문, 또는 `file:<dir>`로 디스크의 잘리지 않은 본문과 이벤트의 `body_ref` 포인터 |127| `OTEL_LOG_RAW_API_BODIES` | 전체 Anthropic Messages API 요청 및 응답 JSON을 `api_request_body` / `api_response_body` 로그 이벤트로 내보냅니다 (기본값: 비활성화). 본문에는 전체 대화 기록이 포함됩니다. 이를 활성화하면 `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` 및 `OTEL_LOG_TOOL_CONTENT`가 공개할 모든 것에 동의하는 것을 의미합니다 | `1`로 콘텐츠 제한 (기본값 60KB)에서 잘린 인라인 본문, 또는 `file:<dir>`로 디스크의 잘리지 않은 본문과 이벤트의 `body_ref` 포인터 |

127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | 콘텐츠 제한: 모델 응답, 도구 콘텐츠, 시스템 프롬프트 및 원본 API 본문과 같은 콘텐츠 포함 속성의 최대 길이 (UTF-16 코드 단위, 기본값: 61440, 즉 60KB). 기본값은 속성 값을 64KB로 제한하는 백엔드용으로 크기가 조정되었습니다. 백엔드가 더 큰 값을 허용하는 경우에만 증가시키거나 원격 측정 볼륨을 줄이기 위해 감소시킵니다. OpenTelemetry SDK 속성 제한 `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` 또는 해당 로그레코드 및 스팬 변형이 더 낮게 설정된 경우 Claude Code는 `[TRUNCATED ...]` 마커가 SDK 제한 내에 유지되도록 더 작은 값에서 잘립니다. Claude Code v2.1.214 이상 필요 | `262144` |128| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | 콘텐츠 제한: 모델 응답, 도구 콘텐츠, 시스템 프롬프트 및 원본 API 본문과 같은 콘텐츠 포함 속성의 최대 길이 (UTF-16 코드 단위, 기본값: 61440, 즉 60KB). 기본값은 속성 값을 64KB로 제한하는 백엔드용으로 크기가 조정되었습니다. 백엔드가 더 큰 값을 허용하는 경우에만 증가시키거나 원격 측정 볼륨을 줄이기 위해 감소시킵니다. OpenTelemetry SDK 속성 제한 `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` 또는 해당 로그레코드 및 스팬 변형이 더 낮게 설정된 경우 Claude Code는 `[TRUNCATED ...]` 마커가 SDK 제한 내에 유지되도록 더 작은 값에서 잘립니다. Claude Code v2.1.214 이상 필요 | `262144` |

128| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | 메트릭 시간성 선호도 (기본값: `delta`). 백엔드가 누적 시간성을 예상하는 경우 `cumulative`로 설정 | `delta`, `cumulative` |129| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | 메트릭 시간성 선호도 (기본값: `delta`). 백엔드가 누적 시간성을 예상하는 경우 `cumulative`로 설정 | `delta`, `cumulative` |


241| `workflow.run_id` | 이 에이전트를 생성한 [Workflow](/docs/ko/workflows) 도구 실행의 실행 식별자 (접두사 `wf_`). 워크플로우에 의해 생성되지 않은 에이전트의 경우 없음 | |242| `workflow.run_id` | 이 에이전트를 생성한 [Workflow](/docs/ko/workflows) 도구 실행의 실행 식별자 (접두사 `wf_`). 워크플로우에 의해 생성되지 않은 에이전트의 경우 없음 | |

242| `workflow.name` | 이 에이전트를 생성한 워크플로우의 이름. 사용자 작성 이름은 게이트가 설정되지 않으면 `custom`으로 대체됩니다 | `OTEL_LOG_TOOL_DETAILS` |243| `workflow.name` | 이 에이전트를 생성한 워크플로우의 이름. 사용자 작성 이름은 게이트가 설정되지 않으면 `custom`으로 대체됩니다 | `OTEL_LOG_TOOL_DETAILS` |

243| `speed` | `fast` 또는 `normal` | |244| `speed` | `fast` 또는 `normal` | |

245| `effort` | [노력 수준](/docs/ko/model-config#adjust-effort-level) (요청에 적용됨): `low`, `medium`, `high`, `xhigh` 또는 `max`. Claude Code가 노력 수준을 보내지 않을 때 (예: 노력을 지원하지 않는 모델)는 없음. Claude Code v2.1.274 이상 필요 | |

244| `llm_request.context` | 부모 스팬에 따라 `interaction`, `tool` 또는 `standalone` | |246| `llm_request.context` | 부모 스팬에 따라 `interaction`, `tool` 또는 `standalone` | |

245| `duration_ms` | 재시도를 포함한 벽시계 지속 시간 | |247| `duration_ms` | 재시도를 포함한 벽시계 지속 시간 | |

246| `ttft_ms` | 첫 번째 토큰까지의 시간 (밀리초) | |248| `ttft_ms` | 첫 번째 토큰까지의 시간 (밀리초) | |


385echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"387echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"

386```388```

387 389 

388도우미가 실패하거나 이러한 요구 사항을 충족하지 않는 출력을 인쇄하면 Claude Code는 다음에서 오류를 보고합니다:390도우미가 실패하거나 이러한 요구 사항을 충족하지 않는 출력을 인쇄하면 내보내기가 실패하고 도우미가 다시 작동할 때까지 세션에서 원격 측정 백엔드가 아무것도 받지 못합니다. Claude Code는 다음에서 오류를 보고합니다:

389 391 

392* 대화형 세션의 경고 알림 (도우미가 처음 실패할 때 세션당 한 번 표시되는 [`otelHeadersHelper failed; telemetry is not being exported`](/docs/ko/errors#otelheadershelper-failed))

390* `/status` 출력393* `/status` 출력

391* [`--debug`](/docs/ko/cli-reference#cli-flags)로 실행하거나 세션에서 `/debug`를 실행한 후의 디버그 로그394* [`--debug`](/docs/ko/cli-reference#cli-flags)로 실행하거나 세션에서 `/debug`를 실행한 후의 디버그 로그

392* `-p`로 시작된 비대화형 세션의 stderr395* `-p`로 시작된 비대화형 세션의 stderr


531| `organization.id` | 조직 UUID (인증된 경우) | 사용 가능할 때 항상 포함됨 |534| `organization.id` | 조직 UUID (인증된 경우) | 사용 가능할 때 항상 포함됨 |

532| `user.account_uuid` | 계정 UUID (인증된 경우) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (기본값: true) |535| `user.account_uuid` | 계정 UUID (인증된 경우) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (기본값: true) |

533| `user.account_id` | Anthropic 관리자 API와 일치하는 태그 형식의 계정 ID (인증된 경우)(예: `user_01BWBeN28...`) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (기본값: true) |536| `user.account_id` | Anthropic 관리자 API와 일치하는 태그 형식의 계정 ID (인증된 경우)(예: `user_01BWBeN28...`) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (기본값: true) |

534| `user.id` | 첫 실행 시 생성되고 `~/.claude.json`에 저장되는 무작위 익명 식별자입니다. 개인 정보를 포함하지 않으며 Claude 계정에서 파생되지 않습니다. 파일을 삭제하면 다음 실행 시 새로운 관련 없는 값이 생성됩니다. | 항상 포함됨 |537| `user.id` | 첫 실행 시 생성되고 `~/.claude.json`에 유지되는 무작위 익명 식별자입니다. 개인 정보를 포함하지 않으며 Claude 계정에서 파생되지 않습니다. 파일을 삭제하면 다음 실행 시 새로운 관련 없는 값이 생성됩니다. | 항상 포함됨 |

535| `user.email` | 사용자 이메일 주소(로그인 시 또는 [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 세션 자체의 자격 증명에서) | 사용 가능할 때 항상 포함됨 |538| `user.email` | 사용자 이메일 주소(로그인 시 또는 [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 세션 자체의 자격 증명에서) | 사용 가능할 때 항상 포함됨 |

536| `terminal.type` | 터미널 유형(예: `iTerm.app`, `vscode`, `cursor`, 또는 `tmux`) | 감지될 때 항상 포함됨 |539| `terminal.type` | 터미널 유형(예: `iTerm.app`, `vscode`, `cursor`, 또는 `tmux`) | 감지될 때 항상 포함됨 |

537| `OTEL_RESOURCE_ATTRIBUTES`의 키 | 설정한 사용자 정의 속성(예: `department` 또는 `team.id`). [다중 팀 조직 지원](#multi-team-organization-support) 참조 | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (기본값: true) |540| `OTEL_RESOURCE_ATTRIBUTES`의 키 | 설정한 사용자 정의 속성(예: `department` 또는 `team.id`). [다중 팀 조직 지원](#multi-team-organization-support) 참조 | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (기본값: true) |

538| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | 세션 저장소의 ID(저장소의 `origin` 원격에서 파생됨). [저장소 속성](#repository-attributes) 참조 | `OTEL_METRICS_INCLUDE_REPOSITORY` (기본값: false). Claude Code v2.1.269 이상 필요 |541| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | 세션 저장소의 ID(해당 `origin` 원격에서 파생됨). [저장소 속성](#repository-attributes) 참조 | `OTEL_METRICS_INCLUDE_REPOSITORY` (기본값: false). Claude Code v2.1.269 이상 필요 |

539 542 

540Claude Code가 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)에 로그인되어 있으면 CLI는 게이트웨이 세션의 인증된 ID로 내보내기를 스탬프합니다: `user.id`는 익명 설치 식별자가 아닌 IdP 주체이고, `user.email`은 로그인한 이메일이며, `user.groups`는 IdP 그룹 멤버십을 쉼표로 구분된 문자열로 전달합니다. 각 내보내기는 또한 `identity.source: gateway-oidc`를 전달합니다. 게이트웨이 ID는 마지막에 적용되므로 `OTEL_RESOURCE_ATTRIBUTES`를 통해 설정된 `user.*` 및 `identity.*` 키는 게이트웨이 세션에서 무시됩니다.543Claude Code가 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)에 로그인되어 있으면 CLI는 게이트웨이 세션의 인증된 ID로 내보내기를 스탬프합니다: `user.id`는 익명 설치 식별자가 아닌 IdP 주체이고, `user.email`은 로그인한 이메일이며, `user.groups`는 쉼표로 구분된 문자열로 IdP 그룹 멤버십을 전달합니다. 각 내보내기는 또한 `identity.source: gateway-oidc`를 전달합니다. 게이트웨이 ID가 마지막에 적용되므로 `OTEL_RESOURCE_ATTRIBUTES`를 통해 설정된 `user.*` 및 `identity.*` 키는 게이트웨이 세션에서 무시됩니다.

541 544 

542이벤트는 추가로 다음 속성을 포함합니다. 이들은 무한 카디널리티를 야기할 수 있으므로 메트릭에는 절대 첨부되지 않습니다:545이벤트는 추가로 다음 속성을 포함합니다. 이들은 무한한 카디널리티를 야기할 수 있으므로 메트릭에는 절대 첨부되지 않습니다:

543 546 

544* `prompt.id`: 사용자 프롬프트를 다음 프롬프트까지의 모든 후속 이벤트와 연관시키는 UUID입니다. [이벤트 상관 속성](#event-correlation-attributes) 참조.547* `prompt.id`: 사용자 프롬프트를 다음 프롬프트까지의 모든 후속 이벤트와 연관시키는 UUID입니다. [이벤트 상관 속성](#event-correlation-attributes) 참조.

545* `workspace.host_paths`: 데스크톱 앱에서 선택한 호스트 작업 공간 디렉토리(문자열 배열)548* `workspace.host_paths`: 데스크톱 앱에서 선택한 호스트 작업 공간 디렉토리(문자열 배열)

546* `workflow.run_id`: [Workflow](/docs/ko/workflows) 도구 실행에 속하는 에이전트가 내보낸 API 및 도구 이벤트의 실행 식별자(접두사 `wf_`). 하나의 `workflow.run_id`로 이벤트를 필터링하면 해당 실행의 API 요청 및 도구 결과를 재구성합니다. 식별자는 워크플로우 스크립트가 생성하는 에이전트와 그 에이전트가 차례로 생성하는 모든 에이전트(예: 스킬 호출)를 포함합니다. Workflow 도구 결과에서 보고된 실행 식별자와 일치합니다. 다른 모든 이벤트에는 없습니다. Claude Code v2.1.202 이상 필요549* `workflow.run_id`: [Workflow](/docs/ko/workflows) 도구 실행에 속하는 에이전트가 내보낸 API 및 도구 이벤트의 실행 식별자(접두사 `wf_`). 하나의 `workflow.run_id`로 이벤트를 필터링하면 해당 실행의 API 요청 및 도구 결과를 재구성합니다. 식별자는 워크플로우 스크립트가 생성하는 에이전트와 그 에이전트가 차례로 생성하는 모든 에이전트(예: 스킬 호출)를 포함합니다. Workflow 도구 결과에서 보고된 실행 식별자와 일치합니다. 다른 모든 이벤트에는 없습니다. Claude Code v2.1.202 이상 필요

547* `workflow.name`: 워크플로우의 이름(스크립트의 `meta.name`), `workflow.run_id`와 함께 내보냅니다. 기본 제공 워크플로우 이름은 실행이 수정되지 않은 기본 제공 스크립트를 실행할 때 그대로 나타납니다. 기본 제공 스크립트의 편집된 복사본을 포함한 사용자 작성 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `custom`으로 대체됩니다. Claude Code v2.1.202 이상 필요550* `workflow.name`: 워크플로우의 이름(스크립트의 `meta.name`), `workflow.run_id`와 함께 내보냅니다. 기본 제공 워크플로우 이름은 실행이 수정되지 않은 기본 제공 스크립트를 실행할 때 그대로 나타납니다. 기본 제공 스크립트의 편집된 복사본을 포함한 사용자 작성 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `custom`으로 대체됩니다. Claude Code v2.1.202 이상 필요

548 551 

549<h4 id="repository-attributes">552<h4 id="repository-attributes">

550 저장소 속성553 저장소 속성

551</h4>554</h4>

552 555 

553`OTEL_METRICS_INCLUDE_REPOSITORY=true`를 설정하여 메트릭과 이벤트를 세션의 저장소 ID로 태그하면, 공유 수집기가 저장소별로 사용량을 속성화할 수 있습니다. Claude Code v2.1.269 이상 필요합니다.556`OTEL_METRICS_INCLUDE_REPOSITORY=true`를 설정하여 메트릭 및 이벤트에 세션의 저장소 ID를 태그하면 공유 수집기가 저장소별 사용량을 속성화할 수 있습니다. Claude Code v2.1.269 이상 필요합니다.

554 557 

555Claude Code는 저장소의 `origin` 원격에서 이러한 속성을 세션당 한 번 파생합니다. 하나의 저장소의 HTTPS 및 SSH 원격은 동일한 값을 생성합니다:558Claude Code는 저장소의 `origin` 원격에서 이러한 속성을 세션당 한 번 파생합니다. 한 저장소의 HTTPS 및 SSH 원격은 동일한 값을 생성합니다:

556 559 

557| 속성 | 값 |560| 속성 | 값 |

558| ------------------------- | ---------------------------------------------------------------------------------------------------------- |561| ------------------------- | -------------------------------------------------------------------------------------------------- |

559| `vcs.repository.url.full` | 저장소의 브라우저 URL(.git 없음)(예: `https://github.com/example-org/example-repo`) |562| `vcs.repository.url.full` | 저장소의 브라우저 URL(`.git` 제외)(예: `https://github.com/example-org/example-repo`) |

560| `vcs.owner.name` | 소유자 또는 그룹 경로(예: `example-org`). 원격 경로가 단일 세그먼트를 가질 때는 생략됨 |563| `vcs.owner.name` | 소유자 또는 그룹 경로(예: `example-org`); 원격 경로에 단일 세그먼트가 있을 때 생략됨 |

561| `vcs.repository.name` | 기본 저장소 이름(예: `example-repo`) |564| `vcs.repository.name` | 기본 저장소 이름(예: `example-repo`) |

562| `vcs.provider.name` | Claude Code가 원격의 호스트 또는 URL 형태를 이러한 공급자 중 하나로 인식할 때 `github`, `gitlab`, `bitbucket`, 또는 `gitea`. 그 외에는 생략됨 |565| `vcs.provider.name` | Claude Code가 원격의 호스트 또는 URL 형태를 `github`, `gitlab`, `bitbucket`, 또는 `gitea` 중 하나로 인식할 때; 그 외에는 생략됨 |

563 566 

564값은 소문자로 변환되며, 원격 URL의 자격 증명, 쿼리 문자열, 및 조각은 절대 나타나지 않습니다. 세션에 `origin` 원격이 없을 때, 원격이 URL 형태가 아닐 때, 또는 유일한 포함 저장소가 홈 디렉토리일 때 속성은 생략됩니다.567값은 소문자로 변환되며, 원격 URL의 자격 증명, 쿼리 문자열 및 조각은 절대 나타나지 않습니다. 세션에 `origin` 원격이 없을 때, 원격이 URL 형태가 아닐 때, 또는 유일한 포함 저장소가 홈 디렉토리일 때 속성이 생략됩니다.

565 568 

566[`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support)에서 선언한 `vcs.*` 키는 해당 키의 파생 값을 대체합니다. `vcs.repository.url.full`을 선언하면 Claude Code는 절대 원격을 읽지 않으며 선언한 키만 보고합니다.569[`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support)에서 선언한 `vcs.*` 키는 해당 키의 파생된 값을 대체합니다. `vcs.repository.url.full`을 선언하면 Claude Code는 절대 원격을 읽지 않고 선언한 키만 보고합니다.

567 570 

568속성은 자신의 내보내기로만 흐릅니다. Anthropic의 원격 측정은 모든 `vcs.*` 키를 삭제합니다.571속성은 자신의 내보내기로만 흐릅니다; Anthropic의 원격 측정은 모든 `vcs.*` 키를 삭제합니다.

569 572 

570<h3 id="metrics">573<h3 id="metrics">

571 메트릭574 메트릭

572</h3>575</h3>

573 576 

574Claude Code는 다음 메트릭을 내보냅니다. Unit 열은 각 메트릭에 첨부된 OpenTelemetry 단위 문자열을 보여줍니다. 카운트 메트릭은 없습니다.577Claude Code는 다음 메트릭을 내보냅니다. Unit 열은 각 메트릭에 첨부된 OpenTelemetry 단위 문자열을 보여줍니다; 카운트 메트릭은 없습니다.

575 578 

576| 메트릭 이름 | 설명 | 단위 |579| 메트릭 이름 | 설명 | 단위 |

577| ------------------------------------- | ------------------ | ------ |580| ------------------------------------- | ------------------ | ------ |


584| `claude_code.code_edit_tool.decision` | 코드 편집 도구 권한 결정 수 | 없음 |587| `claude_code.code_edit_tool.decision` | 코드 편집 도구 권한 결정 수 | 없음 |

585| `claude_code.active_time.total` | 총 활성 시간 | s |588| `claude_code.active_time.total` | 총 활성 시간 | s |

586 589 

587`prometheus`가 `OTEL_METRICS_EXPORTER`에 나열된 유일한 내보내기일 때, Claude Code는 스크래이프가 유효한 Prometheus 텍스트 형식으로 유지되도록 내보낸 메트릭에서 `USD`, `tokens`, 및 `s` 단위를 생략합니다. 메트릭 이름은 변경되지 않으며, `otlp,prometheus`와 같이 내보내기를 결합하는 구성은 단위를 유지합니다. v2.1.216 이전에는 Prometheus 스크래이프에 일부 스크래이퍼가 거부한 OpenMetrics 전용 `# UNIT` 라인이 포함되었습니다.590`prometheus`가 `OTEL_METRICS_EXPORTER`에 나열된 유일한 내보내기일 때 Claude Code는 스크래이프가 유효한 Prometheus 텍스트 형식으로 유지되도록 내보낸 메트릭에서 `USD`, `tokens`, 및 `s` 단위를 생략합니다. 메트릭 이름은 변경되지 않으며, `otlp,prometheus`와 같이 내보내기를 결합하는 구성은 단위를 유지합니다. v2.1.216 이전에는 Prometheus 스크래이프에 일부 스크래퍼가 거부한 OpenMetrics 전용 `# UNIT` 라인이 포함되었습니다.

588 591 

589<h3 id="metric-details">592<h3 id="metric-details">

590 메트릭 세부 정보593 메트릭 세부 정보


601**속성**:604**속성**:

602 605 

603* 모든 [표준 속성](#standard-attributes)606* 모든 [표준 속성](#standard-attributes)

604* `start_type`: 세션이 시작된 방식. `"fresh"`, `"resume"`, `"continue"`, 또는 `"agents_view"` 중 하나입니다. `"agents_view"` 값은 `claude agents` 대시보드 프로세스(대화형 세션이 아닌 사용자가 시작한 로컬 UI)를 식별합니다. 이 값으로 필터링하여 대시보드에서 UI 프로세스 시작을 대화형 세션과 분리합니다.607* `start_type`: 세션이 시작된 방식. `"fresh"`, `"resume"`, `"continue"`, 또는 `"agents_view"` 중 하나입니다. `"agents_view"` 값은 `claude agents` 대시보드 프로세스(대화형 세션이 아닌 사용자 시작 로컬 UI)를 식별합니다. 대시보드에서 UI 프로세스 시작을 대화형 세션과 분리하려면 이 값을 필터링합니다.

605 608 

606<h4 id="lines-of-code-counter">609<h4 id="lines-of-code-counter">

607 코드 라인 카운터610 코드 라인 카운터


647* `model`: 모델 식별자(예: "claude-sonnet-5")650* `model`: 모델 식별자(예: "claude-sonnet-5")

648* `query_source`: 요청을 발급한 하위 시스템의 범주. `"main"`, `"subagent"`, 또는 `"auxiliary"` 중 하나입니다.651* `query_source`: 요청을 발급한 하위 시스템의 범주. `"main"`, `"subagent"`, 또는 `"auxiliary"` 중 하나입니다.

649* `speed`: 요청이 빠른 모드를 사용했을 때 `"fast"`. 그 외에는 없습니다.652* `speed`: 요청이 빠른 모드를 사용했을 때 `"fast"`. 그 외에는 없습니다.

650* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level): `"low"`, `"medium"`, `"high"`, `"xhigh"`, 또는 `"max"`. 모델이 노력을 지원하지 않을 때는 없습니다.653* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level): `"low"`, `"medium"`, `"high"`, `"xhigh"`, 또는 `"max"`. Claude Code가 노력 수준을 보내지 않을 때(예: 노력을 지원하지 않는 모델)는 없습니다.

651* `agent.name`: 요청을 발급한 하위 에이전트 유형. 기본 제공 에이전트 이름과 공식 마켓플레이스 플러그인의 에이전트는 그대로 나타납니다. 다른 사용자 정의 에이전트 이름은 `"custom"`으로 대체됩니다. 요청이 명명된 하위 에이전트 유형에 의해 발급되지 않았을 때는 없습니다.654* `agent.name`: 요청을 발급한 하위 에이전트 유형. 기본 제공 에이전트 이름과 공식 마켓플레이스 플러그인의 에이전트는 그대로 나타납니다. 다른 사용자 정의 에이전트 이름은 `"custom"`으로 대체됩니다. 요청이 명명된 하위 에이전트 유형에 의해 발급되지 않았을 때는 없습니다.

652* `skill.name`: 요청에 대해 활성화된 스킬(Skill 도구, `/` 명령, 또는 생성된 하위 에이전트에 의해 상속됨으로 설정됨). 기본 제공, 번들, 사용자 정의, 및 공식 마켓플레이스 플러그인 스킬 이름은 그대로 나타납니다. 타사 플러그인 스킬 이름은 `"third-party"`로 대체됩니다. 활성 스킬이 없을 때는 없습니다.655* `skill.name`: 요청에 대해 활성화된 스킬(Skill 도구, `/` 명령, 또는 생성된 하위 에이전트에 의해 상속됨으로 설정됨). 기본 제공, 번들, 사용자 정의, 및 공식 마켓플레이스 플러그인 스킬 이름은 그대로 나타납니다. 타사 플러그인 스킬 이름은 `"third-party"`로 대체됩니다. 활성 스킬이 없을 때는 없습니다.

653* `plugin.name`: 활성 스킬 또는 하위 에이전트가 플러그인에 의해 제공될 때의 소유 플러그인. 공식 마켓플레이스 플러그인 이름은 그대로 나타납니다. 타사 플러그인 이름은 `"third-party"`로 대체됩니다. 스킬과 하위 에이전트 모두 소유 플러그인을 가지지 않을 때는 없습니다.656* `plugin.name`: 활성 스킬 또는 하위 에이전트를 제공하는 플러그인의 소유자. 공식 마켓플레이스 플러그인 이름은 그대로 나타납니다. 타사 플러그인 이름은 `"third-party"`로 대체됩니다. 스킬과 하위 에이전트 모두 소유 플러그인이 없을 때는 없습니다.

654* `marketplace.name`: 소유 플러그인이 설치된 마켓플레이스. 공식 마켓플레이스 플러그인에 대해서만 내보냅니다. 그 외에는 없습니다.657* `marketplace.name`: 소유 플러그인이 설치된 마켓플레이스. 공식 마켓플레이스 플러그인에만 내보냅니다. 그 외에는 없습니다.

655* `mcp_server.name`: 이 요청이 소비한 도구 결과의 MCP 서버. 기본 제공, claude.ai 프록시, 및 공식 레지스트리 서버 이름은 그대로 나타납니다. 사용자 구성 서버 이름은 `"custom"`으로 대체됩니다. 요청이 MCP 도구 결과를 소비하지 않았을 때는 없습니다. v2.1.222 이전에는 Claude Code가 MCP 도구 호출 후 모든 요청에 이 속성을 설정했으며, 도구 결과를 소비한 요청에만 설정하지 않았으므로 이를 집계하는 대시보드는 업그레이드 후 단계적 감소를 보여줍니다.658* `mcp_server.name`: 이 요청이 소비한 도구 결과의 MCP 서버. 기본 제공, claude.ai 프록시, 및 공식 레지스트리 서버 이름은 그대로 나타납니다. 사용자 구성 서버 이름은 `"custom"`으로 대체됩니다. 요청이 MCP 도구 결과를 소비하지 않았을 때는 없습니다. v2.1.222 이전에는 Claude Code가 MCP 도구 호출 후 모든 요청에 이 속성을 설정했으며, 도구 결과를 소비한 요청에만 설정하지 않았으므로 이를 집계하는 대시보드는 업그레이드 후 단계 감소를 보여줍니다.

656* `mcp_tool.name`: 이 요청이 소비한 도구 결과의 MCP 도구(MCP 서버 이름과 동일한 수정 및 버전 동작 포함). 요청이 MCP 도구 결과를 소비하지 않았을 때는 없습니다.659* `mcp_tool.name`: 이 요청이 소비한 도구 결과의 MCP 도구(삭제 및 버전 동작은 `mcp_server.name`과 동일). 요청이 MCP 도구 결과를 소비하지 않았을 때는 없습니다.

657 660 

658<h4 id="token-counter">661<h4 id="token-counter">

659 토큰 카운터662 토큰 카운터


669* `query_source`: 요청을 발급한 하위 시스템의 범주. `"main"`, `"subagent"`, 또는 `"auxiliary"` 중 하나입니다.672* `query_source`: 요청을 발급한 하위 시스템의 범주. `"main"`, `"subagent"`, 또는 `"auxiliary"` 중 하나입니다.

670* `speed`: 요청이 빠른 모드를 사용했을 때 `"fast"`. 그 외에는 없습니다.673* `speed`: 요청이 빠른 모드를 사용했을 때 `"fast"`. 그 외에는 없습니다.

671* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). 세부 정보는 [비용 카운터](#cost-counter)를 참조하세요.674* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). 세부 정보는 [비용 카운터](#cost-counter)를 참조하세요.

672* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 수정 동작은 [비용 카운터](#cost-counter)를 참조하세요.675* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 삭제 동작은 [비용 카운터](#cost-counter)를 참조하세요.

673 676 

674<h4 id="code-edit-tool-decision-counter">677<h4 id="code-edit-tool-decision-counter">

675 코드 편집 도구 결정 카운터678 코드 편집 도구 결정 카운터


680**속성**:683**속성**:

681 684 

682* 모든 [표준 속성](#standard-attributes)685* 모든 [표준 속성](#standard-attributes)

683* `tool_name`: 도구 이름(`"Edit"`, `"Write"`, `"NotebookEdit"`)686* `tool_name`: 도구 이름 (`"Edit"`, `"Write"`, `"NotebookEdit"`)

684* `decision`: 사용자 결정(`"accept"`, `"reject"`)687* `decision`: 사용자 결정 (`"accept"`, `"reject"`)

685* `source`: 결정이 어디서 나왔는지. `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"`, 또는 `"user_reject"` 중 하나입니다. 각 값의 의미는 [도구 결정 이벤트](#tool-decision-event)를 참조하세요.688* `source`: 결정이 나온 위치. `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"`, 또는 `"user_reject"` 중 하나입니다. 각 값의 의미는 [도구 결정 이벤트](#tool-decision-event)를 참조하세요.

686* `language`: 편집된 파일의 프로그래밍 언어(예: `"TypeScript"`, `"Python"`, `"JavaScript"`, 또는 `"Markdown"`). 인식되지 않은 파일 확장자의 경우 `"unknown"`을 반환합니다.689* `language`: 편집된 파일의 프로그래밍 언어(예: `"TypeScript"`, `"Python"`, `"JavaScript"`, 또는 `"Markdown"`). 인식되지 않은 파일 확장자의 경우 `"unknown"`을 반환합니다.

687 690 

688<h4 id="active-time-counter">691<h4 id="active-time-counter">


709사용자가 프롬프트를 제출하면 Claude Code는 여러 API 호출을 수행하고 여러 도구를 실행할 수 있습니다. `prompt.id` 속성을 사용하면 이러한 모든 이벤트를 이를 트리거한 단일 프롬프트에 연결할 수 있습니다.712사용자가 프롬프트를 제출하면 Claude Code는 여러 API 호출을 수행하고 여러 도구를 실행할 수 있습니다. `prompt.id` 속성을 사용하면 이러한 모든 이벤트를 이를 트리거한 단일 프롬프트에 연결할 수 있습니다.

710 713 

711| 속성 | 설명 |714| 속성 | 설명 |

712| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |715| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

713| `prompt.id` | 단일 사용자 프롬프트 처리 중에 생성된 모든 이벤트를 연결하는 UUID v4 식별자 |716| `prompt.id` | 단일 사용자 프롬프트 처리 중에 생성된 모든 이벤트를 연결하는 UUID v4 식별자 |

714| `event.sequence` | 이벤트 순서 지정을 위한 0 기반 카운터(Claude Code 프로세스당 계산되며 세션당이 아님) |717| `event.sequence` | 이벤트 순서 지정을 위한 0 기반 카운터(세션당이 아닌 Claude Code 프로세스당 계산됨) |

715| `message.uuid` | 세션 트랜스크립트(`~/.claude/projects/*/*.jsonl` 파일)에 저장된 메시지의 UUID입니다. `assistant_response`에 있고, 명령 디스패치를 제외한 `user_prompt`에 있습니다(명령 디스패치는 0개 이상의 메시지를 생성할 수 있음). `assistant_response`에서 이것은 응답의 최종 트랜스크립트 항목이며, 다음 턴의 `parentUuid`가 이로부터 체인됩니다. Claude Code v2.1.214 이상 필요 |718| `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 이상 필요 |

716| `client_request_id` | `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID입니다. 자사 API 연결의 `api_request` 및 `api_error`에 있고, 타사 공급자 백엔드 및 요청이 비스트리밍 폴백을 통해 재시도되었을 때는 없습니다. 요청을 응답과 쌍으로 만들고 서버 `request_id`를 생성하지 않은 타임아웃과 같은 실패에 대해 사용 가능하게 유지합니다. `llm_request` 추적 스팬의 동일한 속성과 일치합니다. Claude Code v2.1.214 이상 필요 |719| `client_request_id` | `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID. 첫 번째 당사자 API 연결에서 `api_request` 및 `api_error`에 있습니다; 타사 공급자 백엔드 및 요청이 비스트리밍 폴백을 통해 재시도되었을 때는 없습니다. 요청을 응답과 쌍으로 만들고 타임아웃과 같이 서버 `request_id`를 생성하지 않은 실패에 대해 사용 가능합니다. `llm_request` 추적 스팬의 동일한 속성과 일치합니다. Claude Code v2.1.214 이상 필요 |

717 720 

718단일 프롬프트로 트리거된 모든 활동을 추적하려면 특정 `prompt.id` 값으로 이벤트를 필터링하세요. 이는 user\_prompt 이벤트, 모든 api\_request 이벤트, 및 해당 프롬프트 처리 중에 발생한 모든 tool\_result 이벤트를 반환합니다.721단일 프롬프트로 트리거된 모든 활동을 추적하려면 특정 `prompt.id` 값으로 이벤트를 필터링합니다. 이는 user\_prompt 이벤트, 모든 api\_request 이벤트, 및 해당 프롬프트 처리 중에 발생한 모든 tool\_result 이벤트를 반환합니다.

719 722 

720`event.sequence`는 Claude Code 프로세스가 시작될 때마다 0에서 시작하고 해당 프로세스의 수명 동안 계속 증가합니다. `/clear`를 통해 계속 계산되며, 이는 새로운 `session.id`를 할당합니다. [세션을 포크하지 않고 재개](/docs/ko/how-claude-code-works#resume-or-fork-sessions)하면, 세션은 `session.id`를 유지하지만 세션을 재개한 프로세스에서 `event.sequence` 값을 가져오므로, 한 세션 내에서 나중의 이벤트가 이전 이벤트보다 낮은 값을 전달하거나 하나를 반복할 수 있습니다. 세션의 이벤트를 순서대로 정렬하려면 `event.timestamp`로 정렬하고 동일한 타임스탬프를 공유하는 이벤트를 순서대로 정렬하려면 `event.sequence`를 사용하세요.723`event.sequence`는 Claude Code 프로세스가 시작될 때마다 0에서 시작하고 해당 프로세스의 수명 동안 증가합니다. `/clear`를 통해 계속 계산되며, 이는 새로운 `session.id`를 할당합니다. [세션을 포크하지 않고 재개](/docs/ko/how-claude-code-works#resume-or-fork-sessions)하면 세션은 `session.id`를 유지하지만 이를 재개한 프로세스에서 `event.sequence` 값을 가져오므로 한 세션 내에서 나중 이벤트가 이전 이벤트보다 낮은 값을 전달하거나 반복할 수 있습니다. 세션의 이벤트를 순서대로 정렬하려면 `event.timestamp`로 정렬하고 `event.sequence`를 사용하여 타임스탬프를 공유하는 이벤트를 순서대로 정렬합니다.

721 724 

722메시지 수준 재구성의 경우, 각 이벤트 클래스는 세션 트랜스크립트의 필드와 일치하는 키를 전달합니다. 트랜스크립트 항목 형식은 [Claude Code 내부](/docs/ko/sessions#where-transcripts-are-stored)이며 버전 간에 변경되므로, 이러한 필드에 조인하는 파이프라인은 모든 릴리스에서 중단될 수 있습니다. 조인을 안정적인 계약이 아닌 버전별 조인으로 취급하세요:725메시지 수준 재구성의 경우 각 이벤트 클래스는 세션 기록의 필드와 일치하는 키를 전달합니다. 기록 항목 형식은 [Claude Code 내부](/docs/ko/sessions#where-transcripts-are-stored)이며 버전 간에 변경되므로 이러한 필드에 조인하는 파이프라인은 모든 릴리스에서 중단될 수 있습니다; 조인을 안정적인 계약이 아닌 버전별 조인으로 취급합니다:

723 726 

724* `user_prompt` 및 `assistant_response`의 `message.uuid`727* `user_prompt`, `assistant_response`, 및 `api_response_body`의 `message.uuid`

725* API 이벤트의 `request_id`(트랜스크립트의 어시스턴트 항목에 `requestId`로 저장됨)728* API 이벤트의 `request_id`(기록의 어시스턴트 항목에 `requestId`로 유지됨)

726* `tool_result` 및 `tool_decision` 이벤트의 `tool_use_id`729* `tool_result` 및 `tool_decision` 이벤트의 `tool_use_id`

727 730 

728<h4 id="user-prompt-event">731<h4 id="user-prompt-event">


738* 모든 [표준 속성](#standard-attributes)741* 모든 [표준 속성](#standard-attributes)

739* `event.name`: `"user_prompt"`742* `event.name`: `"user_prompt"`

740* `event.timestamp`: ISO 8601 타임스탬프743* `event.timestamp`: ISO 8601 타임스탬프

741* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)744* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

742* `prompt_length`: 프롬프트의 길이745* `prompt_length`: 프롬프트의 길이

743* `prompt`: 프롬프트 내용. 기본적으로 수정됨. `OTEL_LOG_USER_PROMPTS=1`을 설정하여 포함시킵니다.746* `prompt`: 프롬프트 내용. 기본적으로 삭제됩니다. `OTEL_LOG_USER_PROMPTS=1`을 설정하여 포함합니다.

744* `message.uuid`: 저장된 트랜스크립트 항목과 일치하는 결과 사용자 메시지의 UUID입니다. 명령 디스패치에는 없습니다(0개 이상의 메시지를 생성할 수 있음). Claude Code v2.1.214 이상 필요747* `message.uuid`: 결과 사용자 메시지의 UUID(유지된 기록 항목과 일치). 명령 디스패치에는 없습니다(0개 이상의 메시지를 생성할 수 있음). Claude Code v2.1.214 이상 필요

745* `command_name`: 프롬프트가 명령을 호출할 때의 명령 이름. `compact` 또는 `debug`와 같은 기본 제공 및 번들 명령 이름은 그대로 내보냅니다. `reset`과 같은 별칭은 정규 이름이 아닌 입력한 대로 내보냅니다. 사용자 정의, 플러그인, 및 MCP 명령 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `custom` 또는 `mcp`로 축소됩니다.748* `command_name`: 프롬프트가 명령을 호출할 때의 명령 이름. `compact` 또는 `debug`와 같은 기본 제공 및 번들 명령 이름은 그대로 내보냅니다; `reset`과 같은 별칭은 정규 이름이 아닌 입력한 대로 내보냅니다. 사용자 정의, 플러그인, 및 MCP 명령 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `custom` 또는 `mcp`로 축소됩니다.

746* `command_source`: 명령이 있을 때의 명령 출처: `builtin`, `custom`, 또는 `mcp`. 플러그인 제공 명령은 `custom`으로 보고합니다.749* `command_source`: 명령이 있을 때의 명령 출처: `builtin`, `custom`, 또는 `mcp`. 플러그인 제공 명령은 `custom`으로 보고합니다.

747 750 

748<h4 id="assistant-response-event">751<h4 id="assistant-response-event">

749 어시스턴트 응답 이벤트752 어시스턴트 응답 이벤트

750</h4>753</h4>

751 754 

752텍스트 콘텐츠를 모델에서 반환하는 각 API 요청 후 기록됩니다. 응답의 텍스트 블록만 포함됩니다. 사고 블록 및 도구 사용 블록은 제외됩니다. Claude Code v2.1.193 이상 필요.755모델에서 텍스트 콘텐츠를 반환하는 각 API 요청 후 기록됩니다. 응답의 텍스트 블록만 포함됩니다; 생각 블록 및 도구 사용 블록은 제외됩니다. Claude Code v2.1.193 이상 필요.

753 756 

754**이벤트 이름**: `claude_code.assistant_response`757**이벤트 이름**: `claude_code.assistant_response`

755 758 


758* 모든 [표준 속성](#standard-attributes)761* 모든 [표준 속성](#standard-attributes)

759* `event.name`: `"assistant_response"`762* `event.name`: `"assistant_response"`

760* `event.timestamp`: ISO 8601 타임스탬프763* `event.timestamp`: ISO 8601 타임스탬프

761* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)764* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

762* `response_length`: 응답 텍스트의 길이(문자)765* `response_length`: 응답 텍스트의 문자 길이

763* `response`: 응답 텍스트(콘텐츠 제한(기본값 60KB)에서 잘림). 기본적으로 `<REDACTED>`로 수정됨. `OTEL_LOG_ASSISTANT_RESPONSES=1`을 설정하여 포함시킵니다. `OTEL_LOG_ASSISTANT_RESPONSES`가 설정되지 않으면 `OTEL_LOG_USER_PROMPTS`가 대신 제어하므로, 프롬프트 로깅이 켜져 있는 동안 응답을 수정된 상태로 유지하려면 `OTEL_LOG_ASSISTANT_RESPONSES=0`을 설정하세요.766* `response`: 응답 텍스트(콘텐츠 제한(기본값 60KB)에서 잘림). 기본적으로 `<REDACTED>`로 삭제됩니다. `OTEL_LOG_ASSISTANT_RESPONSES=1`을 설정하여 포함합니다. `OTEL_LOG_ASSISTANT_RESPONSES`가 설정되지 않으면 `OTEL_LOG_USER_PROMPTS`가 대신 제어하므로 프롬프트 로깅이 켜져 있는 동안 응답을 삭제된 상태로 유지하려면 `OTEL_LOG_ASSISTANT_RESPONSES=0`을 설정합니다.

764* `model`: 모델 식별자(예: "claude-sonnet-5")767* `model`: 모델 식별자(예: "claude-sonnet-5")

765* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID. API가 반환할 때만 있습니다.768* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID. API가 반환할 때만 있습니다.

766* `message.uuid`: 응답의 최종 트랜스크립트 항목의 UUID입니다. API 응답은 콘텐츠 블록당 하나의 트랜스크립트 항목으로 저장됩니다. 이것은 마지막 항목이며, 다음 턴의 `parentUuid`가 이로부터 체인됩니다. Claude Code v2.1.214 이상 필요769* `message.uuid`: 응답의 최종 기록 항목의 UUID. API 응답은 콘텐츠 블록당 하나의 기록 항목으로 유지됩니다; 이는 마지막 항목이며, 다음 턴의 `parentUuid`가 이로부터 체인됩니다. Claude Code v2.1.214 이상 필요

767* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름)770* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름)

768 771 

769<h4 id="tool-result-event">772<h4 id="tool-result-event">

770 도구 결과 이벤트773 도구 결과 이벤트

771</h4>774</h4>

772 775 

773도구 실행이 완료될 때 기록됩니다. 도구 호출이 거부된 경우 내보내지 않습니다. 거부에 대해서는 [도구 결정 이벤트](#tool-decision-event)를 참조하세요.776도구가 실행을 완료할 때 기록됩니다. 도구 호출이 거부된 경우 내보내지 않습니다; 거부에 대해서는 [도구 결정 이벤트](#tool-decision-event)를 참조하세요.

774 777 

775**이벤트 이름**: `claude_code.tool_result`778**이벤트 이름**: `claude_code.tool_result`

776 779 


779* 모든 [표준 속성](#standard-attributes)782* 모든 [표준 속성](#standard-attributes)

780* `event.name`: `"tool_result"`783* `event.name`: `"tool_result"`

781* `event.timestamp`: ISO 8601 타임스탬프784* `event.timestamp`: ISO 8601 타임스탬프

782* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)785* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

783* `tool_name`: 도구의 이름786* `tool_name`: 도구의 이름

784* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.787* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.

785* `success`: `"true"` 또는 `"false"`788* `success`: `"true"` 또는 `"false"`

786* `duration_ms`: 실행 시간(밀리초)789* `duration_ms`: 밀리초 단위의 실행 시간

787* `error_type`: 도구가 실패했을 때의 오류 범주 문자열(예: `"Error:ENOENT"` 또는 `"ShellError"`)790* `error_type`: 도구가 실패했을 때의 오류 범주 문자열(예: `"Error:ENOENT"` 또는 `"ShellError"`)

788* `error` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 도구가 실패했을 때의 전체 오류 메시지791* `error` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 도구가 실패했을 때의 전체 오류 메시지

789* `decision_type`: 항상 `"accept"`(이 이벤트는 도구 실행 후에만 내보내짐). 거부된 호출은 도구 결과를 생성하지 않습니다.792* `decision_type`: 항상 `"accept"`(이 이벤트는 도구 실행 후에만 내보내짐). 거부된 호출은 도구 결과를 생성하지 않습니다.

790* `decision_source`: 권한 결정이 어디서 나왔는지. `"config"`, `"hook"`, `"user_permanent"`, 또는 `"user_temporary"` 중 하나입니다. 각 값의 의미는 [도구 결정 이벤트](#tool-decision-event)를 참조하세요. 거부 전용 소스 `"user_abort"` 및 `"user_reject"`는 이 이벤트에 나타나지 않습니다.793* `decision_source`: 권한 결정이 나온 위치. `"config"`, `"hook"`, `"user_permanent"`, 또는 `"user_temporary"` 중 하나입니다. 각 값의 의미는 [도구 결정 이벤트](#tool-decision-event)를 참조하세요. 거부 전용 소스 `"user_abort"` 및 `"user_reject"`는 이 이벤트에 나타나지 않습니다.

791* `tool_input_size_bytes`: JSON 직렬화된 도구 입력의 크기(바이트)794* `tool_input_size_bytes`: JSON 직렬화된 도구 입력의 바이트 크기

792* `tool_result_size_bytes`: 도구 결과의 크기(바이트)795* `tool_result_size_bytes`: 도구 결과의 바이트 크기

793* `mcp_server_scope`: MCP 서버 범위 식별자(MCP 도구의 경우)796* `mcp_server_scope`: MCP 서버 범위 식별자(MCP 도구의 경우)

794* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (`OTEL_LOG_TOOL_DETAILS=1`일 때): Bash 또는 PowerShell 도구에 의해 실행된 성공적인 `git commit`의 커밋 ID. `vcs.ref.head.revision`은 커밋 SHA이고, `vcs.ref.head.name`은 커밋된 브랜치이며, `vcs.ref.head.type`은 `branch`입니다. 커밋이 분리된 HEAD에서 이루어졌을 때 이름과 유형은 생략됩니다. Claude Code v2.1.269 이상 필요797*

795* `tool_parameters` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 도구별 매개변수를 포함하는 JSON 문자열. Claude Desktop의 기본 제공 서버의 경우, Claude Desktop이 소유한 세션에서 `mcp_server_name`/`mcp_tool_name` 쌍은 플래그 없이도 포함됩니다. 이는 [도구 결정 이벤트](#tool-decision-event)와 동일한 호스트 작성 예외입니다. Claude Code v2.1.214 이상 필요. 매개변수는 도구에 따라 다릅니다:798 

796 * Bash 도구의 경우: `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, 및 `git_commit_id`와 `git_branch`(git commit 명령이 성공할 때)를 포함합니다. `git_commit_id`는 커밋이 세션의 작업 디렉토리의 HEAD일 때 전체 커밋 SHA이고, 그 외에는 git의 축약된 SHA입니다. `git_branch`는 커밋된 브랜치이며, 분리된 HEAD에서는 생략됩니다.799`vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (`OTEL_LOG_TOOL_DETAILS=1`일 때): Bash 또는 PowerShell 도구에서 실행한 성공적인 `git commit`의 커밋 ID. `vcs.ref.head.revision`은 커밋 SHA이고, `vcs.ref.head.name`은 커밋된 브랜치이며, `vcs.ref.head.type`은 `branch`입니다. 커밋이 분리된 HEAD에서 이루어진 경우 이름과 유형은 생략됩니다. Claude Code v2.1.269 이상 필요

800 

801* `tool_parameters` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 도구별 매개변수를 포함하는 JSON 문자열. Claude Desktop의 기본 제공 서버의 경우 Claude Desktop이 소유한 세션에서 플래그가 꺼져 있어도 `mcp_server_name`/`mcp_tool_name` 쌍이 포함됩니다([도구 결정 이벤트](#tool-decision-event)와 동일한 호스트 작성 예외). Claude Code v2.1.214 이상 필요. 매개변수는 도구에 따라 다릅니다:

802 * Bash 도구의 경우: `bash_command`, `full_command`, `timeout`, `description`, 및 `dangerouslyDisableSandbox`를 포함하며, `git commit` 명령이 성공할 때 `git_commit_id` 및 `git_branch`를 포함합니다. `git_commit_id`는 커밋이 세션의 작업 디렉토리의 HEAD일 때 전체 커밋 SHA이고, 그 외에는 git의 축약된 SHA입니다. `git_branch`는 커밋된 브랜치이며, 분리된 HEAD에서는 생략됩니다.

797 * 데스크톱 앱의 작업 공간 Bash 도구(또한 `tool_name`을 `Bash`로 보고함): `bash_command`, `full_command`, 및 `timeout`만 포함합니다.803 * 데스크톱 앱의 작업 공간 Bash 도구(또한 `tool_name`을 `Bash`로 보고함): `bash_command`, `full_command`, 및 `timeout`만 포함합니다.

798 * MCP 도구의 경우: `mcp_server_name`, `mcp_tool_name`을 포함합니다.804 * MCP 도구의 경우: `mcp_server_name`, `mcp_tool_name`을 포함합니다.

799 * Skill 도구의 경우: `skill_name`을 포함합니다.805 * Skill 도구의 경우: `skill_name`을 포함합니다.


813* 모든 [표준 속성](#standard-attributes)819* 모든 [표준 속성](#standard-attributes)

814* `event.name`: `"api_request"`820* `event.name`: `"api_request"`

815* `event.timestamp`: ISO 8601 타임스탬프821* `event.timestamp`: ISO 8601 타임스탬프

816* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)822* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

817* `model`: 사용된 모델(예: "claude-sonnet-5")823* `model`: 사용된 모델(예: "claude-sonnet-5")

818* `cost_usd`: USD 단위의 예상 비용824* `cost_usd`: USD 단위의 예상 비용

819* `cost_usd_micros`: 미국 달러의 백만분의 일 단위의 예상 비용(정수로 내보냄)825* `cost_usd_micros`: 미국 달러의 백만분의 일 단위의 예상 비용(정수로 내보냄)

820* `duration_ms`: 요청 지속 시간(밀리초)826* `duration_ms`: 밀리초 단위의 요청 기간

821* `input_tokens`: 입력 토큰 수827* `input_tokens`: 입력 토큰 수

822* `output_tokens`: 출력 토큰 수828* `output_tokens`: 출력 토큰 수

823* `cache_read_tokens`: 캐시에서 읽은 토큰 수829* `cache_read_tokens`: 캐시에서 읽은 토큰 수

824* `cache_creation_tokens`: 캐시 생성에 사용된 토큰 수830* `cache_creation_tokens`: 캐시 생성에 사용된 토큰 수

825* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.831* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.

826* `client_request_id`: `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID. 있을 때에 대해서는 [이벤트 상관 속성](#event-correlation-attributes) 표를 참조하세요. Claude Code v2.1.214 이상 필요832* `client_request_id`: `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID; 있을 때에 대해서는 [이벤트 상관 속성](#event-correlation-attributes) 표를 참조하세요. Claude Code v2.1.214 이상 필요

827* `speed`: `"fast"` 또는 `"normal"`(빠른 모드가 활성화되었는지 여부를 나타냄)833* `speed`: 빠른 모드가 활성화되었는지 여부를 나타내는 `"fast"` 또는 `"normal"`

828* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름)834* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름)

829* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level): `"low"`, `"medium"`, `"high"`, `"xhigh"`, 또는 `"max"`. 모델이 노력을 지원하지 않을 때는 없습니다.835* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level): `"low"`, `"medium"`, `"high"`, `"xhigh"`, 또는 `"max"`. Claude Code가 노력 수준을 보내지 않을 때(예: 노력을 지원하지 않는 모델)는 없습니다.

830* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 수정 동작은 [비용 카운터](#cost-counter)를 참조하세요.836* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 삭제 동작은 [비용 카운터](#cost-counter)를 참조하세요.

831 837 

832<h4 id="api-error-event">838<h4 id="api-error-event">

833 API 오류 이벤트839 API 오류 이벤트


842* 모든 [표준 속성](#standard-attributes)848* 모든 [표준 속성](#standard-attributes)

843* `event.name`: `"api_error"`849* `event.name`: `"api_error"`

844* `event.timestamp`: ISO 8601 타임스탬프850* `event.timestamp`: ISO 8601 타임스탬프

845* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)851* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

846* `model`: 사용된 모델(예: "claude-sonnet-5")852* `model`: 사용된 모델(예: "claude-sonnet-5")

847* `error`: 오류 메시지853* `error`: 오류 메시지

848* `status_code`: HTTP 상태 코드(숫자). 연결 실패와 같은 비HTTP 오류의 경우 없습니다.854* `status_code`: HTTP 상태 코드(숫자). 연결 실패와 같은 비 HTTP 오류의 경우 없습니다.

849* `duration_ms`: 요청 지속 시간(밀리초)855* `duration_ms`: 밀리초 단위의 요청 기간

850* `attempt`: 초기 요청을 포함한 총 시도 횟수(`1`은 재시도가 발생하지 않았음을 의미)856* `attempt`: 초기 요청을 포함한 총 시도 횟수(`1`은 재시도가 발생하지 않았음을 의미)

851* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.857* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.

852* `client_request_id`: `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID. 타임아웃 또는 연결 오류와 같은 실패가 서버 `request_id`를 생성하지 않은 경우에도 사용 가능합니다. 있을 때에 대해서는 [이벤트 상관 속성](#event-correlation-attributes) 표를 참조하세요. Claude Code v2.1.214 이상 필요858* `client_request_id`: `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID. 타임아웃 또는 연결 오류와 같은 실패가 서버 `request_id`를 생성하지 않았을 때도 사용 가능합니다; 있을 때에 대해서는 [이벤트 상관 속성](#event-correlation-attributes) 표를 참조하세요. Claude Code v2.1.214 이상 필요

853* `speed`: `"fast"` 또는 `"normal"`(빠른 모드가 활성화되었는지 여부를 나타냄)859* `speed`: 빠른 모드가 활성화되었는지 여부를 나타내는 `"fast"` 또는 `"normal"`

854* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름)860* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름)

855* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). 모델이 노력을 지원하지 않을 때는 없습니다.861* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). Claude Code가 노력 수준을 보내지 않을 때(예: 노력을 지원하지 않는 모델)는 없습니다.

856* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 수정 동작은 [비용 카운터](#cost-counter)를 참조하세요.862* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 삭제 동작은 [비용 카운터](#cost-counter)를 참조하세요.

857 863 

858<h4 id="api-refusal-event">864<h4 id="api-refusal-event">

859 API 거부 이벤트865 API 거부 이벤트


868* 모든 [표준 속성](#standard-attributes)874* 모든 [표준 속성](#standard-attributes)

869* `event.name`: `"api_refusal"`875* `event.name`: `"api_refusal"`

870* `event.timestamp`: ISO 8601 타임스탬프876* `event.timestamp`: ISO 8601 타임스탬프

871* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)877* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

872* `model`: 요청의 모델 식별자878* `model`: 요청의 모델 식별자

873* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.879* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.

874* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름). 정의는 [`api_request`](#api-request-event)를 참조하세요.880* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름). 정의는 [`api_request`](#api-request-event)를 참조하세요.

875* `speed`: [빠른 모드](/docs/ko/fast-mode)가 활성화되었을 때 `"fast"`, 또는 `"normal"`881* `speed`: [빠른 모드](/docs/ko/fast-mode)가 활성화되었을 때 `"fast"`, 또는 `"normal"`

876* `attempt`: 재시도 시도 번호. 첫 번째 시도는 `1`입니다.882* `attempt`: 재시도 시도 번호. 첫 번째 시도는 `1`입니다.

877* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). 모델이 노력을 지원하지 않을 때는 없습니다.883* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). Claude Code가 노력 수준을 보내지 않을 때(예: 노력을 지원하지 않는 모델)는 없습니다.

878* `server_fallback_hop`: API의 서버 측 모델 폴백이 이미 이 거부를 다른 모델에서 재시도했으므로 사용자가 이 특정 거부를 보지 못했을 때 `true`. 요청이 거부로 끝났을 때 `false`. 단일 턴은 폴백 모델도 거부할 때 나중의 `false` 최종 이벤트와 `true` 홉 이벤트를 모두 내보낼 수 있습니다.884* `server_fallback_hop`: API의 서버 측 모델 폴백이 이미 이 거부를 다른 모델에서 재시도했으므로 사용자가 이 특정 거부를 보지 못했을 때 `true`. 요청이 거부로 끝났을 때 `false`. 단일 턴은 폴백 모델도 거부할 때 `true` 홉 이벤트와 나중의 `false` 최종 이벤트를 모두 내보낼 수 있습니다.

879* `has_category`: API 응답이 `"cyber"`, `"bio"`, `"frontier_llm"`, 또는 `"reasoning_extraction"`의 `stop_details.category`를 전달했을 때 `true`. 응답이 범주를 전달하지 않았거나 해당 집합 외의 값을 전달했을 때 `false`. `server_fallback_hop`이 `true`일 때는 없습니다(홉 블록은 `stop_details`를 전달하지 않음).885* `has_category`: API 응답이 `"cyber"`, `"bio"`, `"frontier_llm"`, 또는 `"reasoning_extraction"`의 `stop_details.category`를 전달했을 때 `true`. 응답이 범주를 전달하지 않았거나 해당 집합 외의 값을 전달했을 때 `false`. `server_fallback_hop`이 `true`일 때는 없습니다(홉 블록은 `stop_details`를 전달하지 않음).

880* `has_explanation`: API 응답이 `stop_details.explanation`을 전달했을 때 `true`, 그 외에는 `false`. `server_fallback_hop`이 `true`일 때는 없습니다.886* `has_explanation`: API 응답이 `stop_details.explanation`을 전달했을 때 `true`, 그 외에는 `false`. `server_fallback_hop`이 `true`일 때는 없습니다.

881* `category`: API 응답의 `stop_details.category` 값. `"cyber"`, `"bio"`, `"frontier_llm"`, 또는 `"reasoning_extraction"` 중 하나. `OTEL_LOG_TOOL_DETAILS=1`이 설정되고 `has_category`가 `true`일 때만 있습니다.887* `category`: API 응답의 `stop_details.category` 값. `"cyber"`, `"bio"`, `"frontier_llm"`, 또는 `"reasoning_extraction"` 중 하나입니다. `OTEL_LOG_TOOL_DETAILS=1`이 설정되고 `has_category`가 `true`일 때만 있습니다.

882* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 수정 동작은 [비용 카운터](#cost-counter)를 참조하세요.888* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 삭제 동작은 [비용 카운터](#cost-counter)를 참조하세요.

883 889 

884<h4 id="api-request-body-event">890<h4 id="api-request-body-event">

885 API 요청 본문 이벤트891 API 요청 본문 이벤트


894* 모든 [표준 속성](#standard-attributes)900* 모든 [표준 속성](#standard-attributes)

895* `event.name`: `"api_request_body"`901* `event.name`: `"api_request_body"`

896* `event.timestamp`: ISO 8601 타임스탬프902* `event.timestamp`: ISO 8601 타임스탬프

897* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)903* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

898* `body`: JSON 직렬화된 Messages API 요청 매개변수(예: 시스템 프롬프트, 메시지, 및 도구)(콘텐츠 제한(기본값 60KB)에서 잘림). 이전 어시스턴트 턴의 확장 사고 콘텐츠는 수정됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보냅니다.904* `body`: JSON 직렬화된 Messages API 요청 매개변수(시스템 프롬프트, 메시지, 및 도구 등)(콘텐츠 제한(기본값 60KB)에서 잘림). 이전 어시스턴트 턴의 확장 생각 콘텐츠는 삭제됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보냅니다.

899* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<uuid>.request.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보냅니다.905* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<uuid>.request.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보냅니다.

900* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위906* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위

901* `body_truncated`: 인라인 잘림이 발생했을 때 `"true"`. 파일 모드 및 잘림이 발생하지 않았을 때는 없습니다.907* `body_truncated`: 인라인 잘림이 발생했을 때 `"true"`. 파일 모드 및 잘림이 발생하지 않았을 때는 없습니다.


909 915 

910`OTEL_LOG_RAW_API_BODIES`가 설정되었을 때 각 성공적인 API 응답에 대해 기록됩니다.916`OTEL_LOG_RAW_API_BODIES`가 설정되었을 때 각 성공적인 API 응답에 대해 기록됩니다.

911 917 

912파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서 Claude Code는 또한 각 성공적인 응답에 대해 `<dir>/index.jsonl`에 하나의 JSON 라인을 추가합니다. 필드는 `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file`, 및 `response_file`입니다. 이를 읽어 원격 측정 백엔드를 쿼리하지 않고 주어진 트랜스크립트 메시지 뒤의 요청 및 응답 파일을 찾으세요. 인덱스 파일은 Claude Code v2.1.274 이상 필요합니다.918파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서 Claude Code는 또한 각 성공적인 응답에 대해 `<dir>/index.jsonl`에 하나의 JSON 라인을 추가하며, `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file`, 및 `response_file` 필드를 포함합니다. 이를 읽어 원격 측정 백엔드를 쿼리하지 않고 주어진 기록 메시지 뒤의 요청 및 응답 파일을 찾습니다. 인덱스 파일은 Claude Code v2.1.274 이상 필요합니다.

913 919 

914**이벤트 이름**: `claude_code.api_response_body`920**이벤트 이름**: `claude_code.api_response_body`

915 921 


918* 모든 [표준 속성](#standard-attributes)924* 모든 [표준 속성](#standard-attributes)

919* `event.name`: `"api_response_body"`925* `event.name`: `"api_response_body"`

920* `event.timestamp`: ISO 8601 타임스탬프926* `event.timestamp`: ISO 8601 타임스탬프

921* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)927* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

922* `body`: JSON 직렬화된 Messages API 응답(id, 콘텐츠 블록, 사용량, 및 중지 이유 포함)(콘텐츠 제한(기본값 60KB)에서 잘림). 확장 사고 콘텐츠는 수정됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보냅니다.928* `body`: JSON 직렬화된 Messages API 응답(ID, 콘텐츠 블록, 사용량, 및 중지 이유 포함)(콘텐츠 제한(기본값 60KB)에서 잘림). 확장 생각 콘텐츠는 삭제됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보냅니다.

923* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<request_id>.response.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보냅니다.929* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<request_id>.response.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보냅니다.

924* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위930* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위

925* `body_truncated`: 인라인 잘림이 발생했을 때 `"true"`. 파일 모드 및 잘림이 발생하지 않았을 때는 없습니다.931* `body_truncated`: 인라인 잘림이 발생했을 때 `"true"`. 파일 모드 및 잘림이 발생하지 않았을 때는 없습니다.


928* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.934* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.

929* `request_body_id`: 이 응답이 답변하는 [`api_request_body` 이벤트](#api-request-body-event)의 `request_body_id`. Claude Code v2.1.274 이상 필요935* `request_body_id`: 이 응답이 답변하는 [`api_request_body` 이벤트](#api-request-body-event)의 `request_body_id`. Claude Code v2.1.274 이상 필요

930* `message.id`: API가 응답에 할당한 메시지 ID(응답 본문의 `id` 필드). Claude Code v2.1.274 이상 필요936* `message.id`: API가 응답에 할당한 메시지 ID(응답 본문의 `id` 필드). Claude Code v2.1.274 이상 필요

931* `message.uuid`: 응답의 최종 트랜스크립트 항목의 UUID. `request_body_id`와 함께 트랜스크립트 메시지를 요청 및 응답 본문에 연결합니다. Claude Code v2.1.274 이상 필요937* `message.uuid`: 응답의 최종 기록 항목의 UUID. `request_body_id`와 함께 기록 메시지를 뒤의 요청 및 응답 본문에 연결합니다. Claude Code v2.1.274 이상 필요

932 938 

933<h4 id="tool-decision-event">939<h4 id="tool-decision-event">

934 도구 결정 이벤트940 도구 결정 이벤트

935</h4>941</h4>

936 942 

937도구 권한 결정(수락/거부)이 내려질 때 기록됩니다.943도구 권한 결정이 이루어질 때(수락/거부) 기록됩니다.

938 944 

939**이벤트 이름**: `claude_code.tool_decision`945**이벤트 이름**: `claude_code.tool_decision`

940 946 


943* 모든 [표준 속성](#standard-attributes)949* 모든 [표준 속성](#standard-attributes)

944* `event.name`: `"tool_decision"`950* `event.name`: `"tool_decision"`

945* `event.timestamp`: ISO 8601 타임스탬프951* `event.timestamp`: ISO 8601 타임스탬프

946* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)952* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

947* `tool_name`: 도구의 이름(예: "Read", "Edit", "Write", "NotebookEdit")953* `tool_name`: 도구의 이름(예: "Read", "Edit", "Write", "NotebookEdit")

948* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.954* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.

949* `decision`: `"accept"` 또는 `"reject"`955* `decision`: `"accept"` 또는 `"reject"`

950* `tool_source`: 항상 있습니다. 도구의 출처(CLI 작성 값의 폐쇄 집합). Claude Code v2.1.214 이상 필요956* `tool_source`: 항상 있습니다. 도구의 출처(CLI 작성 값의 폐쇄 집합). Claude Code v2.1.214 이상 필요

951 * `"builtin"`: CLI 자체의 도구957 * `"builtin"`: CLI 자체의 도구

952 * `"mcp"`: 일반적으로 MCP 서버958 * `"mcp"`: 일반적으로 MCP 서버

953 * `"sdk_host_builtin_mcp"`: Claude Desktop 자체에 내장된 프로세스 내 서버(Claude Desktop이 소유한 세션). Claude Desktop은 자신의 진입점 중 하나(`claude-desktop`, `claude-desktop-3p`, 또는 `local-agent`)에서 시작한 세션을 소유합니다. 중첩된 자식이 아닐 때(Claude Code 자체가 생성하는 세션을 포함한 중첩된 세션은 이러한 서버를 `"mcp"`로 보고).959 * `"sdk_host_builtin_mcp"`: Claude Desktop 자체에 내장된 프로세스 내 서버(Claude Desktop이 소유한 세션). Claude Desktop은 자신의 엔드포인트 중 하나(`claude-desktop`, `claude-desktop-3p`, 또는 `local-agent`)에서 시작한 세션을 소유합니다(해당 세션이 중첩된 자식이 아닐 때); 중첩된 세션(Claude Code 자체가 생성하는 세션 포함)은 이러한 서버를 `"mcp"`로 보고합니다.

954* `source`: 결정이 어디서 나왔는지:960* `source`: 결정이 나온 위치:

955 * `"config"`: 프롬프트 없이 자동으로 결정됨. 프로젝트 설정, 사용자의 개인 설정의 허용 또는 거부 규칙, 엔터프라이즈 관리 정책, `--allowedTools` 또는 `--disallowedTools` 플래그, 활성 권한 모드, 동일한 대화형 CLI 세션의 이전 프롬프트에서의 세션 범위 부여, 또는 도구가 본질적으로 안전하기 때문입니다. 이벤트는 이러한 소스 중 어느 것이 일치했는지 나타내지 않습니다. Claude Code는 또한 권한 프롬프트 요청 자체가 실패할 때 `"config"`을 보고합니다. 예를 들어 Agent SDK의 [`canUseTool`](/docs/ko/agent-sdk/typescript#canusetool) 콜백 또는 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 도구가 잘못된 결과를 반환하거나 입력 스트림이 요청 대기 중에 닫힐 때입니다. v2.1.216 이전에는 Claude Code가 이러한 실패를 `"user_reject"`로 보고했습니다.961 * `"config"`: 프롬프트 없이 자동으로 결정됨(프로젝트 설정, 사용자의 개인 설정의 허용 또는 거부 규칙, 엔터프라이즈 관리 정책, `--allowedTools` 또는 `--disallowedTools` 플래그, 활성 권한 모드, 동일한 대화형 CLI 세션의 이전 프롬프트에서 세션 범위 부여, 또는 도구가 본질적으로 안전하기 때문). 이벤트는 이러한 소스 중 어느 것이 일치했는지 나타내지 않습니다. Claude Code는 또한 권한 프롬프트 요청 자체가 실패할 때(예: Agent SDK의 [`canUseTool`](/docs/ko/agent-sdk/typescript#canusetool) 콜백 또는 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 도구가 잘못된 결과를 반환하거나 입력 스트림이 요청 대기 중에 닫힐 때) `"config"`을 보고합니다. v2.1.216 이전에는 Claude Code가 이러한 실패를 `"user_reject"`로 보고했습니다.

956 * `"hook"`: `PreToolUse` 또는 `PermissionRequest` 훅이 결정을 반환했습니다.962 * `"hook"`: `PreToolUse` 또는 `PermissionRequest` 훅이 결정을 반환했습니다.

957 * `"user_permanent"`: 사용자가 권한 프롬프트에서 "Yes, and don't ask again for ..."을 선택했을 때 내보내집니다. 이는 개인 설정에 허용 규칙을 저장합니다. 대화형 CLI에서는 해당 선택 자체에 대해서만 내보내집니다. 나중의 호출이 저장된 규칙과 일치하면 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 초기 선택과 나중의 규칙 일치 모두 `"user_permanent"`를 내보냅니다. 수락으로 취급됩니다.963 * `"user_permanent"`: 사용자가 권한 프롬프트에서 "Yes, and don't ask again for ..."을 선택했을 때 내보내집니다(개인 설정에 허용 규칙을 저장함). 대화형 CLI에서는 해당 선택 자체에만 내보내집니다; 나중의 호출이 저장된 규칙과 일치하면 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 초기 선택과 나중의 규칙 일치 모두 `"user_permanent"`를 내보냅니다. 수락으로 취급됩니다.

958 * `"user_temporary"`: 사용자가 권한 프롬프트에서 "Yes"를 선택했거나 파일 편집 또는 읽기 프롬프트에서 세션의 나머지 부분에 대한 액세스를 부여하는 옵션을 선택했을 때 내보내집니다. 대화형 CLI에서는 선택 자체에 대해서만 내보내집니다. 나중의 호출이 해당 세션 범위 부여와 일치하면 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 선택과 나중의 일치 모두 `"user_temporary"`를 내보냅니다. 수락으로 취급됩니다.964 * `"user_temporary"`: 사용자가 권한 프롬프트에서 "Yes"를 선택했거나 파일 편집 또는 읽기 프롬프트에서 세션의 나머지 부분에 대한 액세스를 부여하는 옵션을 선택했을 때 내보내집니다. 대화형 CLI에서는 해당 선택 자체에만 내보내집니다; 나중의 호출이 해당 세션 범위 부여와 일치하면 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 선택과 나중의 일치 모두 `"user_temporary"`를 내보냅니다. 수락으로 취급됩니다.

959 * `"user_abort"`: 사용자가 답변 없이 권한 프롬프트를 해제했을 때 내보내집니다. Agent SDK 및 비대화형 `-p` 세션에서는 `canUseTool` 또는 `--permission-prompt-tool` 권한 요청이 대기 중일 때 턴을 중단하는 것을 포함합니다. v2.1.216 이전에는 Claude Code가 해당 중단을 `"user_reject"`로 보고했습니다. 거부로 취급됩니다.965 * `"user_abort"`: 사용자가 권한 프롬프트를 답변 없이 해제했을 때 내보내집니다. Agent SDK 및 비대화형 `-p` 세션에서는 `canUseTool` 또는 `--permission-prompt-tool` 권한 요청이 대기 중인 동안 턴을 중단하는 것을 포함합니다; v2.1.216 이전에는 Claude Code가 해당 중단을 `"user_reject"`로 보고했습니다. 거부로 취급됩니다.

960 * `"user_reject"`: 사용자가 프롬프트에서 "No"를 선택했을 때 내보내집니다. 대화형 CLI에서는 해당 선택 자체에 대해서만 내보내집니다. 사용자의 개인 설정의 거부 규칙과 일치하는 호출은 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 개인 설정의 거부 규칙과 일치하는 호출이 `"user_reject"`를 내보냅니다. 거부로 취급됩니다.966 * `"user_reject"`: 사용자가 프롬프트에서 "No"를 선택했을 때 내보내집니다. 대화형 CLI에서는 해당 선택 자체에만 내보내집니다; 사용자의 개인 설정의 거부 규칙과 일치하는 호출은 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 개인 설정의 거부 규칙과 일치하는 호출이 `"user_reject"`를 내보냅니다. 거부로 취급됩니다.

961* `tool_parameters` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 도구별 매개변수를 포함하는 JSON 문자열. [도구 결과 이벤트](#tool-result-event)와 동일한 형태이지만 `git_commit_id`와 같은 실행 후 필드는 제외됩니다. 권한 결정이 `updatedInput`을 통해 도구 입력을 다시 쓸 경우 수락된 호출의 `tool_result`와 값이 다를 수 있습니다. 이 속성을 사용하여 `decision`이 `"reject"`일 때 어떤 명령이 거부되었는지 확인하세요.967* `tool_parameters` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 도구별 매개변수를 포함하는 JSON 문자열. [도구 결과 이벤트](#tool-result-event)와 동일한 형태이지만 `git_commit_id`와 같은 실행 후 필드는 제외됩니다. 수락된 호출의 경우 `tool_result`와 다를 수 있습니다(권한 결정이 `updatedInput`을 통해 도구 입력을 다시 쓸 경우). 이 속성을 사용하여 `decision`이 `"reject"`일 때 어느 명령이 거부되었는지 확인합니다.

962 * `"sdk_host_builtin_mcp"` 도구의 경우: `mcp_server_name` 및 `mcp_tool_name`은 `OTEL_LOG_TOOL_DETAILS`가 꺼져 있어도 포함됩니다. 호스트 애플리케이션이 이러한 이름을 정의하기 때문입니다. 이들이 없으면 이러한 기본 제공 서버 중 하나에 대한 거부된 호출은 기본 스트림에서 속성을 지정할 수 없습니다. 사용자 구성 MCP 서버의 경우, 이벤트의 `tool_name`은 항상 리터럴 `"mcp_tool"`이고, 서버 및 도구 이름은 플래그가 켜져 있을 때만 `tool_parameters`에 나타납니다. 인수 콘텐츠는 모든 곳에서 플래그가 필요합니다. Claude Code v2.1.214 이상 필요968 * `"sdk_host_builtin_mcp"` 도구의 경우: `OTEL_LOG_TOOL_DETAILS`가 꺼져 있어도 `mcp_server_name` 및 `mcp_tool_name`이 포함됩니다(호스트 애플리케이션이 이러한 이름을 정의하기 때문); 이들이 없으면 이러한 기본 제공 서버 중 하나에 대한 거부된 호출은 기본 스트림에서 속성화할 수 없습니다. 사용자 구성 MCP 서버의 경우 이벤트의 `tool_name`은 항상 리터럴 `"mcp_tool"`이고, 서버 및 도구 이름은 플래그가 켜져 있을 때만 `tool_parameters`에 나타납니다; 인수 콘텐츠는 모든 곳에서 플래그가 필요합니다. Claude Code v2.1.214 이상 필요

963 * Bash 도구의 경우: `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`를 포함합니다. 데스크톱 앱의 작업 공간 bash 도구도 `tool_name`을 `Bash`로 보고하지만 `bash_command`, `full_command`, 및 `timeout`만 포함합니다.969 * Bash 도구의 경우: `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`를 포함합니다. 데스크톱 앱의 작업 공간 bash 도구도 `tool_name`을 `Bash`로 보고하지만 `bash_command`, `full_command`, 및 `timeout`만 포함합니다.

964 * MCP 도구의 경우: `mcp_server_name`, `mcp_tool_name`을 포함합니다.970 * MCP 도구의 경우: `mcp_server_name`, `mcp_tool_name`을 포함합니다.

965 * Skill 도구의 경우: `skill_name`을 포함합니다.971 * Skill 도구의 경우: `skill_name`을 포함합니다.


969 권한 모드 변경 이벤트975 권한 모드 변경 이벤트

970</h4>976</h4>

971 977 

972권한 모드가 변경될 때 기록됩니다. 예를 들어 `Shift+Tab` 순환, 계획 모드 종료, 또는 자동 모드 게이트 확인에서.978권한 모드가 변경될 때(예: `Shift+Tab` 순환, 계획 모드 종료, 또는 자동 모드 게이트 확인) 기록됩니다.

973 979 

974**이벤트 이름**: `claude_code.permission_mode_changed`980**이벤트 이름**: `claude_code.permission_mode_changed`

975 981 


978* 모든 [표준 속성](#standard-attributes)984* 모든 [표준 속성](#standard-attributes)

979* `event.name`: `"permission_mode_changed"`985* `event.name`: `"permission_mode_changed"`

980* `event.timestamp`: ISO 8601 타임스탬프986* `event.timestamp`: ISO 8601 타임스탬프

981* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)987* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

982* `from_mode`: 이전 권한 모드(예: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, 또는 `"bypassPermissions"`)988* `from_mode`: 이전 권한 모드(예: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, 또는 `"bypassPermissions"`)

983* `to_mode`: 새 권한 모드989* `to_mode`: 새로운 권한 모드

984* `trigger`: 변경을 야기한 것. `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, 또는 `"auto_opt_in"` 중 하나. SDK 또는 브리지에서 전환이 시작될 때는 없습니다.990* `trigger`: 변경을 야기한 것. `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, 또는 `"auto_opt_in"` 중 하나입니다. SDK 또는 브리지에서 전환이 시작될 때는 없습니다.

985 991 

986<h4 id="auth-event">992<h4 id="auth-event">

987 인증 이벤트993 인증 이벤트


996* 모든 [표준 속성](#standard-attributes)1002* 모든 [표준 속성](#standard-attributes)

997* `event.name`: `"auth"`1003* `event.name`: `"auth"`

998* `event.timestamp`: ISO 8601 타임스탬프1004* `event.timestamp`: ISO 8601 타임스탬프

999* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1005* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1000* `action`: `"login"` 또는 `"logout"`1006* `action`: `"login"` 또는 `"logout"`

1001* `success`: `"true"` 또는 `"false"`1007* `success`: `"true"` 또는 `"false"`

1002* `auth_method`: 인증 방법(예: `"oauth"`)1008* `auth_method`: 인증 방법(예: `"oauth"`)

1003* `error_category`: 작업이 실패했을 때의 범주별 오류 종류. 원본 오류 메시지는 절대 포함되지 않습니다.1009* `error_category`: 작업이 실패했을 때의 범주별 오류 종류. 원시 오류 메시지는 절대 포함되지 않습니다.

1004* `status_code`: 작업이 HTTP 오류로 실패했을 때의 HTTP 상태 코드(문자열)1010* `status_code`: 작업이 HTTP 오류로 실패했을 때의 HTTP 상태 코드(문자열)

1005 1011 

1006<h4 id="mcp-server-connection-event">1012<h4 id="mcp-server-connection-event">


1016* 모든 [표준 속성](#standard-attributes)1022* 모든 [표준 속성](#standard-attributes)

1017* `event.name`: `"mcp_server_connection"`1023* `event.name`: `"mcp_server_connection"`

1018* `event.timestamp`: ISO 8601 타임스탬프1024* `event.timestamp`: ISO 8601 타임스탬프

1019* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1025* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1020* `status`: `"connected"`, `"failed"`, 또는 `"disconnected"`1026* `status`: `"connected"`, `"failed"`, 또는 `"disconnected"`

1021* `transport_type`: 서버 전송(예: `"stdio"`, `"sse"`, 또는 `"http"`)1027* `transport_type`: 서버 전송(예: `"stdio"`, `"sse"`, 또는 `"http"`)

1022* `server_scope`: 서버가 구성된 범위(예: `"user"`, `"project"`, 또는 `"local"`)1028* `server_scope`: 서버가 구성된 범위(예: `"user"`, `"project"`, 또는 `"local"`)

1023* `duration_ms`: 연결 시도 지속 시간(밀리초)1029* `duration_ms`: 밀리초 단위의 연결 시도 기간

1024* `error_code`: 연결이 실패했을 때의 오류 코드1030* `error_code`: 연결이 실패했을 때의 오류 코드

1025* `is_plugin`: 서버가 플러그인에 의해 제공될 때 `true`, 그 외에는 `false`1031* `is_plugin`: 서버가 플러그인에 의해 제공될 때 `true`, 그 외에는 `false`

1026* `plugin_id_hash` (`is_plugin`이 `true`일 때): 플러그인 이름과 마켓플레이스의 안정적인 해시(이름을 노출하지 않고 플러그인별로 이벤트를 그룹화하기 위해). Claude Code는 [플러그인 로드 이벤트](#plugin-loaded-event) 아래에 설명된 대로 계산합니다.1032* `plugin_id_hash` (`is_plugin`이 `true`일 때): 플러그인 이름과 마켓플레이스의 안정적인 해시(이름을 노출하지 않고 플러그인별로 이벤트를 그룹화하기 위해). Claude Code는 [플러그인 로드 이벤트](#plugin-loaded-event)에서 설명한 대로 계산합니다.

1027* `plugin.name` (`is_plugin`이 `true`일 때): 서버를 제공하는 플러그인의 이름. 타사 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 리터럴 문자열 `"third-party"`입니다. 이는 기본적으로 로그에 타사 플러그인 이름이 나타나는 것을 방지합니다. 공식 Anthropic 소스의 플러그인은 항상 이름으로 식별됩니다. `plugin_id_hash` 및 `plugin.name` 속성은 자신의 모니터링 백엔드로 흐르며 Anthropic으로 전송되지 않습니다.1033* `plugin.name` (`is_plugin`이 `true`일 때): 서버를 제공하는 플러그인의 이름. 타사 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 리터럴 문자열 `"third-party"`입니다; 이는 기본적으로 로그에 타사 플러그인 이름이 나타나는 것을 방지합니다. 공식 Anthropic 소스의 플러그인은 항상 이름으로 식별됩니다. `plugin_id_hash` 및 `plugin.name` 속성은 자신의 모니터링 백엔드로 흐르며 Anthropic으로 전송되지 않습니다.

1028* `server_name` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 구성된 서버 이름1034* `server_name` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 구성된 서버 이름

1029* `error` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 연결이 실패했을 때의 전체 오류 메시지1035* `error` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 연결이 실패했을 때의 전체 오류 메시지

1030 1036 


1032 내부 오류 이벤트1038 내부 오류 이벤트

1033</h4>1039</h4>

1034 1040 

1035Claude Code가 예상치 못한 내부 오류를 포착할 때 기록됩니다. 오류 클래스 이름과 errno 스타일 코드만 기록됩니다. 오류 메시지와 스택 추적은 절대 포함되지 않습니다. 이 이벤트는 Amazon Bedrock, Google Cloud의 Agent Platform, 또는 Microsoft Foundry에 대해 실행 중이거나 `DISABLE_ERROR_REPORTING`이 설정되었을 때 내보내지지 않습니다.1041Claude Code가 예상치 못한 내부 오류를 포착할 때 기록됩니다. 오류 클래스 이름과 errno 스타일 코드만 기록됩니다. 오류 메시지와 스택 추적은 절대 포함되지 않습니다. 이 이벤트는 Amazon Bedrock, Google Cloud의 Agent Platform, 또는 Microsoft Foundry에 대해 실행하거나 `DISABLE_ERROR_REPORTING`이 설정되었을 때 내보내지 않습니다.

1036 1042 

1037**이벤트 이름**: `claude_code.internal_error`1043**이벤트 이름**: `claude_code.internal_error`

1038 1044 


1041* 모든 [표준 속성](#standard-attributes)1047* 모든 [표준 속성](#standard-attributes)

1042* `event.name`: `"internal_error"`1048* `event.name`: `"internal_error"`

1043* `event.timestamp`: ISO 8601 타임스탬프1049* `event.timestamp`: ISO 8601 타임스탬프

1044* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1050* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1045* `error_name`: 오류 클래스 이름(예: `"TypeError"` 또는 `"SyntaxError"`)1051* `error_name`: 오류 클래스 이름(예: `"TypeError"` 또는 `"SyntaxError"`)

1046* `error_code`: 오류에 있을 때의 Node.js errno 코드(예: `"ENOENT"`)1052* `error_code`: 오류에 있을 때 Node.js errno 코드(예: `"ENOENT"`)

1047 1053 

1048<h4 id="plugin-installed-event">1054<h4 id="plugin-installed-event">

1049 플러그인 설치 이벤트1055 플러그인 설치 이벤트

1050</h4>1056</h4>

1051 1057 

1052플러그인이 설치를 완료할 때 기록됩니다. `claude plugin install` CLI 명령과 대화형 `/plugin` UI 모두에서.1058플러그인이 설치를 완료할 때 기록됩니다(`claude plugin install` CLI 명령 및 대화형 `/plugin` UI 모두).

1053 1059 

1054**이벤트 이름**: `claude_code.plugin_installed`1060**이벤트 이름**: `claude_code.plugin_installed`

1055 1061 


1058* 모든 [표준 속성](#standard-attributes)1064* 모든 [표준 속성](#standard-attributes)

1059* `event.name`: `"plugin_installed"`1065* `event.name`: `"plugin_installed"`

1060* `event.timestamp`: ISO 8601 타임스탬프1066* `event.timestamp`: ISO 8601 타임스탬프

1061* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1067* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1062* `marketplace.is_official`: 마켓플레이스가 공식 Anthropic 마켓플레이스일 때 `"true"`, 그 외에는 `"false"`1068* `marketplace.is_official`: 마켓플레이스가 공식 Anthropic 마켓플레이스일 때 `"true"`, 그 외에는 `"false"`

1063* `install.trigger`: `"cli"` 또는 `"ui"`1069* `install.trigger`: `"cli"` 또는 `"ui"`

1064* `plugin.name`: 설치된 플러그인의 이름. 타사 마켓플레이스의 경우 `OTEL_LOG_TOOL_DETAILS=1`일 때만 포함됩니다.1070* `plugin.name`: 설치된 플러그인의 이름. 타사 마켓플레이스의 경우 `OTEL_LOG_TOOL_DETAILS=1`일 때만 포함됩니다.


1069 플러그인 로드 이벤트1075 플러그인 로드 이벤트

1070</h4>1076</h4>

1071 1077 

1072세션 시작 시 활성화된 플러그인당 한 번 기록됩니다. 이 이벤트를 사용하여 플릿 전체에서 활성화된 플러그인을 인벤토리하세요. `plugin_installed`는 설치 작업 자체를 기록하는 보완입니다.1078세션 시작 시 활성화된 플러그인당 한 번 기록됩니다. 이 이벤트를 사용하여 플릿 전체에서 활성화된 플러그인을 인벤토리하세요(설치 작업 자체를 기록하는 `plugin_installed`의 보완).

1073 1079 

1074**이벤트 이름**: `claude_code.plugin_loaded`1080**이벤트 이름**: `claude_code.plugin_loaded`

1075 1081 


1078* 모든 [표준 속성](#standard-attributes)1084* 모든 [표준 속성](#standard-attributes)

1079* `event.name`: `"plugin_loaded"`1085* `event.name`: `"plugin_loaded"`

1080* `event.timestamp`: ISO 8601 타임스탬프1086* `event.timestamp`: ISO 8601 타임스탬프

1081* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1087* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1082* `plugin.name`: 플러그인의 이름. 공식 마켓플레이스 및 기본 제공 번들 외부의 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `"third-party"`입니다.1088* `plugin.name`: 플러그인의 이름. 공식 마켓플레이스 및 기본 제공 번들 외부의 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 `"third-party"`입니다.

1083* `marketplace.name`: 플러그인이 설치된 마켓플레이스(알려진 경우). `plugin.name`과 동일한 조건에서 `"third-party"`로 수정됩니다.1089* `marketplace.name`: 플러그인이 설치된 마켓플레이스(알려진 경우). `plugin.name`과 동일한 조건에서 `"third-party"`로 삭제됩니다.

1084* `plugin.version`: 플러그인 매니페스트의 버전. 이름이 수정되지 않고 매니페스트가 버전을 선언할 때만 포함됩니다.1090* `plugin.version`: 플러그인 매니페스트의 버전. 이름이 삭제되지 않고 매니페스트가 버전을 선언할 때만 포함됩니다.

1085* `plugin.scope`: 플러그인의 출처 범주: `"official"`, `"community"`, `"org"`, `"user-local"`, 또는 `"default-bundle"`1091* `plugin.scope`: 플러그인의 출처 범주: `"official"`, `"community"`, `"org"`, `"user-local"`, 또는 `"default-bundle"`

1086* `enabled_via`: 플러그인이 활성화되도록 된 방식: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"`, 또는 `"user-install"`. `"admin-install"` 값은 플러그인이 [**조직 설정 > 플러그인**](https://claude.ai/admin-settings/plugins)에서 조직에 대해 필수 또는 자동 설치로 설정되어 있음을 의미합니다. v2.1.246 이전에는 Claude Code가 이러한 플러그인을 `"user-install"` 또는 `"seed-mount"`로 보고했습니다.1092* `enabled_via`: 플러그인이 활성화되게 된 방식: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"`, 또는 `"user-install"`.&#x20;

1087* `plugin_id_hash`: 플러그인 이름과 마켓플레이스의 결정적 해시(구성된 내보내기로만 전송됨). 이름을 기록하지 않고 플릿 전체에서 로드된 서로 다른 타사 플러그인을 계산할 수 있습니다. [claude.ai에서 동기화된 플러그인](/docs/ko/plugins-reference#synced-plugins)의 경우, Claude Code는 플러그인 이름을 claude.ai가 플러그인에 대해 보고하는 마켓플레이스 이름과 함께 해시하거나, 그 외에는 `synced`와 함께 해시합니다. v2.1.246 이전에는 Claude Code가 해시에서 claude.ai가 보고하는 마켓플레이스 이름을 사용하지 않았습니다.1093 `"admin-install"` 값은 플러그인이 [**조직 설정 > 플러그인**](https://claude.ai/admin-settings/plugins)에서 조직에 필수 또는 자동 설치로 설정되어 있음을 의미합니다. v2.1.246 이전에는 Claude Code가 이러한 플러그인을 `"user-install"` 또는 `"seed-mount"`로 보고했습니다.

1094* `plugin_id_hash`: 플러그인 이름과 마켓플레이스의 결정적 해시(구성된 내보내기로만 전송됨). 이름을 기록하지 않고 플릿 전체에서 로드된 서로 다른 타사 플러그인을 계산할 수 있습니다. [claude.ai에서 동기화된 플러그인](/docs/ko/plugins-reference#synced-plugins)의 경우 Claude Code는 플러그인 이름을 claude.ai가 플러그인에 대해 보고하는 마켓플레이스 이름 또는 그 외의 경우 `synced`와 함께 해시합니다. v2.1.246 이전에는 Claude Code가 해시에서 claude.ai가 보고하는 마켓플레이스 이름을 사용하지 않았습니다.

1088* `has_hooks`: 플러그인이 훅을 제공하는지 여부1095* `has_hooks`: 플러그인이 훅을 제공하는지 여부

1089* `has_mcp`: 플러그인이 MCP 서버를 제공하는지 여부1096* `has_mcp`: 플러그인이 MCP 서버를 제공하는지 여부

1090* `host_owned_mcp`: SDK 호스트가 이 플러그인의 MCP 연결을 관리하고 Claude Code가 플러그인의 MCP 서버 구성 읽기를 건너뛸 때 `true`, 그 외에는 `false`. Claude Code v2.1.172 이상 필요1097* `host_owned_mcp`: SDK 호스트가 이 플러그인의 MCP 연결을 관리하고 Claude Code가 플러그인의 MCP 서버 구성 읽기를 건너뛸 때 `true`, 그 외에는 `false`. Claude Code v2.1.172 이상 필요

1091* `skill_path_count`: 플러그인이 선언하는 스킬 디렉토리 수1098* `skill_path_count`: 플러그인이 선언하는 스킬 디렉토리 수

1092* `command_path_count`: 플러그인이 선언하는 명령 디렉토리 수1099* `command_path_count`: 플러그인이 선언하는 명령 디렉토리 수

1093* `agent_path_count`: 플러그인이 선언하는 에이전트 디렉토리 수1100* `agent_path_count`: 플러그인이 선언하는 에이전트 디렉토리 수

1094* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. 안전 모드에서 이 이벤트는 구성된 인벤토리만 보고합니다. 플러그인의 명령, 스킬, 훅, 및 MCP 서버는 로드되지 않습니다. Claude Code v2.1.169 이상 필요1101* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. 안전 모드에서 이 이벤트는 구성된 인벤토리만 보고합니다; 플러그인의 명령, 스킬, 훅, 및 MCP 서버는 로드되지 않습니다. Claude Code v2.1.169 이상 필요

1095 1102 

1096<h4 id="skill-activated-event">1103<h4 id="skill-activated-event">

1097 스킬 활성화 이벤트1104 스킬 활성화 이벤트

1098</h4>1105</h4>

1099 1106 

1100스킬이 호출될 때 기록됩니다. Claude가 Skill 도구를 통해 호출하든 `/` 명령으로 실행하든.1107스킬이 호출될 때 기록됩니다(Claude가 Skill 도구를 통해 호출하거나 `/` 명령으로 실행할 때).

1101 1108 

1102**이벤트 이름**: `claude_code.skill_activated`1109**이벤트 이름**: `claude_code.skill_activated`

1103 1110 


1106* 모든 [표준 속성](#standard-attributes)1113* 모든 [표준 속성](#standard-attributes)

1107* `event.name`: `"skill_activated"`1114* `event.name`: `"skill_activated"`

1108* `event.timestamp`: ISO 8601 타임스탬프1115* `event.timestamp`: ISO 8601 타임스탬프

1109* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1116* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1110* `skill.name`: 스킬의 이름. 사용자 정의 및 타사 플러그인 스킬의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 플레이스홀더 `"custom_skill"`입니다.1117* `skill.name`: 스킬의 이름. 사용자 정의 및 타사 플러그인 스킬의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 플레이스홀더 `"custom_skill"`입니다.

1111* `invocation_trigger`: 스킬이 트리거된 방식(`"user-slash"`, `"claude-proactive"`, 또는 `"nested-skill"`)1118* `invocation_trigger`: 스킬이 트리거된 방식(`"user-slash"`, `"claude-proactive"`, 또는 `"nested-skill"`)

1112* `skill.source`: 스킬이 로드된 위치(예: `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)1119* `skill.source`: 스킬이 로드된 위치(예: `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)

1113* `skill.kind`: 스킬이 워크플로우 스킬일 때 `"workflow"`. 그 외에는 없습니다.1120* `skill.kind`: 스킬이 워크플로우 스킬일 때 `"workflow"`. 그 외에는 없습니다.

1114* `plugin.name` (`OTEL_LOG_TOOL_DETAILS=1`이거나 플러그인이 공식 마켓플레이스에서 나올 때): 스킬이 플러그인에 의해 제공될 때의 소유 플러그인의 이름1121* `plugin.name` (`OTEL_LOG_TOOL_DETAILS=1`이거나 플러그인이 공식 마켓플레이스에서 온 경우): 스킬이 플러그인에 의해 제공될 때 소유 플러그인의 이름

1115* `marketplace.name` (`OTEL_LOG_TOOL_DETAILS=1`이거나 플러그인이 공식 마켓플레이스에서 나올 때): 스킬이 플러그인에 의해 제공될 때, 소유 플러그인이 설치된 마켓플레이스1122* `marketplace.name` (`OTEL_LOG_TOOL_DETAILS=1`이거나 플러그인이 공식 마켓플레이스에서 온 경우): 스킬이 플러그인에 의해 제공될 때 소유 플러그인이 설치된 마켓플레이스

1116 1123 

1117<h4 id="at-mention-event">1124<h4 id="at-mention-event">

1118 @ 멘션 이벤트1125 @ 멘션 이벤트

1119</h4>1126</h4>

1120 1127 

1121Claude Code가 프롬프트의 `@`-멘션을 해결할 때 기록됩니다. 모든 멘션이 이벤트를 내보내는 것은 아닙니다. 권한 거부, 과도한 파일, PDF 참조 첨부, 및 디렉토리 나열 실패와 같은 조기 종료 경로는 로깅 없이 반환됩니다.1128Claude Code가 프롬프트의 `@` 멘션을 해결할 때 기록됩니다. 모든 멘션이 이벤트를 내보내는 것은 아닙니다: 권한 거부, 과도한 파일, PDF 참조 첨부, 및 디렉토리 목록 실패와 같은 조기 종료 경로는 로깅 없이 반환됩니다.

1122 1129 

1123**이벤트 이름**: `claude_code.at_mention`1130**이벤트 이름**: `claude_code.at_mention`

1124 1131 


1127* 모든 [표준 속성](#standard-attributes)1134* 모든 [표준 속성](#standard-attributes)

1128* `event.name`: `"at_mention"`1135* `event.name`: `"at_mention"`

1129* `event.timestamp`: ISO 8601 타임스탬프1136* `event.timestamp`: ISO 8601 타임스탬프

1130* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1137* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1131* `mention_type`: 멘션의 유형(`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). `"peer"` 값은 [다른 Claude Code 세션](/docs/ko/cross-session-messaging) 중 하나를 멘션했음을 의미합니다. Claude Code v2.1.232 이상 필요1138* `mention_type`: 멘션의 유형(`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`).&#x20;

1139 `"peer"` 값은 [다른 Claude Code 세션](/docs/ko/cross-session-messaging) 중 하나를 멘션했음을 의미합니다. Claude Code v2.1.232 이상 필요

1132* `success`: 멘션이 성공적으로 해결되었는지 여부(`"true"` 또는 `"false"`)1140* `success`: 멘션이 성공적으로 해결되었는지 여부(`"true"` 또는 `"false"`)

1133 1141 

1134<h4 id="api-retries-exhausted-event">1142<h4 id="api-retries-exhausted-event">

1135 API 재시도 소진 이벤트1143 API 재시도 소진 이벤트

1136</h4>1144</h4>

1137 1145 

1138API 요청이 둘 이상의 시도 후 실패할 때 한 번 기록됩니다. 최종 `api_error` 이벤트와 함께 내보내집니다.1146API 요청이 두 번 이상 시도 후 실패할 때 한 번 기록됩니다. 최종 `api_error` 이벤트와 함께 내보내집니다.

1139 1147 

1140**이벤트 이름**: `claude_code.api_retries_exhausted`1148**이벤트 이름**: `claude_code.api_retries_exhausted`

1141 1149 


1144* 모든 [표준 속성](#standard-attributes)1152* 모든 [표준 속성](#standard-attributes)

1145* `event.name`: `"api_retries_exhausted"`1153* `event.name`: `"api_retries_exhausted"`

1146* `event.timestamp`: ISO 8601 타임스탬프1154* `event.timestamp`: ISO 8601 타임스탬프

1147* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1155* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1148* `model`: 사용된 모델1156* `model`: 사용된 모델

1149* `error`: 최종 오류 메시지1157* `error`: 최종 오류 메시지

1150* `status_code`: HTTP 상태 코드(숫자). 비HTTP 오류의 경우 없습니다.1158* `status_code`: HTTP 상태 코드(숫자). 비 HTTP 오류의 경우 없습니다.

1151* `total_attempts`: 수행된 총 시도 횟수1159* `total_attempts`: 수행된 총 시도 횟수

1152* `total_retry_duration_ms`: 모든 시도에 걸친 총 벽시계 시간1160* `total_retry_duration_ms`: 모든 시도에 걸친 총 벽시계 시간

1153* `speed`: `"fast"` 또는 `"normal"`1161* `speed`: `"fast"` 또는 `"normal"`


1156 훅 등록 이벤트1164 훅 등록 이벤트

1157</h4>1165</h4>

1158 1166 

1159세션 시작 시 구성된 훅당 한 번 기록됩니다. 이 이벤트를 사용하여 플릿 전체에서 활성화된 훅을 인벤토리하세요. 실행별 `hook_execution_start` 및 `hook_execution_complete` 이벤트를 보완합니다.1167세션 시작 시 구성된 훅당 한 번 기록됩니다. 이 이벤트를 사용하여 플릿 전체에서 활성화된 훅을 인벤토리하세요(실행별 `hook_execution_start` 및 `hook_execution_complete` 이벤트의 보완).

1160 1168 

1161**이벤트 이름**: `claude_code.hook_registered`1169**이벤트 이름**: `claude_code.hook_registered`

1162 1170 


1165* 모든 [표준 속성](#standard-attributes)1173* 모든 [표준 속성](#standard-attributes)

1166* `event.name`: `"hook_registered"`1174* `event.name`: `"hook_registered"`

1167* `event.timestamp`: ISO 8601 타임스탬프1175* `event.timestamp`: ISO 8601 타임스탬프

1168* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1176* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1169* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)1177* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)

1170* `hook_type`: 훅 구현 유형: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, 또는 `"agent"`1178* `hook_type`: 훅 구현 유형: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, 또는 `"agent"`

1171* `hook_source`: 훅이 정의된 위치: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, 또는 `"pluginHook"`1179* `hook_source`: 훅이 정의된 위치: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, 또는 `"pluginHook"`

1172* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. Claude Code v2.1.169 이상 필요1180* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. Claude Code v2.1.169 이상 필요

1173* `hook_matcher` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 훅 구성에서 설정된 경우의 매처 문자열1181* `hook_matcher` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 훅 구성에서 설정된 경우 훅 구성의 매처 문자열

1174* `plugin.name` (`hook_source`가 `"pluginHook"`일 때): 기여하는 플러그인의 이름. 공식 마켓플레이스 및 기본 제공 번들 외부의 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `"third-party"`입니다.1182* `plugin.name` (`hook_source`가 `"pluginHook"`일 때): 기여하는 플러그인의 이름. 공식 마켓플레이스 및 기본 제공 번들 외부의 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 `"third-party"`입니다.

1175* `plugin_id_hash` (`hook_source`가 `"pluginHook"`일 때): 플러그인 이름과 마켓플레이스의 결정적 해시(구성된 내보내기로만 전송됨). 이름을 기록하지 않고 기여하는 서로 다른 플러그인을 계산할 수 있습니다. Claude Code는 [플러그인 로드 이벤트](#plugin-loaded-event) 아래에 설명된 대로 계산합니다.1183* `plugin_id_hash` (`hook_source`가 `"pluginHook"`일 때): 플러그인 이름과 마켓플레이스의 결정적 해시(구성된 내보내기로만 전송됨). 이름을 기록하지 않고 기여하는 서로 다른 플러그인을 계산할 수 있습니다. Claude Code는 [플러그인 로드 이벤트](#plugin-loaded-event)에서 설명한 대로 계산합니다.

1176 1184 

1177<h4 id="hook-execution-start-event">1185<h4 id="hook-execution-start-event">

1178 훅 실행 시작 이벤트1186 훅 실행 시작 이벤트


1187* 모든 [표준 속성](#standard-attributes)1195* 모든 [표준 속성](#standard-attributes)

1188* `event.name`: `"hook_execution_start"`1196* `event.name`: `"hook_execution_start"`

1189* `event.timestamp`: ISO 8601 타임스탬프1197* `event.timestamp`: ISO 8601 타임스탬프

1190* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1198* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1191* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)1199* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)

1192* `hook_name`: 매처를 포함한 전체 훅 이름(예: `"PreToolUse:Write"`)1200* `hook_name`: 매처를 포함한 전체 훅 이름(예: `"PreToolUse:Write"`)

1193* `num_hooks`: 일치하는 훅 명령 수1201* `num_hooks`: 일치하는 훅 명령 수

1194* `managed_only`: 관리 정책 훅만 허용될 때 `"true"`1202* `managed_only`: 관리 정책 훅만 허용될 때 `"true"`

1195* `hook_source`: `"policySettings"` 또는 `"merged"`1203* `hook_source`: `"policySettings"` 또는 `"merged"`

1196* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. Claude Code v2.1.169 이상 필요1204* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. Claude Code v2.1.169 이상 필요

1197* `hook_definitions`: JSON 직렬화된 훅 구성. 상세 베타 추적과 `OTEL_LOG_TOOL_DETAILS=1`이 모두 활성화되었을 때만 포함됨1205* `hook_definitions`: JSON 직렬화된 훅 구성. 상세 베타 추적과 `OTEL_LOG_TOOL_DETAILS=1`이 모두 활성화되었을 때만 포함됩니다.

1198 1206 

1199<h4 id="hook-execution-complete-event">1207<h4 id="hook-execution-complete-event">

1200 훅 실행 완료 이벤트1208 훅 실행 완료 이벤트


1209* 모든 [표준 속성](#standard-attributes)1217* 모든 [표준 속성](#standard-attributes)

1210* `event.name`: `"hook_execution_complete"`1218* `event.name`: `"hook_execution_complete"`

1211* `event.timestamp`: ISO 8601 타임스탬프1219* `event.timestamp`: ISO 8601 타임스탬프

1212* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1220* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1213* `hook_event`: 훅 이벤트 유형1221* `hook_event`: 훅 이벤트 유형

1214* `hook_name`: 매처를 포함한 전체 훅 이름1222* `hook_name`: 매처를 포함한 전체 훅 이름

1215* `num_hooks`: 일치하는 훅 명령 수1223* `num_hooks`: 일치하는 훅 명령 수


1217* `num_blocking`: 차단 결정을 반환한 수1225* `num_blocking`: 차단 결정을 반환한 수

1218* `num_non_blocking_error`: 차단 없이 실패한 수1226* `num_non_blocking_error`: 차단 없이 실패한 수

1219* `num_cancelled`: 완료 전에 취소된 수1227* `num_cancelled`: 완료 전에 취소된 수

1220* `total_duration_ms`: 모든 일치하는 훅의 벽시계 지속 시간1228* `total_duration_ms`: 모든 일치하는 훅의 벽시계 기간

1221* `managed_only`: 관리 정책 훅만 허용될 때 `"true"`1229* `managed_only`: 관리 정책 훅만 허용될 때 `"true"`

1222* `hook_source`: `"policySettings"` 또는 `"merged"`1230* `hook_source`: `"policySettings"` 또는 `"merged"`

1223* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. Claude Code v2.1.169 이상 필요1231* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. Claude Code v2.1.169 이상 필요

1224* `hook_definitions`: JSON 직렬화된 훅 구성. 상세 베타 추적과 `OTEL_LOG_TOOL_DETAILS=1`이 모두 활성화되었을 때만 포함됨1232* `hook_definitions`: JSON 직렬화된 훅 구성. 상세 베타 추적과 `OTEL_LOG_TOOL_DETAILS=1`이 모두 활성화되었을 때만 포함됩니다.

1225 1233 

1226<h4 id="hook-plugin-metrics-event">1234<h4 id="hook-plugin-metrics-event">

1227 훅 플러그인 메트릭 이벤트1235 훅 플러그인 메트릭 이벤트

1228</h4>1236</h4>

1229 1237 

1230공식 마켓플레이스 플러그인 훅이 호출별 메트릭을 내보낼 때 기록됩니다. 공식 Anthropic 마켓플레이스에서 설치된 플러그인만 이를 내보낼 수 있습니다. 타사 마켓플레이스 플러그인 및 사용자 구성 훅은 이 이벤트로 내보내지 않습니다. 이 이벤트를 사용하여 자신의 관찰성 스택에서 찾기 비율, 비용, 및 지속 시간과 같은 플러그인 동작을 모니터링하세요.1238공식 마켓플레이스 플러그인 훅이 호출별 메트릭을 내보낼 때 기록됩니다. 공식 Anthropic 마켓플레이스에서 설치된 플러그인만 이를 내보낼 수 있습니다. 타사 마켓플레이스 플러그인 및 사용자 구성 훅은 이 이벤트로 내보내지 않습니다. 이 이벤트를 사용하여 자신의 관찰성 스택에서 찾기 비율, 비용, 및 플러그인 동작의 기간과 같은 것을 모니터링합니다.

1231 1239 

1232**이벤트 이름**: `claude_code.hook_plugin_metrics`1240**이벤트 이름**: `claude_code.hook_plugin_metrics`

1233 1241 


1236* 모든 [표준 속성](#standard-attributes)1244* 모든 [표준 속성](#standard-attributes)

1237* `event.name`: `"hook_plugin_metrics"`1245* `event.name`: `"hook_plugin_metrics"`

1238* `event.timestamp`: ISO 8601 타임스탬프1246* `event.timestamp`: ISO 8601 타임스탬프

1239* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1247* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1240* `plugin_id`: `<name>@<marketplace>` 형식의 플러그인 식별자1248* `plugin_id`: `<name>@<marketplace>` 형식의 플러그인 식별자

1241* `hook_event`: 메트릭을 내보낸 훅 이벤트 유형1249* `hook_event`: 메트릭을 내보낸 훅 이벤트 유형

1242* 최대 20개의 플러그인 내보낸 메트릭 키. 이름은 `^[a-z][a-z0-9_]{0,39}$`와 일치합니다. 값은 부울 또는 숫자입니다.1250* 최대 20개의 플러그인 내보낸 메트릭 키. 이름은 `^[a-z][a-z0-9_]{0,39}$`와 일치합니다. 값은 부울 또는 숫자입니다.


1254* 모든 [표준 속성](#standard-attributes)1262* 모든 [표준 속성](#standard-attributes)

1255* `event.name`: `"compaction"`1263* `event.name`: `"compaction"`

1256* `event.timestamp`: ISO 8601 타임스탬프1264* `event.timestamp`: ISO 8601 타임스탬프

1257* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1265* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1258* `trigger`: `"auto"` 또는 `"manual"`1266* `trigger`: `"auto"` 또는 `"manual"`

1259* `success`: `"true"` 또는 `"false"`1267* `success`: `"true"` 또는 `"false"`

1260* `duration_ms`: 압축 지속 시간1268* `duration_ms`: 압축 기간

1261* `pre_tokens`: 압축 전 대략적인 토큰 수1269* `pre_tokens`: 압축 전 대략적인 토큰 수

1262* `post_tokens`: 압축 후 대략적인 토큰 수1270* `post_tokens`: 압축 후 대략적인 토큰 수

1263* `error`: 압축이 실패했을 때의 오류 메시지1271* `error`: 압축이 실패했을 때의 오류 메시지

1264* `precompute_reuse`: `trigger`가 `"manual"`일 때만 설정됩니다. 자동 압축은 컨텍스트 윈도우가 채워지기 전에 백그라운드에서 요약을 준비할 수 있으며, 이 속성은 `/compact`가 해당 준비된 요약을 재사용했는지 기록합니다. `"hit"`는 재사용되었음을 의미합니다. `"miss_custom_instructions"`, `"miss_hook"`, 및 `"miss_not_ready"`는 대신 새로운 요약이 계산된 이유를 제공합니다. Claude Code v2.1.153 이상 필요1272* `precompute_reuse`: `trigger`가 `"manual"`일 때만 설정됩니다. 자동 압축은 컨텍스트 윈도우가 채워지기 전에 백그라운드에서 요약을 준비할 수 있으며, 이 속성은 `/compact`가 해당 준비된 요약을 재사용했는지 기록합니다. `"hit"`는 재사용되었음을 의미합니다; `"miss_custom_instructions"`, `"miss_hook"`, 및 `"miss_not_ready"`는 대신 새로운 요약이 계산된 이유를 제공합니다. Claude Code v2.1.153 이상 필요

1265 1273 

1266<h4 id="subagent-completed-event">1274<h4 id="subagent-completed-event">

1267 하위 에이전트 완료 이벤트1275 하위 에이전트 완료 이벤트

1268</h4>1276</h4>

1269 1277 

1270[하위 에이전트](/docs/ko/sub-agents)가 완료되고 이를 시작한 대화에 결과를 반환할 때 기록됩니다. 하위 에이전트 유형별로 도구 사용 및 실행 시간을 롤업하는 데 사용하세요. 토큰 또는 비용 롤업의 경우, 이 이벤트의 `total_tokens`는 최종 요청만 포함하므로 `query_source` `"subagent"`로 필터링된 [토큰 카운터](#token-counter) 및 [비용 카운터](#cost-counter)를 사용하세요. `"subagent"` 범주는 또한 하위 에이전트 이벤트를 내보내지 않는 에이전트 기반 훅의 요청을 계산합니다.1278[하위 에이전트](/docs/ko/sub-agents)가 완료되고 결과를 시작한 대화에 반환할 때 기록됩니다. 하위 에이전트 유형별로 도구 사용 및 실행 시간을 롤업하는 데 사용합니다; 토큰 또는 비용 롤업의 경우 [토큰 카운터](#token-counter) 및 [비용 카운터](#cost-counter)를 `query_source` `"subagent"`로 필터링하여 사용합니다(이 이벤트의 `total_tokens`은 최종 요청만 포함). `"subagent"` 범주는 또한 하위 에이전트 이벤트를 내보내지 않는 에이전트 기반 훅의 요청도 계산합니다.

1271 1279 

1272**이벤트 이름**: `claude_code.subagent_completed`1280**이벤트 이름**: `claude_code.subagent_completed`

1273 1281 


1276* 모든 [표준 속성](#standard-attributes)1284* 모든 [표준 속성](#standard-attributes)

1277* `event.name`: `"subagent_completed"`1285* `event.name`: `"subagent_completed"`

1278* `event.timestamp`: ISO 8601 타임스탬프1286* `event.timestamp`: ISO 8601 타임스탬프

1279* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1287* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1280* `agent_type`: 하위 에이전트 유형. 기본 제공 에이전트 이름과 공식 마켓플레이스 플러그인의 에이전트는 그대로 나타납니다. 다른 에이전트 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `"custom"`으로 대체됩니다.1288* `agent_type`: 하위 에이전트 유형. 기본 제공 에이전트 이름과 공식 마켓플레이스 플러그인의 에이전트는 그대로 나타납니다; 다른 에이전트 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `"custom"`으로 대체됩니다.

1281* `agent.source`: 에이전트 정의가 어디서 나왔는지: `built-in`, `plugin`, 또는 `userSettings` 또는 `projectSettings`와 같은 사용자 정의 에이전트를 정의한 설정 소스1289* `agent.source`: 에이전트 정의가 나온 위치: `built-in`, `plugin`, 또는 `userSettings` 또는 `projectSettings`와 같은 사용자 정의 에이전트를 정의한 설정 소스

1282* `is_built_in`: 하위 에이전트가 기본 제공 에이전트 유형인지 여부1290* `is_built_in`: 하위 에이전트가 기본 제공 에이전트 유형인지 여부

1283* `is_async`: 하위 에이전트가 [백그라운드](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)에서 실행되었는지 여부1291* `is_async`: 하위 에이전트가 [백그라운드](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)에서 실행되었는지 여부

1284* `total_tokens`: 하위 에이전트의 최종 API 요청의 토큰 풋프린트: 해당 하나의 요청의 입력, 캐시 생성, 캐시 읽기, 및 출력 토큰(대략 완료 시 하위 에이전트의 컨텍스트 크기). 실행 전체에 걸친 합계가 아님1292* `total_tokens`: 하위 에이전트의 최종 API 요청의 토큰 풋프린트: 해당 하나의 요청의 입력, 캐시 생성, 캐시 읽기, 및 출력 토큰(대략 완료 시 하위 에이전트의 컨텍스트 크기). 실행 전체에 걸친 합계가 아닙니다.

1285* `total_tool_uses`: 하위 에이전트가 전체 실행에 걸쳐 수행한 도구 호출 수1293* `total_tool_uses`: 하위 에이전트가 전체 실행에 걸쳐 수행한 도구 호출 수

1286* `duration_ms`: 실행 시간(밀리초)1294* `duration_ms`: 밀리초 단위의 실행 시간

1287* `model`: 하위 에이전트가 실행하도록 해결된 모델1295* `model`: 하위 에이전트가 실행하도록 해결된 모델

1288* `final_model`: 하위 에이전트의 최종 응답을 생성한 모델(폴백과 같은 중간 실행 전환 후 `model`과 다름). Claude Code v2.1.212 이상 필요1296* `final_model`: 하위 에이전트의 최종 응답을 생성한 모델(폴백과 같은 중간 실행 전환 후 `model`과 다름). Claude Code v2.1.212 이상 필요

1289* `model_swapped`: 둘 이상의 모델이 하위 에이전트의 요청을 제공했는지 여부. Claude Code v2.1.212 이상 필요1297* `model_swapped`: 둘 이상의 모델이 하위 에이전트의 요청을 제공했는지 여부. Claude Code v2.1.212 이상 필요

1290* `plugin_id_hash`, `plugin.name`: 플러그인 제공 에이전트에 대해 있습니다. 공식 마켓플레이스 플러그인 이름은 그대로 나타납니다. 다른 플러그인 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `"third-party"`로 대체됩니다.1298* `plugin_id_hash`, `plugin.name`: 플러그인 제공 에이전트에 대해 있습니다. 공식 마켓플레이스 플러그인 이름은 그대로 나타납니다; 다른 플러그인 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `"third-party"`로 대체됩니다.

1291 1299 

1292<h4 id="feedback-survey-event">1300<h4 id="feedback-survey-event">

1293 피드백 설문 이벤트1301 피드백 설문 이벤트

1294</h4>1302</h4>

1295 1303 

1296세션 품질 설문이 표시되거나 답변될 때 기록됩니다. 설문이 수집하는 것과 이를 제어하는 방법은 [세션 품질 설문](/docs/ko/data-usage#session-quality-surveys)을 참조하세요.1304세션 품질 설문이 표시되거나 답변될 때 기록됩니다. 설문이 수집하는 것과 제어 방법에 대해서는 [세션 품질 설문](/docs/ko/data-usage#session-quality-surveys)을 참조하세요.

1297 1305 

1298**이벤트 이름**: `claude_code.feedback_survey`1306**이벤트 이름**: `claude_code.feedback_survey`

1299 1307 


1302* 모든 [표준 속성](#standard-attributes)1310* 모든 [표준 속성](#standard-attributes)

1303* `event.name`: `"feedback_survey"`1311* `event.name`: `"feedback_survey"`

1304* `event.timestamp`: ISO 8601 타임스탬프1312* `event.timestamp`: ISO 8601 타임스탬프

1305* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1313* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1306* `event_type`: 설문 생명 주기 이벤트(예: `"appeared"`, `"responded"`, 또는 `"transcript_prompt_appeared"`)1314* `event_type`: 설문 수명 주기 이벤트(예: `"appeared"`, `"responded"`, 또는 `"transcript_prompt_appeared"`)

1307* `appearance_id`: 하나의 설문 인스턴스에 대해 내보낸 이벤트를 연결하는 고유 ID1315* `appearance_id`: 하나의 설문 인스턴스에 대해 내보낸 이벤트를 연결하는 고유 ID

1308* `survey_type`: 이벤트를 생성한 설문. `"session"`은 "Claude가 어떻게 하고 있나요?" 평가 프롬프트입니다.1316* `survey_type`: 이벤트를 생성한 설문. `"session"`은 "Claude가 어떻게 하고 있나요?" 평가 프롬프트입니다.

1309* `response`: `responded` 이벤트의 사용자 선택1317* `response`: `responded` 이벤트의 사용자 선택

1310* `enabled_via_override`: [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/ko/env-vars)이 설정되었을 때 `true`. 부울로 내보내집니다(문자열이 아님). `session` 설문 이벤트에 있습니다. 이 속성으로 필터링하여 플릿 전체에서 재정의가 적용되었는지 확인하세요.1318* `enabled_via_override`: [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/ko/env-vars)이 설정되었을 때 `true`. 부울로 내보내집니다(문자열이 아님). `session` 설문 이벤트에 있습니다. 이 속성을 필터링하여 플릿 전체에서 재정의가 적용되었는지 확인합니다.

1311 1319 

1312<h4 id="retention-sweep-event">1320<h4 id="retention-sweep-event">

1313 보존 스윕 이벤트1321 보존 스윕 이벤트

1314</h4>1322</h4>

1315 1323 

1316[세션 트랜스크립트 및 기타 애플리케이션 데이터](/docs/ko/claude-directory#cleaned-up-automatically)를 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays) 설정보다 오래된 것을 삭제하는 보존 정리 스윕의 실행당 한 번 기록됩니다. Claude Code는 스윕을 백그라운드에서 세션당 최대 한 번 실행하며, 아무것도 삭제하지 않는 실행도 이벤트를 내보냅니다. Claude Code가 지난 24시간 동안 동일한 머신의 모든 세션에서 스윕을 실행했다면, 이 세션의 스윕을 최소 10분 이상 지연시키므로 더 빨리 종료되는 세션은 아무것도 내보내지 않습니다. `claude -p`를 `--bare`로 실행하면 Claude Code는 스윕을 실행하지 않으며 아무것도 내보내지 않습니다.1324보존 정리 스윕 실행당 한 번 기록됩니다(이는 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays) 설정보다 오래된 [세션 기록 및 기타 애플리케이션 데이터](/docs/ko/claude-directory#cleaned-up-automatically)를 삭제합니다). Claude Code는 백그라운드에서 세션당 최대 한 번 스윕을 실행하며, 아무것도 삭제하지 않는 실행도 이벤트를 내보냅니다. Claude Code가 지난 24시간 동안 동일한 머신의 모든 세션에서 스윕을 실행했으면 이 세션의 스윕을 최소 10분 이상 지연하므로 더 빨리 종료되는 세션은 아무것도 내보내지 않습니다. `claude -p`를 `--bare`로 실행하면 Claude Code는 스윕을 실행하지 않고 아무것도 내보내지 않습니다.

1317 1325 

1318이 페이지의 모든 OTel 이벤트처럼, 구성한 원격 측정 백엔드로만 이동합니다. Claude Code v2.1.227 이상 필요.1326이 페이지의 모든 OTel 이벤트처럼 구성한 원격 측정 백엔드로만 이동합니다. Claude Code v2.1.227 이상 필요.

1319 1327 

1320Claude Code가 보존 기간을 안전하게 결정할 수 없을 때, 스윕을 일시 중지하고 `result`를 `"skipped"`로 설정하고 `skip_reason`을 포함하는 이벤트를 내보냅니다. [관리 설정](/docs/ko/server-managed-settings)이 `cleanupPeriodDays`를 설정할 때, 관리 값은 보존 기간을 고정하고 낮은 우선순위 범위의 설정 파일이 손상되거나 유효하지 않아도 스윕이 실행됩니다. `managed-settings.json` 자체를 읽을 수 없을 때, Claude Code는 [관리 계층](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)이 서버 관리 설정과 같은 다른 곳에서 `cleanupPeriodDays`를 제공하지 않으면 스윕을 일시 중지합니다. 또는 손상된 파일 옆의 `managed-settings.d/` 드롭인. 삭제 카운터 속성은 `result`가 `"complete"`일 때만 있습니다.1328Claude Code가 보존 기간을 안전하게 결정할 수 없으면 스윕을 일시 중지하고 `result`를 `"skipped"`로 설정하고 `skip_reason`을 포함하는 이벤트를 내보냅니다. [관리 설정](/docs/ko/server-managed-settings)이 `cleanupPeriodDays`를 설정하면 관리 값이 보존 기간을 고정하고 낮은 우선순위 범위의 설정 파일이 손상되거나 유효하지 않아도 스윕이 실행됩니다. `managed-settings.json` 자체를 읽을 수 없으면 Claude Code는 [관리 계층](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)이 서버 관리 설정과 같은 다른 곳에서 `cleanupPeriodDays`를 제공하지 않는 한 스윕을 일시 중지합니다. 또는 손상된 파일 옆의 `managed-settings.d/` 드롭인입니다. 삭제 카운터 속성은 `result`가 `"complete"`일 때만 있습니다.

1321 1329 

1322**이벤트 이름**: `claude_code.retention_sweep`1330**이벤트 이름**: `claude_code.retention_sweep`

1323 1331 


1326* 모든 [표준 속성](#standard-attributes)1334* 모든 [표준 속성](#standard-attributes)

1327* `event.name`: `"retention_sweep"`1335* `event.name`: `"retention_sweep"`

1328* `event.timestamp`: ISO 8601 타임스탬프1336* `event.timestamp`: ISO 8601 타임스탬프

1329* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)1337* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1330* `result`: 스윕이 실행되었을 때 `"complete"`, Claude Code가 일시 중지했을 때 `"skipped"`1338* `result`: 스윕이 실행되었을 때 `"complete"`, Claude Code가 일시 중지했을 때 `"skipped"`

1331* `period_days`: 병합된 설정의 `cleanupPeriodDays` 값(일 단위) 또는 소스가 설정하지 않을 때 `30`. 건너뛴 이벤트에서, 스윕이 사용했을 값(Claude Code가 읽을 수 있는 설정 소스에서 계산됨)1339* `period_days`: 병합된 설정의 `cleanupPeriodDays` 값(일 단위) 또는 소스가 설정하지 않을 때 `30`. 건너뛴 이벤트에서 스윕이 사용했을 값(Claude Code가 읽을 수 있는 설정 소스에서 계산됨)

1332* `used_default`: 읽을 수 있는 설정 소스가 `cleanupPeriodDays`를 설정하지 않을 때 `"true"`, 그 외에는 `"false"`. 완료 이벤트에서, `"true"`는 30일 기본값이 적용되었음을 의미합니다.1340* `used_default`: 읽을 수 있는 설정 소스가 `cleanupPeriodDays`를 설정하지 않을 때 `"true"`, 그 외에는 `"false"`. 완료 이벤트에서 `"true"`는 30일 기본값이 적용되었음을 의미합니다.

1333* `skip_reason`: Claude Code가 스윕을 일시 중지한 이유. `result`가 `"skipped"`일 때만 있습니다:1341* `skip_reason`: Claude Code가 스윕을 일시 중지한 이유. `result`가 `"skipped"`일 때만 있습니다:

1334 * `"user_source_disabled"`: 사용자 설정이 제외됩니다(예: [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 플래그 또는 SDK의 [`settingSources`](/docs/ko/agent-sdk/typescript#options) 옵션에 의해), 그리고 활성화된 소스가 `cleanupPeriodDays`를 제공하지 않습니다.1342 * `"user_source_disabled"`: 사용자 설정이 제외됨(예: [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 플래그 또는 SDK의 [`settingSources`](/docs/ko/agent-sdk/typescript#options) 옵션에 의해) 그리고 활성화된 소스가 `cleanupPeriodDays`를 제공하지 않습니다.

1335 * `"settings_unknowable"`: 설정 파일을 읽거나 구문 분석할 수 없어서 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 Claude Code가 볼 수 없는 값으로 설정될 수 있습니다.1343 * `"settings_unknowable"`: 설정 파일을 읽거나 구문 분석할 수 없어 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 Claude Code가 볼 수 없는 값으로 설정될 수 있습니다.

1336 * `"settings_invalid_key_set"`: 설정에 유효성 검사 오류가 있고 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 명시적으로 설정되어 있어서 기본값으로 폴백하면 해당 설정에 대해 파일을 삭제하거나 유지할 수 있습니다.1344 * `"settings_invalid_key_set"`: 설정에 유효성 검사 오류가 있고 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 명시적으로 설정되어 있어 기본값으로 폴백하면 해당 설정에 대해 파일을 삭제하거나 유지할 수 있습니다.

1337* `transcripts_deleted`: 스윕이 삭제한 세션 트랜스크립트(최상위 `~/.claude/projects/*/*.jsonl` 파일) 수1345* `transcripts_deleted`: 스윕이 삭제한 세션 기록(최상위 `~/.claude/projects/*/*.jsonl` 파일) 수

1338* `transcripts_exempted_desktop`: 보존 기간을 지난 트랜스크립트 중 스윕이 [Claude Desktop 및 Cowork 규칙](/docs/ko/claude-directory#cleaned-up-automatically) 아래에서 유지한 수. 이들은 `files_past_cutoff`에 계산되지 않습니다. Claude Code v2.1.248 이상 필요1346*

1339* `session_files_deleted`: 세션 파일 스윕이 삭제한 항목 수: 트랜스크립트 및 사이드카, 녹음, 및 도구 결과와 같은 세션별 동반 파일1347 

1340* `artifacts_deleted`: 데이터 디렉토리 전체에서 스윕이 삭제한 총 항목(세션 파일 포함). 일부 스윕은 전체 제거된 디렉토리 트리를 하나의 항목으로 계산하고 몇 가지 정리 통과는 카운터에 기여하지 않으므로, 값을 정확한 파일 수보다는 하한으로 취급하세요.1348`transcripts_exempted_desktop`: 보존 기간을 지났지만 스윕이 [Claude Desktop 및 Cowork 규칙](/docs/ko/claude-directory#cleaned-up-automatically)에 따라 유지한 기록 수. 이들은 `files_past_cutoff`에 계산되지 않습니다. Claude Code v2.1.248 이상 필요

1341* `files_retained_fresh`: 검사되고 보존 기간 내에 있기 때문에 제자리에 남겨진 파일. 파일별 스윕만 이들을 계산하므로 값은 하한입니다. 0이 아닌 값은 정상적인 정상 상태입니다.1349 

1342* `files_past_cutoff`: 보존 기간보다 오래되었지만 스윕이 삭제하지 못한 파일(예: 권한 오류 또는 열린 파일). 0보다 큰 값은 파일이 구성된 보존 기간을 초과했음을 의미합니다. 0은 없었다는 증거가 아닙니다. 전체 디렉토리 제거 실패는 대신 `error_count`에 계산되기 때문입니다.1350* `session_files_deleted`: 세션 파일 스윕이 삭제한 항목 수: 기록 및 사이드카, 녹음, 및 도구 결과와 같은 세션별 동반 파일

1351* `artifacts_deleted`: 데이터 디렉토리 전체에서 스윕이 삭제한 총 항목(세션 파일 포함). 일부 스윕은 제거된 전체 디렉토리 트리를 하나의 항목으로 계산하고 몇 가지 정리 통과는 카운터에 기여하지 않으므로 값을 정확한 파일 수보다는 하한으로 취급합니다.

1352* `files_retained_fresh`: 검사되었으며 보존 기간 내에 있기 때문에 제자리에 남겨진 파일. 파일별 스윕만 이들을 계산하므로 값은 하한입니다; 0이 아닌 값은 정상적인 정상 상태입니다.

1353* `files_past_cutoff`: 보존 기간보다 오래되었지만 스윕이 삭제하지 못한 파일(예: 권한 오류 또는 열린 파일). 0보다 큰 값은 파일이 구성된 보존 기간을 초과했음을 의미합니다; 0은 없었다는 증거가 아닙니다(전체 디렉토리 제거 실패는 대신 `error_count`에 계산되기 때문).

1343* `error_count`: 스윕이 파일을 나열하거나 삭제하는 동안 발생한 오류 수1354* `error_count`: 스윕이 파일을 나열하거나 삭제하는 동안 발생한 오류 수

1344 1355 

1356<h4 id="managed-settings-resolved-event">

1357 관리 설정 해결 이벤트

1358</h4>

1359 

1360세션이 해결한 [관리 설정](/docs/ko/managed-settings)으로 기록됩니다: 세션 시작 시 한 번, 관리 설정 또는 [정책 도우미](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program)의 상태가 세션 중에 변경될 때 다시, 그리고 Claude Code가 `error.type` 속성이 나열하는 이유 중 하나로 시작을 거부하거나 세션을 종료할 때.

1361이 이벤트를 사용하여 예상치 못한 관리 소스에서 실행 중인 머신, 정책 도우미가 실패하는 머신, 및 머신이 시작을 거부한 이유를 찾습니다.

1362Claude Code v2.1.274 이상 필요.

1363 

1364기본적으로 이벤트는 관리 소스 및 정책 도우미의 상태를 전달하지만 설정 자체는 전달하지 않습니다. 삭제된 `managed_settings.settings` 속성 및 `managed_settings.resolved_sha256` 다이제스트를 추가하려면 `OTEL_LOG_MANAGED_SETTINGS=1`을 설정합니다:

1365 

1366* 관리 설정, 사용자 설정, 또는 `--settings`의 `env` 블록에서 또는 Claude Code를 시작하는 환경에서 설정합니다. 프로젝트 또는 로컬 설정의 값은 복제된 저장소가 이들을 쓸 수 있기 때문에 켜지 않습니다.

1367* 서버 관리 설정은 변수가 조직이 이미 받는 이벤트에 조직의 자체 삭제된 정책만 추가하기 때문에 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)를 표시하지 않고 설정할 수 있습니다.

1368 

1369신뢰하지 않은 폴더에서 대화형 세션에서 Claude Code는 거부 이벤트를 내보내지 않습니다([신뢰](/docs/ko/permissions#what-runs-before-you-trust-a-folder)하지 않은 폴더). 프로젝트 및 로컬 설정이 내보내기를 다른 수집기로 가리킬 수 있기 때문입니다.

1370 

1371**이벤트 이름**: `claude_code.managed_settings_resolved`

1372 

1373**속성**:

1374 

1375* 모든 [표준 속성](#standard-attributes)

1376* `event.name`: `"managed_settings_resolved"`

1377* `event.timestamp`: ISO 8601 타임스탬프

1378* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)

1379* `managed_settings.trigger`: 세션 시작 이벤트의 경우 `"startup"`, 관리 설정 또는 정책 도우미의 상태가 세션 중에 변경되었을 때 `"change"`, 또는 관리 설정 정책이 세션을 중지했을 때 `"refused"`. Claude Code는 마지막 이벤트와 다른 속성이 있을 때만 `change` 이벤트를 보내며, 변경된 설정 값은 `OTEL_LOG_MANAGED_SETTINGS`가 꺼져 있어도 계산됩니다.

1380* `error.type`: Claude Code가 세션을 중지한 이유. `refused` 이벤트에만 있습니다:

1381 * `"helper_failed"`: [정책 도우미 실행이 실패했습니다](/docs/ko/settings-reference#helper-failures).

1382 * `"policy_invalid"`: 관리 설정에 Claude Code가 시작하지 못하게 하는 오류가 있거나 관리 소스가 로드되지 못해 Claude Code가 조직 로그인 적용을 확인할 수 없습니다.

1383 * `"consent_rejected"`: 사용자가 서버 관리 설정의 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)를 거부했습니다.

1384 * `"force_refresh_failed"`: [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh)가 필요로 하는 설정 가져오기가 실패했습니다.

1385 * `"gateway_rejected"`: [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)가 관리 설정 로드에 HTTP 403으로 응답했습니다.

1386 * `"version_below_minimum"`: 이 Claude Code 버전이 [`requiredMinimumVersion`](/docs/ko/settings-reference#requiredminimumversion) 아래이거나 [`requiredMaximumVersion`](/docs/ko/settings-reference#requiredmaximumversion) 위입니다.

1387 * `"_OTHER"`: Claude 앱 게이트웨이 관리 설정 로드가 다른 이유로 실패했습니다.

1388* `managed_settings.sources`: 최소한 하나의 [정책 키](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 전달하는 모든 관리 소스(우선순위 순서대로, `first-wins`에서 효과를 갖지 않는 소스 포함). 값은 `"remote"`, MDM 또는 OS 수준 정책의 경우 `"plist"` 또는 `"hklm"`, 관리 설정 파일 및 드롭인의 경우 `"file"`, [포함 호스트](/docs/ko/managed-settings#let-an-embedding-host-add-policy)가 설정을 제공할 때 `"parent"`, 그리고 Claude Code가 [읽을 때](/docs/ko/managed-settings#how-claude-code-combines-managed-sources) [Windows HKCU 레지스트리 값](/docs/ko/managed-settings#where-each-mechanism-stores-the-policy)의 경우 `"hkcu"`입니다. 제어 키만 전달하거나 Claude Code가 읽을 수 없는 소스는 나열되지 않습니다. 문자열 배열로 내보내집니다. 관리 소스가 정책 키를 전달하지 않을 때 비어 있습니다.

1389* `managed_settings.source_behavior`: Claude Code가 읽은 [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior) 값(`"first-wins"` 또는 `"merge"`). 소스가 키를 설정하지 않을 때 `"first-wins"`

1390* `managed_settings.helper.state`: 선택한 MDM 또는 파일 소스가 구성하는 정책 도우미의 상태:

1391 * `"ok"`: 도우미의 출력이 관리 설정으로 제공됩니다.

1392 * `"bad_path"`, `"not_a_file"`, `"exit_nonzero"`, `"timed_out"`, `"oversize"`, `"parse_failed"`, `"envelope_invalid"`, 또는 `"schema_rejected"`: 도우미의 마지막 실행이 실패했습니다. [도우미 실패](/docs/ko/settings-reference#helper-failures)가 경우를 설명합니다.

1393 * `"none"`: 도우미가 구성되지 않았거나 이를 구성하는 소스가 MDM 정책 또는 관리 설정 파일이 아닙니다.

1394* `managed_settings.helper.applied`: 도우미의 자체 출력이 관리 설정으로 제공될 때 `"output"`, 그렇지 않을 때 `"none"`

1395* `managed_settings.helper.entry`: Claude Code가 [`policyHelper`](/docs/ko/settings-reference#policyhelper)를 선택했을 때 `"policyHelper"`. 도우미를 선택하지 않았을 때는 없습니다.

1396* `managed_settings.helper.path`: 도우미의 구성된 [`path`](/docs/ko/settings-reference#policyhelper-path). Claude Code가 도우미를 선택했을 때마다 있습니다(도우미가 작동하는지 여부와 관계없이).

1397* `managed_settings.resolved_sha256` (`OTEL_LOG_MANAGED_SETTINGS=1`일 때): 삭제 전 해결된 관리 설정의 SHA-256(JSON으로 직렬화되고 키가 재귀적으로 정렬되고 공백이 없음). 동일한 다이제스트를 가진 머신은 동일한 정책을 실행합니다. Claude Code는 짧은 정책을 추측 해싱으로 복구할 수 있기 때문에 옵트인으로만 다이제스트를 보냅니다. 관리 설정이 해결되지 않았을 때는 없으며, `refused` 이벤트에는 없습니다.

1398* `managed_settings.settings` (`OTEL_LOG_MANAGED_SETTINGS=1`일 때): 해결된 관리 설정의 이름 및 형태(JSON 문자열)이며 값은 삭제됩니다. `refused` 이벤트에는 없습니다. Claude Code는 설정 스키마에서 이를 구축합니다:

1399 

1400 * 스키마가 내보내기를 선언하는 설정 이름이고, 스키마가 선언하지 않는 키는 생략됩니다.

1401 * 부울, 숫자, 및 스키마가 `permissions.defaultMode`와 같은 고정 옵션 집합으로 제한하는 문자열 값은 그대로 내보내집니다. `sandbox.network.httpProxyPort` 및 `sandbox.network.socksProxyPort`는 `"[REDACTED]"`로 내보내집니다.

1402 * 모든 다른 문자열(예: `model`, `apiKeyHelper`, 모든 `env` 값, 모든 URL, 및 모든 명령)은 `"[REDACTED]"`로 내보내집니다.

1403 * 맵의 항목 이름(예: `env` 변수 이름 및 플러그인 ID)은 그대로 내보내집니다. 스키마가 항목을 입력하지 않는 설정(예: `vimInsertModeRemaps`)은 단일 `"[REDACTED]"`로 내보내지며, `sandbox.ignoreViolations`는 명령 패턴 없이 경로 목록 목록으로 내보내집니다.

1404 * 목록은 길이를 유지하며 각 항목은 동일한 규칙으로 삭제됩니다.

1405 * `permissions.allow`, `permissions.deny`, 또는 `permissions.ask` 규칙은 도구 이름(이 Claude Code 버전에 기본 제공되거나 `mcp__jira__create_issue`와 같은 `mcp__` 참조인 경우)으로 내보내지며 콘텐츠는 삭제됩니다(예: `Read([REDACTED])`). 다른 규칙은 `"[REDACTED]"`로 내보내집니다.

1406 * 훅은 동일한 규칙을 따르므로 `type` 및 `timeout`과 같은 고정 옵션 및 숫자 필드는 표시되는 반면 각 명령, URL, `matcher`, 및 `if` 조건은 `"[REDACTED]"`로 내보내집니다.

1407 

1408 예를 들어 `apiKeyHelper`, 두 개의 `env` 변수, 및 거부 규칙이 있는 관리 설정은 `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.

1409 

1410 Claude Code는 값을 UTF-8의 8KB에서 자르며, 자른 값은 유효한 JSON이 아닙니다.

1411* `managed_settings.settings_truncated` (`managed_settings.settings`가 있을 때): Claude Code가 `managed_settings.settings`를 8KB에서 자를 때 `true`, 그 외에는 `false`. 부울로 내보내집니다(문자열이 아님).

1412 

1345<h2 id="interpret-metrics-and-events-data">1413<h2 id="interpret-metrics-and-events-data">

1346 메트릭 및 이벤트 데이터 해석1414 메트릭 및 이벤트 데이터 해석

1347</h2>1415</h2>


1461감지 규칙을 구축할 때 모니터링하려는 신호를 찾고 해당 이벤트 및 속성에 대해 백엔드를 쿼리합니다:1529감지 규칙을 구축할 때 모니터링하려는 신호를 찾고 해당 이벤트 및 속성에 대해 백엔드를 쿼리합니다:

1462 1530 

1463| 신호 | 이벤트 | 주요 속성 |1531| 신호 | 이벤트 | 주요 속성 |

1464| ----------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------ |1532| ---------------------------------------------- | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1465| 도구 호출 허용 또는 거부, 그리고 어떻게 | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1533| 도구 호출 허용 또는 거부, 그리고 어떻게 | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |

1466| 권한 모드 에스컬레이션 | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1534| 권한 모드 에스컬레이션 | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1467| 정책 훅이 작업을 차단함 | `hook_execution_complete` | `hook_event`, `num_blocking` |1535| 정책 훅이 작업을 차단함 | `hook_execution_complete` | `hook_event`, `num_blocking` |


1469| MCP 서버 연결 또는 실패 | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |1537| MCP 서버 연결 또는 실패 | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |

1470| 플러그인 설치 및 출처 | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |1538| 플러그인 설치 및 출처 | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |

1471| 실행된 명령 및 터치된 파일 | `tool_result` (실행됨) 또는 `tool_decision` (거부됨) (`OTEL_LOG_TOOL_DETAILS=1` 포함) | `tool_parameters`; `tool_input` (`tool_result`만 해당) |1539| 실행된 명령 및 터치된 파일 | `tool_result` (실행됨) 또는 `tool_decision` (거부됨) (`OTEL_LOG_TOOL_DETAILS=1` 포함) | `tool_parameters`; `tool_input` (`tool_result`만 해당) |

1540| 머신이 실행되는 관리 설정 소스, 정책 도우미의 상태 및 머신이 시작을 거부한 이유 | `managed_settings_resolved` | `managed_settings.trigger`, `managed_settings.sources`, `managed_settings.source_behavior`, `managed_settings.helper.state`, `error.type`; `managed_settings.settings` 및 `managed_settings.resolved_sha256` (`OTEL_LOG_MANAGED_SETTINGS=1` 포함) |

1472 1541 

1473Claude Code는 원본 이벤트 스트림만 내보냅니다. 이상 감지, 기준선 설정, 세션 간 상관 관계 및 경고는 SIEM 또는 관찰성 백엔드의 책임입니다.1542Claude Code는 원본 이벤트 스트림만 내보냅니다. 이상 감지, 기준선 설정, 세션 간 상관 관계 및 경고는 SIEM 또는 관찰성 백엔드의 책임입니다.

1474 1543 

Details

245| `registry.npmjs.org` | 플러그인 설치(npm 소스 플러그인 패키지 가져오기 및 플러그인의 Node.js 패키지 종속성 설치), `npx` 실행 MCP 서버 및 Claude Code 자체의 npm 및 bun 설치를 위한 패키지 레지스트리 |245| `registry.npmjs.org` | 플러그인 설치(npm 소스 플러그인 패키지 가져오기 및 플러그인의 Node.js 패키지 종속성 설치), `npx` 실행 MCP 서버 및 Claude Code 자체의 npm 및 bun 설치를 위한 패키지 레지스트리 |

246| `bridge.claudeusercontent.com` | [Chrome의 Claude](/docs/ko/chrome) 확장 프로그램 WebSocket 브리지 |246| `bridge.claudeusercontent.com` | [Chrome의 Claude](/docs/ko/chrome) 확장 프로그램 WebSocket 브리지 |

247| `*.frame.claudeusercontent.com` | [Artifact](/docs/ko/artifacts) 콘텐츠 읽기. CLI는 Claude가 Artifact를 열 때 이 호스트에서 Artifact의 파일을 가져오며, Artifact 도구가 계정에 [사용 가능](/docs/ko/artifacts#availability)할 때만 가져옵니다. 도구를 끄고 이 요구사항을 제거하려면 [`"enableArtifact": false`](/docs/ko/settings-reference#enableartifact) 또는 [`CLAUDE_CODE_DISABLE_ARTIFACT=1`](/docs/ko/env-vars)을 설정하십시오. Claude Code는 더 이상 사용되지 않는 [`disableArtifact`](/docs/ko/settings-reference#disableartifact) 설정도 준수합니다. 이러한 설정이 상호 작용하는 방식은 [Artifact 비활성화](/docs/ko/artifacts#disable-artifacts)를 참조하십시오 |247| `*.frame.claudeusercontent.com` | [Artifact](/docs/ko/artifacts) 콘텐츠 읽기. CLI는 Claude가 Artifact를 열 때 이 호스트에서 Artifact의 파일을 가져오며, Artifact 도구가 계정에 [사용 가능](/docs/ko/artifacts#availability)할 때만 가져옵니다. 도구를 끄고 이 요구사항을 제거하려면 [`"enableArtifact": false`](/docs/ko/settings-reference#enableartifact) 또는 [`CLAUDE_CODE_DISABLE_ARTIFACT=1`](/docs/ko/env-vars)을 설정하십시오. Claude Code는 더 이상 사용되지 않는 [`disableArtifact`](/docs/ko/settings-reference#disableartifact) 설정도 준수합니다. 이러한 설정이 상호 작용하는 방식은 [Artifact 비활성화](/docs/ko/artifacts#disable-artifacts)를 참조하십시오 |

248| `github.com` | GitHub 호스팅 [플러그인 마켓플레이스](/docs/ko/plugin-marketplaces) 및 플러그인 복제, 공식 Anthropic 마켓플레이스 포함, HTTPS 또는 SSH를 통해. GitHub `owner/repo` 소스를 HTTPS를 통해서만 복제하려면 [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](/docs/ko/env-vars)을 설정하십시오 |

248| `raw.githubusercontent.com` | [`/release-notes`](/docs/ko/commands)에 대한 변경 로그 피드. 대화형 세션에서 Claude Code는 캐시된 변경 로그가 실행 중인 버전을 아직 다루지 않을 때(예: 업데이트 후 첫 시작) 시작 시 백그라운드에서도 가져옵니다. 비대화형 및 클라우드 세션은 절대 가져오지 않습니다 |249| `raw.githubusercontent.com` | [`/release-notes`](/docs/ko/commands)에 대한 변경 로그 피드. 대화형 세션에서 Claude Code는 캐시된 변경 로그가 실행 중인 버전을 아직 다루지 않을 때(예: 업데이트 후 첫 시작) 시작 시 백그라운드에서도 가져옵니다. 비대화형 및 클라우드 세션은 절대 가져오지 않습니다 |

249| `*-review.googlesource.com` | `googlesource.com` 체크아웃에서 Gerrit 변경 조회. Claude Desktop Code 탭 세션이 `origin`이 `googlesource.com` 호스트인 [신뢰할 수 있는](/docs/ko/permissions#project-allow-rules-and-workspace-trust) 체크아웃에서 시작되거나 재개될 때, Claude Code는 HEAD의 `Change-Id`와 일치하는 열린 변경에 대해 해당 호스트의 `-review` 서버에 익명으로 한 번 요청합니다. 다른 세션 유형은 조회를 건너뛰며, 다른 Gerrit 호스트는 연결되지 않습니다. 선택 사항: [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)으로 비활성화 |250| `*-review.googlesource.com` | `googlesource.com` 체크아웃에서 Gerrit 변경 조회. Claude Desktop Code 탭 세션이 `origin`이 `googlesource.com` 호스트인 [신뢰할 수 있는](/docs/ko/permissions#project-allow-rules-and-workspace-trust) 체크아웃에서 시작되거나 재개될 때, Claude Code는 HEAD의 `Change-Id`와 일치하는 열린 변경에 대해 해당 호스트의 `-review` 서버에 익명으로 한 번 요청합니다. 다른 세션 유형은 조회를 건너뛰며, 다른 Gerrit 호스트는 연결되지 않습니다. 선택 사항: [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)으로 비활성화 |

250| `http-intake.logs.us5.datadoghq.com` | 운영 원격 분석 이벤트, CLI가 Anthropic API를 직접 사용할 때만 전송되며, Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry의 경우는 절대 전송되지 않습니다. 선택 사항: [`DISABLE_TELEMETRY`](/docs/ko/data-usage#telemetry-services) 또는 `DO_NOT_TRACK`으로 비활성화 |251| `http-intake.logs.us5.datadoghq.com` | 운영 원격 분석 이벤트, CLI가 Anthropic API를 직접 사용할 때만 전송되며, Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry의 경우는 절대 전송되지 않습니다. 선택 사항: [`DISABLE_TELEMETRY`](/docs/ko/data-usage#telemetry-services) 또는 `DO_NOT_TRACK`으로 비활성화 |

output-styles.md +123 −41

Details

4 4 

5# 출력 스타일5# 출력 스타일

6 6 

7> 소프트웨어 엔지니어링 이상의 용도로 Claude Code 적응시키기7> 내장된 Concise 또는 Explanatory와 같은 출력 스타일이나 사용자 정의 스타일로 Claude Code의 역할, 톤, 응답 형식을 변경합니다.

8 8 

9출력 스타일은 Claude가 응답하는 방식을 변경하며, Claude가 알고 있는 내용을 변경하지 않습니다. 이들은 모든 응답에 대해 Claude의 역할, 톤, 출력 형식을 설정합니다. 매 턴마다 동일한 음성이나 형식을 다시 요청하거나 Claude가 소프트웨어 엔지니어 이외의 역할을 하기를 원할 때 사용합니다.9출력 스타일은 Claude의 역할, 톤, 응답 형식을 세션의 모든 응답에 대해 설정하는 일련의 지침입니다. Claude Code는 기본값 외에 4가지 내장 스타일을 포함하고 있으며, 사용자 정의 스타일을 작성할 수 있습니다.

10 10 

11사용자 정의 출력 스타일은 Claude에게 고유한 지침을 제공하고 Claude Code의 기본 제공 소프트웨어 엔지니어링 지침을 유지할지 여부를 선택할 수 있게 합니다. Claude가 여전히 코딩하고 있지만 통신 방식을 변경할 때(예: 항상 다이어그램으로 답변)는 유지합니다. Claude가 쓰기 어시스턴트나 데이터 분석가와 같이 소프트웨어 엔지니어링을 수행하지 않을 때는 제외합니다.11출력 스타일을 사용하여 Claude가 응답하고 전체 세션 동안 사용자와 함께 작업하는 방식을 변경하므로 각 프롬프트에서 요청을 반복할 필요가 없습니다. 예를 들어, 내장 스타일은 응답을 더 짧게 만들거나, 각 변경 사항에 대한 설명을 추가하거나, Claude가 일상적인 질문을 하지 않고 작업을 시작하도록 할 수 있습니다. 사용자 정의 스타일은 Claude를 소프트웨어 엔지니어 이외의 것(예: 작성 어시스턴트 또는 데이터 분석가)으로 변환할 수도 있습니다.

12 12 

13프로젝트, 규칙 또는 코드베이스에 대한 지침은 대신 [CLAUDE.md](/docs/ko/memory)를 사용합니다.13* 내장 스타일을 사용하려면 [내장 출력 스타일](#built-in-output-styles)에서 하나를 선택하고 [스타일로 전환](#change-your-output-style)합니다.

14* 자신의 지침을 작성하려면 [사용자 정의 출력 스타일 만들기](#create-a-custom-output-style)를 참조합니다.

15 

16<Note>

17 출력 스타일은 Claude에게 따를 지침을 제공합니다. 무언가가 항상 발생하거나 절대 발생하지 않는다는 것을 보장하지 않습니다. 일부 요구 사항은 다른 기능에 적합합니다:

18 

19 * Claude가 프로젝트에 대해 알아야 할 사항은 [CLAUDE.md](/docs/ko/memory)를 사용합니다.

20 * 각 편집 후 형식 지정 또는 명령 차단과 같이 매번 발생해야 하는 경우 [hook](/docs/ko/hooks-guide)을 사용합니다.

21 * 스킬, 서브에이전트 및 기타 옵션은 [출력 스타일과 다른 기능 간 선택](#choose-between-an-output-style-and-other-features)을 참조합니다.

22</Note>

14 23 

15<h2 id="built-in-output-styles">24<h2 id="built-in-output-styles">

16 기본 제공 출력 스타일25 기본 제공 출력 스타일

17</h2>26</h2>

18 27 

19Claude Code의 **Default** 출력 스타일은 Claude Code의 표준 지침 세트이며, 소프트웨어 엔지니어링 작업을 효율적으로 완료하도록 돕기 위해 설계되었습니다.28Claude Code는 [**Default**](#default) 스타일로 시작하며, 이는 소프트웨어 엔지니어링 작업을 완료하기 위한 표준 지침입니다. 다른 네 가지 기본 제공 스타일은 이러한 지침을 유지하면서 자신만의 지침을 추가합니다.

29 

30이 표는 각 스타일이 세션을 어떻게 변경하는지와 언제 사용하면 좋은지 보여줍니다:

31 

32| 스타일 | 변경 사항 | 사용 시기 |

33| :-------------------------- | :------------------------------------------------- | :-------------------------------------------------------- |

34| [Proactive](#proactive) | Claude가 즉시 작업을 시작하고 일상적인 결정에 대해 묻는 대신 합리적인 가정을 합니다 | Claude가 일상적인 결정을 계속 처리하도록 하고 싶으며, 가정이 잘못되면 방향을 수정할 수 있습니다 |

35| [Concise](#concise) | 응답이 결과로 시작하고 서문, 설명, 요약을 생략합니다 | 기본 응답이 원하는 것보다 깁니다 |

36| [Explanatory](#explanatory) | Claude가 작성한 코드 뒤의 선택을 설명하는 짧은 `Insight` 블록을 추가합니다 | 코드베이스를 배우고 있거나 변경 사항과 함께 추론을 원합니다 |

37| [Learning](#learning) | Claude가 선택을 설명하고 작성할 코드의 작은 조각을 남깁니다 | 작업이 여전히 완료되는 동안 실습 코딩 연습을 원합니다 |

38 

39<h3 id="default">

40 Default

41</h3>

42 

43Default는 출력 스타일이 선택되지 않음을 의미합니다. Claude Code는 스타일 지침을 추가하지 않으며, Claude는 소프트웨어 엔지니어링 작업을 위해 작성된 Claude Code의 표준 시스템 프롬프트에서 작동합니다.

44 

45`default`는 다른 스타일과 함께 `/output-style` 목록에 나타나므로, [같은 방식으로 선택](#change-your-output-style)합니다.

46 

47<h3 id="proactive">

48 Proactive

49</h3>

50 

51Proactive 스타일에서 Claude는 작업을 보내자마자 구현을 시작합니다. 일상적인 결정에 대해 합리적인 가정을 하며 묻지 않으며, 계획을 요청하지 않는 한 계획 모드로 전환하지 않습니다. 언제든지 방향을 바꿀 수 있습니다.

52 

53스타일의 지침은 또한 Claude에게 데이터를 삭제하거나 공유 또는 프로덕션 시스템을 변경하는 작업 전에 대화에서 사용자와 확인하도록 지시합니다. 이 확인은 Claude가 따르는 지침이며 권한 프롬프트와는 별개입니다.

54 

55Proactive 스타일로 전환해도 [권한 모드](/docs/ko/permission-modes)는 변경되지 않습니다. 권한 모드는 여전히 사용자에게 묻지 않고 실행되는 도구 호출을 결정하므로, 권한 프롬프트는 전환 전과 같은 방식으로 나타납니다.

56 

57<h3 id="concise">

58 Concise

59</h3>

60 

61Concise 스타일에서 응답의 첫 번째 문장은 무엇이 일어났는지 또는 답이 무엇인지를 나타냅니다. Claude는 도입부, 단계별 설명, 마무리 요약을 생략하고 간단한 질문에 1\~3개 문장으로 답변합니다. Default 스타일과 동일하게 엔지니어링 작업을 철저히 수행합니다. Claude Code v2.1.237 이상이 필요합니다.

62 

63Claude는 다음의 경우 전체 길이로 작성합니다:

64 

65* **요청하는 모든 것**: 설명이나 더 많은 세부 정보를 요청할 때, Claude는 완전히 답변합니다.

66* **안전하게 행동하기 위해 필요한 모든 것**: 오류 보고서, 실패한 테스트 출력, 보안 경고, 파괴적인 작업에 대한 확인은 전체 내용을 유지합니다.

67 

68<h3 id="explanatory">

69 Explanatory

70</h3>

71 

72Explanatory 스타일에서 Claude는 Default 스타일과 동일한 방식으로 작업을 수행하고 선택한 이유에 대한 짧은 설명을 추가합니다. 각 설명은 대화에서 관련 코드 앞이나 뒤에 `Insight`라는 레이블이 붙은 블록으로 나타납니다. 설명은 파일에 주석으로 작성되지 않습니다.

20 73 

21네 가지 추가 기본 제공 출력 스타일이 있습니다:74`Insight` 블록은 코드베이스 또는 Claude가 작성한 코드에 대한 2\~3개의 포인트를 포함하며, API 엔드포인트를 추가한 후의 다음과 같은 예시가 있습니다:

22 75 

23* **Proactive**: Claude가 즉시 실행하고, 일상적인 결정을 위해 일시 중지하는 대신 합리적인 가정을 하며, 계획보다 행동을 선호합니다. 이는 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)가 적용하는 것보다 더 강력한 자율 실행 지침이며, 권한 모드를 변경하지 않고도 작동하므로, 권한 모드가 여전히 사용자에게 묻지 않고 실행되는 항목을 결정합니다.76```text theme={null}

77★ Insight ─────────────────────────────────────

78- Every route in this repo goes through the withAuth wrapper, so the new endpoint gets session checks without its own middleware.

79- Rate limits are set per route in limits.ts, which is why this change adds an entry there rather than a global default.

80─────────────────────────────────────────────────

81```

82 

83<h3 id="learning">

84 Learning

85</h3>

24 86 

25* **Concise**: Claude는 결과를 먼저 제시하고, 서문과 설명을 건너뛰며, 기본적으로 응답을 짧게 유지하면서 Default 스타일과 동일하게 엔지니어링 작업을 철저히 수행합니다. 설명이나 더 많은 세부 정보를 요청하면 Claude는 완전히 답변합니다. Claude는 항상 오류 보고서, 보안 경고 및 파괴적인 작업에 대한 확인의 전체 내용을 유지합니다. Claude Code v2.1.237 이상이 필요합니다.87Learning 스타일에서 Claude는 [Explanatory 스타일](#explanatory)과 동일한 `Insight` 블록을 추가하고 코드의 일부를 작성하도록 요청합니다. Claude는 일상적인 구현을 자체적으로 처리합니다. 오류 처리, 데이터 구조, 또는 유효한 접근 방식이 여러 개인 비즈니스 로직과 같은 실제 설계 결정이 있는 부분에 도달하면, 몇 줄을 남깁니다.

26 88 

27* **Explanatory**: 소프트웨어 엔지니어링 작업을 완료하는 동안 교육용 "Insights"를 제공합니다. 구현 선택 사항과 코드베이스 패턴을 이해하는 데 도움이 됩니다.89Claude는 파일의 `TODO(human)` 주석으로 위치를 표시한 다음, 이미 구축된 것, 작성할 것, 고려할 것을 설명하는 요청을 보냅니다:

28 90 

29* **Learning**: 협업 방식의 학습 모드로, Claude는 코딩하면서 "Insights"를 공유할 뿐만 아니라 사용자가 작은 전략적 코드 조각을 직접 작성하도록 요청합니다. Claude Code는 구현할 코드에 `TODO(human)` 마커를 추가합니다.91```text theme={null}

92● Learn by Doing

93 

94Context: The upload form is in place and calls validateFile() before accepting a file. Size and type checks work for images, but the switch statement has no handling for documents yet.

95 

96Your Task: In upload.js, implement the case "document" branch inside validateFile(). Look for TODO(human).

97 

98Guidance: Decide on a size limit for documents and whether the file extension has to match the MIME type. Return {valid: boolean, error?: string}.

99```

100 

101Claude는 멈추고 기다립니다. `TODO(human)` 주석에서 코드를 작성하고 완료했을 때 Claude에게 알립니다. Claude는 코드에 대한 하나의 `Insight`로 응답하고 작업을 계속합니다.

30 102 

31<h2 id="change-your-output-style">103<h2 id="change-your-output-style">

32 출력 스타일 변경104 출력 스타일 변경

33</h2>105</h2>

34 106 

35다음 방법 중 하나로 스타일을 선택합니다:107명령, 메뉴 또는 설정 파일로 스타일을 선택합니다. 명령과 두 메뉴 모두 선택 사항을 [로컬 프로젝트 수준](/docs/ko/settings)의 `.claude/settings.local.json`에 저장합니다.

36 108 

37* **`/output-style` 명령**: `/output-style <style>`을 실행하여 전환합니다. 예를 들어 `/output-style concise`입니다. 인수 없이 실행하면 선택할 수 있는 스타일을 나열하고 현재 스타일을 표시합니다. Claude Code는 선택 사항을 [로컬 프로젝트 수준](/docs/ko/settings)의 `.claude/settings.local.json`에 저장합니다.109* **`/output-style` 명령**: `/output-style <style>`을 실행하여 전환합니다. 예를 들어 `/output-style concise`입니다. 인수 없이 실행하면 선택할 수 있는 스타일을 나열하고 현재 스타일을 표시합니다.

38 110 

39 이 명령은 [비대화형 모드](/docs/ko/headless) 및 Agent SDK 세션에서도 작동하며, 모바일 앱 또는 웹에서 [원격 제어](/docs/ko/remote-control#limitations)를 통해 사용할 수 있습니다. 여기서는 [기본 제공 스타일](#built-in-output-styles)만 나열하고 선택할 수 있습니다. Claude Code v2.1.269 이상이 필요합니다.111 이 명령은 [비대화형 모드](/docs/ko/headless) 및 Agent SDK 세션에서도 작동하며, 모바일 앱 또는 웹에서 [원격 제어](/docs/ko/remote-control#limitations)를 통해 사용할 수 있습니다. 여기서는 [기본 제공 스타일](#built-in-output-styles)만 나열하고 선택할 수 있습니다. Claude Code v2.1.269 이상이 필요합니다.

40* **Terminal**: `/config`를 실행하고 **Output style**을 선택하여 메뉴에서 스타일을 선택합니다. Claude Code는 선택 사항을 [로컬 프로젝트 수준](/docs/ko/settings)의 `.claude/settings.local.json`에 저장합니다.112* **Terminal 메뉴**: `/config`를 실행하고 **Output style**을 선택하여 메뉴에서 스타일을 선택합니다.

41* **VS Code extension**: `/`로 [명령 메뉴](/docs/ko/vs-code#use-the-prompt-box)를 열고 **Output styles**을 선택하여 사용자 정의 스타일을 포함한 스타일을 선택합니다. Claude Code는 선택 사항을 `.claude/settings.local.json`에 저장하며, 이는 터미널 메뉴가 작성하는 동일한 파일입니다. Claude Code v2.1.257 이상이 필요합니다.113* **VS Code extension**: `/`로 [명령 메뉴](/docs/ko/vs-code#use-the-prompt-box)를 열고 **Output styles**을 선택하여 사용자 정의 스타일을 포함한 스타일을 선택합니다. Claude Code v2.1.257 이상이 필요합니다.

42* **Desktop app**: 설정 파일(예: `.claude/settings.local.json`, 터미널 메뉴가 작성하는 파일)에서 `outputStyle` 필드를 설정합니다. `/config`를 실행하면 Claude Code는 메뉴 대신 [**Settings > Claude Code**](/docs/ko/desktop#what%E2%80%99s-not-available-in-desktop)를 엽니다.114* **Desktop app**: 설정 파일(예: `.claude/settings.local.json`, 터미널 메뉴가 작성하는 파일)에서 `outputStyle` 필드를 설정합니다. `/config`를 실행하면 Claude Code는 메뉴 대신 [**Settings > Claude Code**](/docs/ko/desktop#what%E2%80%99s-not-available-in-desktop)를 엽니다.

43 115 

44메뉴 없이 스타일을 설정하려면 설정 파일에서 `outputStyle` 필드를 직접 편집합니다:116메뉴 없이 스타일을 설정하려면 설정 파일에서 `outputStyle` 필드를 직접 편집합니다:


49}121}

50```122```

51 123 

124값은 대소문자를 구분하므로 기본 제공 이름을 `Proactive`, `Concise`, `Explanatory`, `Learning`으로 작성합니다. `explanatory`와 같이 스타일 이름과 정확히 일치하지 않는 값은 기본 스타일을 제공합니다. `/output-style` 명령은 대소문자를 무시합니다.

125 

126프로젝트 전체에서 스타일을 기본값으로 설정하려면 `~/.claude/settings.json`에서 `outputStyle`을 설정합니다. 프로젝트의 자체 설정 파일은 해당 값보다 [우선합니다](/docs/ko/settings#settings-precedence).

127 

52세션 중에 스타일을 전환하면 Claude는 다음 메시지부터 새로운 스타일을 사용합니다. 첫 번째 메시지의 prompt caching 비용에 대해서는 [출력 스타일 변경](/docs/ko/prompt-caching#changing-output-style)을 참조하십시오. v2.1.251 이전에는 새로운 스타일이 `/clear`를 실행하거나 새 세션을 시작한 후에만 적용되었습니다.128세션 중에 스타일을 전환하면 Claude는 다음 메시지부터 새로운 스타일을 사용합니다. 첫 번째 메시지의 prompt caching 비용에 대해서는 [출력 스타일 변경](/docs/ko/prompt-caching#changing-output-style)을 참조하십시오. v2.1.251 이전에는 새로운 스타일이 `/clear`를 실행하거나 새 세션을 시작한 후에만 적용되었습니다.

53 129 

54<h2 id="create-a-custom-output-style">130<h2 id="create-a-custom-output-style">


98[플러그인](/docs/ko/plugins-reference)도 `output-styles/` 디렉토리에 출력 스타일을 포함할 수 있습니다.174[플러그인](/docs/ko/plugins-reference)도 `output-styles/` 디렉토리에 출력 스타일을 포함할 수 있습니다.

99 175 

100<h3 id="frontmatter">176<h3 id="frontmatter">

101 Frontmatter177 Frontmatter 참조

102</h3>178</h3>

103 179 

104출력 스타일 파일은 다음 frontmatter 필드를 지원합니다:180YAML [frontmatter](/docs/ko/glossary#frontmatter)를 사용하여 출력 스타일을 구성합니다. 파일 맨 위의 `---` 마커 사이에 위치합니다. 모든 필드는 선택 사항이며, 필드 이름은 하이픈으로 구분된 소문자 단어를 사용합니다. 오타가 있는 필드는 오류 없이 무시됩니다. YAML이 파싱되지 않으면 스타일은 여전히 파일 이름으로 로드되며 필드가 설정되지 않습니다. `claude --debug`를 실행하여 파싱 오류를 확인합니다.

181 

182| 필드 | 필수 | 설명 |

183| :------------------------- | :-- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

184| `name` | 아니요 | 출력 스타일의 이름으로, `/config` 선택기에 표시됩니다. 기본값: 파일 이름 |

185| `description` | 아니요 | 출력 스타일의 설명으로, `/config` 선택기에 표시됩니다 |

186| `keep-coding-instructions` | 아니요 | `true`로 설정하면 Claude Code의 기본 제공 소프트웨어 엔지니어링 지침을 스타일과 함께 유지합니다. 기본값: `false` |

187| `force-for-plugin` | 아니요 | 플러그인 출력 스타일만 해당합니다. `true`로 설정하면 사용자가 선택하지 않아도 플러그인이 활성화될 때마다 이 스타일을 자동으로 적용합니다. 사용자의 `outputStyle` 설정을 재정의합니다. 여러 활성화된 플러그인이 이를 설정하면 Claude Code는 먼저 로드된 것을 사용합니다. 기본값: `false` |

105 188 

106| Frontmatter | 목적 | 기본값 |189<span id="comparisons-to-related-features" />

107| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------- | :--------- |190 

108| `name` | 파일 이름이 아닌 경우 출력 스타일의 이름 | 파일 이름에서 상속 |191<h2 id="choose-between-an-output-style-and-other-features">

109| `description` | `/config` 선택기에 표시되는 출력 스타일의 설명 | 없음 |192 출력 스타일과 다른 기능 중에서 선택하기

110| `keep-coding-instructions` | Claude Code의 기본 제공 소프트웨어 엔지니어링 지침 유지 | `false` |193</h2>

111| `force-for-plugin` | 플러그인 출력 스타일만 해당: 사용자가 선택하지 않아도 플러그인이 활성화될 때마다 이 스타일을 자동으로 적용합니다. 사용자의 `outputStyle` 설정을 재정의합니다. 여러 활성화된 플러그인이 이를 설정하면 먼저 로드된 것이 우선합니다. | `false` |194 

195출력 스타일은 세션의 모든 응답에 적용됩니다. 이는 Claude가 따르는 지침이므로 이를 강제하는 것은 없습니다. 원하는 것이 모든 응답보다 좁거나 반드시 실패 없이 발생해야 하는 경우, 다른 기능이 더 적합합니다.

196 

197이 표는 원하는 것을 이를 수행하는 기능과 일치시킵니다:

198 

199| 원하는 것 | 사용 | 적합한 이유 |

200| :------------------------------------------- | :---------------------------------------------------------------- | :----------------------------------------------------------------------- |

201| 특정 음성, 길이 또는 형식의 모든 응답, 또는 다른 역할의 Claude | 출력 스타일 | 전체 세션에 적용되며, 한 명령으로 스타일을 전환합니다 |

202| Claude가 프로젝트의 규칙, 명령 및 구조를 알기를 원함 | [CLAUDE.md](/docs/ko/memory) | 이는 Claude가 코드베이스에 대해 알아야 할 내용을 보유하며, 선택한 스타일에 관계없이 로드된 상태로 유지됩니다 |

203| 릴리스 체크리스트 또는 검토 절차와 같은 한 종류의 작업에 대한 지침 | [skill](/docs/ko/skills) | Claude는 이를 호출하거나 작업이 일치할 때만 로드하므로 관련 없는 응답을 형성하지 않습니다 |

204| 각 편집 후 형식 지정 또는 명령 차단과 같이 예외 없이 매번 발생해야 하는 것 | [hook](/docs/ko/hooks-guide) | Claude Code는 라이프사이클 이벤트에서 hook을 자체적으로 실행하므로 Claude가 지침을 따르는 것에 의존하지 않습니다 |

205| 집중된 작업을 위해 자체 지침, 모델 및 도구를 가진 도우미 | [subagent](/docs/ko/sub-agents) | 자체 시스템 프롬프트를 사용하여 별도의 컨텍스트에서 실행되고 대화에 요약을 반환합니다 |

206| Claude Code를 시작할 때 전달하는 Claude의 지침에 대한 추가 | [`--append-system-prompt`](/docs/ko/cli-reference#system-prompt-flags) | 아무것도 제거하지 않고 시스템 프롬프트에 추가합니다 |

207 

208이러한 기능들은 결합됩니다. 예를 들어, Claude가 알아야 할 내용에 CLAUDE.md를 사용하고, 응답 방식에 출력 스타일을 사용하며, 보장되어야 하는 모든 것에 hook을 사용할 수 있습니다. [Claude Code 확장](/docs/ko/features-overview)은 나머지 확장 기능을 비교합니다.

112 209 

113<h2 id="how-output-styles-work">210<h2 id="how-output-styles-work">

114 출력 스타일의 작동 방식211 출력 스타일의 작동 방식


117출력 스타일은 Claude Code가 Claude에게 제공하는 지침을 변경합니다.214출력 스타일은 Claude Code가 Claude에게 제공하는 지침을 변경합니다.

118 215 

119* Claude Code는 모든 요청과 함께 활성 스타일의 지침을 전송합니다.216* Claude Code는 모든 요청과 함께 활성 스타일의 지침을 전송합니다.

120* [Default 이외의 스타일을 선택](#change-your-output-style)하면 Claude Code는 대화 중에 Claude에게 해당 스타일을 상기시킵니다.217* 사용자 정의 출력 스타일은 `keep-coding-instructions`가 `true`로 설정되지 않은 한, 변경 범위 지정 방법, 주석 작성 방법, 작업 검증 방법 등 Claude Code의 기본 제공 소프트웨어 엔지니어링 지침을 제외합니다.

121* 사용자 정의 출력 스타일은 `keep-coding-instructions`가 `true`로 설정되지 않는 한 범위 지정, 주석 작성, 작업 검증 방법과 같은 Claude Code의 기본 제공 소프트웨어 엔지니어링 지침을 제외합니다.

122 

123출력 스타일은 주 대화와 부모의 전체 대화 및 시스템 프롬프트를 상속하는 [포크](/docs/ko/sub-agents#fork-the-current-conversation)에 적용됩니다. 다른 [서브에이전트는 자체 시스템 프롬프트를 실행](/docs/ko/sub-agents#what-loads-at-startup)하므로 스타일이 응답 방식을 변경하지 않습니다.

124 

125토큰 사용량은 스타일에 따라 다릅니다. 스타일의 지침은 입력 토큰을 추가하지만, prompt caching은 세션의 첫 번째 요청 이후 이 비용을 줄입니다.

126 218 

127기본 제공 Explanatory 및 Learning 스타일은 설계상 Default보다 더 긴 응답을 생성하므로 출력 토큰이 증가합니다. Concise 스타일은 Claude에게 기본적으로 응답을 짧게 유지하도록 지시하여 반대의 효과를 냅니다. 사용자 정의 스타일의 경우, 출력 토큰 사용량은 지침이 Claude에게 생성하도록 지시하는 내용에 따라 달라집니다.219출력 스타일은 주 대화와 부모의 전체 대화 및 시스템 프롬프트를 상속하는 [포크](/docs/ko/sub-agents#fork-the-current-conversation)에 적용됩니다. 다른 [subagent는 자신의 시스템 프롬프트를 실행](/docs/ko/sub-agents#what-loads-at-startup)하므로 스타일은 응답 방식을 변경하지 않습니다.

128 

129<h2 id="comparisons-to-related-features">

130 관련 기능과의 비교

131</h2>

132 220 

133여러 기능이 Claude Code의 동작을 사용자 정의합니다. 출력 스타일은 Claude Code의 기본 지침을 변경하고 모든 응답에 적용됩니다. 다른 기능들은 기본값을 변경하지 않고 지침을 추가하거나 특정 작업으로 범위를 지정합니다.221토큰 사용량은 스타일에 따라 달라집니다. 스타일의 지침은 입력 토큰을 추가하지만, 프롬프트 캐싱은 세션의 첫 번째 요청 이후 이 비용을 줄입니다.

134 222 

135| 기능 | 작동 방식 | 사용 시기 |223기본 제공 설명 및 학습 스타일은 설계상 기본값보다 더 긴 응답을 생성하므로 출력 토큰이 증가합니다. 간결 스타일은 Claude에게 기본적으로 응답을 짧게 유지하도록 지시하여 반대의 효과를 냅니다. 사용자 정의 스타일의 경우, 출력 토큰 사용량은 지침이 Claude에게 생성하도록 지시하는 내용에 따라 달라집니다.

136| :----------------------- | :--------------------------------------- | :----------------------------------------------------------------------- |

137| 출력 스타일 | Claude Code의 기본 지침을 변경합니다 | 매 턴마다 다른 역할, 톤, 또는 기본 응답 형식을 원할 때 |

138| [CLAUDE.md](/docs/ko/memory) | 시스템 프롬프트 이후에 사용자 메시지를 추가합니다 | Claude가 항상 프로젝트 규칙과 코드베이스 컨텍스트를 알아야 할 때 |

139| `--append-system-prompt` | 아무것도 제거하지 않고 시스템 프롬프트에 추가합니다 | 시작 시 [CLI 플래그](/docs/ko/cli-reference#system-prompt-flags)로 전달하는 일회성 추가를 원할 때 |

140| [Agents](/docs/ko/sub-agents) | 자신의 시스템 프롬프트, 모델, 도구를 가진 subagent를 실행합니다 | 초점이 맞춰진 작업을 위해 별도로 범위가 지정된 도우미를 원할 때 |

141| [Skills](/docs/ko/skills) | 호출되거나 관련성이 있을 때 작업별 지침을 로드합니다 | 재사용 가능한 워크플로우가 있을 때 |

142 224 

143<h2 id="related-resources">225<h2 id="related-resources">

144 관련 리소스226 관련 리소스

overview.md +1 −0

Details

247* [빠른 시작](/docs/ko/quickstart): 코드베이스 탐색에서 수정 커밋까지 첫 번째 실제 작업을 진행합니다247* [빠른 시작](/docs/ko/quickstart): 코드베이스 탐색에서 수정 커밋까지 첫 번째 실제 작업을 진행합니다

248* [지침 및 메모리 저장](/docs/ko/memory): CLAUDE.md 파일 및 자동 메모리를 사용하여 Claude에 지속적인 지침을 제공합니다248* [지침 및 메모리 저장](/docs/ko/memory): CLAUDE.md 파일 및 자동 메모리를 사용하여 Claude에 지속적인 지침을 제공합니다

249* [일반적인 워크플로우](/docs/ko/common-workflows) 및 [모범 사례](/docs/ko/best-practices): Claude Code에서 최대한 활용하기 위한 패턴249* [일반적인 워크플로우](/docs/ko/common-workflows) 및 [모범 사례](/docs/ko/best-practices): Claude Code에서 최대한 활용하기 위한 패턴

250* [Claude Academy](https://academy.claude.com/): 무료 자기 주도 학습 과정으로 [Claude Code 101](https://academy.claude.com/courses/claude-code-101) 및 [Claude Code in Action](https://academy.claude.com/courses/claude-code-in-action)을 포함합니다

250* [모든 작업을 위한 하네스](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code): Claude Code 팀이 [동적 워크플로우](/docs/ko/workflows)를 사용하여 대규모로 서브에이전트를 조율하는 방법251* [모든 작업을 위한 하네스](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code): Claude Code 팀이 [동적 워크플로우](/docs/ko/workflows)를 사용하여 대규모로 서브에이전트를 조율하는 방법

251* [설정](/docs/ko/settings): Claude Code를 워크플로우에 맞게 사용자 정의합니다252* [설정](/docs/ko/settings): Claude Code를 워크플로우에 맞게 사용자 정의합니다

252* [문제 해결](/docs/ko/troubleshooting): 일반적인 문제에 대한 솔루션253* [문제 해결](/docs/ko/troubleshooting): 일반적인 문제에 대한 솔루션

Details

246```246```

247 247 

248<h2 id="analyze-before-you-edit-with-plan-mode">248<h2 id="analyze-before-you-edit-with-plan-mode">

249 편집하기 전에 계획 모드로 분석249 편집하기 전에 계획 모드로 분석하기

250</h2>250</h2>

251 251 

252Plan mode는 Claude에게 변경 사항을 연구하고 제안하되 적용하지 않도록 지시합니다. Claude는 파일을 읽고 셸 명령을 실행하여 탐색한 후 계획을 작성하지만 소스를 편집하지 않습니다. [bypass permissions를 사용할 수 있는](#skip-all-checks-with-bypasspermissions-mode) 대화형 터미널 세션을 제외하고 편집은 계획을 승인할 때까지 차단된 상태로 유지됩니다.252계획 모드는 Claude가 변경 사항을 연구하고 제안하도록 하되 실제로 적용하지 않습니다. Claude는 파일을 읽고 셸 명령을 실행하여 탐색한 후 계획을 작성하지만 소스를 편집하지 않습니다. [bypassPermissions 모드로 모든 검사 건너뛰기](#skip-all-checks-with-bypasspermissions-mode)가 가능한 대화형 터미널 세션을 제외하고, 편집은 계획을 승인할 때까지 차단됩니다.

253 253 

254[auto mode](/docs/ko/auto-mode-config)를 사용할 수 있고 `useAutoModeDuringPlan` 설정이 켜져 있을 때(기본값), 분류기는 계획 중에 셸 명령을 검토합니다. 승인된 명령은 실행되고 거부된 명령은 차단됩니다. 그렇지 않으면 [읽기 전용 집합](/docs/ko/permissions#read-only-commands) 외의 명령은 프롬프트를 표시합니다. sandbox의 [auto-allow mode](/docs/ko/sandboxing#sandbox-modes)가 활성화된 경우도 포함합니다. bypass permissions를 사용할 수 있는 대화형 터미널 세션에서는 분류기나 프롬프트도 계획 명령에 적용되지 않습니다. [bypassPermissions 모드로 모든 확인 건너뛰기](#skip-all-checks-with-bypasspermissions-mode)는 여전히 프롬프트할 몇 가지를 다룹니다. v2.1.212부터 v2.1.217에서는 bypass permissions가 없는 세션이 auto mode를 사용할 수 있는지 여부에 관계없이 읽기 전용 집합 외의 모든 명령에 대해 프롬프트를 표시했습니다.254[자동 모드](/docs/ko/auto-mode-config)를 사용할 수 있고 기본적으로 켜져 있는 `useAutoModeDuringPlan` 설정이 활성화되어 있으면, 분류기는 계획 중에 셸 명령을 검토하며 사용자에게 프롬프트를 표시하지 않습니다. 승인된 명령은 실행되고 거부된 명령은 차단됩니다. 그렇지 않으면 [기본 제공 읽기 전용 집합](/docs/ko/permissions#read-only-commands) 외의 명령은 승인을 요청하며, 샌드박스의 [자동 허용 모드](/docs/ko/sandboxing#sandbox-modes)가 활성화된 경우에도 마찬가지입니다. bypassPermissions를 사용할 수 있는 대화형 터미널 세션에서는 분류기나 프롬프트가 계획 명령에 적용되지 않습니다. [bypassPermissions 모드로 모든 검사 건너뛰기](#skip-all-checks-with-bypasspermissions-mode)는 여전히 프롬프트가 표시되는 몇 가지 항목을 다룹니다. v2.1.212부터 v2.1.217까지는 bypassPermissions가 없는 세션에서 자동 모드를 사용할 수 있는지 여부와 관계없이 읽기 전용 집합 외의 모든 명령에 대해 프롬프트를 표시했습니다.

255 255 

256`Shift+Tab`을 누르거나 단일 프롬프트 앞에 `/plan`을 붙여서 plan mode에 진입합니다. CLI에서 plan mode로 시작할 수도 있습니다:256계획 모드에 들어가려면 `Shift+Tab`을 누르거나 단일 프롬프트 앞에 `/plan`을 붙입니다. CLI에서 계획 모드로 시작할 수도 있습니다:

257 257 

258```bash theme={null}258```bash theme={null}

259claude --permission-mode plan259claude --permission-mode plan

260```260```

261 261 

262`Shift+Tab`을 다시 눌러 계획을 승인하지 않고 plan mode를 종료합니다.262계획을 승인하지 않고 계획 모드를 종료하려면 `Shift+Tab`을 다시 누릅니다.

263 263 

264<h3 id="review-and-approve-a-plan">264<h3 id="review-and-approve-a-plan">

265 계획 검토 및 승인265 계획 검토 및 승인

266</h3>266</h3>

267 267 

268계획이 준비되면 Claude가 이를 제시하고 진행 방법을 묻습니다. 해당 프롬프트에서 다음을 선택할 수 있습니다:268계획이 준비되면 Claude가 계획을 제시하고 어떻게 진행할지 묻습니다. 해당 프롬프트에서 다음을 선택할 수 있습니다:

269 269 

270* **Yes, and use auto mode**: 승인하고 [auto mode](#eliminate-prompts-with-auto-mode)에서 시작합니다. auto mode를 사용할 수 없으면 이 옵션은 **Yes, auto-accept edits**로 읽습니다. bypass permissions가 활성화된 상태로 세션을 시작한 경우 옵션은 **Yes, and switch to BYPASS PERMISSIONS (no further prompts) for this session**으로 읽습니다.270* **예, 자동 모드 사용**: 승인하고 [자동 모드](#eliminate-prompts-with-auto-mode)로 시작합니다. 자동 모드를 조직에서 비활성화한 경우 등 [세션에서 사용할 수 없으면](#eliminate-prompts-with-auto-mode), 이 옵션은 **예, 편집 자동 수락**으로 표시됩니다. bypassPermissions가 활성화된 상태로 세션을 시작한 경우, 옵션은 **예, 이 세션에 대해 BYPASS PERMISSIONS(추가 프롬프트 없음)로 전환**으로 표시됩니다.

271* **Yes, manually approve edits**: 승인하고 각 편집을 개별적으로 검토합니다.271* **예, 편집 수동 승인**: 승인하고 각 편집을 개별적으로 검토합니다.

272* **No, keep planning**: plan mode에 머물고 Claude에게 변경할 사항을 알립니다.272* **아니요, 계획 계속**: 계획 모드에 머물러 있고 Claude에게 변경할 사항을 알립니다.

273 273 

274계획을 승인하면 plan mode가 종료되고 세션이 각 승인 옵션이 설명하는 권한 모드로 전환되므로 Claude가 편집을 시작합니다. 다시 계획하려면 `Shift+Tab`으로 plan mode로 돌아가거나 다음 프롬프트 앞에 `/plan`을 붙입니다.274계획을 승인하면 계획 모드가 종료되고 세션이 각 승인 옵션이 설명하는 권한 모드로 전환되므로 Claude가 편집을 시작합니다. 다시 계획하려면 `Shift+Tab`으로 계획 모드로 돌아가거나 다음 프롬프트 앞에 `/plan`을 붙입니다.

275 275 

276`Ctrl+G`를 눌러 제안된 계획을 기본 텍스트 편집기에서 열고 Claude가 진행하기 전에 직접 편집합니다. [`showClearContextOnPlanAccept`](/docs/ko/settings-reference#showclearcontextonplanaccept)가 활성화되면 목록은 계획을 승인하고 계획 컨텍스트를 지우는 첫 번째 옵션을 얻습니다.276`Ctrl+G`를 눌러 제안된 계획을 기본 텍스트 편집기에서 열고 Claude가 진행하기 전에 직접 편집합니다. [`showClearContextOnPlanAccept`](/docs/ko/settings-reference#showclearcontextonplanaccept)가 활성화되면 목록에 계획을 승인하고 계획 컨텍스트를 지우는 첫 번째 옵션이 추가됩니다.

277 277 

278계획을 수락하면 계획을 기반으로 세션에 [생성된 제목](/docs/ko/sessions#name-your-sessions)도 제공됩니다. 단, 이미 세션의 이름을 지정한 경우는 제외됩니다.278계획을 수락하면 세션에 계획을 기반으로 한 [생성된 제목](/docs/ko/sessions#name-your-sessions)이 지정되며, 이미 세션의 이름을 지정하지 않은 경우입니다.

279 279 

280<h3 id="set-plan-mode-as-the-default">280<h3 id="set-plan-mode-as-the-default">

281 Plan mode를 기본값으로 설정281 계획 모드를 기본값으로 설정

282</h3>282</h3>

283 283 

284프로젝트의 터미널 세션에 대해 plan mode를 기본값으로 설정하려면 `.claude/settings.json`에서 `defaultMode`를 `plan`으로 설정합니다. [다른 권한 모드에서 시작](#start-in-a-different-mode) 아래의 예제에서 보여주는 대로 배치합니다. [VS Code extension](/docs/ko/vs-code)이 시작하는 대화는 시작 권한 모드에 대해 프로젝트 설정을 읽지 않습니다. 대신 VS Code 사용자 설정에서 `claudeCode.initialPermissionMode`를 `plan`으로 설정합니다.284프로젝트의 터미널 세션에 대해 계획 모드를 기본값으로 설정하려면 `.claude/settings.json`에서 `defaultMode`를 `plan`으로 설정합니다. 이는 [다른 권한 모드에서 시작](#start-in-a-different-mode)의 예시에 표시된 대로 배치됩니다. [VS Code 확장](/docs/ko/vs-code)이 시작하는 대화는 시작 권한 모드에 대한 프로젝트 설정을 읽지 않습니다. 대신 VS Code 사용자 설정에서 `claudeCode.initialPermissionMode`를 `plan`으로 설정합니다.

285 285 

286<h2 id="eliminate-prompts-with-auto-mode">286<h2 id="eliminate-prompts-with-auto-mode">

287 자동 모드로 권한 프롬프트 제거287 자동 모드로 권한 프롬프트 제거


457 457 

458경계는 규칙으로 저장되지 않습니다. 분류기는 각 검사에서 트랜스크립트에서 다시 읽으므로 [컨텍스트 압축](/docs/ko/costs#reduce-token-usage)이 경계를 명시한 메시지를 제거하면 경계가 손실될 수 있습니다. 하드 보장을 위해 [거부 규칙](/docs/ko/permissions#permission-rule-syntax)을 대신 추가하세요.458경계는 규칙으로 저장되지 않습니다. 분류기는 각 검사에서 트랜스크립트에서 다시 읽으므로 [컨텍스트 압축](/docs/ko/costs#reduce-token-usage)이 경계를 명시한 메시지를 제거하면 경계가 손실될 수 있습니다. 하드 보장을 위해 [거부 규칙](/docs/ko/permissions#permission-rule-syntax)을 대신 추가하세요.

459 459 

460<h3 id="approvals-you-state-in-conversation">

461 승인 명시

462</h3>

463 

464차단된 작업이 허용된다고 Claude에게 말하면 분류기는 이를 승인으로 읽고 블록을 지울 수 있습니다. 어떻게 표현했는지에 따라 작업이 실행되는지, 그리고 승인이 얼마나 멀리 도달하는지가 결정됩니다:

465 

466* **작업과 그 세부 사항을 명명하세요**: 메시지는 작업과 그것을 위험하게 만드는 구체적인 것 (예: 강제 푸시의 분기)을 명명해야 합니다. 동사만 명명하는 것은 아무것도 지우지 않으므로 "강제 푸시할 수 있습니다"는 블록을 제자리에 두고 있습니다.

467* **한 작업을 포함하도록 예상하세요**: 승인은 명명한 파괴적 작업을 포함하므로 나중의 작업은 승인을 상시로 부여하지 않으면 다시 차단됩니다. 일상적인 패턴을 한 번에 하나씩 승인하는 것을 중지하려면 [`autoMode.allow`](/docs/ko/auto-mode-config#override-the-block-and-allow-rules)에 추가하세요.

468* **일부 블록은 제자리에 유지됩니다**: [분류기의 우선 순위 순서](/docs/ko/auto-mode-config#override-the-block-and-allow-rules)는 승인이 도달할 수 있는 블록을 설정합니다. 이를 실행할 수 없는 단계를 실행하려면 [자동 모드를 떠나](#switch-permission-modes) 권한 프롬프트에 답하세요.

469 

460<h3 id="when-auto-mode-falls-back">470<h3 id="when-auto-mode-falls-back">

461 자동 모드가 폴백할 때471 자동 모드가 폴백할 때

462</h3>472</h3>


508 1. 서브에이전트가 시작되기 전에 위임된 작업 설명이 평가되므로 위험해 보이는 작업은 생성 시점에 차단됩니다.518 1. 서브에이전트가 시작되기 전에 위임된 작업 설명이 평가되므로 위험해 보이는 작업은 생성 시점에 차단됩니다.

509 2. 서브에이전트가 실행되는 동안 각 작업은 부모 세션과 동일한 규칙으로 분류기를 통과하며, 서브에이전트의 frontmatter의 모든 `permissionMode`는 무시됩니다.519 2. 서브에이전트가 실행되는 동안 각 작업은 부모 세션과 동일한 규칙으로 분류기를 통과하며, 서브에이전트의 frontmatter의 모든 `permissionMode`는 무시됩니다.

510 3. 서브에이전트가 완료되면 분류기는 작업과 최종 보고서를 검토한 후 부모가 보고서를 읽습니다. 분류기가 서브에이전트의 작업 또는 보고서에 플래그를 지정하거나 별도의 API 안전 검사가 검토를 거부하면 보고서는 여전히 전달되며 보안 경고가 앞에 붙습니다. 분류기를 사용할 수 없는 경우 보고서는 서브에이전트의 작업을 검증한 후 작업하도록 하는 메모와 함께 도착합니다.520 3. 서브에이전트가 완료되면 분류기는 작업과 최종 보고서를 검토한 후 부모가 보고서를 읽습니다. 분류기가 서브에이전트의 작업 또는 보고서에 플래그를 지정하거나 별도의 API 안전 검사가 검토를 거부하면 보고서는 여전히 전달되며 보안 경고가 앞에 붙습니다. 분류기를 사용할 수 없는 경우 보고서는 서브에이전트의 작업을 검증한 후 작업하도록 하는 메모와 함께 도착합니다.

511 

512 단계 1은 Claude Code v2.1.178 이상이 필요합니다. 이전 버전은 단계 2 및 3에서 분류기를 적용했지만 서브에이전트가 시작되기 전에 작업 설명을 평가하지 않았습니다.

513 </Accordion>521 </Accordion>

514 522 

515 <Accordion title="비용 및 지연">523 <Accordion title="비용 및 지연">


640대신 발생하는 일은 권한 모드에 따라 달라집니다:648대신 발생하는 일은 권한 모드에 따라 달라집니다:

641 649 

642| 모드 | Claude Code가 critical-path 제거로 수행하는 작업 |650| 모드 | Claude Code가 critical-path 제거로 수행하는 작업 |

643| :----------------------- | :-------------------------------------------------------------------------------------------------------------------------- |651| :----------------------- | :------------------------------------------------------------------------------------------------------------------------- |

644| `default`, `acceptEdits` | 승인을 요청합니다. |652| `default`, `acceptEdits` | 승인을 요청합니다 |

645| `plan` | 승인을 요청합니다. [계획 중에 auto mode를 사용할 수 있고](#analyze-before-you-edit-with-plan-mode) bypass permissions를 사용할 수 없으면 대신 분류기로 보냅니다. |653| `plan` | 승인을 요청합니다. [계획 중에 auto mode를 사용할 수 있고](#analyze-before-you-edit-with-plan-mode) bypass permissions를 사용할 수 없으면 대신 분류기로 보냅니다 |

646| `auto` | [분류기](#eliminate-prompts-with-auto-mode)로 보냅니다. |654| `auto` | [분류기](#eliminate-prompts-with-auto-mode)로 보냅니다 |

647| `dontAsk` | 거부합니다. |655| `dontAsk` | 거부합니다 |

648| `bypassPermissions` | 승인을 요청합니다. |656| `bypassPermissions` | 승인을 요청합니다 |

649 657 

650명시적 [ask 규칙](/docs/ko/permissions#manage-permissions)이 명령과 일치하면 Claude Code는 `auto` mode에서도 승인을 요청합니다. 승인을 요청하는 모드에서 [`PermissionRequest` hook](/docs/ko/hooks#permissionrequest)은 다른 프롬프트처럼 프롬프트에 답할 수 있습니다.658명시적 [ask 규칙](/docs/ko/permissions#manage-permissions)이 명령과 일치하면 Claude Code는 `auto` mode에서도 승인을 요청합니다. 승인을 요청하는 모드에서 [`PermissionRequest` hook](/docs/ko/hooks#permissionrequest)은 다른 프롬프트처럼 프롬프트에 답할 수 있습니다.

651 659 


656* 홈 디렉토리664* 홈 디렉토리

657* Windows 드라이브 루트 및 최상위 디렉토리(예: `C:\` 및 `C:\Windows`)665* Windows 드라이브 루트 및 최상위 디렉토리(예: `C:\` 및 `C:\Windows`)

658* 작업 디렉토리 및 부모666* 작업 디렉토리 및 부모

659* 추가 작업 디렉토리 및 부모, 단 제거가 하나 아래의 glob일 때만(예: `rm -rf <dir>/*`). `rm -rf <dir>`은 디렉토리 자체에서 이 확인을 트리거하지 않습니다.667* 추가 작업 디렉토리 및 부모, 단 제거가 하나 아래의 glob일 때만(예: `rm -rf <dir>/*`). `rm -rf <dir>`은 디렉토리 자체에서 이 확인을 트리거하지 않습니다

660 668 

661Claude Code는 또한 `rm -rf "$DIR"/*`와 같이 셸 변수 직접 아래의 glob 또는 후행 슬래시를 critical-path 제거로 취급합니다. 변수가 비어 있으면 명령이 파일시스템 루트에서 제거가 되기 때문입니다.669Claude Code는 또한 `rm -rf "$DIR"/*`와 같이 셸 변수 직접 아래의 glob 또는 후행 슬래시를 critical-path 제거로 취급합니다. 변수가 비어 있으면 명령이 파일시스템 루트에서 제거가 되기 때문입니다.

662 670 

671이 변수 경우에 대한 프롬프트는 플래그된 `rm`의 이름을 지정하고 확인을 통과하도록 다시 작성하는 방법을 설명합니다:

672 

673* `$DIR`과 같은 변수의 경우 각 확장을 보호하여 변수가 설정되지 않았거나 비어 있을 때 셸이 오류로 중지되도록 합니다(예: `rm -rf "${DIR:?}"/*`). 또는 리터럴 경로를 사용합니다

674* `$HOME`과 같이 일반적으로 설정되는 변수의 경우 리터럴 경로를 사용합니다

675 

676이러한 방식으로 모든 확장이 보호되는 제거는 critical-path 제거가 아니므로 `bypassPermissions` mode에서는 프롬프트 없이 실행됩니다.

677 

663`(...)` 내부의 서브셸, `{ ...; }` 내부의 brace group, `$(...)` 또는 백틱을 사용한 명령 치환, 또는 `<(...)` 내부의 프로세스 치환 내에 제거를 숨기는 것은 확인을 건너뛰지 않습니다. Claude Code는 `(rm -rf ~)` 또는 `echo "$(rm -rf ~)"`처럼 중첩된 형식 내부에 있든 같은 명령의 다른 곳에 있든 critical-path 제거를 찾습니다.678`(...)` 내부의 서브셸, `{ ...; }` 내부의 brace group, `$(...)` 또는 백틱을 사용한 명령 치환, 또는 `<(...)` 내부의 프로세스 치환 내에 제거를 숨기는 것은 확인을 건너뛰지 않습니다. Claude Code는 `(rm -rf ~)` 또는 `echo "$(rm -rf ~)"`처럼 중첩된 형식 내부에 있든 같은 명령의 다른 곳에 있든 critical-path 제거를 찾습니다.

664 679 

665<h3 id="remove-item-in-powershell">680<h3 id="remove-item-in-powershell">

permissions.md +2 −10

Details

26 26 

27v2.1.211 이전에는 Claude Code가 항상 시작 디렉토리에 규칙을 저장했으므로 worktree 또는 하위 디렉토리에서 부여된 승인이 저장소의 나머지 부분에 적용되지 않았습니다. 이전 버전이 하위 디렉토리 또는 worktree에 저장한 규칙은 여전히 거기서 시작된 세션에 적용됩니다.27v2.1.211 이전에는 Claude Code가 항상 시작 디렉토리에 규칙을 저장했으므로 worktree 또는 하위 디렉토리에서 부여된 승인이 저장소의 나머지 부분에 적용되지 않았습니다. 이전 버전이 하위 디렉토리 또는 worktree에 저장한 규칙은 여전히 거기서 시작된 세션에 적용됩니다.

28 28 

29때때로 권한 프롬프트는 "다시 묻지 않기" 옵션이 없고 세션의 나머지 부분에 대해 작업을 허용하는 옵션도 없는 일회성 승인만 제공합니다. Claude Code는 프롬프트가 허용할 모든 것을 보여줄 수 있을 때만 이러한 옵션을 제공하므로 프롬프트에서 저장하는 규칙은 이름이 지정된 옵션만 포함합니다.29때때로 권한 프롬프트는 "다시 묻지 않기" 옵션이 없고 세션의 나머지 부분에 대해 작업을 허용하는 옵션도 없는 일회성 승인만 제공합니다. Claude Code는 프롬프트가 허용할 모든 것을 보여줄 수 있을 때만 이러한 옵션을 제공하므로 프롬프트에서 저장하는 규칙은 이름이 지정된 옵션만 포함합니다. 프롬프트가 일회성 승인만 제공하는 경우, 작업을 한 번 승인하거나 [`/permissions`](#manage-permissions)에서 규칙을 직접 추가합니다.

30 

31Claude Code를 시작한 디렉토리가 옵션의 레이블을 너무 길게 만드는 경우, Claude Code는 홈 디렉토리를 `~`로 바꾸고 경로의 끝을 `…`로 바꾸어 레이블에서 단축하고 옵션을 유지합니다. 여전히 동일한 규칙을 저장합니다. Claude Code는 세 가지 경우에 옵션을 제외합니다:

32 

33* **명령 또는 편집:** 전체를 표시하기에 너무 큽니다.

34* **규칙이 포함할 명령 또는 경로:** 레이블이 모두 맞지 않습니다.

35* **시작 디렉토리가 너무 길어서 단축되지 않음:** Claude Code가 안전하게 표시할 수 없는 문자를 포함하거나 시작도 맞지 않습니다.

36 

37작업을 한 번 승인하거나 [`/permissions`](#manage-permissions)에서 규칙을 직접 추가합니다.

38 30 

39<h3 id="add-a-comment-when-you-answer-a-permission-prompt">31<h3 id="add-a-comment-when-you-answer-a-permission-prompt">

40 권한 프롬프트에 답할 때 주석 추가32 권한 프롬프트에 답할 때 주석 추가


224 216 

225허용 규칙은 리터럴 `mcp__<server>__` 접두사 이후에만 도구 이름 glob을 허용합니다. 서버 세그먼트는 glob이 없어야 하므로 규칙이 구성한 특정 서버를 지정합니다. `mcp__puppeteer__*`는 `puppeteer` 서버의 모든 도구와 일치하며, `mcp__github__get_*`는 해당 `get_` 도구와 일치합니다. `"*"`, `"B*"`, 또는 `"mcp__*"`와 같은 고정되지 않은 허용 glob은 경고와 함께 건너뛰어지며 자동으로 승인되지 않습니다.217허용 규칙은 리터럴 `mcp__<server>__` 접두사 이후에만 도구 이름 glob을 허용합니다. 서버 세그먼트는 glob이 없어야 하므로 규칙이 구성한 특정 서버를 지정합니다. `mcp__puppeteer__*`는 `puppeteer` 서버의 모든 도구와 일치하며, `mcp__github__get_*`는 해당 `get_` 도구와 일치합니다. `"*"`, `"B*"`, 또는 `"mcp__*"`와 같은 고정되지 않은 허용 glob은 경고와 함께 건너뛰어지며 자동으로 승인되지 않습니다.

226 218 

227도구 이름이 알려진 도구와 일치하지 않는 거부 또는 요청 규칙은 오타를 포착하기 위해 시작 경고를 생성합니다. `_` 또는 `*`를 포함하는 도구 이름은 확인에서 제외됩니다.219도구 이름이 알려진 도구와 일치하지 않는 거부 또는 요청 규칙은 오타를 포착하기 위해 시작 경고를 생성합니다. `_` 또는 `*`를 포함하는 도구 이름은 확인에서 제외됩니다. Claude Code가 제거한 도구의 이름(예: `TaskOutput`)도 확인에서 제외됩니다.

228 220 

229트랜스크립트 및 권한 대화 상자에서 도구에 대해 표시되는 레이블은 정규 이름과 다를 수 있습니다. 예를 들어, 트랜스크립트에서 `Stop Task`로 표시되는 도구의 정규 이름은 `TaskStop`입니다. 권한 규칙 및 [hook 매처](/docs/ko/hooks)는 레이블을 기준으로 일치시키지 않으므로, `Stop Task`로 작성된 규칙은 일치하지 않습니다. 거부 및 요청 규칙의 경우, 위의 시작 경고가 불일치를 포착합니다. [도구 참조](/docs/ko/tools-reference)에 나열된 정규 이름을 사용합니다.221트랜스크립트 및 권한 대화 상자에서 도구에 대해 표시되는 레이블은 정규 이름과 다를 수 있습니다. 예를 들어, 트랜스크립트에서 `Stop Task`로 표시되는 도구의 정규 이름은 `TaskStop`입니다. 권한 규칙 및 [hook 매처](/docs/ko/hooks)는 레이블을 기준으로 일치시키지 않으므로, `Stop Task`로 작성된 규칙은 일치하지 않습니다. 거부 및 요청 규칙의 경우, 위의 시작 경고가 불일치를 포착합니다. [도구 참조](/docs/ko/tools-reference)에 나열된 정규 이름을 사용합니다.

230 222 

plugin-evals.md +3 −1

Details

339 도구 부여339 도구 부여

340</h3>340</h3>

341 341 

342실행은 권한을 요청하기 위해 중단되지 않습니다. 부여하지 않은 권한이 필요한 기본 제공 도구(예: `Bash`, `Write`, `Edit`, `WebFetch` 및 `WebSearch`)는 세션에서 제거되므로 Claude가 전혀 호출할 수 없습니다. 허용 목록은 케이스가 `allowed_tools`에 나열한 읽기 전용 도구(`Read`, `Glob`, `Grep`, `NotebookRead`, `Skill`, `Agent`, `TodoWrite` 및 작업 도구 `TaskCreate`, `TaskGet`, `TaskList`, `TaskUpdate`, `TaskStop` 및 `TaskOutput`)이며, `--allow-tools`로 부여하는 모든 것이 실행의 모든 케이스에 적용됩니다. 케이스가 `Bash`, `Write`, `Edit`, `WebFetch` 또는 `WebSearch`를 사용하도록 하려면 직접 부여합니다:342실행은 권한을 요청하기 위해 중단되지 않습니다. 부여하지 않은 권한이 필요한 기본 제공 도구(예: `Bash`, `Write`, `Edit`, `WebFetch` 및 `WebSearch`)는 세션에서 제거되므로 Claude가 전혀 호출할 수 없습니다.

343 

344허용 목록은 케이스가 `allowed_tools`에 나열한 읽기 전용 도구(`Read`, `Glob`, `Grep`, `NotebookRead`, `Skill`, `Agent`, `TodoWrite` 및 작업 도구 `TaskCreate`, `TaskGet`, `TaskList`, `TaskUpdate`, `TaskStop`)이며, `--allow-tools`로 부여하는 모든 것이 실행의 모든 케이스에 적용됩니다. 케이스가 `Bash`, `Write`, `Edit`, `WebFetch` 또는 `WebSearch`를 사용하도록 하려면 직접 부여합니다:

343 345 

344```bash theme={null}346```bash theme={null}

345claude plugin eval . --allow-tools Write Edit "Bash(npm test *)"347claude plugin eval . --allow-tools Write Edit "Bash(npm test *)"

Details

71에이전트의 역할, 전문성, 동작을 설명하는 상세한 시스템 프롬프트입니다.71에이전트의 역할, 전문성, 동작을 설명하는 상세한 시스템 프롬프트입니다.

72```72```

73 73 

74플러그인 에이전트는 `name`, `description`, `model`, `effort`, `maxTurns`, `tools`, `disallowedTools`, `skills`, `memory`, `background`, [`omitClaudeMd`](/docs/ko/sub-agents#supported-frontmatter-fields), 및 `isolation` 프론트매터 필드를 지원합니다. 유일한 유효한 `isolation` 값은 `"worktree"`입니다.74<h4 id="plugin-agent-frontmatter">

75 플러그인 에이전트 프론트매터

76</h4>

77 

78플러그인 에이전트 파일은 [서브에이전트 파일과 동일한 프론트매터 필드](/docs/ko/sub-agents#supported-frontmatter-fields)를 사용하지만, Claude Code는 플러그인에서 제공되는 에이전트의 경우 일부만 인정합니다:

79 

80* **지원됨**: `name`, `description`, `model`, `effort`, `maxTurns`, `tools`, `disallowedTools`, `skills`, `memory`, `background`, `omitClaudeMd`, `isolation`, `color`, 및 `experimental`. 유일한 유효한 `isolation` 값은 `"worktree"`입니다.

81* **보안상의 이유로 지원되지 않음**: `hooks`, `mcpServers`, 및 `permissionMode`. Claude Code는 플러그인에서 에이전트를 로드할 때 이들을 무시합니다. 이들을 사용하려면 에이전트 파일을 `.claude/agents/` 또는 `~/.claude/agents/`로 복사합니다.

82* **지원되지 않음**: `initialPrompt`.

75 83 

76보안상의 이유로 플러그인 제공 에이전트는 `hooks`, `mcpServers`, 또는 `permissionMode`를 지원하지 않습니다.84플러그인 에이전트 파일을 `agents/`의 하위 폴더에 배치할 수 있습니다. Claude Code는 [이들을 재귀적으로 로드](/docs/ko/sub-agents#choose-the-subagent-scope)하고 플러그인 이름, 각 하위 폴더 이름, 파일 이름을 콜론으로 결합하여 에이전트의 범위가 지정된 이름을 형성합니다. 예를 들어, `my-plugin`이라는 플러그인의 `agents/review/security.md`는 `my-plugin:review:security`로 로드됩니다. 두 가지 설정이 해당 이름을 변경합니다:

85 

86* 프론트매터 `name`: 파일 이름만 바꾸므로, `agents/review/security.md`의 `name: audit`은 `my-plugin:review:audit`으로 로드됩니다.

87* 매니페스트 [`agents`](#component-path-fields) 필드: 여기에 나열한 파일은 하위 폴더 이름 없이 로드되므로, `"agents": "./custom/review/security.md"`는 `my-plugin:security`로 로드됩니다.

77 88 

78Claude Code는 프론트매터에 `name`이 없거나 파싱되지 않는 경우에도 플러그인 에이전트를 로드합니다:89Claude Code는 프론트매터에 `name`이 없거나 파싱되지 않는 경우에도 플러그인 에이전트를 로드합니다:

79 90 


633키는 유효한 식별자여야 합니다. 각 옵션은 다음 필드를 지원합니다.644키는 유효한 식별자여야 합니다. 각 옵션은 다음 필드를 지원합니다.

634 645 

635| 필드 | 필수 | 설명 |646| 필드 | 필수 | 설명 |

636| :------------ | :-- | :------------------------------------------------------------------------------------ |647| :------------ | :-- | :---------------------------------------------------------------------------------------------------------------------------------------------- |

637| `type` | 예 | `string`, `number`, `boolean`, `directory` 또는 `file` 중 하나 |648| `type` | 예 | `string`, `number`, `boolean`, `directory` 또는 `file` 중 하나 |

638| `title` | 예 | 구성 대화 상자에 표시되는 레이블 |649| `title` | 예 | 구성 대화 상자에 표시되는 레이블 |

639| `description` | 예 | 필드 아래에 표시되는 도움말 텍스트 |650| `description` | 예 | 필드 아래에 표시되는 도움말 텍스트 |

640| `sensitive` | 아니오 | `true`인 경우 입력을 마스크하고 `settings.json` 대신 보안 저장소에 값을 저장합니다 |651| `sensitive` | 아니오 | `true`인 경우 입력을 마스크하고 `settings.json` 대신 보안 저장소에 값을 저장합니다 |

641| `required` | 아니오 | `true`인 경우 필드가 비어 있을 때 검증이 실패합니다 |652| `required` | 아니오 | `true`인 경우 필드가 비어 있을 때 검증이 실패합니다 |

642| `default` | 아니오 | 사용자가 아무것도 제공하지 않을 때 사용되는 값 |653| `default` | 아니오 | 사용자가 아무것도 제공하지 않을 때 사용되는 값 |

643| `options` | 아니오 | `string` 유형의 경우 필드가 허용하는 값입니다. `/config`에서 선택기로 표시됩니다. Claude Code v2.1.271 이상이 필요합니다 |654| `options` | 아니오 | `string` 유형의 경우 필드가 허용하는 값입니다. `/config`에서 선택기로 표시됩니다. [필드를 고정 옵션으로 제한](#limit-a-field-to-fixed-options)을 참조합니다. Claude Code v2.1.271 이상이 필요합니다 |

644| `multiple` | 아니오 | `string` 유형의 경우 문자열 배열을 허용합니다 |655| `multiple` | 아니오 | `string` 유형의 경우 문자열 배열을 허용합니다 |

645| `min` / `max` | 아니오 | `number` 유형의 경계 |656| `min` / `max` | 아니오 | `number` 유형의 경계 |

646 657 


672 683 

673프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 항목은 무시됩니다. 두 파일 모두 작업 공간에 있으므로 복제된 저장소가 거기에 값을 제공할 수 있으며 이러한 값은 플러그인 훅 명령, MCP 서버 구성, LSP 명령 및 모니터 명령으로 흐릅니다. v2.1.207 이전에는 이러한 항목이 읽혔습니다. 제한은 `pluginConfigs`에만 해당됩니다. [`enabledPlugins`](/docs/ko/settings-reference#enabledplugins)는 여전히 프로젝트 및 로컬 설정을 준수합니다.684프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 항목은 무시됩니다. 두 파일 모두 작업 공간에 있으므로 복제된 저장소가 거기에 값을 제공할 수 있으며 이러한 값은 플러그인 훅 명령, MCP 서버 구성, LSP 명령 및 모니터 명령으로 흐릅니다. v2.1.207 이전에는 이러한 항목이 읽혔습니다. 제한은 `pluginConfigs`에만 해당됩니다. [`enabledPlugins`](/docs/ko/settings-reference#enabledplugins)는 여전히 프로젝트 및 로컬 설정을 준수합니다.

674 685 

686<h4 id="limit-a-field-to-fixed-options">

687 필드를 고정 옵션으로 제한

688</h4>

689 

690`userConfig` 필드에 `options`를 설정하여 사용자가 고정 목록에서 값을 선택하도록 합니다.

691 

692`tone` 필드를 세 가지 옵션으로 제한하려면 `options`에 나열하고 `default`를 그 중 하나로 설정합니다.

693 

694```json theme={null}

695{

696 "userConfig": {

697 "tone": {

698 "type": "string",

699 "title": "Tone",

700 "description": "Voice for generated replies",

701 "options": ["neutral", "warm", "formal"],

702 "default": "neutral"

703 }

704 }

705}

706```

707 

708모든 필드에 `options`를 선언하면 Claude Code v2.1.271 이전 버전의 사용자는 플러그인을 로드할 수 없습니다.

709 

710필드에 `options`를 설정할 때 다음 규칙을 따릅니다.

711 

712* `type`을 `string`으로 설정합니다

713* `multiple` 또는 `sensitive`을 `true`로 설정하지 않습니다

714* `default`를 옵션 중 하나로 설정합니다

715* `default`를 설정하지 않으면 `required`를 `true`로 설정합니다

716* 최소 하나의 옵션을 나열하고 각각 1\~64자 길이입니다

717* 옵션을 공백으로 시작하거나 끝내지 않습니다

718* 옵션에서 제어 문자, 보이지 않는 문자, 텍스트 방향을 변경하는 문자 또는 일반 공백 이외의 공백을 사용하지 않습니다

719* 다른 대소문자로 된 경우에도 동일한 옵션을 두 번 나열하지 않습니다

720 

721이러한 규칙 중 하나라도 위반하면 플러그인이 로드되지 않습니다. `claude plugin validate`를 실행하여 어느 필드가 어느 규칙을 위반하는지 확인합니다.

722 

675<h3 id="channels">723<h3 id="channels">

676 채널724 채널

677</h3>725</h3>


720* 모든 경로는 플러그인 루트에 상대적이어야 하고 `./`로 시작해야 합니다. 단, `skills` 필드는 `"."`도 허용합니다768* 모든 경로는 플러그인 루트에 상대적이어야 하고 `./`로 시작해야 합니다. 단, `skills` 필드는 `"."`도 허용합니다

721 * `"."`과 `"./"`는 모두 플러그인 루트 자체를 나타냅니다769 * `"."`과 `"./"`는 모두 플러그인 루트 자체를 나타냅니다

722 * v2.1.221 이전에는 `"."`이 매니페스트 검증에 실패했고 플러그인이 로드되지 않았으므로 이전 버전을 지원하려면 `"./"`를 사용합니다770 * v2.1.221 이전에는 `"."`이 매니페스트 검증에 실패했고 플러그인이 로드되지 않았으므로 이전 버전을 지원하려면 `"./"`를 사용합니다

723* 사용자 정의 경로의 구성 요소는 동일한 명명 및 네임스페이싱 규칙을 사용합니다771* 사용자 정의 경로의 구성 요소는 동일한 명명 및 네임스페이싱 규칙을 사용합니다. 에이전트 파일은 제외됩니다. [에이전트](#agents)를 참조하여 에이전트 이름이 어떻게 작동하는지 알아봅니다

724* 여러 경로를 배열로 지정할 수 있습니다772* 여러 경로를 배열로 지정할 수 있습니다

725* 스킬 경로는 `SKILL.md`를 직접 포함하는 디렉터리를 가리킬 수 있습니다. 예를 들어 플러그인 루트의 경우 `"skills": ["."]`773* 스킬 경로는 `SKILL.md`를 직접 포함하는 디렉터리를 가리킬 수 있습니다. 예를 들어 플러그인 루트의 경우 `"skills": ["."]`

726 * Claude Code는 `SKILL.md`의 프론트매터 `name` 필드에서 스킬의 호출 이름을 가져오므로 설치 디렉터리의 이름이 무엇이든 이름은 안정적으로 유지됩니다774 * Claude Code는 `SKILL.md`의 프론트매터 `name` 필드에서 스킬의 호출 이름을 가져오므로 설치 디렉터리의 이름이 무엇이든 이름은 안정적으로 유지됩니다


959├── agents/ # Subagent 정의1007├── agents/ # Subagent 정의

960│ ├── security-reviewer.md1008│ ├── security-reviewer.md

961│ ├── performance-tester.md1009│ ├── performance-tester.md

962│ └── compliance-checker.md1010│ ├── compliance-checker.md

1011│ └── review/ # 여기의 Agents는 enterprise-plugin:review:<name>으로 로드됩니다

1012│ └── accessibility.md

963├── workflows/ # 워크플로우 스크립트1013├── workflows/ # 워크플로우 스크립트

964│ └── release-audit.js1014│ └── release-audit.js

965├── output-styles/ # 출력 스타일 정의1015├── output-styles/ # 출력 스타일 정의


999| **매니페스트** | `.claude-plugin/plugin.json` | 플러그인 메타데이터 및 구성 (선택사항) |1049| **매니페스트** | `.claude-plugin/plugin.json` | 플러그인 메타데이터 및 구성 (선택사항) |

1000| **Skills** | `skills/` | `<name>/SKILL.md` 구조의 Skills |1050| **Skills** | `skills/` | `<name>/SKILL.md` 구조의 Skills |

1001| **Commands** | `commands/` | Markdown 파일로서의 Skills. 새 플러그인의 경우 `skills/` 사용 |1051| **Commands** | `commands/` | Markdown 파일로서의 Skills. 새 플러그인의 경우 `skills/` 사용 |

1002| **Agents** | `agents/` | Subagent Markdown 파일 |1052| **Agents** | `agents/` | Subagent Markdown 파일. 하위 폴더는 [agent 이름](#agents)의 일부입니다 |

1003| **Workflows** | `workflows/` | [Workflow](/docs/ko/workflows) 스크립트 파일 |1053| **Workflows** | `workflows/` | [Workflow](/docs/ko/workflows) 스크립트 파일 |

1004| **출력 스타일** | `output-styles/` | 출력 스타일 정의 |1054| **출력 스타일** | `output-styles/` | 출력 스타일 정의 |

1005| **테마** | `themes/` | 색상 테마 정의 |1055| **테마** | `themes/` | 색상 테마 정의 |

Details

96 96 

97[`opusplan` 모델 설정](/docs/ko/model-config#opusplan-model-setting)은 계획 모드 중에는 Opus로, 실행 중에는 Sonnet으로 확인되므로 각 계획 모드 토글은 모델 전환이며 새로운 캐시를 시작합니다.97[`opusplan` 모델 설정](/docs/ko/model-config#opusplan-model-setting)은 계획 모드 중에는 Opus로, 실행 중에는 Sonnet으로 확인되므로 각 계획 모드 토글은 모델 전환이며 새로운 캐시를 시작합니다.

98 98 

99Fable 모델 및 Opus 5의 [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)도 모델 전환입니다. 안전 분류기가 폴백 모델이 있는 카테고리의 요청에 플래그를 지정하면 Claude Code는 해당 모델에서 요청을 다시 실행하고 세션이 계속됩니다.99Fable 모델, Opus 5.5, Opus 5의 [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)도 모델 전환입니다. 안전 분류기가 폴백 모델이 있는 카테고리의 요청에 플래그를 지정하면 Claude Code는 해당 모델에서 요청을 다시 실행하고 세션이 계속됩니다.

100 100 

101스킬 또는 명령의 frontmatter가 세션의 현재 모델이 아닌 [`model`](/docs/ko/skills#frontmatter-reference)을 지정하면 해당 턴도 모델 전환입니다. 다음 요청이 캐시 히트 없이 전체 대화 기록을 읽습니다. 세션 모델은 다음 프롬프트에서 재개됩니다. `context: fork` 스킬은 [포크된 서브에이전트의 모델](/docs/ko/skills#run-skills-in-a-subagent)을 대신 설정합니다.101스킬 또는 명령의 frontmatter가 세션의 현재 모델이 아닌 [`model`](/docs/ko/skills#frontmatter-reference)을 지정하면 해당 턴도 모델 전환입니다. 다음 요청이 캐시 히트 없이 전체 대화 기록을 읽습니다. 세션 모델은 다음 프롬프트에서 재개됩니다. `context: fork` 스킬은 [포크된 서브에이전트의 모델](/docs/ko/skills#run-skills-in-a-subagent)을 대신 설정합니다.

102 102 

Details

1384* [Anthropic 팀이 Claude Code를 사용하는 방법](https://claude.com/blog/how-anthropic-teams-use-claude-code): 엔지니어링, 제품, 디자인 및 데이터 팀의 실제 워크플로우, [법률](https://claude.com/blog/how-anthropic-uses-claude-legal), [마케팅](https://claude.com/blog/how-anthropic-uses-claude-marketing), [사이버보안](https://claude.com/blog/how-anthropic-uses-claude-cybersecurity)에 대한 심화 학습1384* [Anthropic 팀이 Claude Code를 사용하는 방법](https://claude.com/blog/how-anthropic-teams-use-claude-code): 엔지니어링, 제품, 디자인 및 데이터 팀의 실제 워크플로우, [법률](https://claude.com/blog/how-anthropic-uses-claude-legal), [마케팅](https://claude.com/blog/how-anthropic-uses-claude-marketing), [사이버보안](https://claude.com/blog/how-anthropic-uses-claude-cybersecurity)에 대한 심화 학습

1385* [에이전트 코딩 확장 가이드](https://resources.anthropic.com/hubfs/Scaling%20agentic%20coding%20across%20your%20organization.pdf): 엔터프라이즈 채택 가이드1385* [에이전트 코딩 확장 가이드](https://resources.anthropic.com/hubfs/Scaling%20agentic%20coding%20across%20your%20organization.pdf): 엔터프라이즈 채택 가이드

1386 1386 

1387이 패턴의 비디오 연습을 보려면 Anthropic Academy의 무료 [Claude Code in Action](https://anthropic.skilljar.com/claude-code-in-action) 과정을 참조하십시오.1387이 패턴의 비디오 연습을 보려면 [Claude Academy](https://academy.claude.com/)의 무료 [Claude Code in Action](https://academy.claude.com/courses/claude-code-in-action) 과정을 참조하십시오.

1388 1388 

1389<h2 id="related-resources">1389<h2 id="related-resources">

1390 관련 리소스1390 관련 리소스

quickstart.md +1 −0

Details

379 379 

380* **Claude Code에서**: `/help`를 입력하거나 "어떻게..."를 물어보기380* **Claude Code에서**: `/help`를 입력하거나 "어떻게..."를 물어보기

381* **문서**: 여기 있습니다! 다른 가이드 찾아보기381* **문서**: 여기 있습니다! 다른 가이드 찾아보기

382* **강좌**: [Claude Code 101](https://academy.claude.com/courses/claude-code-101)을 수강하고 [Claude Academy](https://academy.claude.com/)에서 다른 무료 자습형 강좌를 수강하기

382* **커뮤니티**: 팁과 지원을 위해 [Discord](https://www.anthropic.com/discord)에 참여하기383* **커뮤니티**: 팁과 지원을 위해 [Discord](https://www.anthropic.com/discord)에 참여하기

Details

187* **`/teleport`로 세션 끌어오기**: [Claude Code on the web 세션](/docs/ko/claude-code-on-the-web#from-cloud-to-terminal)을 `/teleport`로 터미널로 끌어올 때 연결된 기기는 끌어온 대화의 이전 기록을 받지 않습니다. 양방향의 새 메시지는 이제 터미널에서 열려 있는 끌어온 대화로 이동합니다.187* **`/teleport`로 세션 끌어오기**: [Claude Code on the web 세션](/docs/ko/claude-code-on-the-web#from-cloud-to-terminal)을 `/teleport`로 터미널로 끌어올 때 연결된 기기는 끌어온 대화의 이전 기록을 받지 않습니다. 양방향의 새 메시지는 이제 터미널에서 열려 있는 끌어온 대화로 이동합니다.

188* **다른 세션의 메시지**: [교차 세션 메시징](/docs/ko/cross-session-messaging)을 사용하면 동일한 연결이 다른 컴퓨터의 자신의 세션 간 메시지와 [Claude Code on the web](/docs/ko/claude-code-on-the-web) 세션에서 Anthropic 서버를 통해 Remote Control 트래픽의 나머지와 같이 메시지를 전달합니다. [다른 컴퓨터의 메시지 세션](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)은 전달 규칙을 다루고 [인바운드 메시지 제어](/docs/ko/cross-session-messaging#control-inbound-messages)는 인바운드 제어를 다룹니다. Claude Code v2.1.224 이상이 필요합니다.188* **다른 세션의 메시지**: [교차 세션 메시징](/docs/ko/cross-session-messaging)을 사용하면 동일한 연결이 다른 컴퓨터의 자신의 세션 간 메시지와 [Claude Code on the web](/docs/ko/claude-code-on-the-web) 세션에서 Anthropic 서버를 통해 Remote Control 트래픽의 나머지와 같이 메시지를 전달합니다. [다른 컴퓨터의 메시지 세션](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)은 전달 규칙을 다루고 [인바운드 메시지 제어](/docs/ko/cross-session-messaging#control-inbound-messages)는 인바운드 제어를 다룹니다. Claude Code v2.1.224 이상이 필요합니다.

189* **턴 중간에 보낸 프롬프트**: 연결된 기기에서 현재 턴이 끝나기 전에 프롬프트를 보내면 Claude Code는 이를 큐에 넣고 해당 턴이 끝난 후 기기의 기록에 유지합니다.189* **턴 중간에 보낸 프롬프트**: 연결된 기기에서 현재 턴이 끝나기 전에 프롬프트를 보내면 Claude Code는 이를 큐에 넣고 해당 턴이 끝난 후 기기의 기록에 유지합니다.

190* **변경 사항의 diff**: 세션의 디렉토리가 git 저장소에 있을 때 연결된 기기의 diff 창은 커밋되지 않은 변경 사항의 diff를 표시합니다. 기기는 연결을 통해 diff를 요청하고 Claude Code는 컴퓨터에서 이를 계산합니다. 작업 트리가 깨끗할 때 Claude Code는 대신 기본 분기에서 분기한 이후의 분기 변경 사항을 제공합니다. v2.1.247 이전에는 Claude Code가 `claude remote-control`로 제공되는 세션의 연결된 기기에만 diff를 보고했습니다.190* **변경 사항의 diff**: 세션의 디렉토리가 git 저장소에 있을 때 연결된 기기의 diff 창은 변경 사항을 표시합니다. 기기는 연결을 통해 diff를 요청하고 Claude Code는 컴퓨터에서 이를 계산합니다. 저장소의 기본 분기보다 앞에 있는 커밋이 있는 분기에서 창은 분기가 분기한 이후의 분기 변경 사항을 표시하며, 커밋되지 않은 편집을 포함합니다. 기본 분기 자체에서 또는 앞에 있지 않은 분기에서 창은 커밋되지 않은 변경 사항만 표시합니다. v2.1.247 이전에는 Claude Code가 `claude remote-control`로 제공되는 세션의 연결된 기기에만 diff를 보고했습니다.

191* **모델**: 연결된 기기에서 [모델](/docs/ko/model-config)을 선택하면 Claude Code는 해당 모델에서 세션을 실행합니다. 터미널의 `/model` 선택기, `/status` 및 `/config`는 해당 모델을 표시합니다. Claude Code v2.1.238 이상이 필요합니다.191* **모델**: 연결된 기기에서 [모델](/docs/ko/model-config)을 선택하면 Claude Code는 해당 모델에서 세션을 실행합니다. 터미널의 `/model` 선택기, `/status` 및 `/config`는 해당 모델을 표시합니다. Claude Code v2.1.238 이상이 필요합니다.

192 * 기기의 모델 제어에서 선택한 모델은 현재 세션에만 적용됩니다. 기기에서 대화형 세션으로 `/model <name>`을 보내면 Claude Code는 새 세션의 기본값도 설정합니다.192 * 기기의 모델 제어에서 선택한 모델은 현재 세션에만 적용됩니다. 기기에서 대화형 세션으로 `/model <name>`을 보내면 Claude Code는 새 세션의 기본값도 설정합니다.

193 * 모델 ID가 필요한 곳에 표시 이름과 같이 Claude Code가 인식하지 못하는 이름을 보내면 Claude Code는 [선택을 거부](/docs/ko/errors#model-is-not-a-recognized-model-id)하고 세션은 현재 모델을 유지합니다. v2.1.260 이전에는 Claude Code가 기기의 모델 제어에서 인식되지 않는 선택을 저장했고 다음 메시지가 실패했습니다.193 * 모델 ID가 필요한 곳에 표시 이름과 같이 Claude Code가 인식하지 못하는 이름을 보내면 Claude Code는 [선택을 거부](/docs/ko/errors#model-is-not-a-recognized-model-id)하고 세션은 현재 모델을 유지합니다. v2.1.260 이전에는 Claude Code가 기기의 모델 제어에서 인식되지 않는 선택을 저장했고 다음 메시지가 실패했습니다.

sandboxing.md +11 −5

Details

179 임시 디렉토리179 임시 디렉토리

180</h4>180</h4>

181 181 

182세션 임시 디렉토리는 기본적으로 작업 디렉토리와 함께 샌드박스 내에서 쓰기 가능합니다. [파일 시스템 격리를 비활성화](#disable-filesystem-isolation)하지 않는 한 Claude Code는 샌드박스된 명령에 대해 `$TMPDIR`을 이 디렉토리로 설정하므로 임시 파일을 쓰는 도구는 추가 구성 없이 작동합니다. 샌드박스 해제된 명령은 셸의 `$TMPDIR`을 변경하지 않고 상속하므로 파일 시스템 격리가 켜져 있는 동안 샌드박스된 명령과 샌드박스 해제된 명령은 `$TMPDIR`을 다른 디렉토리로 해결합니다. 두 명령 간에 임시 파일을 전달하려면 대신 작업 디렉토리 아래에 작성하세요.182세션 임시 디렉토리는 기본적으로 작업 디렉토리와 함께 샌드박스 내에서 쓰기 가능합니다. [파일 시스템 격리를 비활성화](#disable-filesystem-isolation)하지 않는 한 Claude Code는 샌드박스된 명령에 대해 `$TMPDIR`을 이 디렉토리로 설정하므로 임시 파일을 쓰는 도구는 추가 구성 없이 작동합니다.

183 

184샌드박스 해제된 명령은 셸의 `$TMPDIR`을 변경하지 않고 상속하므로 파일 시스템 격리가 켜져 있는 동안 샌드박스된 명령과 샌드박스 해제된 명령은 `$TMPDIR`을 다른 디렉토리로 해결합니다. 셸이 `$TMPDIR`을 설정하지 않거나 비워두면 `$TMPDIR`을 참조하는 샌드박스 해제된 명령은 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars) 재정의를 받거나, 설정하지 않았거나 재정의가 긴 경로인 경우 운영 체제의 임시 디렉토리를 받으므로 변수가 빈 문자열로 확장되지 않습니다. 두 명령 간에 임시 파일을 전달하려면 대신 작업 디렉토리 아래에 작성하세요.

183 185 

184<h2 id="configure-sandboxing">186<h2 id="configure-sandboxing">

185 샌드박싱 구성187 샌드박싱 구성


743 745 

744* **명령이 host-not-allowed 오류로 실패**: 많은 CLI 도구는 특정 호스트에 도달해야 합니다. 프롬프트될 때 권한을 부여하면 호스트가 허용 목록에 추가되므로 도구가 향후 샌드박스 내에서 실행됩니다.746* **명령이 host-not-allowed 오류로 실패**: 많은 CLI 도구는 특정 호스트에 도달해야 합니다. 프롬프트될 때 권한을 부여하면 호스트가 허용 목록에 추가되므로 도구가 향후 샌드박스 내에서 실행됩니다.

745* **`jest`가 중단되거나 실패**: `watchman`은 샌드박스와 호환되지 않습니다. 대신 `jest --no-watchman`을 실행합니다.747* **`jest`가 중단되거나 실패**: `watchman`은 샌드박스와 호환되지 않습니다. 대신 `jest --no-watchman`을 실행합니다.

746* **Go 기반 CLI가 macOS에서 TLS 검증 실패**: `gh`, `gcloud`, `terraform`과 같은 도구는 Seatbelt에서 TLS 검증에 실패할 수 있습니다. 이러한 도구를 `excludedCommands`에 나열하여 샌드박스 외부에서 실행합니다. MITM 프록시 및 사용자 정의 CA와 함께 `httpProxyPort`를 사용하는 경우 대신 [`enableWeakerNetworkIsolation`](/docs/ko/settings-reference#sandbox-enableweakernetworkisolation)을 `true`로 설정합니다.748* **Go 기반 CLI가 macOS에서 TLS 검증 실패**: `gh`, `gcloud`, `terraform`과 같은 도구는 Seatbelt에서 TLS 검증에 실패할 수 있습니다. 이러한 도구를 [`excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에 나열합니다. MITM 프록시 및 사용자 정의 CA와 함께 `httpProxyPort`를 사용하는 경우 대신 [`enableWeakerNetworkIsolation`](/docs/ko/settings-reference#sandbox-enableweakernetworkisolation)을 `true`로 설정합니다.

747* **`open`, `osascript`, 또는 브라우저 기반 인증 흐름이 macOS에서 오류 `-600`으로 실패**: 샌드박스는 기본적으로 Apple Events를 차단합니다. 사용자, 관리 또는 CLI 설정에서 [`allowAppleEvents`](/docs/ko/settings-reference#sandbox-allowappleevents)를 `true`로 설정하여 이를 허용합니다. 프로젝트 설정은 이 키에 대해 무시됩니다. 이를 활성화하면 샌드박싱된 명령이 사용자 프롬프트 없이 다른 애플리케이션을 비샌드박싱된 상태로 시작할 수 있고 실행 중인 애플리케이션에 AppleScript 명령을 보낼 수 있으므로 코드 실행 격리가 제거됩니다. 이는 macOS 자동화 동의 프롬프트(TCC)의 적용을 받습니다. 또는 명령을 `excludedCommands`에 추가하여 샌드박스 외부에서 실행합니다.749* **`open`, `osascript`, 또는 브라우저 기반 인증 흐름이 macOS에서 오류 `-600`으로 실패**: 샌드박스는 기본적으로 Apple Events를 차단합니다. 사용자, 관리 또는 CLI 설정에서 [`allowAppleEvents`](/docs/ko/settings-reference#sandbox-allowappleevents)를 `true`로 설정하여 이를 허용합니다. 프로젝트 설정은 이 키에 대해 무시됩니다. 이를 활성화하면 샌드박싱된 명령이 사용자 프롬프트 없이 다른 애플리케이션을 비샌드박싱된 상태로 시작할 수 있고 실행 중인 애플리케이션에 AppleScript 명령을 보낼 수 있으므로 코드 실행 격리가 제거됩니다. 이는 macOS 자동화 동의 프롬프트(TCC)의 적용을 받습니다. 또는 명령을 [`excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에 추가합니다.

748* **`docker` 명령 실패**: `docker`는 샌드박스와 호환되지 않습니다. `docker *`를 `excludedCommands`에 추가하여 샌드박스 외부에서 실행합니다.750* **`docker` 명령 실패**: `docker`는 샌드박스와 호환되지 않습니다. `docker *`를 [`excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에 추가합니다.

749* **`pbcopy`, `xclip`, 또는 `wl-copy`가 클립보드를 업데이트하지 않음**: 이러한 클립보드 유틸리티는 샌드박스 내에서 시스템 클립보드에 도달하지 못할 수 있으며, 이 경우 이들에게 파이프된 텍스트가 도착하지 않습니다. Claude의 출력을 클립보드에 넣으려면 Claude에게 응답에서 인쇄하도록 요청한 다음 [`/copy`](/docs/ko/commands)를 실행합니다. 이는 샌드박싱된 명령이 아닌 Claude Code 프로세스에서 클립보드에 씁니다. 또는 `pbcopy *`, `wl-copy *`, 또는 `xclip *`를 `excludedCommands`에 추가하여 명령을 샌드박스 외부에서 실행합니다.751* **`pbcopy`, `xclip`, 또는 `wl-copy`가 클립보드를 업데이트하지 않음**: 이러한 클립보드 유틸리티는 샌드박스 내에서 시스템 클립보드에 도달하지 못할 수 있으며, 이 경우 이들에게 파이프된 텍스트가 도착하지 않습니다.

752 

753 Claude의 출력을 클립보드에 넣으려면 Claude에게 응답에서 인쇄하도록 요청한 다음 [`/copy`](/docs/ko/commands)를 실행합니다. `/copy`는 샌드박싱된 명령이 아닌 Claude Code 프로세스에서 클립보드에 씁니다.

754 

755 Claude가 텍스트를 이러한 도구 중 하나로 파이프할 때, 도구를 [`excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에 추가해도 그 자체로는 그 호출을 샌드박스 외부로 꺼내지 않습니다.

750* **git 명령이 `unable to unlink old`로 실패**: `git merge`, `git checkout` 및 유사한 명령은 샌드박스가 쓰기를 거부하는 파일을 교체해야 할 때 이런 방식으로 실패합니다. 해당 파일이 `.claude/skills`와 같은 [보호된 경로](#protected-paths) 아래에 있거나, `denyWrite` 항목 중 하나 아래에 있거나, 샌드박스가 명령을 쓸 수 있도록 허용하는 디렉토리 외부에 있을 수 있습니다. Linux 및 WSL2에서 오류는 `Read-only file system`으로 끝납니다.756* **git 명령이 `unable to unlink old`로 실패**: `git merge`, `git checkout` 및 유사한 명령은 샌드박스가 쓰기를 거부하는 파일을 교체해야 할 때 이런 방식으로 실패합니다. 해당 파일이 `.claude/skills`와 같은 [보호된 경로](#protected-paths) 아래에 있거나, `denyWrite` 항목 중 하나 아래에 있거나, 샌드박스가 명령을 쓸 수 있도록 허용하는 디렉토리 외부에 있을 수 있습니다. Linux 및 WSL2에서 오류는 `Read-only file system`으로 끝납니다.

751 757 

752 실패 후 Claude는 [명령을 샌드박스 외부에서 다시 실행하도록 제안](#the-unsandboxed-retry-escape-hatch)할 수 있습니다. 해당 재시도를 승인하거나 다른 터미널에서 git 명령을 직접 실행합니다. `allowUnsandboxedCommands`를 `false`로 설정한 경우 Claude는 재시도를 제안할 수 없으므로 명령을 직접 실행합니다. 동일한 git 명령이 자주 실패하면 [`excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에 추가합니다.758 실패 후 Claude는 [명령을 샌드박스 외부에서 다시 실행하도록 제안](#the-unsandboxed-retry-escape-hatch)할 수 있습니다. 해당 재시도를 승인하거나 다른 터미널에서 git 명령을 직접 실행합니다. `allowUnsandboxedCommands`를 `false`로 설정한 경우 Claude는 재시도를 제안할 수 없으므로 명령을 직접 실행합니다. 동일한 git 명령이 자주 실패하면 [`excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에 추가합니다.

Details

31/plugin install security-guidance@claude-plugins-official31/plugin install security-guidance@claude-plugins-official

32```32```

33 33 

34`/plugin`은 대화형 패널을 열며 터미널 CLI에서만 사용 가능합니다. Claude가 이 환경에서 `/plugin`을 사용할 수 없다고 응답하면 다른 방법으로 설치합니다:34`/plugin`은 터미널 CLI에서 대화형 패널을 엽니다. Claude가 이 환경에서 `/plugin`을 사용할 수 없다고 응답하면 다른 방법으로 설치합니다:

35 35 

36* **Claude 데스크톱 앱, 로컬 또는 SSH 세션**: 프롬프트 옆의 **+** 버튼을 클릭한 후 **플러그인**, **플러그인 추가**를 클릭하여 [플러그인 브라우저](/docs/ko/desktop#install-plugins)를 엽니다36* **Claude 데스크톱 앱, 로컬 또는 SSH 세션**: 프롬프트 옆의 **+** 버튼을 클릭한 후 **플러그인**, **플러그인 추가**를 클릭하여 [플러그인 브라우저](/docs/ko/desktop#install-plugins)를 엽니다

37* **클라우드 세션**: [클라우드 세션 및 공유 저장소에서 활성화](#enable-in-cloud-sessions-and-shared-repositories)에 표시된 대로 `.claude/settings.json`에서 플러그인을 선언합니다37* **VS Code 확장**: [**플러그인 관리** 대화상자](/docs/ko/vs-code#manage-plugins)에서 설치합니다

38* **클라우드 세션**: 플러그인을 claude.ai 계정에 대해 활성화하여 Claude Code가 [동기화된 플러그인](/docs/ko/plugins-reference#synced-plugins)으로 로드하도록 합니다. 클라우드 세션은 사용자 설정이나 저장소의 `.claude/settings.json`에서 플러그인을 로드하지 않습니다. [설정에서 전달되는 항목](/docs/ko/cloud-environments#what-carries-over-from-your-setup)에서 설명하는 대로입니다

38 39 

39터미널 설치는 범위를 묻습니다. 사용자 범위를 선택하여 플러그인을 사용자 설정에 기록하면 이 머신에서 시작하는 모든 새 로컬 세션에 로드됩니다.40터미널 설치는 범위를 묻습니다. 사용자 범위를 선택하여 플러그인을 사용자 설정에 기록하면 이 머신에서 시작하는 모든 새 로컬 세션에 로드됩니다.

40 41 


45 46 

46설치 요약을 확인합니다. `Run /reload-plugins to activate.`를 보고하면 [재시작 없이 플러그인 변경 사항 적용](/docs/ko/discover-plugins#apply-plugin-changes-without-restarting)을 참조하여 현재 세션에서 플러그인을 활성화합니다.47설치 요약을 확인합니다. `Run /reload-plugins to activate.`를 보고하면 [재시작 없이 플러그인 변경 사항 적용](/docs/ko/discover-plugins#apply-plugin-changes-without-restarting)을 참조하여 현재 세션에서 플러그인을 활성화합니다.

47 48 

48<h3 id="enable-in-cloud-sessions-and-shared-repositories">49<h3 id="enable-for-your-team-in-local-sessions">

49 클라우드 세션 및 공유 저장소에서 활성화50 로컬 세션에서 팀을 위해 활성화

50</h3>51</h3>

51 52 

52사용자 범위 플러그인은 [클라우드 세션](/docs/ko/claude-code-on-the-web)으로 전달되지 않습니다. 왜냐하면 이러한 세션은 머신이 아닌 클라우드에서 실행되기 때문입니다. 거기서 플러그인을 활성화하거나 저장소를 복제하는 모든 사람에 대해 켜려면 프로젝트의 체크인된 설정에서 선언합니다:53저장소에서 팀원이 시작하는 로컬 세션에서 플러그인을 켜려면 프로젝트의 체크인된 설정에서 선언합니다:

53 54 

54```json .claude/settings.json theme={null}55```json .claude/settings.json theme={null}

55{56{

Details

184 184 

185프록시는 `--capacity 1`이 필요합니다. 프록시 URL은 세션별이고 Git 2.32 이상이 필요합니다. 더 오래된 git은 프록시가 세션을 서로 격리하는 데 사용하는 구성 메커니즘을 무시합니다. 러너는 요구사항이 충족되지 않으면 시작을 거부합니다. 프록시가 Anthropic 측에서 가져오기 때문에 git 호스트는 Anthropic 인프라에서 도달할 수 있어야 합니다. 이는 Anthropic 호스팅 세션이 가진 동일한 요구사항입니다. 네트워크 내부에서만 라우팅 가능한 git 호스트의 경우 대신 [`checkout` 수명 주기 훅](/docs/ko/self-hosted-environments-configuration#checkout)을 사용하세요. 각 러너 프로세스는 한 번에 하나의 세션을 처리하므로 병렬 처리를 위해 더 많은 복제본을 실행하세요. 프록시가 활성화되면 `--git-host-rewrite` 및 `--git-ssh-rewrite`는 효과가 없습니다: 프록시 URL은 git 호스트가 아닌 `api.anthropic.com`을 가리킵니다.185프록시는 `--capacity 1`이 필요합니다. 프록시 URL은 세션별이고 Git 2.32 이상이 필요합니다. 더 오래된 git은 프록시가 세션을 서로 격리하는 데 사용하는 구성 메커니즘을 무시합니다. 러너는 요구사항이 충족되지 않으면 시작을 거부합니다. 프록시가 Anthropic 측에서 가져오기 때문에 git 호스트는 Anthropic 인프라에서 도달할 수 있어야 합니다. 이는 Anthropic 호스팅 세션이 가진 동일한 요구사항입니다. 네트워크 내부에서만 라우팅 가능한 git 호스트의 경우 대신 [`checkout` 수명 주기 훅](/docs/ko/self-hosted-environments-configuration#checkout)을 사용하세요. 각 러너 프로세스는 한 번에 하나의 세션을 처리하므로 병렬 처리를 위해 더 많은 복제본을 실행하세요. 프록시가 활성화되면 `--git-host-rewrite` 및 `--git-ssh-rewrite`는 효과가 없습니다: 프록시 URL은 git 호스트가 아닌 `api.anthropic.com`을 가리킵니다.

186 186 

187러너는 또한 등록할 때 Anthropic에 옵트인을 보고하며, 시작 시 `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)`를 출력합니다. 옵트인된 러너의 각 세션은 Anthropic 관리 git 또는 세션별 프록시 URL을 사용합니다. 세션이 세션별 프록시 URL을 사용할 때 러너는 그렇게 하는 것을 나타내는 `[runner:warn]` 라인 하나를 기록합니다.187러너는 또한 등록할 때 Anthropic에 옵트인을 보고하며, 시작 시 `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)`를 출력합니다. 옵트인 보고에는 Claude Code v2.1.267 이상이 필요하며, 이전 버전은 플래그를 수락하지만 이를 보고하거나 해당 라인을 출력하지 않습니다. 옵트인된 러너의 각 세션은 Anthropic 관리 git 또는 세션별 프록시 URL을 사용합니다. 세션이 세션별 프록시 URL을 사용할 때 러너는 그렇게 하는 것을 나타내는 `[runner:warn]` 라인 하나를 기록합니다.

188 188 

189<h3 id="rewrite-git-urls-for-private-networks">189<h3 id="rewrite-git-urls-for-private-networks">

190 개인 네트워크에 대한 git URL 다시 쓰기190 개인 네트워크에 대한 git URL 다시 쓰기


223노드가 ARM인 경우 `linux-x64`를 `linux-arm64`로 바꾸거나, Alpine과 같은 musl 기반 이미지에서 `linux-x64-musl` 또는 `linux-arm64-musl`로 바꾸세요. musl 이미지가 필요로 하는 추가 패키지는 [Alpine Linux 설정](/docs/ko/setup#alpine-linux-and-musl-based-distributions)을 참조하세요. URL은 표준 Claude Code 릴리스 위치이므로 [바이너리 무결성 및 코드 서명](/docs/ko/setup#binary-integrity-and-code-signing)에 설명된 대로 릴리스의 서명된 매니페스트에 대해 다운로드된 바이너리를 확인할 수 있습니다. Claude Code 버전 2.1.224 이상으로 이미지를 빌드한 다음 레지스트리로 푸시하고 아래 레시피에서 참조하세요:223노드가 ARM인 경우 `linux-x64`를 `linux-arm64`로 바꾸거나, Alpine과 같은 musl 기반 이미지에서 `linux-x64-musl` 또는 `linux-arm64-musl`로 바꾸세요. musl 이미지가 필요로 하는 추가 패키지는 [Alpine Linux 설정](/docs/ko/setup#alpine-linux-and-musl-based-distributions)을 참조하세요. URL은 표준 Claude Code 릴리스 위치이므로 [바이너리 무결성 및 코드 서명](/docs/ko/setup#binary-integrity-and-code-signing)에 설명된 대로 릴리스의 서명된 매니페스트에 대해 다운로드된 바이너리를 확인할 수 있습니다. Claude Code 버전 2.1.224 이상으로 이미지를 빌드한 다음 레지스트리로 푸시하고 아래 레시피에서 참조하세요:

224 224 

225```bash theme={null}225```bash theme={null}

226docker build --build-arg CLAUDE_CODE_VERSION=2.1.224 -t <your-registry>/claude-runner:latest .226docker build --build-arg CLAUDE_CODE_VERSION=2.1.267 -t <your-registry>/claude-runner:latest .

227```227```

228 228 

229<h2 id="size-cpu-and-memory-for-sessions">229<h2 id="size-cpu-and-memory-for-sessions">

Details

149 설정 우선순위149 설정 우선순위

150</h3>150</h3>

151 151 

152서버 관리 설정과 [엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)은 모두 Claude Code [설정 계층](/docs/ko/settings#settings-precedence)의 최상위 계층을 차지합니다. 명령줄 인수를 포함한 다른 설정 수준은 이를 재정의할 수 없습니다. [관리 설정 우선순위의 예외](/docs/ko/settings#exceptions-to-managed-settings-precedence)는 제외됩니다.152서버 관리 설정과 [엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)은 모두 Claude Code [설정 계층](/docs/ko/settings#settings-precedence)의 최상위 계층을 차지합니다. [관리 설정 우선순위의 예외](/docs/ko/settings#exceptions-to-managed-settings-precedence)를 제외하고는 명령줄 인수를 포함한 다른 설정 수준이 이들을 재정의할 수 없습니다.

153 153 

154관리 계층 내에서 Claude Code는 기본적으로 최소 하나의 정책 키를 전달하는 첫 번째 소스를 사용하며, 서버 관리 설정을 먼저 확인한 다음 엔드포인트 관리 설정을 확인합니다. [다음에서 다루는 예외 키](#per-key-exceptions-across-managed-sources)는 제외됩니다. [Claude Code가 관리 소스를 결합하는 방법](/docs/ko/managed-settings#precedence-within-the-managed-tier)에는 전체 순위, 제어 키에 대한 예외, 모든 소스에 적용되는 옵트인이 있습니다.154관리 계층 내에서 Claude Code는 기본적으로 최소 하나의 정책 키를 전달하는 첫 번째 소스를 사용하며, 서버 관리 설정을 먼저 확인한 후 엔드포인트 관리 설정을 확인합니다. 단, [다음에서 다루는 예외 키](#per-key-exceptions-across-managed-sources)는 제외됩니다. [Claude Code가 관리 소스를 결합하는 방식](/docs/ko/managed-settings#precedence-within-the-managed-tier)에는 전체 순위, 제어 키에 대한 예외, 모든 소스에 적용되는 옵트인이 있습니다.

155 155 

156선택된 소스가 [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 관리 설정을 제공하는 MDM 정책 또는 관리 설정 파일인 경우, 도우미의 출력이 해당 소스를 실행을 위한 유일한 관리 구성으로 대체합니다. Claude Code는 서버 관리 설정이 정책 키를 전달하는 동안 MDM 또는 파일 기반 설정에 구성된 `policyHelper`를 참조하지 않습니다.156선택된 소스가 [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 관리 설정을 제공하는 MDM 정책 또는 관리 설정 파일인 경우, 헬퍼의 출력이 해당 소스를 대체하여 실행을 위한 유일한 관리 구성이 됩니다. Claude Code는 서버 관리 설정이 정책 키를 전달하는 동안 MDM 또는 파일 기반 설정에 구성된 `policyHelper`를 참조하지 않습니다.

157 157 

158나중에 가져오기에서 서버 관리 설정이 제거된 것을 발견하면 Claude Code는 다음 시작 시가 아니라 즉시 해당 도우미를 실행합니다. [`policyHelper`](/docs/ko/settings-reference#policyhelper) 항목은 해당 실행이 실패할 때 발생하는 상황을 다룹니다.158나중에 수행한 가져오기에서 서버 관리 설정이 제거된 것을 발견하면, Claude Code는 다음 시작 시가 아니라 즉시 해당 헬퍼를 실행합니다. [`policyHelper`](/docs/ko/settings-reference#policyhelper) 항목은 해당 실행이 실패할 때 발생하는 상황을 다룹니다.

159 159 

160관리 콘솔에서 엔드포인트 관리 plist 또는 레지스트리 정책으로 돌아갈 의도로 서버 관리 구성을 지우는 경우, [캐시된 설정](#fetch-and-caching-behavior)이 다음 성공적인 가져오기까지 클라이언트 머신에 유지된다는 점을 주의하십시오. 그리고 [다음 시작 시에만 적용되는](#fetch-and-caching-behavior) `model`과 같은 키는 각 클라이언트가 다시 시작할 때까지 적용 상태로 유지됩니다. `/status`를 실행하여 어느 관리 소스가 활성화되어 있는지 확인합니다.160관리 콘솔에서 서버 관리 구성을 지우고 엔드포인트 관리 plist 또는 레지스트리 정책으로 폴백할 의도가 있다면, [캐시된 설정](#fetch-and-caching-behavior)이 다음 성공적인 가져오기까지 클라이언트 머신에 유지되며, `model`과 같이 [다음 시작 시에만 적용되는](#fetch-and-caching-behavior) 키는 각 클라이언트가 다시 시작될 때까지 유효합니다. `/status`를 실행하여 어느 관리 소스가 활성 상태인지 확인하세요.

161 161 

162<h3 id="per-key-exceptions-across-managed-sources">162<h3 id="per-key-exceptions-across-managed-sources">

163 관리 소스 전체의 키별 예외163 관리 소스 전체의 키별 예외

164</h3>164</h3>

165 165 

166세 가지 종류의 키가 병합 금지 규칙의 예외입니다.166세 가지 종류의 키가 병합 금지 규칙의 예외입니다:

167 167 

168* **교차 소스 잠금 키**: 샌드박스 허용 목록 잠금과 같은 작은 키 집합으로, [관리 설정 페이지에 나열되어 있습니다](/docs/ko/managed-settings#precedence-within-the-managed-tier). Claude Code는 관리자 제어 관리 소스가 이를 설정할 때 이를 준수합니다. 사용자 쓰기 가능 HKCU 레지스트리 계층은 제외됩니다.168* **교차 소스 잠금 키**: 샌드박스 허용 목록 잠금과 같은 작은 키 집합으로, [관리 설정 페이지에 나열되어 있습니다](/docs/ko/managed-settings#precedence-within-the-managed-tier). Claude Code는 관리자 제어 관리 소스가 이들을 설정할 때 이들을 준수합니다. 사용자 쓰기 가능 HKCU 레지스트리 계층은 제외됩니다.

169 169 

170 [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 관리 설정을 제공할 때, 그 출력은 이러한 확인이 읽는 유일한 소스입니다. [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh)는 제외되며, Claude Code는 시작 시 관리 소스에서 직접 읽습니다.170 [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 관리 설정을 제공할 때, 그 출력은 이러한 확인을 읽는 유일한 소스입니다. 단, [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh)는 Claude Code가 시작 시 관리 소스에서 직접 읽습니다.

171* **`env` 블록**: 자격 증명 키와 쌍을 이루는 원격 분석 단위 및 라우팅 변수를 제외하고, 아래에서 다루는 것처럼 관리자 제어 소스 전체에서 키별로 병합됩니다. 각 환경 변수에 대해 이를 정의하는 최우선 소스가 우승하며, 낮은 관리 소스는 높은 소스가 설정하지 않은 변수를 채웁니다. 따라서 엔드포인트 관리 `env` 항목은 서버 관리 구성이 해당 변수를 설정하지 않을 때마다 적용되거나, 해당 변수에 대한 캐시된 서버 값이 [서버 확인 대기 중](#fetch-and-caching-behavior)일 때 적용됩니다. Claude Code v2.1.223 이상이 필요합니다. v2.1.223 이전에는 Claude Code가 선택된 소스의 전체 `env` 블록만 적용합니다.171* **`env` 블록**: 자격증명 키와 쌍을 이루는 원격 분석 단위 및 라우팅 변수를 제외하고(아래에서 다룸), 관리자 제어 소스 전체에서 키별로 병합됩니다. 각 환경 변수에 대해 이를 정의하는 가장 높은 우선순위 소스가 우승하며, 낮은 관리 소스는 높은 소스가 설정하지 않은 변수를 채웁니다. 따라서 엔드포인트 관리 `env` 항목은 서버 관리 구성이 해당 변수를 설정하지 않을 때마다 적용되거나, 캐시된 서버 값이 [서버 확인 대기 중](#fetch-and-caching-behavior)일 때 적용됩니다. Claude Code v2.1.223 이상이 필요합니다. v2.1.223 이전에는 Claude Code가 선택된 소스의 전체 `env` 블록만 적용합니다.

172 * **원격 분석 단위**: `OTEL_EXPORTER_OTLP_*` 내보내기 키, `OTEL_LOG_*` 콘텐츠 캡처 토글, `OTEL_LOGS_EXPORTER`, 그리고 베타 추적 변수 `ENABLE_BETA_TRACING_DETAILED` 및 `BETA_TRACING_ENDPOINT`는 이들 중 하나를 설정하는 최우선 소스를 단위로 따릅니다. `otelHeadersHelper` 자격 증명 키를 전달하는 소스는 단위도 청구하지만, 선택된 소스일 때만 이러한 변수를 배치합니다. 선택되지 않았지만 키를 전달하는 소스는 이들 중 어느 것도 기여하지 않으며 여전히 낮은 소스가 이들을 채우는 것을 차단합니다. 어느 쪽이든 한 소스의 내보내기 엔드포인트는 다른 소스의 자격 증명과 쌍을 이룰 수 없습니다.172 * **원격 분석 단위**: `OTEL_EXPORTER_OTLP_*` 내보내기 키, `OTEL_LOG_*` 콘텐츠 캡처 토글, `OTEL_LOGS_EXPORTER`, 그리고 베타 추적 변수 `ENABLE_BETA_TRACING_DETAILED` 및 `BETA_TRACING_ENDPOINT`는 이들 중 하나를 설정하는 가장 높은 소스를 단위로 따릅니다. `otelHeadersHelper` 자격증명 키를 전달하는 소스는 단위를 주장하지만, 선택된 소스일 때만 이러한 변수를 제공합니다. 선택되지 않은 소스가 키를 전달하면 이들 중 어느 것도 제공하지 않으며 여전히 낮은 소스가 이들을 채우는 것을 차단합니다. 어느 쪽이든, 한 소스의 내보내기 엔드포인트는 다른 소스의 자격증명과 쌍을 이룰 수 없습니다.

173 * **자격 증명 쌍 라우팅**: 라우팅 변수를 선택된 소스 전용 자격 증명 키(예: `apiKeyHelper` 또는 `otelHeadersHelper`)와 쌍을 이루는 소스는 해당 슬롯을 우승할 때만 이러한 라우팅 변수를 기여합니다.173 * **자격증명 쌍 라우팅**: `apiKeyHelper` 또는 `otelHeadersHelper`와 같은 선택된 소스 전용 자격증명 키와 라우팅 변수를 쌍으로 하는 소스는 해당 슬롯을 획득할 때만 이러한 라우팅 변수를 제공합니다.

174* **게이트웨이 로그인 키**: Claude Code는 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl) 또는 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)의 `"gateway"` 값을 서버 관리 설정에서 절대 읽지 않으므로, 서버 관리 설정을 선택해도 게이트웨이 로그인을 제공하지 않으며 MDM 정책 또는 관리 설정 파일에 설정된 것을 숨기지 않습니다. [`managedSourcesBehavior` 항목](/docs/ko/settings-reference#managedsourcesbehavior)은 머신의 어느 관리 소스가 이들을 제공하는지 말합니다.174* **게이트웨이 로그인 키**: Claude Code는 서버 관리 설정에서 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/ko/settings-reference#gatewayinternalnetworks), 또는 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)의 `"gateway"` 값을 읽지 않으므로, 거기의 값은 MDM 정책 또는 관리 설정 파일에 설정된 값을 적용하지도 숨기지도 않습니다. [`managedSourcesBehavior` 항목](/docs/ko/settings-reference#managedsourcesbehavior)은 머신의 어느 관리 소스가 이들을 제공하는지 나타냅니다.

175 175 

176<h3 id="fetch-and-caching-behavior">176<h3 id="fetch-and-caching-behavior">

177 가져오기 및 캐싱 동작177 가져오기 및 캐싱 동작

178</h3>178</h3>

179 179 

180Claude Code는 시작 시 Anthropic의 서버에서 설정을 가져오고 활성 세션 중에 시간별로 업데이트를 폴링합니다.180Claude Code는 시작 시 Anthropic의 서버에서 설정을 가져오고 활성 세션 중에 매시간 업데이트를 폴링합니다.

181 181 

182[Claude 앱 게이트웨이](#platform-availability)를 통해 로그인한 클라이언트는 게이트웨이에서 설정을 가져오고 세션이 시작되기 전에 해당 가져오기를 기다리므로, 아래 목록의 가져오기는 이에 적용되지 않습니다. [강제 실패 폐쇄 시작](#enforce-fail-closed-startup)은 해당 가져오기가 실패할 때 발생하는 상황을 다룹니다.182[Claude 앱 게이트웨이](#platform-availability)를 통해 로그인한 클라이언트는 게이트웨이에서 설정을 가져오고 세션이 시작되기 전에 해당 가져오기를 기다리므로, 아래 목록의 가져오기는 이에 적용되지 않습니다. [실패 폐쇄 시작 적용](#enforce-fail-closed-startup)은 해당 가져오기가 실패할 때 발생하는 상황을 다룹니다.

183 183 

184**캐시된 설정 없이 처음 시작:**184**캐시된 설정 없이 첫 시작:**

185 185 

186* 개발자가 시작 시(예: 첫 실행 또는 `/logout` 후)에 로그인할 때, Claude Code는 세션을 열기 전에 가져오기를 최대 5초 동안 기다립니다. 정책이 시간 내에 도착하면 Claude Code는 첫 번째 화면부터 이를 적용하고 [`companyAnnouncements`](/docs/ko/settings-reference#companyannouncements)를 표시합니다. 페이로드가 [보안 승인](#security-approval-dialogs)이 필요하면 Claude Code는 대기를 종료하고 개발자가 승인한 후 페이로드를 적용합니다.186* 개발자가 시작 시(예: 첫 실행 또는 `/logout` 후)에 로그인할 때, Claude Code는 세션을 열기 전에 가져오기를 최대 5초 동안 기다립니다. 정책이 시간 내에 도착하면, Claude Code는 첫 화면부터 이를 적용하고 [`companyAnnouncements`](/docs/ko/settings-reference#companyannouncements)를 표시합니다. 페이로드가 [보안 승인](#security-approval-dialogs)이 필요한 경우, Claude Code는 대기를 종료하고 개발자가 승인한 후 페이로드를 적용합니다.

187* 다른 모든 시작에서, 그리고 5초 대기가 만료되면 Claude Code는 가져오기가 계속되는 동안 세션을 열므로 설정이 로드되고 제한이 적용되기 전에 짧은 시간이 지나갑니다.187* 다른 모든 시작에서, 그리고 5초 대기가 끝나면, Claude Code는 가져오기가 계속되는 동안 세션을 열므로, 설정이 로드되고 제한이 적용되기 전에 짧은 시간이 경과합니다.

188* 가져오기가 실패하면 Claude Code는 서버 관리 설정 없이 계속되고 대화형 세션에서 원격 정책이 적용되지 않음을 경고합니다. 엔드포인트 관리 설정은 여전히 적용됩니다. 관리 소스가 [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup)를 설정하면 Claude Code는 대신 종료됩니다.188* 가져오기가 실패하면, Claude Code는 서버 관리 설정 없이 계속 진행하고 대화형 세션에서 원격 정책이 적용되지 않음을 경고합니다. 엔드포인트 관리 설정은 여전히 적용됩니다. 관리 소스가 [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup)를 설정하면, Claude Code는 대신 종료됩니다.

189 189 

190**캐시된 설정으로 이후 시작:**190**캐시된 설정으로 후속 시작:**

191 191 

192* 캐시된 설정은 시작 시 즉시 적용됩니다. 캐시된 `modelPricing` 및 `managedMcpServers` 값과 Claude Code가 서버가 페이로드를 확인할 때까지 보류하는 환경 변수는 제외됩니다.192* 캐시된 설정은 캐시된 `modelPricing` 및 `managedMcpServers` 값과 Claude Code가 서버가 페이로드를 확인할 때까지 보류하는 환경 변수를 제외하고 시작 시 즉시 적용됩니다.

193* 캐시된 [`modelPricing`](/docs/ko/settings-reference#modelpricing)은 세션의 가져오기가 페이로드를 확인할 때까지 적용되지 않습니다. 그때까지 개발자가 `/usage`에서 보는 비용 수치와 상태 줄은 정가입니다.193* 캐시된 [`modelPricing`](/docs/ko/settings-reference#modelpricing)은 세션의 가져오기가 페이로드를 확인할 때까지 적용되지 않습니다. 그때까지 개발자가 `/usage`에서 보는 비용 수치와 상태 줄은 정가입니다.

194* 캐시된 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers) 블록은 세션의 가져오기가 페이로드를 확인할 때까지 적용되지 않습니다. Claude Code는 MCP 서버를 연결하기 전에 해당 가져오기를 최대 30초 동안 기다립니다. 가져오기가 실패하거나 시간 초과되면 세션은 조직의 서버 없이 시작되고, `/status`는 그렇게 표시하며, 나중에 가져오기가 이들을 확인하면 연결됩니다. 첫 시작을 포함한 전체 동작은 [제공된 서버가 연결될 때](/docs/ko/managed-mcp#when-provided-servers-connect)를 참조하십시오. Claude Code v2.1.259 이상이 필요합니다.194* 캐시된 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers) 블록은 세션의 가져오기가 페이로드를 확인할 때까지 적용되지 않습니다. Claude Code는 MCP 서버를 연결하기 전에 해당 가져오기를 최대 30초 동안 기다립니다. 가져오기가 실패하거나 시간 초과되면, 세션은 조직의 서버 없이 시작되고, `/status`는 그렇게 표시하며, 나중에 가져오기가 이들을 확인하면 연결됩니다. 첫 시작을 포함한 전체 동작은 [제공된 서버가 연결될 때](/docs/ko/managed-mcp#when-provided-servers-connect)를 참조하세요. Claude Code v2.1.259 이상이 필요합니다.

195* Claude Code는 백그라운드에서 새로운 설정을 가져옵니다.195* Claude Code는 백그라운드에서 새로운 설정을 가져옵니다.

196* 캐시된 설정은 네트워크 장애를 통해 유지됩니다. 시작 가져오기가 실패하면 Claude Code는 대화형 세션에서 캐시된 정책이 적용 중임을 경고합니다.196* 캐시된 설정은 네트워크 장애를 통해 유지됩니다. 시작 가져오기가 실패하면, Claude Code는 대화형 세션에서 캐시된 정책이 적용 중임을 경고합니다.

197* 가져오기가 성공할 때까지 시작 시 보류된 값은 보류된 상태로 유지됩니다.197* 가져오기가 성공할 때까지, 시작 시 보류된 값은 보류된 상태로 유지됩니다.

198 198 

199Claude Code는 서버가 세션의 페이로드를 확인할 때까지 캐시된 `env` 블록의 여러 변수 범주를 보류합니다. 이는 캐시된 프록시, 인증서 기관, 엔드포인트 또는 자격 증명 값이 페이로드를 확인하는 설정 가져오기를 리디렉션, 가로채기 또는 다시 인증하는 것을 방지합니다. 강화는 서버에서 가져온 설정 캐시에만 적용됩니다. [엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)은 MDM 또는 `managed-settings.json`을 통해 배포되며 영향을 받지 않습니다. 보류에는 Claude Code v2.1.198 이상이 필요합니다. v2.1.198 이전에는 전체 캐시된 `env` 블록이 시작 시 적용됩니다. 보류된 범주는 다음을 포함합니다.199Claude Code는 서버가 세션의 페이로드를 확인할 때까지 캐시된 `env` 블록의 여러 범주의 변수를 보류합니다. 이는 캐시된 프록시, 인증서 기관, 엔드포인트, 또는 자격증명 값이 페이로드를 확인하는 설정 가져오기를 리디렉션, 가로채기, 또는 재인증하는 것을 방지합니다. 강화는 서버에서 가져온 설정 캐시에만 적용됩니다. MDM 또는 `managed-settings.json`을 통해 배포된 [엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)은 영향을 받지 않습니다. 보류에는 Claude Code v2.1.198 이상이 필요합니다. v2.1.198 이전에는 전체 캐시된 `env` 블록이 시작 시 적용됩니다. 보류된 범주는 다음을 포함합니다:

200 200 

201* `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS`, 그리고 mTLS 클라이언트 인증서 변수 `CLAUDE_CODE_CLIENT_CERT` 및 `CLAUDE_CODE_CLIENT_KEY`와 같은 프록시 및 TLS 구성201* `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS`, mTLS 클라이언트 인증서 변수 `CLAUDE_CODE_CLIENT_CERT` 및 `CLAUDE_CODE_CLIENT_KEY`와 같은 프록시 및 TLS 구성

202* `ANTHROPIC_BASE_URL`, `CLAUDE_CODE_USE_BEDROCK` 및 `CLAUDE_CODE_USE_VERTEX`와 같은 공급자 선택 변수를 포함한 API 라우팅 및 공급자 선택, 그리고 `ANTHROPIC_BEDROCK_BASE_URL`과 같은 공급자 엔드포인트 URL202* `ANTHROPIC_BASE_URL`, `CLAUDE_CODE_USE_BEDROCK` 및 `CLAUDE_CODE_USE_VERTEX`와 같은 공급자 선택 변수, `ANTHROPIC_BEDROCK_BASE_URL`과 같은 공급자 엔드포인트 URL을 포함한 API 라우팅 및 공급자 선택

203* `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, 그리고 `CLAUDE_CODE_OAUTH_TOKEN`과 같은 인증 자격 증명203* `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN`과 같은 인증 자격증명

204* 구성 디렉토리 선택기 `CLAUDE_CONFIG_DIR`204* 구성 디렉토리 선택기 `CLAUDE_CONFIG_DIR`

205* Claude Code v2.1.223 이상의 자격 증명 소스 및 구성 디렉토리 선택기: `ANTHROPIC_FEDERATION_RULE_ID` 및 `ANTHROPIC_IDENTITY_TOKEN`과 같은 Workload Identity Federation 변수, 프로필 및 구성 디렉토리 선택기 `ANTHROPIC_PROFILE` 및 `ANTHROPIC_CONFIG_DIR`, 그리고 운영 체제 디렉토리 변수 `HOME`, `XDG_CONFIG_HOME`, `APPDATA`, 그리고 `USERPROFILE`205* Claude Code v2.1.223 이상에서 자격증명 소스 및 구성 디렉토리 선택기: `ANTHROPIC_FEDERATION_RULE_ID` 및 `ANTHROPIC_IDENTITY_TOKEN`과 같은 Workload Identity Federation 변수, 프로필 및 구성 디렉토리 선택기 `ANTHROPIC_PROFILE` 및 `ANTHROPIC_CONFIG_DIR`, 운영 체제 디렉토리 변수 `HOME`, `XDG_CONFIG_HOME`, `APPDATA`, `USERPROFILE`

206 206 

207Claude Code는 Workload Identity Federation 변수와 `ANTHROPIC_PROFILE` 및 `ANTHROPIC_CONFIG_DIR` 선택기를 시작 시에만 읽으므로, 서버 전달 값은 가져오기가 성공한 후에도 세션의 자격 증명 소스를 전환하지 않습니다. Claude Code v2.1.223 이상에서 이러한 선택기를 전달하려면 [엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)(예: MDM 또는 `managed-settings.json`)을 사용합니다. `CLAUDE_CONFIG_DIR` 및 운영 체제 디렉토리 변수의 경우, 보류 자체가 보호입니다. 캐시된 값은 서버가 페이로드를 확인할 때까지 환경 밖에 머물러 있습니다.207Claude Code는 Workload Identity Federation 변수와 `ANTHROPIC_PROFILE` 및 `ANTHROPIC_CONFIG_DIR` 선택기를 시작 시에만 읽으므로, 서버에서 전달된 값은 가져오기가 성공한 후에도 세션의 자격증명 소스를 전환하지 않습니다. Claude Code v2.1.223 이상에서 이러한 선택기를 전달하려면 MDM 또는 `managed-settings.json`과 같은 [엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)을 사용하세요. `CLAUDE_CONFIG_DIR` 및 운영 체제 디렉토리 변수의 경우, 보류 자체가 보호입니다. 캐시된 값은 서버가 페이로드를 확인할 때까지 환경 밖에 있습니다.

208 208 

209캐시된 `env` 블록의 다른 모든 키는 시작 시 적용됩니다. 서버가 페이로드를 확인한 후, 그리고 [보안 승인](#security-approval-dialogs)이 필요하면 승인하면, 보류된 변수는 세션의 나머지 기간 동안 적용됩니다.209캐시된 `env` 블록의 다른 모든 키는 시작 시 적용됩니다. 서버가 페이로드를 확인한 후, 그리고 [보안 승인](#security-approval-dialogs)이 필요한 경우 승인하면, 보류된 변수는 세션의 나머지 동안 적용됩니다.

210 210 

211조직에서 `api.anthropic.com`에 도달하기 위해 프록시가 필요한 경우, 보류는 서버 전달 `env` 블록 자체에만 영향을 미칩니다. [엔드포인트 관리](/docs/ko/managed-settings#delivery-mechanisms) `env` 블록에서 MDM 또는 `managed-settings.json`을 통해, 셸 환경에서, 또는 [사용자 설정](/docs/ko/settings#where-settings-live)에서 설정된 프록시는 설정 가져오기에 도달합니다. 엔드포인트 관리 소스에는 Claude Code v2.1.223 이상이 필요합니다. 캐시된 서버 관리 프록시 값은 가져오기가 이를 확인할 때까지 보류되므로 엔드포인트 관리 값은 키별로 채우고 가져오기 자체에 도달합니다. v2.1.223 이전에는 셸 환경 또는 사용자 설정을 사용하여 프록시가 캐시된 서버 페이로드와 함께 적용되도록 합니다. 첫 시작에는 캐시가 없으므로 엔드포인트 관리 소스, 셸 환경, 또는 사용자 설정이 초기 가져오기에 여전히 필요합니다.211조직이 `api.anthropic.com`에 도달하기 위해 프록시가 필요한 경우, 보류는 서버에서 전달된 `env` 블록 자체에만 영향을 미칩니다. MDM 또는 `managed-settings.json`을 통해 [엔드포인트 관리](/docs/ko/managed-settings#delivery-mechanisms) `env` 블록에 설정된 프록시, 셸 환경, 또는 [사용자 설정](/docs/ko/settings#where-settings-live)에 설정된 프록시는 설정 가져오기에 도달합니다. 엔드포인트 관리 소스에는 Claude Code v2.1.223 이상이 필요합니다. 캐시된 서버 관리 프록시 값은 가져오기가 이를 확인할 때까지 보류되므로, 엔드포인트 관리 값은 키별로 채우고 가져오기 자체에 도달합니다. v2.1.223 이전에는 셸 환경 또는 사용자 설정을 사용하여 프록시가 캐시된 서버 페이로드와 함께 적용되도록 하세요. 첫 시작에는 캐시가 없으므로 초기 가져오기를 위해 엔드포인트 관리 소스, 셸 환경, 또는 사용자 설정이 여전히 필요합니다.

212 212 

213Claude Code는 대부분의 설정 업데이트를 재시작 없이 실행 중인 세션에 적용합니다. OpenTelemetry 내보내기 구성, `model` 키, 그리고 `env` 블록에서 변수 제거를 포함한 일부 업데이트는 다음 시작 시에만 적용됩니다.213Claude Code는 대부분의 설정 업데이트를 재시작 없이 실행 중인 세션에 적용합니다. 일부 업데이트는 다음 시작 시에만 적용되며, OpenTelemetry 내보내기 구성, `model` 키, `env` 블록에서 변수 제거를 포함합니다.

214 214 

215<h3 id="invalid-entries-in-delivered-settings">215<h3 id="invalid-entries-in-delivered-settings">

216 전달된 설정의 잘못된 항목216 전달된 설정의 잘못된 항목

217</h3>217</h3>

218 218 

219페이로드의 일부가 스키마 검증에 실패하면 Claude Code는 검증 오류를 표시하고 남은 모든 유효한 설정을 적용합니다. [관리 설정의 잘못된 항목](/docs/ko/managed-settings#invalid-entries-in-managed-settings)은 이것이 무엇을 제거하고 어느 키가 더 엄격한 값으로 돌아가는지 말합니다. Claude Code v2.1.169 이상이 필요합니다.219페이로드의 일부가 스키마 검증에 실패하면, Claude Code는 검증 오류를 표시하고 모든 나머지 유효한 설정을 적용합니다. [관리 설정의 잘못된 항목](/docs/ko/managed-settings#invalid-entries-in-managed-settings)은 이것이 무엇을 삭제하고 어느 키가 더 엄격한 값으로 폴백하는지 나타냅니다. Claude Code v2.1.169 이상이 필요합니다.

220 220 

221서버 관리 전달은 다음 동작을 추가합니다.221서버 관리 전달은 이러한 동작을 추가합니다:

222 222 

223* `~/.claude/remote-settings.json`의 캐시는 잘못된 항목이 제거된 구제된 페이로드를 저장합니다. 잘못된 `cleanupPeriodDays` 및 `desktopSessionCleanupPeriodDays` 값은 제외되며, 이는 캐시된 복사본에 머물러 있고 절대 적용되지 않습니다.223* `~/.claude/remote-settings.json`의 캐시는 잘못된 항목이 제거된 구제된 페이로드를 저장합니다. 단, 잘못된 `cleanupPeriodDays` 및 `desktopSessionCleanupPeriodDays` 값은 캐시된 복사본에 남아 있으며 절대 적용되지 않습니다.

224* 페이로드의 어떤 필드도 구제할 수 없고 페이로드가 이러한 보존 키만 아닌 경우, Claude Code는 페이로드를 거부하고, 마지막으로 수락된 캐시된 설정을 유지하며, 디버그 로그에 `Remote settings: Settings validation failed - no fields could be salvaged`를 씁니다. `forceRemoteSettingsRefresh`가 설정되면 CLI는 대신 종료됩니다.224* 페이로드의 어떤 필드도 구제될 수 없고 페이로드가 이러한 보존 키만 아닌 경우, Claude Code는 페이로드를 거부하고, 마지막으로 수락된 캐시된 설정을 유지하며, 디버그 로그에 `Remote settings: Settings validation failed - no fields could be salvaged`를 씁니다. `forceRemoteSettingsRefresh`가 설정되면, CLI는 대신 종료됩니다.

225* [보안 승인 대화](#security-approval-dialogs)는 구제된 페이로드를 평가하므로 제거된 잘못된 항목은 승인을 위해 표시되지 않으며 실행되지 않습니다.225* [보안 승인 대화](#security-approval-dialogs)는 구제된 페이로드를 평가하므로, 제거된 잘못된 항목은 승인을 위해 제시되지 않으며 절대 실행되지 않습니다.

226 226 

227전달 문제를 디버깅하려면 `claude --debug-file <path>`를 실행하고 로그에서 `Remote settings`를 검색합니다. 조직에 배포하기 전에 테스트 머신에서 `claude doctor`로 페이로드 변경을 검증합니다.227전달 문제를 디버그하려면 `claude --debug-file <path>`를 실행하고 로그에서 `Remote settings`를 검색하세요. 조직에 배포하기 전에 테스트 머신에서 `claude doctor`로 페이로드 변경을 검증하세요.

228 228 

229<h3 id="enforce-fail-closed-startup">229<h3 id="enforce-fail-closed-startup">

230 강제 실패 폐쇄 시작230 실패 폐쇄 시작 적용

231</h3>231</h3>

232 232 

233기본적으로 시작 시 원격 설정 가져오기가 실패하면 CLI는 마지막 성공적인 가져오기에서 캐시된 설정으로 계속됩니다. [값 Claude Code가 가져오기가 성공할 때까지 보류](#fetch-and-caching-behavior)는 제외됩니다. 이를 한 번도 가져오지 않은 머신에서 CLI는 서버 관리 설정 없이 계속되고 여전히 장치의 [엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)을 적용합니다.233기본적으로 시작 시 원격 설정 가져오기가 실패하면, CLI는 마지막 성공적인 가져오기에서 캐시된 설정으로 계속 진행합니다. 단, [가져오기가 성공할 때까지 Claude Code가 보류하는 값](#fetch-and-caching-behavior)은 제외됩니다. 이전에 가져온 적이 없는 머신에서는 CLI가 서버 관리 설정 없이 계속 진행하며 여전히 디바이스의 모든 [엔드포인트 관리 설정](/docs/ko/managed-settings#delivery-mechanisms)을 적용합니다.

234 234 

235클라이언트가 캐시되거나 부재한 서버 관리 설정에서 시작하는 것을 중지하려면 관리 설정에서 `forceRemoteSettingsRefresh: true`를 설정합니다.235클라이언트가 캐시되거나 부재한 서버 관리 설정에서 시작하는 것을 중지하려면, 관리 설정에서 `forceRemoteSettingsRefresh: true`를 설정하세요.

236 236 

237[Claude 앱 게이트웨이](#platform-availability)를 통해 로그인한 클라이언트는 이 설정을 설정했는지 여부에 관계없이 시작 가져오기를 기다립니다. 게이트웨이가 참석한 대화형 시작에 `401`로 응답하고 이 설정이 꺼져 있으면 게이트웨이가 해당 로그인을 종료했으므로 Claude Code는 [`Cloud gateway session expired — run /login to reconnect.`](/docs/ko/errors#cloud-gateway-session-expired)를 인쇄하고 사용자가 `/login`을 실행할 때까지 게이트웨이에서 로그아웃된 상태로 세션을 엽니다. 가져오기가 다른 방식으로 실패하거나 `claude auth` 하위 명령을 제외한 다른 종류의 시작에서 실패하면 클라이언트는 오류와 함께 종료됩니다.237[Claude 앱 게이트웨이](#platform-availability)를 통해 로그인한 클라이언트는 이 설정을 설정했는지 여부와 관계없이 시작 가져오기를 기다리며, 실패한 가져오기를 다음과 같이 처리합니다:

238 238 

239이 설정이 서버 관리 설정을 가져오는 세션에서 활성화되면 CLI는 원격 설정이 새로 가져올 때까지 시작 시 차단됩니다. 가져오기가 실패하면 정책 없이 진행하는 대신 CLI가 종료됩니다. 이 설정은 자체 영속성을 가집니다. 서버에서 전달되면 로컬로도 캐시되므로 새 세션의 첫 번째 성공적인 가져오기 전에도 이후 시작이 동일한 동작을 적용합니다. [서버 관리 설정을 가져오지 않는](#platform-availability) 세션은 대기 없이 시작됩니다.239* 게이트웨이가 참석한 대화형 시작에 `401`로 응답하고 이 설정이 꺼져 있으면, 게이트웨이는 해당 로그인을 종료했습니다. Claude Code는 [`Cloud gateway session expired — run /login to reconnect.`](/docs/ko/errors#cloud-gateway-session-expired)를 인쇄하고 사용자가 `/login`을 실행할 때까지 게이트웨이에서 로그아웃된 상태로 세션을 엽니다.

240* 가져오기가 다른 방식으로 실패하거나, `claude auth` 부명령을 제외한 다른 모든 종류의 시작에서 실패하면, 클라이언트는 오류와 함께 종료됩니다.

240 241 

241이를 활성화하려면 관리 설정 구성에 키를 추가합니다.242이 설정이 서버 관리 설정을 가져오는 세션에서 활성 상태일 때, CLI는 원격 설정이 새로 가져올 때까지 시작 시 차단됩니다. 가져오기가 실패하면, CLI는 정책 없이 진행하지 않고 종료됩니다. 이 설정은 자체 영속화됩니다. 서버에서 전달되면, 첫 번째 성공적인 새 세션 가져오기 전에도 후속 시작이 동일한 동작을 적용하도록 로컬로 캐시됩니다. [서버 관리 설정을 가져오지 않는](#platform-availability) 세션은 대기 없이 시작됩니다.

243 

244이를 활성화하려면 관리 설정 구성에 키를 추가하세요:

242 245 

243```json theme={null}246```json theme={null}

244{247{


246}249}

247```250```

248 251 

249[엔드포인트 관리](/docs/ko/managed-settings#delivery-mechanisms) MDM 프로필 또는 시스템 `managed-settings.json` 파일에서 이 키를 설정하여 첫 시작 시 강제 실패 폐쇄 동작을 적용할 수도 있습니다. 서버 페이로드가 도착하기 전입니다. Claude Code v2.1.191 이상에서는 이 플래그가 위의 [우선순위 규칙](#settings-precedence)의 예외입니다. 캐시된 서버 관리 페이로드도 있는 경우에도 모든 관리자 제어 관리 소스에서 설정된 경우 이를 준수하므로 서버 관리 설정이 있을 때 MDM 전달 값이 무시되지 않습니다.252[엔드포인트 관리](/docs/ko/managed-settings#delivery-mechanisms) MDM 프로필 또는 시스템 `managed-settings.json` 파일에서 이 키를 설정하여 첫 시작 시 실패 폐쇄 동작을 적용할 수도 있습니다. Claude Code v2.1.191 이상에서, 이 플래그는 위의 [우선순위 규칙](#settings-precedence)의 예외입니다. Claude Code는 관리자 제어 관리 소스가 이를 설정할 때 이를 준수합니다. 캐시된 서버 관리 페이로드도 있으면 MDM 전달 값을 무시하지 않습니다.

250 253 

251[`policyHelper`](/docs/ko/settings-reference#policyhelper)가 관리 설정을 제공할 때, 그 출력은 Claude Code가 시작 후 읽는 키에 대해 다른 모든 관리 소스를 대체합니다. Claude Code가 이 키를 읽는 소스에 대해서는 [그 설정 항목](/docs/ko/settings-reference#forceremotesettingsrefresh)을 참조하십시오. `policyHelper` 항목은 Claude Code가 도우미를 읽는 소스와 실행 시기를 말합니다.254[`policyHelper`](/docs/ko/settings-reference#policyhelper)가 관리 설정을 제공할 때, 그 출력은 Claude Code가 시작 후 읽는 키에 대해 다른 모든 관리 소스를 대체합니다. Claude Code가 이 키를 읽는 소스에 대해서는 [그 설정 항목](/docs/ko/settings-reference#forceremotesettingsrefresh)을 참조하세요. `policyHelper` 항목은 Claude Code가 헬퍼를 읽는 소스와 실행 시기를 나타냅니다.

252 255 

253설정 가져오기는 또한 `Cache-Control: no-cache` 헤더를 전송하므로 중간 HTTP 프록시가 오래된 응답을 제공하지 않습니다.256설정 가져오기는 또한 중간 HTTP 프록시가 오래된 응답을 제공하지 않도록 `Cache-Control: no-cache` 헤더를 보냅니다.

254 257 

255이 설정을 활성화하기 전에 네트워크 정책이 `api.anthropic.com`에 대한 연결을 허용하는지 확인합니다. 해당 엔드포인트에 도달할 수 없으면 CLI는 시작 시 종료되고 사용자는 Claude Code를 시작할 수 없습니다.258이 설정을 활성화하기 전에, 네트워크 정책이 `api.anthropic.com`에 대한 연결을 허용하는지 확인하세요. 해당 엔드포인트에 도달할 수 없으면, CLI는 시작 시 종료되고 사용자는 Claude Code를 시작할 수 없습니다.

256 259 

257`claude auth` 하위 명령(예: `claude auth login`)은 이 확인 및 게이트웨이 시작 종료에서 제외되므로 만료된 자격 증명이 설정 가져오기 실패의 원인인 경우 사용자가 다시 인증할 수 있습니다.260`claude auth login`과 같은 `claude auth` 부명령은 이 확인과 게이트웨이 시작 종료에서 제외되므로, 사용자는 만료된 자격증명이 설정 가져오기 실패의 원인일 때 재인증할 수 있습니다.

258 261 

259<h3 id="security-approval-dialogs">262<h3 id="security-approval-dialogs">

260 보안 승인 대화263 보안 승인 대화

261</h3>264</h3>

262 265 

263보안 위험을 초래할 수 있는 특정 설정은 Claude Code가 대화형 세션에서 이를 적용하기 전에 명시적인 사용자 승인이 필요합니다.266특정 설정은 보안 위험을 초래할 수 있으므로 Claude Code가 대화형 세션에서 이를 적용하기 전에 명시적인 사용자 승인이 필요합니다:

264 267 

265* **셸 명령 설정**: `apiKeyHelper`, `statusLine`, 그리고 `otelHeadersHelper`와 같은 셸 명령을 실행하는 설정268* **셸 명령 설정**: `apiKeyHelper`, `statusLine`, `otelHeadersHelper`와 같이 셸 명령을 실행하는 설정

266* **샌드박스 바이너리 설정**: `sandbox.bwrapPath`, `sandbox.socatPath`, 그리고 `sandbox.ripgrep`. 이러한 각 설정은 실행 파일을 가리키며 Claude Code는 해당 실행 파일을 실행합니다.269* **샌드박스 바이너리 설정**: `sandbox.bwrapPath`, `sandbox.socatPath`, `sandbox.ripgrep`. 이러한 각 설정은 실행 파일을 가리키며, Claude Code는 해당 실행 파일을 실행합니다.

267* **샌드박스 네트워크 및 격리 설정**: [샌드박스](/docs/ko/sandboxing) 설정으로 샌드박스 프록시가 트래픽을 읽고, 재라우팅하거나, 인증하도록 하거나, 샌드박스의 격리를 약화시킵니다. `sandbox.network.tlsTerminate`, `sandbox.network.httpProxyPort`, `sandbox.network.socksProxyPort`, `sandbox.credentials`, `sandbox.allowAppleEvents`, `sandbox.enableWeakerNestedSandbox`, `sandbox.enableWeakerNetworkIsolation`, `sandbox.filesystem.disabled`, `sandbox.network.allowAllUnixSockets`, `sandbox.network.allowUnixSockets`, 그리고 `sandbox.network.allowMachLookup`. `deny` 규칙만 포함하는 `sandbox.credentials` 블록은 승인이 필요하지 않습니다. 프록시에 자격 증명을 제공하지 않고 샌드박스를 제한하기 때문입니다. v2.1.251 이전에는 Claude Code가 이러한 설정을 승인 없이 적용했습니다.270* **샌드박스 네트워크 및 격리 설정**: [샌드박스](/docs/ko/sandboxing) 설정으로 샌드박스 프록시가 트래픽을 읽고, 재라우팅하거나, 인증하거나, 샌드박스의 격리를 약화시킬 수 있습니다: `sandbox.network.tlsTerminate`, `sandbox.network.httpProxyPort`, `sandbox.network.socksProxyPort`, `sandbox.credentials`, `sandbox.allowAppleEvents`, `sandbox.enableWeakerNestedSandbox`, `sandbox.enableWeakerNetworkIsolation`, `sandbox.filesystem.disabled`, `sandbox.network.allowAllUnixSockets`, `sandbox.network.allowUnixSockets`, `sandbox.network.allowMachLookup`. `deny` 규칙만 포함하는 `sandbox.credentials` 블록은 프록시에 자격증명을 제공하지 않으므로 승인이 필요하지 않습니다. v2.1.251 이전에는 Claude Code가 이러한 설정을 승인 없이 적용했습니다.

268* **사용자 정의 환경 변수**: 프록시 및 기본 URL 변수와 같은 사용자의 승인이 필요한 전달된 `env` 변수. [환경 변수 및 승인 대화](#environment-variables-and-the-approval-dialog)를 참조하십시오.271* **사용자 정의 환경 변수**: 프록시 및 기본 URL 변수와 같이 사용자의 승인이 필요한 전달된 `env` 변수. [환경 변수 및 승인 대화](#environment-variables-and-the-approval-dialog)를 참조하세요.

269* **Hook 구성**: 모든 hook 정의272* **훅 구성**: 모든 훅 정의

270 273 

271이러한 설정이 있을 때 사용자는 구성되는 내용을 설명하는 보안 대화를 봅니다. 사용자는 진행하려면 승인해야 합니다. 사용자가 설정을 거부하면 Claude Code가 종료됩니다.274이러한 설정이 있으면, 사용자는 구성 중인 내용을 설명하는 보안 대화를 봅니다. 사용자는 진행하려면 승인해야 합니다. 사용자가 설정을 거부하면, Claude Code는 종료됩니다.

272 275 

273[`claudeMd`](/docs/ko/settings-reference#claudemd) 키를 통해 전달된 관리 CLAUDE.md는 승인이 필요하지 않습니다. Claude Code가 실행하는 명령이 아니라 Claude에 대한 지시 텍스트이기 때문입니다. Claude Code는 여전히 이러한 지시를 따르는 동안 Claude가 사용하는 도구에 대한 [권한](/docs/ko/permissions)을 확인합니다. v2.1.260 이전에는 `claudeMd` 값이 승인을 필요로 했습니다.276[`claudeMd`](/docs/ko/settings-reference#claudemd) 키를 통해 전달된 관리 CLAUDE.md는 Claude가 실행하는 명령이 아니라 Claude에 대한 지시 텍스트이므로 승인이 필요하지 않습니다. Claude Code는 여전히 이러한 지시를 따르는 동안 Claude가 사용하는 도구에 대한 [권한](/docs/ko/permissions)을 확인합니다. v2.1.260 이전에는 `claudeMd` 값이 승인을 요구했습니다.

274 277 

275<h4 id="approval-memory">278<h4 id="approval-memory">

276 승인 메모리279 승인 메모리

277</h4>280</h4>

278 281 

279Claude Code는 구성 디렉토리 `~/.claude`(또는 [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)을 설정한 경우)에 승인을 기록합니다. 기록하는 내용은 설정 가져오기가 사용하는 자격 증명에 따라 다릅니다.282Claude Code는 구성 디렉토리 `~/.claude`(또는 [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)을 설정한 경우)에 승인을 기록합니다. 기록하는 내용은 설정 가져오기가 사용하는 자격증명에 따라 다릅니다:

280 283 

281* **`/login` 또는 `claude auth login`으로 저장된 claude.ai 로그인, 또는 [키 없는 콘솔 로그인](/docs/ko/authentication#sign-in-without-an-api-key)**: 조직당 하나의 승인으로, 가장 최근에 승인한 계정이 보유합니다.284* **`/login` 또는 `claude auth login`으로 저장된 claude.ai 로그인, 또는 [API 키 없는 콘솔 로그인](/docs/ko/authentication#sign-in-without-an-api-key)**: 조직당 하나의 승인으로, 가장 최근에 승인한 계정이 보유합니다.

282* **[Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 로그인**: 게이트웨이당 하나의 승인입니다.285* **[Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 로그인**: 게이트웨이당 하나의 승인입니다.

283 286 

284 같은 게이트웨이에서 로그아웃했다가 다시 로그인하면 승인이 필요한 설정이 변경되지 않는 동안 Claude Code는 대화를 다시 표시하지 않습니다. Claude Code는 이러한 설정이 변경될 때, 다른 게이트웨이에 로그인할 때, 그리고 같은 게이트웨이에 대해 새 인증서를 수락할 때 다시 표시합니다.287 같은 게이트웨이에서 로그아웃했다가 다시 로그인하면, 승인이 필요한 설정이 변경되지 않는 한 Claude Code는 대화를 다시 표시하지 않습니다. Claude Code는 이러한 설정이 변경될 때, 다른 게이트웨이에 로그인할 때, 같은 게이트웨이에 대해 새 인증서를 수락할 때 다시 표시합니다.

285 288 

286 Claude Code는 일반 HTTP를 통해 도달한 루프백 개발 게이트웨이에 대해 승인을 저장하지 않으므로 각 로그인 후 대화가 다시 나타납니다.289 Claude Code는 일반 HTTP를 통해 도달한 루프백 개발 게이트웨이에 대해 승인을 저장하지 않으므로, 각 로그인 후 대화가 다시 나타납니다.

287* **API 키 또는 `CLAUDE_CODE_OAUTH_TOKEN`과 같은 다른 자격 증명**: 전달된 설정에 대한 하나의 승인으로, 해당 구성 디렉토리의 설정 캐시된 복사본과 함께 유지됩니다. Claude Code는 승인이 필요한 설정이 변경될 때, 그리고 `/logout` 또는 `claude auth logout`을 실행한 후(둘 다 캐시된 복사본을 삭제함) 대화를 다시 표시합니다.290* **API 키 또는 `CLAUDE_CODE_OAUTH_TOKEN`과 같은 다른 자격증명**: 전달된 설정에 대한 하나의 승인으로, 해당 구성 디렉토리의 설정 캐시된 복사본과 함께 유지됩니다. Claude Code는 승인이 필요한 설정이 변경될 때, 그리고 `/logout` 또는 `claude auth logout`을 실행한 후(둘 다 캐시된 복사본을 삭제함) 대화를 다시 표시합니다.

288 291 

289`sandbox.credentials` 또는 `sandbox.network.tlsTerminate`에 대한 승인은 동일한 전달된 설정의 [`sandbox.network.allowedDomains`](/docs/ko/settings-reference#sandbox-network-alloweddomains) 항목도 다룹니다. 두 설정 모두 해당 허용 목록에 작용하기 때문입니다. 대화는 관리자가 이러한 항목 중 하나를 추가하거나 제거할 때 다시 나타납니다. `sandbox.network.allowedDomains`는 자체적으로 승인을 필요로 하지 않더라도 말입니다.292`sandbox.credentials` 또는 `sandbox.network.tlsTerminate`에 대한 승인은 동일한 전달된 설정의 [`sandbox.network.allowedDomains`](/docs/ko/settings-reference#sandbox-network-alloweddomains) 항목도 다룹니다. 두 설정 모두 해당 허용 목록에 작용하기 때문입니다. 대화는 관리자가 이러한 항목 중 하나를 추가하거나 제거할 때 다시 나타나며, `sandbox.network.allowedDomains`는 자체적으로 승인이 필요하지 않습니다.

290 293 

291저장된 claude.ai 로그인을 사용하면:294저장된 claude.ai 로그인을 사용하면:

292 295 

293* 로그아웃했다가 다시 로그인하거나 다른 조직으로 전환했다가 나중에 돌아오면 이러한 설정이 변경되지 않는 동안 Claude Code는 대화를 다시 표시하지 않습니다. 다른 계정이 같은 구성 디렉토리의 해당 조직에 대해 승인한 경우는 제외됩니다.296* 로그아웃했다가 다시 로그인하거나, 다른 조직으로 전환했다가 나중에 돌아오면, 이러한 설정이 변경되지 않는 한 Claude Code는 대화를 다시 표시하지 않습니다. 단, 그 사이에 다른 계정이 같은 구성 디렉토리의 해당 조직에 대해 이들을 승인한 경우는 제외됩니다.

294* 다른 계정으로 같은 조직에 로그인하면 설정이 변경되지 않았더라도 Claude Code는 대화를 다시 표시합니다. 해당 계정의 승인이 이전 승인을 대체하므로 다시 전환하면 Claude Code는 한 번 더 대화를 표시합니다.297* 다른 계정으로 같은 조직에 로그인하면, 설정이 변경되지 않았더라도 Claude Code는 대화를 다시 표시합니다. 해당 계정의 승인이 이전 승인을 대체하므로, 다시 전환하면 Claude Code는 한 번 더 대화를 표시합니다.

295 298 

296Claude Code는 항상 대화를 표시할 수 없습니다. 아래의 각 경우는 표시할 수 없을 때 어느 설정이 적용되는지, 그리고 다음에 대화를 볼 때를 말합니다.299Claude Code는 항상 대화를 표시할 수 없습니다. 아래의 각 경우는 어느 설정이 적용되는지와 다음에 대화를 볼 때를 나타냅니다:

297 300 

298* **대화를 표시할 수 없는 대화형 세션**: Claude Code는 전달된 설정을 적용하지 않고 마지막으로 승인된 설정을 유지합니다. 대화는 대화를 표시할 수 있는 다음 세션에 나타납니다. Claude Code v2.1.211 이상이 필요합니다.301* **대화를 표시할 수 없는 대화형 세션**: Claude Code는 전달된 설정을 적용하지 않고 마지막으로 승인된 설정을 유지합니다. 대화는 대화를 표시할 수 있는 다음 세션에 나타납니다. Claude Code v2.1.211 이상이 필요합니다.

299* **`claude install` 또는 `claude update`**: Claude Code는 두 명령 중 어느 것 중에도 대화를 표시하지 않습니다. 명령은 마지막으로 승인된 설정으로 실행되고 대화는 다음 대화형 세션에 나타납니다. Claude Code가 시작 시 설정 가져오기를 기다리는 경우(예: [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup)가 설정되었거나 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 배포에서), 대신 명령 중에 대화를 표시하고 파이프에서 설치 실행이 실패합니다. [Raw mode is not supported during install](/docs/ko/troubleshoot-install#raw-mode-is-not-supported-during-install)을 참조하십시오. v2.1.246 이전에는 Claude Code가 이러한 명령 중에도 대화를 표시하려고 시도했습니다.302* **`claude install` 또는 `claude update`**: Claude Code는 두 명령 중 어느 것 중에도 대화를 표시하지 않습니다. 명령은 마지막으로 승인된 설정으로 실행되고, 대화는 다음 대화형 세션에 나타납니다. Claude Code가 [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) 설정 또는 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 배포와 같이 시작 시 설정 가져오기를 기다리면, 대신 명령 중에 대화를 표시하며, 파이프에서의 설치 실행이 실패합니다. [설치 중 `Raw mode is not supported`](/docs/ko/troubleshoot-install#raw-mode-is-not-supported-during-install)를 참조하세요. v2.1.246 이전에는 Claude Code가 이러한 명령 중에도 대화를 표시하려고 했습니다.

300* **오류가 응답 전에 대화를 닫음**: Claude Code는 전달된 설정을 적용하지 않고 마지막으로 승인된 설정을 유지합니다. 대화를 표시할 수 있는 다음 세션에 다시 표시합니다.303* **오류가 응답 전에 대화를 닫음**: Claude Code는 전달된 설정을 적용하지 않고 마지막으로 승인된 설정을 유지합니다. 대화를 표시할 수 있는 다음 세션에 다시 표시합니다.

301* **비대화형 실행**(예: `claude -p` 또는 Agent SDK 세션): Claude Code는 대화를 표시할 수 없으므로 전달된 설정이 승인을 요구할 때 해당 실행에만 이를 적용합니다. [로컬 캐시](#fetch-and-caching-behavior)에 승인된 것으로 기록하거나 쓰지 않으며, 다음 대화형 세션은 대화를 표시합니다. 사용자가 대화형 세션에서 승인할 때까지 각 비대화형 실행은 시작 시 설정을 다시 가져옵니다. v2.1.207 이전에는 비대화형 실행이 설정을 승인된 것으로 저장했으므로 나중에 대화형 세션은 이에 대한 대화를 절대 표시하지 않았습니다.304* **`claude -p` 또는 Agent SDK 세션과 같은 비대화형 실행**: Claude Code는 대화를 표시할 수 없으므로, 전달된 설정이 승인을 요구할 때, 해당 실행에만 이를 적용합니다. 이를 승인된 것으로 기록하거나 [로컬 캐시](#fetch-and-caching-behavior)에 쓰지 않으며, 다음 대화형 세션은 대화를 표시합니다. 사용자가 대화형 세션에서 승인할 때까지, 각 비대화형 실행은 시작 시 설정을 다시 가져옵니다. v2.1.207 이전에는 비대화형 실행이 설정을 승인된 것으로 저장했으므로, 나중의 대화형 세션은 이들에 대해 대화를 표시하지 않았습니다.

302 305 

303<h4 id="environment-variables-and-the-approval-dialog">306<h4 id="environment-variables-and-the-approval-dialog">

304 환경 변수 및 승인 대화307 환경 변수 및 승인 대화

305</h4>308</h4>

306 309 

307Claude Code는 승인 대화를 표시하지 않고 일부 전달된 `env` 변수를 적용합니다. 다음을 포함합니다.310Claude Code는 다음을 포함하여 사용자 승인 대화를 표시하지 않고 일부 전달된 `env` 변수를 적용합니다:

308 311 

309* 기능 및 명령 토글312* 기능 및 명령 토글

310* `ANTHROPIC_MODEL`, `DISABLE_PROMPT_CACHING`, 그리고 `CLAUDE_CODE_EFFORT_LEVEL`과 같은 모델 선택 및 동작 설정313* `ANTHROPIC_MODEL`, `DISABLE_PROMPT_CACHING`, `CLAUDE_CODE_EFFORT_LEVEL`과 같은 모델 선택 및 동작 설정

311* `DISABLE_AUTO_COMPACT`와 같은 컨텍스트 윈도우 및 압축 설정314* `DISABLE_AUTO_COMPACT`와 같은 컨텍스트 윈도우 및 압축 설정

312* 터미널 UI 및 접근성 옵션315* 터미널 UI 및 접근성 옵션

313* 숫자 제한, 예산, 그리고 시간 초과316* 숫자 제한, 예산, 시간 초과

314 317 

315다른 전달된 변수는 적용되기 전에 사용자의 승인을 요구할 수 있습니다. 비어있지 않은 프록시, 기본 URL, 또는 `OTEL_EXPORTER_OTLP_ENDPOINT` 값은 항상 그렇습니다. 전달된 변수가 승인을 필요로 할 때 대화는 이를 이름으로 지정하므로 사용자는 정책이 설정하도록 요청하는 것을 정확히 봅니다. v2.1.218 이전에는 Claude Code가 더 적은 변수를 사용자에게 묻지 않고 적용했으므로 `DISABLE_AUTO_COMPACT`와 같은 설정이 비어있지 않은 값에서 대화를 트리거했습니다.318다른 전달된 변수는 적용되기 전에 사용자의 승인을 요구할 수 있습니다. 비어 있지 않은 프록시, 기본 URL, 또는 `OTEL_EXPORTER_OTLP_ENDPOINT` 값은 항상 그렇습니다. 전달된 변수가 승인을 필요로 할 때, 대화는 이를 이름으로 지정하므로, 사용자는 정책이 설정하도록 요청하는 것을 정확히 봅니다. v2.1.218 이전에는 Claude Code가 더 적은 변수를 사용자에게 묻지 않고 적용했으므로, `DISABLE_AUTO_COMPACT`와 같은 설정이 비어 있지 않은 값에서 대화를 트리거했습니다.

316 319 

317Claude Code는 변수 이름이 아니라 전달된 값으로 네 가지 개인정보 보호 토글이 승인을 필요로 하는지 결정합니다. `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY`, 그리고 `DO_NOT_TRACK`. `1` 또는 `true`와 같은 참 값은 추적, 보고, 또는 다른 비필수 트래픽만 끕니다. 따라서 Claude Code는 사용자에게 묻지 않고 이를 적용합니다. 다른 비어있지 않은 값의 경우 Claude Code는 대화를 표시합니다. v2.1.218 이전에는 이들 모두(`DO_NOT_TRACK` 제외)가 비어있지 않은 값에서 승인 없이 적용되었고, `DO_NOT_TRACK`은 비어있지 않은 값에서 대화를 트리거했습니다.320Claude Code는 변수 이름이 아니라 전달된 값에 따라 네 가지 개인정보 보호 토글이 승인을 필요로 하는지 결정합니다: `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_ERROR_REPORTING`, `DISABLE_TELEMETRY`, `DO_NOT_TRACK`. `1` 또는 `true`와 같은 참 값은 추적, 보고 또는 기타 비필수 트래픽만 끄므로, Claude Code는 사용자에게 묻지 않고 이를 적용합니다. 다른 비어 있지 않은 값의 경우, Claude Code는 대화를 표시합니다. v2.1.218 이전에는 `DO_NOT_TRACK`을 제외한 모든 것이 비어 있지 않은 값에서 승인 없이 적용되었으며, `DO_NOT_TRACK`은 비어 있지 않은 값에서 대화를 트리거했습니다.

318 321 

319Claude Code는 또한 전달된 값으로 [`API_FORCE_IDLE_TIMEOUT`](/docs/ko/env-vars)이 승인을 필요로 하는지 결정합니다. 참 값은 [본문 유휴 시간 초과](/docs/ko/network-config#streaming-idle-watchdogs)만 켭니다. 따라서 Claude Code는 사용자에게 묻지 않고 이를 적용합니다. 다른 비어있지 않은 값의 경우 Claude Code는 대화를 표시합니다. v2.1.248 이전에는 비어있지 않은 값이 대화를 트리거했습니다.322Claude Code는 또한 전달된 값에 따라 [`API_FORCE_IDLE_TIMEOUT`](/docs/ko/env-vars)이 승인을 필요로 하는지 결정합니다. 참 값은 [본문 유휴 시간 초과](/docs/ko/network-config#streaming-idle-watchdogs)만 켜므로, Claude Code는 사용자에게 묻지 않고 이를 적용합니다. 다른 비어 있지 않은 값의 경우, Claude Code는 대화를 표시합니다. v2.1.248 이전에는 비어 있지 않은 값이 대화를 트리거했습니다.

320 323 

321[`ANTHROPIC_CUSTOM_HEADERS`](/docs/ko/env-vars#variables)가 승인을 필요로 하는지 여부도 전달된 값에 따라 다릅니다. `Accept-Language`와 같은 요청에만 태그를 지정하는 헤더는 대화 없이 적용됩니다. 자격 증명, 조직 또는 테넌트 선택기, 라우팅 또는 호스트 재정의, 또는 `Authorization`, `X-Api-Key`, `Host`, `anthropic-beta`, 또는 `X-Amzn-Bedrock-*` 헤더와 같은 API 동작 헤더의 이름을 지정하는 줄은 승인을 요구합니다. 유효한 HTTP 헤더 토큰이 아닌 이름을 가진 줄, 또는 HTTP 헤더가 전달할 수 없는 문자를 포함하는 값도 마찬가지입니다. 확인은 헤더 이름 내의 단어와 일치하므로 `client`와 `version`을 포함하는 `X-Client-Version`도 승인을 요구합니다. v2.1.251 이전에는 모든 `ANTHROPIC_CUSTOM_HEADERS` 값이 승인 없이 적용되었습니다.324[`ANTHROPIC_CUSTOM_HEADERS`](/docs/ko/env-vars#variables)가 승인을 필요로 하는지 여부도 전달된 값에 따라 다릅니다. `Accept-Language`와 같이 요청에만 태그를 지정하는 헤더는 대화 없이 적용됩니다. 자격증명, 조직 또는 테넌트 선택기, 라우팅 또는 호스트 재정의, `Authorization`, `X-Api-Key`, `Host`, `anthropic-beta`, `X-Amzn-Bedrock-*` 헤더와 같은 API 동작 헤더의 이름을 지정하는 라인은 승인을 요구합니다. 라인의 이름이 유효한 HTTP 헤더 토큰이 아니거나 그 값이 HTTP 헤더가 전달할 수 없는 문자를 포함할 때도 승인이 필요합니다. 확인은 헤더 이름 내의 단어와 일치하므로, `client`와 `version`을 포함하는 `X-Client-Version`도 승인을 요구합니다. v2.1.251 이전에는 모든 `ANTHROPIC_CUSTOM_HEADERS` 값이 승인 없이 적용되었습니다.

322 325 

323[`ENABLE_BETA_TRACING_DETAILED`](/docs/ko/env-vars#variables) 또는 [`OTEL_LOG_RAW_API_BODIES`](/docs/ko/env-vars#variables)에 대한 `0` 또는 `false`와 같은 거짓 값은 대화 없이 적용됩니다. 자세한 추적 또는 원본 API 본문 캡처만 끕니다. 두 변수 중 하나에 대한 다른 비어있지 않은 값은 승인을 요구합니다.326[`ENABLE_BETA_TRACING_DETAILED`](/docs/ko/env-vars#variables) 또는 [`OTEL_LOG_RAW_API_BODIES`](/docs/ko/env-vars#variables)에 대한 `0` 또는 `false`와 같은 거짓 값은 상세 추적 또는 원본 API 본문 캡처만 끄므로 대화 없이 적용됩니다. 두 변수 모두에 대한 다른 비어 있지 않은 값은 승인을 요구합니다.

324 327 

325<h2 id="platform-availability">328<h2 id="platform-availability">

326 플랫폼 가용성329 플랫폼 가용성

settings.md +35 −35

Details

397<span id="where-settings-live" />397<span id="where-settings-live" />

398 398 

399<h2 id="settings-files-and-who-they-affect">399<h2 id="settings-files-and-who-they-affect">

400 설정 파일 및 영향을 받는 대상400 설정 파일 및 영향을 받는 사용자

401</h2>401</h2>

402 402 

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 저장소에서는 커밋하여 팀원이 받도록 함 | 팀 권한, hooks, plugins, 프로젝트에 필요한 환경 변수 |408| 공유 프로젝트 | `.claude/settings.json` | 이를 포함하는 폴더에서 작업하는 모든 사람. Git 저장소에서는 커밋하여 팀원이 받도록 함 | 팀 권한, 훅, 플러그인, 프로젝트에 필요한 환경 변수 |

409| 프로젝트 로컬 | `.claude/settings.local.json` | 이 프로젝트에서만 사용자. Claude Code는 파일을 생성할 때 git에서 제외함. 직접 생성한 경우 `.gitignore`에 추가 | 한 프로젝트에 대한 개인 설정 재정의 및 공유 전 테스트 |409| 프로젝트 로컬 | `.claude/settings.local.json` | 이 프로젝트에서만 사용자. Claude Code는 파일을 생성할 때 git에서 제외함. 수동으로 생성한 경우 `.gitignore`에 직접 추가 | 한 프로젝트에 대한 개인 설정 재정의 및 공유 전 테스트 |

410| 관리됨 | `managed-settings.json` 및 기타 [관리되는 소스](/docs/ko/managed-settings#delivery-mechanisms) | 조직이 배포하는 모든 대상. 몇 가지 [보안 관련 예외](#exceptions-to-managed-settings-precedence)를 제외하고 설정한 것이 이를 재정의하지 않음 | 보안 정책 및 규정 준수 요구사항 |410| 관리됨 | `managed-settings.json` 및 기타 [관리되는 소스](/docs/ko/managed-settings#delivery-mechanisms) | 조직이 배포하는 모든 사용자. 몇 가지 [보안 관련 예외](#exceptions-to-managed-settings-precedence)를 제외하고 설정한 것이 이를 재정의하지 않음 | 보안 정책 및 규정 준수 요구사항 |

411 411 

412파일 열에서 `~/.claude`는 홈 디렉토리의 `.claude` 폴더이고, 단순 `.claude`는 프로젝트 내부의 `.claude` 폴더입니다.412파일 열에서 `~/.claude`는 홈 디렉토리의 `.claude` 폴더이고, 단순 `.claude`는 프로젝트 내부의 `.claude` 폴더입니다.

413 413 


421 421 

422머신에 `website/`, `api/`, `acme-app/` 세 개의 프로젝트가 있고, 팀원이 `acme-app/`의 자신의 클론을 가지고 있으며, `acme-app/`에서 [클라우드 세션](#settings-in-cloud-sessions)을 시작한다고 가정합니다.422머신에 `website/`, `api/`, `acme-app/` 세 개의 프로젝트가 있고, 팀원이 `acme-app/`의 자신의 클론을 가지고 있으며, `acme-app/`에서 [클라우드 세션](#settings-in-cloud-sessions)을 시작한다고 가정합니다.

423 423 

424아래 그래픽은 이들 폴더에서 Claude Code를 시작할 때 설정이 적용되는 폴더를 보여줍니다. 설정 파일을 클릭하여 도달하는 폴더를 확인합니다.424아래 그래픽은 이러한 폴더에서 Claude Code를 시작할 때 설정이 적용되는 폴더를 보여줍니다. 설정 파일을 클릭하여 도달하는 폴더를 확인합니다.

425 425 

426<SettingsScope />426<SettingsScope />

427 427 

428* **`~/.claude/settings.json`**: 머신의 모든 프로젝트, 팀원의 것이나 클라우드 세션의 것은 제외428* **`~/.claude/settings.json`**: 머신의 모든 프로젝트, 팀원의 것이나 클라우드 세션의 것은 제외

429* **`acme-app/.claude/settings.json`**: 사용자의 `acme-app/`. 파일을 버전 제어에 커밋한 경우에만 팀원의 클론과 클라우드 세션에 도달합니다. 그 전까지는 다른 파일처럼 디스크의 파일이며 다른 사람은 가지고 있지 않습니다429* **`acme-app/.claude/settings.json`**: 사용자의 `acme-app/`. 파일을 버전 제어에 커밋한 경우에만 팀원의 클론과 클라우드 세션에 도달합니다. 커밋하기 전까지는 다른 파일처럼 디스크의 파일이며 다른 사람은 이를 가지지 않습니다.

430* **`acme-app/.claude/settings.local.json`**: 사용자의 `acme-app/`만. Claude Code는 파일을 처음 쓸 때 전역 git 제외에 추가하므로 커밋에서 제외됩니다. 파일을 직접 생성한 경우 [`.gitignore`에 직접 추가](#keep-personal-settings-out-of-a-repository)합니다430* **`acme-app/.claude/settings.local.json`**: 사용자의 `acme-app/`만. Claude Code는 파일을 처음 작성할 때 전역 git 제외에 추가하므로 커밋에서 제외됩니다. 수동으로 파일을 생성한 경우 [`.gitignore`에 직접 추가](#keep-personal-settings-out-of-a-repository)합니다.

431* **관리되는 설정**, `managed-settings.json` 파일, MDM 정책, 또는 claude.ai 콘솔의 [서버 관리 설정](/docs/ko/server-managed-settings)인지 여부: 조직이 배포하는 모든 머신의 모든 프로젝트, 또는 조직 계정으로 로그인하는 모든 머신. 서버 관리 설정만 클라우드 세션에 도달합니다431* **관리되는 설정**, `managed-settings.json` 파일, MDM 정책, 또는 claude.ai 콘솔의 [서버 관리 설정](/docs/ko/server-managed-settings): 조직이 배포하는 모든 머신의 모든 프로젝트, 또는 조직 계정으로 로그인한 모든 머신. 서버 관리 설정만 클라우드 세션에 도달합니다.

432 432 

433<span id="which-files-you-have" />433<span id="which-files-you-have" />

434 434 


438 438 

439Claude Code를 설치해도 설정 파일이 생성되지 않습니다. 머신이나 프로젝트에 이미 파일이 있다면 다음 중 하나에서 온 것입니다:439Claude Code를 설치해도 설정 파일이 생성되지 않습니다. 머신이나 프로젝트에 이미 파일이 있다면 다음 중 하나에서 온 것입니다:

440 440 

441* **관리됨**: 조직이 배포합니다. 생성하거나 편집하지 않습니다.441* **관리됨**: 조직이 배포합니다. 사용자가 생성하거나 편집하지 않습니다.

442* **공유 프로젝트**: Claude Code를 이미 사용하는 프로젝트에 커밋된 파일이 있을 수 있습니다. 없으면 프로젝트 폴더에 `.claude/settings.json`을 생성합니다.442* **공유 프로젝트**: Claude Code를 이미 사용하는 프로젝트에 커밋된 파일이 있을 수 있습니다. 없으면 프로젝트 폴더에 `.claude/settings.json`을 생성합니다.

443* **사용자** 및 **프로젝트 로컬**: 직접 생성하거나 Claude Code가 생성하도록 합니다. 테마와 같이 사용자 설정에 저장하는 `/config` 메뉴의 옵션을 처음 변경할 때 `~/.claude/settings.json`을 쓰고, Bash 명령에 대해 "Yes, and don't ask again"과 같은 권한 프롬프트에서 처음 승인을 할 때 `.claude/settings.local.json`을 씁니다. **Show tips**를 포함한 몇 가지 `/config` 옵션은 사용자 파일 대신 `.claude/settings.local.json`에 저장됩니다.443* **사용자** 및 **프로젝트 로컬**: 직접 생성하거나 Claude Code가 생성하도록 합니다. 테마와 같이 사용자 설정에 저장되는 `/config` 메뉴의 옵션을 처음 변경할 때 `~/.claude/settings.json`을 작성하고, Bash 명령에 대해 "Yes, and don't ask again"과 같은 권한 프롬프트에서 처음 승인을 할 때 `.claude/settings.local.json`을 작성합니다. **Show tips**를 포함한 몇 가지 `/config` 옵션은 사용자 파일 대신 `.claude/settings.local.json`에 저장됩니다.

444 444 

445<Info>445<Info>

446 Windows에서 `~/.claude`는 `%USERPROFILE%\.claude`를 의미합니다. 홈 디렉토리 파일을 다른 곳에 보관하려면 [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)을 설정합니다. Claude Code는 설정, 세션 기록, plugins을 대신 저장합니다.446 Windows에서 `~/.claude`는 `%USERPROFILE%\.claude`를 의미합니다. 홈 디렉토리 파일을 다른 곳에 보관하려면 [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)을 설정합니다. Claude Code는 설정, 세션 기록, 플러그인을 대신 그곳에 저장합니다.

447</Info>447</Info>

448 448 

449Claude Code는 또한 다섯 번째 파일인 [`~/.claude.json`](/docs/ko/claude-directory#ce-claude-json)을 유지합니다. 이는 자신을 위해 쓰는 파일이므로 편집할 필요가 없습니다. 로그인 세션, [MCP server](/docs/ko/mcp) 구성, 신뢰 결정과 같은 프로젝트별 상태, 그리고 `/config`가 사용자를 위해 쓰는 [전역 구성 키](/docs/ko/settings-reference#global-config-settings)를 보유합니다.449Claude Code는 또한 다섯 번째 파일인 [`~/.claude.json`](/docs/ko/claude-directory#ce-claude-json)을 유지합니다. 이는 Claude Code가 자신을 위해 작성하는 파일이므로 편집할 필요가 없습니다. 로그인 세션, [MCP 서버](/docs/ko/mcp) 구성, 신뢰 결정과 같은 프로젝트별 상태, `/config`가 사용자를 위해 작성하는 [전역 구성 키](/docs/ko/settings-reference#global-config-settings)를 보유합니다.

450 450 

451<h3 id="share-settings-with-your-team">451<h3 id="share-settings-with-your-team">

452 팀과 설정 공유452 팀과 설정 공유

453</h3>453</h3>

454 454 

455`.claude/settings.json`을 커밋하여 저장소를 클론하는 모든 사람이 동일한 권한, hooks, 원격 측정, plugins을 받도록 합니다. 각 팀원은 자신의 `.claude/settings.local.json`에서 자신을 위해 재정의할 수 있으므로 개인 예외는 커밋이 필요하지 않습니다. 완전한 팀 파일은 [팀의 공유 설정](/docs/ko/settings-example#a-teams-shared-settings)을 참조합니다.455`.claude/settings.json`을 커밋하여 저장소를 클론하는 모든 사람이 동일한 권한, 훅, 원격 측정, 플러그인을 받도록 합니다. 각 팀원은 여전히 자신의 `.claude/settings.local.json`에서 이를 재정의할 수 있으므로 개인 예외는 커밋할 필요가 없습니다. 완전한 팀 파일은 [팀의 공유 설정](/docs/ko/settings-example#a-teams-shared-settings)을 참조합니다.

456 456 

457커밋하는 것 중 일부는 각 팀원이 [폴더를 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)할 때까지 기다리며, 몇 가지 키는 저장소 파일에서 적용되지 않습니다. [적용되지 않는 설정 문제 해결](#common-cases)은 둘 다 다룹니다.457커밋하는 일부 항목은 각 팀원이 [폴더를 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)할 때까지 기다리며, 몇 가지 키는 저장소 파일에서 적용되지 않습니다. [적용되지 않는 설정 문제 해결](#common-cases)은 둘 다 다룹니다.

458 458 

459<span id="local-settings-file" />459<span id="local-settings-file" />

460 460 


468 저장소에서 개인 설정 제외468 저장소에서 개인 설정 제외

469</h3>469</h3>

470 470 

471팀원을 위해 변경하지 않고 한 프로젝트에서 자신을 위해 설정을 변경하려면 프로젝트 내부의 `.claude/settings.local.json`에 저장합니다. Claude Code는 커밋된 `.claude/settings.json` 위에 해당 파일을 적용하므로, 팀의 파일이 `"model": "claude-sonnet-5"`를 설정하고 Opus를 원하면 로컬 파일에 `"model": "claude-opus-4-8"`을 넣으면 세션만 변경됩니다.471한 프로젝트에서 팀원을 변경하지 않고 자신을 위해 설정을 변경하려면 프로젝트 내부의 `.claude/settings.local.json`에 저장합니다. Claude Code는 커밋된 `.claude/settings.json`에 해당 파일을 적용하므로, 팀의 파일이 `"model": "claude-sonnet-5"`를 설정하고 Opus를 원하면 로컬 파일에 `"model": "claude-opus-5-5"`를 입력하고 세션만 변경됩니다.

472 472 

473Claude Code는 또한 이 파일에 쓰고, 커밋에서 제외하며, 신뢰 단계 없이 allow 규칙을 적용합니다:473Claude Code는 또한 이 파일에 작성하고, 커밋에서 제외하며, 신뢰 단계 없이 허용 규칙을 적용합니다:

474 474 

475* **Claude Code도 이를 씁니다.** Claude가 Bash 명령을 실행할 권한을 요청하고 "Yes, and don't ask again"을 선택하면, Claude Code는 해당 [권한 승인](/docs/ko/permissions#permission-system)을 `allow` 규칙으로 여기에 저장합니다.475* **Claude Code도 작성합니다.** Claude가 Bash 명령을 실행할 권한을 요청하고 "Yes, and don't ask again"을 선택하면, Claude Code는 해당 [권한 승인](/docs/ko/permissions#permission-system)을 `allow` 규칙으로 여기에 저장합니다.

476* **직접 생성한 경우가 아니면 gitignore할 필요가 없습니다.** Claude Code가 이미 무시하지 않는 git 저장소에서 파일을 처음 쓸 때, 전역 git 제외 파일에 `**/.claude/settings.local.json`을 추가하므로 모든 저장소의 커밋에서 파일이 제외됩니다. 해당 파일은 전역 git 구성이 절대 경로 또는 `~` 접두사 경로로 설정할 때 `core.excludesFile`입니다. 그렇지 않으면 `$XDG_CONFIG_HOME/git/ignore` 또는 `XDG_CONFIG_HOME`이 설정되지 않을 때 `~/.config/git/ignore`입니다. 파일을 직접 생성했고 Claude Code가 아직 쓰지 않았다면 `.gitignore`에 직접 추가합니다.476* **수동으로 생성한 경우를 제외하고 직접 gitignore할 필요가 없습니다.** Claude Code가 이미 무시하지 않는 git 저장소에서 파일을 처음 작성할 때, 전역 git 제외 파일에 `**/.claude/settings.local.json`을 추가하므로 모든 저장소에서 파일이 커밋에서 제외됩니다. 해당 파일은 전역 git 구성이 절대 경로 또는 `~` 접두사 경로로 설정할 때 `core.excludesFile`입니다. 그렇지 않으면 `$XDG_CONFIG_HOME/git/ignore` 또는 `XDG_CONFIG_HOME`이 설정되지 않을 때 `~/.config/git/ignore`입니다. 수동으로 파일을 생성했고 Claude Code가 아직 작성하지 않았다면 `.gitignore`에 직접 추가합니다.

477* **파일이 추적되지 않는 동안 allow 규칙은 신뢰를 기다리지 않습니다.** 파일이 저장소의 것이 아니라 사용자의 것이므로, Claude Code는 커밋된 파일에 필요한 [workspace trust](/docs/ko/permissions#project-allow-rules-and-workspace-trust) 단계 없이 `allow` 규칙을 적용합니다. 파일이 git으로 추적되면 신뢰 단계도 적용됩니다. [로컬 설정 파일이 신뢰가 필요한 경우](/docs/ko/permissions#when-your-local-settings-file-needs-trust)를 참조합니다.477* **파일이 추적되지 않은 상태에서 허용 규칙은 신뢰를 기다리지 않습니다.** 파일이 저장소의 것이 아니라 사용자의 것이므로, Claude Code는 커밋된 파일에 필요한 [워크스페이스 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust) 단계 없이 `allow` 규칙을 적용합니다. 파일이 git으로 추적되면 신뢰 단계도 적용됩니다. [로컬 설정 파일이 신뢰가 필요한 경우](/docs/ko/permissions#when-your-local-settings-file-needs-trust)를 참조합니다.

478 478 

479<span id="where-claude-code-looks-for-each-file" />479<span id="where-claude-code-looks-for-each-file" />

480 480 


486 Claude Code가 git 저장소에서 로컬 파일을 보관하는 위치486 Claude Code가 git 저장소에서 로컬 파일을 보관하는 위치

487</h4>487</h4>

488 488 

489Claude가 Bash 명령을 실행할 권한을 요청하고 "Yes, and don't ask again"을 선택하면, Claude Code는 해당 승인을 `.claude/settings.local.json`의 `allow` 규칙으로 저장합니다. git 저장소의 하위 디렉토리에서 Claude Code를 시작하면 저장소 루트에서 해당 파일을 읽고 쓰며 전체 저장소에 승인을 적용합니다. [worktree](/docs/ko/worktrees)에서는 주 체크아웃의 루트에서 파일을 사용합니다.489Claude가 Bash 명령을 실행할 권한을 요청하고 "Yes, and don't ask again"을 선택하면, Claude Code는 해당 승인을 `.claude/settings.local.json`의 `allow` 규칙으로 저장합니다. git 저장소의 하위 디렉토리에서 Claude Code를 시작하면 저장소 루트에서 해당 파일을 읽고 작성하며 전체 저장소에 승인을 적용합니다. [worktree](/docs/ko/worktrees)에서는 주 체크아웃의 루트에 있는 파일을 사용합니다.

490 490 

491두 가지 규칙이 루트 위치를 한정합니다:491두 가지 규칙이 루트 위치를 한정합니다:

492 492 

493* **파일이 `.claude/settings.json` 대신 유지되는 경우**: git 저장소 외부, 저장소 루트가 홈 디렉토리인 경우, Windows에서, 또는 저장소 루트나 `.git` 또는 `.claude` 항목이 사용자가 소유하지 않은 경우.493* **파일이 `.claude/settings.json` 대신 유지되는 경우**: git 저장소 외부, 저장소 루트가 홈 디렉토리인 경우, Windows에서, 또는 저장소 루트나 `.git` 또는 `.claude` 항목이 사용자가 소유하지 않은 경우.

494* **파일의 경로는 저장소 루트에 고정되지 않습니다**: `/`로 시작하거나 상대 sandbox 경로인 권한 규칙은 [세션의 주 작업 디렉토리](/docs/ko/permissions#read-and-edit)에 고정됩니다.494* **파일의 경로는 저장소 루트에 고정되지 않습니다**: `/`로 시작하거나 상대 샌드박스 경로인 권한 규칙은 [세션의 기본 작업 디렉토리](/docs/ko/permissions#read-and-edit)에 고정됩니다.

495 495 

496v2.1.211 이전에는 Claude Code가 시작 디렉토리에 파일을 보관했습니다. 이전 버전이 루트 파일 옆에 남긴 파일을 여전히 읽습니다. 둘 다 동일한 키를 설정하면 루트의 값이 적용되고, 두 파일의 권한 규칙이 적용됩니다. Agent SDK의 [`resolveSettings()`](/docs/ko/agent-sdk/typescript#resolvesettings) 헬퍼는 항상 시작 디렉토리에서 파일을 읽습니다.496v2.1.211 이전에는 Claude Code가 시작 디렉토리에 파일을 보관했습니다. 이전 버전이 루트 파일 옆에 남긴 파일을 여전히 읽습니다. 두 파일이 동일한 키를 설정하는 경우 루트의 값이 적용되고, 두 파일의 권한 규칙이 적용됩니다. Agent SDK의 [`resolveSettings()`](/docs/ko/agent-sdk/typescript#resolvesettings) 헬퍼는 항상 시작 디렉토리에서 파일을 읽습니다.

497 497 

498Claude Code는 세션의 [주 작업 디렉토리](/docs/ko/permissions#working-directories)에서 공유 `.claude/settings.json`을 읽으므로, 저장소 루트에 커밋된 파일을 사용하려면 거기서 Claude Code를 시작합니다. [`/cd`로 세션을 이동](/docs/ko/permissions#move-the-session-to-another-directory)한 후, Claude Code는 대신 새 디렉토리에서 두 프로젝트 파일을 읽으며, 동일한 규칙으로 로컬 파일을 배치합니다. 이동한 디렉토리에서 읽으려면 Claude Code v2.1.246 이상이 필요합니다.498Claude Code는 공유 `.claude/settings.json`을 세션의 [기본 작업 디렉토리](/docs/ko/permissions#working-directories)에서 읽으므로, 저장소 루트에 커밋된 파일을 사용하려면 거기서 Claude Code를 시작합니다. [`/cd`로 세션을 이동](/docs/ko/permissions#move-the-session-to-another-directory)한 후, Claude Code는 대신 새 디렉토리에서 두 프로젝트 파일을 읽으며, 로컬 파일을 동일한 규칙으로 배치합니다. 이동한 디렉토리에서 읽으려면 Claude Code v2.1.246 이상이 필요합니다.

499 499 

500<span id="managed-settings-delivery" />500<span id="managed-settings-delivery" />

501 501 


511 조직이 적용하는 항목 확인511 조직이 적용하는 항목 확인

512</h3>512</h3>

513 513 

514조직이 Claude Code를 관리하면 일부 설정이 결정되며 자신의 파일에 넣은 것이 변경하지 않습니다. 어떤 것인지 확인하려면 `/status`를 실행합니다. `Setting sources` 줄은 사용자에게 적용되는 관리되는 소스의 이름을 지정합니다. 관리되는 설정은 이 머신에서 Claude Code가 실행되는 모든 곳에 적용됩니다. [개발자가 변경할 수 있는 것](/docs/ko/managed-settings#what-a-developer-can-change)은 로컬 관리자 권한 및 Claude Code 이외의 도구를 다룹니다.514조직이 Claude Code를 관리하는 경우, 일부 설정은 사용자를 위해 결정되며 자신의 파일에 입력한 것이 이를 변경하지 않습니다. 어떤 것인지 확인하려면 `/status`를 실행합니다. `Setting sources` 줄은 사용자에게 적용되는 관리되는 소스의 이름을 지정합니다. 관리되는 설정은 이 머신에서 Claude Code가 실행되는 모든 곳에 적용됩니다. [개발자가 변경할 수 있는 항목](/docs/ko/managed-settings#what-a-developer-can-change)은 로컬 관리자 권한 및 Claude Code 이외의 도구를 다룹니다.

515 515 

516관리되는 설정은 관리되는 설정 페이지의 [전달 메커니즘](/docs/ko/managed-settings#delivery-mechanisms)을 통해 사용자에게 도달합니다. 가장 일반적으로:516관리되는 설정은 관리되는 설정 페이지의 [전달 메커니즘](/docs/ko/managed-settings#delivery-mechanisms)을 통해 사용자에게 도달합니다. 가장 일반적으로:

517 517 

518* [서버 관리 설정](/docs/ko/server-managed-settings), Claude Code가 claude.ai 관리 콘솔 또는 자체 호스팅 [Claude apps gateway](/docs/ko/claude-apps-gateway)에서 가져옴518* [서버 관리 설정](/docs/ko/server-managed-settings), Claude Code가 claude.ai 관리 콘솔 또는 자체 호스팅 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)에서 가져옴

519* MDM 또는 OS 수준 정책, 및 시스템 디렉토리의 `managed-settings.json` 파일519* MDM 또는 OS 수준 정책, 시스템 디렉토리의 `managed-settings.json` 파일

520* Claude Desktop과 같은 embedding host, SDK `managedSettings` 옵션을 통해. [embedding host에서 정책 제어](/docs/ko/managed-settings#parent-settings-from-embedding-hosts)를 참조합니다520* Claude Desktop과 같은 임베딩 호스트, SDK `managedSettings` 옵션을 통해. [임베딩 호스트에서 정책 제어](/docs/ko/managed-settings#parent-settings-from-embedding-hosts)를 참조합니다.

521 521 

522Claude Desktop 앱에서 머신에서 실행되는 [Cowork](https://claude.com/docs/cowork/overview) 세션에서 Claude Code는 claude.ai 관리 콘솔에서 서버 관리 설정을 가져오지 않으며, 조직의 Claude Desktop 구성이 `requireCoworkFullVmSandbox`를 설정하지 않으면 디바이스에 배포된 정책을 읽습니다. [정책이 적용되는 위치 및 시기](/docs/ko/managed-settings#where-and-when-a-policy-applies)는 Cowork 및 클라우드 세션을 다룹니다.522Claude Desktop 앱에서 머신에서 실행되는 [Cowork](https://claude.com/docs/cowork/overview) 세션에서, Claude Code는 claude.ai 관리 콘솔에서 서버 관리 설정을 가져오지 않으며, 조직의 Claude Desktop 구성이 `requireCoworkFullVmSandbox`를 설정하지 않는 한 디바이스에 배포된 정책을 읽습니다. [정책이 적용되는 위치 및 시기](/docs/ko/managed-settings#where-and-when-a-policy-applies)는 Cowork 및 클라우드 세션을 다룹니다.

523 523 

524관리자인 경우 [조직을 위해 Claude Code 설정](/docs/ko/admin-setup)은 적용할 항목 선택을 안내하고, [관리되는 설정 배포](/docs/ko/managed-settings)는 전달 및 정책이 적용 중인지 확인하는 방법을 다룹니다.524관리자인 경우, [조직을 위해 Claude Code 설정](/docs/ko/admin-setup)은 적용할 항목 선택을 안내하고, [관리되는 설정 배포](/docs/ko/managed-settings)는 전달 및 정책이 적용 중인지 확인하는 방법을 다룹니다.

525 525 

526<h2 id="change-a-setting">526<h2 id="change-a-setting">

527 설정 변경527 설정 변경


598예를 들어 기본값을 변경하지 않고 한 세션을 Opus에서 시작하려면:598예를 들어 기본값을 변경하지 않고 한 세션을 Opus에서 시작하려면:

599 599 

600```bash theme={null}600```bash theme={null}

601claude --settings '{"model": "claude-opus-4-8"}'601claude --settings '{"model": "claude-opus-5-5"}'

602```602```

603 603 

604<h3 id="when-edits-take-effect">604<h3 id="when-edits-take-effect">


803 803 

804[클라우드 세션](/docs/ko/claude-code-on-the-web)은 [클라우드 환경](/docs/ko/cloud-environments)에서 저장소의 신선한 복제본에서 실행되며, 머신에서 실행되지 않습니다. 이는 어느 설정이 도달하는지 변경합니다:804[클라우드 세션](/docs/ko/claude-code-on-the-web)은 [클라우드 환경](/docs/ko/cloud-environments)에서 저장소의 신선한 복제본에서 실행되며, 머신에서 실행되지 않습니다. 이는 어느 설정이 도달하는지 변경합니다:

805 805 

806* **공유 프로젝트 설정** (`.claude/settings.json`): 한 저장소가 있는 세션에서 읽습니다. 파일이 복제본의 일부이고 세션이 그 안에서 시작되기 때문입니다. 해당 세션에 적용하려면 설정을 거기에 커밋합니다. 여러 저장소가 있는 세션은 복제본 위에서 시작되므로, 각 저장소의 `.claude/settings.json`에서 파일이 선언하는 플러그인과 마켓플레이스만 로드하고, 권한 규칙, hooks, `env` 또는 기타 키는 로드하지 않습니다. [설정에서 수행되는 것](/docs/ko/cloud-environments#what-carries-over-from-your-setup)을 참조하세요.806* **공유 프로젝트 설정** (`.claude/settings.json`): 한 저장소가 있는 세션에서 읽습니다. 파일이 복제본의 일부이고 세션이 그 안에서 시작되기 때문입니다. 해당 세션에 적용하려면 설정을 거기에 커밋합니다. 여러 저장소가 있는 세션은 복제본 위에서 시작되고 각 저장소의 `.claude/settings.json`에서 `enabledPlugins` 및 `extraKnownMarketplaces` 키만 읽으며, 권한 규칙, hooks, `env` 또는 기타 키는 읽지 않습니다. 이 두 키가 선언하는 마켓플레이스와 플러그인은 여전히 [클라우드 세션에서 로드되지 않습니다](/docs/ko/cloud-environments#what-carries-over-from-your-setup).

807* **사용자 및 프로젝트 로컬 설정** (`~/.claude/settings.json` 및 `.claude/settings.local.json`): 읽지 않습니다. 둘 다 머신에 유지되고 로컬 파일은 복제본에 없습니다.807* **사용자 및 프로젝트 로컬 설정** (`~/.claude/settings.json` 및 `.claude/settings.local.json`): 읽지 않습니다. 둘 다 머신에 유지되고 로컬 파일은 복제본에 없습니다.

808* **관리되는 설정**: [서버 관리 설정](/docs/ko/server-managed-settings)만 클라우드 세션에 도달합니다. 장치의 `managed-settings.json` 파일이나 MDM 프로필은 도달하지 않습니다. [자체 호스팅 환경](/docs/ko/self-hosted-environments)도 실행기 이미지의 관리되는 설정 파일을 읽습니다. [Claude Code가 관리되는 소스를 결합하는 방식](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)은 해당 파일이 적용되는 시기를 설명합니다.808* **관리되는 설정**: [서버 관리 설정](/docs/ko/server-managed-settings)만 클라우드 세션에 도달합니다. 장치의 `managed-settings.json` 파일이나 MDM 프로필은 도달하지 않습니다. [자체 호스팅 환경](/docs/ko/self-hosted-environments)도 실행기 이미지의 관리되는 설정 파일을 읽습니다. [Claude Code가 관리되는 소스를 결합하는 방식](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)은 해당 파일이 적용되는 시기를 설명합니다.

809* **`/config`**: 브라우저에서 claude.ai/code에서 설정 값을 변경하는 대신 claude.ai 설정의 Claude Code 섹션을 엽니다. 클라우드 세션에 대해 설정을 변경하려면 환경에서 [환경 변수](/docs/ko/cloud-environments#set-environment-variables)를 설정하거나, 한 저장소가 있는 세션에서 해당 저장소의 `.claude/settings.json`에 키를 커밋합니다.809* **`/config`**: 브라우저에서 claude.ai/code에서 설정 값을 변경하는 대신 claude.ai 설정의 Claude Code 섹션을 엽니다. 클라우드 세션에 대해 설정을 변경하려면 환경에서 [환경 변수](/docs/ko/cloud-environments#set-environment-variables)를 설정하거나, 한 저장소가 있는 세션에서 해당 저장소의 `.claude/settings.json`에 키를 커밋합니다.

Details

29 ```json ~/.claude/settings.json theme={null}29 ```json ~/.claude/settings.json theme={null}

30 {30 {

31 "model": "claude-sonnet-5",31 "model": "claude-sonnet-5",

32 "effortLevel": "xhigh",32 "modelSettings": {

33 "claude-sonnet-5": { "effortLevel": "xhigh" }

34 },

33 "editorMode": "vim",35 "editorMode": "vim",

34 "theme": "light-daltonized",36 "theme": "light-daltonized",

35 "statusLine": {37 "statusLine": {


58 {60 {

59 // 모든 세션을 Sonnet 5에서 시작61 // 모든 세션을 Sonnet 5에서 시작

60 "model": "claude-sonnet-5",62 "model": "claude-sonnet-5",

61 // 저장된 수준이 없는 모델에서 기본 높음 수준보다 더 깊게 추론합니다. /effort는 모델당 수준을 저장하고, --effort는 단일 세션에 대해 설정합니다63 // Sonnet 5를 기본 높음 수준 이상으로 실행합니다. /effort는 모델당 수준을 저장하고, --effort는 단일 세션에 대해 설정합니다

62 "effortLevel": "xhigh",64 "modelSettings": {

65 "claude-sonnet-5": { "effortLevel": "xhigh" }

66 },

63 // 프롬프트에서 Vim 키 바인딩67 // 프롬프트에서 Vim 키 바인딩

64 "editorMode": "vim",68 "editorMode": "vim",

65 // 색맹 친화적인 밝은 테마69 // 색맹 친화적인 밝은 테마

Details

685| [`hooks`](#hooks) | Claude Code의 수명 주기의 지점에서 [훅](/docs/ko/hooks)으로 자신의 명령 실행 | 훅 및 자동화 | 모든 파일 |685| [`hooks`](#hooks) | Claude Code의 수명 주기의 지점에서 [훅](/docs/ko/hooks)으로 자신의 명령 실행 | 훅 및 자동화 | 모든 파일 |

686| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | [HTTP hooks](/docs/ko/hooks)가 헤더에 넣을 수 있는 env 변수 제한 | 훅 및 자동화 | 모든 파일 |686| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | [HTTP hooks](/docs/ko/hooks)가 헤더에 넣을 수 있는 env 변수 제한 | 훅 및 자동화 | 모든 파일 |

687| [`includeCoAuthoredBy`](#includecoauthoredby) | 더 이상 사용되지 않음; `attribution`을 사용하여 커밋 및 PR 속성 숨기기 또는 변경 | Git 및 속성 | 모든 파일 |687| [`includeCoAuthoredBy`](#includecoauthoredby) | 더 이상 사용되지 않음; `attribution`을 사용하여 커밋 및 PR 속성 숨기기 또는 변경 | Git 및 속성 | 모든 파일 |

688| [`includeGitInstructions`](#includegitinstructions) | [시스템 프롬프트](/docs/ko/sub-agents#what-loads-at-startup)에서 기본 제공 커밋 및 PR 지침 제거 | Git 및 속성 | 모든 파일 |688| [`includeGitInstructions`](#includegitinstructions) | Claude의 컨텍스트에서 기본 제공 커밋 및 PR 지침 제거 | Git 및 속성 | 모든 파일 |

689| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Claude가 당신을 기다리고 있을 때 [푸시 알림](/docs/ko/remote-control#mobile-push-notifications) 받기 | 원격, 데스크톱, 알림 | 모든 파일 |689| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Claude가 당신을 기다리고 있을 때 [푸시 알림](/docs/ko/remote-control#mobile-push-notifications) 받기 | 원격, 데스크톱, 알림 | 모든 파일 |

690| [`isolatePeerMachines`](#isolatepeermachines) | Claude가 [다른 기계의 세션 중 하나에 메시지를 보내기](/docs/ko/cross-session-messaging#require-approval-for-cross-machine-messages) 전에 물어보기 | 에이전트, 세션, 워크트리 | 모든 파일 |690| [`isolatePeerMachines`](#isolatepeermachines) | Claude가 [다른 기계의 세션 중 하나에 메시지를 보내기](/docs/ko/cross-session-messaging#require-approval-for-cross-machine-messages) 전에 물어보기 | 에이전트, 세션, 워크트리 | 모든 파일 |

691| [`keybindingFlavor`](#keybindingflavor) | 더 이상 사용되지 않으며 효과 없음; 단어 편집 바로 가기는 항상 [readline 규칙](/docs/ko/interactive-mode#make-ctrl-w-delete-back-to-whitespace)을 따름 | 인터페이스 및 터미널 | 모든 파일 |691| [`keybindingFlavor`](#keybindingflavor) | 더 이상 사용되지 않으며 효과 없음; 단어 편집 바로 가기는 항상 [readline 규칙](/docs/ko/interactive-mode#make-ctrl-w-delete-back-to-whitespace)을 따름 | 인터페이스 및 터미널 | 모든 파일 |


797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | [claude.ai 계정에서 활성화된 플러그인](/docs/ko/plugins-reference#synced-plugins) 다운로드 중지 및 이미 동기화된 플러그인 숨기기 | 플러그인 및 기술 | 사용자, 로컬 또는 관리됨 |797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | [claude.ai 계정에서 활성화된 플러그인](/docs/ko/plugins-reference#synced-plugins) 다운로드 중지 및 이미 동기화된 플러그인 숨기기 | 플러그인 및 기술 | 사용자, 로컬 또는 관리됨 |

798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | [claude.ai 계정에서 활성화된 기술](/docs/ko/skills#how-synced-skills-behave) 다운로드 중지 및 이미 동기화된 기술 숨기기 | 플러그인 및 기술 | 사용자, 로컬 또는 관리됨 |798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | [claude.ai 계정에서 활성화된 기술](/docs/ko/skills#how-synced-skills-behave) 다운로드 중지 및 이미 동기화된 기술 숨기기 | 플러그인 및 기술 | 사용자, 로컬 또는 관리됨 |

799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | diff 및 코드 블록에서 구문 강조 끄기 | 인터페이스 및 터미널 | 모든 파일 |799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | diff 및 코드 블록에서 구문 강조 끄기 | 인터페이스 및 터미널 | 모든 파일 |

800| [`taskOutputMaxChars`](#taskoutputmaxchars) | [백그라운드 작업](/docs/ko/tools-reference#background-commands)의 출력 중 Claude가 인라인으로 받는 양 설정 | 메모리 및 컨텍스트 | 모든 파일 |800| [`taskOutputMaxChars`](#taskoutputmaxchars) | v2.1.277에서 제거됨, 크기를 조정한 `TaskOutput` 도구와 함께 | 메모리 및 컨텍스트 | 모든 파일 |

801| [`teammateDefaultModel`](#teammatedefaultmodel) | v2.1.234에서 제거됨; Claude Code가 팀원의 모델을 선택하는 방법에 대해 [팀원 및 모델 지정](/docs/ko/agent-teams#specify-teammates-and-models) 참조 | 전역 설정 | 전역 설정 |801| [`teammateDefaultModel`](#teammatedefaultmodel) | v2.1.234에서 제거됨; Claude Code가 팀원의 모델을 선택하는 방법에 대해 [팀원 및 모델 지정](/docs/ko/agent-teams#specify-teammates-and-models) 참조 | 전역 설정 | 전역 설정 |

802| [`teammateMode`](#teammatemode) | [에이전트 팀 팀원 표시](/docs/ko/agent-teams#choose-a-display-mode) 방법 선택 | 에이전트, 세션, 워크트리 | 모든 파일 |802| [`teammateMode`](#teammatemode) | [에이전트 팀 팀원 표시](/docs/ko/agent-teams#choose-a-display-mode) 방법 선택 | 에이전트, 세션, 워크트리 | 모든 파일 |

803| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | 지원하는 터미널에서 터미널 진행률 표시줄 숨기기 | 인터페이스 및 터미널 | 모든 파일 |803| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | 지원하는 터미널에서 터미널 진행률 표시줄 숨기기 | 인터페이스 및 터미널 | 모든 파일 |


993 `fastModePerSessionOptIn`993 `fastModePerSessionOptIn`

994</h3>994</h3>

995 995 

996일반적으로 `/fast`를 실행하면 [`fastMode`](#fastmode)를 사용자 설정에 저장하므로 빠른 모드는 이후의 모든 세션 시작 시 켜집니다. 이를 중지하려면 이 키를 `true`로 설정합니다. 저장된 `fastMode: true`는 더 이상 세션 시작 시 빠른 모드를 켜지 않으며, 각 사용자는 원하는 각 세션에서 `/fast`를 실행해야 합니다. Claude Code는 파일에 `fastMode` 키를 남겨두므로 이 키를 끄면 이전 동작이 복원됩니다. Team 또는 Enterprise 계획의 소유자는 [서버 관리 설정](/docs/ko/server-managed-settings)을 통해 조직 전체에 배포할 수 있습니다.996일반적으로 `/fast`를 실행하면 [`fastMode`](#fastmode)를 사용자 설정에 저장하므로 빠른 모드는 이후의 모든 세션 시작 시 켜집니다. 이를 중지하려면 이 키를 `true`로 설정합니다. 저장된 `fastMode: true`는 더 이상 세션 시작 시 빠른 모드를 켜지 않으며, 각 사용자는 원하는 각 세션에서 `/fast`를 실행해야 합니다. Claude Code는 파일에 `fastMode` 키를 남겨두므로 이 키를 끄면 이전 동작이 복원됩니다. Team 또는 Enterprise 계획의 소유자는 [서버 관리 설정](/docs/ko/server-managed-settings)을 통해 조직 전체에 배포할 수 있습니다. 관리되는 설정이 키를 설정하면 `/fast on`은 대화형 터미널 세션 외부에서 거부되고 조직이 빠른 모드를 비활성화했다고 보고합니다. 이는 [비대화형 모드](/docs/ko/headless), [VS Code 확장](/docs/ko/vs-code), [클라우드 세션](/docs/ko/claude-code-on-the-web)을 포함합니다.

997 997 

998* **범위**: [`모든 파일`](#scopes)998* **범위**: [`모든 파일`](#scopes)

999* **유형**: 부울999* **유형**: 부울


1208 `modelSettings`1208 `modelSettings`

1209</h3>1209</h3>

1210 1210 

1211사용하는 각 모델에 대해 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 저장합니다. 머신의 대화형 세션에서 `/effort` 또는 `/model` 선택기의 노력 슬라이더로 `low`, `medium`, `high`, 또는 `xhigh`를 기본값으로 저장하면, Claude Code는 사용 중인 모델 아래에 해당 수준을 작성하므로 이 키를 직접 편집하는 경우는 거의 없습니다. [`effortLevel`](#effortlevel) 항목은 `/effort`가 해당 세션에만 적용되는 세션을 나열합니다. Claude Code v2.1.251 이상이 필요합니다.1211사용하는 각 모델에 대해 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 저장합니다. Claude Code v2.1.251 이상이 필요합니다.

1212 

1213머신의 대화형 세션에서 `/effort` 또는 `/model` 선택기의 노력 슬라이더로 `low`, `medium`, `high`, 또는 `xhigh`를 기본값으로 저장하면, Claude Code는 사용 중인 모델 아래에 해당 수준을 작성하므로 이 키를 직접 편집하는 경우는 거의 없습니다. [VS Code 확장의 모델 선택기](/docs/ko/vs-code#use-the-prompt-box)에서 이 수준 중 하나를 선택하면 Claude Code는 동일한 방식으로 여기에 저장합니다. [`effortLevel`](#effortlevel) 항목은 `/effort`가 해당 세션에만 적용되는 세션을 나열합니다.

1212 1214 

1213저장한 수준을 변경하거나 제거하려면 키를 직접 편집합니다.1215저장한 수준을 변경하거나 제거하려면 키를 직접 편집합니다.

1214 1216 


1839 `sandbox.excludedCommands`1841 `sandbox.excludedCommands`

1840</h3>1842</h3>

1841 1843 

1842Claude Code가 항상 샌드박스 외부에서 실행하는 명령(예: 샌드박스에서 작동하지 않는 도구)을 지정합니다. 각 항목은 `Bash(...)` [권한 규칙](/docs/ko/permissions#permission-rule-syntax)의 콘텐츠와 동일한 구문을 사용합니다: 정확한 명령, `docker *`와 같은 접두사, 또는 와일드카드 패턴입니다. 복합 명령의 어떤 부분이 항목과 일치하면, Claude Code는 전체 명령을 샌드박스 없이 실행합니다.1844Claude Code가 항상 샌드박스 외부에서 실행하는 명령(예: 샌드박스에서 작동하지 않는 도구)을 지정합니다. 각 항목은 `Bash(...)` [권한 규칙](/docs/ko/permissions#permission-rule-syntax)의 콘텐츠와 동일한 구문을 사용합니다: 정확한 명령, `docker *`와 같은 접두사, 또는 와일드카드 패턴입니다.

1845 

1846항목이 복합 명령의 모든 명령을 포함할 때만 항목이 Bash 호출을 샌드박스 외부로 꺼냅니다. 일부 호출 형태는 그렇더라도 샌드박스된 상태로 유지됩니다. `docker *` 항목만으로는 `npm ci && docker build .`를 샌드박스 외부로 꺼내지 않습니다.

1843 1847 

1844* **범위**: [`모든 파일`](#scopes)1848* **범위**: [`모든 파일`](#scopes)

1845* **유형**: 명령 패턴의 배열1849* **유형**: 명령 패턴의 배열


1853}1857}

1854```1858```

1855 1859 

1860Claude Code는 다음과 같은 형태 중 하나를 가질 때 Bash 호출을 샌드박스된 상태로 유지합니다:

1861 

1862* `sudo`, `eval`, 또는 `xargs`로 시작하는 명령

1863* 호출의 어디든 나타나는 `cd`, `pushd`, 또는 `popd`

1864* 명령 대체, 하위 셸, 또는 `if` 또는 `for`와 같은 제어 흐름 블록

1865* `docker build . > build.log`와 같은 리다이렉션(파일 디스크립터를 중복하는 것 제외, `2>&1`처럼)

1866* 변수에서 오는 명령 이름

1867 

1868예를 들어, `cd build && docker compose up`은 `docker *` 항목 아래에서 샌드박스된 상태로 유지되며, `cd` 항목을 추가해도 변경되지 않습니다.

1869 

1856제외된 명령은 여전히 일반 권한 흐름을 거칩니다. 제외는 편의 기능이지 보안 경계가 아닙니다. 도구가 특정 위치에만 쓰기를 필요로 할 때는 [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite)를 선호하십시오. Claude Code는 세션이 로드하는 모든 설정 범위에서 항목을 병합하며, 이 목록에 대한 관리되는 전용 잠금이 없으므로, 관리되는 목록을 좁게 유지하십시오.1870제외된 명령은 여전히 일반 권한 흐름을 거칩니다. 제외는 편의 기능이지 보안 경계가 아닙니다. 도구가 특정 위치에만 쓰기를 필요로 할 때는 [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite)를 선호하십시오. Claude Code는 세션이 로드하는 모든 설정 범위에서 항목을 병합하며, 이 목록에 대한 관리되는 전용 잠금이 없으므로, 관리되는 목록을 좁게 유지하십시오.

1857 1871 

1858<h3 id="sandbox-allowunsandboxedcommands">1872<h3 id="sandbox-allowunsandboxedcommands">


3066 `taskOutputMaxChars`3080 `taskOutputMaxChars`

3067</h3>3081</h3>

3068 3082 

3069Claude가 `TaskOutput` 도구로 작업을 읽을 때 [백그라운드 작업](/docs/ko/tools-reference#background-commands)의 출력 중 Claude가 인라인으로 받는 문자 수를 설정합니다. 완료된 작업의 출력이 더 길면 Claude는 가장 최근 문자를 받습니다. 백그라운드 작업이 기본값보다 더 많은 출력을 정기적으로 생성할 때 한계를 높입니다. Claude Code v2.1.261 이상이 필요합니다.3083<Warning>

3070 3084 v2.1.277에서 제거되었으며, 이를 크기 조정한 `TaskOutput` 도구와 함께 제거되었습니다. 현재 버전에서 설정해도 효과가 없습니다. Claude는 대신 `Read`를 사용하여 백그라운드 작업의 [출력 파일](/docs/ko/tools-reference#background-commands)을 읽습니다.

3071* **범위**: [`모든 파일`](#scopes)3085</Warning>

3072* **유형**: 문자 수, 양의 정수. Claude Code는 값을 `4000`에서 `128000` 범위로 제한합니다

3073* **기본값**: 설정되지 않음. Claude는 최대 32,000자를 인라인으로 받습니다

3074 

3075```json settings.json theme={null}

3076{

3077 "taskOutputMaxChars": 100000

3078}

3079```

3080 3086 

3081이 키를 설정하면 Claude Code는 [`TASK_MAX_OUTPUT_LENGTH`](/docs/ko/env-vars) 환경 변수를 무시합니다.3087v2.1.276까지 이 키를 [백그라운드 작업](/docs/ko/tools-reference#background-commands)의 출력 중 Claude가 `TaskOutput` 도구로 작업을 읽을 때 인라인으로 받는 문자 수로 설정했습니다.

3082 3088 

3083<h2 id="interface-and-terminal">3089<h2 id="interface-and-terminal">

3084 인터페이스 및 터미널3090 인터페이스 및 터미널


3994 4000 

3995모든 속성을 숨기려면 [`commit`](#attribution-commit) 및 [`pr`](#attribution-pr)을 빈 문자열로 설정하고 [`sessionUrl`](#attribution-sessionurl)을 `false`로 설정합니다. `commit` 또는 `pr`을 설정하면 Claude Code는 더 이상 사용되지 않는 `includeCoAuthoredBy` 설정을 무시하고 설정하지 않은 두 항목에 대해 기본 텍스트를 사용합니다.4001모든 속성을 숨기려면 [`commit`](#attribution-commit) 및 [`pr`](#attribution-pr)을 빈 문자열로 설정하고 [`sessionUrl`](#attribution-sessionurl)을 `false`로 설정합니다. `commit` 또는 `pr`을 설정하면 Claude Code는 더 이상 사용되지 않는 `includeCoAuthoredBy` 설정을 무시하고 설정하지 않은 두 항목에 대해 기본 텍스트를 사용합니다.

3996 4002 

4003Claude Code는 Claude에게 속성에 대한 사용자 정의 지침(예: CLAUDE.md 또는 [메모리](/docs/ko/memory) 규칙)이 이러한 커밋 및 PR 라인보다 우선한다고 알립니다. 단, 라인이 [관리되는 설정](/docs/ko/managed-settings)에서 설정된 경우는 제외합니다.

4004 

3997<h3 id="includecoauthoredby">4005<h3 id="includecoauthoredby">

3998 `includeCoAuthoredBy`4006 `includeCoAuthoredBy`

3999</h3>4007</h3>


4022 `includeGitInstructions`4030 `includeGitInstructions`

4023</h3>4031</h3>

4024 4032 

4025세션 시작 시 Claude Code는 git 관련 두 가지를 Claude의 프롬프트에 추가합니다: Bash 도구의 설명에 있는 커밋 및 풀 요청 작성 방법에 대한 기본 제공 지침, 그리고 시스템 프롬프트의 저장소 git 상태 스냅샷(현재 분기, 주 분기, `git status` 출력 및 최근 커밋 포함). 예를 들어 자신의 git 워크플로우 스킬을 사용할 때 이 키를 `false`로 설정하여 둘 다 제외합니다.4033Claude Code는 Claude에게 두 가지 git 관련 컨텍스트를 제공합니다. Bash 도구의 설명에 있는 커밋 및 풀 요청 작성 방법에 대한 기본 제공 지침과 저장소의 git 상태 스냅샷입니다. 스냅샷은 현재 분기, 주 분기, `git status` 출력 및 최근 커밋을 포함합니다. Claude Code는 대화가 시작될 때 이를 읽습니다.

4034 

4035예를 들어 자신의 git 워크플로우 스킬을 사용할 때 이 키를 `false`로 설정하여 둘 다 제외합니다.

4026 4036 

4027* **범위**: [`모든 파일`](#scopes)4037* **범위**: [`모든 파일`](#scopes)

4028* **유형**: 부울4038* **유형**: 부울


5905}5915}

5906```5916```

5907 5917 

5908[`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/docs/ko/env-vars)로 새로 고침 간격을 설정하세요. [동적 헤더](/docs/ko/monitoring-usage#dynamic-headers)를 참조하여 스크립트 요구 사항과 Claude Code가 실패한 도우미를 보고하는 위치를 확인하세요.5918[`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/docs/ko/env-vars)로 새로 고침 간격을 설정하세요. [동적 헤더](/docs/ko/monitoring-usage#dynamic-headers)를 참조하여 스크립트 요구 사항과 도우미가 실패할 때 어떤 일이 발생하는지 확인하세요.

5909 5919 

5910<h2 id="updates-and-versioning">5920<h2 id="updates-and-versioning">

5911 업데이트 및 버전 관리5921 업데이트 및 버전 관리


5940백그라운드 자동 업데이트 및 `claude update`가 이 버전 아래의 버전을 설치하지 않도록 하여, `"stable"` 채널로 이동해도 최신 `"latest"` 빌드에서 다운그레이드되지 않습니다. Claude Code는 `/config`에서 채널을 전환하면서 현재 버전에 머물기를 선택할 때 이 키를 기록하고, `"latest"`로 다시 전환할 때 지웁니다.5950백그라운드 자동 업데이트 및 `claude update`가 이 버전 아래의 버전을 설치하지 않도록 하여, `"stable"` 채널로 이동해도 최신 `"latest"` 빌드에서 다운그레이드되지 않습니다. Claude Code는 `/config`에서 채널을 전환하면서 현재 버전에 머물기를 선택할 때 이 키를 기록하고, `"latest"`로 다시 전환할 때 지웁니다.

5941 5951 

5942* **범위**: [`모든 파일`](#scopes). 조직 전체 최소값을 고정하려면 관리 설정에서 설정하여 사용자 및 프로젝트 설정이 낮출 수 없도록 합니다.5952* **범위**: [`모든 파일`](#scopes). 조직 전체 최소값을 고정하려면 관리 설정에서 설정하여 사용자 및 프로젝트 설정이 낮출 수 없도록 합니다.

5943* **유형**: 문자열, `"2.1.100"`과 같은 버전 번호5953* **유형**: 문자열, `"2.1.100"`과 같은 버전 번호; 유효한 버전이 아닌 값은 무시됩니다

5944* **기본값**: 설정되지 않음, 업데이트는 채널이 제공하는 모든 버전을 설치할 수 있습니다5954* **기본값**: 설정되지 않음, 업데이트는 채널이 제공하는 모든 버전을 설치할 수 있습니다

5945 5955 

5946이 예제는 stable 채널을 따르고 2.1.100 아래의 버전 설치를 거부합니다:5956이 예제는 stable 채널을 따르고 2.1.100 아래의 버전 설치를 거부합니다:

statusline.md +85 −85

Details

181 사용 가능한 데이터181 사용 가능한 데이터

182</h2>182</h2>

183 183 

184Claude Code는 stdin을 통해 스크립트에 다음 JSON 필드를 보냅니다: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`와 다를 수 있습니다. |

191| `workspace.added_dirs` | `/add-dir` 또는 `--add-dir`을 통해 추가된 추가 디렉토리. 추가된 것이 없으면 빈 배열 |191| `workspace.added_dirs` | `/add-dir` 또는 `--add-dir`을 통해 추가된 추가 디렉토리입니다. 추가된 디렉토리가 없으면 빈 배열입니다. |

192| `workspace.git_worktree` | `git worktree add`로 생성된 연결된 worktree 내에 현재 디렉토리가 있을 때 Git worktree 이름. 주 작업 트리에는 없습니다. `worktree.*`와 달리 모든 git worktree에 대해 채워지며, [worktree 세션](/docs/ko/worktrees) 중에만 존재하는 것이 아닙니다. |192| `workspace.git_worktree` | `git worktree add`로 생성된 연결된 worktree 내에 현재 디렉토리가 있을 때의 Git worktree 이름입니다. 주 작업 트리에는 없습니다. 모든 git worktree에 대해 채워지며, `worktree.*`와 달리 [worktree 세션](/docs/ko/worktrees) 중에만 존재합니다. |

193| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | `origin` 원격에서 파싱된 저장소 식별자(예: `"github.com"`, `"anthropics"`, `"claude-code"`). git 저장소 외부에 있거나 `origin` 원격이 구성되지 않은 경우 없음. gitlab.com 프로젝트가 하위 그룹에 중첩된 경우 `owner`는 슬래시가 있는 전체 네임스페이스 경로(예: `"group/subgroup"`)입니다. v2.1.260 이전에는 이러한 프로젝트에 대해 `workspace.repo`가 없었습니다 |193| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | `origin` 원격에서 파싱된 저장소 ID입니다. 예를 들어 `"github.com"`, `"anthropics"`, `"claude-code"`입니다. Git 저장소 외부에 있거나 `origin` 원격이 구성되지 않은 경우 없습니다. GitLab.com 프로젝트가 하위 그룹에 중첩된 경우, `owner`는 `"group/subgroup"`과 같이 슬래시가 있는 전체 네임스페이스 경로입니다. v2.1.260 이전에는 이러한 프로젝트에 대해 `workspace.repo`가 없었습니다. |

194| `cost.total_cost_usd` | USD 단위의 예상 세션 비용으로, [`modelPricing`](/docs/ko/settings-reference#modelpricing) 테이블이 적용되지 않는 한 클라이언트 측에서 정가로 계산됩니다. 실제 청구서와 다를 수 있습니다. `/clear`가 새 세션을 시작할 때 \$0으로 재설정됩니다. v2.1.211 이전에는 `/clear` 후에도 합계가 유지되었습니다 |194| `cost.total_cost_usd` | USD로 계산된 예상 세션 비용이며, [`modelPricing`](/docs/ko/settings-reference#modelpricing) 테이블이 적용되지 않는 한 정가 기준으로 클라이언트 측에서 계산됩니다. 실제 청구액과 다를 수 있습니다. `/clear`가 새 세션을 시작할 때 \$0으로 재설정됩니다. v2.1.211 이전에는 `/clear` 후에도 합계가 유지되었습니다. |

195| `cost.total_duration_ms` | 세션 시작 이후의 총 벽시계 시간(밀리초) |195| `cost.total_duration_ms` | 세션이 실행된 총 벽시계 시간(밀리초)입니다. 재개 시 누적되며 세션이 실행되지 않는 동안의 시간은 포함되지 않습니다. |

196| `cost.total_api_duration_ms` | API 응답 대기에 소비된 총 시간(밀리초) |196| `cost.total_api_duration_ms` | API 응답 대기에 소요된 총 시간(밀리초)입니다. |

197| `cost.total_lines_added`, `cost.total_lines_removed` | 변경된 코드 줄 |197| `cost.total_lines_added`, `cost.total_lines_removed` | 변경된 코드 라인입니다. |

198| `context_window.total_input_tokens`, `context_window.total_output_tokens` | 컨텍스트 윈도우에 현재 있는 토큰 수(가장 최근 API 응답에서). 입력에는 캐시 읽기 및 쓰기가 포함됩니다 |198| `context_window.total_input_tokens`, `context_window.total_output_tokens` | 가장 최근 API 응답의 컨텍스트 윈도우에 현재 있는 토큰 수입니다. 입력에는 캐시 읽기 및 쓰기가 포함됩니다. |

199| `context_window.context_window_size` | 토큰 단위의 최대 컨텍스트 윈도우 크기. 기본값은 200,000이거나 확장된 컨텍스트가 있는 모델의 경우 1,000,000입니다. |199| `context_window.context_window_size` | 토큰 단위의 최대 컨텍스트 윈도우 크기입니다. 기본값은 200000이거나 확장된 컨텍스트가 있는 모델의 경우 1000000입니다. |

200| `context_window.used_percentage` | 사용된 컨텍스트 윈도우의 사전 계산된 백분율 |200| `context_window.used_percentage` | 사전 계산된 컨텍스트 윈도우 사용 백분율입니다. |

201| `context_window.remaining_percentage` | 남은 컨텍스트 윈도우의 사전 계산된 백분율 |201| `context_window.remaining_percentage` | 사전 계산된 컨텍스트 윈도우 남은 백분율입니다. |

202| `context_window.current_usage` | 마지막 API 호출의 토큰 수([컨텍스트 윈도우 필드](#context-window-fields)에 설명됨) |202| `context_window.current_usage` | 마지막 API 호출의 토큰 수이며, [컨텍스트 윈도우 필드](#context-window-fields)에 설명되어 있습니다. |

203| `exceeds_200k_tokens` | 가장 최근 API 응답의 총 토큰 수(입력, 캐시 및 출력 토큰 결합)가 200k를 초과하는지 여부. 이는 실제 컨텍스트 윈도우 크기와 관계없이 고정된 임계값입니다. |203| `exceeds_200k_tokens` | 가장 최근 API 응답의 총 토큰 수(입력, 캐시 및 출력 토큰 결합)가 200k를 초과하는지 여부입니다. 이는 실제 컨텍스트 윈도우 크기와 관계없이 고정된 임계값입니다. |

204| `fast_mode` | 세션에 대해 [빠른 모드](/docs/ko/fast-mode)가 활성화되어 있는지 여부 |204| `fast_mode` | 세션에 대해 [빠른 모드](/docs/ko/fast-mode)가 활성화되어 있는지 여부입니다. |

205| `effort.level` | 현재 추론 노력(`low`, `medium`, `high`, `xhigh` 또는 `max`). 라이브 세션 값을 반영하며, 중간 세션 `/effort` 변경을 포함합니다. Ultracode는 별개의 수준이 아니며 `xhigh`로 보고됩니다. 현재 모델이 노력 매개변수를 지원하지 않을 때는 없습니다 |205| `effort.level` | 현재 추론 노력(`low`, `medium`, `high`, `xhigh` 또는 `max`)입니다. 세션 중 `/effort` 변경을 포함한 라이브 세션 값을 반영합니다. Ultracode는 별개의 수준이 아니며 `xhigh`로 보고됩니다. 현재 모델이 노력 매개변수를 지원하지 않으면 없습니다. |

206| `thinking.enabled` | 세션에 대해 확장된 사고가 활성화되어 있는지 여부 |206| `thinking.enabled` | 세션에 대해 확장된 사고가 활성화되어 있는지 여부입니다. |

207| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | 5시간 또는 7일 속도 제한의 소비된 백분율(0\~100) |207| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | 5시간 또는 7일 속도 제한의 0\~100 백분율입니다. |

208| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | 5시간 또는 7일 속도 제한 윈도우가 재설정되는 Unix epoch 초 |208| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | 5시간 또는 7일 속도 제한 윈도우가 재설정되는 Unix epoch 초입니다. |

209| `rate_limits.spend_limit.used_percentage`, `rate_limits.spend_limit.resets_at` | [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway-spend-limits#usage-warnings-in-claude-code) 뒤에서 사용자에게 적용되는 지출 제한의 사용된 백분율 및 해당 기간이 재설정되는 Unix epoch 초. 백분율은 0\~100 범위이거나 제한을 초과하면 100 이상입니다. Claude Code v2.1.251 이상 필요 |209| `rate_limits.spend_limit.used_percentage`, `rate_limits.spend_limit.resets_at` | [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway-spend-limits#usage-warnings-in-claude-code) 뒤에서, 사용자에게 적용되는 지출 제한의 사용 백분율 및 해당 기간이 재설정되는 Unix epoch 초입니다. 백분율은 0\~100 범위이거나 제한을 초과하면 100 이상입니다. Claude Code v2.1.251 이상 필요합니다. |

210| `prompt_cache` | 주 대화의 세션 [프롬프트 캐시](/docs/ko/prompt-caching) 통계: 히트율, 미스 및 캐시가 따뜻한지 여부. 모든 필드는 [프롬프트 캐시 필드](#prompt-cache-fields)를 참조하세요. 주 대화의 첫 번째 API 응답까지 없습니다. Claude Code v2.1.251 이상 필요 |210| `prompt_cache` | 주 대화의 세션 [프롬프트 캐시](/docs/ko/prompt-caching) 통계입니다: 히트율, 미스 및 캐시가 따뜻한지 여부입니다. 모든 필드는 [프롬프트 캐시 필드](#prompt-cache-fields)를 참조하세요. 주 대화의 첫 API 응답까지 없습니다. Claude Code v2.1.251 이상 필요합니다. |

211| `session_id` | 고유 세션 식별자 |211| `session_id` | 고유한 세션 식별자입니다. |

212| `session_name` | 세션 이름. `--name` 플래그 또는 `/rename`으로 설정된 사용자 정의 이름이 있을 때 사용하고, 그렇지 않으면 AI가 생성한 세션 제목을 사용합니다. [기본 표시 이름](/docs/ko/sessions#name-your-sessions)(예: `my-app-3f`)은 이 필드를 채우지 않습니다. 세션에 사용자 정의 이름도 AI가 생성한 제목도 없을 때는 없습니다 |212| `session_name` | 세션 이름입니다. `--name` 플래그 또는 `/rename`으로 설정된 사용자 정의 이름을 사용하거나, 존재하는 경우 AI 생성 세션 제목을 사용합니다. [기본 표시 이름](/docs/ko/sessions#name-your-sessions)(예: `my-app-3f`)은 이 필드를 채우지 않습니다. 세션에 사용자 정의 이름이나 AI 생성 제목이 없으면 없습니다. |

213| `prompt_id` | 현재 처리 중인 사용자 프롬프트를 식별하는 UUID. OpenTelemetry 이벤트의 [`prompt.id` 속성](/docs/ko/monitoring-usage#event-correlation-attributes)과 일치합니다. 첫 번째 사용자 입력까지 없습니다. Claude Code v2.1.196 이상 필요 |213| `prompt_id` | 현재 처리 중인 사용자 프롬프트를 식별하는 UUID입니다. [OpenTelemetry 이벤트의 `prompt.id` 속성](/docs/ko/monitoring-usage#event-correlation-attributes)과 일치합니다. 첫 사용자 입력까지 없습니다. Claude Code v2.1.196 이상 필요합니다. |

214| `transcript_path` | 대화 기록 파일의 경로 |214| `transcript_path` | 대화 기록 파일의 경로입니다. |

215| `version` | Claude Code 버전 |215| `version` | Claude Code 버전입니다. |

216| `output_style.name` | 현재 출력 스타일의 이름 |216| `output_style.name` | 현재 출력 스타일의 이름입니다. |

217| `vim.mode` | [vim 모드](/docs/ko/interactive-mode#vim-editor-mode)가 활성화되어 있을 때 현재 vim 모드(`NORMAL`, `INSERT`, `VISUAL` 또는 `VISUAL LINE`) |217| `vim.mode` | [vim 모드](/docs/ko/interactive-mode#vim-editor-mode)가 활성화되어 있을 때 현재 vim 모드(`NORMAL`, `INSERT`, `VISUAL` 또는 `VISUAL LINE`)입니다. |

218| `agent.name` | `--agent` 플래그 또는 에이전트 설정이 구성되어 있을 때 에이전트 이름 |218| `agent.name` | `--agent` 플래그로 실행하거나 에이전트 설정이 구성된 경우의 에이전트 이름입니다. |

219| `pr.number`, `pr.url` | 현재 브랜치에 대한 열린 풀 요청. 하단의 PR 배지를 반영합니다. GitLab 원격이 있는 저장소에서 Claude Code는 대신 브랜치의 열린 [병합 요청](/docs/ko/interactive-mode#gitlab-merge-requests)에서 이 필드를 채우므로 `pr.number`는 병합 요청 번호입니다. 병합 요청 데이터는 Claude Code v2.1.234 이상 필요합니다. git 저장소에 없을 때, 풀 요청 또는 병합 요청을 찾을 때까지, 또는 병합되거나 닫힌 후에는 없습니다 |219| `pr.number`, `pr.url` | 현재 분기에 대한 열린 풀 요청입니다. 바닥글의 PR 배지를 미러링합니다. GitLab 원격이 있는 저장소에서 Claude Code는 분기의 열린 [병합 요청](/docs/ko/interactive-mode#gitlab-merge-requests)에서 이러한 필드를 채우므로, `pr.number`는 병합 요청 번호입니다. 병합 요청 데이터는 Claude Code v2.1.234 이상 필요합니다. Git 저장소에 없거나, 풀 요청 또는 병합 요청을 찾을 때까지, 또는 병합되거나 닫힌 후에는 없습니다. |

220| `pr.review_state` | 열린 PR의 검토 상태: `approved`, `pending`, `changes_requested` 또는 `draft`. `pr`이 있을 때도 독립적으로 없을 수 있습니다 |220| `pr.review_state` | 열린 PR의 검토 상태입니다: `approved`, `pending`, `changes_requested` 또는 `draft`입니다. `pr`이 있을 때도 독립적으로 없을 수 있습니다. |

221| `pr.kind` | `pr`이 [GitLab 병합 요청](/docs/ko/interactive-mode#gitlab-merge-requests)을 설명할 때 `mr`. GitHub 풀 요청의 경우 없으므로 이 필드 이전에 작성된 스크립트는 계속 작동합니다. 병합 요청의 경우 Claude Code는 GitLab이 병합 가능으로 보고할 때 `review_state`를 `approved`로, 다른 모든 열린 상태에 대해 `pending`으로, 초안에 대해 `draft`로 설정합니다. Claude Code v2.1.234 이상 필요 |221| `pr.kind` | PR이 [GitLab 병합 요청](/docs/ko/interactive-mode#gitlab-merge-requests)을 설명할 때 `mr`입니다. GitHub 풀 요청의 경우 없으므로 이 필드 이전에 작성된 스크립트는 계속 작동합니다. 병합 요청의 경우 Claude Code는 GitLab이 병합 가능으로 보고할 때 `review_state`를 `approved`로, 다른 열린 상태의 경우 `pending`으로, 초안의 경우 `draft`로 설정합니다. Claude Code v2.1.234 이상 필요합니다. |

222| `worktree.name` | 활성 worktree의 이름. [worktree 세션](/docs/ko/worktrees) 중에만 표시됩니다 |222| `worktree.name` | 활성 worktree의 이름입니다. 세션이 [worktree 세션](/docs/ko/worktrees)에 있을 때만 존재합니다. |

223| `worktree.path` | worktree 디렉토리의 절대 경로 |223| `worktree.path` | worktree 디렉토리의 절대 경로입니다. |

224| `worktree.branch` | worktree의 Git 브랜치 이름(예: `"worktree-my-feature"`). 훅 기반 worktree의 경우 없습니다 |224| `worktree.branch` | worktree의 Git 분기 이름입니다(예: `"worktree-my-feature"`). 훅 기반 worktree의 경우 없습니다. |

225| `worktree.original_cwd` | worktree에 들어가기 전에 Claude가 있던 디렉토리 |225| `worktree.original_cwd` | worktree에 들어가기 전에 Claude가 있던 디렉토리입니다. |

226| `worktree.original_branch` | worktree에 들어가기 전에 체크아웃된 Git 브랜치. 훅 기반 worktree의 경우 없습니다 |226| `worktree.original_branch` | worktree에 들어가기 전에 체크아웃된 Git 분기입니다. 훅 기반 worktree의 경우 없습니다. |

227 227 

228<Accordion title="전체 JSON 스키마">228<Accordion title="전체 JSON 스키마">

229 상태 표시줄 명령은 stdin을 통해 이 JSON 구조를 수신합니다:229 상태 라인 명령은 stdin을 통해 다음 JSON 구조를 수신합니다:

230 230 

231 ```json theme={null}231 ```json theme={null}

232 {232 {


236 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",236 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

237 "transcript_path": "/path/to/transcript.jsonl",237 "transcript_path": "/path/to/transcript.jsonl",

238 "model": {238 "model": {

239 "id": "claude-opus-5",239 "id": "claude-opus-5-5",

240 "display_name": "Opus"240 "display_name": "Opus"

241 },241 },

242 "workspace": {242 "workspace": {


341 341 

342 **없을 수 있는 필드** (JSON에 없음):342 **없을 수 있는 필드** (JSON에 없음):

343 343 

344 * `session_name`: `--name` 또는 `/rename`으로 사용자 정의 이름이 설정되었을 때 또는 AI가 생성한 세션 제목이 존재할 때 나타남. `my-app-3f`와 같은 기본 표시 이름은 이 필드를 채우지 않습니다344 * `session_name`: `--name` 또는 `/rename`으로 사용자 정의 이름이 설정되었거나 AI 생성 세션 제목이 존재할 때 나타납니다. 기본 표시 이름(예: `my-app-3f`)은 이를 채우지 않습니다.

345 * `prompt_id`: 첫 번째 사용자 입력 후에만 나타남345 * `prompt_id`: 첫 사용자 입력 후에만 나타납니다.

346 * `workspace.git_worktree`: 현재 디렉토리가 연결된 git worktree 내에 있을 때만 나타남346 * `workspace.git_worktree`: 현재 디렉토리가 연결된 git worktree 내에 있을 때만 나타납니다.

347 * `workspace.repo`: git 저장소 내에 있고 `origin` 원격이 구성되어 있을 때만 나타남347 * `workspace.repo`: `origin` 원격이 구성된 git 저장소 내에서만 나타납니다.

348 * `effort`: 현재 모델이 추론 노력 매개변수를 지원할 때만 나타남348 * `effort`: 현재 모델이 추론 노력 매개변수를 지원할 때만 나타납니다.

349 * `vim`: vim 모드가 활성화되어 있을 때만 나타남349 * `vim`: vim 모드가 활성화되어 있을 때만 나타납니다.

350 * `agent`: `--agent` 플래그 또는 에이전트 설정이 구성되어 있을 때만 나타남350 * `agent`: `--agent` 플래그로 실행하거나 에이전트 설정이 구성되어 있을 때만 나타납니다.

351 * `pr`: 현재 브랜치에 대해 열린 PR 또는 GitLab 병합 요청을 찾았을 때만 나타나며, 병합되거나 닫히면 제거됩니다. `pr.review_state` 및 `pr.kind`는 독립적으로 없을 수 있습니다351 * `pr`: 현재 분기에 대해 열린 PR 또는 GitLab 병합 요청이 발견되는 동안만 나타나며, 병합되거나 닫히면 제거됩니다. `pr.review_state` 및 `pr.kind`는 `pr`이 있을 때도 독립적으로 없을 수 있습니다.

352 * `worktree`: [worktree 세션](/docs/ko/worktrees) 중에만 나타남. 존재할 때 `branch` 및 `original_branch`도 훅 기반 worktree의 경우 없을 수 있습니다352 * `worktree`: 세션이 [worktree 세션](/docs/ko/worktrees)에 있을 때만 나타납니다. 존재할 때 `branch` 및 `original_branch`는 훅 기반 worktree의 경우 없을 수도 있습니다.

353 * `rate_limits`: Claude.ai Pro 및 Max 구독자의 경우 또는 지출 제한을 설정하는 Claude 앱 게이트웨이 뒤에서만 나타나며, 세션의 첫 번째 API 응답 후에만 나타남. 각 윈도우(`five_hour`, `seven_day`, `spend_limit`)는 독립적으로 없을 수 있으며, Claude Code는 `resets_at` 시간이 지나면 윈도우를 삭제합니다. 부재를 우아하게 처리하려면 `jq -r '.rate_limits.five_hour.used_percentage // empty'`를 사용합니다.353 * `rate_limits`: Claude.ai Pro 및 Max 구독자 또는 지출 제한을 설정하는 Claude 앱 게이트웨이 뒤에서만 나타나며, 세션의 첫 API 응답 후에만 나타납니다. 각 윈도우(`five_hour`, `seven_day`, `spend_limit`)는 독립적으로 없을 수 있으며, Claude Code는 `resets_at` 시간이 지나면 윈도우를 삭제합니다. `jq -r '.rate_limits.five_hour.used_percentage // empty'`를 사용하여 부재를 우아하게 처리하세요.

354 * `prompt_cache`: 주 대화의 첫 번째 API 응답 후에 나타남. [프롬프트 캐시 필드](#prompt-cache-fields) 참조354 * `prompt_cache`: 주 대화의 첫 API 응답 후에 나타납니다. [프롬프트 캐시 필드](#prompt-cache-fields) 참조

355 355 

356 **`null`일 수 있는 필드**:356 **`null`일 수 있는 필드**:

357 357 

358 * `context_window.current_usage`: 세션의 첫 번째 API 호출 전에 `null`이고, `/compact` 후에 다시 `null`이 되었다가 다음 API 호출이 이를 다시 채울 때까지 유지됩니다358 * `context_window.current_usage`: 세션의 첫 API 호출 전, 그리고 `/compact` 후 다음 API 호출이 다시 채울 때까지 `null`입니다.

359 * `context_window.used_percentage`, `context_window.remaining_percentage`: 세션 초기에 `null`일 수 있음359 * `context_window.used_percentage`, `context_window.remaining_percentage`: 세션 초기에 `null`일 수 있습니다.

360 360 

361 스크립트에서 조건부 액세스로 누락된 필드를 처리하고 null 값을 폴백 기본값으로 처리합니다.361 스크립트에서 조건부 액세스로 누락된 필드를 처리하고 폴백 기본값으로 null 값을 처리하세요.

362</Accordion>362</Accordion>

363 363 

364<h3 id="context-window-fields">364<h3 id="context-window-fields">


367 367 

368`context_window` 객체는 가장 최근 API 응답의 라이브 컨텍스트 윈도우를 설명합니다.368`context_window` 객체는 가장 최근 API 응답의 라이브 컨텍스트 윈도우를 설명합니다.

369 369 

370* **결합된 합계** (`total_input_tokens`, `total_output_tokens`): 컨텍스트 윈도우에 현재 있는 토큰. `total_input_tokens`는 `input_tokens`, `cache_creation_input_tokens` 및 `cache_read_input_tokens`의 합계입니다. `total_output_tokens`는 가장 최근 응답의 출력 토큰입니다. 둘 다 첫 번째 API 응답 전에는 `0`입니다.370* **결합된 합계** (`total_input_tokens`, `total_output_tokens`): 컨텍스트 윈도우에 현재 있는 토큰입니다. `total_input_tokens`은 `input_tokens`, `cache_creation_input_tokens` 및 `cache_read_input_tokens`의 합입니다. `total_output_tokens`은 가장 최근 응답의 출력 토큰입니다. 둘 다 첫 API 응답 전에는 0입니다.

371* **구성 요소별 사용량** (`current_usage`): 카테고리별로 분류된 동일한 토큰 수. 캐시 히트를 새로운 입력과 분리해야 할 때 이를 사용합니다.371* **구성 요소별 사용** (`current_usage`): 범주별로 분류된 동일한 토큰 수입니다. 캐시 히트를 새로운 입력과 분리해야 할 때 이를 사용하세요.

372 372 

373`current_usage` 객체에는 다음이 포함됩니다:373`current_usage` 객체는 다음을 포함합니다:

374 374 

375* `input_tokens`: 현재 컨텍스트의 입력 토큰375* `input_tokens`: 현재 컨텍스트의 입력 토큰

376* `output_tokens`: 생성된 출력 토큰376* `output_tokens`: 생성된 출력 토큰


379 379 

380캐시 필드의 의미와 청구 방식에 대해서는 [캐시 성능 확인](/docs/ko/prompt-caching#check-cache-performance)을 참조하세요.380캐시 필드의 의미와 청구 방식에 대해서는 [캐시 성능 확인](/docs/ko/prompt-caching#check-cache-performance)을 참조하세요.

381 381 

382`used_percentage` 필드는 입력 토큰만으로 계산됩니다: `input_tokens + cache_creation_input_tokens + cache_read_input_tokens`. `output_tokens`는 포함하지 않습니다.382`used_percentage` 필드는 입력 토큰만으로 계산됩니다: `input_tokens + cache_creation_input_tokens + cache_read_input_tokens`입니다. `output_tokens`은 포함되지 않습니다.

383 383 

384`current_usage`에서 컨텍스트 백분율을 수동으로 계산하는 경우 동일한 입력 전용 공식을 사용하여 `used_percentage`와 일치시킵니다.384`current_usage`에서 컨텍스트 백분율을 수동으로 계산하는 경우 동일한 입력 전용 공식을 사용하여 `used_percentage`와 일치하도록 하세요.

385 385 

386`current_usage` 객체는 세션의 첫 번째 API 호출 전에 `null`이고, `/compact` 직후에 다시 `null`이 되었다가 다음 API 호출이 이를 다시 채울 때까지 유지됩니다.386`current_usage` 객체는 세션의 첫 API 호출 전, 그리고 `/compact` 직후 다음 API 호출이 다시 채울 때까지 `null`입니다.

387 387 

388<h3 id="prompt-cache-fields">388<h3 id="prompt-cache-fields">

389 프롬프트 캐시 필드389 프롬프트 캐시 필드

390</h3>390</h3>

391 391 

392`prompt_cache` 객체는 세션의 주 대화가 [프롬프트 캐시](/docs/ko/prompt-caching)를 사용하는 방식을 요약합니다. Claude Code는 API의 응답에서 캐시 토큰 수를 계산하므로 모든 제공자에서 작동합니다.392`prompt_cache` 객체는 세션의 주 대화가 [프롬프트 캐시](/docs/ko/prompt-caching)를 사용하는 방식을 요약합니다. Claude Code는 API의 응답에서 캐시 토큰 수를 계산하므로 모든 공급자에서 작동합니다.

393 393 

394이 객체는 주 대화의 첫 번째 API 응답 후에 나타납니다. Claude Code는 이 통계에서 하위 에이전트 요청을 계산하지 않습니다. Claude Code v2.1.251 이상 필요합니다.394이 객체는 주 대화의 첫 API 응답 후에 나타납니다. Claude Code는 이러한 통계에서 하위 에이전트 요청을 계산하지 않습니다. Claude Code v2.1.251 이상 필요합니다.

395 395 

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"` |

403| `expires_at` | 캐시된 접두사가 TTL을 벗어나 콜드 상태가 되는 시간(epoch 초). 마지막 응답이 캐시 토큰을 보고하지 않았을 때 `null` |403| `expires_at` | 캐시된 접두사가 TTL을 벗어나 콜드 상태가 될 때(epoch 초)입니다. 마지막 응답이 캐시 토큰을 보고하지 않았을 때 `null`입니다. |

404| `requests` | 이 세션의 주 대화에 대해 기록된 API 요청 |404| `requests` | 이 세션의 주 대화에 대해 기록된 API 요청입니다. |

405| `misses` | 캐시가 이미 보유한 콘텐츠를 다시 처리한 요청: 5% 이상이고 캐시에서 읽을 수 있었던 최소 2,000개 토큰이며, 캐시 읽기의 부족을 설명할 압축 또는 도구 결과 지우기가 없습니다 |405| `misses` | 캐시가 이미 보유한 콘텐츠를 다시 처리한 요청입니다: 요청이 캐시에서 읽을 수 있었던 것의 5% 이상이고 최소 2,000개 토큰이며, 캐시 읽기의 부족을 설명할 압축이나 도구 결과 지우기가 없습니다. |

406| `expected_rebuilds` | 압축 또는 이전 도구 결과 지우기 후에 따라온 캐시 재구축 |406| `expected_rebuilds` | 압축 또는 이전 도구 결과 지우기를 따른 캐시 재구축입니다. |

407| `hit_ratio` | 이 세션의 모든 입력 토큰의 분수로서의 캐시 읽기 토큰(0\~1). 분모는 캐시 읽기, 캐시 쓰기 및 캐시되지 않은 입력을 계산합니다. 이러한 수가 모두 0일 때 `null` |407| `hit_ratio` | 이 세션의 모든 입력 토큰에 대한 캐시 읽기 토큰의 분수이며, 0\~1 범위입니다. 분모는 캐시 읽기, 캐시 쓰기 및 캐시되지 않은 입력을 계산합니다. 이러한 수가 모두 0일 때 `null`입니다. |

408| `cache_write_tokens` | 이 세션에서 캐시에 기록된 모든 토큰(첫 번째 요청의 초기 쓰기 포함) |408| `cache_write_tokens` | 이 세션의 캐시에 기록된 모든 토큰이며, 첫 요청의 초기 쓰기가 포함됩니다. |

409| `miss_recache_tokens` | 미스로 계산된 요청에 의해 캐시에 기록된 토큰 |409| `miss_recache_tokens` | 미스로 계산된 요청에 의해 캐시에 기록된 토큰입니다. |

410| `last_miss_at` | 마지막 미스가 발생한 시간(epoch 초). 세션에 미스가 없을 때 `null` |410| `last_miss_at` | 마지막 미스가 발생한 시간(epoch 초)입니다. 세션에 미스가 없을 때 `null`입니다. |

411| `last_miss_cause` | Claude Code가 마지막 미스의 가능한 원인으로 식별한 것([마지막 미스 원인](#last-miss-cause) 아래에 설명됨). Claude Code v2.1.260 이상 필요 |411| `last_miss_cause` | Claude Code가 마지막 미스의 가능한 원인으로 식별한 것이며, [마지막 미스 원인](#last-miss-cause) 아래에 설명되어 있습니다. Claude Code v2.1.260 이상 필요합니다. |

412| `miss_causes` | 이 세션의 진단된 미스 중 각 원인을 가진 개수(`last_miss_cause`와 동일한 원인 이름으로 키됨). Claude Code v2.1.260 이상 필요 |412| `miss_causes` | 이 세션의 진단된 미스 중 각 원인을 가진 수이며, `last_miss_cause`와 동일한 원인 이름으로 키가 지정됩니다. Claude Code v2.1.260 이상 필요합니다. |

413| `recache_tokens_if_cold` | 캐시가 그때까지 콜드 상태가 되었을 경우 다음 요청이 다시 캐시하는 토큰. 압축 또는 이전 도구 결과 지우기 직후 `null`이며, 다음 요청이 다시 작성된 대화의 크기를 기록할 때까지 유지됩니다 |413| `recache_tokens_if_cold` | 캐시가 그때까지 콜드 상태가 되었을 경우 다음 요청이 다시 캐시하는 토큰입니다. 압축 또는 이전 도구 결과 지우기 직후 `null`이며, 다음 요청이 다시 작성된 대화의 크기를 기록할 때까지입니다. |

414 414 

415Claude Code는 터미널에서 동일한 통계를 표시하며, [`/usage` 명령의 `Prompt cache (main)` 줄](/docs/ko/costs#prompt-cache-statistics)에 표시됩니다.415Claude Code는 터미널에서 동일한 통계를 표시하며, [`/usage` 명령의 `Prompt cache (main)` 라인](/docs/ko/costs#prompt-cache-statistics)에 있습니다.

416 416 

417<h4 id="last-miss-cause">417<h4 id="last-miss-cause">

418 마지막 미스 원인418 마지막 미스 원인

419</h4>419</h4>

420 420 

421`last_miss_cause` 객체는 Claude Code가 가장 최근 미스의 가능한 원인으로 식별한 것을 보고합니다. 해당 `causes` 배열은 `tools_changed`, `system_prompt_changed`, `ttl_expired_5m` 또는 `likely_server_side`와 같은 하나 이상의 원인 이름을 보유합니다. 이 객체는 세션의 첫 번째 미스까지 `null`이며, Claude Code가 가장 최근 미스의 원인을 식별할 수 없을 때 다시 `null`입니다. Claude Code v2.1.260 이상 필요합니다.421`last_miss_cause` 객체는 Claude Code가 가장 최근 미스의 가능한 원인으로 식별한 것을 보고합니다. 해당 `causes` 배열은 `tools_changed`, `system_prompt_changed`, `ttl_expired_5m` 또는 `likely_server_side`와 같은 하나 이상의 원인 이름을 보유합니다. 이 객체는 세션의 첫 미스까지 `null`이며, Claude Code가 가장 최근 미스의 원인을 식별할 수 없을 때 다시 `null`입니다. Claude Code v2.1.260 이상 필요합니다.

422 422 

423두 원인은 객체에 수를 추가합니다:423두 가지 원인은 객체에 수를 추가합니다:

424 424 

425* `tools_added` 및 `tools_removed`: `tools_changed`와 함께, 요청에 추가되거나 제거된 도구의 수425* `tools_added` 및 `tools_removed`: `tools_changed`와 함께, 요청에 추가되거나 제거된 도구의 수입니다.

426* `system_char_delta`: `system_prompt_changed`와 함께, 시스템 프롬프트의 길이 변화(문자 단위)426* `system_char_delta`: `system_prompt_changed`와 함께, 시스템 프롬프트의 길이 변화(문자)입니다.

427 427 

428<h2 id="examples">428<h2 id="examples">

429 예제429 예제

sub-agents.md +143 −129

Details

32 32 

33Claude Code에는 Claude가 적절할 때 자동으로 사용하는 내장 subagent가 포함되어 있습니다. 각각은 부모 대화의 권한을 상속합니다. 대부분은 제한된 도구 세트로 실행됩니다.33Claude Code에는 Claude가 적절할 때 자동으로 사용하는 내장 subagent가 포함되어 있습니다. 각각은 부모 대화의 권한을 상속합니다. 대부분은 제한된 도구 세트로 실행됩니다.

34 34 

35Explore와 Plan은 연구를 빠르고 저렴하게 유지하기 위해 CLAUDE.md 파일과 부모 세션의 git 상태를 건너뜁니다. 다른 모든 내장 및 [사용자 정의 subagent](#configure-subagents)는 둘 다 로드합니다. 정의가 [`omitClaudeMd`](#supported-frontmatter-fields) 필드를 설정하여 사용자, 프로젝트 및 로컬 CLAUDE.md 파일을 건너뛰지 않는 한, subagent에 도달하는 항목의 전체 분석은 [startup에서 로드되는 항목](#what-loads-at-startup)을 참조하십시오.35Explore와 Plan은 연구를 빠르고 저렴하게 유지하기 위해 CLAUDE.md 파일과 git 상태 스냅샷을 건너뜁니다. 다른 모든 내장 및 [사용자 정의 subagent](#configure-subagents)는 둘 다 로드합니다. 정의가 [`omitClaudeMd`](#supported-frontmatter-fields) 필드를 설정하여 사용자, 프로젝트 및 로컬 CLAUDE.md 파일을 건너뛰지 않는 한, subagent에 도달하는 항목의 전체 분석은 [startup에서 로드되는 항목](#what-loads-at-startup)을 참조하십시오.

36 36 

37<Tabs>37<Tabs>

38 <Tab title="Explore">38 <Tab title="Explore">


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에 요청하거나 파일을 수동으로 생성 |

176| `~/.claude/agents/` | 모든 프로젝트 | 4 | Claude에 요청하거나 파일 수동 생성 |176| `~/.claude/agents/` | 모든 프로젝트 | 4 | Claude에 요청하거나 파일을 수동으로 생성 |

177| 플러그인의 `agents/` 디렉토리 | 플러그인이 활성화된 위치 | 5 (최저) | [플러그인](/docs/ko/plugins)과 함께 설치 |177| 플러그인의 `agents/` 디렉토리 | 플러그인이 활성화된 위치 | 5 (최저) | [플러그인](/docs/ko/plugins)과 함께 설치 |

178 178 

179**프로젝트 서브에이전트** (`.claude/agents/`)는 코드베이스에 특정한 서브에이전트에 이상적입니다. 버전 관리에 체크인하여 팀이 협력적으로 사용하고 개선할 수 있도록 합니다.179**프로젝트 서브에이전트** (`.claude/agents/`)는 코드베이스에 특정한 서브에이전트에 이상적입니다. 버전 관리에 체크인하여 팀이 협력적으로 사용하고 개선할 수 있습니다.

180 180 

181프로젝트 서브에이전트는 현재 작업 디렉토리에서 위로 걸어가며 발견되므로, 거기서 저장소 루트까지의 모든 `.claude/agents/`가 스캔됩니다. v2.1.178부터, 이러한 중첩 디렉토리 중 하나 이상이 같은 `name`을 정의할 때, Claude Code는 작업 디렉토리에 가장 가까운 정의를 사용합니다.181프로젝트 서브에이전트는 현재 작업 디렉토리에서 위로 걸어가며 발견되므로, 거기서 저장소 루트까지의 모든 `.claude/agents/`가 스캔됩니다. v2.1.178부터, 이러한 중첩된 디렉토리 중 하나 이상이 같은 `name`을 정의할 때, Claude Code는 작업 디렉토리에 가장 가까운 정의를 사용합니다.

182 182 

183`--add-dir` 또는 `/add-dir`로 디렉토리를 추가할 때, Claude Code는 프로젝트 서브에이전트와 함께 해당 `.claude/agents/` 폴더도 로드합니다. 다른 구성 유형이 `--add-dir`에서 로드되는 것에 대해서는 [추가 디렉토리](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)를 참조하세요. `--add-dir` 없이 프로젝트 간에 서브에이전트를 공유하려면 `~/.claude/agents/`를 사용하거나 [플러그인](/docs/ko/plugins)을 사용합니다.183`--add-dir` 또는 `/add-dir`로 디렉토리를 추가할 때, Claude Code는 프로젝트 서브에이전트와 함께 해당 `.claude/agents/` 폴더도 로드합니다. 어떤 다른 구성 유형이 `--add-dir`에서 로드되는지는 [추가 디렉토리](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)를 참조하세요. `--add-dir` 없이 프로젝트 간에 서브에이전트를 공유하려면 `~/.claude/agents/`를 사용하거나 [플러그인](/docs/ko/plugins)을 사용하세요.

184 184 

185**사용자 서브에이전트** (`~/.claude/agents/`)는 모든 프로젝트에서 사용 가능한 개인 서브에이전트입니다.185**사용자 서브에이전트** (`~/.claude/agents/`)는 모든 프로젝트에서 사용 가능한 개인 서브에이전트입니다.

186 186 

187Claude Code는 `.claude/agents/`와 `~/.claude/agents/`를 재귀적으로 스캔하므로, `agents/review/` 또는 `agents/research/`와 같은 하위 폴더로 정의를 구성할 수 있습니다. 하위 디렉토리 경로는 서브에이전트가 식별되거나 호출되는 방식에 영향을 주지 않습니다. 왜냐하면 신원은 `name` 프론트매터 필드에서만 나오기 때문입니다.187Claude Code는 `.claude/agents/`와 `~/.claude/agents/`를 재귀적으로 스캔하므로, `agents/review/` 또는 `agents/research/`와 같은 하위 폴더로 정의를 구성할 수 있습니다. 서브디렉토리 경로는 서브에이전트가 식별되거나 호출되는 방식에 영향을 주지 않습니다. 왜냐하면 신원은 `name` 프론트매터 필드에서만 나오기 때문입니다.

188 188 

189`name` 값을 전체 트리에서 고유하게 유지합니다. 같은 `.claude/agents/` 디렉토리 내의 두 파일(하위 폴더 포함)이 같은 이름을 선언하면, Claude Code는 문서화된 우선순위가 아닌 파일 시스템 읽기 순서로 선택된 하나만 로드합니다. 중첩된 프로젝트 디렉토리 전체에서, 작업 디렉토리에 가장 가까운 정의가 우승합니다. [`/doctor`](/docs/ko/commands#all-commands) 설정 점검은 같은 디렉토리에서 이름을 공유하는 파일을 보고하고 하나를 제외한 모두의 이름을 바꾸거나 제거할 것을 제안합니다. v2.1.205 이전에는 `/doctor`가 중복을 나열하고 어떤 정의가 활성화되었는지 보여주는 진단 화면을 열었습니다.189전체 트리에서 `name` 값을 고유하게 유지하세요. 같은 `.claude/agents/` 디렉토리 내의 두 파일(하위 폴더 포함)이 같은 이름을 선언하면, Claude Code는 문서화된 우선순위가 아닌 파일시스템 읽기 순서로 선택된 하나만 로드합니다. 중첩된 프로젝트 디렉토리 전체에서, 작업 디렉토리에 가장 가까운 정의가 우선합니다(위에서 설명한 대로). [`/doctor`](/docs/ko/commands#all-commands) 설정 점검은 같은 디렉토리에서 이름을 공유하는 파일을 보고하고 하나를 제외한 모두의 이름을 바꾸거나 제거할 것을 제안합니다. v2.1.205 이전에는 `/doctor`가 진단 화면을 열어 중복을 나열하고 어떤 정의가 활성화되었는지 보여주었습니다.

190 190 

191플러그인 `agents/` 디렉토리도 재귀적으로 스캔됩니다. 프로젝트 및 사용자 범위와 달리, 플러그인의 `agents/` 디렉토리 내의 하위 폴더는 [범위가 지정된 식별자](#invoke-subagents-explicitly)의 일부가 됩니다. 플러그인 `my-plugin`의 `agents/review/security.md`에 있는 파일은 `my-plugin:review:security`로 등록됩니다.191플러그인 `agents/` 디렉토리도 재귀적으로 스캔됩니다. 프로젝트 및 사용자 범위와 달리, 플러그인의 `agents/` 디렉토리 내의 하위 폴더는 [범위가 지정된 식별자](#invoke-subagents-explicitly)의 일부가 됩니다. `my-plugin`의 `agents/review/security.md`에 있는 파일은 `my-plugin:review:security`로 등록됩니다.

192 192 

193**CLI 정의 서브에이전트**는 Claude Code 시작 시 JSON으로 전달됩니다. 이들은 해당 세션에만 존재하며 디스크에 저장되지 않으므로, 빠른 테스트나 자동화 스크립트에 유용합니다. 단일 `--agents` 호출에서 여러 서브에이전트를 정의할 수 있습니다:193**CLI 정의 서브에이전트**는 Claude Code를 시작할 때 JSON으로 전달됩니다. 이들은 해당 세션에만 존재하며 디스크에 저장되지 않으므로, 빠른 테스트나 자동화 스크립트에 유용합니다. 단일 `--agents` 호출에서 여러 서브에이전트를 정의할 수 있습니다:

194 194 

195<Tabs>195<Tabs>

196 <Tab title="macOS, Linux, WSL">196 <Tab title="macOS, Linux, WSL">


230 </Tab>230 </Tab>

231</Tabs>231</Tabs>

232 232 

233`--agents` 플래그는 `prompt` 필드와 이러한 [프론트매터](#supported-frontmatter-fields) 필드를 포함하는 JSON을 허용합니다: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd`, 및 `isolation`. 파일 기반 서브에이전트의 마크다운 본문과 동등한 시스템 프롬프트에 `prompt`를 사용합니다.233`--agents` 플래그는 `prompt` 필드와 이러한 [프론트매터](#supported-frontmatter-fields) 필드를 포함하는 JSON을 허용합니다: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd`, 및 `isolation`. 파일 기반 서브에이전트의 마크다운 본문과 동등한 시스템 프롬프트에 `prompt`를 사용하세요. `color`과 `experimental`은 여기서 허용되지 않으며 거부되지 않고 무시됩니다.

234 234 

235JSON의 각 최상위 키는 에이전트의 이름입니다. 이름을 `-`로 시작하지 마세요.235JSON의 각 최상위 키는 에이전트의 이름입니다. 이름을 `-`로 시작하지 마세요.

236 236 

237Claude Code가 로드할 수 없는 값으로 수행하는 작업, 그리고 해당 확인을 건너뛰는 플래그 및 환경 변수에 대해서는 [`Invalid --agents configuration`](/docs/ko/errors#invalid-agents-configuration)을 참조하세요.237Claude Code가 로드할 수 없는 값으로 수행하는 작업, 그리고 해당 확인을 건너뛰는 플래그 및 환경 변수는 [`Invalid --agents configuration`](/docs/ko/errors#invalid-agents-configuration)을 참조하세요.

238 238 

239**관리 서브에이전트**는 조직 관리자가 배포합니다. [관리 설정 디렉토리](/docs/ko/managed-settings#delivery-mechanisms) 내의 `.claude/agents/`에 마크다운 파일을 배치하고, 프로젝트 및 사용자 서브에이전트와 동일한 프론트매터 형식을 사용합니다. 관리 정의는 같은 이름의 프로젝트 및 사용자 서브에이전트보다 우선합니다.239**관리 서브에이전트**는 조직 관리자가 배포합니다. [관리 설정 디렉토리](/docs/ko/managed-settings#delivery-mechanisms) 내의 `.claude/agents/`에 마크다운 파일을 배치하고, 프로젝트 및 사용자 서브에이전트와 동일한 프론트매터 형식을 사용합니다. 관리 정의는 같은 이름의 프로젝트 및 사용자 서브에이전트보다 우선합니다.

240 240 

241**플러그인 서브에이전트**는 설치한 [플러그인](/docs/ko/plugins)에서 나옵니다. 이들은 사용자 정의 서브에이전트와 함께 자동으로 로드되며 범위가 지정된 이름 아래의 @-멘션 자동완성에 나타납니다. 플러그인 서브에이전트 생성에 대한 자세한 내용은 [플러그인 컴포넌트 참조](/docs/ko/plugins-reference#agents)를 참조하세요.241**플러그인 서브에이전트**는 설치한 [플러그인](/docs/ko/plugins)에서 나옵니다. 사용자 정의 서브에이전트와 함께 자동으로 로드되며 범위가 지정된 이름 아래의 @-멘션 자동완성에 나타납니다. 플러그인 서브에이전트 생성에 대한 자세한 내용은 [플러그인 구성 요소 참조](/docs/ko/plugins-reference#agents)를 참조하세요.

242 242 

243<Note>243<Note>

244 보안상의 이유로, 플러그인 서브에이전트는 `hooks`, `mcpServers`, 또는 `permissionMode` 프론트매터 필드를 지원하지 않습니다. 이러한 필드는 플러그인에서 에이전트를 로드할 때 무시됩니다. 이들이 필요하면 에이전트 파일을 `.claude/agents/` 또는 `~/.claude/agents/`로 복사합니다. `settings.json` 또는 `settings.local.json`의 [`permissions.allow`](/docs/ko/settings-reference#permissions-allow)에 규칙을 추가할 수도 있지만, 이러한 규칙은 전체 세션에 적용되며 플러그인 서브에이전트에만 적용되지 않습니다.244 보안상의 이유로, 플러그인 서브에이전트는 `hooks`, `mcpServers`, 또는 `permissionMode` 프론트매터 필드를 지원하지 않습니다. 이러한 필드는 플러그인에서 에이전트를 로드할 때 무시됩니다. 필요한 경우 에이전트 파일을 `.claude/agents/` 또는 `~/.claude/agents/`로 복사하세요. `settings.json` 또는 `settings.local.json`의 [`permissions.allow`](/docs/ko/settings-reference#permissions-allow)에 규칙을 추가할 수도 있지만, 이러한 규칙은 전체 세션에 적용되며 플러그인 서브에이전트에만 적용되지 않습니다.

245</Note>245</Note>

246 246 

247이러한 범위의 서브에이전트 정의는 [에이전트 팀](/docs/ko/agent-teams#use-subagent-definitions-for-teammates)에서도 사용 가능합니다. 팀원을 생성할 때 서브에이전트 유형을 참조할 수 있으며, Claude Code는 해당 정의의 일부를 팀원에게 적용합니다. 각 표시 모드에서 어떤 부분이 적용되는지는 [에이전트 팀](/docs/ko/agent-teams#use-subagent-definitions-for-teammates)을 참조하세요.247이러한 범위의 서브에이전트 정의는 [에이전트 팀](/docs/ko/agent-teams#use-subagent-definitions-for-teammates)에서도 사용 가능합니다. 팀원을 생성할 때 서브에이전트 유형을 참조할 수 있으며, Claude Code는 해당 정의의 일부를 팀원에게 적용합니다. 각 표시 모드에서 어떤 부분이 적용되는지는 [에이전트 팀](/docs/ko/agent-teams#use-subagent-definitions-for-teammates)을 참조하세요.


250 서브에이전트 파일 작성250 서브에이전트 파일 작성

251</h3>251</h3>

252 252 

253서브에이전트 파일은 구성을 위한 YAML 프론트매터 다음에 마크다운의 시스템 프롬프트를 사용합니다:253서브에이전트 파일은 구성을 위한 YAML 프론트매터를 사용하고, 그 뒤에 마크다운의 시스템 프롬프트가 옵니다:

254 254 

255<Note>255<Note>

256 Claude Code는 `~/.claude/agents/`와 `.claude/agents/`를 감시합니다. 디스크에서 서브에이전트 파일을 추가하거나 편집하거나 Claude가 하나를 작성하도록 요청하면, Claude Code는 몇 초 내에 변경을 감지하고 다음 위임은 재시작 없이 업데이트된 정의를 사용합니다.256 Claude Code는 `~/.claude/agents/`와 `.claude/agents/`를 감시합니다. 디스크에서 서브에이전트 파일을 추가하거나 편집하거나, Claude에 작성을 요청하면, Claude Code는 몇 초 내에 변경을 감지하고 다음 위임은 재시작 없이 업데이트된 정의를 사용합니다.

257 257 

258 세 가지 경우는 여전히 재시작이 필요합니다:258 세 가지 경우는 여전히 재시작이 필요합니다:

259 259 

260 * 감시자는 세션이 시작될 때 존재했던 디렉토리만 다루므로, 새 `agents` 디렉토리에서 범위의 첫 번째 에이전트 파일을 생성한 후 재시작하여 로드합니다.260 * 감시자는 세션이 시작될 때 존재했던 디렉토리만 다루므로, 새 `agents` 디렉토리에서 범위의 첫 번째 에이전트 파일을 생성한 후 재시작하여 로드하세요.

261 * Claude Code는 `--add-dir` 또는 `/add-dir`로 추가된 디렉토리 내의 `.claude/agents/`를 감시하지 않으므로, 거기서 서브에이전트를 추가하거나 편집한 후 재시작하여 변경을 로드합니다.261 * Claude Code는 `--add-dir` 또는 `/add-dir`으로 추가된 디렉토리 내의 `.claude/agents/`를 감시하지 않으므로, 거기서 서브에이전트를 추가하거나 편집한 후 재시작하여 변경을 로드하세요.

262 * `--disable-slash-commands`로 시작된 세션은 이러한 디렉토리를 전혀 감시하지 않습니다.262 * `--disable-slash-commands`로 시작된 세션은 이러한 디렉토리를 전혀 감시하지 않습니다.

263</Note>263</Note>

264 264 


276 276 

277프론트매터는 서브에이전트의 메타데이터와 구성을 정의합니다. 본문은 서브에이전트의 동작을 안내하는 시스템 프롬프트가 됩니다. 서브에이전트는 이 시스템 프롬프트와 작업 디렉토리와 같은 기본 환경 세부 정보만 받으며, Claude Code 시스템 프롬프트는 받지 않습니다.277프론트매터는 서브에이전트의 메타데이터와 구성을 정의합니다. 본문은 서브에이전트의 동작을 안내하는 시스템 프롬프트가 됩니다. 서브에이전트는 이 시스템 프롬프트와 작업 디렉토리와 같은 기본 환경 세부 정보만 받으며, Claude Code 시스템 프롬프트는 받지 않습니다.

278 278 

279[비대화형 모드](/docs/ko/headless)에서, [`--append-subagent-system-prompt`](/docs/ko/cli-reference#cli-flags)를 전달하여 모든 서브에이전트의 시스템 프롬프트 끝에 텍스트를 추가합니다(중첩된 서브에이전트 포함). [포크된 서브에이전트](#fork-the-current-conversation)는 제외되며, 이는 대화의 자체 프롬프트를 재사용합니다. Claude Code v2.1.205 이상이 필요합니다. 텍스트가 너무 길어서 명령줄에 전달할 수 없으면, 파일에 저장하고 `--append-subagent-system-prompt-file`로 경로를 전달합니다. 파일 플래그는 Claude Code v2.1.261 이상이 필요합니다.279[비대화형 모드](/docs/ko/headless)에서, [`--append-subagent-system-prompt`](/docs/ko/cli-reference#cli-flags)를 전달하여 모든 서브에이전트의 시스템 프롬프트 끝에 텍스트를 추가합니다(중첩된 서브에이전트 포함, [포크된 서브에이전트](#fork-the-current-conversation) 제외. 포크된 서브에이전트는 대화의 자체 프롬프트를 재사용합니다). Claude Code v2.1.205 이상이 필요합니다. 텍스트가 너무 길어서 명령줄에 전달할 수 없으면, 파일에 저장하고 `--append-subagent-system-prompt-file`로 경로를 전달하세요. 파일 플래그는 Claude Code v2.1.261 이상이 필요합니다.

280 280 

281서브에이전트는 주 대화의 현재 작업 디렉토리에서 시작합니다. 서브에이전트 내에서 `cd` 명령은 Bash 또는 PowerShell 도구 호출 간에 지속되지 않으며 주 대화의 작업 디렉토리에 영향을 주지 않습니다. 서브에이전트에 저장소의 격리된 복사본을 제공하려면 [`isolation: worktree`](#supported-frontmatter-fields)를 설정합니다.281서브에이전트는 주 대화의 현재 작업 디렉토리에서 시작합니다. 서브에이전트 내에서 `cd` 명령은 Bash 또는 PowerShell 도구 호출 간에 지속되지 않으며 주 대화의 작업 디렉토리에 영향을 주지 않습니다. 서브에이전트에 저장소의 격리된 복사본을 제공하려면 [`isolation: worktree`](#supported-frontmatter-fields)를 설정하세요.

282 282 

283`isolation: worktree`를 가진 서브에이전트는 해당 worktree 내에서 Bash 및 PowerShell 명령을 실행합니다. 작업 디렉토리가 주 체크아웃으로 확인되는 명령(예: worktree 디렉토리가 서브에이전트 실행 중에 제거된 경우)은 오류로 실패합니다. v2.1.203 이전에는 이러한 명령이 주 체크아웃에서 실행될 수 있었습니다.283`isolation: worktree`를 가진 서브에이전트는 해당 worktree 내에서 Bash 및 PowerShell 명령을 실행합니다. 작업 디렉토리가 주 체크아웃으로 확인되는 명령(예: worktree 디렉토리가 서브에이전트 실행 중에 제거된 경우)은 오류로 실패합니다. v2.1.203 이전에는 이러한 명령이 주 체크아웃에서 실행될 수 있었습니다.

284 284 

285이 작업 디렉토리 확인은 Claude Code를 시작한 디렉토리를 포함하는 전체 저장소를 다룹니다. 세션이 자체 링크된 [worktree](/docs/ko/worktrees)에서 실행될 때, 확인은 해당 worktree가 링크된 주 체크아웃도 다룹니다. v2.1.210 이전에는 확인이 시작 디렉토리 자체만 다루었습니다. 작업 디렉토리가 같은 저장소의 다른 곳(예: monorepo 하위 디렉토리에서 Claude Code를 시작했을 때 저장소 루트)으로 확인되는 명령은 실패하는 대신 거기서 실행되었습니다.285이 작업 디렉토리 확인은 Claude Code를 시작한 디렉토리를 포함하는 전체 저장소를 다룹니다. 세션이 자체 링크된 [worktree](/docs/ko/worktrees)에서 실행될 때, 확인은 해당 worktree가 링크된 주 체크아웃도 다룹니다. v2.1.210 이전에는 확인이 시작 디렉토리 자체만 다루었습니다. 작업 디렉토리가 같은 저장소의 다른 곳(예: 모노레포 하위 디렉토리에서 Claude Code를 시작했을 때 저장소 루트)으로 확인되는 명령은 실패하지 않고 거기서 실행되었습니다.

286 286 

287Bash 명령의 경우, Claude Code는 두 가지 방식으로 명령 자체도 확인합니다:287Bash 명령의 경우, Claude Code는 두 가지 방식으로 명령 자체도 확인합니다:

288 288 

289* git을 주 체크아웃으로 리디렉션하는 명령을 차단합니다.289* git을 주 체크아웃으로 리디렉션하는 명령을 차단합니다.

290* 명령 텍스트에서 명령이 실행하는 모든 git이 worktree 내에 머물러 있음을 확인할 수 없을 때 명령을 거부합니다(예: 명령 이름이 런타임에 계산될 때).290* 명령 텍스트에서 명령이 실행하는 모든 git이 worktree 내에 머물러 있음을 확인할 수 없을 때 명령을 거부합니다(예: 명령 이름이 런타임에 계산될 때).

291 291 

292리디렉션 벡터와 형태 규칙은 [Claude Code가 격리를 적용하는 방법](/docs/ko/worktrees#how-claude-code-enforces-isolation) 아래에 나열됩니다. PowerShell 명령은 작업 디렉토리 확인만 받습니다.292리디렉션 벡터와 형태 규칙은 [Claude Code가 격리를 적용하는 방법](/docs/ko/worktrees#how-claude-code-enforces-isolation) 아래에 나열되어 있습니다. PowerShell 명령은 작업 디렉토리 확인만 받습니다.

293 293 

294[모니터](/docs/ko/tools-reference#monitor-tool) 명령은 Bash 명령과 동일한 작업 디렉토리 및 명령 내용 확인을 거칩니다.294[모니터](/docs/ko/tools-reference#monitor-tool) 명령은 Bash 명령과 동일한 작업 디렉토리 및 명령 내용 확인을 거칩니다.

295 295 

296주 대화 자체가 worktree에서 격리되어 실행될 때, Claude Code는 동일한 확인을 세션과 생성하는 모든 서브에이전트에 적용합니다(`isolation: worktree` 없는 서브에이전트 포함). [Claude Code가 격리를 적용하는 방법](/docs/ko/worktrees#how-claude-code-enforces-isolation)을 참조하세요.296주 대화 자체가 worktree에서 격리되어 실행될 때, Claude Code는 동일한 확인을 세션과 생성하는 모든 서브에이전트에 적용합니다(`isolation: worktree` 없는 서브에이전트 포함). [Claude Code가 격리를 적용하는 방법](/docs/ko/worktrees#how-claude-code-enforces-isolation)을 참조하세요.

297 297 

298<h4 id="supported-frontmatter-fields">298<h3 id="supported-frontmatter-fields">

299 지원되는 프론트매터 필드299 프론트매터 참조

300</h4>300</h3>

301 

302YAML [프론트매터](/docs/ko/glossary#frontmatter)를 사용하여 파일 상단의 `---` 마커 사이에 서브에이전트를 구성하고, 닫는 `---` 뒤에 마크다운으로 시스템 프롬프트를 작성하세요. `name`과 `description`만 필수입니다.

301 303 

302다음 필드는 YAML 프론트매터에서 사용할 수 있습니다. `name`과 `description`만 필수입니다.304다중 단어 필드 이름은 `maxTurns`와 `disallowedTools`와 같이 camelCase를 사용하며, 표와 정확히 일치해야 합니다. Claude Code는 인식하지 못하는 필드를 오류 보고 없이 무시합니다. 서브에이전트 파일이 로드되지 않은 이유를 알아보려면 [Claude Code가 건너뛰는 서브에이전트 파일](#subagent-files-claude-code-skips)을 참조하세요.

303 305 

304| 필드 | 필수 | 설명 |306| 필드 | 필수 | 설명 |

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

306| `name` | 예 | 소문자와 하이픈을 사용하는 고유 식별자. [Hooks](/docs/ko/hooks#subagentstart)는 이 값을 `agent_type`으로 받습니다. 파일 이름이 일치할 필요는 없습니다. 이름은 `:`를 포함할 수 없으며, 이는 `my-plugin:reviewer`와 같은 [플러그인 범위 식별자](/docs/ko/plugins)를 위해 예약되어 있습니다. Claude Code는 이름을 포함하는 파일을 로드하지 않으며 디버그 로그에 오류를 기록합니다. v2.1.218 이전에는 이러한 이름이 허용되었습니다 |308| `name` | 예 | `code-reviewer` 또는 `reviewer-v2`와 같은 고유 식별자. [Hooks](/docs/ko/hooks#subagentstart)는 이 값을 `agent_type`으로 받습니다. 파일 이름이 일치할 필요는 없습니다. 이름은 `:`를 포함할 수 없습니다. `:`는 `my-plugin:reviewer`와 같은 [플러그인 범위 식별자](/docs/ko/plugins)에 예약되어 있습니다. Claude Code는 이름을 포함하는 파일을 로드하지 않고 디버그 로그에 오류를 기록합니다. v2.1.218 이전에는 이러한 이름이 허용되었습니다 |

307| `description` | 예 | Claude가 이 서브에이전트에 위임해야 할 때 |309| `description` | 예 | Claude가 이 서브에이전트에 위임해야 할 때 |

308| `tools` | 아니오 | 서브에이전트가 사용할 수 있는 [도구](#available-tools). 생략하면 서브에이전트가 사용 가능한 모든 도구를 상속합니다. 목록의 어떤 항목도 도구로 확인되지 않으면, 서브에이전트는 일반적으로 [시작 실패](/docs/ko/errors#agent-would-be-spawned-with-zero-tools)하며 항목을 이름 지정하는 오류가 발생합니다. 컨텍스트에 Skills를 미리 로드하려면 여기에 `Skill`을 나열하는 대신 `skills` 필드를 사용합니다 |310| `tools` | 아니오 | 서브에이전트가 사용할 수 있는 [도구](#available-tools). `Read, Grep, Bash`와 같은 쉼표로 구분된 문자열 또는 YAML 목록입니다. 생략하면 서브에이전트가 사용 가능한 모든 도구를 상속합니다. 목록의 항목이 도구로 확인되지 않으면, 서브에이전트는 일반적으로 항목을 이름 지정하는 오류로 [시작에 실패](/docs/ko/errors#agent-would-be-spawned-with-zero-tools)합니다. 스킬을 컨텍스트에 미리 로드하려면 여기에 `Skill`을 나열하는 대신 `skills` 필드를 사용하세요 |

309| `disallowedTools` | 아니오 | 거부할 도구, 상속되거나 지정된 목록에서 제거됨. `Bash(git push *)`와 같은 지정자가 있는 항목은 여전히 [전체 도구를 제거합니다](#available-tools) |311| `disallowedTools` | 아니오 | 거부할 도구. 상속되거나 지정된 목록에서 제거됩니다. `tools`와 동일한 형식입니다. `Bash(git push *)`와 같은 지정자가 있는 항목은 여전히 [전체 도구를 제거합니다](#available-tools) |

310| `model` | 아니오 | 사용할 [모델](#choose-a-model): `sonnet`, `opus`, `haiku`, `fable`, `claude-opus-5`와 같은 전체 모델 ID, 또는 `inherit`. 생략하면 Claude Code는 [서브에이전트 모델 순서](#choose-a-model)에서 모델을 선택합니다 |312| `model` | 아니오 | 사용할 [모델](#choose-a-model): `sonnet`, `opus`, `haiku`, `fable`, `claude-opus-5-5`와 같은 전체 모델 ID, 또는 `inherit`. 생략하면 Claude Code는 [서브에이전트 모델 순서](#choose-a-model)에서 모델을 선택합니다 |

311| `permissionMode` | 아니오 | [권한 모드](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan`, 또는 기본값의 별칭인 `manual`. `manual` 별칭은 Claude Code v2.1.200 이상이 필요합니다. [플러그인 서브에이전트](#choose-the-subagent-scope)에서 무시됩니다 |313| `permissionMode` | 아니오 | [권한 모드](#permission-modes): `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan`, 또는 `manual`(기본값의 별칭). `manual` 별칭은 Claude Code v2.1.200 이상이 필요합니다. [플러그인 서브에이전트](#choose-the-subagent-scope)에서 무시됩니다 |

312| `maxTurns` | 아니오 | 서브에이전트가 중지되기 전의 최대 에이전트 턴 수. 서브에이전트가 한계에 도달하면, Claude Code는 부분으로 표시된 출력을 반환하며, Claude는 [재개](#resume-subagents)하여 계속할 수 있습니다. 부분 표시는 Claude Code v2.1.246 이상이 필요합니다 |314| `maxTurns` | 아니오 | 서브에이전트가 중지되기 전의 최대 에이전트 턴 수입니다. 서브에이전트가 한계에 도달하면, Claude Code는 부분으로 표시된 출력을 반환하고, Claude는 [재개](#resume-subagents)하여 계속할 수 있습니다. 부분 표시는 Claude Code v2.1.246 이상이 필요합니다 |

313| `skills` | 아니오 | 시작 시 서브에이전트의 컨텍스트에 미리 로드할 [Skills](/docs/ko/skills). 전체 스킬 내용이 주입되며, 설명만이 아닙니다. 서브에이전트는 여전히 Skill 도구를 통해 나열되지 않은 프로젝트, 사용자, 및 플러그인 스킬을 호출할 수 있습니다 |315| `skills` | 아니오 | 시작 시 서브에이전트의 컨텍스트에 미리 로드할 [스킬](/docs/ko/skills). 설명만이 아닌 전체 스킬 내용이 주입됩니다. 서브에이전트는 여전히 스킬 도구를 통해 나열되지 않은 프로젝트, 사용자, 및 플러그인 스킬을 호출할 수 있습니다 |

314| `mcpServers` | 아니오 | 이 서브에이전트가 사용 가능한 [MCP 서버](/docs/ko/mcp). 각 항목은 이미 구성된 서버를 참조하는 서버 이름(예: `"slack"`) 또는 서버 이름을 키로 하고 전체 [MCP 서버 구성](/docs/ko/mcp#installing-mcp-servers)을 값으로 하는 인라인 정의입니다. [플러그인 서브에이전트](#choose-the-subagent-scope)에서 무시됩니다 |316| `mcpServers` | 아니오 | 이 서브에이전트가 사용할 수 있는 [MCP 서버](/docs/ko/mcp). 각 항목은 이미 구성된 서버를 참조하는 서버 이름(예: `"slack"`) 또는 서버 이름을 키로 하고 전체 [MCP 서버 구성](/docs/ko/mcp#installing-mcp-servers)을 값으로 하는 인라인 정의입니다. [플러그인 서브에이전트](#choose-the-subagent-scope)에서 무시됩니다 |

315| `hooks` | 아니오 | 이 서브에이전트로 범위가 지정된 [라이프사이클 훅](#define-hooks-for-subagents). [플러그인 서브에이전트](#choose-the-subagent-scope)에서 무시됩니다 |317| `hooks` | 아니오 | 이 서브에이전트로 범위가 지정된 [라이프사이클 훅](#define-hooks-for-subagents). [플러그인 서브에이전트](#choose-the-subagent-scope)에서 무시됩니다 |

316| `memory` | 아니오 | [지속적 메모리 범위](#enable-persistent-memory): `user`, `project`, 또는 `local`. 교차 세션 학습을 활성화합니다 |318| `memory` | 아니오 | [지속적 메모리 범위](#enable-persistent-memory): `user`, `project`, 또는 `local`. 세션 간 학습을 활성화합니다 |

317| `background` | 아니오 | Claude가 포그라운드에서 실행하도록 요청할 때도 이 서브에이전트를 백그라운드에 유지하려면 `true`로 설정합니다. [포크 모드](#turn-fork-mode-on-or-off)가 켜져 있으면, Claude Code는 Claude가 생성하는 서브에이전트를 이미 [백그라운드에서](#run-subagents-in-foreground-or-background) 실행합니다 |319| `background` | 아니오 | Claude가 포그라운드에서 실행하도록 요청할 때도 이 서브에이전트를 백그라운드에 유지하려면 `true`로 설정하세요. [포크 모드](#turn-fork-mode-on-or-off)가 켜져 있으면, Claude Code는 Claude가 생성하는 서브에이전트를 이미 [백그라운드에서 실행합니다](#run-subagents-in-foreground-or-background) |

318| `omitClaudeMd` | 아니오 | 사용자, 프로젝트, 및 로컬 CLAUDE.md 파일 없이 이 서브에이전트를 시작하려면 `true`로 설정합니다. [관리 정책 파일](/docs/ko/memory#how-claude-md-files-load)은 여전히 로드되며, [관리 서브에이전트](#choose-the-subagent-scope) 제외. [위임 프롬프트](#what-loads-at-startup)에서 필요한 모든 것을 가져오는 서브에이전트에 사용합니다. 에이전트가 `--agent` 또는 `agent` 설정을 통해 주 세션 에이전트로 실행될 때 무시됩니다. Claude Code v2.1.271 이상이 필요합니다 |320| `omitClaudeMd` | 아니오 | 이 서브에이전트를 사용자, 프로젝트, 및 로컬 CLAUDE.md 파일 없이 시작하려면 `true`로 설정하세요. [관리 정책 파일](/docs/ko/memory#how-claude-md-files-load)은 여전히 로드되지만, [관리 서브에이전트](#choose-the-subagent-scope) 제외. [위임 프롬프트](#what-loads-at-startup)에서 필요한 모든 것을 가져오는 서브에이전트에 사용하세요. 에이전트가 `--agent` 또는 `agent` 설정을 통해 주 세션 에이전트로 실행될 때 무시됩니다. Claude Code v2.1.271 이상이 필요합니다 |

319| `effort` | 아니오 | 이 서브에이전트가 활성화될 때의 노력 수준. 세션 노력 수준을 재정의합니다. 기본값: 세션에서 상속. 옵션: `low`, `medium`, `high`, `xhigh`, `max`. 사용 가능한 수준은 모델에 따라 다릅니다 |321| `effort` | 아니오 | 이 서브에이전트가 활성화될 때의 노력 수준입니다. 세션 노력 수준을 재정의합니다. 기본값: 세션에서 상속합니다. 옵션: `low`, `medium`, `high`, `xhigh`, `max`. 사용 가능한 수준은 모델에 따라 다릅니다 |

320| `isolation` | 아니오 | 서브에이전트를 임시 [git worktree](/docs/ko/worktrees)에서 실행하려면 `worktree`로 설정하여 저장소의 격리된 복사본을 제공합니다. 기본적으로 부모 세션의 `HEAD`가 아닌 [기본 분기](/docs/ko/worktrees#choose-the-base-branch)에서 분기됩니다. 서브에이전트가 변경을 하지 않으면 worktree는 자동으로 정리됩니다 |322| `isolation` | 아니오 | 서브에이전트를 임시 [git worktree](/docs/ko/worktrees)에서 실행하려면 `worktree`로 설정하여 저장소의 격리된 복사본을 제공합니다. 기본적으로 부모 세션의 `HEAD`가 아닌 [기본 분기](/docs/ko/worktrees#choose-the-base-branch)에서 분기됩니다. worktree는 서브에이전트가 변경을 하지 않으면 자동으로 정리됩니다 |

321| `color` | 아니오 | 작업 목록 및 기록에서 서브에이전트의 표시 색상. `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, 또는 `cyan`을 허용합니다 |323| `color` | 아니오 | 작업 목록 및 기록에서 서브에이전트의 표시 색상입니다. `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, 또는 `cyan`을 허용합니다 |

322| `initialPrompt` | 아니오 | 이 에이전트가 주 세션 에이전트로 실행될 때(`--agent` 또는 `agent` 설정을 통해) 첫 번째 사용자 턴으로 자동 제출됩니다. [명령](/docs/ko/commands)과 [스킬](/docs/ko/skills)이 처리됩니다. 사용자 제공 프롬프트에 앞서 추가됩니다 |324| `initialPrompt` | 아니오 | 이 에이전트가 주 세션 에이전트로 실행될 때(`--agent` 또는 `agent` 설정을 통해) 첫 번째 사용자 턴으로 자동 제출됩니다. [명령](/docs/ko/commands)과 [스킬](/docs/ko/skills)이 처리됩니다. 사용자 제공 프롬프트에 앞에 붙습니다. [플러그인 서브에이전트](#choose-the-subagent-scope)에서 무시됩니다 |

323| `experimental` | 아니오 | 실험적 옵션의 맵. `cacheTtl` 키를 `5m` 또는 `1h`로 설정하여 이 서브에이전트의 요청에 대한 [프롬프트 캐시 수명](/docs/ko/prompt-caching#choose-the-ttl-yourself)을 선택합니다. 프론트매터의 [캐시 수명 우선순위](/docs/ko/prompt-caching#choose-the-ttl-yourself)에서의 위치입니다. Claude Code는 다른 값을 무시하고, Claude 구독이 사용 크레딧을 사용하는 동안 `1h`를 무시하며, 서브에이전트 파일에서만 필드를 읽습니다. Claude Code v2.1.248 이상이 필요합니다 |325| `experimental` | 아니오 | 실험적 옵션의 맵입니다. `cacheTtl` 키를 `5m` 또는 `1h`로 설정하여 이 서브에이전트의 요청에 대한 [프롬프트 캐시 수명](/docs/ko/prompt-caching#choose-the-ttl-yourself)을 선택합니다. [캐시 수명 우선순위](/docs/ko/prompt-caching#choose-the-ttl-yourself)에서 프론트매터의 위치입니다. Claude Code는 다른 값을 무시하고, Claude 구독이 사용 크레딧을 사용 중일 때 `1h`를 무시하며, 서브에이전트 파일에서만 필드를 읽습니다. Claude Code v2.1.248 이상이 필요합니다 |

324 326 

325`cacheTtl`을 프론트매터의 최상위 수준이 아닌 `experimental` 맵 내에 작성합니다.327`cacheTtl`을 프론트매터의 최상위 수준이 아닌 `experimental` 맵 내에 작성하세요.

326 328 

327```yaml theme={null}329```yaml theme={null}

328---330---


337 Claude Code가 건너뛰는 서브에이전트 파일339 Claude Code가 건너뛰는 서브에이전트 파일

338</h4>340</h4>

339 341 

340Claude Code는 프로젝트, 사용자, 또는 관리 `agents` 디렉토리의 파일, 또는 `--add-dir`로 추가한 디렉토리 아래의 파일을 건너뛰며, 프론트매터에 다음 문제 중 하나가 있을 때 세션에서 보고하지 않습니다:342Claude Code는 프로젝트, 사용자, 또는 관리 `agents` 디렉토리의 파일, 또는 `--add-dir`으로 추가한 디렉토리 아래의 파일을 세션에서 보고하지 않고 건너뜁니다. 프론트매터에 다음 문제가 있을 때:

341 343 

342* **`name` 없음**: Claude Code는 파일을 에이전트 옆에 보관된 문서로 취급합니다.344* **`name` 없음**: Claude Code는 파일을 에이전트 옆에 보관된 문서로 취급합니다.

343* **파일의 첫 번째 줄이 아닌 여는 `---`**: Claude Code는 파일을 프론트매터가 없는 것으로 읽고 문서로 취급합니다.345* **파일의 첫 번째 줄이 아닌 여는 `---`**: Claude Code는 파일을 프론트매터가 없는 것으로 읽고 문서로 취급합니다.

344* **`-`로 시작하거나 `:`를 포함하는 `name`**: Claude Code는 파일을 건너뛰고 디버그 로그에 오류를 씁니다. 위 표의 `name` 행을 참조하세요.346* **`-`로 시작하거나 `:`를 포함하는 `name`**: Claude Code는 파일을 건너뛰고 디버그 로그에 오류를 씁니다. 위의 `name` 행을 참조하세요.

345* **`name`이지만 `description` 없음**: Claude Code는 파일을 건너뛰고 이유를 디버그 로그에 씁니다.347* **`name`이지만 `description` 없음**: Claude Code는 파일을 건너뛰고 이유를 디버그 로그에 씁니다.

346* **YAML이 파싱되지 않음**: Claude Code는 파일에서 필드를 읽지 않고, 건너뛰고, 파싱 오류를 디버그 로그에 씁니다.348* **파싱되지 않는 YAML**: Claude Code는 파일에서 필드를 읽지 않고, 건너뛰고, 파싱 오류를 디버그 로그에 씁니다.

347 349 

348디버그 로그를 보려면 `--debug`로 Claude Code를 실행합니다.350디버그 로그를 보려면 `--debug`로 Claude Code를 실행하세요.

349 351 

350프론트매터가 `name` 없거나 파싱되지 않는 [플러그인 서브에이전트](/docs/ko/plugins-reference#agents)는 여전히 파일 이름 아래에서 로드됩니다.352[플러그인 서브에이전트](/docs/ko/plugins-reference#agents)의 프론트매터에 `name`이 없거나 파싱되지 않으면 여전히 파일 이름 아래에 로드됩니다.

351 353 

352<h5 id="check-an-agents-directory-before-a-session">354<h5 id="check-an-agents-directory-before-a-session">

353 세션 전에 `agents` 디렉토리 확인355 세션 전에 `agents` 디렉토리 확인

354</h5>356</h5>

355 357 

356프론트매터가 파싱되지 않는 `agents` 디렉토리의 파일을 찾으려면, 예를 들어 `.claude/agents` 또는 `~/.claude/agents`에 대해 `claude plugin validate`를 실행합니다. Claude Code는 [이름을 지정한 디렉토리만](/docs/ko/plugin-marketplaces#validate-a-plugin-or-a-directory-without-a-manifest) 확인하며, 프론트매터가 파싱되지만 `name`이 없는 파일은 플래그하지 않습니다. Claude Code v2.1.233 이상이 필요합니다.358프론트매터가 파싱되지 않는 `agents` 디렉토리의 파일을 찾으려면, 예를 들어 `.claude/agents` 또는 `~/.claude/agents`에 대해 `claude plugin validate`를 실행하세요. Claude Code는 [이름을 지정한 디렉토리만](/docs/ko/plugin-marketplaces#validate-a-plugin-or-a-directory-without-a-manifest) 확인하고, 프론트매터가 파싱되지만 `name`이 없는 파일은 플래그하지 않습니다. Claude Code v2.1.233 이상이 필요합니다.

357 359 

358<h3 id="choose-a-model">360<h3 id="choose-a-model">

359 모델 선택361 모델 선택


362`model` 필드는 서브에이전트가 사용하는 모델을 제어합니다:364`model` 필드는 서브에이전트가 사용하는 모델을 제어합니다:

363 365 

364* **모델 별칭**: 사용 가능한 별칭 중 하나를 사용합니다: `sonnet`, `opus`, `haiku`, 또는 `fable`366* **모델 별칭**: 사용 가능한 별칭 중 하나를 사용합니다: `sonnet`, `opus`, `haiku`, 또는 `fable`

365* **전체 모델 ID**: `claude-opus-5` 또는 `claude-sonnet-5`와 같은 전체 모델 ID를 사용합니다. `--model` 플래그와 동일한 값을 허용합니다367* **전체 모델 ID**: `claude-opus-5-5` 또는 `claude-sonnet-5`와 같은 전체 모델 ID를 사용합니다. `--model` 플래그와 동일한 값을 허용합니다

366* **inherit**: 주 대화와 동일한 모델을 사용합니다368* **inherit**: 주 대화와 동일한 모델을 사용합니다

367 369 

368Claude가 서브에이전트를 호출할 때, 해당 특정 호출에 대해 `model` 매개변수를 전달할 수도 있습니다. Claude Code는 다음 순서로 서브에이전트의 모델을 확인합니다:370Claude가 서브에이전트를 호출할 때, 해당 특정 호출에 대해 `model` 매개변수를 전달할 수도 있습니다. Claude Code는 이 순서로 서브에이전트의 모델을 확인합니다:

369 371 

3701. 호출별 `model` 매개변수3721. 호출별 `model` 매개변수

3712. 서브에이전트 정의의 `model` 프론트매터. `inherit`는 주 대화의 모델을 선택합니다3732. 서브에이전트 정의의 `model` 프론트매터. `inherit`는 주 대화의 모델을 선택합니다

3723. [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/ko/model-config#environment-variables) 환경 변수. 모델 별칭 또는 모델 ID로 설정할 때3743. [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/ko/model-config#environment-variables) 환경 변수. 모델 별칭 또는 모델 ID로 설정할 때

3734. 주 대화의 모델3754. 주 대화의 모델

374 376 

375`CLAUDE_CODE_SUBAGENT_MODEL`을 자체로 설정하면 기본 제공 Explore 및 Plan 서브에이전트가 실행되는 모델은 변경되지 않습니다. 변경하려면 [모든 서브에이전트를 한 모델에서 실행](#run-every-subagent-on-one-model)을 참조하세요.377두 가지 경우에, 호출별 매개변수 또는 프론트매터의 `opus`와 같은 패밀리 별칭은 [별칭이 가리키는 버전](/docs/ko/model-config#model-aliases) 대신 주 대화의 모델로 확인됩니다:

378 

379* **주 대화의 모델이 해당 패밀리에 속함**: 서브에이전트는 주 대화의 정확한 모델(모든 `[1m]` 접미사 포함)에서 실행되므로 주 대화와 동일한 [확장 컨텍스트](/docs/ko/model-config#extended-context) 윈도우를 얻습니다.

380* **Claude Code가 [Anthropic API 이외의 공급자](/docs/ko/third-party-integrations)에서 주 대화의 모델 패밀리를 알 수 없음**: 이는 Claude Code가 지원 모델로 확인하지 않은 Amazon Bedrock의 [애플리케이션 추론 프로필 ARN](/docs/ko/amazon-bedrock#iam-configuration)에서 발생할 수 있습니다. 이 경우는 `opus` 별칭만 다루며, [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/ko/model-config#environment-variables)을 설정할 때는 적용되지 않습니다. `opus`는 설정한 모델로 확인되기 때문입니다.

381 

382`CLAUDE_CODE_SUBAGENT_MODEL`의 별칭은 항상 별칭이 가리키는 버전으로 확인되며, 주 대화의 패밀리를 이름 지을 때도 마찬가지입니다.

376 383 

377v2.1.251 이전에는 `CLAUDE_CODE_SUBAGENT_MODEL`이 이 순서에서 먼저 나왔으며 호출별 매개변수와 프론트매터(모두 `model: inherit` 포함)를 재정의했습니다.384`CLAUDE_CODE_SUBAGENT_MODEL`을 자체로 설정하는 것은 기본 제공 Explore 및 Plan 서브에이전트가 실행되는 모델을 변경하지 않습니다. 변경하려면 [모든 서브에이전트를 한 모델에서 실행](#run-every-subagent-on-one-model)을 참조하세요.

378 385 

379변수를 `inherit`로 설정하는 것은 설정하지 않은 것과 같습니다. v2.1.196 이전에는 해당 값이 서브에이전트를 주 대화의 모델로 강제하고 다른 소스를 무시했습니다.386v2.1.251 이전에는 `CLAUDE_CODE_SUBAGENT_MODEL`이 이 순서에서 먼저 나왔으며 호출별 매개변수와 프론트매터(모델 상속 포함)를 모두 재정의했습니다.

380 387 

381Claude Code는 호출별 매개변수, 프론트매터, 및 환경 변수 값을 조직의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록에 대해 확인합니다. 차단된 값의 경우, 다른 모델을 대체합니다:388변수를 `inherit`로 설정하는 것은 설정하지 않은 것과 동일합니다. v2.1.196 이전에는 해당 값이 서브에이전트를 주 대화의 모델로 강제하고 다른 소스를 무시했습니다.

389 

390Claude Code는 호출별 매개변수, 프론트매터, 및 환경 변수 값을 조직의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록에 대해 확인합니다. 차단된 값의 경우 다른 모델로 대체합니다:

382 391 

383* 차단된 값이 `opus`와 같은 패밀리 별칭일 때, Claude Code는 허용 목록이 허용하는 해당 패밀리의 최신 버전에서 서브에이전트를 실행합니다. `/model`과 동일한 [대체 규칙 및 공급자 범위](/docs/ko/model-config#restrict-model-selection)를 따릅니다. v2.1.222 이전에는 Claude Code가 차단된 패밀리 별칭에 대해서도 상속된 모델에서 서브에이전트를 실행했습니다.392* 차단된 값이 `opus`와 같은 패밀리 별칭일 때, Claude Code는 허용 목록이 허용하는 해당 패밀리의 최신 버전에서 서브에이전트를 실행합니다. `/model`과 동일한 [대체 규칙 및 공급자 범위](/docs/ko/model-config#restrict-model-selection)를 따릅니다. v2.1.222 이전에는 Claude Code가 차단된 패밀리 별칭에 대해서도 상속된 모델에서 서브에이전트를 실행했습니다.

384* 다른 차단된 값의 경우, 해당 대체가 작동하지 않는 공급자에서, 또는 허용 목록이 패밀리의 버전을 허용하지 않을 때, Claude Code는 상속된 모델에서 서브에이전트를 실행합니다. `CLAUDE_CODE_SUBAGENT_MODEL`을 설정하면, Claude Code는 먼저 해당 모델을 시도합니다. 동일한 규칙 아래에서.393* 다른 차단된 값의 경우, 해당 대체가 작동하지 않는 공급자에서 또는 허용 목록이 패밀리의 버전을 허용하지 않을 때, Claude Code는 상속된 모델에서 서브에이전트를 실행합니다. `CLAUDE_CODE_SUBAGENT_MODEL`을 설정하면, Claude Code는 이러한 동일한 규칙에 따라 먼저 해당 모델을 시도합니다.

385 394 

386대화형 세션에서, Claude Code는 요청된 모델과 서브에이전트가 실행되는 모델을 이름 지정하는 경고를 표시합니다. 두 대체 모두.395대화형 세션에서, Claude Code는 두 대체 중 하나에 대해 요청된 모델과 서브에이전트가 실행되는 모델을 이름 지정하는 경고를 표시합니다.

387 396 

388서브에이전트가 실행 중인 모델을 확인하려면 [`/tasks`](/docs/ko/commands)를 실행합니다. Claude Code는 서브에이전트의 행에서 모델을 이름 지정하고, 서브에이전트의 정의 또는 포크된 스킬이 [`effort`](#supported-frontmatter-fields)를 설정할 때 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 추가합니다. Claude Code v2.1.242 이상이 필요합니다.397서브에이전트가 실행 중인 모델을 확인하려면 [`/tasks`](/docs/ko/commands)를 실행하세요. Claude Code는 서브에이전트의 행에 모델을 이름 지으며, 서브에이전트의 정의 또는 포크된 스킬이 [`effort`](#supported-frontmatter-fields)를 설정할 때 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 추가합니다. Claude Code v2.1.242 이상이 필요합니다.

389 398 

390호출별 `model` 매개변수는 서브에이전트가 [재개되거나 후속 메시지를 받을](#resume-subagents) 때도 적용되므로, 서브에이전트는 해당 모델에 머물러 있습니다. v2.1.211 이전에는 재개가 호출별 값을 떨어뜨렸으며 서브에이전트는 정의의 `model` 필드로 되돌아가거나, 없으면 주 대화의 모델로 되돌아갔습니다.399호출별 `model` 매개변수는 서브에이전트가 [재개되거나 후속 메시지를 받을](#resume-subagents) 때도 적용되므로 서브에이전트는 해당 모델에 머물러 있습니다. v2.1.211 이전에는 재개가 호출별 값을 떨어뜨렸고 서브에이전트는 정의의 `model` 필드로 되돌아가거나, 없으면 주 대화의 모델로 되돌아갔습니다.

391 400 

392v2.1.198부터, 서브에이전트는 또한 주 대화의 [확장 사고](/docs/ko/model-config#extended-thinking) 구성을 상속합니다. 세션에서 사고가 켜져 있으면, 서브에이전트에서도 켜져 있으며, 꺼져 있으면 꺼져 있습니다. 서브에이전트별 사고 설정은 없습니다. v2.1.198 이전에는 서브에이전트가 주 대화의 설정과 관계없이 확장 사고가 비활성화된 상태로 실행되었습니다.401v2.1.198부터, 서브에이전트는 주 대화의 [확장 사고](/docs/ko/model-config#extended-thinking) 구성도 상속합니다. 세션에서 사고가 켜져 있으면 서브에이전트에서도 켜져 있고, 꺼져 있으면 꺼져 있습니다. 서브에이전트별 사고 설정은 없습니다. v2.1.198 이전에는 서브에이전트가 주 대화의 설정과 관계없이 확장 사고가 비활성화된 상태로 실행되었습니다.

393 402 

394<h4 id="run-every-subagent-on-one-model">403<h4 id="run-every-subagent-on-one-model">

395 모든 서브에이전트를 한 모델에서 실행404 모든 서브에이전트를 한 모델에서 실행

396</h4>405</h4>

397 406 

398`CLAUDE_CODE_SUBAGENT_MODEL`은 기본값이므로, 서브에이전트의 정의 또는 Claude가 전달하는 모델은 여전히 우선합니다. 모든 서브에이전트, [팀원](/docs/ko/agent-teams#specify-teammates-and-models), 및 [워크플로우 에이전트](/docs/ko/workflows)에 한 모델을 적용하려면, `CLAUDE_CODE_SUBAGENT_MODEL_FORCE`를 `1`로도 설정합니다. Claude Code v2.1.257 이상이 필요합니다.407`CLAUDE_CODE_SUBAGENT_MODEL`은 기본값이므로 서브에이전트의 정의 또는 Claude가 전달하는 모델은 여전히 우선합니다. 모든 서브에이전트에 한 모델을 적용하려면, [팀원](/docs/ko/agent-teams#specify-teammates-and-models) 및 [워크플로우 에이전트](/docs/ko/workflows)도 `CLAUDE_CODE_SUBAGENT_MODEL_FORCE`를 `1`로 설정하세요. Claude Code v2.1.257 이상이 필요합니다.

399 408 

400* 두 변수를 모두 설정하면, 서브에이전트는 `CLAUDE_CODE_SUBAGENT_MODEL`의 모델에서 실행됩니다.409* 두 변수를 모두 설정하면, 서브에이전트는 `CLAUDE_CODE_SUBAGENT_MODEL`의 모델에서 실행됩니다.

401* `CLAUDE_CODE_SUBAGENT_MODEL_FORCE`만 설정하면, 서브에이전트는 주 대화의 모델에서 실행됩니다.410* `CLAUDE_CODE_SUBAGENT_MODEL_FORCE`만 설정하면, 서브에이전트는 주 대화의 모델에서 실행됩니다.

402 411 

403예를 들어, 모든 서브에이전트를 Haiku에서 실행하려면, [설정 파일](/docs/ko/settings)의 `env` 블록에서 두 변수를 설정합니다:412예를 들어, 모든 서브에이전트를 Haiku에서 실행하려면 [설정 파일](/docs/ko/settings)의 `env` 블록에서 두 변수를 설정하세요:

404 413 

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

406{415{


411}420}

412```421```

413 422 

414설정이 적용되었는지 확인하려면, 서브에이전트가 실행 중일 때 [`/tasks`](/docs/ko/commands)를 실행합니다. 서브에이전트의 행은 실행되는 모델을 표시합니다.423설정이 적용되었는지 확인하려면 서브에이전트가 실행 중일 때 [`/tasks`](/docs/ko/commands)를 실행하세요. 서브에이전트의 행은 실행 중인 모델을 표시합니다.

415 424 

416`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`가 [켜져](/docs/ko/env-vars) 있는 동안, Claude Code는 모든 서브에이전트 정의의 `model` 필드를 무시합니다(기본 제공 Explore 및 Plan 서브에이전트 포함). Claude는 서브에이전트를 시작할 때 모델을 전달할 수 없습니다. 두 종류의 서브에이전트는 여전히 주 대화의 모델에서 실행됩니다:425`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`가 [켜져](/docs/ko/env-vars) 있는 동안, Claude Code는 기본 제공 Explore 및 Plan 서브에이전트를 포함한 모든 서브에이전트 정의의 `model` 필드를 무시하고, Claude는 서브에이전트를 시작할 때 모델을 전달할 수 없습니다. 두 종류의 서브에이전트는 여전히 주 대화의 모델에서 실행됩니다:

417 426 

418* [포크](#fork-the-current-conversation)427* [포크](#fork-the-current-conversation)

419* `model: inherit`를 가진 [서브에이전트에서 실행되는 스킬](/docs/ko/skills#run-skills-in-a-subagent)428* `model: inherit`를 가진 [서브에이전트에서 실행되는 스킬](/docs/ko/skills#run-skills-in-a-subagent)


424 서브에이전트 기능 제어433 서브에이전트 기능 제어

425</h3>434</h3>

426 435 

427도구 접근, 권한 모드, 및 조건부 규칙을 통해 서브에이전트가 할 수 있는 것을 제어할 수 있습니다.436도구 접근, 권한 모드, 및 조건부 규칙을 통해 서브에이전트가 할 수 있는 일을 제어할 수 있습니다.

428 437 

429<h4 id="available-tools">438<h4 id="available-tools">

430 사용 가능한 도구439 사용 가능한 도구

431</h4>440</h4>

432 441 

433서브에이전트는 주 대화에서 사용 가능한 [기본 제공 도구](/docs/ko/tools-reference)와 MCP 도구를 상속하며, 두 필터로 좁혀집니다. 첫 번째는 모든 서브에이전트에서 짧은 도구 목록을 제거하고, 두 번째는 [백그라운드](#run-subagents-in-foreground-or-background)에서 실행되는 서브에이전트(기본값)의 기본 제공 도구 세트를 줄입니다. macOS, Linux, 및 WSL에서, 주 대화가 이들을 가지지 않을 때 서브에이전트는 Glob 및 Grep 도구를 받을 수도 있습니다. [Glob 도구 동작](/docs/ko/tools-reference#glob-tool-behavior)에 설명되어 있습니다. [포크](#fork-the-current-conversation)는 두 필터를 건너뛰고 주 대화의 정확한 도구 풀을 받습니다. 첫 번째 필터는 `tools` 필드에 나열되어 있어도 이러한 도구를 제거합니다:442서브에이전트는 주 대화에서 사용 가능한 [기본 제공 도구](/docs/ko/tools-reference)와 MCP 도구를 상속하며, 두 필터로 좁혀집니다. 첫 번째는 모든 서브에이전트에서 짧은 도구 목록을 제거하고, 두 번째는 [백그라운드](#run-subagents-in-foreground-or-background)에서 실행되는 서브에이전트(기본값)의 기본 제공 도구 세트를 줄입니다. macOS, Linux, 및 WSL에서, 주 대화가 이들을 가지지 않을 때 서브에이전트는 Glob 및 Grep 도구를 받을 수도 있습니다. [Glob 도구 동작](/docs/ko/tools-reference#glob-tool-behavior) 아래에서 설명합니다. [포크](#fork-the-current-conversation)는 두 필터를 건너뛰고 주 대화의 정확한 도구 풀을 받습니다. 첫 번째 필터는 `tools` 필드에 나열되어 있어도 이러한 도구를 제거합니다:

434 443 

435* `Agent`. 서브에이전트가 [깊이 한계](#let-subagents-spawn-their-own-subagents)에 있을 때. [포크](#fork-the-current-conversation)에서 도구는 나열되지만 생성 대신 오류를 반환합니다444* `Agent`. 서브에이전트가 [깊이 한계](#let-subagents-spawn-their-own-subagents)에 있을 때. [포크](#fork-the-current-conversation)에서 도구는 나열된 상태로 유지되지만 생성 대신 오류를 반환합니다

436* `AskUserQuestion`445* `AskUserQuestion`

437* `EndConversation`. 주 대화만 끝낼 수 있습니다. [EndConversation 도구 동작](/docs/ko/tools-reference#endconversation-tool-behavior)을 참조하세요446* `EndConversation`. 주 대화만 종료할 수 있습니다. [EndConversation 도구 동작](/docs/ko/tools-reference#endconversation-tool-behavior)을 참조하세요

438* `EnterPlanMode`447* `EnterPlanMode`

439* `ExitPlanMode`. 서브에이전트의 [`permissionMode`](#permission-modes)가 `plan`이 아닌 한448* `ExitPlanMode`. 서브에이전트의 [`permissionMode`](#permission-modes)가 `plan`이 아닌 한

440* `ScheduleWakeup`449* `ScheduleWakeup`

441* `TaskOutput`

442* `WaitForMcpServers`450* `WaitForMcpServers`

443* `Workflow`451* `Workflow`

444 452 

445두 번째 필터는 백그라운드에서 실행되는 서브에이전트에 적용됩니다. `Agent`와 `ExitPlanMode`를 제외하고(이들은 서브에이전트가 실행되는 곳 어디든 첫 번째 필터의 조건을 따릅니다), 백그라운드 서브에이전트는 모든 MCP 도구를 유지하지만 이러한 기본 제공 도구만 유지합니다: `Read`, `Grep`, `Glob`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage`, 및 `Artifact`. 또한 이를 통해 보고하는 서브에이전트의 경우 [`SubagentHandoff`](/docs/ko/tools-reference). Claude Code는 백그라운드 서브에이전트에서 다른 모든 기본 제공 도구를 제거합니다. 상속되거나 `tools` 필드에 나열되어 있든 상관없이. 동일한 정의가 포그라운드와 백그라운드에서 다른 도구로 확인될 수 있습니다. 제거가 `tools` 목록을 [아무것도 확인하지 않는 것으로](/docs/ko/errors#agent-would-be-spawned-with-zero-tools) 남기지 않으면 오류를 보고하지 않습니다.453두 번째 필터는 백그라운드에서 실행되는 서브에이전트에 적용됩니다. `Agent`와 `ExitPlanMode`를 제외하고(이들은 서브에이전트가 실행되는 곳 어디든 첫 번째 필터의 조건을 따릅니다), 백그라운드 서브에이전트는 모든 MCP 도구를 유지하지만 이러한 기본 제공 도구만 유지합니다: `Read`, `Grep`, `Glob`, `LSP`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage`, 및 `Artifact`. 그리고 이를 통해 보고하는 서브에이전트의 경우 [`SubagentHandoff`](/docs/ko/tools-reference). Claude Code는 백그라운드 서브에이전트에서 다른 모든 기본 제공 도구를 제거합니다. 상속되거나 `tools` 필드에 나열되어 있든 상관없이, 제거가 `tools` 목록을 [아무것도 확인하지 않는 것으로](/docs/ko/errors#agent-would-be-spawned-with-zero-tools) 남기지 않으면 오류를 보고하지 않습니다.

454 

455v2.1.280 이전에는 백그라운드 서브에이전트가 `LSP`를 사용할 수 없었습니다.

446 456 

447[`ListAgents`](/docs/ko/cross-session-messaging)는 다른 기본 제공 도구처럼 이러한 필터를 따릅니다. 포그라운드 서브에이전트는 교차 세션 메시징이 활성화된 세션에서 이를 상속하고, 백그라운드 서브에이전트는 이를 유지하지 않습니다.457[`ListAgents`](/docs/ko/cross-session-messaging)는 다른 기본 제공 도구처럼 이러한 필터를 따릅니다. 포그라운드 서브에이전트는 세션에서 세션 간 메시징이 활성화된 경우 이를 상속하고, 백그라운드 서브에이전트는 유지하지 않습니다.

448 458 

449[에이전트 팀](/docs/ko/agent-teams)의 팀원은 추가로 작업 도구와 cron 도구를 유지합니다: `TaskCreate`, `TaskGet`, `TaskList`, `TaskUpdate`, `CronCreate`, `CronDelete`, 및 `CronList`.459[에이전트 팀](/docs/ko/agent-teams)의 팀원은 추가로 작업 도구와 cron 도구를 유지합니다: `TaskCreate`, `TaskGet`, `TaskList`, `TaskUpdate`, `CronCreate`, `CronDelete`, 및 `CronList`.

450 460 

451[Task 도구가 없는 세션](/docs/ko/tools-reference#task-tool-availability)에서, Claude Code는 서브에이전트가 다른 모델을 실행하더라도 서브에이전트에 작업 도구를 제공하지 않습니다. 프로세스 내 팀원은 세션을 따르는 동일한 방식이며, [분할 창](/docs/ko/agent-teams#choose-a-display-mode)의 팀원은 별도의 Claude Code 프로세스로 실행되므로 자체 모델이 결정합니다.461[작업 도구가 없는 세션](/docs/ko/tools-reference#task-tool-availability)에서, Claude Code는 서브에이전트가 다른 모델을 실행하더라도 서브에이전트에 작업 도구를 제공하지 않습니다. 프로세스 내 팀원은 세션을 따르는 동일한 방식이며, [분할 창](/docs/ko/agent-teams#choose-a-display-mode)에서 자신의 팀원은 별도의 Claude Code 프로세스로 실행되므로 자신의 모델이 결정합니다.

452 462 

453도구를 제한하려면 `tools` 필드를 허용 목록으로 또는 `disallowedTools` 필드를 거부 목록으로 사용합니다. 이 예제는 `tools`를 사용하여 Read, Grep, Glob, 및 Bash만 허용합니다. 서브에이전트는 파일을 편집하거나 쓸 수 없으며 MCP 도구를 사용할 수 없습니다:463도구를 제한하려면 `tools` 필드를 허용 목록으로 또는 `disallowedTools` 필드를 거부 목록으로 사용하세요. 이 예제는 `tools`를 사용하여 Read, Grep, Glob, 및 Bash만 허용합니다. 서브에이전트는 파일을 편집하거나, 파일을 작성하거나, MCP 도구를 사용할 수 없습니다:

454 464 

455```yaml theme={null}465```yaml theme={null}

456---466---


460---470---

461```471```

462 472 

463이 예제는 `disallowedTools`를 사용하여 Write 및 Edit를 제외한 서브에이전트의 도구 풀을 상속합니다. 서브에이전트는 Bash, MCP 도구, 및 나머지 풀을 유지합니다:473이 예제는 `disallowedTools`를 사용하여 Write와 Edit를 제외한 서브에이전트의 도구 풀을 상속합니다. 서브에이전트는 Bash, MCP 도구, 및 풀의 나머지를 유지합니다:

464 474 

465```yaml theme={null}475```yaml theme={null}

466---476---


470---480---

471```481```

472 482 

473둘 다 설정되면, `disallowedTools`가 먼저 적용되고, `tools`가 남은 풀에 대해 확인됩니다. 둘 다에 나열된 도구는 제거됩니다.483둘 다 설정되면, `disallowedTools`가 먼저 적용되고, `tools`는 남은 풀에 대해 확인됩니다. 둘 다에 나열된 도구는 제거됩니다.

474 484 

475`tools` 목록의 아무것도 도구로 확인되지 않을 때(예: 모든 항목이 철자가 틀렸거나 서브에이전트가 사용할 수 없는 도구를 이름 지을 때), Claude Code는 일반적으로 서브에이전트를 시작하기를 거부하고 Agent 도구는 확인되지 않은 항목을 이름 지정하는 오류를 반환합니다. [Agent would be spawned with zero tools](/docs/ko/errors#agent-would-be-spawned-with-zero-tools)를 참조하여 메시지와 각 항목을 수정하는 방법을 확인하세요. v2.1.208 이전에는 해당 서브에이전트가 도구 없이 시작되었으며 빈 또는 혼란스러운 결과를 반환할 수 있었습니다.485`tools` 목록의 아무것도 도구로 확인되지 않을 때(예: 모든 항목이 철자가 틀렸거나 서브에이전트가 사용할 수 없는 도구를 이름 지을 때), Claude Code는 일반적으로 서브에이전트 시작을 거부하고 Agent 도구는 확인되지 않은 항목을 이름 지정하는 오류를 반환합니다. [에이전트가 0개 도구로 생성될 것입니다](/docs/ko/errors#agent-would-be-spawned-with-zero-tools)를 참조하여 메시지와 각 항목을 수정하는 방법을 확인하세요. v2.1.208 이전에는 해당 서브에이전트가 도구 없이 시작되고 빈 또는 혼란스러운 결과를 반환할 수 있었습니다.

476 486 

477두 필드 모두 정확한 도구 이름 외에도 MCP 서버 수준 패턴을 허용합니다: `mcp__<server>` 또는 `mcp__<server>__*`는 명명된 서버의 모든 도구를 부여하거나 제거합니다. `disallowedTools`에서 `mcp__*`는 모든 서버의 모든 MCP 도구를 제거합니다. 이 예제는 `github` MCP 서버의 모든 도구를 제거하면서 다른 서버의 도구와 풀의 기본 제공 도구를 유지합니다:487두 필드는 정확한 도구 이름 외에도 MCP 서버 수준 패턴을 허용합니다: `mcp__<server>` 또는 `mcp__<server>__*`는 이름이 지정된 서버의 모든 도구를 부여하거나 제거합니다. `disallowedTools`에서 `mcp__*`는 모든 서버의 모든 MCP 도구를 제거합니다. 이 예제는 `github` MCP 서버의 모든 도구를 제거하면서 다른 서버의 도구와 풀의 기본 제공 도구를 유지합니다:

478 488 

479```yaml theme={null}489```yaml theme={null}

480---490---


484---494---

485```495```

486 496 

487`disallowedTools` 항목이 `Bash(git push *)`와 같은 지정자를 가지면, 여전히 일치하는 명령만이 아닌 전체 도구를 서브에이전트에서 제거합니다. Bash를 유지하고 특정 명령을 차단하려면, 설정의 [`permissions.deny`](/docs/ko/permissions#bash)에 `Bash(git push *)`와 같은 [Bash 거부 규칙](/docs/ko/permissions#bash)을 추가합니다. 규칙은 주 대화와 서브에이전트에 적용됩니다.497`Bash(git push *)`와 같은 지정자가 있는 `disallowedTools` 항목은 여전히 서브에이전트에서 전체 도구를 제거하며, 일치하는 명령만 제거하지 않습니다. Bash를 유지하고 특정 명령을 차단하려면, 설정의 `permissions.deny`에 `Bash(git push *)`와 같은 [Bash 거부 규칙](/docs/ko/permissions#bash)을 추가하세요. 규칙은 주 대화와 서브에이전트에 적용됩니다.

488 498 

489<h4 id="restrict-which-subagents-can-be-spawned">499<h4 id="restrict-which-subagents-can-be-spawned">

490 생성할 수 있는 서브에이전트 제한500 생성할 수 있는 서브에이전트 제한

491</h4>501</h4>

492 502 

493에이전트가 `claude --agent`로 주 스레드로 실행될 때, Agent 도구를 사용하여 서브에이전트를 생성할 수 있습니다. 생성할 수 있는 서브에이전트 유형을 제한하려면, `tools` 필드에서 `Agent(agent_type)` 구문을 사용합니다.503에이전트가 `claude --agent`로 주 스레드로 실행될 때, Agent 도구를 사용하여 서브에이전트를 생성할 수 있습니다. 생성할 수 있는 서브에이전트 유형을 제한하려면 `tools` 필드에서 `Agent(agent_type)` 구문을 사용하세요.

494 504 

495<Note>버전 2.1.63에서 Task 도구는 Agent로 이름이 변경되었습니다. 설정 및 에이전트 정의의 기존 `Task(...)` 참조는 여전히 별칭으로 작동합니다.</Note>505<Note>버전 2.1.63에서 Task 도구는 Agent로 이름이 바뀌었습니다. 설정 및 에이전트 정의의 기존 `Task(...)` 참조는 여전히 별칭으로 작동합니다.</Note>

496 506 

497```yaml theme={null}507```yaml theme={null}

498---508---


502---512---

503```513```

504 514 

505이것은 허용 목록입니다. `worker` 및 `researcher` 서브에이전트만 생성될 수 있습니다. 에이전트가 다른 유형을 생성하려고 하면, 요청이 실패하고 에이전트는 프롬프트에서 허용된 유형만 봅니다. 특정 에이전트를 차단하면서 다른 모든 에이전트를 허용하려면, 대신 [`permissions.deny`](#disable-specific-subagents)를 사용합니다.515이것은 허용 목록입니다. `worker`와 `researcher` 서브에이전트만 생성할 수 있습니다. 에이전트가 다른 유형을 생성하려고 하면 요청이 실패하고 에이전트는 프롬프트에서 허용된 유형만 봅니다. 특정 에이전트를 차단하면서 다른 모든 에이전트를 허용하려면 [`permissions.deny`](#disable-specific-subagents)를 대신 사용하세요.

506 516 

507제한 없이 모든 서브에이전트를 생성하도록 허용하려면, 괄호 없이 `Agent`를 사용합니다:517제한 없이 모든 서브에이전트 생성을 허용하려면 괄호 없이 `Agent`를 사용하세요:

508 518 

509```yaml theme={null}519```yaml theme={null}

510tools: Agent, Read, Bash520tools: Agent, Read, Bash


512 522 

513`tools` 목록에서 `Agent`를 완전히 생략하면, 에이전트는 Agent 도구로 서브에이전트를 생성할 수 없습니다.523`tools` 목록에서 `Agent`를 완전히 생략하면, 에이전트는 Agent 도구로 서브에이전트를 생성할 수 없습니다.

514 524 

515`Agent(agent_type)` 허용 목록 구문은 `claude --agent`로 주 스레드로 실행되는 에이전트에만 적용됩니다. 서브에이전트 정의에서, `tools`에 `Agent`를 나열하면 해당 서브에이전트가 [깊이 한계](#let-subagents-spawn-their-own-subagents)가 허용하는 동안 자체 서브에이전트를 생성할 수 있지만, 괄호 내의 모든 유형 목록은 무시됩니다.525`Agent(agent_type)` 허용 목록 구문은 `claude --agent`로 주 스레드로 실행되는 에이전트에만 적용됩니다. 서브에이전트 정의에서 `tools`에 `Agent`를 나열하면 해당 서브에이전트가 [깊이 한계](#let-subagents-spawn-their-own-subagents)가 허용하는 동안 자신의 서브에이전트를 생성할 수 있지만, 괄호 내의 모든 유형 목록은 무시됩니다.

516 526 

517<h4 id="scope-mcp-servers-to-a-subagent">527<h4 id="scope-mcp-servers-to-a-subagent">

518 서브에이전트에 MCP 서버 범위 지정528 MCP 서버를 서브에이전트로 범위 지정

519</h4>529</h4>

520 530 

521`mcpServers` 필드를 사용하여 주 대화에서 사용 가능하지 않은 [MCP](/docs/ko/mcp) 서버에 대한 접근을 서브에이전트에 제공합니다. 여기에 정의된 인라인 서버는 서브에이전트가 시작될 때 연결되며, [에이전트 파일의 폴더에 대한 신뢰 규칙](#inline-server-trust)의 대상이 되고, 완료될 때 연결이 끊깁니다. 문자열 참조는 부모 세션의 연결을 공유합니다.531`mcpServers` 필드를 사용하여 주 대화에서 사용할 수 없는 [MCP](/docs/ko/mcp) 서버에 대한 접근을 서브에이전트에 제공합니다. 여기에 정의된 인라인 서버는 서브에이전트가 시작될 때 연결되며, [에이전트 파일의 폴더에 대한 신뢰 규칙](#inline-server-trust)의 적용을 받고, 완료될 때 연결이 끊깁니다. 문자열 참조는 부모 세션의 연결을 공유합니다.

522 532 

523<Note>533<Note>

524 `mcpServers` 필드는 에이전트 파일이 실행될 수 있는 두 컨텍스트에 적용됩니다:534 `mcpServers` 필드는 에이전트 파일이 실행될 수 있는 두 컨텍스트에 적용됩니다:


526 * Agent 도구 또는 @-멘션을 통해 생성된 서브에이전트536 * Agent 도구 또는 @-멘션을 통해 생성된 서브에이전트

527 * [`--agent`](#invoke-subagents-explicitly) 또는 `agent` 설정으로 시작된 주 세션537 * [`--agent`](#invoke-subagents-explicitly) 또는 `agent` 설정으로 시작된 주 세션

528 538 

529 에이전트가 주 세션일 때, 인라인 서버 정의는 [`.mcp.json`](/docs/ko/mcp)과 설정 파일의 서버와 함께 시작 시 연결되며, [에이전트 파일의 폴더에 대한 신뢰 규칙](#inline-server-trust) 아래에서. `/mcp`에서, 이전에 사용한 원격(HTTP 또는 SSE) 서버는 [`cached` 상태](/docs/ko/mcp#managing-your-servers) 대신 표시될 수 있습니다. Claude Code는 Claude가 처음 도구 중 하나를 호출할 때 연결합니다.539 에이전트가 주 세션일 때, 인라인 서버 정의는 [`.mcp.json`](/docs/ko/mcp)과 설정 파일의 서버와 함께 시작 시 연결되며, [에이전트 파일의 폴더에 대한 신뢰 규칙](#inline-server-trust)과 동일합니다. `/mcp`에서, 이전에 사용한 원격(HTTP 또는 SSE) 서버는 [`cached` 상태](/docs/ko/mcp#managing-your-servers) 대신 표시될 수 있습니다. Claude Code는 Claude가 처음 도구 중 하나를 호출할 때 연결합니다.

530</Note>540</Note>

531 541 

532목록의 각 항목은 인라인 서버 정의 또는 세션에서 이미 구성된 MCP 서버를 참조하는 문자열입니다:542목록의 각 항목은 인라인 서버 정의 또는 세션에서 이미 구성된 MCP 서버를 참조하는 문자열입니다:


550 560 

551인라인 정의는 `.mcp.json` 서버 항목과 동일한 스키마를 사용하며, 서버 이름으로 키 지정되고, `stdio`, `http`, `sse`, 및 `ws` 유형을 지원합니다.561인라인 정의는 `.mcp.json` 서버 항목과 동일한 스키마를 사용하며, 서버 이름으로 키 지정되고, `stdio`, `http`, `sse`, 및 `ws` 유형을 지원합니다.

552 562 

553MCP 서버를 주 대화에서 완전히 제외하고 도구 설명이 컨텍스트를 소비하는 것을 피하려면, `.mcp.json`이 아닌 여기에 인라인으로 정의합니다. 서브에이전트는 도구를 받습니다. 부모 대화는 받지 않습니다.563MCP 서버를 주 대화에서 완전히 제외하고 도구 설명이 컨텍스트를 소비하는 것을 피하려면, `.mcp.json`이 아닌 여기에 인라인으로 정의하세요. 서브에이전트는 도구를 얻습니다. 부모 대화는 그렇지 않습니다.

554 564 

555<span id="inline-server-trust" />Claude Code는 프로젝트의 `.claude/agents/` 디렉토리 또는 `--add-dir` 디렉토리의 `.claude/agents/`에 있는 에이전트 파일에서 인라인 서버를 로드합니다. 에이전트 파일이 나온 폴더를 [신뢰](/docs/ko/permissions#what-runs-before-you-trust-a-folder)한 후에만. v2.1.238 이전에는 Claude Code가 신뢰를 확인하지 않고 이러한 서버를 로드했습니다.565<span id="inline-server-trust" />Claude Code는 프로젝트의 `.claude/agents/` 디렉토리 또는 `--add-dir` 디렉토리의 `.claude/agents/`에 있는 에이전트 파일에서 인라인 서버를 로드합니다. 에이전트 파일이 나온 폴더를 [신뢰](/docs/ko/permissions#what-runs-before-you-trust-a-folder)한 후에만 가능합니다. v2.1.238 이전에는 Claude Code가 신뢰를 확인하지 않고 이러한 서버를 로드했습니다.

556 566 

557* **신뢰하지 않는 것**: 부모 폴더의 신뢰, 및 `-p` 또는 SDK 세션이 [설정 파일의 훅](/docs/ko/permissions#what-runs-before-you-trust-a-folder)에 대해 받는 자동 신뢰567* **신뢰하지 않는 것**: 부모 폴더의 신뢰, 및 `-p` 또는 SDK 세션이 [설정 파일의 훅](/docs/ko/permissions#what-runs-before-you-trust-a-folder)에 대해 얻는 자동 신뢰

558* **그때까지**: Claude Code는 해당 에이전트 파일의 모든 인라인 서버를 건너뛰고 `~/.claude.json`에 대한 정확한 `projects["<path>"].hasTrustDialogAccepted` 키를 디버그 로그에 씁니다568* **그때까지**: Claude Code는 해당 에이전트 파일의 모든 인라인 서버를 건너뛰고 `~/.claude.json`에 대한 정확한 `projects["<path>"].hasTrustDialogAccepted` 키를 디버그 로그에 씁니다

559* **`--add-dir` 디렉토리**: 신뢰된 작업 공간의 저장소 외부의 디렉토리는 자체 신뢰 항목이 필요합니다. 해당 `.claude/agents/` 파일이 작업 공간의 신뢰를 상속하지 않기 때문입니다569* **`--add-dir` 디렉토리**: 신뢰된 작업 공간의 저장소 외부의 디렉토리는 자신의 신뢰 항목이 필요합니다. 작업 공간의 신뢰를 상속하지 않기 때문입니다

560 570 

561Claude Code는 에이전트 파일이 나온 폴더에 대한 신뢰를 확인하지 않고 두 종류의 서버를 로드합니다:571Claude Code는 에이전트 파일이 나온 폴더에 대한 신뢰를 확인하지 않고 두 종류의 서버를 로드합니다:

562 572 


577 권한 모드587 권한 모드

578</h4>588</h4>

579 589 

580`permissionMode`를 설정하여 서브에이전트가 실행되는 권한 모드를 선택합니다. 모드의 구성 값을 사용하므로 Manual 모드는 `default`입니다. 설정하지 않으면, 서브에이전트는 주 대화의 모드를 상속합니다. 이는 Pro, Max, 및 Team 플랜에서 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)로 시작하며, 설정 또는 조직이 변경하지 않는 한.590`permissionMode`를 설정하여 서브에이전트가 실행되는 권한 모드를 선택합니다. 모드의 구성 값을 사용하므로 수동 모드는 `default`입니다. 설정하지 않으면, 서브에이전트는 주 대화의 모드를 상속합니다. 주 대화의 모드는 Pro, Max, 및 Team 플랜에서 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)로 시작하거나, 설정 또는 조직이 변경하지 않으면 시작합니다.

581 591 

582주 대화의 권한 모드는 Claude Code가 설정한 값을 사용하는지 결정합니다:592주 대화의 권한 모드는 Claude Code가 설정한 값을 사용하는지 결정합니다:

583 593 

584* 주 대화가 `bypassPermissions`, `acceptEdits`, 또는 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에 있을 때, 서브에이전트는 동일한 모드에서 실행되고 Claude Code는 설정한 `permissionMode`를 무시합니다. 자동 모드에서, 분류기는 주 대화의 차단 및 허용 규칙으로 서브에이전트의 도구 호출을 평가합니다. 서브에이전트가 완료되면, 분류기는 또한 보고서가 전달되기 전에 작업과 최종 보고서를 검토합니다. [자동 모드가 서브에이전트를 처리하는 방법](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)을 참조하세요.594* 주 대화가 `bypassPermissions`, `acceptEdits`, 또는 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에 있을 때, 서브에이전트는 동일한 모드에서 실행되고 Claude Code는 설정한 `permissionMode`를 무시합니다. 자동 모드에서, 분류자는 주 대화의 차단 및 허용 규칙으로 서브에이전트의 도구 호출을 평가합니다. 서브에이전트가 완료되면, 분류자는 보고서가 전달되기 전에 작업과 최종 보고서도 검토합니다. [자동 모드가 서브에이전트를 처리하는 방법](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)을 참조하세요.

585* 주 대화가 `default`, `dontAsk`, 또는 `plan` 모드에 있을 때, 서브에이전트는 설정한 권한 모드에서 실행됩니다. `bypassPermissions` 제외. `bypassPermissions`를 선언하는 서브에이전트는 주 대화의 모드를 대신 유지합니다. `bypassPermissions` 예외는 Claude Code v2.1.267 이상이 필요합니다.595* 주 대화가 `default`, `dontAsk`, 또는 `plan` 모드에 있을 때, 서브에이전트는 설정한 권한 모드에서 실행됩니다. `bypassPermissions` 제외. `bypassPermissions`를 선언하는 서브에이전트는 주 대화의 모드를 대신 유지합니다. `bypassPermissions` 예외는 Claude Code v2.1.267 이상이 필요합니다.

586 596 

587`permissionMode`는 이러한 값을 허용하며, `default`의 별칭으로 `manual`을 허용합니다:597`permissionMode`는 이러한 값을 허용하며, `manual`을 `default`의 별칭으로 허용합니다:

588 598 

589| 모드 | 동작 |599| 모드 | 동작 |

590| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |600| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

591| `default` | Manual 모드: 권한 프롬프트 |601| `default` | 수동 모드: 권한 프롬프트 |

592| `acceptEdits` | 자동 수락 파일 편집 및 작업 디렉토리 또는 `additionalDirectories`의 경로에 대한 일반적인 파일 시스템 명령 |602| `acceptEdits` | 자동 수락 파일 편집 및 작업 디렉토리 또는 `additionalDirectories`의 경로에 대한 일반적인 파일시스템 명령 |

593| `auto` | [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode): 백그라운드 분류기가 명령 및 보호된 디렉토리 쓰기를 검토합니다 |603| `auto` | [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode): 백그라운드 분류자가 명령 및 보호된 디렉토리 쓰기를 검토합니다 |

594| `dontAsk` | 자동 거부 권한 프롬프트. 명시적으로 허용된 도구는 여전히 작동합니다. `AskUserQuestion`, [`requiresUserInteraction`](/docs/ko/mcp#require-approval-for-a-specific-tool)으로 표시된 MCP 도구, 및 조직이 해당 설정이 Claude Code에 도달하는 세션에서 `ask`로 설정한 커넥터 도구는 허용했어도 거부됩니다 |604| `dontAsk` | 자동 거부 권한 프롬프트. 명시적으로 허용된 도구는 여전히 작동합니다. `AskUserQuestion`, [`requiresUserInteraction`](/docs/ko/mcp#require-approval-for-a-specific-tool)으로 표시된 MCP 도구, 및 조직이 설정한 커넥터 도구 [`ask`](/docs/ko/mcp#organization-controls-on-connector-tools)는 설정이 Claude Code에 도달하는 세션에서 허용되었더라도 거부됩니다 |

595| `bypassPermissions` | [권한 프롬프트 건너뛰기](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode). 서브에이전트는 주 대화가 할 때만 이 모드에서 실행됩니다 |605| `bypassPermissions` | [권한 프롬프트 건너뛰기](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode). 서브에이전트는 주 대화도 이 모드에 있을 때만 이 모드에서 실행됩니다 |

596| `plan` | Plan 모드(읽기 전용 탐색) |606| `plan` | 계획 모드(읽기 전용 탐색) |

597 607 

598<h4 id="preload-skills-into-subagents">608<h4 id="preload-skills-into-subagents">

599 서브에이전트에 스킬 미리 로드609 서브에이전트에 스킬 미리 로드


613Implement API endpoints. Follow the conventions and patterns from the preloaded skills.623Implement API endpoints. Follow the conventions and patterns from the preloaded skills.

614```624```

615 625 

616나열된 각 스킬의 전체 내용이 시작 시 서브에이전트의 컨텍스트에 주입됩니다. 이 필드는 서브에이전트가 미리 로드할 스킬을 제어합니다. 서브에이전트가 접근할 수 있는 스킬이 아닙니다. 없으면, 서브에이전트는 여전히 실행 중에 Skill 도구를 통해 프로젝트, 사용자, 및 플러그인 스킬을 발견하고 호출할 수 있습니다. 서브에이전트가 스킬을 완전히 호출하는 것을 방지하려면, [`tools`](#available-tools) 목록에서 `Skill`을 생략하거나 `disallowedTools`에 추가합니다.626나열된 각 스킬의 전체 내용은 시작 시 서브에이전트의 컨텍스트에 주입됩니다. 이 필드는 서브에이전트가 실행 중에 발견하고 호출할 수 있는 스킬을 제어하지 않습니다. 이 필드는 미리 로드할 스킬을 제어합니다. 이 필드 없이, 서브에이전트는 여전히 실행 중에 스킬 도구를 통해 프로젝트, 사용자, 및 플러그인 스킬을 발견하고 호출할 수 있습니다. 서브에이전트가 스킬을 완전히 호출하지 못하도록 하려면, [`tools`](#available-tools) 목록에서 `Skill`을 생략하거나 `disallowedTools`에 추가하세요.

617 627 

618[`disable-model-invocation: true`](/docs/ko/skills#control-who-invokes-a-skill)를 설정하는 스킬은 미리 로드할 수 없습니다. 미리 로드는 Claude가 호출할 수 있는 동일한 스킬 세트에서 그리기 때문입니다. 여기에는 번들된 `/verify` 스킬이 포함됩니다. 오직 사용자만 실행할 수 있으므로 미리 로드될 수 없습니다.628[`disable-model-invocation: true`](/docs/ko/skills#control-who-invokes-a-skill)를 설정하는 스킬은 미리 로드할 수 없습니다. 미리 로드는 Claude가 호출할 수 있는 동일한 스킬 세트에서 그리기 때문입니다. 여기에는 번들된 `/verify` 스킬이 포함됩니다. 오직 사용자만 실행할 수 있으므로 미리 로드할 수 없습니다.

619 629 

620나열된 스킬이 누락되거나 비활성화되면(예: 조직의 정책에 의해), Claude Code는 건너뛰고 디버그 로그에 경고를 기록합니다.630나열된 스킬이 누락되거나 비활성화되면(예: 조직의 정책에 의해), Claude Code는 건너뛰고 디버그 로그에 경고를 기록합니다.

621 631 


627 지속적 메모리 활성화637 지속적 메모리 활성화

628</h4>638</h4>

629 639 

630`memory` 필드는 서브에이전트에 대화 간에 지속되는 지속적 디렉토리를 제공합니다. 서브에이전트는 이 디렉토리를 사용하여 시간이 지남에 따라 지식을 구축합니다. 예를 들어 코드베이스 패턴, 디버깅 통찰력, 및 아키텍처 결정.640`memory` 필드는 서브에이전트에 대화 간에 지속되는 지속적 디렉토리를 제공합니다. 서브에이전트는 이 디렉토리를 사용하여 시간이 지남에 따라 지식을 구축합니다. 예를 들어 코드베이스 패턴, 디버깅 통찰력, 및 아키텍처 결정입니다.

631 641 

632```yaml theme={null}642```yaml theme={null}

633---643---


648| `project` | `.claude/agent-memory/<name-of-agent>/` | 서브에이전트의 지식이 프로젝트 특정이고 버전 관리를 통해 공유 가능할 때 |658| `project` | `.claude/agent-memory/<name-of-agent>/` | 서브에이전트의 지식이 프로젝트 특정이고 버전 관리를 통해 공유 가능할 때 |

649| `local` | `.claude/agent-memory-local/<name-of-agent>/` | 서브에이전트의 지식이 프로젝트 특정이지만 버전 관리에 체크인되지 않아야 할 때 |659| `local` | `.claude/agent-memory-local/<name-of-agent>/` | 서브에이전트의 지식이 프로젝트 특정이지만 버전 관리에 체크인되지 않아야 할 때 |

650 660 

651서브에이전트 메모리는 [자동 메모리](/docs/ko/memory#auto-memory)의 일부입니다. 자동 메모리를 끄면(예: `autoMemoryEnabled` 설정 또는 `CLAUDE_CODE_DISABLE_AUTO_MEMORY`), `memory` 필드는 효과가 없으며 서브에이전트는 메모리 지침 또는 아래에 설명된 메모리 도구 접근 없이 시작됩니다.661서브에이전트 메모리는 [자동 메모리](/docs/ko/memory#auto-memory)의 일부입니다. `autoMemoryEnabled` 설정 또는 `CLAUDE_CODE_DISABLE_AUTO_MEMORY`로 자동 메모리를 끄면, `memory` 필드는 효과가 없고 서브에이전트는 메모리 지침 또는 아래에서 설명한 메모리 도구 접근 없이 시작됩니다.

652 662 

653메모리가 활성화되면:663메모리가 활성화되면:

654 664 

655* 서브에이전트의 시스템 프롬프트는 메모리 디렉토리 읽기 및 쓰기 지침을 포함합니다.665* 서브에이전트의 시스템 프롬프트는 메모리 디렉토리에 읽고 쓰기 위한 지침을 포함합니다.

656* 서브에이전트의 시스템 프롬프트는 또한 메모리 디렉토리의 `MEMORY.md`의 첫 200줄 또는 25KB(둘 중 먼저 오는 것)를 포함하며, 초과하면 `MEMORY.md`를 큐레이션하도록 지침을 포함합니다.666* 서브에이전트의 시스템 프롬프트는 또한 메모리 디렉토리의 `MEMORY.md`의 첫 200줄 또는 25KB(둘 중 먼저 오는 것)를 포함하며, 초과하면 `MEMORY.md`를 큐레이션하기 위한 지침을 포함합니다.

657* Read, Write, 및 Edit 도구는 자동으로 활성화되어 서브에이전트가 메모리 파일을 관리할 수 있습니다.667* Read, Write, 및 Edit 도구는 자동으로 활성화되어 서브에이전트가 메모리 파일을 관리할 수 있습니다.

658 668 

659<h5 id="persistent-memory-tips">669<h5 id="persistent-memory-tips">

660 지속적 메모리 팁670 지속적 메모리 팁

661</h5>671</h5>

662 672 

663* `project`는 권장 기본 범위입니다. 서브에이전트 지식을 버전 관리를 통해 공유 가능하게 만듭니다.673* `project`는 권장되는 기본 범위입니다. 서브에이전트 지식을 버전 관리를 통해 공유 가능하게 만듭니다.

664* 서브에이전트에 작업을 시작하기 전에 메모리를 확인하도록 요청합니다: "이 PR을 검토하고 이전에 본 패턴에 대해 메모리를 확인합니다."674* 서브에이전트에 작업을 시작하기 전에 메모리를 확인하도록 요청하세요: "이 PR을 검토하고 이전에 본 패턴에 대해 메모리를 확인하세요."

665* 작업을 완료한 후 메모리를 업데이트하도록 서브에이전트에 요청합니다: "이제 완료했으므로, 배운 것을 메모리에 저장합니다." 시간이 지남에 따라, 이는 서브에이전트를 더 효과적으로 만드는 지식 기반을 구축합니다.675* 작업을 완료한 후 메모리를 업데이트하도록 서브에이전트에 요청하세요: "이제 완료했으니, 배운 것을 메모리에 저장하세요." 시간이 지남에 따라 이는 서브에이전트를 더 효과적으로 만드는 지식 기반을 구축합니다.

666* 메모리 지침을 서브에이전트의 마크다운 파일에 직접 포함하여 자신의 지식 기반을 적극적으로 유지하도록 합니다:676* 메모리 지침을 서브에이전트의 마크다운 파일에 직접 포함하여 자신의 지식 기반을 적극적으로 유지하도록 합니다:

667 677 

668 ```markdown theme={null}678 ```markdown theme={null}


676 훅을 사용한 조건부 규칙686 훅을 사용한 조건부 규칙

677</h4>687</h4>

678 688 

679도구 사용을 더 동적으로 제어하려면, `PreToolUse` 훅을 사용하여 실행 전에 작업을 검증합니다. 도구의 일부 작업을 허용하면서 다른 작업을 차단해야 할 때 유용합니다.689도구 사용을 더 동적으로 제어하려면 `PreToolUse` 훅을 사용하여 실행 전에 작업을 검증합니다. 도구의 일부 작업을 허용하면서 다른 작업을 차단해야 할 때 유용합니다.

680 690 

681이 예제는 읽기 전용 데이터베이스 쿼리만 허용하는 서브에이전트를 생성합니다. `PreToolUse` 훅은 각 Bash 명령이 실행되기 전에 `command`에 지정된 스크립트를 실행합니다:691이 예제는 읽기 전용 데이터베이스 쿼리만 허용하는 서브에이전트를 생성합니다. `PreToolUse` 훅은 각 Bash 명령이 실행되기 전에 `command`에 지정된 스크립트를 실행합니다:

682 692 


712exit 0722exit 0

713```723```

714 724 

715macOS 및 Linux에서, 스크립트를 실행 가능하게 만들거나, 훅이 아무것도 차단하는 대신 실패합니다:725macOS 및 Linux에서 스크립트를 실행 가능하게 만들거나, 훅이 실패하고 아무것도 차단하지 않습니다:

716 726 

717```bash theme={null}727```bash theme={null}

718chmod +x ./scripts/validate-readonly-query.sh728chmod +x ./scripts/validate-readonly-query.sh

719```729```

720 730 

721규칙을 테스트하려면, 서브에이전트에 `UPDATE` 문을 실행하도록 요청합니다. 스크립트는 코드 2로 종료하고, Claude Code는 명령을 차단하고, 서브에이전트는 `Blocked: Only SELECT queries are allowed` 메시지를 봅니다.731규칙을 테스트하려면 서브에이전트에 `UPDATE` 문을 실행하도록 요청하세요. 스크립트는 코드 2로 종료되고, Claude Code는 명령을 차단하고, 서브에이전트는 `Blocked: Only SELECT queries are allowed` 메시지를 봅니다.

722 732 

723[훅 입력](/docs/ko/hooks#pretooluse-input)의 전체 입력 스키마와 [종료 코드](/docs/ko/hooks#exit-code-output)를 참조하여 종료 코드가 동작에 미치는 영향을 확인하세요. Windows에서, PowerShell에서 훅 스크립트를 작성하고 [PowerShell에서 훅 실행](/docs/ko/hooks#windows-powershell-tool)에 표시된 대로 훅 항목에 `shell: powershell`을 추가합니다.733[훅 입력](/docs/ko/hooks#pretooluse-input)에 대한 전체 입력 스키마와 [종료 코드](/docs/ko/hooks#exit-code-output)를 참조하여 종료 코드가 동작에 미치는 영향을 확인하세요. Windows에서 PowerShell로 훅 스크립트를 작성하고 [PowerShell에서 훅 실행](/docs/ko/hooks#windows-powershell-tool)에 표시된 대로 훅 항목에 `shell: powershell`을 추가하세요.

724 734 

725<h4 id="disable-specific-subagents">735<h4 id="disable-specific-subagents">

726 특정 서브에이전트 비활성화736 특정 서브에이전트 비활성화

727</h4>737</h4>

728 738 

729[설정](/docs/ko/settings-reference#permission-settings)의 `deny` 배열에 추가하여 Claude가 특정 서브에이전트를 사용하는 것을 방지할 수 있습니다. `Agent(subagent-name)` 형식을 사용합니다. 여기서 `subagent-name`은 서브에이전트의 name 필드와 일치합니다.739[설정](/docs/ko/settings-reference#permission-settings)의 `deny` 배열에 추가하여 Claude가 특정 서브에이전트를 사용하지 못하도록 할 수 있습니다. `Agent(subagent-name)` 형식을 사용합니다. 여기서 `subagent-name`은 서브에이전트의 name 필드와 일치합니다.

730 740 

731```json theme={null}741```json theme={null}

732{742{


736}746}

737```747```

738 748 

739이것은 기본 제공 및 사용자 정의 서브에이전트 모두에 작동합니다. `--disallowedTools` CLI 플래그를 사용할 수도 있습니다:749이는 기본 제공 및 사용자 정의 서브에이전트 모두에 작동합니다. `--disallowedTools` CLI 플래그를 사용할 수도 있습니다:

740 750 

741```bash theme={null}751```bash theme={null}

742claude --disallowedTools "Agent(Explore)"752claude --disallowedTools "Agent(Explore)"

743```753```

744 754 

745권한 규칙에 대한 자세한 내용은 [권한 문서](/docs/ko/permissions#tool-specific-permission-rules)를 참조하세요.755[권한 문서](/docs/ko/permissions#tool-specific-permission-rules)에서 권한 규칙에 대한 자세한 내용을 참조하세요.

746 756 

747<h3 id="define-hooks-for-subagents">757<h3 id="define-hooks-for-subagents">

748 서브에이전트에 대한 훅 정의758 서브에이전트에 대한 훅 정의


751서브에이전트는 서브에이전트의 라이프사이클 중에 실행되는 [훅](/docs/ko/hooks)을 정의할 수 있습니다. 훅을 구성하는 두 가지 방법이 있습니다:761서브에이전트는 서브에이전트의 라이프사이클 중에 실행되는 [훅](/docs/ko/hooks)을 정의할 수 있습니다. 훅을 구성하는 두 가지 방법이 있습니다:

752 762 

753* **서브에이전트의 프론트매터에서**: 해당 서브에이전트가 활성화된 동안만 실행되는 훅을 정의합니다763* **서브에이전트의 프론트매터에서**: 해당 서브에이전트가 활성화된 동안만 실행되는 훅을 정의합니다

754* **`settings.json`에서**: 서브에이전트 내에서도 발생하는 세션 전체 훅을 정의합니다. `PreToolUse` 및 `PostToolUse`와 같은 도구 이벤트는 주 대화에서와 동일한 방식으로 서브에이전트의 도구 호출에 대해 발생하며, `SubagentStart` 및 `SubagentStop`은 서브에이전트가 시작하거나 완료될 때 발생합니다764* **`settings.json`에서**: 서브에이전트 내에서도 발생하는 세션 전체 훅을 정의합니다. `PreToolUse`와 `PostToolUse`와 같은 도구 이벤트는 주 대화에서와 동일한 방식으로 서브에이전트의 도구 호출에 대해 발생하고, `SubagentStart`와 `SubagentStop`은 서브에이전트가 시작되거나 완료될 때 발생합니다

755 765 

756[설정 파일, 관리 정책 설정, 및 플러그인](/docs/ko/hooks#hook-locations)의 훅은 모두 서브에이전트 내에서 적용되므로, `settings.json`의 `PreToolUse` 훅은 서브에이전트가 사용하는 모든 도구 전에도 실행됩니다.766[설정 파일, 관리 정책 설정, 및 플러그인](/docs/ko/hooks#hook-locations)의 훅은 모두 서브에이전트 내에서 적용되므로, `settings.json`의 `PreToolUse` 훅은 서브에이전트가 사용하는 모든 도구 전에도 실행됩니다.

757 767 


759 서브에이전트 프론트매터의 훅769 서브에이전트 프론트매터의 훅

760</h4>770</h4>

761 771 

762서브에이전트의 마크다운 파일에 직접 훅을 정의합니다. 이러한 훅은 해당 특정 서브에이전트가 활성화된 동안만 실행되며 완료될 때 정리됩니다.772서브에이전트의 마크다운 파일에 직접 훅을 정의합니다. 이러한 훅은 해당 특정 서브에이전트가 활성화된 동안만 실행되고 완료될 때 정리됩니다.

763 773 

764<Note>774<Note>

765 프론트매터 훅은 에이전트가 Agent 도구 또는 @-멘션을 통해 서브에이전트로 생성될 때, 그리고 에이전트가 [`--agent`](#invoke-subagents-explicitly) 또는 `agent` 설정을 통해 주 세션으로 실행될 때 발생합니다. 주 세션의 경우 [`settings.json`](/docs/ko/hooks)에 정의된 모든 훅과 함께 실행됩니다.775 프론트매터 훅은 에이전트가 Agent 도구 또는 @-멘션을 통해 서브에이전트로 생성될 때, 그리고 에이전트가 [`--agent`](#invoke-subagents-explicitly) 또는 `agent` 설정을 통해 주 세션으로 실행될 때 발생합니다. 주 세션 경우에는 [`settings.json`](/docs/ko/hooks)에 정의된 모든 훅과 함께 실행됩니다.

766</Note>776</Note>

767 777 

768프로젝트 수준 서브에이전트의 프론트매터 훅이 실행되도록 하려면, 에이전트 파일을 포함하는 폴더에 대해 [작업 공간 신뢰 대화](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 수락합니다. `~/.claude/agents/`의 사용자 수준 서브에이전트의 훅과 `--agents`로 전달하는 정의는 이 단계 없이 실행됩니다. `--add-dir`로 신뢰된 작업 공간의 저장소 외부에서 폴더를 추가한 경우, 해당 폴더를 별도로 신뢰합니다. 해당 `.claude/agents/` 훅은 작업 공간의 신뢰를 상속하지 않습니다.778프로젝트 수준 서브에이전트의 프론트매터 훅이 실행되도록 하려면, 에이전트 파일이 포함된 폴더에 대한 [작업 공간 신뢰 대화](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 수락하세요. `~/.claude/agents/`의 사용자 수준 서브에이전트의 훅과 `--agents`로 전달하는 정의의 훅은 이 단계 없이 실행됩니다. `--add-dir`로 신뢰된 작업 공간의 저장소 외부에서 폴더를 추가한 경우, 해당 폴더를 별도로 신뢰하세요. `.claude/agents/` 훅은 작업 공간의 신뢰를 상속하지 않습니다.

769 779 

770폴더를 신뢰할 때까지, 서브에이전트는 여전히 실행되지만, Claude Code는 프론트매터 훅을 건너뛰고 폴더를 신뢰하는 방법을 설명하는 오류를 디버그 로그에 기록합니다. 이것은 설정 파일의 훅에 대한 규칙보다 더 엄격합니다. 부모 폴더를 신뢰하는 것으로는 충분하지 않으며, `-p` 세션은 신뢰된 것으로 계산되지 않습니다. [폴더를 신뢰하기 전에 실행되는 것](/docs/ko/permissions#what-runs-before-you-trust-a-folder)은 두 가지를 비교합니다. v2.1.218 이전에는 프론트매터 훅이 신뢰하지 않은 폴더에서 실행될 수 있었습니다. 비대화형 세션 포함.780폴더를 신뢰할 때까지, 서브에이전트는 여전히 실행되지만 Claude Code는 프론트매터 훅을 건너뛰고 폴더를 신뢰하는 방법을 설명하는 오류를 디버그 로그에 기록합니다. 이는 설정 파일의 훅에 대한 규칙보다 더 엄격합니다. 부모 폴더를 신뢰하는 것으로는 충분하지 않으며, `-p` 세션은 신뢰된 것으로 계산되지 않습니다. [폴더를 신뢰하기 전에 실행되는 것](/docs/ko/permissions#what-runs-before-you-trust-a-folder)은 두 가지를 비교합니다. v2.1.218 이전에는 신뢰하지 않은 폴더(비대화형 세션 포함)에서 프론트매터 훅을 실행할 수 있었습니다.

771 781 

772모든 [훅 이벤트](/docs/ko/hooks#hook-events)가 지원됩니다. 서브에이전트에 가장 일반적인 이벤트는:782모든 [훅 이벤트](/docs/ko/hooks#hook-events)가 지원됩니다. 서브에이전트에 가장 일반적인 이벤트는:

773 783 


810| `SubagentStart` | 에이전트 유형 이름 | 서브에이전트가 실행을 시작할 때 |820| `SubagentStart` | 에이전트 유형 이름 | 서브에이전트가 실행을 시작할 때 |

811| `SubagentStop` | 에이전트 유형 이름 | 서브에이전트가 완료될 때 |821| `SubagentStop` | 에이전트 유형 이름 | 서브에이전트가 완료될 때 |

812 822 

813두 이벤트 모두 이름으로 특정 에이전트 유형을 대상으로 하는 매처를 지원합니다. 매처 값은 프로젝트 수준 및 사용자 수준 서브에이전트의 에이전트 프론트매터 `name`, 또는 [플러그인 서브에이전트](/docs/ko/plugins)의 `my-plugin:db-agent`와 같은 플러그인 범위 식별자입니다. 범위가 지정된 이름은 콜론을 포함하므로, [앵커되지 않은 정규식](/docs/ko/hooks#matcher-patterns)으로 평가됩니다. `^my-plugin:db-agent$`와 같이 `^` 및 `$`로 앵커하여 해당 에이전트만 일치시킵니다.823두 이벤트 모두 이름으로 특정 에이전트 유형을 대상으로 하는 매처를 지원합니다. 매처 값은 프로젝트 수준 및 사용자 수준 서브에이전트의 프론트매터 `name`이거나, [플러그인 서브에이전트](/docs/ko/plugins)의 `my-plugin:db-agent`와 같은 플러그인 범위 식별자입니다. 범위가 지정된 이름은 콜론을 포함하므로 [고정되지 않은 정규식](/docs/ko/hooks#matcher-patterns)으로 평가됩니다. `^my-plugin:db-agent$`와 같이 `^`와 `$`로 고정하여 해당 에이전트만 일치시킵니다.

814 824 

815이 예제는 `db-agent` 서브에이전트가 시작될 때만 설정 스크립트를 실행하고, 모든 서브에이전트가 중지될 때 정리 스크립트를 실행합니다:825이 예제는 `db-agent` 서브에이전트가 시작될 때만 설정 스크립트를 실행하고 모든 서브에이전트가 중지될 때 정리 스크립트를 실행합니다:

816 826 

817```json theme={null}827```json theme={null}

818{828{


836}846}

837```847```

838 848 

839하이픈이 있는 매처(예: `db-agent`)는 Claude Code v2.1.195 이상에서 정확히 일치합니다. 이전 버전에서는 앵커되지 않은 정규식으로 평가되며 `prod-db-agent`와 같이 이를 포함하는 모든 에이전트 유형에 대해서도 발생합니다. 이러한 버전에서는 `^db-agent$`로 앵커합니다.849하이픈이 있는 매처 `db-agent`는 Claude Code v2.1.195 이상에서 정확히 일치합니다. 이전 버전에서는 고정되지 않은 정규식으로 평가되고 `prod-db-agent`와 같이 포함하는 모든 에이전트 유형에 대해서도 발생합니다. 이러한 버전에서는 `^db-agent$`로 고정하세요.

840 850 

841전체 훅 구성 형식은 [훅](/docs/ko/hooks)을 참조하세요.851[훅](/docs/ko/hooks)에서 전체 훅 구성 형식을 참조하세요.

842 852 

843<h2 id="work-with-subagents">853<h2 id="work-with-subagents">

844 Subagent 작업854 Subagent 작업


987 997 

988스캔은 콘텐츠가 악의적인지 판단하지 않으며, 보고서의 지시가 할 수 있는 것을 변경하지 않습니다: 보고서가 Claude를 만드는 도구 호출은 여전히 세션의 [권한 확인](/docs/ko/permissions) 및 [샌드박싱](/docs/ko/sandboxing)을 거칩니다. [subagent가 도달할 수 있는 것을 제한](#control-subagent-capabilities)하는 것을 대체하지 않습니다.998스캔은 콘텐츠가 악의적인지 판단하지 않으며, 보고서의 지시가 할 수 있는 것을 변경하지 않습니다: 보고서가 Claude를 만드는 도구 호출은 여전히 세션의 [권한 확인](/docs/ko/permissions) 및 [샌드박싱](/docs/ko/sandboxing)을 거칩니다. [subagent가 도달할 수 있는 것을 제한](#control-subagent-capabilities)하는 것을 대체하지 않습니다.

989 999 

1000Claude Code는 subagent 출력을 주 대화로 반환하는 보고서 아래에 헤더를 표시합니다. 헤더는 보고서 내의 지시 또는 승인 주장이 subagent의 말이며 사용자로부터 권한을 가지지 않음을 명시합니다.

1001 

1002[background subagent의 보고서](#run-subagents-in-foreground-or-background)는 완료 알림 내에 도달하며, 이는 사용자의 메시지가 아닌 자동화된 이벤트로 표시됩니다.

1003 

990<Note>1004<Note>

991 Subagent 출력 스캔에는 Claude Code v2.1.210 이상이 필요합니다.1005 Subagent 출력 스캔에는 Claude Code v2.1.210 이상이 필요합니다.

992</Note>1006</Note>


1060 1074 

1061기본적으로 subagent는 주 대화 아래 최대 3개 계층까지 자신의 subagent를 생성할 수 있습니다. 깊이 제한에서 Claude Code는 [fork](#fork-the-current-conversation)를 제외한 모든 subagent에서 `Agent` 도구를 보류하므로 제한에서 subagent는 위임된 작업을 자체적으로 수행하고 하나의 요약을 반환합니다. 제한에서 fork는 상속된 도구 목록에서 `Agent`를 유지하지만 도구는 생성하는 대신 오류를 반환합니다.1075기본적으로 subagent는 주 대화 아래 최대 3개 계층까지 자신의 subagent를 생성할 수 있습니다. 깊이 제한에서 Claude Code는 [fork](#fork-the-current-conversation)를 제외한 모든 subagent에서 `Agent` 도구를 보류하므로 제한에서 subagent는 위임된 작업을 자체적으로 수행하고 하나의 요약을 반환합니다. 제한에서 fork는 상속된 도구 목록에서 `Agent`를 유지하지만 도구는 생성하는 대신 오류를 반환합니다.

1062 1076 

1063중첩된 subagent는 위임된 작업이 자체적으로 병렬 하위 작업으로 분할될 때 적합합니다. 예를 들어 각 발견에 대해 검증자를 발송하는 검토자 subagent를 사용하면 중간 출력이 주 대화에 도달하지 않습니다. 최상위 subagent의 요약만 사용자에게 반환됩니다. 대화형 세션에서 [agent teams](/docs/ko/agent-teams)가 활성화되면 background subagent를 시작한 subagent는 결과를 받기 전에 기다립니다. [Non-interactive 모드](/docs/ko/headless) 및 Agent SDK에서 시작 subagent는 기다리지 않으므로 시작 subagent가 종료된 후 완료되는 중첩된 background subagent는 주 대화에 보고합니다.1077중첩된 subagent는 위임된 작업이 자체적으로 병렬 하위 작업으로 분할될 때 적합합니다. 예를 들어 각 발견에 대해 검증자를 발송하는 검토자 subagent를 사용하면 중간 출력이 주 대화에 도달하지 않습니다. 최상위 subagent의 요약만 사용자에게 반환됩니다. 대화형 세션에서 background subagent를 시작한 subagent는 결과를 받기 전에 기다립니다. [Non-interactive 모드](/docs/ko/headless) 및 Agent SDK에서 시작 subagent는 기다리지 않으므로 시작 subagent가 종료된 후 완료되는 중첩된 background subagent는 주 대화에 보고합니다.

1064 1078 

1065제한을 변경하려면 [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ko/env-vars)를 주 대화 아래에서 원하는 subagent 계층 수로 설정합니다. 예를 들어 [`settings.json`](/docs/ko/settings)의 이 항목은 중첩을 2개 계층으로 제한합니다:1079제한을 변경하려면 [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ko/env-vars)를 주 대화 아래에서 원하는 subagent 계층 수로 설정합니다. 예를 들어 [`settings.json`](/docs/ko/settings)의 이 항목은 중첩을 2개 계층으로 제한합니다:

1066 1080 


1114 1128 

1115* **시스템 프롬프트**: 에이전트 자신의 프롬프트 및 Claude Code가 추가하는 환경 세부 정보이며, 전체 Claude Code 시스템 프롬프트는 아닙니다. 사용자 정의 subagent는 [markdown body](#write-subagent-files) 또는 `prompt` 필드에서 정의합니다. 내장 에이전트는 미리 정의된 프롬프트를 가집니다.1129* **시스템 프롬프트**: 에이전트 자신의 프롬프트 및 Claude Code가 추가하는 환경 세부 정보이며, 전체 Claude Code 시스템 프롬프트는 아닙니다. 사용자 정의 subagent는 [markdown body](#write-subagent-files) 또는 `prompt` 필드에서 정의합니다. 내장 에이전트는 미리 정의된 프롬프트를 가집니다.

1116* **작업 메시지**: Claude가 작업을 넘길 때 작성하는 위임 프롬프트입니다.1130* **작업 메시지**: Claude가 작업을 넘길 때 작성하는 위임 프롬프트입니다.

1117* **CLAUDE.md 파일**: 주 대화가 로드하는 [CLAUDE.md 계층 구조](/docs/ko/memory#how-claude-md-files-load)의 모든 수준이며, `~/.claude/CLAUDE.md`, 프로젝트 규칙, `CLAUDE.local.md`, 및 관리되는 정책 파일을 포함합니다. 내장 Explore 및 Plan 에이전트는 이를 건너뜁니다. 정의가 [`omitClaudeMd`](#supported-frontmatter-fields)를 설정하는 subagent는 관리되는 정책 파일만 로드하거나 정의가 [관리되는 설정](#choose-the-subagent-scope)에서 올 때 아무것도 로드하지 않습니다.1131* **CLAUDE.md 파일**: 주 대화가 로드하는 [CLAUDE.md 계층 구조](/docs/ko/memory#how-claude-md-files-load)의 모든 수준이며, `~/.claude/CLAUDE.md`, 프로젝트 규칙, `CLAUDE.local.md`, 관리되는 정책 파일 및 모든 [`AGENTS.md` 파일](/docs/ko/memory#agents-md)을 포함합니다. 내장 Explore 및 Plan 에이전트는 이를 건너뜁니다. 정의가 [`omitClaudeMd`](#supported-frontmatter-fields)를 설정하는 subagent는 관리되는 정책 파일만 로드하거나 정의가 [관리되는 설정](#choose-the-subagent-scope)에서 올 때 아무것도 로드하지 않습니다.

1118* **Git 상태**: 부모 세션 시작 시 촬영한 스냅샷입니다. 작업 디렉토리가 Git 저장소가 아니거나 [`includeGitInstructions`](/docs/ko/settings-reference#includegitinstructions)가 `false`일 때 없습니다. Explore 및 Plan은 관계없이 이를 건너뜁니다.1132* **Git 상태**: subagent가 시작될 때 Claude Code가 저장소에서 읽는 스냅샷입니다. Git 저장소 외부에서 또는 스냅샷이 꺼져 있을 때 없습니다. [`includeGitInstructions`](/docs/ko/settings-reference#includegitinstructions)를 참조합니다. Explore 및 Plan은 관계없이 이를 건너뜁니다.

1119* **미리 로드된 skills**: 에이전트의 [`skills` 필드](#preload-skills-into-subagents)에 명명된 모든 skill의 전체 내용입니다. 내장 에이전트는 skills를 미리 로드하지 않습니다.1133* **미리 로드된 skills**: 에이전트의 [`skills` 필드](#preload-skills-into-subagents)에 명명된 모든 skill의 전체 내용입니다. 내장 에이전트는 skills를 미리 로드하지 않습니다.

1120* **형제 명단**: `main` 및 세션의 다른 모든 명명된 에이전트를 나열하는 시스템 알림이며, 각각은 [`SendMessage`](#resume-subagents)에 대한 유효한 `to` 값입니다. Claude Code v2.1.206 이상이 필요합니다. 명단은 subagent의 도구에 `SendMessage`가 포함되고 Claude가 생성할 때 이름을 지정했거나 [agent teams](/docs/ko/agent-teams) 팀원으로 실행되는 다른 에이전트가 하나 이상 있을 때만 나타납니다. 이는 subagent가 시작될 때 촬영한 스냅샷이므로 나중에 명명된 에이전트는 나타나지 않습니다.1134* **형제 명단**: `main` 및 세션의 다른 모든 명명된 에이전트를 나열하는 시스템 알림이며, 각각은 [`SendMessage`](#resume-subagents)에 대한 유효한 `to` 값입니다. Claude Code v2.1.206 이상이 필요합니다. 명단은 subagent의 도구에 `SendMessage`가 포함되고 Claude가 생성할 때 이름을 지정했거나 [agent teams](/docs/ko/agent-teams) 팀원으로 실행되는 다른 에이전트가 하나 이상 있을 때만 나타납니다. 이는 subagent가 시작될 때 촬영한 스냅샷이므로 나중에 명명된 에이전트는 나타나지 않습니다.

1121 1135 

Details

343 대용량 콘텐츠 붙여넣기343 대용량 콘텐츠 붙여넣기

344</h2>344</h2>

345 345 

346프롬프트에 800자 이상 또는 3줄 이상의 텍스트를 붙여넣으면 Claude Code는 입력을 `[Pasted text #1 +120 lines]`과 같은 플레이스홀더로 축약하여 입력 상자를 사용 가능한 상태로 유지합니다. 터미널 창이 12줄보다 짧으면 줄 제한이 감소하므로 Claude Code는 11줄에서 3줄 붙여넣기를 축약하고 10줄 이하에서는 모든 여러 줄 붙여넣기를 축약합니다. Claude Code는 제출할 때 전체 콘텐츠를 여전히 전송합니다.346프롬프트에 800자 이상 또는 3줄 이상의 텍스트를 붙여넣으면 Claude Code는 입력을 `[Pasted text #1 +120 lines]`과 같은 플레이스홀더로 축약하여 입력 상자를 사용 가능한 상태로 유지하고, 제출할 때 전체 콘텐츠를 여전히 전송합니다. 전체 파일이나 긴 로그와 같은 매우 큰 입력의 경우, 콘텐츠를 파일에 작성하고 붙여넣기 대신 Claude에 파일을 읽도록 요청합니다. 대화 기록을 읽기 쉽게 유지하고 Claude가 나중 차례에서 경로로 파일을 참조할 수 있습니다. VS Code 통합 터미널은 매우 큰 붙여넣기에서 Claude Code에 도달하기 전에 문자를 삭제할 수 있으므로, 거기서는 파일을 사용합니다.

347 347 

348`Ctrl+W` 또는 `Ctrl+K`와 같은 단어 또는 줄 단축키로 삭제하거나, `df]`와 같은 `f`/`t` 모션을 통한 vim 삭제로 삭제하고, 삭제된 범위가 플레이스홀더 내부에 도달하면 Claude Code는 플레이스홀더 전체를 제거합니다. [`Ctrl+Y`](/docs/ko/interactive-mode#text-editing)를 단어 또는 줄 단축키 후에 사용하거나, vim 삭제 후 [`p` NORMAL 모드](/docs/ko/interactive-mode#editing-normal-mode)를 사용하여 삭제를 다시 붙여넣을 수 있습니다.348붙여넣기에 [보이지 않는 유니코드 문자](/docs/ko/interactive-mode#invisible-characters-in-prompts)가 포함되어 있으면 Claude Code는 Enter를 누를 때 이를 제거하고 정리된 프롬프트를 입력 상자에 다시 넣어서 다른 Enter로 전송할 수 있도록 합니다.

349 349 

350Claude Code는 축약된 콘텐츠를 `~/.claude/paste-cache/` 아래에 유지하므로, [명령 기록](/docs/ko/interactive-mode#command-history)에서 프롬프트를 회수하고 다시 제출하면 Claude Code는 전체 붙여넣은 콘텐츠를 다시 전송합니다. 이는 나중 세션에서도 포함되며, 보존 스윕이 캐시 파일을 제거할 때까지 계속됩니다. Claude Code는 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays)보다 오래된 캐시 파일을 삭제하며, [보존 스윕 규칙](/docs/ko/claude-directory#cleaned-up-automatically)을 따르므로, 회수된 프롬프트는 더 이상 존재하지 않는 붙여넣은 텍스트를 참조할 수 있습니다. 이러한 프롬프트를 제출하면 Claude Code는 절대 리터럴 `[Pasted text #N]` 문자열을 전송하지 않으며, 누락된 붙여넣기의 이름을 지정하는 알림을 표시합니다:350<h3 id="how-claude-treats-pasted-text">

351 Claude가 붙여넣은 텍스트를 처리하는 방식

352</h3>

353 

354제출하면 Claude는 각 `[Pasted text #N]` 플레이스홀더 뒤의 콘텐츠를 입력한 것이 아니라 다른 곳에서 붙여넣은 텍스트로 표시된 것을 봅니다. Claude는 붙여넣기가 작성하지 않은 지시사항을 포함할 수 있으며, 입력한 메시지가 요청하는 경우에만 그 안의 지시사항을 따르도록 지시받습니다. [기능 플래그를 가져오지](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 않는 세션에서는 붙여넣기가 표시되지 않습니다.

355 

356<h3 id="delete-and-restore-a-collapsed-paste">

357 축약된 붙여넣기 삭제 및 복원

358</h3>

359 

360`Ctrl+W` 또는 `Ctrl+K`와 같은 단어 또는 줄 단축키로 삭제하거나, `df]`와 같은 `f`/`t` 모션을 통한 vim 삭제로 삭제하고, 삭제된 범위가 `[Pasted text #N]` 플레이스홀더 내부에 도달하면 Claude Code는 플레이스홀더 전체를 제거합니다. [`Ctrl+Y`](/docs/ko/interactive-mode#text-editing)를 단어 또는 줄 단축키 후에 사용하거나, vim 삭제 후 [`p` NORMAL 모드](/docs/ko/interactive-mode#editing-normal-mode)를 사용하여 삭제를 다시 붙여넣을 수 있습니다.

361 

362<h3 id="recall-a-prompt-that-had-pasted-text">

363 붙여넣은 텍스트가 있는 프롬프트 회수

364</h3>

365 

366Claude Code는 축약된 각 `[Pasted text #N]` 플레이스홀더 뒤의 콘텐츠를 `~/.claude/paste-cache/` 아래에 유지하므로, [명령 기록](/docs/ko/interactive-mode#command-history)에서 프롬프트를 회수하고 다시 제출하면 전체 붙여넣은 콘텐츠가 다시 전송되며, 나중 세션에서도 포함됩니다. [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays)보다 오래된 캐시 파일은 [보존 스윕 규칙](/docs/ko/claude-directory#cleaned-up-automatically)에 따라 삭제되므로, 회수된 프롬프트는 더 이상 존재하지 않는 붙여넣은 텍스트를 참조할 수 있습니다. 이러한 프롬프트를 제출하면 Claude Code는 절대 리터럴 `[Pasted text #N]` 문자열을 전송하지 않으며, 누락된 붙여넣기의 이름을 지정하는 알림을 표시합니다:

351 367 

352* 남은 텍스트가 있는 일반 프롬프트에서 Claude Code는 플레이스홀더를 제거하고 남은 텍스트를 전송합니다.368* 남은 텍스트가 있는 일반 프롬프트에서 Claude Code는 플레이스홀더를 제거하고 남은 텍스트를 전송합니다.

353* [셸 모드](/docs/ko/interactive-mode#shell-mode-with-prefix) 명령 또는 `/` 명령에서, 제거가 실행되는 내용을 변경할 수 있으며, 제거가 비어 있는 모든 프롬프트에서 Claude Code는 제출을 취소하고 원본 텍스트를 입력에 유지하며, 플레이스홀더는 여전히 포함됩니다. 플레이스홀더를 삭제하거나 명령을 편집한 후 다시 제출합니다.369* [셸 모드](/docs/ko/interactive-mode#shell-mode-with-prefix) 명령 또는 `/` 명령에서, 제거가 실행되는 내용을 변경할 수 있으며, 제거가 비어 있는 모든 프롬프트에서 Claude Code는 제출을 취소하고 원본 텍스트를 입력에 유지하며, 플레이스홀더는 여전히 포함됩니다. 플레이스홀더를 삭제하거나 명령을 편집한 후 다시 제출합니다.

354 370 

355VS Code 통합 터미널은 매우 큰 붙여넣기에서 Claude Code에 도달하기 전에 문자를 삭제할 수 있으므로, 거기서는 파일 기반 워크플로우를 선호합니다. 전체 파일이나 긴 로그와 같은 매우 큰 입력의 경우, 콘텐츠를 파일에 작성하고 붙여넣기 대신 Claude에 파일을 읽도록 요청합니다. 이렇게 하면 대화 기록을 읽기 쉽게 유지하고 Claude가 나중 차례에서 경로로 파일을 참조할 수 있습니다.

356 

357<h2 id="edit-prompts-with-vim-keybindings">371<h2 id="edit-prompts-with-vim-keybindings">

358 Vim 키바인딩으로 프롬프트 편집하기372 Vim 키바인딩으로 프롬프트 편집하기

359</h2>373</h2>

Details

86 86 

87대부분의 조직에서는 Claude for Teams 또는 Claude for Enterprise가 최고의 경험을 제공합니다. 팀 멤버는 단일 구독으로 Claude Code와 웹의 Claude에 모두 액세스할 수 있으며, 중앙 집중식 청구 및 인프라 설정이 필요하지 않습니다.87대부분의 조직에서는 Claude for Teams 또는 Claude for Enterprise가 최고의 경험을 제공합니다. 팀 멤버는 단일 구독으로 Claude Code와 웹의 Claude에 모두 액세스할 수 있으며, 중앙 집중식 청구 및 인프라 설정이 필요하지 않습니다.

88 88 

89**Claude for Teams**는 셀프 서비스이며 협업 기능, 관리 도구 및 청구 관리를 포함합니다. 빠르게 시작해야 하는 소규모 팀에 최적입니다.89**Claude for Teams**는 셀프 서비스이며 협업 기능, 관리 도구, SSO, 청구 관리 및 [서버 관리 설정](/docs/ko/server-managed-settings)을 포함하여 조직 전체 Claude Code 구성을 지원합니다. 빠르게 시작해야 하는 소규모 팀에 최적입니다.

90 90 

91**Claude for Enterprise**는 SSO 및 도메인 캡처, 역할 기반 권한, 규정 준수 API 액세스 및 조직 전체 Claude Code 구성을 배포하기 위한 관리형 정책 설정을 추가합니다. 보안 및 규정 준수 요구사항이 있는 대규모 조직에 최적입니다.91**Claude for Enterprise**는 도메인 캡처, 역할 기반 권한 및 규정 준수 API 액세스를 추가합니다. 보안 및 규정 준수 요구사항이 있는 대규모 조직에 최적입니다.

92 92 

93[팀 플랜](https://support.claude.com/ko/articles/9266767-what-is-the-team-plan) 및 [엔터프라이즈 플랜](https://support.claude.com/ko/articles/9797531-what-is-the-enterprise-plan)에 대해 자세히 알아봅니다.93[팀 플랜](https://support.claude.com/ko/articles/9266767-what-is-the-team-plan) 및 [엔터프라이즈 플랜](https://support.claude.com/ko/articles/9797531-what-is-the-enterprise-plan)에 대해 자세히 알아봅니다.

94 94 

Details

24| 설치 중 `Raw mode is not supported` | [설치 프로그램 다시 실행](#raw-mode-is-not-supported-during-install) |24| 설치 중 `Raw mode is not supported` | [설치 프로그램 다시 실행](#raw-mode-is-not-supported-during-install) |

25| `TLS connect error` 또는 `SSL/TLS secure channel` | [CA 인증서 업데이트](#tls-or-ssl-connection-errors) |25| `TLS connect error` 또는 `SSL/TLS secure channel` | [CA 인증서 업데이트](#tls-or-ssl-connection-errors) |

26| `Failed to fetch version` 또는 다운로드 서버에 도달할 수 없음 | [네트워크 및 프록시 설정 확인](#check-network-connectivity) |26| `Failed to fetch version` 또는 다운로드 서버에 도달할 수 없음 | [네트워크 및 프록시 설정 확인](#check-network-connectivity) |

27| `irm is not recognized` 또는 `&& is not valid` | [셸에 맞는 명령 사용](#wrong-install-command-on-windows) |27| `irm is not recognized` 또는 `The token '&&' is not a valid statement separator` | [셸에 맞는 명령 사용](#wrong-install-command-on-windows) |

28| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Homebrew 업데이트](#homebrew-cask-unavailable-or-outdated) |28| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Homebrew 업데이트](#homebrew-cask-unavailable-or-outdated) |

29| `'bash' is not recognized as the name of a cmdlet` | [Windows 설치 프로그램 명령 사용](#wrong-install-command-on-windows) |29| `'bash' is not recognized as the name of a cmdlet` | [Windows 설치 프로그램 명령 사용](#wrong-install-command-on-windows) |

30| `A parameter cannot be found that matches parameter name 'fsSL'` | [Windows 설치 프로그램 명령 사용](#wrong-install-command-on-windows) |30| `A parameter cannot be found that matches parameter name 'fsSL'` | [Windows 설치 프로그램 명령 사용](#wrong-install-command-on-windows) |


528 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd528 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

529 ```529 ```

530 530 

531* **`&&` 유효하지 않음**: PowerShell에 있지만 CMD 설치 프로그램 명령을 실행했습니다. PowerShell 설치 프로그램을 사용하세요:531* **`&&` 유효하지 않음**: PowerShell에 있지만 CMD 설치 프로그램 명령을 실행했습니다. PowerShell 설치 프로그램을 사용하십시오:

532 ```powershell theme={null}532 ```powershell theme={null}

533 irm https://claude.ai/install.ps1 | iex533 irm https://claude.ai/install.ps1 | iex

534 ```534 ```

Details

413. 큰 빌드 디렉토리를 `.gitignore` 파일에 추가하는 것을 고려합니다.413. 큰 빌드 디렉토리를 `.gitignore` 파일에 추가하는 것을 고려합니다.

424. [`claude --safe-mode`](/docs/ko/cli-reference#cli-flags)로 다시 시작하여 플러그인, MCP 서버 또는 hook이 원인인지 확인합니다. 이는 세션의 모든 사용자 정의를 비활성화합니다. 사용량이 감소하면 [구성 디버깅](/docs/ko/debug-your-config#test-against-a-clean-configuration)을 참조하여 어느 것이 원인인지 찾습니다.424. [`claude --safe-mode`](/docs/ko/cli-reference#cli-flags)로 다시 시작하여 플러그인, MCP 서버 또는 hook이 원인인지 확인합니다. 이는 세션의 모든 사용자 정의를 비활성화합니다. 사용량이 감소하면 [구성 디버깅](/docs/ko/debug-your-config#test-against-a-clean-configuration)을 참조하여 어느 것이 원인인지 찾습니다.

43 43 

44메모리 사용량이 이 단계 후에도 높게 유지되면 `/heapdump`를 실행하여 두 개의 파일을 `~/Desktop`에 작성합니다. `<session-id>.heapsnapshot`이라는 JavaScript 힙 스냅샷과 `<session-id>-diagnostics.json`이라는 메모리 분석입니다. Claude Code는 [명령 메뉴에서 명령을 숨깁니다](/docs/ko/commands#how-the-command-menu-matches-what-you-type). 전체를 입력합니다. Linux에 Desktop 폴더가 없으면 파일이 홈 디렉토리에 작성됩니다.44세션의 힙 메모리가 2.5GB를 초과하면 중요한 메모리 사용량 경고가 나타납니다. 메모리를 해제하려면 Claude Code를 다시 시작하고 [`claude --continue`](/docs/ko/cli-reference#cli-flags)를 실행하여 새로운 프로세스에서 대화를 재개합니다.

45 

46[전체 화면 렌더링](/docs/ko/fullscreen) 외부에서 `/compact`를 실행하면 메모리도 해제됩니다. 메모리 사용량이 2.5GB 아래로 떨어지면 경고가 사라집니다.

47 

48이 단계 후에도 메모리 사용량이 높게 유지되면 `/heapdump`를 실행하여 두 개의 파일을 `~/Desktop`에 작성합니다. `<session-id>.heapsnapshot`이라는 JavaScript 힙 스냅샷과 `<session-id>-diagnostics.json`이라는 메모리 분석입니다. Claude Code는 [명령 메뉴에서 명령을 숨깁니다](/docs/ko/commands#how-the-command-menu-matches-what-you-type). 전체를 입력합니다. Linux에 Desktop 폴더가 없으면 파일이 홈 디렉토리에 작성됩니다.

45 49 

46<Warning>50<Warning>

47 `.heapsnapshot` 파일에는 프로세스의 모든 문자열이 포함되어 있으며, 전체 대화 및 자격 증명을 포함합니다. 공개 이슈에 첨부하거나 공유하지 마십시오.51 `.heapsnapshot` 파일에는 프로세스의 모든 문자열이 포함되어 있으며, 전체 대화 및 자격 증명을 포함합니다. 공개 이슈에 첨부하거나 공유하지 마십시오.


108 112 

109Claude의 출력을 클립보드에 넣으려면 Claude에게 응답에서 내용을 인쇄하도록 요청한 다음 [`/copy`](/docs/ko/commands)를 실행합니다. `/copy`는 샌드박스된 명령이 아닌 Claude Code 프로세스 자체에서 클립보드에 작성하므로 샌드박싱이 이를 차단하지 않습니다. 전체 응답 대신 단일 코드 블록을 복사할 수 있으며, 복사한 내용을 파일에 작성하고 경로를 인쇄하므로 SSH를 통한 경우와 같이 클립보드 쓰기가 터미널에 도달하지 않을 때 폴백을 제공합니다.113Claude의 출력을 클립보드에 넣으려면 Claude에게 응답에서 내용을 인쇄하도록 요청한 다음 [`/copy`](/docs/ko/commands)를 실행합니다. `/copy`는 샌드박스된 명령이 아닌 Claude Code 프로세스 자체에서 클립보드에 작성하므로 샌드박싱이 이를 차단하지 않습니다. 전체 응답 대신 단일 코드 블록을 복사할 수 있으며, 복사한 내용을 파일에 작성하고 경로를 인쇄하므로 SSH를 통한 경우와 같이 클립보드 쓰기가 터미널에 도달하지 않을 때 폴백을 제공합니다.

110 114 

111파이프된 명령이 대신 클립보드에 직접 도달하도록 하려면 [`excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에 `pbcopy *`, `wl-copy *` 또는 `xclip *`을 추가하여 명령이 샌드박스 외부에서 실행되도록 합니다.115Claude가 텍스트를 이러한 도구 중 하나로 파이프할 때 [`excludedCommands`](/docs/ko/settings-reference#sandbox-excludedcommands)에 `pbcopy *`, `wl-copy *` 또는 `xclip *`을 추가하면 해당 호출이 자동으로 샌드박스 외부에서 실행되지는 않습니다.

112 116 

113<h3 id="copied-text-doesn’t-reach-your-local-clipboard-over-ssh">117<h3 id="copied-text-doesn’t-reach-your-local-clipboard-over-ssh">

114 SSH를 통해 복사된 텍스트가 로컬 클립보드에 도달하지 않음118 SSH를 통해 복사된 텍스트가 로컬 클립보드에 도달하지 않음

ultrareview.md +10 −3

Details

50 50 

51기본 브랜치는 로컬 클론에 존재할 필요가 없습니다. Claude Code는 `origin`에서 가져옵니다. 이름에 오타가 있으면 Claude Code는 오류에서 가장 가까운 브랜치 이름을 제안합니다.51기본 브랜치는 로컬 클론에 존재할 필요가 없습니다. Claude Code는 `origin`에서 가져옵니다. 이름에 오타가 있으면 Claude Code는 오류에서 가장 가까운 브랜치 이름을 제안합니다.

52 52 

53커밋 ID 또는 태그도 기본으로 작동하며, 리뷰는 해당 커밋 이후 브랜치의 변경 사항을 다룹니다.

54 

53<h3 id="review-a-pull-request">55<h3 id="review-a-pull-request">

54 풀 요청 검토56 풀 요청 검토

55</h3>57</h3>


114Ultrareview는 리뷰 작업이 실행되기 전에 차이를 확인하고 그대로 검토할 수 없을 때 알려줍니다:116Ultrareview는 리뷰 작업이 실행되기 전에 차이를 확인하고 그대로 검토할 수 없을 때 알려줍니다:

115 117 

116* **차이가 너무 큼**: 브랜치 리뷰는 기본적으로 최대 500개의 변경된 파일과 8,000개의 변경된 라인을 포함할 수 있습니다. 정확한 값은 변경될 수 있으며 [거부](/docs/ko/errors#diff-is-too-large-for-ultrareview)는 적용 중인 값, 차이의 크기 및 가장 많이 변경된 라인이 있는 파일을 명시합니다. Claude Code는 너무 큰 풀 요청을 동일한 방식으로 거부하며 파일 및 라인 수를 명시하지만 파일별 분석은 명시하지 않습니다.118* **차이가 너무 큼**: 브랜치 리뷰는 기본적으로 최대 500개의 변경된 파일과 8,000개의 변경된 라인을 포함할 수 있습니다. 정확한 값은 변경될 수 있으며 [거부](/docs/ko/errors#diff-is-too-large-for-ultrareview)는 적용 중인 값, 차이의 크기 및 가장 많이 변경된 라인이 있는 파일을 명시합니다. Claude Code는 너무 큰 풀 요청을 동일한 방식으로 거부하며 파일 및 라인 수를 명시하지만 파일별 분석은 명시하지 않습니다.

117* **검토할 항목 없음**: 기본에 대한 차이가 비어 있으면 Claude Code는 그렇게 말하고 로컬 편집을 스테이징하거나 커밋하거나 다른 기본을 전달할 것을 제안합니다.119* **검토할 항목 없음**: 기본에 대한 차이가 비어 있으면 ultrareview는 거부하고 비교한 브랜치 또는 커밋을 명시하며 기본 브랜치 자체에 있고 커밋되지 않은 항목이 없거나 커밋이 모두 기본의 일부인 브랜치와 같은 경우를 명시합니다. 또한 해당 경우에 대한 해결 방법을 제안합니다. 예를 들어 작업이 있는 브랜치로 전환하거나, 로컬 편집을 스테이징하거나 커밋하거나, 다른 기본을 전달합니다.

118* **병합 기본 없음**: 브랜치가 기본 브랜치와 기록을 공유하지 않으면 Claude Code는 대신 저장소의 모든 추적된 파일을 검토하도록 폴백합니다. 폴백에는 전체 클론이 필요하며 동일한 크기 제한을 적용합니다. `FETCH_HEAD`를 가져온 후 체크아웃하여 생성된 분리된 HEAD와 같이 브랜치나 다른 참조가 없는 체크아웃에서 Claude Code는 [리뷰를 거부](/docs/ko/errors#your-checkout-has-no-branches)하고 먼저 브랜치를 생성할 것을 제안합니다.120* **첫 번째 커밋**: 저장소의 첫 번째 커밋은 비교할 이전 항목이 없으므로 시작 대화에서 확인한 후 ultrareview는 그 이후의 모든 파일을 검토합니다. 추적되지 않은 파일이 있으면 대신 거부하고 검토하려는 파일을 `git add`하도록 알려줍니다. 동일한 크기 제한이 적용됩니다.

121 

122 첫 번째 커밋은 해당 확인 후에만 전체적으로 검토되므로 `claude ultrareview` 하위 명령 및 `claude -p`는 이를 거부하고 대화형 세션을 대신 사용하도록 지시합니다. Claude Code v2.1.277 이상 필요

123* **병합 기본 없음**: 브랜치가 기본 브랜치와 기록을 공유하지 않으면 또는 저장소에 비교할 기본 브랜치가 없으면 ultrareview는 저장소의 모든 추적된 파일을 대신 검토합니다. 폴백에는 전체 클론이 필요하며 동일한 크기 제한을 적용합니다. 시작 대화에서 확인하거나 `claude ultrareview` 하위 명령을 직접 실행할 때만 시작됩니다. `claude -p` 및 둘 다 발생하지 않는 다른 곳에서는 ultrareview가 거부하고 리뷰가 모든 파일을 다룰 것이라고 말하며 대화형 세션을 지시합니다.

124 

125 분기나 다른 참조가 없는 체크아웃에서(예: URL을 가져온 후 `FETCH_HEAD`를 체크아웃하여 생성된 분리된 HEAD), Claude Code는 [리뷰를 거부](/docs/ko/errors#your-checkout-has-no-branches)하고 먼저 브랜치를 생성할 것을 제안합니다.

119 126 

120<h2 id="pricing-and-free-runs">127<h2 id="pricing-and-free-runs">

121 가격 책정 및 무료 실행128 가격 책정 및 무료 실행


166 173 

167인수 없이 하위 명령은 현재 브랜치와 기본 브랜치 간의 차이를 검토하며, 병합 기반이 없을 때 `/code-review ultra`와 동일한 [전체 저장소 폴백](#diff-limits-and-fallbacks)을 사용합니다. PR 번호를 전달하여 풀 요청을 검토하거나, 기본 브랜치를 전달하여 해당 브랜치에 대해 검토합니다. [기본 브랜치 처리](#review-against-a-different-base)는 대화형 명령과 일치합니다.174인수 없이 하위 명령은 현재 브랜치와 기본 브랜치 간의 차이를 검토하며, 병합 기반이 없을 때 `/code-review ultra`와 동일한 [전체 저장소 폴백](#diff-limits-and-fallbacks)을 사용합니다. PR 번호를 전달하여 풀 요청을 검토하거나, 기본 브랜치를 전달하여 해당 브랜치에 대해 검토합니다. [기본 브랜치 처리](#review-against-a-different-base)는 대화형 명령과 일치합니다.

168 175 

169하위 명령을 실행하면 전체 저장소 폴백과 청구 및 약관 프롬프트에 동의하므로 입력을 기다리지 않고 실행이 시작됩니다.176하위 명령을 실행하면 전체 저장소 폴백과 청구 및 약관 프롬프트에 동의하므로 입력을 기다리지 않고 실행이 시작됩니다. 직접 실행하는 것이 동의로 간주됩니다. Claude가 예를 들어 Bash 도구를 통해 대신 하위 명령을 실행할 때 Claude Code는 전체 저장소 리뷰를 거부합니다.

170 177 

171Claude Code v2.1.218 이상에서는 비대화형 세션에서 `/code-review ultra`를 실행하여 클라우드 리뷰를 시작할 수도 있습니다(예: `claude -p '/code-review ultra'`). Claude Code는 리뷰를 시작하고 발견 사항을 기다리지 않고 추적 링크를 인쇄합니다. 이는 발견 사항이 도착할 때까지 차단하는 `claude ultrareview`와 다릅니다. 리뷰가 사용량 크레딧을 청구할 때 Claude Code는 시작하기 전에 중지하고 `claude ultrareview`를 가리킵니다. 청구 확인에는 대화형 세션이 필요하기 때문입니다. v2.1.218 이전에는 비대화형 세션에서 `/code-review ultra`가 로컬 리뷰를 실행했습니다.178Claude Code v2.1.218 이상에서는 비대화형 세션에서 `/code-review ultra`를 실행하여 클라우드 리뷰를 시작할 수도 있습니다(예: `claude -p '/code-review ultra'`). Claude Code는 리뷰를 시작하고 발견 사항을 기다리지 않고 추적 링크를 인쇄합니다. 이는 발견 사항이 도착할 때까지 차단하는 `claude ultrareview`와 다릅니다. 리뷰가 사용량 크레딧을 청구할 때 Claude Code는 시작하기 전에 중지하고 `claude ultrareview`를 가리킵니다. 청구 확인에는 대화형 세션이 필요하기 때문입니다. v2.1.218 이전에는 비대화형 세션에서 `/code-review ultra`가 로컬 리뷰를 실행했습니다.

172 179 

vs-code.md +97 −34

Details

50 <Step title="Claude Code 패널 열기">50 <Step title="Claude Code 패널 열기">

51 VS Code 전체에서 Spark 아이콘은 Claude Code를 나타냅니다. <img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/vs-code-spark-icon.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=3ca45e00deadec8c8f4b4f807da94505" alt="Spark icon" style={{display: "inline", height: "0.85em", verticalAlign: "middle"}} width="16" height="16" data-path="images/vs-code-spark-icon.svg" />51 VS Code 전체에서 Spark 아이콘은 Claude Code를 나타냅니다. <img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/vs-code-spark-icon.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=3ca45e00deadec8c8f4b4f807da94505" alt="Spark icon" style={{display: "inline", height: "0.85em", verticalAlign: "middle"}} width="16" height="16" data-path="images/vs-code-spark-icon.svg" />

52 52 

53 Claude를 여는 가장 빠른 방법은 **편집기 도구 모음**(편집기의 오른쪽 상단 모서리)에서 Spark 아이콘을 클릭하는 것입니다. 이 아이콘은 파일을 열었을 때만 나타납니다.53 Claude를 여는 가장 빠른 방법은 **편집기 도구 모음**(편집기의 오른쪽 상단 모서리)에서 Spark 아이콘을 클릭하는 것입니다. 파일을 열었을 때만 아이콘이 나타납니다.

54 54 

55 <img src="https://mintcdn.com/claude-code/mfM-EyoZGnQv8JTc/images/vs-code-editor-icon.png?fit=max&auto=format&n=mfM-EyoZGnQv8JTc&q=85&s=eb4540325d94664c51776dbbfec4cf02" alt="VS Code 편집기에서 편집기 도구 모음의 Spark 아이콘을 보여주는 화면" width="2796" height="734" data-path="images/vs-code-editor-icon.png" />55 <img src="https://mintcdn.com/claude-code/mfM-EyoZGnQv8JTc/images/vs-code-editor-icon.png?fit=max&auto=format&n=mfM-EyoZGnQv8JTc&q=85&s=eb4540325d94664c51776dbbfec4cf02" alt="편집기 도구 모음에서 Spark 아이콘을 보여주는 VS Code 편집기" width="2796" height="734" data-path="images/vs-code-editor-icon.png" />

56 56 

57 Claude Code를 여는 다른 방법:57 Claude Code를 여는 다른 방법:

58 58 

59 * **활동 표시줄**: 왼쪽 사이드바의 Spark 아이콘을 클릭하여 세션 목록을 엽니다. 세션을 클릭하여 [선호하는 위치](#extension-settings)에서 열거나 새로운 세션을 시작합니다. 이 아이콘은 항상 활동 표시줄에 표시됩니다.59 * **활동 표시줄**: 왼쪽 사이드바의 Spark 아이콘을 클릭하여 세션 목록을 엽니다. 세션을 클릭하여 [선호하는 위치](#extension-settings)에서 열거나 새 세션을 시작합니다. 이 아이콘은 항상 활동 표시줄에 표시됩니다.

60 * **명령 팔레트**: `Cmd+Shift+P`(Mac) 또는 `Ctrl+Shift+P`(Windows/Linux)를 누르고 "Claude Code"를 입력한 후 "새 탭에서 열기"와 같은 옵션을 선택합니다.60 * **명령 팔레트**: `Cmd+Shift+P`(Mac) 또는 `Ctrl+Shift+P`(Windows/Linux)를 누르고 "Claude Code"를 입력한 후 "새 탭에서 열기"와 같은 옵션을 선택합니다.

61 * **상태 표시줄**: [`preferredLocation`](#extension-settings)을 `sidebar`로 설정했거나 **Claude Code: 사이드 바에서 열기**로 Claude를 열었다면 창의 오른쪽 아래 모서리에서 **✻ Claude Code**를 클릭합니다. 파일을 열지 않았을 때도 작동합니다.61 * **상태 표시줄**: [`preferredLocation`](#extension-settings)을 `sidebar`로 설정했거나 **Claude Code: 사이드 바에서 열기**로 Claude를 열었다면 창의 오른쪽 아래 모서리에서 **✻ Claude Code**를 클릭합니다. 파일을 열지 않았을 때도 작동합니다.

62 62 

63 Claude 패널을 드래그하여 VS Code의 어디든지 재배치할 수 있습니다. 자세한 내용은 [워크플로우 사용자 정의](#customize-your-workflow)를 참조하세요.63 Claude 패널을 드래그하여 VS Code의 어느 곳으로든 재배치할 수 있습니다. 자세한 내용은 [워크플로우 사용자 정의](#customize-your-workflow)를 참조하십시오.

64 </Step>64 </Step>

65 65 

66 <Step title="로그인">66 <Step title="로그인">

67 처음 패널을 열면 로그인 화면이 나타납니다. **로그인**을 클릭하고 브라우저에서 인증을 완료합니다.67 처음 패널을 열면 로그인 화면이 나타납니다. **로그인**을 클릭하고 브라우저에서 인증을 완료합니다.

68 68 

69 나중에 **로그인하지 않음 · /login을 실행하세요**가 표시되면 확장 프로그램이 자동으로 로그인 화면을 다시 엽니다. 표시되지 않으면 명령 팔레트에서 **개발자: 창 다시 로드**로 창을 다시 로드합니다.69 나중에 **로그인하지 않음 · /login을 실행하십시오**가 표시되면 확장 프로그램이 자동으로 로그인 화면을 다시 엽니다. 표시되지 않으면 명령 팔레트에서 **개발자: 창 다시 로드**를 사용하여 창을 다시 로드합니다.

70 70 

71 셸에 `ANTHROPIC_API_KEY`가 설정되어 있지만 여전히 로그인 프롬프트가 표시되면 VS Code가 셸 환경을 상속하지 못했을 수 있습니다. 터미널에서 `code .`로 VS Code를 실행하여 환경 변수를 상속하거나 Claude 계정으로 로그인합니다.71 셸에 `ANTHROPIC_API_KEY`가 설정되어 있지만 여전히 로그인 프롬프트가 표시되면 VS Code가 셸 환경을 상속하지 못했을 수 있습니다. 터미널에서 `code .`로 VS Code를 시작하여 환경 변수를 상속하거나 대신 Claude 계정으로 로그인합니다.

72 72 

73 로그인 후 **Learn Claude Code** 체크리스트가 나타납니다. **보여주기**를 클릭하여 각 항목을 진행하거나 X로 닫습니다. 나중에 다시 열려면 VS Code 설정의 확장 프로그램 → Claude Code에서 **온보딩 숨기기**를 선택 해제합니다.73 로그인한 후 **Claude Code 배우기** 체크리스트가 나타납니다. **보여주기**를 클릭하여 각 항목을 진행하거나 X로 닫습니다. 나중에 다시 열려면 VS Code 설정의 확장 프로그램 → Claude Code에서 **온보딩 숨기기**를 선택 해제합니다.

74 </Step>74 </Step>

75 75 

76 <Step title="프롬프트 보내기">76 <Step title="프롬프트 전송">

77 Claude에게 코드나 파일을 도와달라고 요청합니다. 작동 방식 설명, 문제 디버깅 또는 변경 사항 만들기 등이 있습니다.77 코드나 파일을 도와달라고 Claude에 요청합니다. 작동 방식 설명, 문제 디버깅 또는 변경 사항 만들기 등이 있습니다.

78 78 

79 <Tip>Claude는 자동으로 선택한 텍스트를 봅니다. `Option+K`(Mac) / `Alt+K`(Windows/Linux)를 눌러 프롬프트에 @-멘션 참조(예: `@file.ts#5-10`)를 삽입할 수도 있습니다.</Tip>79 <Tip>Claude는 자동으로 선택한 텍스트를 봅니다. `Option+K`(Mac) / `Alt+K`(Windows/Linux)를 눌러 프롬프트에 @-멘션 참조(예: `@file.ts#5-10`)를 삽입할 수도 있습니다.</Tip>

80 80 

81 파일의 특정 줄에 대해 묻는 예시입니다.81 파일의 특정 줄에 대해 묻는 예시입니다.

82 82 

83 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-send-prompt.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=ede3ed8d8d5f940e01c5de636d009cfd" alt="Python 파일에서 2-3줄이 선택되고 Claude Code 패널에 @-멘션 참조가 있는 해당 줄에 대한 질문이 표시된 VS Code 편집기" width="3288" height="1876" data-path="images/vs-code-send-prompt.png" />83 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-send-prompt.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=ede3ed8d8d5f940e01c5de636d009cfd" alt="Python 파일에서 2-3줄이 선택되고 Claude Code 패널에 @-멘션 참조가 있는 해당 줄에 대한 질문이 표시되는 VS Code 편집기" width="3288" height="1876" data-path="images/vs-code-send-prompt.png" />

84 </Step>84 </Step>

85 85 

86 <Step title="변경 사항 검토">86 <Step title="변경 사항 검토">

87 표시되는 내용은 프롬프트 상자 아래에 표시된 [권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)에 따라 다릅니다.87 표시되는 내용은 프롬프트 상자 아래에 표시된 [권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)에 따라 다릅니다.

88 88 

89 * 자동 또는 자동 편집 모드에서 Claude는 대부분의 파일을 워크스페이스에서 묻지 않고 편집합니다.89 * 자동 또는 자동 편집 모드에서 Claude는 묻지 않고 작업 공간의 대부분 파일을 편집합니다.

90 * 수동 모드에서 Claude가 파일을 편집하려고 하면 원본과 제안된 변경 사항의 나란히 비교를 표시한 후 권한을 요청합니다. 수락, 거부 또는 Claude에게 대신 수행할 작업을 알릴 수 있습니다. 수락하기 전에 diff 보기에서 제안된 콘텐츠를 직접 편집하면 Claude는 수정되었다는 것을 알려져 파일이 원본 제안과 일치한다고 가정하지 않습니다.90 * 수동 모드에서 Claude가 파일을 편집하려고 하면 원본과 제안된 변경 사항의 나란히 비교를 표시한 후 권한을 요청합니다. 수락, 거부 또는 Claude에 대신 수행할 작업을 알릴 수 있습니다. 수락하기 전에 diff 보기에서 제안된 콘텐츠를 직접 편집하면 Claude는 사용자가 수정했다는 것을 알려지므로 파일이 원래 제안과 일치한다고 가정하지 않습니다.

91 91 

92 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-edits.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=e005f9b41c541c5c7c59c082f7c4841c" alt="Claude의 제안된 변경 사항의 diff를 표시하고 편집을 수행할지 여부를 묻는 권한 프롬프트가 있는 VS Code" width="3292" height="1876" data-path="images/vs-code-edits.png" />92 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-edits.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=e005f9b41c541c5c7c59c082f7c4841c" alt="Claude의 제안된 변경 사항의 diff를 보여주고 편집을 수행할지 여부를 묻는 권한 프롬프트가 있는 VS Code" width="3292" height="1876" data-path="images/vs-code-edits.png" />

93 

94 제안된 편집을 한 번에 하나씩 검토하려면 diff의 각 변경 사항 아래에 있는 **이 변경 사항 수락** 및 **이 변경 사항 거부** 버튼을 사용합니다. 변경 사항을 거부하면 제안된 콘텐츠에서 되돌려집니다. 수락하면 검토됨으로 표시됩니다. 전체 파일을 수락하거나 거부하면 여전히 검토가 완료됩니다. 100개 이상의 변경 사항이 있는 diff는 변경별 버튼 없이 열리므로 전체 파일로 검토합니다. 변경별 검토에는 Claude Code v2.1.275 이상이 필요합니다.

95 

96 동일한 작업은 편집기의 컨텍스트 메뉴와 명령 팔레트에서 **Claude Code: 커서에서 변경 사항 수락** 및 **Claude Code: 커서에서 변경 사항 거부**로 사용할 수 있습니다.

93 </Step>97 </Step>

94</Steps>98</Steps>

95 99 

96Claude Code로 할 수 있는 작업에 대한 더 많은 아이디어는 [일반적인 워크플로우](/docs/ko/common-workflows)를 참조하세요.100Claude Code로 할 수 있는 작업에 대한 더 많은 아이디어는 [일반적인 워크플로우](/docs/ko/common-workflows)를 참조하십시오.

97 101 

98<Tip>102<Tip>

99 명령 팔레트에서 "Claude Code: 연습 열기"를 실행하여 기본 사항에 대한 안내 투어를 받습니다.103 명령 팔레트에서 "Claude Code: 열기 둘러보기"를 실행하여 기본 사항에 대한 안내 투어를 받습니다.

100</Tip>104</Tip>

101 105 

102<h2 id="use-the-prompt-box">106<h2 id="use-the-prompt-box">


110 * **Manual**: Claude가 파일 편집 및 대부분의 셸 명령 전에 권한을 요청합니다.114 * **Manual**: Claude가 파일 편집 및 대부분의 셸 명령 전에 권한을 요청합니다.

111 * **Plan**: Claude가 수행할 작업을 설명하고 변경 작업을 시작하기 전에 승인을 기다립니다. VS Code는 자동으로 계획을 전체 Markdown 문서로 열어서 Claude가 시작하기 전에 피드백을 제공하기 위해 인라인 주석을 추가할 수 있습니다.115 * **Plan**: Claude가 수행할 작업을 설명하고 변경 작업을 시작하기 전에 승인을 기다립니다. VS Code는 자동으로 계획을 전체 Markdown 문서로 열어서 Claude가 시작하기 전에 피드백을 제공하기 위해 인라인 주석을 추가할 수 있습니다.

112 * **Edit automatically**: Claude가 묻지 않고 편집합니다.116 * **Edit automatically**: Claude가 묻지 않고 편집합니다.

113* **모델**: 명령 메뉴에서 \*\*Switch model…\*\*을 선택하여 세션 중간에 모델을 변경합니다. 프롬프트 상자 하단의 모델 이름을 클릭하여 동일한 선택기를 열 수도 있습니다. 현재 모델이 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 지원하는 경우 선택기에 **Effort** 행도 표시됩니다. 모델 이름 버튼과 **Effort** 행에는 Claude Code v2.1.257 이상이 필요합니다.117* **모델**: 명령 메뉴에서 \*\*Switch model…\*\*을 선택하여 세션 중간에 모델을 변경합니다. 프롬프트 상자 하단의 모델 이름을 클릭하여 동일한 선택기를 열 수도 있습니다.

114* **명령 메뉴**: `/`를 클릭하거나 `/`를 입력하여 명령 메뉴를 엽니다. 옵션에는 파일 첨부, 모델 전환, 확장 사고 토글이 포함됩니다. Customize 섹션은 MCP 서버, slash 명령, 출력 스타일, 훅, 메모리, 권한 및 플러그인에 대한 액세스를 제공합니다. 터미널 아이콘이 있는 항목은 통합 터미널에서 열립니다.118 

115 * `/usage` 또는 [`/remote-control`](/docs/ko/remote-control)과 같은 명령을 찾아보려면 Customize 섹션에서 **Slash commands**를 선택합니다. 대화 상자에 필터 상자가 있는 목록이 표시됩니다. 하나를 선택하여 실행합니다. 프롬프트 상자에서 `/`를 입력하면 여전히 명령을 인라인으로 제안합니다. Claude Code v2.1.257 이상이 필요합니다.119 현재 모델이 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 지원하는 경우 선택기에 **Effort** 행도 표시되며 모델 이름 버튼은 선택된 수준을 표시합니다. `max` 이외의 수준을 선택하면 Claude Code는 사용자 설정의 [`modelSettings`](/docs/ko/settings-reference#modelsettings) 아래에서 현재 모델에 대한 기본값으로 저장합니다. `max`는 현재 세션에만 적용됩니다. 모델 이름 버튼과 **Effort** 행에는 Claude Code v2.1.257 이상이 필요합니다.

120* **명령 메뉴**: `/`를 클릭하거나 `/`를 입력하여 명령 메뉴를 엽니다. 옵션에는 파일 첨부, 모델 전환, 확장 사고 토글이 포함됩니다.

121 

122 Customize 섹션은 MCP 서버, 명령, 출력 스타일, hooks, 메모리, 권한 및 플러그인에 대한 액세스를 제공합니다. 터미널 아이콘이 있는 항목은 통합 터미널에서 열립니다.

123 

124 * slash 명령 `/usage` 또는 [`/remote-control`](/docs/ko/remote-control)과 같은 명령을 찾아보려면 Customize 섹션에서 **Slash commands**를 선택합니다. 대화 상자에 필터 상자가 있는 목록이 표시됩니다. 하나를 선택하여 실행합니다. 프롬프트 상자에서 `/`를 입력하면 여전히 명령을 인라인으로 제안합니다. Claude Code v2.1.257 이상이 필요합니다.

116 * Customize 섹션에서 **Output styles**를 선택하여 사용자 정의 스타일을 포함한 [출력 스타일](/docs/ko/output-styles)을 선택합니다. Claude Code v2.1.257 이상이 필요합니다.125 * Customize 섹션에서 **Output styles**를 선택하여 사용자 정의 스타일을 포함한 [출력 스타일](/docs/ko/output-styles)을 선택합니다. Claude Code v2.1.257 이상이 필요합니다.

117 126 

118 대신 사용자 정의 스타일을 만들려면 **Output styles** 메뉴에서 **Build a custom style**을 선택합니다. Claude Code는 프로젝트 또는 사용자 수준에서 [스타일 파일](/docs/ko/output-styles#create-a-custom-output-style)을 작성합니다. Claude Code v2.1.261 이상이 필요합니다.127 대신 사용자 정의 스타일을 만들려면 **Output styles** 메뉴에서 **Build a custom style**을 선택합니다. Claude Code는 프로젝트 또는 사용자 수준에서 [스타일 파일](/docs/ko/output-styles#create-a-custom-output-style)을 작성합니다. Claude Code v2.1.261 이상이 필요합니다.

119 * Customize 섹션에서 **Hooks**를 선택하여 세션에 로드된 [훅](/docs/ko/hooks)을 이벤트별로 그룹화하여 봅니다. 사용자, 프로젝트 및 로컬 설정 파일에 저장된 훅을 추가, 편집 또는 제거할 수 있습니다. 관리되는 설정 또는 플러그인과 같은 다른 소스의 훅은 읽기 전용입니다. Claude Code v2.1.269 이상이 필요합니다.128 * Customize 섹션에서 **Hooks**를 선택하여 세션에 로드된 [hooks](/docs/ko/hooks)을 이벤트별로 그룹화하여 봅니다. 사용자, 프로젝트 및 로컬 설정 파일에 저장된 hooks를 추가, 편집 또는 제거할 수 있습니다. 관리되는 설정 또는 플러그인과 같은 다른 소스의 hooks는 읽기 전용입니다. Claude Code v2.1.269 이상이 필요합니다.

120 * Customize 섹션에서 **Permissions**를 선택하여 세션의 [권한 규칙](/docs/ko/permissions)을 Allow, Ask, Deny로 그룹화하여 봅니다. 사용자, 프로젝트 또는 로컬 설정에 규칙을 추가하고 거기에 저장된 규칙을 제거할 수 있습니다. 관리되는 설정 또는 이 세션에만 적용되는 승인과 같은 다른 소스의 규칙은 읽기 전용입니다. Claude Code v2.1.269 이상이 필요합니다.129 * Customize 섹션에서 **Permissions**를 선택하여 세션의 [권한 규칙](/docs/ko/permissions)을 Allow, Ask, Deny로 그룹화하여 봅니다. 사용자, 프로젝트 또는 로컬 설정에 규칙을 추가하고 거기에 저장된 규칙을 제거할 수 있습니다. 관리되는 설정 또는 이 세션에만 적용되는 승인과 같은 다른 소스의 규칙은 읽기 전용입니다. Claude Code v2.1.269 이상이 필요합니다.

130 * Customize 섹션에서 **Memory**를 선택하여 [auto memory](/docs/ko/memory#auto-memory)를 켜거나 끕니다. 켜져 있는 동안 Claude가 저장한 메모리를 찾아보고 파일 관리자에서 이들을 저장하는 폴더를 표시할 수도 있습니다. Claude Code v2.1.274 이상이 필요합니다.

131 

132 저장된 메모리를 클릭하여 대화 상자에서 읽고, 텍스트를 편집하거나, 메모리를 삭제하거나, 편집기에서 파일을 열 수 있습니다. 대화 상자에서 메모리를 보거나, 편집하거나, 삭제하려면 Claude Code v2.1.275 이상이 필요합니다.

133 * Customize 섹션에서 **Instructions**를 선택하여 Claude가 읽는 [CLAUDE.md 파일](/docs/ko/memory#claude-md-files)을 편집합니다. 파일을 선택하여 편집기에서 엽니다. 파일이 아직 없으면 Claude Code가 먼저 생성합니다. Claude Code v2.1.274 이상이 필요합니다.

121 * Settings 섹션에는 **Enable Remote Control for all sessions**이 포함되어 있으며, 이는 [`remoteControlAtStartup`](/docs/ko/settings-reference#remotecontrolatstartup)을 설정하여 [새 대화형 세션이 Remote Control에 자동으로 연결되는지](/docs/ko/remote-control#enable-remote-control-for-all-sessions) 제어합니다. Claude Code v2.1.203 이상이 필요합니다.134 * Settings 섹션에는 **Enable Remote Control for all sessions**이 포함되어 있으며, 이는 [`remoteControlAtStartup`](/docs/ko/settings-reference#remotecontrolatstartup)을 설정하여 [새 대화형 세션이 Remote Control에 자동으로 연결되는지](/docs/ko/remote-control#enable-remote-control-for-all-sessions) 제어합니다. Claude Code v2.1.203 이상이 필요합니다.

122 135 

123 VS Code 창에서 토글을 켜거나 끌 때 변경 사항은 그 이후에 시작하는 세션뿐만 아니라 해당 VS Code 창에서 이미 열려 있는 세션에 적용됩니다. 토글을 끄면 열려 있는 세션이 연결 해제됩니다. Claude Code v2.1.261 이상에서는 변경 사항이 다른 VS Code 창에서 열려 있는 세션에도 도달합니다.136 VS Code 창에서 토글을 켜거나 끌 때 변경 사항은 그 이후에 시작하는 세션뿐만 아니라 해당 VS Code 창에서 이미 열려 있는 세션에 적용됩니다. 토글을 끄면 열려 있는 세션이 연결 해제됩니다. Claude Code v2.1.261 이상에서는 변경 사항이 다른 VS Code 창에서 열려 있는 세션에도 도달합니다.

124 * Settings 섹션에는 또한 **Focus view**가 포함되어 있으며, 이는 도구 호출, 도구 결과 및 사고를 확장 가능한 행 뒤에 숨기고 프롬프트와 Claude의 응답을 남깁니다. 여기서 토글하거나, `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux)를 사용하거나, Command Palette에서 **Claude Code: Toggle Focus view**를 사용하여 토글합니다. 변경 사항은 모든 열려 있는 세션에 적용되고 세션 전체에서 유지됩니다. Claude Code v2.1.221 이상이 필요합니다.137 * Settings 섹션에는 또한 **Focus view**가 포함되어 있으며, 이는 도구 호출, 도구 결과 및 사고를 확장 가능한 행 뒤에 숨기고 프롬프트와 Claude의 응답을 남깁니다. 여기서 토글하거나, `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux)를 사용하거나, Command Palette에서 **Claude Code: Toggle Focus view**를 사용하여 토글합니다. 변경 사항은 모든 열려 있는 세션에 적용되고 세션 전체에서 유지됩니다. Claude Code v2.1.221 이상이 필요합니다.

125 138 

126 Claude의 최신 할 일 목록은 계속 표시되며, Claude가 묻는 보류 중인 질문의 텍스트도 표시됩니다. 이는 Claude Code v2.1.225 이상이 필요합니다. Claude가 [서브에이전트](/docs/ko/sub-agents)를 실행하는 동안 최신 활동이 있는 라이브 진행 행이 이들을 시작한 도구 호출 그룹 아래에 나타납니다. Claude Code v2.1.269 이상이 필요합니다.139 Claude의 최신 할 일 목록은 계속 표시되며, Claude가 묻는 보류 중인 질문의 텍스트도 표시됩니다. 이는 Claude Code v2.1.225 이상이 필요합니다. Claude가 [subagents](/docs/ko/sub-agents)를 실행하는 동안 최신 활동이 있는 라이브 진행 행이 이들을 시작한 도구 호출 그룹 아래에 나타납니다. Claude Code v2.1.269 이상이 필요합니다.

127 * 버그를 보고하려면 메뉴 하단의 **Report a problem**을 클릭하거나 `/bug` 또는 `/feedback`을 입력하고 선택적으로 보고서를 미리 채우는 설명을 입력합니다. 보고서를 제출하고 1차 연결에서 Anthropic에 로그인한 경우 Claude Code는 이를 Anthropic에 보냅니다. 3차 공급자에서 또는 Anthropic 자격 증명 없이 대화 상자가 여전히 열리지만 제출하면 오류가 표시되고 아무것도 전송되지 않습니다. CLI의 `/bug`와 달리 확장 프로그램은 로컬 아카이브를 작성하지 않습니다. Claude Code v2.1.229 이상이 필요합니다.140 * 계정에서 로그아웃하려면 Settings 섹션에서 **Sign out**을 선택하거나 `/logout`을 입력합니다. [타사 공급자](#use-third-party-providers)에서는 메뉴가 둘 다 제공하지 않습니다. Claude Code v2.1.277 이상이 필요합니다.

141 * 버그를 보고하려면 메뉴 하단의 **Report a problem**을 클릭하거나 `/bug` 또는 `/feedback`을 입력하고 선택적으로 보고서를 미리 채우는 설명을 입력합니다. 보고서를 제출하고 1차 연결에서 Anthropic에 로그인한 경우 Claude Code는 이를 Anthropic에 보냅니다. 타사 공급자에서 또는 Anthropic 자격 증명 없이 대화 상자가 여전히 열리지만 제출하면 오류가 표시되고 아무것도 전송되지 않습니다. CLI의 `/bug`와 달리 확장 프로그램은 로컬 아카이브를 작성하지 않습니다. Claude Code v2.1.229 이상이 필요합니다.

128 142 

129 조직의 정책이 제품 피드백을 끄면 **Report a problem**이 메뉴에 나타나지 않으며, `/bug` 및 `/feedback`은 보고서를 열지 않고 `Feedback is turned off by your organization's policy or this environment's settings.` 공지를 표시합니다.143 조직의 정책이 제품 피드백을 끄면 **Report a problem**이 메뉴에 나타나지 않으며, `/bug` 및 `/feedback`은 보고서를 열지 않고 `Feedback is turned off by your organization's policy or this environment's settings.` 공지를 표시합니다.

130* **Side questions**: `/btw` 다음에 질문을 입력하여 [대화에 추가하지 않고](/docs/ko/interactive-mode#side-questions-with-%2Fbtw) 세션에 대해 질문합니다. 답변은 채팅 옆의 패널에서 열리며, 여기서 후속 질문을 할 수 있습니다. 스레드는 창 다시 로드를 유지합니다. Claude Code는 최신 20개 교환을 유지하고 Claude Code가 [안전하게 보존 기간을 결정](/docs/ko/claude-directory#cleaned-up-automatically)할 수 있는 한 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays) 일정에 따라 저장된 스레드를 만료합니다. 스레드를 지우려면 패널의 휴지통 아이콘을 클릭합니다. Claude Code v2.1.227 이상이 필요합니다.144* **Side questions**: `/btw` 다음에 질문을 입력하여 [대화에 추가하지 않고](/docs/ko/interactive-mode#side-questions-with-%2Fbtw) 세션에 대해 질문합니다. 답변은 채팅 옆의 패널에서 열리며, 여기서 후속 질문을 할 수 있습니다. 스레드는 창 다시 로드를 유지합니다. Claude Code는 최신 20개 교환을 유지하고 Claude Code가 [안전하게 보존 기간을 결정](/docs/ko/claude-directory#cleaned-up-automatically)할 수 있는 한 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays) 일정에 따라 저장된 스레드를 만료합니다. 스레드를 지우려면 패널의 휴지통 아이콘을 클릭합니다. Claude Code v2.1.227 이상이 필요합니다.

145* **응답 복사**: 응답 위에 마우스를 올리고 **Copy response**를 클릭하여 클립보드에 복사하거나 `/copy`를 입력하여 최신 응답을 복사합니다. `/copy 2`는 두 번째 마지막 응답을 복사합니다. Claude Code v2.1.277 이상이 필요합니다.

131* **Context indicator**: 프롬프트 상자는 Claude의 컨텍스트 윈도우를 얼마나 사용하고 있는지 보여줍니다. Claude는 필요할 때 자동으로 압축하거나 `/compact`를 수동으로 실행할 수 있습니다.146* **Context indicator**: 프롬프트 상자는 Claude의 컨텍스트 윈도우를 얼마나 사용하고 있는지 보여줍니다. Claude는 필요할 때 자동으로 압축하거나 `/compact`를 수동으로 실행할 수 있습니다.

132* **Prompt cache clock**: 컨텍스트 표시기 옆의 시계 아이콘은 대화의 [prompt cache](/docs/ko/prompt-caching)가 만료되기 전에 남은 시간을 추정합니다. 캐시의 5분 또는 1시간 [수명](/docs/ko/prompt-caching#cache-lifetime)에서 카운트다운되며, 캐시를 사용하는 각 응답은 카운트다운을 다시 시작합니다. 압축과 별개로 [캐시를 무효화하는 작업](/docs/ko/prompt-caching#actions-that-invalidate-the-cache)은 시계를 재설정하지 않으므로 모델을 전환한 후에도 남은 시간을 표시할 수 있습니다.147* **Prompt cache clock**: 컨텍스트 표시기 옆의 시계 아이콘은 대화의 [prompt cache](/docs/ko/prompt-caching)가 만료되기 전에 남은 시간을 추정합니다. 캐시의 5분 또는 1시간 [수명](/docs/ko/prompt-caching#cache-lifetime)에서 카운트다운되며, 캐시를 사용하는 각 응답은 카운트다운을 다시 시작합니다. 압축과 별개로 [캐시를 무효화하는 작업](/docs/ko/prompt-caching#actions-that-invalidate-the-cache)은 시계를 재설정하지 않으므로 모델을 전환한 후에도 남은 시간을 표시할 수 있습니다.

133 * 카운트다운이 끝날 때까지 아이콘은 **12m**과 같이 남은 분을 표시합니다.148 * 카운트다운이 끝날 때까지 아이콘은 **12m**과 같이 남은 분을 표시합니다.

134 * 카운트다운이 끝나면 분이 사라지고 아이콘이 빨간색 또는 테마의 오류 색상으로 변하며 다음 응답까지 유지됩니다. 캐시가 만료되었을 가능성이 높으므로 캐시가 다시 빌드되는 동안 다음 메시지에 대한 응답이 더 느리고 비용이 더 많이 들 것으로 예상합니다. 5분 수명이 메시지 사이에 계속 끝나면 [TTL을 직접 선택](/docs/ko/prompt-caching#choose-the-ttl-yourself)을 참조하세요.149 * 카운트다운이 끝나면 분이 사라지고 아이콘이 빨간색 또는 테마의 오류 색상으로 변하며 다음 응답까지 유지됩니다. 캐시가 만료되었을 가능성이 높으므로 캐시가 다시 빌드되는 동안 다음 메시지에 대한 응답이 더 느리고 비용이 더 많이 들 것으로 예상합니다. 5분 수명이 메시지 사이에 계속 끝나면 [TTL을 직접 선택](/docs/ko/prompt-caching#choose-the-ttl-yourself)을 참조하세요.

135 * 대화가 [압축](/docs/ko/prompt-caching#compacting-the-conversation)된 직후 아이콘도 다음 응답까지 분 없이 빨간색으로 변합니다. 캐시가 아직 압축된 대화를 포함하지 않기 때문입니다.150 * 대화가 [압축](/docs/ko/prompt-caching#compacting-the-conversation)된 직후 아이콘도 다음 응답까지 분 없이 빨간색으로 변합니다. 캐시가 아직 압축된 대화를 포함하지 않기 때문입니다.

136* **Agent map**: 대화에 [서브에이전트](/docs/ko/sub-agents)가 포함되면 프롬프트 상자 하단에 **2 agents**와 같은 에이전트 수가 나타납니다. 점은 서브에이전트가 작동 중인지 또는 권한을 기다리고 있는지 여부를 보여줍니다.151* **Agent map**: 대화에 [subagents](/docs/ko/sub-agents)가 포함되면 프롬프트 상자 하단에 **2 agents**와 같은 에이전트 수가 나타납니다. 점은 서브에이전트가 작동 중인지 또는 권한을 기다리고 있는지 여부를 보여줍니다.

137 152 

138 에이전트 맵을 열려면 에이전트 수를 클릭합니다. 에이전트 맵은 대화의 서브에이전트를 주 에이전트 아래의 트리로 그리며, 각각 상태, 경과 시간 및 토큰 수를 표시합니다. 서브에이전트를 클릭하여 프롬프트 및 도구 호출을 보거나, 읽기 전용 기록을 열거나, 실행 중일 때 중지합니다. Claude Code v2.1.269 이상이 필요합니다.153 에이전트 맵을 열려면 에이전트 수를 클릭합니다. 에이전트 맵은 대화의 서브에이전트를 주 에이전트 아래의 트리로 그리며, 각각 상태, 경과 시간 및 토큰 수를 표시합니다. 서브에이전트를 클릭하여 프롬프트 및 도구 호출을 보거나, 읽기 전용 기록을 열거나, 실행 중일 때 중지합니다. Claude Code v2.1.269 이상이 필요합니다.

154 

155 맵은 또한 세션의 다른 [background tasks](/docs/ko/tools-reference#background-commands)(예: background shell 명령 및 [monitors](/docs/ko/tools-reference#monitor-tool))를 에이전트 아래에 나열합니다. 행을 클릭하여 작업의 카드를 열고 거기서 중지합니다.

156 

157 에이전트 수가 표시되지 않는 경우(예: Claude가 background shell을 시작했지만 subagents가 없는 경우) 에이전트 맵을 열려면 프롬프트 상자에 `/tasks`를 입력합니다. 맵의 background tasks 및 입력된 `/tasks`에는 Claude Code v2.1.277 이상이 필요합니다.

139* **Extended thinking**: Claude가 복잡한 문제를 추론하는 데 더 많은 시간을 소비할 수 있게 합니다. 명령 메뉴(`/`)를 통해 토글합니다. Claude의 추론은 대화에 축소된 블록으로 나타납니다. 블록을 클릭하여 읽거나 `Ctrl+O`를 눌러 세션의 모든 사고 블록을 확장하거나 축소합니다. 자세한 내용은 [Extended thinking](/docs/ko/model-config#extended-thinking)을 참조하세요.158* **Extended thinking**: Claude가 복잡한 문제를 추론하는 데 더 많은 시간을 소비할 수 있게 합니다. 명령 메뉴(`/`)를 통해 토글합니다. Claude의 추론은 대화에 축소된 블록으로 나타납니다. 블록을 클릭하여 읽거나 `Ctrl+O`를 눌러 세션의 모든 사고 블록을 확장하거나 축소합니다. 자세한 내용은 [Extended thinking](/docs/ko/model-config#extended-thinking)을 참조하세요.

140* **Multi-line input**: `Shift+Enter`를 눌러 보내지 않고 새 줄을 추가합니다. 이는 질문 대화의 "Other" 자유 텍스트 입력에서도 작동합니다.159* **Multi-line input**: `Shift+Enter`를 눌러 보내지 않고 새 줄을 추가합니다. 이는 질문 대화의 "Other" 자유 텍스트 입력에서도 작동합니다.

141 160 


154 173 

155편집기에서 텍스트를 선택하면 Claude가 강조 표시된 코드를 자동으로 볼 수 있습니다. 프롬프트 상자 바닥글은 선택된 줄 수를 표시합니다. `Option+K` (Mac) / `Alt+K` (Windows/Linux)를 눌러 파일 경로 및 줄 번호가 있는 @-멘션을 삽입합니다 (예: `@app.ts#5-10`). 선택 표시기의 **X**를 클릭하여 Claude가 선택 항목을 받지 않도록 제거합니다. 다른 텍스트를 선택하면 표시기가 다시 나타납니다.174편집기에서 텍스트를 선택하면 Claude가 강조 표시된 코드를 자동으로 볼 수 있습니다. 프롬프트 상자 바닥글은 선택된 줄 수를 표시합니다. `Option+K` (Mac) / `Alt+K` (Windows/Linux)를 눌러 파일 경로 및 줄 번호가 있는 @-멘션을 삽입합니다 (예: `@app.ts#5-10`). 선택 표시기의 **X**를 클릭하여 Claude가 선택 항목을 받지 않도록 제거합니다. 다른 텍스트를 선택하면 표시기가 다시 나타납니다.

156 175 

176확장 프로그램은 일부 파일에서 선택된 텍스트를 보류합니다. 파일이 작업 영역 내에 있고 `files.exclude` 또는 `search.exclude` 설정과 일치하는 경우 Claude는 최대 파일의 경로를 받고 선택한 텍스트는 받지 않습니다. VS Code의 `search.useIgnoreFiles` 설정과 확장 프로그램의 [`respectGitIgnore` 설정](#extension-settings)이 모두 켜져 있는 한 git이 무시하는 파일에도 동일하게 적용되며, 이는 기본값입니다. 이 필터는 채팅 패널만 포함합니다. Claude Code가 통합 터미널에서 실행될 때 CLI는 파일이 무엇이든 선택한 텍스트를 보내므로 [`Read` deny 규칙](#the-built-in-ide-mcp-server)을 추가하여 파일의 내용이 Claude에 도달하지 않도록 합니다.

177 

157Claude도 편집기에서 열려 있는 파일을 보며, 아무것도 선택되지 않은 경우에도 프롬프트 상자에 이름이 표시됩니다. 선택한 텍스트만 추가하려면 [Attach Open File 설정](vscode://settings/claudeCode.attachOpenFile)을 끕니다. 설정에는 Claude Code v2.1.271 이상이 필요합니다.178Claude도 편집기에서 열려 있는 파일을 보며, 아무것도 선택되지 않은 경우에도 프롬프트 상자에 이름이 표시됩니다. 선택한 텍스트만 추가하려면 [Attach Open File 설정](vscode://settings/claudeCode.attachOpenFile)을 끕니다. 설정에는 Claude Code v2.1.271 이상이 필요합니다.

158 179 

159클립보드에서 이미지를 붙여넣어 프롬프트 상자에 첨부할 수 있습니다. 파일을 프롬프트 상자로 드래그할 때 `Shift`를 누르고 있으면 첨부 파일로 추가할 수 있습니다. 첨부 파일의 X를 클릭하여 컨텍스트에서 제거합니다.180메시지에 이미지 및 파일을 첨부할 수도 있습니다:

181 

182* 이미지를 첨부하려면 클립보드에서 프롬프트 상자에 붙여넣습니다.

183* 파일을 첨부하려면 프롬프트 상자로 드래그할 때 `Shift`를 누르고 있습니다.

184* 컨텍스트에서 첨부 파일을 제거하려면 X를 클릭합니다.

160 185 

161<h3 id="resume-past-conversations">186<h3 id="resume-past-conversations">

162 과거 대화 재개187 과거 대화 재개


171 196 

172기본적으로 14일 동안 활동이 없는 세션은 자동으로 **Archived sessions**으로 이동합니다. 단, 열려 있거나, 읽지 않은 상태이거나, [그룹](#organize-sessions-into-groups)에 속한 세션은 제외됩니다. 자동 보관에는 Claude Code v2.1.265 이상이 필요합니다. 기간을 변경하거나 끄려면 [Archive Inactive Sessions 설정](vscode://settings/claudeCode.archiveInactiveSessions)을 열고 일 수 또는 **Never**를 선택합니다.197기본적으로 14일 동안 활동이 없는 세션은 자동으로 **Archived sessions**으로 이동합니다. 단, 열려 있거나, 읽지 않은 상태이거나, [그룹](#organize-sessions-into-groups)에 속한 세션은 제외됩니다. 자동 보관에는 Claude Code v2.1.265 이상이 필요합니다. 기간을 변경하거나 끄려면 [Archive Inactive Sessions 설정](vscode://settings/claudeCode.archiveInactiveSessions)을 열고 일 수 또는 **Never**를 선택합니다.

173 198 

174보관된 세션을 복원하려면 **Archived sessions**을 확장하고 **Unarchive session**을 클릭합니다. v2.1.257 이전에는 작업이 **Delete session**이었으며, 이는 복원할 방법이 없는 세션을 숨겼습니다. 그 후 삭제한 세션은 업그레이드 후 **Archived sessions** 아래에 나타납니다.199보관된 세션을 복원하려면 **Archived sessions**을 확장하고 **Unarchive session**을 클릭합니다. 보관된 모든 세션을 한 번에 복원하려면 Activity Bar의 세션 목록에서 **Archived sessions** 헤더 위에 마우스를 올리고 해당 보관 해제 아이콘을 클릭합니다. Claude Code v2.1.277 이상이 필요합니다. v2.1.257 이전에는 작업이 **Delete session**이었으며, 이는 복원할 방법이 없는 세션을 숨겼습니다. 그 후 삭제한 세션은 업그레이드 후 **Archived sessions** 아래에 나타납니다.

175 200 

176재개한 대화가 계획 모드에서 끝난 경우 Claude Code는 계획 모드를 복원합니다. Claude Code v2.1.246 이상이 필요합니다. Claude Code는 두 가지 경우에 복원하지 않습니다:201재개한 대화가 계획 모드에서 끝난 경우 Claude Code는 계획 모드를 복원합니다. Claude Code v2.1.246 이상이 필요합니다. Claude Code는 두 가지 경우에 복원하지 않습니다:

177 202 


206 계정 및 사용량 확인231 계정 및 사용량 확인

207</h3>232</h3>

208 233 

209`/usage`를 실행하여 Account & usage 대화를 엽니다. 대화에는 claude.ai 로그인이 필요하므로 [3차 공급자](#use-third-party-providers)에서 제공되지 않습니다. 로그인한 계정, 플랜 및 현재 세션과 주의 사용량 막대를 표시합니다. 각 막대는 제한이 재설정될 때까지의 시간을 표시합니다.234`/usage`를 실행하여 Account & usage 대화를 엽니다. 로그인한 계정을 표시하며, 보고하는 사용량은 로그인에 따라 다릅니다:

235 

236* **claude.ai plan**: 현재 세션 및 주간과 같은 플랜의 제한에 대한 사용량 막대입니다. 각 막대는 제한이 재설정될 때까지의 시간을 표시합니다.

237 

238 대화는 또한 플랜 제한에 기여하는 항목을 분류합니다. 캐시 미스, 긴 컨텍스트, 서브에이전트 집약적 또는 고도로 병렬 세션과 같이 최근 사용량의 10% 이상을 차지하는 동작에 플래그를 지정하며, 각각 이를 줄이기 위한 팁이 있습니다. Attribution 테이블은 각 skill, subagent, 플러그인 및 MCP 서버에서 얼마나 많은 사용량이 나왔는지 보여줍니다.

210 239 

211대화는 또한 플랜 제한에 기여하는 항목을 분류합니다. 캐시 미스, 긴 컨텍스트, 서브에이전트 집약적 또는 고도로 병렬 세션과 같이 최근 사용량의 10% 이상을 차지하는 동작에 플래그를 지정하며, 각각 이를 줄이기 위한 팁이 있습니다. Attribution 테이블은 각 스킬, 서브에이전트, 플러그인 및 MCP 서버에서 얼마나 많은 사용량이 나왔는지 보여줍니다.240 Day와 Week 토글을 사용하여 지난 24시간과 지난 7일 사이를 전환합니다. 수치는 대략적이며 이 컴퓨터의 로컬 세션에서 계산되므로 다른 장치 또는 claude.ai의 사용량은 포함되지 않습니다.

241* **Other sign-ins**: [타사 공급자](#use-third-party-providers)에서 또는 API 키를 사용하는 경우와 같이 플랜 제한이 로그인에 적용되지 않는 경우 Usage 섹션은 세션 자체의 비용 및 토큰 사용량을 대신 표시합니다. CLI의 `/usage`는 [Session block](/docs/ko/costs#track-your-costs)에서 동일한 합계를 표시합니다. Activity Bar의 세션 목록은 또한 활성 세션의 합계를 **Account & usage** 헤더 아래에 표시합니다. Claude Code v2.1.277 이상이 필요합니다.

212 242 

213Day와 Week 토글을 사용하여 지난 24시간과 지난 7일 사이를 전환합니다. 수치는 대략적이며 이 컴퓨터의 로컬 세션에서 계산되므로 다른 장치 또는 claude.ai의 사용량은 포함되지 않습니다. 사용량 추적 및 감소에 대한 자세한 내용은 [Track your costs](/docs/ko/costs#track-your-costs)를 참조하세요.243사용량 추적 및 감소에 대한 자세한 내용은 [Track your costs](/docs/ko/costs#track-your-costs)를 참조하세요.

214 244 

215<h2 id="customize-your-workflow">245<h2 id="customize-your-workflow">

216 워크플로우 사용자 정의246 워크플로우 사용자 정의


228* **주 사이드바**: 탐색기, 검색 등의 아이콘이 있는 왼쪽 사이드바입니다.258* **주 사이드바**: 탐색기, 검색 등의 아이콘이 있는 왼쪽 사이드바입니다.

229* **편집기 영역**: Claude를 파일과 함께 탭으로 엽니다. 부수적인 작업에 유용합니다.259* **편집기 영역**: Claude를 파일과 함께 탭으로 엽니다. 부수적인 작업에 유용합니다.

230 260 

261Claude가 새 편집기 그룹에서 탭을 열 때, 확장 프로그램은 해당 그룹을 잠금으로써 Claude 탭이 포커스되어 있는 동안 열린 파일이 그 옆이 아닌 다른 그룹으로 이동합니다.

262 

263확장 프로그램이 그룹을 잠금으로써 방지하려면 [편집기 그룹 잠금 설정](vscode://settings/claudeCode.lockEditorGroups)을 끕니다. 이미 잠긴 그룹은 잠금을 해제할 때까지 잠긴 상태로 유지됩니다. 이 설정은 Claude Code v2.1.274 이상이 필요합니다.

264 

231<Tip>265<Tip>

232 주 Claude 세션에는 사이드바를 사용하고 부수적인 작업을 위해 추가 탭을 엽니다. Claude는 선호하는 위치를 기억합니다. 활동 표시줄 세션 목록 아이콘은 Claude 패널과 별개입니다: 세션 목록은 항상 활동 표시줄에 표시되지만, Claude 패널 아이콘은 패널이 왼쪽 사이드바에 도킹되어 있을 때만 표시됩니다.266 주 Claude 세션에는 사이드바를 사용하고 부수적인 작업을 위해 추가 탭을 엽니다. Claude는 선호하는 위치를 기억합니다. 활동 표시줄 세션 목록 아이콘은 Claude 패널과 별개입니다: 세션 목록은 항상 활동 표시줄에 표시되지만, Claude 패널 아이콘은 패널이 왼쪽 사이드바에 도킹되어 있을 때만 표시됩니다.

233</Tip>267</Tip>


237* **편집기 탭**: 대화가 탭과 함께 돌아옵니다.271* **편집기 탭**: 대화가 탭과 함께 돌아옵니다.

238* **사이드바**: 지난 10분 이내에 메시지를 보냈거나 Claude가 응답한 경우 대화가 돌아옵니다. 돌아오지 않으면 [세션 기록](#resume-past-conversations)에서 대화를 재개합니다.272* **사이드바**: 지난 10분 이내에 메시지를 보냈거나 Claude가 응답한 경우 대화가 돌아옵니다. 돌아오지 않으면 [세션 기록](#resume-past-conversations)에서 대화를 재개합니다.

239 273 

274다시 로드가 Claude의 단계 중간에 중단된 경우, 대화가 돌아올 때 Claude는 해당 단계를 계속하며, 채팅의 공지사항이 계속을 표시합니다. Claude Code v2.1.274 이상이 필요합니다. 단계가 1시간 이상 전에 중단되었거나 세션이 다른 곳에서 열려 있으면, 대화가 유휴 상태로 돌아옵니다.

275 

276계속을 끄려면 [다시 로드 후 계속 설정](vscode://settings/claudeCode.continueAfterReload)을 열고 선택을 해제합니다.

277 

240<h3 id="run-multiple-conversations">278<h3 id="run-multiple-conversations">

241 여러 대화 실행279 여러 대화 실행

242</h3>280</h3>


304URL은 두 개의 쿼리 매개변수를 사용합니다:342URL은 두 개의 쿼리 매개변수를 사용합니다:

305 343 

306| 매개변수 | 설명 |344| 매개변수 | 설명 |

307| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |345| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |

308| `plugin` | 마켓플레이스에 나열된 플러그인의 이름입니다. 필수입니다. |346| `plugin` | 마켓플레이스에 나열된 플러그인의 이름입니다. 필수입니다. |

309| `marketplace` | 플러그인의 출처이며, [마켓플레이스 탭](#manage-marketplaces)이 허용하는 모든 형식(예: GitHub `owner/repo` 또는 git URL)으로 표시됩니다. `&`와 같은 문자가 포함된 경우 URL 인코딩합니다. 생략하면 `anthropics/claude-plugins-official`로 기본값이 설정됩니다. |347| `marketplace` | 플러그인의 출처이며, GitHub `owner/repo`, `https://` URL 또는 `git@github.com:owner/repo.git`과 같은 git SSH URL입니다. 생략하면 `anthropics/claude-plugins-official`로 기본값이 설정됩니다. |

348 

349[마켓플레이스 탭](#manage-marketplaces)이 허용하는 일부 값(예: 로컬 경로 또는 `http://` 주소)은 링크에서 작동하지 않습니다. 이러한 경우 VS Code에서 오류 메시지를 표시하고 대화 상자가 열리지 않습니다.

310 350 

311두 가지 경우는 범위 선택 대신 대화 상자의 메시지에서 끝납니다:351두 가지 경우는 범위 선택 대신 대화 상자의 메시지에서 끝납니다:

312 352 


364</Note>404</Note>

365 405 

366| 명령어 | 단축키 | 설명 |406| 명령어 | 단축키 | 설명 |

367| -------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |407| -------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |

368| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | 편집기와 Claude 사이의 포커스 전환 |408| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | 편집기와 Claude 사이의 포커스 전환 |

409| Focus last message | - | 대화에서 가장 최신 메시지로 키보드 포커스를 이동하거나 대기 중인 권한 프롬프트로 이동하여 키보드 또는 화면 판독기로 읽을 수 있습니다. [터미널 모드](#switch-to-terminal-mode)에서는 사용할 수 없습니다. Claude Code v2.1.268 이상 필요 |

369| Open in Side Bar | - | Claude를 사이드바에서 열기 |410| Open in Side Bar | - | Claude를 사이드바에서 열기 |

370| Open in Terminal | - | Claude를 터미널 모드에서 열기 |411| Open in Terminal | - | Claude를 터미널 모드에서 열기 |

371| Open in New Tab | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | 새 대화를 편집기 탭으로 열기 |412| Open in New Tab | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | 새 대화를 편집기 탭으로 열기 |


373| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | 새 대화 시작. Claude가 포커스되어 있고 `enableNewConversationShortcut`이 `true`로 설정되어 있어야 함 |414| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | 새 대화 시작. Claude가 포커스되어 있고 `enableNewConversationShortcut`이 `true`로 설정되어 있어야 함 |

374| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | 가장 최근에 닫은 Claude 세션 탭을 다시 열기. 마지막으로 닫은 탭이 Claude 세션이 아닌 경우 VS Code의 일반 닫힌 편집기 다시 열기로 폴스루됨. `enableReopenClosedSessionShortcut`으로 비활성화 |415| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | 가장 최근에 닫은 Claude 세션 탭을 다시 열기. 마지막으로 닫은 탭이 Claude 세션이 아닌 경우 VS Code의 일반 닫힌 편집기 다시 열기로 폴스루됨. `enableReopenClosedSessionShortcut`으로 비활성화 |

375| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | 현재 파일 및 선택 항목에 대한 참조 삽입(편집기가 포커스되어 있어야 함) |416| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | 현재 파일 및 선택 항목에 대한 참조 삽입(편집기가 포커스되어 있어야 함) |

417| Accept Change at Cursor | - | [제안된 편집 검토](#get-started) 중 한 번에 하나씩 변경 사항을 수락합니다. Claude Code v2.1.275 이상 필요 |

418| Reject Change at Cursor | - | 제안된 편집을 검토하는 동안 한 번에 하나씩 변경 사항을 되돌립니다. Claude Code v2.1.275 이상 필요 |

376| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | 대화에서 도구 활동 숨기기 또는 표시. Claude 패널 또는 사이드바가 표시되는 동안 작동. Claude Code v2.1.221 이상 필요 |419| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | 대화에서 도구 활동 숨기기 또는 표시. Claude 패널 또는 사이드바가 표시되는 동안 작동. Claude Code v2.1.221 이상 필요 |

377| Rename Session Tab | - | 활성 Claude 탭의 세션 이름 바꾸기. Claude Code v2.1.257 이상 필요 |420| Rename Session Tab | - | 활성 Claude 탭의 세션 이름 바꾸기. Claude Code v2.1.257 이상 필요 |

378| Add Session Tab to Group | - | 활성 Claude 탭의 세션을 선택하거나 만드는 [세션 그룹](#organize-sessions-into-groups)에 추가. Claude Code v2.1.257 이상 필요 |421| Add Session Tab to Group | - | 활성 Claude 탭의 세션을 선택하거나 만드는 [세션 그룹](#organize-sessions-into-groups)에 추가. Claude Code v2.1.257 이상 필요 |


457| `useTerminal` | `false` | 그래픽 패널 대신 터미널 모드에서 Claude를 실행합니다 |500| `useTerminal` | `false` | 그래픽 패널 대신 터미널 모드에서 Claude를 실행합니다 |

458| `initialPermissionMode` | - | 새 대화에 대한 승인 프롬프트를 제어합니다: `default`, `plan`, `acceptEdits` 또는 `bypassPermissions`. `manual`은 `default`의 별칭이며 모드 표시기에서 **Manual**로 표시된 모드를 선택합니다. 설정을 해제하면 확장 프로그램이 [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에 설명된 대로 시작 권한 모드를 선택합니다. |501| `initialPermissionMode` | - | 새 대화에 대한 승인 프롬프트를 제어합니다: `default`, `plan`, `acceptEdits` 또는 `bypassPermissions`. `manual`은 `default`의 별칭이며 모드 표시기에서 **Manual**로 표시된 모드를 선택합니다. 설정을 해제하면 확장 프로그램이 [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에 설명된 대로 시작 권한 모드를 선택합니다. |

459| `preferredLocation` | `panel` | Claude가 열리는 위치: `sidebar`(오른쪽) 또는 `panel`(새 탭) |502| `preferredLocation` | `panel` | Claude가 열리는 위치: `sidebar`(오른쪽) 또는 `panel`(새 탭) |

503| `lockEditorGroups` | `true` | [Claude가 탭을 위해 시작하는 편집기 그룹을 잠금](#choose-where-claude-lives)하여 Claude 탭이 포커스되어 있는 동안 열려 있는 파일이 다른 그룹으로 이동합니다. 꺼져 있으면 확장 프로그램이 편집기 그룹을 잠금하지 않습니다. Claude Code v2.1.274 이상 필요 |

460| `autosave` | `true` | Claude가 파일을 읽거나 쓰기 전에 파일을 자동 저장합니다 |504| `autosave` | `true` | Claude가 파일을 읽거나 쓰기 전에 파일을 자동 저장합니다 |

461| `attachOpenFile` | `true` | 편집기에서 열려 있는 파일을 메시지에 추가하고 프롬프트 상자에 표시합니다. 꺼져 있으면 선택한 텍스트만 추가됩니다. Claude Code v2.1.271 이상 필요 |505| `attachOpenFile` | `true` | 편집기에서 열려 있는 파일을 메시지에 추가하고 프롬프트 상자에 표시합니다. 꺼져 있으면 선택한 텍스트만 추가됩니다. Claude Code v2.1.271 이상 필요 |

462| `useCtrlEnterToSend` | `false` | Enter 대신 Ctrl/Cmd+Enter를 사용하여 프롬프트를 보냅니다 |506| `useCtrlEnterToSend` | `false` | Enter 대신 Ctrl/Cmd+Enter를 사용하여 프롬프트를 보냅니다 |

507| `scrollToBottomOnSend` | `true` | 메시지를 보낼 때 대화를 맨 아래로 스크롤합니다. 꺼져 있으면 대화가 남겨진 위치에 머물러 있습니다. Claude Code v2.1.275 이상 필요 |

463| `enableNewConversationShortcut` | `false` | Cmd/Ctrl+N을 활성화하여 새 대화를 시작합니다 |508| `enableNewConversationShortcut` | `false` | Cmd/Ctrl+N을 활성화하여 새 대화를 시작합니다 |

464| `enableReopenClosedSessionShortcut` | `true` | Cmd/Ctrl+Shift+T를 사용하여 가장 최근에 닫은 Claude 세션 탭을 다시 엽니다. 마지막으로 닫은 탭이 Claude 세션이 아닌 경우 바로 가기는 VS Code의 일반 reopen-closed-editor 명령을 대신 실행합니다. |509| `enableReopenClosedSessionShortcut` | `true` | Cmd/Ctrl+Shift+T를 사용하여 가장 최근에 닫은 Claude 세션 탭을 다시 엽니다. 마지막으로 닫은 탭이 Claude 세션이 아닌 경우 바로 가기는 VS Code의 일반 reopen-closed-editor 명령을 대신 실행합니다. |

465| `archiveInactiveSessions` | `14` | [세션을 자동으로 보관](#resume-past-conversations)합니다. 이 많은 일 동안 활동이 없으면: `1`, `2`, `7` 또는 `14`. `0`으로 설정하여 끕니다. Claude Code v2.1.265 이상 필요 |510| `archiveInactiveSessions` | `14` | [세션을 자동으로 보관](#resume-past-conversations)합니다. 이 많은 일 동안 활동이 없으면: `1`, `2`, `7` 또는 `14`. `0`으로 설정하여 끕니다. Claude Code v2.1.265 이상 필요 |

511| `continueAfterReload` | `true` | 창 다시 로드 후 Claude는 [복원된 세션에서 중단된 단계를 계속](#choose-where-claude-lives)합니다. Claude Code v2.1.274 이상 필요 |

466| `hideOnboarding` | `false` | 온보딩 체크리스트(졸업 모자 아이콘) 숨기기 |512| `hideOnboarding` | `false` | 온보딩 체크리스트(졸업 모자 아이콘) 숨기기 |

467| `focusView` | `false` | 도구 호출, 도구 결과 및 생각을 확장 가능한 행 뒤에 숨기고 프롬프트와 Claude의 응답을 남깁니다. Claude의 최신 할 일 목록은 계속 표시됩니다. 이는 Claude Code v2.1.225 이상이 필요합니다. 명령 메뉴에서 포커스 보기를 전환할 수도 있습니다. Claude Code v2.1.221 이상 필요 |513| `focusView` | `false` | 도구 호출, 도구 결과 및 생각을 확장 가능한 행 뒤에 숨기고 프롬프트와 Claude의 응답을 남깁니다. Claude의 최신 할 일 목록은 계속 표시됩니다. 이는 Claude Code v2.1.225 이상이 필요합니다. 명령 메뉴에서 포커스 보기를 전환할 수도 있습니다. Claude Code v2.1.221 이상 필요 |

468| `respectGitIgnore` | `true` | 파일 검색에서 .gitignore 패턴 제외 |514| `respectGitIgnore` | `true` | 파일 검색 및 [선택 컨텍스트](#reference-files-and-folders)에서 .gitignore 패턴 제외 |

469| `usePythonEnvironment` | `true` | Claude를 실행할 때 작업 영역의 Python 환경을 활성화합니다. Python 확장 프로그램이 필요합니다. |515| `usePythonEnvironment` | `true` | Claude를 실행할 때 작업 영역의 Python 환경을 활성화합니다. Python 확장 프로그램이 필요합니다. |

470| `environmentVariables` | `[]` | Claude 프로세스에 대한 환경 변수를 설정합니다. 공유 구성의 경우 Claude Code 설정을 대신 사용합니다. |516| `environmentVariables` | `[]` | Claude 프로세스에 대한 환경 변수를 설정합니다. 공유 구성의 경우 Claude Code 설정을 대신 사용합니다. |

471| `disableLoginPrompt` | `false` | 인증 프롬프트 건너뛰기(타사 공급자 설정의 경우) |517| `disableLoginPrompt` | `false` | 인증 프롬프트 건너뛰기(타사 공급자 설정의 경우) |


487* **상태 변경**: 확장 프로그램은 Claude가 작업을 시작할 때, Claude가 입력을 기다릴 준비가 되었을 때, Claude Code가 대화를 압축하기 시작할 때를 알립니다.533* **상태 변경**: 확장 프로그램은 Claude가 작업을 시작할 때, Claude가 입력을 기다릴 준비가 되었을 때, Claude Code가 대화를 압축하기 시작할 때를 알립니다.

488* **오류 및 모델 프롬프트**: 확장 프로그램은 대화의 오류를 알리고, [사용량-크레딧 동의 프롬프트](/docs/ko/model-config#fable-and-usage-credits) 또는 [플래그된 요청 프롬프트](/docs/ko/model-config#ask-before-switching)가 나타날 때를 알립니다.534* **오류 및 모델 프롬프트**: 확장 프로그램은 대화의 오류를 알리고, [사용량-크레딧 동의 프롬프트](/docs/ko/model-config#fable-and-usage-credits) 또는 [플래그된 요청 프롬프트](/docs/ko/model-config#ask-before-switching)가 나타날 때를 알립니다.

489 535 

490기록의 각 턴은 턴을 시작한 프롬프트로 레이블이 지정된 시각적으로 숨겨진 제목으로 시작되므로, 화면 읽기 프로그램의 제목 탐색을 사용하여 턴 사이를 이동할 수 있습니다. `Tab`을 사용하여 기록 자체에 포커스를 이동할 수도 있습니다. 확장 프로그램이 기록을 레이블이 지정된 영역으로 노출하기 때문입니다. 그리고 자신의 속도로 읽을 수 있습니다. Claude가 작업하는 동안, 화면 읽기 프로그램은 진행률 스피너의 애니메이션 대신 텍스트 레이블을 읽습니다.536Claude가 작업하는 동안, 화면 읽기 프로그램은 진행률 스피너의 애니메이션 대신 텍스트 레이블을 읽습니다.

491 537 

492세션을 다시 열거나 다른 세션으로 전환할 때, 확장 프로그램은 아무것도 알리지 않습니다. 복원된 기록, 보류 중인 권한 프롬프트, 진행 중인 상태는 새로운 일이 발생할 때까지 침묵을 유지합니다.538세션을 다시 열거나 다른 세션으로 전환할 때, 확장 프로그램은 아무것도 알리지 않습니다. 복원된 기록, 보류 중인 권한 프롬프트, 진행 중인 상태는 새로운 일이 발생할 때까지 침묵을 유지합니다.

493 539 

540<h3 id="use-the-chat-panel-from-the-keyboard">

541 키보드에서 채팅 패널 사용

542</h3>

543 

544기록의 각 턴은 턴을 시작한 프롬프트로 레이블이 지정된 시각적으로 숨겨진 제목으로 시작되므로, 화면 읽기 프로그램의 제목 탐색을 사용하여 턴 사이를 이동할 수 있습니다.

545 

546턴 내에서, 화면 읽기 프로그램은 메시지를 통해 이동할 때 어느 메시지에 있는지 알립니다:

547 

548* **사용자 메시지**: "You"

549* **Claude의 메시지**: "Claude"

550* **도구 단계**: "Claude" 및 도구 이름(예: "Claude, Bash")

551* **생각 블록**: "Claude, thinking"

552 

553확장 프로그램이 기록을 레이블이 지정된 영역으로 노출하기 때문에, `Tab`을 사용하여 기록 자체에 포커스를 이동하고 자신의 속도로 읽을 수도 있습니다. 최신 메시지 또는 대기 중인 권한 프롬프트로 포커스를 이동하려면, [명령 팔레트](#vs-code-commands-and-shortcuts)에서 **Claude Code: Focus last message**를 실행합니다.

554 

555권한 프롬프트의 옵션이 권한 규칙 또는 디렉터리 액세스를 저장할 때, 해당 레이블은 "모든 프로젝트" 또는 "이 세션"과 같이 승인이 저장되는 위치의 이름을 지정하여 끝납니다. 이 옵션에 포커스가 있을 때, `Left` 또는 `Right` 화살표 키를 눌러 대상을 변경할 수 있으며, 확장 프로그램은 각 대상에 도달할 때마다 알립니다. 레이블에서 대상을 클릭할 수도 있습니다. 화살표 키는 Claude Code v2.1.268 이상이 필요합니다.

556 

494<h2 id="vs-code-extension-vs-claude-code-cli">557<h2 id="vs-code-extension-vs-claude-code-cli">

495 VS Code 확장 프로그램 vs. Claude Code CLI558 VS Code 확장 프로그램 vs. Claude Code CLI

496</h2>559</h2>


543 백그라운드 프로세스 모니터링606 백그라운드 프로세스 모니터링

544</h3>607</h3>

545 608 

546확장 프로그램의 백그라운드 작업 가시성은 CLI에 비해 제한적입니다. 더 나은 가시성을 위해 Claude가 명령을 출력하도록 하여 VS Code의 통합 터미널에서 실행할 수 있습니다.609프롬프트 상자에서 `/tasks`를 입력하여 [에이전트 맵](#use-the-prompt-box)을 열면, 세션의 백그라운드 작업(예: Claude가 백그라운드 셸 명령으로 실행 중인 개발 서버)이 나열됩니다. 작업을 클릭하여 카드를 열고 거기서 중지할 수 있습니다. Claude Code v2.1.277 이상이 필요합니다.

547 610 

548<h3 id="connect-to-external-tools-with-mcp">611<h3 id="connect-to-external-tools-with-mcp">

549 MCP를 사용하여 외부 도구에 연결612 MCP를 사용하여 외부 도구에 연결


610 </Step>673 </Step>

611</Steps>674</Steps>

612 675 

613타사 제공자에서 확장 프로그램은 사용 추적, [음성 받아쓰기](/docs/ko/voice-dictation) 및 [클라우드 세션](#resume-cloud-sessions-from-claude-ai)을 위한 웹 탭과 같이 claude.ai 계정이 필요한 기능을 제공하지 않습니다. 이전 `/login`에서 남겨진 claude.ai 로그인은 사용되지 않습니다: 확장 프로그램은 이를 어떤 요청과도 함께 보내지 않습니다.676타사 제공자에서 확장 프로그램은 사용 추적, [음성 받아쓰기](/docs/ko/voice-dictation) 및 [클라우드 세션](#resume-cloud-sessions-from-claude-ai)을 위한 웹 탭과 같이 claude.ai 계정이 필요한 기능을 제공하지 않습니다. 이러한 로그인에서 계정 및 사용 현황 대화 상자가 표시하는 내용은 [계정 및 사용 현황 확인](#check-account-and-usage)을 참조하세요. 이전 `/login`에서 남겨진 claude.ai 로그인은 사용되지 않습니다: 확장 프로그램은 이를 어떤 요청과도 함께 보내지 않습니다.

614 677 

615<h2 id="security-and-privacy">678<h2 id="security-and-privacy">

616 보안 및 개인정보 보호679 보안 및 개인정보 보호

workflows.md +4 −2

Details

231 231 

232v2.1.216 이전에는 Claude Code가 링크를 따라갔으며, 이는 파일을 선택한 위치 외부에 배치할 수 있었습니다.232v2.1.216 이전에는 Claude Code가 링크를 따라갔으며, 이는 파일을 선택한 위치 외부에 배치할 수 있었습니다.

233 233 

234여러 `.claude/` 디렉토리가 있는 모노레포에서 워크플로우를 적용되는 패키지 옆에 유지할 수 있습니다. v2.1.178부터 프로젝트 위치에 저장하면 작업 디렉토리와 저장소 루트 사이에 이미 존재하는 가장 가까운 `.claude/workflows/` 디렉토리에 쓰거나, 아직 존재하지 않으면 저장소 루트에 씁니다. 프로젝트 워크플로우는 또한 해당 경로를 따라 모든 `.claude/workflows/`에서 로드되며, 둘 이상이 같은 이름을 정의할 때 Claude Code는 작업 디렉토리에 가장 가까운 것을 실행합니다.234여러 `.claude/` 디렉토리가 있는 모노레포에서 워크플로우를 적용되는 패키지 옆에 유지할 수 있습니다. 프로젝트 위치에 저장하면 작업 디렉토리와 저장소 루트 사이에 이미 존재하는 가장 가까운 `.claude/workflows/` 디렉토리에 쓰거나, 아직 존재하지 않으면 저장소 루트에 씁니다. 프로젝트 워크플로우는 또한 해당 경로를 따라 모든 `.claude/workflows/`에서 로드되며, 둘 이상이 같은 이름을 정의할 때 Claude Code는 작업 디렉토리에 가장 가까운 것을 실행합니다.

235 235 

236프로젝트 워크플로우와 개인 워크플로우가 이름을 공유하면 프로젝트 워크플로우가 실행됩니다.236프로젝트 워크플로우와 개인 워크플로우가 이름을 공유하면 프로젝트 워크플로우가 실행됩니다.

237 237 


348 348 

349본문은 최상위 `await`를 포함한 순수 JavaScript입니다. `agent()`는 하나의 서브에이전트를 생성하고, `pipeline()`은 목록의 각 항목당 하나를 실행하며, `parallel()`은 에이전트 작업 집합을 동시에 실행하고 모두가 완료될 때까지 기다립니다.349본문은 최상위 `await`를 포함한 순수 JavaScript입니다. `agent()`는 하나의 서브에이전트를 생성하고, `pipeline()`은 목록의 각 항목당 하나를 실행하며, `parallel()`은 에이전트 작업 집합을 동시에 실행하고 모두가 완료될 때까지 기다립니다.

350 350 

351`agent()` 호출은 실행 중에 중지하거나 복구 불가능한 API 오류가 발생하면 `null`로 해결됩니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서 분류기는 서브에이전트가 시작되기 전에 `agent()` 호출을 차단할 수 있습니다. 차단된 호출은 `null`로 해결되고 이유와 함께 실행의 진행 보기에 표시됩니다. `pipeline()`은 결과 배열에 각 `null`을 유지하므로, 예제는 해당 항목을 제거하기 위해 `.filter(Boolean)`으로 끝납니다.351`agent()` 호출은 실행 중에 중지하거나 복구 불가능한 API 오류가 발생하면 `null`로 해결됩니다. `pipeline()`은 결과 배열에 각 `null`을 유지하므로, 예제는 해당 항목을 제거하기 위해 `.filter(Boolean)`으로 끝납니다.

352 

353[자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서 스크립트가 `agent()`에 전달하는 프롬프트는 분류기가 해당 서브에이전트의 작업을 검토할 때 사용자로부터의 요청으로 계산되지 않습니다. Claude Code는 이를 스크립트가 계산한 텍스트로 표시하기 때문입니다.

352 354 

353`agent()` 호출에 `schema`를 전달하면, 서브에이전트는 산문 대신 형태와 일치하는 JSON을 반환합니다. Claude Code는 서브에이전트를 시작하기 전에 스키마를 확인합니다: 스키마가 자신과 모순된다는 것을 증명할 수 있을 때, 호출은 모순을 명명하는 오류로 실패하며, 서브에이전트는 시작되지 않습니다. 증명할 수 있는 한 가지 모순은 `additionalProperties: false`가 제외하는 `required` 키입니다.355`agent()` 호출에 `schema`를 전달하면, 서브에이전트는 산문 대신 형태와 일치하는 JSON을 반환합니다. Claude Code는 서브에이전트를 시작하기 전에 스키마를 확인합니다: 스키마가 자신과 모순된다는 것을 증명할 수 있을 때, 호출은 모순을 명명하는 오류로 실패하며, 서브에이전트는 시작되지 않습니다. 증명할 수 있는 한 가지 모순은 `additionalProperties: false`가 제외하는 `required` 키입니다.

354 356 

worktrees.md +10 −5

Details

59 worktree 정리59 worktree 정리

60</h2>60</h2>

61 61 

62대화형 worktree 세션을 종료할 때 Claude는 worktree에서 제거로 인해 삭제될 작업을 확인합니다: 변경되거나 추적되지 않은 파일, 그리고 새로운 커밋.62대화형 worktree 세션을 종료할 때 Claude는 worktree에서 제거로 인해 삭제될 작업을 확인합니다: 변경되거나 추적되지 않은 파일, 체크아웃된 서브모듈 내의 커밋되지 않은 작업, 그리고 새로운 커밋입니다.

63 63 

64* **Worktree가 깨끗함**: 이름 없는 세션의 경우 Claude는 worktree와 해당 브랜치를 자동으로 제거합니다. [이름이 지정된](/docs/ko/sessions#name-your-sessions) 세션은 나중을 위해 worktree를 유지할 수 있도록 먼저 프롬프트를 표시합니다.64* **Worktree가 깨끗함**: 이름 없는 세션의 경우 Claude는 worktree와 해당 브랜치를 자동으로 제거합니다. [이름이 지정된](/docs/ko/sessions#name-your-sessions) 세션은 나중을 위해 worktree를 유지할 수 있도록 먼저 프롬프트를 표시합니다.

65* **Worktree에 작업이 있음**: Claude는 worktree를 유지하거나 제거할지 묻습니다. 유지하면 디렉토리와 브랜치가 보존되어 나중에 돌아올 수 있습니다. 제거하면 worktree 디렉토리와 해당 브랜치가 삭제되며, 그 안의 모든 작업도 함께 삭제됩니다.65* **Worktree에 작업이 있음**: Claude는 worktree를 유지하거나 제거할지 묻습니다. 유지하면 디렉토리와 브랜치가 보존되어 나중에 돌아올 수 있습니다. 제거하면 worktree 디렉토리와 해당 브랜치가 삭제되며, 그 안의 모든 작업도 함께 삭제됩니다.

66* **Worktree의 상태를 확인할 수 없음**: Claude Code가 worktree의 변경 사항을 계산할 수 없거나 서브모듈 체크아웃을 검사할 수 없을 때, worktree를 자동으로 제거하지 않고 프롬프트를 표시합니다. 프롬프트는 확인할 수 없었던 항목을 명시합니다.

66 67 

67`-p`를 사용한 비대화형 실행에는 종료 프롬프트가 없으므로 Claude는 해당 worktree를 정리하지 않으며, Claude Code는 생성 시 각 worktree에 대해 가져온 잠금을 유지합니다. 나중 세션의 [stale-lock sweep](#clean-up-subagent-and-background-session-worktrees)이 이를 해제할 때까지 유지됩니다. 하나를 제거하려면 `git worktree remove`를 실행합니다. git이 worktree가 잠겨 있다고 거부하면 먼저 `git worktree unlock`을 실행합니다.68`-p`를 사용한 비대화형 실행에는 종료 프롬프트가 없으므로 Claude는 해당 worktree를 정리하지 않으며, Claude Code는 생성 시 각 worktree에 대해 가져온 잠금을 유지합니다. 나중 세션의 [stale-lock sweep](#clean-up-subagent-and-background-session-worktrees)이 이를 해제할 때까지 유지됩니다. 하나를 제거하려면 `git worktree remove`를 실행합니다. git이 worktree가 잠겨 있다고 거부하면 먼저 `git worktree unlock`을 실행합니다.

68 69 


101* **파일 편집**: Claude Code는 메인 체크아웃의 경로를 대상으로 하는 `Edit`, `Write` 또는 `NotebookEdit`을 차단합니다.102* **파일 편집**: Claude Code는 메인 체크아웃의 경로를 대상으로 하는 `Edit`, `Write` 또는 `NotebookEdit`을 차단합니다.

102* **명령 작업 디렉토리**: Claude Code는 작업 디렉토리가 메인 체크아웃으로 확인되거나 그 외부에 머물러 있는지 확인할 수 없는 Bash, PowerShell 또는 Monitor 명령을 차단합니다.103* **명령 작업 디렉토리**: Claude Code는 작업 디렉토리가 메인 체크아웃으로 확인되거나 그 외부에 머물러 있는지 확인할 수 없는 Bash, PowerShell 또는 Monitor 명령을 차단합니다.

103* **Git 리다이렉트**: Claude Code는 git을 메인 체크아웃으로 리다이렉트하는 Bash 또는 Monitor 명령을 차단합니다. 리다이렉트는 `git -C`, `--git-dir`, `GIT_DIR` 또는 `GIT_WORK_TREE` 변수, 또는 git을 실행하기 전에 메인 체크아웃으로 `cd`를 통해 올 수 있습니다.104* **Git 리다이렉트**: Claude Code는 git을 메인 체크아웃으로 리다이렉트하는 Bash 또는 Monitor 명령을 차단합니다. 리다이렉트는 `git -C`, `--git-dir`, `GIT_DIR` 또는 `GIT_WORK_TREE` 변수, 또는 git을 실행하기 전에 메인 체크아웃으로 `cd`를 통해 올 수 있습니다.

104* **명령 형태**: Claude Code는 명령 텍스트에서 명령이 실행하는 모든 git이 worktree 내부에 머물러 있는지 확인할 수 없을 때 Bash 또는 Monitor 명령을 차단합니다. 예를 들어 명령 이름이 런타임에 계산되거나 구문을 파싱할 수 없을 때입니다. Claude Code는 Claude에게 거부된 명령을 다시 작성하는 방법을 알려줍니다. 예를 들어 이를 일반 별도 명령으로 분할합니다. 이 확인을 끌 수 없습니다.105* **명령 형태**: Claude Code는 명령 텍스트에서 명령이 실행하는 모든 git이 worktree 내부에 머물러 있는지 확인할 수 없을 때 Bash 또는 Monitor 명령을 차단합니다. 예를 들어 명령 이름이 런타임에 계산되거나 구문을 파싱할 수 없거나 `${!name}` 또는 `${ command; }`와 같은 확장이 텍스트에서 명시하지 않은 명령을 실행할 수 있을 때 발생합니다. Claude Code는 Claude에게 거부된 명령을 다시 작성하는 방법을 알려줍니다. 예를 들어 이를 일반 별도 명령으로 분할합니다. 이 확인을 끌 수 없습니다.

105 106 

106확인은 Claude Code를 실행한 저장소에 적용됩니다. 또한 연결된 worktree가 연결된 메인 체크아웃도 포함합니다. PowerShell 명령의 경우 Claude Code는 작업 디렉토리 확인만 적용합니다.107확인은 Claude Code를 실행한 저장소에 적용됩니다. 또한 연결된 worktree가 연결된 메인 체크아웃도 포함합니다. PowerShell 명령의 경우 Claude Code는 작업 디렉토리 확인만 적용합니다.

107 108 

108Claude는 각 거부를 worktree의 이름을 지정하고 진행 방법을 설명하는 도구 오류로 봅니다.109Claude는 각 거부를 worktree의 이름을 지정하고 진행 방법을 설명하는 도구 오류로 봅니다. 거부된 명령의 경우 [거부 메시지의 의미와 이를 해결하는 방법](/docs/ko/errors#command-blocked-by-the-worktree-isolation-checks)을 참조하세요.

109 110 

110<h2 id="isolate-subagents-with-worktrees">111<h2 id="isolate-subagents-with-worktrees">

111 worktree로 서브에이전트 격리112 worktree로 서브에이전트 격리


139`--worktree` 세션을 [백그라운드](/docs/ko/agent-view#send-the-session-to-the-background)로 보낼 때 해당 worktree는 스윕이 제거할 수 있는 백그라운드 세션 worktree가 됩니다. 스윕은 다음 경우에 worktree를 제자리에 둡니다:140`--worktree` 세션을 [백그라운드](/docs/ko/agent-view#send-the-session-to-the-background)로 보낼 때 해당 worktree는 스윕이 제거할 수 있는 백그라운드 세션 worktree가 됩니다. 스윕은 다음 경우에 worktree를 제자리에 둡니다:

140 141 

141* Worktree가 여전히 작업을 보유하고 있습니다: 변경되거나 추적되지 않은 파일, 또는 푸시되지 않은 커밋.142* Worktree가 여전히 작업을 보유하고 있습니다: 변경되거나 추적되지 않은 파일, 또는 푸시되지 않은 커밋.

143* worktree의 체크아웃된 서브모듈이 변경되거나 추적되지 않은 파일을 보유하고 있거나, Claude Code가 worktree의 서브모듈을 검사할 수 없습니다. 이 확인에는 Claude Code v2.1.274 이상이 필요합니다.

142* [worktree 생성을 차단하는 네 가지 경우](#git-lfs-content-is-missing-from-a-worktree-claude-code-created) 중 하나가 적용됩니다: Claude Code가 저장소 구성이 정의하는 필터 드라이버를 결정할 수 없거나, 여기서 전환할 수 없는 설정을 찾습니다.144* [worktree 생성을 차단하는 네 가지 경우](#git-lfs-content-is-missing-from-a-worktree-claude-code-created) 중 하나가 적용됩니다: Claude Code가 저장소 구성이 정의하는 필터 드라이버를 결정할 수 없거나, 여기서 전환할 수 없는 설정을 찾습니다.

143* Worktree가 백그라운드하지 않은 `--worktree` 세션에 속합니다. 나이와 관계없이.145* Worktree가 백그라운드하지 않은 `--worktree` 세션에 속합니다. 나이와 관계없이.

144* `git worktree add`로 직접 worktree를 생성했습니다. 나중에 `--worktree <name>` 세션을 실행하고 해당 세션을 백그라운드했더라도.146* `git worktree add`로 직접 worktree를 생성했습니다. 나중에 `--worktree <name>` 세션을 실행하고 해당 세션을 백그라운드했더라도.


251 worktree가 메인 체크아웃과 공유하는 것253 worktree가 메인 체크아웃과 공유하는 것

252</h2>254</h2>

253 255 

254Worktree는 자체 파일과 브랜치를 가지지만 저장소의 `.git` 디렉토리, 프로젝트 범위 플러그인 및 저장된 권한 승인을 메인 체크아웃과 공유합니다:256Worktree는 자체 파일과 브랜치를 가지지만 메인 체크아웃과 다음을 공유합니다:

255 257 

256* **저장소의 `.git` 디렉토리**: worktree의 git 명령은 메인 저장소의 공유 `.git` 디렉토리에 쓰며, [샌드박싱](/docs/ko/sandboxing#filesystem-isolation)은 이러한 쓰기를 허용하므로 `git commit`과 같은 명령이 샌드박스가 활성화된 worktree 내부에서 작동합니다.258* **저장소의 `.git` 디렉토리**: worktree의 git 명령은 메인 저장소의 공유 `.git` 디렉토리에 쓰며, [샌드박싱](/docs/ko/sandboxing#filesystem-isolation)은 이러한 쓰기를 허용하므로 `git commit`과 같은 명령이 샌드박스가 활성화된 worktree 내부에서 작동합니다.

257* **플러그인**: [프로젝트 범위](/docs/ko/plugins-reference#plugin-installation-scopes)에서 메인 체크아웃에서 설치된 플러그인도 동일한 저장소의 worktree에 로드되므로 worktree마다 다시 설치할 필요가 없습니다. Claude Code v2.1.200 이상이 필요합니다.259* **플러그인**: [프로젝트 범위](/docs/ko/plugins-reference#plugin-installation-scopes)에서 메인 체크아웃에서 설치된 플러그인도 동일한 저장소의 worktree에 로드되므로 worktree마다 다시 설치할 필요가 없습니다. Claude Code v2.1.200 이상이 필요합니다.

258* **권한 승인**: worktree 세션에서 Bash 명령에 대해 "예, 다시 묻지 않기"를 선택하면 규칙이 메인 체크아웃의 `.claude/settings.local.json`에 저장되므로 메인 체크아웃과 저장소의 다른 모든 worktree에 적용되며, worktree 제거 후에도 유지됩니다. Windows 및 Claude Code가 [저장소 루트를 사용하지 않는 다른 경우](/docs/ko/settings#where-claude-code-looks-for-each-file)에는 규칙이 해당 worktree와 함께 유지됩니다. v2.1.211 이전에는 worktree에서 부여된 승인이 해당 worktree 내부에 저장되었으며, 다른 곳에 적용되지 않았고, worktree 제거 시 손실되었습니다. [승인이 저장되는 위치](/docs/ko/permissions#permission-system)를 참조합니다.260* **권한 승인**: worktree 세션에서 Bash 명령에 대해 "예, 다시 묻지 않기"를 선택하면 규칙이 메인 체크아웃의 `.claude/settings.local.json`에 저장되므로 메인 체크아웃과 저장소의 다른 모든 worktree에 적용되며, worktree 제거 후에도 유지됩니다. Windows 및 Claude Code가 [저장소 루트를 사용하지 않는 다른 경우](/docs/ko/settings#where-claude-code-looks-for-each-file)에는 규칙이 해당 worktree와 함께 유지됩니다. v2.1.211 이전에는 worktree에서 부여된 승인이 해당 worktree 내부에 저장되었으며, 다른 곳에 적용되지 않았고, worktree 제거 시 손실되었습니다. [승인이 저장되는 위치](/docs/ko/permissions#permission-system)를 참조합니다.

261* **추적되지 않은 skills, agents, 및 commands**: worktree 체크아웃에 루트에 `.claude/skills` 디렉토리가 없을 때(예: `.claude/skills`가 gitignored인 경우), Claude Code는 메인 체크아웃의 [프로젝트 skills](/docs/ko/skills#where-skills-live)를 worktree 세션에 로드합니다. 자체 `.claude/skills` 디렉토리가 있는 worktree에서는 해당 복사본만 로드됩니다.

259 262 

260세 가지 모두 `--worktree`로 worktree를 생성했든, `git worktree add`로 생성했든, 또는 [데스크톱 앱](/docs/ko/desktop#work-in-parallel-with-sessions)을 통해 생성했든 적용됩니다.263 동일한 읽기 통과는 `.claude/agents` 및 `.claude/commands`를 포함합니다. Skills의 경우 읽기 통과에는 Claude Code v2.1.277 이상이 필요합니다.

264 

265이 모든 것들은 `--worktree`로 worktree를 생성했든, `git worktree add`로 생성했든, 또는 [데스크톱 앱](/docs/ko/desktop#work-in-parallel-with-sessions)을 통해 생성했든 적용됩니다.

261 266 

262<h2 id="manage-worktrees-manually">267<h2 id="manage-worktrees-manually">

263 worktree 수동 관리268 worktree 수동 관리